CHAPTER 3: SOFTWARE DEVELOPMENT LIFE CYCLE AND PROGRAM DEVELOPMENT
LIFE CYCLE
Objectives
Explain the program development life cycle phases
Describe the software development life cycle phases
Compare data and information
Explain how a program is executed
Enumerate the tools for facilitating program development
Data vs. Information
Data is any collection of facts or raw material for information. Information is any
data that have been collected and processed into a meaningful form.
Information System Defined
Information system is a collection of people, hardware, software, data, and
procedures that interact to generate information to support users in an organization.
This is developed through following the software development life cycle (SDLC).
Software Development Life Cycle
Software goes through various stages from its conception to its end. The term software
development life cycle (SDLC) refers to the steps taken to develop software (Saylor
Academy, 2022). There is no hard-and-fast rule to developing software, and many
methodologies have been used. Though each takes a different approach, the various
phases of the software development process can be broadly summarized as follows:
● Planning and Analysis
● Design
● Implementation
● Testing and Debugging
● Deployment
● Maintenance
Figure 3.1 the software development life cycle shows the generic SDLC.
Phases of SDLC
• Phase 1: Preliminary Investigation
1
▫ A brief feasibility study is performed to assess whether or not a full-scale
project should be undertaken
• Phase 2: System Analysis
▫ A problem area is thoroughly examined to determine what should be done
• Phase 3: System Design
▫ A model of the new system and how it will work is formally established
• Phase 4: System Acquisition
▫ In which hardware, software, and other necessary system components
are acquired
▫ This include the development of the software
• Phase 5: System Implementation
▫ Encompasses activities related to making the system operational
• Phase 6: System Maintenance
▫ Minor adjustments are made to the finished system to keep it operational
until the end of the software’s life or until the time that the software
needs to be redesigned
Figure 3.1 The Software Development Life Cycle
Program Development Life Cycle
In the SDLC, phase 4 is where the actual development of program occurs.
Programmers also follow steps in developing the instructions (program). The program
development life cycle (PDLC) is used by programmers to develop the program, as
shown in Figure 3.2.
Steps in PDLC
2
1. Identify problem requirements
⮚ State the problem clearly and unambiguously
⮚ To gain a clear understanding of what is required for its solution
⮚ Objective: eliminate unimportant aspects and zero in on the root problem
Figure 3.2 The program development life cycle
2. Program analysis
● Involves identifying the problem’s
a. Inputs
b. Outputs
c. Additional requirements or constraints on the solution.
o Determine the required format in which the results should
be displayed and develop a list of problem variables and
their relationships.
• May be expressed as formulas
● If steps a and b are not done properly, you will solve the problem
wrong
3
● Example:
Create a program that
accepts two positive
integer numbers and
displays their sum.
Step 1: Determine
Inputs
Inputs: two
positive integer
numbers
Step 2: Determine
Outputs
● The above example of modeling a problem by extracting the essential
variables and their relationships is called abstraction.
3. Program design
⮚ Expressed as algorithm
⮚ Most difficult step in program development
⮚ Use top-down design or divide and conquer
⮚ To check if your algorithm is correct do desk checking
⮚ Use design tools like flowchart
Algorithm steps
1. Get the data
2. Perform the computations
3. Display the results
4. Program coding
⮚ Process of writing the actual program steps using a programming language
⮚ Implementation of the algorithm that you have developed
⮚ Use coding standards
5. Program debugging and testing
⮚ Errors in programming
▪ Syntax errors: occurs during compile time
▪ Runtime errors: occurs during run time; exception errors
4
▪ Logic errors: difficult to detect; it maybe cause by incorrect solution to the
programming problem.
⮚ Debugging
▪ Process of ensuring that a program is free of errors or bugs
⮚ Testing
▪ Process of creating test data
⮚ Don’t rely on only one test case
6. Program maintenance
⮚ Process of updating software so it continues to be useful
⮚ Involves modifying a program to remove previously undetected errors and to
keep it up-to-date as business rules change in any organization
EXECUTING A PROGRAM
Figure 3.3 shows how a program, for example in java, is executed. In java, source
code is written in a text editor with .java extension file. Then the source code is
compiled. If there is no error, a bytecode (in the form of a .class file) is created. The
bytecode will then be interpreted via jvm and eventually results will be displayed on the
screen.
Figure 3.3 executing a java program
TOOLS FOR FACILITATING PROGRAM DEVELOPMENT
• Application generators
• Computer-aided software engineering (case) tools
• Software-asset management programs
• Rapid application development (rad) tools
• Program translators
• Assembler
5
• Translates the symbolic codes of programs of an assembly
language into machine language instructions
• Compiler
• Compilers are the translators, which translate all the instructions of
the program into machine codes, which can be used again and
again. The program, which is to be translated, is called the source
program and after translation the .class file (the .class file contains
java byte code) in java is generated
• Interpreter
• In java, during run time the java virtual machine interprets the java
byte code and creates native machine language which the
computer then executes
6
Sources:
Saylor Academy. 2022. The Programming Life Cycle, Retrieved August 3, 2022 from
https://learn.saylor.org/mod/page/view.php?id=22032