Вы находитесь на странице: 1из 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.