Tuesday 2 February 2016

Software Development Life Cycle (SDLC) notes

Software Development Life Cycle (SDLC)

System(Software) Development Life Cycle (SDLC)

System Development is the creation of new system or modification of old system. System Development involves number of stages starting from System Study to System implementation and maintenance. SDLC is an organized way to build an Information System. SDLC, in fact, is a sequence of events carried out by Systems Analysts, System Designers and users to develop and implement an Information System.
The system development life cycle (SDLC) can also be defined as, a framework for developing computer based information system. In order words, SDLC is the overall process of developing information system through a multi-step process from investigation of initial requirements through analysis, design, implementation and maintenance. These activities are carried out in different phases, which are mentioned below: 
  1. Problem Definition 
  2. System Analysis 
  3. System Design 
  4. System Development 
  5. System Testing 
  6. System Implementation 
  7. System Evaluation 
  8. System Support and Maintenance 
All these phases, together, are called a life cycle because they cover the entire life of an Information System: 
Problem Definition: 
System definition is the process of defining the current problem, determining why a new system is needed and identifying the objectives of the proposed system. During Problem Definition Project team (members responsible for System Study) focus on completing the task, investigating the problem and deciding whether to proceed. In this phase the main aim is to answer “Why do we need a new system?” and “What are the objectives of the new system?” 
System Analysis: 
During System Analysis Project team (members responsible for System Analysis) focus on completing two tasks: 
  • Analysing the current system and developing possible solution to the problem . 
  • Selecting the best solution and defining its functionality. This phase starts when the current computerized system is to be modified or current manual system is to be computerized. System Analysts then begin investigation, talking with the users. The first challenge is to define the problem accurately. When the problem of the current system is accurately defined, the users can decide whether to proceed or not. 
System Design: 
System Design is the process of planning a new business system to replace the old. But before this planning can be done, we must thoroughly understand the old system. Once the analysis is complete, the System Analyst has a firm understanding of what is to be done. The next step is how the problem can be solved. The major objectives of Systems Design are: 
  1. Identification of reports and outputs the new system should produce. 
  2. Sketch the input screen and layout of menus options. 
  3. Description of data to be input, calculated and stored. 
  4. Individual data items, database and calculation procedures. 
Major activities of System design are carried out by the System Designer. The Project team ( members responsible for System Design), at this phase, finds the answers of problem like- how application accepts input data and store in database, how many input screens are required, how the screen looks like? What kind of menus and options must there be? What kind of database will the system use? Etc. 
The Designers and programmers may use a top-down design or bottom-up design or the combination of both. In top-down design, the team starts with the large picture and moves to the detail. They look at major functions that the system must provide and break down these into smaller activities. Each of these activities will then be programmed in the next phase of SDLC. 
In bottom-up design, the team starts with the details (for example, the reports to be produced by the system), then moves out to the big picture (major function or process). This approach is particularly appropriate when users have very specific requirements for output- for example, payroll checks, which must contain certain pieces of information. 
System Development: 
During the development phase, Programming plays a key role. They create and customize the software for all the parts of the system. The actual coding and writing of the program is done at this stage. 
The overall system is broken up into number of components. Then the programmers on the project team are assigned to specific components. The programmers write the necessary code. Technical writers and work with the programmers to produce the technical documentation for the system. The technical documentation includes information about software features and programming, about the data flow and processing, about the design and layout of the necessary hardware. 
System Testing: 
Testing is the process of executing a program with the intent of finding an error. Testing is an integral part. The testing process move from the individual component out to the system as a whole. The project team tests each component separately (unit testing), and then tests the components of the system with each other. (System testing). The major objectives of Systems testing are: 
a. White Box Testing: 
In this testing, a programmer can test cases that guarantee that every individual part in a program has been exercised at least once, all logical decisions on their true and false sides are executed, all loops are executed properly or not and internal data structures to ensure their validity are exercised. In other words, white box testing is a method of testing software that is based on knowledge of how the software is intended to function. White box testing is also called as structural testing or glass-box testing. 
b. Black Box Testing:
Black box testing focuses on how the software functions without references to how it is designed. The primary concern is whether the program works or not, how it is constructed. Black box testing is also known as functional testing. A programmer attempts to find errors in the following categories: 
  1. Incorrect or missing functions. 
  2. Interface errors. 
  3. Errors in data structures or external database access 
  4. Performance errors 
  5. Initialization and termination errors. 
System Implementation: 
In this phase, the project team (especially system analysts) installs the new software and hardware, which has been tested. The users then start using the system to perform their jobs in user environment. In this phase, the user moves from old system to new system. This is called conversion. 
System Conversion: 
The process og moving from old system to new system is called conversion. Conversion, in an organization, takes places in the Phases System implementation. If the system is replacing an existing one, implementation becomes critical. In such case, there are four different types of conversion strategies: 
a. Direct Conversion: 
All users stop using old system at the same time and then begin using the new. This option is very fast, less costly but more risky. 
b.Parallel Conversion: 
Users continue to use old system while an increasing amount of data is processed through the new system. Both the systems operate at the same time until the new system works smoothly. This option is costly but safe approach. 
c.Phased Conversion: 
Users start using the new system component by component. This option works for only system that can be compartmentalized. This option is safe and conservative approach. 
d.Pilot Conversion: 
Personnel in a single pilot-site use the new system, and then the entire organization makes the switch. Although this option may take more time, it is very useful in big organization where a large number of people make the conversion. 
System Evaluation:
The system evaluation is performed to identify its strengths and weakness. The actual evaluation can occur along any of the following dimensions: 
  1. Operational Evaluation 
  2. Organization Impact Evaluation 
  3. User Manager Assessment Evaluation 
  4. Development Performance Evaluation 
System Maintenance: 
Once installed, the software is often used for many years. However, both the organization and the users change. The environment may also change over a period of time. Therefore, software has to be maintained time to time. That is, modifications and changes will be made to the software files or procedures to meet user’s requirement. All these activities fall within system maintenance. 
Some errors in the system are also corrected during this phase. Changes, or upgrades, to the systems are made regularly during the remaining life span of the system. At some point, however, repairs to the system no longer meet the user requirements. Users start calling for a major modification or new system. At this point, the SDLC has come full circle and the Systems Study (Phase 1) begins again.
Don't forget to Like and Share it.

0 comments:

Post a Comment