0% found this document useful (0 votes)
9 views26 pages

Lec 2

The document outlines the process of program development, detailing the steps from program specification to maintenance, including the key activities involved in each phase. It introduces various methodologies such as Agile, Waterfall, Rapid Application Development, and the Crystal Method, highlighting their unique approaches to software development. By the end of the session, learners should be able to identify the phases of program development and understand the essential tasks involved in creating effective programs.

Uploaded by

Prisca Cherono
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)
9 views26 pages

Lec 2

The document outlines the process of program development, detailing the steps from program specification to maintenance, including the key activities involved in each phase. It introduces various methodologies such as Agile, Waterfall, Rapid Application Development, and the Crystal Method, highlighting their unique approaches to software development. By the end of the session, learners should be able to identify the phases of program development and understand the essential tasks involved in creating effective programs.

Uploaded by

Prisca Cherono
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/ 26

Introduction to Program Development

learning otcomes
By the end of this session, you will be able to:
• Identify the process of creating programs.
• Understand the phases of program development.
• Identify the key activities that take place during program
development.
"Have you ever written or used a
program? What do you think goes into
creating it?"
Process of Creating Programs
1. Description of Program specifications(Definition)
Program specification is the first step in developing a computer
program. Program specification is also called program definition or
program analysis.
It requires the programmer to follow five specific tasks:

a. Specifying program objectives


b. Specifying desired output
c. Determining the required input
d. Defining processing requirements
e. Documentation specification
Task 1 - specify objectives, What are program
objectives?
• Program objectives are the problems you are trying to
solve.
• A clear statement should be written about the problem
that needs a solution.
• This task defines the problem.
Task 2 - specify output, How do you determine the
desired output?

● It is always best to specify outputs before inputs.


a. You need to know what you want to get out of the computer.
b. Then you can determine what will go into the computer.
● Sketch or write how the output will look when it is done.
Task 3 - input data - How do you determine
the required input?

● The source and type of data must be known.


● The input must supply the program with data to
produce the correct output.
Task 4 - processing requirements - How do
you determine processing requirements?

● Processing that must take place to convert input data


into output information must correspond with the problem
definition determined in task 1.
● A step-by-step logical algorithm must be determined to
process the input data to output information.
Task 5- program specifications document -
What is included?

• Document the program objectives, desired outputs,


needed inputs, and required processing.
• After these items are documented, then step 2,
program design can commence.
Program Development Life Cycle

The program development life cycle is a set of steps or phases that are used to
develop a program in any programming language. Generally, the program
development life cycle contains 7 phases, which are as follows
i. Problem Definition
ii. Program Design
iii. Coding
iv. Debugging
v. Testing
vi. Documentation
vii. Maintenanc
i. Problem Definition:
• The first step in the process of program development is
the thorough understanding and identification of the
problem for which the program or software is to be
developed.
• In this step, the problem has to be defined formally.
• All the factors like Input/output, processing requirements,
memory requirements, error handling, and interfacing with
other programs have to be taken into consideration in this
stage.
ii. Program Design:
• The next stage is the program design. The software
developer makes use of tools like algorithms and
flowcharts to develop the design of the program.
• Algorithm
• Flowchart
iii. Coding:
• Once the design process is complete, the actual computer program is
written, i.e. the instructions are written in a computer language.
• Coding is generally a very small part of the entire program
development process and also a less time-consuming activity in reality.
• In this process all the syntax errors i.e. errors related to spelling,
missing commas, undefined labels, etc. are eliminated. For effective
coding some of the guidelines which are applied are : Use of
meaningful names and labels of variables, Simple and clear
expressions,
• Modularity with emphasis on making modules generalized,
• Making use of comments and indenting the code properly,
• Avoiding jumps in the program to transfer control.
iv. Debugging:
• At this stage, the errors in the programs are detected and
corrected.
• This stage of program development is an important process.
Debugging is also known as program validation.
• Some common errors which might occur in the programs
include: Un initialization of variables.
• Reversing of an order of operands.
• Confusion of numbers and characters.
• Inverting of conditions eg jumping on zero instead of on not
zero.
v. Testing:
• The program is tested on several suitable test cases.
• A test plan of the program has to be done at the stage of
the program design itself.
• This ensures a thorough understanding of the
specifications.
• The most trivial and most special cases should be
identified and tested.
• It is always useful to include the maximum and minimum
values of all variables as test data.
vi. Documentation:
• Documentation is a very essential step in program
development.
• Documentation helps the users and the people who
maintain the software.
This ensures that future modifications if required can be
done easily. Also, it is required during redesigning and
maintenance.
vii. Maintenance:
• Updating and correction of the program for changed
conditions and field experience are accounted for in
maintenance.
• Maintenance becomes essential in the following
situations:
• Change in the specification,
• Change in equipment,
• Errors are found during the actual execution of the
program.
Program development methodologies
AGILE
It is a practice that promotes continuous iteration of development
and testing throughout the software development lifecycle of the
project. In the Agile model, both development and testing activities
are concurrent, unlike in the Waterfall model.

It is a flexible, iterative approach to software development that


emphasizes collaboration, customer involvement, and rapid
delivery of working software. Agile methodologies include crum,
Kanban, and Extreme Programming (XP).
WATERFALL

The Waterfall methodology is a linear, sequential


approach to software development. It involves clearly
defined phases, such as requirements gathering, design,
implementation, testing, and maintenance, with progress
flowing in one direction like a waterfall.
RAPID APPLICATION DEVELOPMENT
The rapid Application Development model is based on prototyping and iterative
development with no specific planning involved. It focuses on gathering customer
requirements through workshops or focus groups, early testing of the prototypes by the
customer using the iterative concept, reuse of the existing prototypes (components),
continuous integration, and rapid
delivery. Rapid Application Development (RAD) is a software development
methodology that
emphasizes speed, agility, and rapid prototyping. RAD prioritizes the creation of working
software prototypes over extensive planning and design, allowing the software
development
team to quickly validate ideas, gather user feedback, and make changes to the design as
needed. This approach is often used for developing software for small and medium-sized
organizations, as well as for developing new applications in a rapidly changing marke
The key features of RAD include:
• Prototyping: A working prototype is created early in the development
process to allow
stakeholders to see and interact with the software.
• Iterative development: The software is developed in iterations, with
each iteration resulting in a refined and improved prototype.
• User involvement: End-users and stakeholders are actively involved in
the development process, providing feedback and input to the software
design.
• Reusable components: Reusable components are identified and
developed early in the process to reduce development time.
• Automated tools: Automated tools and techniques are used to
streamline the development process, such as code generators and
CASE tool
CRYSTAL METHOD
• Crystal family is a collection of agile software
development methodologies that can be used for different
software projects depending on size, complexity,
criticality, and the number of people involved. It was
developed by Alistair Cockburn in early 1990 while
working at IBM.
• He interviewed different teams working on different
projects to find the best practices followed by teams.
1. What is PDLC?
2. Which are the Three major program development approaches used in PDLC?
3. What is the difference between Functional programming and Modular
Programming?
4. Why is the Design phase important in Program Development Life Cycle?
5. Which are the five common errors that can occur in a program during program
development?

You might also like