KEMBAR78
Week 3 | PDF | Computer Programming | Computer Program
0% found this document useful (0 votes)
11 views18 pages

Week 3

The document outlines the program design curriculum for ITE1123, focusing on key concepts such as problem analysis, requirements gathering, and strategies for problem-solving. It emphasizes the importance of functional and non-functional requirements, as well as techniques for requirement gathering like interviews and surveys. Additionally, it introduces flowcharts and pseudocode as essential tools for visualizing and structuring program logic before coding.

Uploaded by

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

Week 3

The document outlines the program design curriculum for ITE1123, focusing on key concepts such as problem analysis, requirements gathering, and strategies for problem-solving. It emphasizes the importance of functional and non-functional requirements, as well as techniques for requirement gathering like interviews and surveys. Additionally, it introduces flowcharts and pseudocode as essential tools for visualizing and structuring program logic before coding.

Uploaded by

unity.nuwan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Program Design

Week 03
ITE1123 – Fundamentals
Unit Code: Subject of
Programming
name
Dr. Thilina Thanthriwatta
(Lecturer Name)
ITE1123 Program
Lecture Design
Name:
Dr. Thilina Thanthriwatta
Color Coding

• RED: - Very important points


• BLUE: - Need to be highlighted but not as important
• GREEN: - Used for terminology (terms)
• PURPLE: - Off topic but necessary

Unit Code: Subject


name

(Lecturer Name)

Lecture Name:
Learning Outcomes
▪ After completing this lesson, you will be able to design a
computer program.

▪ From this lesson, you will be able to:


▪ Define the concepts of program analysis
▪ Explain how to gather requirements
▪ Compare different strategies for problem-solving
▪ Draw flowcharts and write pseudocodes

Unit Code: Subject


name

(Lecturer Name)

Lecture Name:
Program Design
▪ What are the steps that a computer programmer should
execute before starting coding?

▪ Key Steps:
▪ Problem analysis
▪ Modular Design
▪ Algorithm Design

Unit Code: Subject


name

(Lecturer Name)

Lecture Name:
Problem Analysis
▪ What is the problem that your software is intended to
solve?

▪ Requirements gathering (requirements elicitation) and


problem defining are the first two steps of software
development process, in general.

▪ Understanding the problem Unit Code: Subject


▪ What exactly needs to be solved name
▪ What are the desired outcomes?
▪ What are the other constraints (e.g., budget, time)? (Lecturer Name)

Lecture Name:
Requirements Gathering
▪ Different types of requirements:
▪ Functional requirements
▪ Non-functional requirements

▪ Functional requirements:
▪ What are the specific tasks that your software should perform?
▪ Describe the functions and features of the software.
▪ Describe how the users interact with the system.
▪ E.g., “The system should display how the population of each Unit Code: Subject
district has changed over the last 20 years”. name

(Lecturer Name)

Lecture Name:
Requirements Gathering
▪ Non-functional requirements:
▪ How should the system perform?
▪ Consider different quality attributes such as performance,
security, scalability, etc.
▪ E.g., the system should be able to handle at most 1000 users
simultaneously without degrading response.

▪ Your software should meet both functional and non-


functional requirements.
▪ However, functional requirements are mandatory. Unit Code: Subject
name

▪ You will study the steps of the software process models (Lecturer Name)
including requirements gathering in detail in the
modules related to software engineering. Lecture Name:
Techniques for Requirement Gathering

▪ Interviews
▪ One-on-One
▪ Group

▪ Surveys and Questionnaires

▪ Gap Analysis
Unit Code: Subject
▪ Prototyping with feedback loops name

(Lecturer Name)
▪ Brainstorming Lecture Name:
SMART Framework
▪ SMART Framework is to set and evaluate
requirements/goals/objectives

▪ SMART
▪ Specific
▪ Measurable
▪ Achievable
▪ Relevant
▪ Time-bound Unit Code: Subject
name

▪ Improving focus and efficiency while reducing (Lecturer Name)


ambiguity.
Lecture Name:
Strategies to solve problems
▪ Top-Down Approach
▪ Decomposition/Modular approach
▪ The problem is broken down into smaller modules/units.
▪ Each module can be further broken down.

▪ Make complex solutions simple

▪ However, this may lead to implementation delay. Unit Code: Subject


name

(Lecturer Name)

Lecture Name:
Strategies to solve problems
▪ Bottom-up approach
▪ Composition approach
▪ Designs start with the smallest, individual component and
integrate to build a complex model.
▪ Depends on reusable components

▪ Reusability is one of the key advantages.


Unit Code: Subject
▪ However, integration may not be easier. name

(Lecturer Name)

Lecture Name:
How to Devise the Solution?
▪ Before coding (implementation), you need to devise a
proper design.

▪ There is a possibility of devising multiple designs and


then selecting the best one later.

▪ Process modeling techniques:


▪ Flowcharts Unit Code: Subject
▪ Pseudocode name

(Lecturer Name)

Lecture Name:
Flowcharts
▪ A flowchart is a visual representation of a process/workflow.
▪ It represents the logical steps of a computer program.

▪ Elements of a flowchart:
Terminator/Terminal: Represent the start
and end of a process

Process

Unit Code: Subject


Decision name

(Lecturer Name)
Inputs & Outputs
Lecture Name:

Flow arrow
Guidelines for Flowcharts
▪ Use standard symbols

▪ Usually, the flow should be depicted from top to bottom


or left to right.

▪ Use descriptive labels for each step


Unit Code: Subject
▪ Try to avoid crossed lines name

(Lecturer Name)

Lecture Name:
An Example
▪ Draw a flowchart to depict the process for finding odd
and even numbers.
Start

Input a
number: N

No
N%2==0
Unit Code: Subject
name
Yes
(Lecturer Name)
Display Even Display Odd
Lecture Name:

End
Pseudocode
▪ An informal way of writing your program.
▪ You do not need to worry about syntax and semantics.
▪ Language-agnostic

▪ Pseudocode should be:


▪ Simple
▪ Readable
▪ Compatible with the structure of your program.
Unit Code: Subject
▪ Elements of pseudocode: name
▪ Inputs and outputs
(Lecturer Name)
▪ A finite number of steps
• These steps should be clearly defined. Lecture Name:
▪ Conditions – decision making
▪ Loops – repeated actions
An Example
▪ Write a pseudocode to check a given number is odd or
even number.

BEGIN
INPUT N
IF N MOD 2 is equal to 0
OUTPUT “Even”
ELSE
OUTPUT “Odd”
END
Unit Code: Subject
name

(Lecturer Name)

Lecture Name:
End of Lesson

▪ In the next lesson, we will focus on variables and data


types in Python.

Unit Code: Subject


name

(Lecturer Name)

Lecture Name:

You might also like