0% found this document useful (0 votes)
10 views8 pages

?programming Notes Intro 2025

The document outlines key programming concepts focused on solving business-oriented problems, emphasizing the identification of business requirements, proposing appropriate solutions, and designing algorithms. It discusses the importance of understanding both system and user requirements, various fact-finding methods, and the advantages and disadvantages of different solution approaches such as off-the-shelf software, outsourcing, and in-house development. Additionally, it highlights the significance of algorithm design, including tools like flowcharts and pseudocode, to ensure efficient and clear problem-solving.

Uploaded by

blesse10dchiwaye
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views8 pages

?programming Notes Intro 2025

The document outlines key programming concepts focused on solving business-oriented problems, emphasizing the identification of business requirements, proposing appropriate solutions, and designing algorithms. It discusses the importance of understanding both system and user requirements, various fact-finding methods, and the advantages and disadvantages of different solution approaches such as off-the-shelf software, outsourcing, and in-house development. Additionally, it highlights the significance of algorithm design, including tools like flowcharts and pseudocode, to ensure efficient and clear problem-solving.

Uploaded by

blesse10dchiwaye
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

PROGRAMMING CONCEPTS 317/22/M02

SOLVING BUSINESS-ORIENTED PROGRAMMING PROBLEMS

Learning Outcome 01

Students should be able to:

Identify business requirements

Propose appropriate solutions

Design algorithms in line with identified


problems

MUCHECHESI E Page 1
PROGRAMMING CONCEPTS 317/22/M02

1.1 Identify Business Requirements

Definition

Business requirements are the needs, expectations, and goals of a business that a
system or solution must fulfil. They describe what the business wants to achieve
rather than how it will be implemented.

Objectives

To understand the problems and needs of a business.

To document requirements clearly for developers and stakeholders.

To ensure the final system matches the user’s expectations.

Explanation

This stage involves requirements analysis where both system requirements


(technical needs) and user requirements (functional needs) are studied.

It often uses fact-finding methods such as interviews, observations, and


questionnaires to gather information.

Key Elements

System and User Requirements → What the system should do (system) & what
users expect (user).

MUCHECHESI E Page 2
PROGRAMMING CONCEPTS 317/22/M02
Fact-Finding Methods → Interviews, surveys, document reviews, observation.

Inputs → Data entered into the system.

Processes → Actions the system must perform.

Outputs → Information/results the system must produce.

ADVANTAGES OF FACT FINDING METHODS

 Provides clarity about what is expected.


 Reduces chances of system failure.
 Helps in budgeting and planning.
 Improves communication between stakeholders.

DISADVANTAGES OF FACT FINDING METHODS

 Time-consuming to gather requirements.


 Users may fail to express real needs.
 Requirements can change over time, causing delays.

Characteristics of Good Business Requirements

 Clear and concise


 Feasible (can be achieved with available resources)
 Testable (can be verified later)
 Relevant to the business problem

FOR A Example

If a college wants an online result-checking system:

 Input → Student ID, password.


 Process → System verifies payment & fetches grades.
MUCHECHESI E Page 3
PROGRAMMING CONCEPTS 317/22/M02
 Output → Display grades only if fees are paid.

1.2 Propose Appropriate Solutions

Definition

Proposing appropriate solutions means suggesting practical ways to meet the


business requirements using technology or business strategies.

Objectives

To evaluate alternatives before implementation.

To ensure the solution is cost-effective, efficient, and reliable.

To involve users in selecting the best solution.

Alternative Solutions

1. Purchasing Off-the-Shelf Software

Ready-made software purchased from vendors (e.g., Microsoft Office,


QuickBooks).

Advantages

Fast to deploy,
Cheaper than development, tested & reliable.

Disadvantages:

Limited customization,
May include unnecessary features, licensing costs.

2. Outsourcing

Hiring an external company to develop or manage software.

Advantages

Access to experts

MUCHECHESI E Page 4
PROGRAMMING CONCEPTS 317/22/M02
Reduces internal workload,
Faster delivery.

Disadvantages:

Expensive
Risk of data leakage
Less control.

3. Developing Software In-House

Creating software within the organization by internal developers.

Advantages:

Fully customized,
Better control, can evolve with business.

Disadvantages:

Costly,
Time-consuming,
Requires skilled staff.

Walkthroughs

A walkthrough is a step-by-step review of the proposed solution with


stakeholders.

Encourages user involvement in solving business problems.

Reduces risk of misunderstanding requirements.

Example

For the online result system, the college may:

Buy off-the-shelf student management software.

Outsource development to a local IT company.

Develop in-house using PHP and MySQL.

MUCHECHESI E Page 5
PROGRAMMING CONCEPTS 317/22/M02

