You are on page 1of 4

SYSTEM DEVELOPMENT LIFE CYCLE

INTRODUCTION System Development Life Cycle (SDLC) methodologies are mechanisms to assure that software systems meet established requirements. These methodologies impose various degrees of discipline to the software development process with the goal of making the process more efficient and predictable. Systems Development Life Cycle (SDLC) is a logical process used by a systems analyst to develop an information system, including requirements, validation, training, and user (stakeholder) ownership. Any SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently in the current and planned Information Technology infrastructure, and is inexpensive to maintain and cost-effective to enhance. The system development life cycle is the process, involving multiple stages (from establishing the feasibility to carrying out post implementation reviews), used to convert a management need into an application system, which is custom-developed or purchased or is a combination of both.

1. Strategy and planning: -- Identifying the requirements to be used in the new system on the basis of evaluation of the drawbacks in the old system. 2. Requirement analysis: --it determines why the need for a new product arrives and what changes were required in the present system. It helps to determine whether the proposed project will suit the user specifications or not. This phase Is used to analyze the system on the basis of user specification. The design of the system is based on the results of analysis.; 4. Design: -- Functional and System Design. Its outcome is - Dataflow and process flow design with the suggested Design Methodology.

5. Development: -- Coding/programming the application. 6. Deployment: -- Functional Testing (Black Box and White Box), Code Testing and User Acceptance Testing (Concurrent Testing (if multiple users are involved) and Regression Testing). Outcome - Test Documents with error reporting at every stage. 7. Operation and maintenance: -- The final software developed is implemented. The software is updates and checked for errors at regular intervals.

PHASE 1:- RECOGNITION OF NEED
DRAWBACKS OF THE PRESENT SYSTEM:• It takes longer time than a electronic database:- Since in the present system the data is stored in files, it is difficult to retrieve data easily and is even difficult to manage data in these separate files. Lack of security:- The current system is not secure. If one file goes missing a very important part of the database goes missing and cannot be retrieved easily. Even if we make copies of the entire data and store it as backup it will be very difficult to backup data manually. Difficulty in retrieval of information:- The information is stored in files. To retrieve information from this manual system we must be really sure where the data was kept or in which file the data was written. This process is long and cumbersome. Unlike database system file system cannot create relationships;- In an automated system we can create relationships between various entities to be linked together. However this in not possible in the manual system. File system doesn't have the very essential ACID properties.:- The essential properties of atomicity, consistency, isolation and durability do not exist in the manual system. There is no guarantee of the data being in as consistent state. File system is time consuming; not more better than manual record keeping system:- the file system in a long process. Every single activity need to be performed manually. It thus becomes difficult to complete all jobs on time.

ADVANTAGES OF THE PROPOSED SYSTEM • • • Extensibility - New capabilities can be added to the software without major changes to the underlying architecture. Fault-tolerance - The software is resistant to and able to recover from component failure. Maintainability - The software can be restored to a specified condition within a specified period of time. For example, antivirus software may include the ability to periodically receive virus definition updates in order to maintain the software's effectiveness. Modularity - the resulting software comprises well defined, independent components. That leads to better maintainability. The components could be then implemented and tested in isolation before being integrated to form a desired software system. This allows division of work in a software development project. Reliability - The software is able to perform a required function under stated conditions for a specified period of time. Reusability - the modular components designed should capture the essence of the functionality expected out of them and no more or less. This single-minded purpose renders the components reusable wherever there are similar needs in other designs. Robustness - The software is able to operate under stress or tolerate unpredictable or invalid input. For example, it can be designed with a resilience to low memory conditions. Security - The software is able to withstand hostile acts and influences.

• •