Thursday, January 5, 2017

Software Development Life Cycle



Traditional and Structural programming
This is the first programming approach used in the beginning. Structure programming is associated with top down approach to design. So large routines are broken down into smaller modular routines. Here, designer converts the large structure of a program in terms of smaller operation and implement and test the smaller operation and then tie them together into a whole program. 



Program is divided into several basic structure and these structure are called build blocks. They are:
- Sequential Structure
 This contain program statement one after another
- Selection or Conditional Structure
The program has many condition from which correct condition is selected to solve the problem.
- Repetition or Loop Structure
The process of repetition or iteration repeats statement blocks for several times when the condition is matched.
Advantages of Traditional Approach
Problem can be easily described
Testing and debugging is easy
Easy to modify and maintain
The program is easily coded using modules.

SDLC (Software Development Life Cycle)
In market different kinds of general purpose software package are available but sometimes these packages ca not fulfill all clients’ requirements. So to fulfill the clients requirements new software must be developed generally the client comes to the developers’ site with their problems to be solved and to find computer based solution. To develop good quality of software it is required to go through following phases.
1. Problem Analysis:- It is important to give a clear concise problem statement. It is also called problem definition. The problem should clearly specify the following tasks.
-Objectives:- The problem should be stated clearly so that there will not be the chance of having right solution to the wrong problem. Simple program can be stated easily and early but for complex program we need the complex analysis with careful co-ordination of people, procedure and programs.
- Output Requirements:- Before we know what should go into system, we must know what should come out from the system being developed. Although system analysist  or programmer, the best person to design output is the end users. So it is better of designing output with the end users.
- Input requirements:- To get the above design output it is required to define the input data and source of input data. for example in student information system input data may be student records and source may be the college administration.
- Processing requirement:- It is required to clearly define processing requirements to convert the given input data to the required output. In processing requirement there may be hardware platform, software platform, manpower etc.
- Evaluating feasibility:- It is one of the most important phase where we mainly decide whether the purposed software development task is technically and economically feasible or not. Before development availability of hardware needs to be checked whether the client can afford the software or not. Finally there should be the proper documentation of different task of problem analysis done in above stages.

2. Algorithm and flowchart

a. Algorithm
An algorithm is a finite set of instruction written in a sequence that should be followed to solve the given problem all algorithm must satisfy the following criteria.
Input:- one or more quantity are externally supplied for processing which is known as inputs
Output:-after input are process, they must produce at least one quantity as output
Unambiguous:- each instruction in algorithm must be cleared. It should not have double meaning.
Fineness:-the algorithm should terminated after a finite no of steps.

b. Flowchart: it is a diagrammatic representation of the procedure for solving the problem or it is a graphical representation of an algorithm. It consist of set of symbols for different function which help a programmer to solve a given problem. The various symbols used in preparation of flowchart are stated as below.
 



 
3. Coding: - The algorithm and flowchart cannot be read by the computers it first must be written in programming language to develop a computer program. Coding can be done in high level language and most of programmer used high level language in these days. Easily readable, reliable, proper error handling and easy to maintenance and support after installation are the feature of the efficient program.
Compilation and Execution: - program written in high level language needs to be converted into low level language and compilation does these tasks. Code that is ready to run is called execution table code or machine code.

4. Debugging and Testing:- Debugging and testing is the process of detecting and removing errors in a program so that the programmer produce the desire result on all occasion.

Types of error
1. Syntax error
2. Runtime error
3. Logical error

Debugging is the process of isolating and correcting any type of above discussed error. Testing is the process of executing a program or system with the intension of finding error. Typically more than 50% of development time is spend in testing. Testing is usually performed for the following purpose.
- To improve quality
- For verification and validation
- For reliability estimation

5. Documentation:- program documentation start from the starting of SDLC (Software Development Life Cycle). It keeps most of the information of all the phases, while developing project. Documentation is used for future reference for both the original programmer and the beginner. The final document should contain the following information :
- A program analysis document with objectives, input, output and processing procedure.
- Program design document, algorithm and detail flowchart and other appropriate diagrams.
- Program verification document with details of checking, testing and correction procedure along with the list of test data.

No comments:

Post a Comment