1.3 Design Algorithms in Line with Identified Problem(s)

Definition

An algorithm is a step-by-step procedure or set of rules to solve a problem. In


programming, it defines how inputs will be processed to produce outputs.

Objectives

To provide a clear logic for solving problems.

To ensure the program is efficient and error-free.

To make solutions easy to understand, test, and maintain.

Importance of Design in Programming

Saves time and money in the long run.

Makes debugging and maintenance easier.

Improves communication between team members.

Program Design Tools

1. Flowcharts

Graphical representation using symbols to show steps in a process.

Advantage:

Easy to understand, visual clarity.

Disadvantage:

Time-consuming to draw for complex problems.

2. Pseudocode

MUCHECHESI E Page 6
PROGRAMMING CONCEPTS 317/22/M02
Writing steps of an algorithm in plain English-like language.

Advantage:

Easy to write and understand.

Disadvantage

Cannot be executed directly by a computer.

3. Algorithms (formal step-by-step instructions)

Precise method of solving a problem.

Advantage:

Provides structured problem-solving.

Disadvantage:

May be complex for beginners.

Characteristics of a Good Algorithm

Clear and unambiguous


Efficient in terms of time & space
Definite start and end
General (works for different inputs)

EXMPLE :Testable

1. Example Algorithm (Student Result System)

Problem: Display student results only if fees are fully paid.

Algorithm:

 Start
 Input Student ID, Password

MUCHECHESI E Page 7
PROGRAMMING CONCEPTS 317/22/M02
 Verify login details
 If fees paid = TRUE then
 Display results
 Else
 Display message: "Please clear outstanding fees to view results"
 End if
 Stop

Flowchart (simplified steps): IT MUST INCLUDE SHAPES ON EACH


STAGE.

Start → Enter Student ID & Password → Verify → Check Fees Status →


[Paid?] → Yes → Show Results → No → Show Message → Stop

MUCHECHESI E Page 8

Common questions

Powered by AI

Fact-finding methods, such as interviews, surveys, document reviews, and observations, can be used to gather business requirements effectively. Advantages include clarity about expectations, reduced risk of system failure, improved budgeting and planning, and enhanced communication between stakeholders. Disadvantages consist of being time-consuming, users potentially not expressing real needs, and requirements possibly changing over time, causing delays .

A business may choose to develop software in-house to achieve full customization to meet specific business needs, have better control over the development process, and allow the software to evolve with the growing business demands. However, in-house development can be more costly, time-consuming, and require skilled staff, which are significant considerations for the business .

Choosing an off-the-shelf software solution can provide faster deployment, cost savings compared to developing custom software, and reliability due to prior testing. However, it may also limit customization, lead to the inclusion of unnecessary features, and incur licensing costs, which might prevent fully addressing the bespoke needs and requirements of the business .

Program design tools such as flowcharts and pseudocode play crucial roles in developing reliable software solutions. Flowcharts provide visual clarity and are easy to understand, representing process steps graphically, while pseudocode offers a straightforward, English-like description of the algorithm's steps, making it easy to write and communicate. These tools help in laying a strong foundation for implementing error-free and maintainable software solutions .

A good algorithm should be clear and unambiguous, efficient in terms of time and space, have a definite start and end, be general enough to work with different inputs, and be testable. These characteristics ensure the algorithm is not just effective in solving the specific problem at hand but also reliable and adaptable to varying scenarios .

Good business requirements being clear, feasible, testable, and relevant ensure the project remains focused on delivering value and addresses the actual needs of the business. These characteristics facilitate effective communication among stakeholders, guide the development process, and allow for verifying that the final implementation meets the intended goals, thus contributing to the project's success .

Involving users in the solution selection process ensures the proposed IT solution aligns with user expectations and business requirements, leading to greater satisfaction and acceptance. It minimizes the risk of misunderstanding requirements, helps identify unaddressed needs early, and generally results in a more effective and user-friendly system .

Outsourcing software development provides access to expert skills, reduces internal workload, and often speeds up delivery. However, it can be expensive, carries the risk of data leakage, and results in less control over the development process. These factors must be carefully weighed against the internal resources and capabilities of the business .

Designing algorithms contributes to effective problem-solving by providing a clear logic and step-by-step procedure for solving problems. Well-designed algorithms ensure programs are efficient and error-free, facilitate understanding, testing, and maintenance, and improve team communication. An example is an algorithm for a student result system that processes inputs to verify payments before displaying results, showcasing structured problem-solving .

The key elements involved in the system requirement analysis stage include inputs (data entered into the system), processes (actions the system must perform), and outputs (information/results the system must produce). These elements are crucial for understanding what the system should accomplish and ensuring that it meets the functional and technical needs of users and stakeholders .

You might also like