The process of developing new programs involves a series of stages which are collectively referred to as program development life cycle.
(a) In a sequential narrative. name and describe the main stages in the program
development life cycle.
(b) Explain how the use of Computer Aided Software Engineering (CASE) improves programming productivity.
(c) Structured walk through addresses some areas of interest in a new program under programming productivity
a) Program development life cycle
This refers to the steps that have to be followed in coming up with an application program. These steps are followed irrespective of whether the program is developed in-house or not. The program development life cycle consists of the following stages:
1. Problem analysis.
2. Program design.
3. Program coding.
4. Program testing.
5. Program documentation.
6. Program maintenance.
The first stage of the program development cycle i.e. the problem analysis phase is primarily concerned with establishing why the program is being developed. The objectives of the program are documented. The process of establishing program objectives involves gathering information from end users. The end product of this stage is the program definition document.
Once the requirements of the program to be developed have been understood, the second phase is to design a program that meets those requirements as documented in the first stage. Tools that may be utilized in program design include program flowcharts and structured English statements. The end product of the design phase is the program design specification.
Program coding is concerned with turning the program design into program code (in a high level language). The systems analyst and the programmers work together to decide on the programming language to use. The end product of the coding phase is program code.
Program testing is concerned with locating errors in the program so that the errors can be fixed to reduce future program maintenance costs, to create customer confidence, to improve system reliability and to improve program quality. The end product of the testing phase is an improved program in terms of reliability.
Program documentation involves producing documents that describe the delivered program. Program documentation also involves producing documents that contain the outcomes of the other phases of program development i.e. problem analysis, program design, program coding, and program testing. Documents that are produced include program user guides, program specification and program documentation (Contains a technical description of the developed system for use programmers for purposes such as maintenance). The program documentation phase is thus an on-going phase featuring from the start to the end of the program development life cycle.
Program maintenance includes the correction of faults that existed in the program before its delivery as well as changes to improve performance or to adapt the program to a changing environment (hardware and software environment). The end product of the program maintenance phase is an improved system.
b) How CASE tools improve programming productivity:
1. They automate code generation, testing and control rollout thus enabling programmers to accomplish their tasks within a short period of time.
2. They automate tedious and error-prone portions of analysis and design thus freeing programmers to more creative problem-solving tasks.
3. They organize and correlate design components and provide rapid access to them via a design repository thus facilitating group collaboration.
4. They improve communication between users and technical specialists thus resulting in quality systems being developed.
c) Areas of interest addressed a structured walkthrough:
1) Program requirements
The structured walkthrough uncovers any inconsistencies between requirements stated the users and those that the analyst is proposing.
2) Program designs
Structured walkthroughs determine whether the proposed design will meet requirements of the system and user. If the review team finds any discrepancies between the design and the requirements, they should provide solutions to the discrepancies.
The structured walkthrough is conducted to examine the program development along with its documentation. The programs are compared with their specific design specifications to determine whether the specifications are being satisfied. Any programming errors are dealt with.
The structured walkthrough assists in development of test data that can be used to detect system design errors.