SDLC
Systems Development Life Cycle (SDLC) is a 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.
Phases of SDLC
System Investigation
It is the first step in SDLC and it is used to define and
resolve the problem in a clear way Here need is identified Its objective is to determine whether the request is valid and feasible before any recommendation is made to do nothing, improve or modify the existing system, or build a new one
Contd
Success of a system depends largely on how
accurately a problem is identified, thoroughly investigated Output of this stage is Project Proposal System investigation includes 2 sub-stages: Problem Definition Feasibility Study
DIAS, by Shuchi Vasisht, Lecturer
Problem Definition
This is the most frequently by passed step in the entire SDLC First thing is to prepare a written statement of the objectives
and scope of the problem Based on interviews with the user, the analysts writes a brief description of his/her understanding of the problem
Contd
Proper understanding and definition of the problem is
essential to discover the cause of the problem and to plan a directed investigation Eg. :The existing system has a poor response time, i.e. it is slow Here system is working slow is a problem and it is defined in detail
Feasibility Study
Establishes a high-level view of the intended project and
determines its goals This study is undertaken to know whether the system will be useful to the organization It should be relatively brief Objective of this is only to get an idea of the scope The aim is to assess alternative system and to propose the most feasible and desirable system for development
Contd
It provides an overview of the problem and acts as an
important check point that should be completed before committing more resources The feasibility of a proposed system can be assessed in 4 major categories:
Organizational Feasibility Economic Feasibility Technical Feasibility Operational Feasibility
Contd
Organizational Feasibility
The extent to which a proposed information system supports the objective of the organizations strategic plan for information systems determines the organizational feasibility of the system project Economic Feasibility
In this costs and returns are evaluated to know whether returns justify the investment in the system project
Contd
Technical Feasibility
Whether reliable hardware and software capable of meeting the needs of the proposed system can be acquired or developed by the organization in the required time Operational Feasibility The willingness and ability of the management, employees, customers, suppliers, etc. to operate, use and support proposed system come under operational feasibility
System Analysis
Analysis is a detailed study of the various operations of a
business activity along with its boundaries and it is used to determine exactly what must be done System Analysis involved a detailed study of:
The information needs of the organization and its end users Existing information systems ( their activities, resource and products) The expected information system
Contd
The analysis phase provides the analyst with a clear
understanding of what is to be done The final product of this system analysis is a set of system requirements of a proposed information system
System Design
It specifies HOW the system will accomplish the goal of
meeting the information need of users It basically refers to the technical specifications (architects blueprints) that will be implied in constructing the system.
User interface
In this interface design activity focuses on designing the interactions between end users & computer systems This activity focuses on the design of the logical structure of database
Data design
Process design
This activity focuses on the design of the software resources, that is, the programs and procedures needed by the proposed information system
Contd
System design goes through 2 phases of
development
Logical Design
For system, it describes the inputs (source), outputs
(destination), database (data stores) and procedures (data flows)- all in a format which can meet users requirement It specifies the user need in detail that virtually determines the information flow into and out of the system and the required data sources Data Flow Diagram shows logical flow of system and define boundaries of the system
Contd
The logical design covers the following: 1.It reviews the physical system 2.Prepares output specifications 3.Prepares input specifications 4.Prepares edit, security and control specifications 5.Specifies the implementation plan 6.Reviews benefits, costs, target dates, and system constraints
Physical Design
This produces the working system by defining the design
specifications that tell programmers exactly what the candidate system must do In turn, programmer writes necessary programs or modifies the software package that accepts inputs from the user Performs the necessary calculations through the existing information or data base. Programmer produces the report on hard copy or displays it on a screen and maintain and update data base all the time.
DIAS, by Shuchi Vasisht, Lecturer
Devise a test and implementation plan and specify any new hardware or software required Update benefits, costs, conversion date, and system constraints (legal, financial, hardware, etc.)
is physically created. The construction of the system takes place on the basis of system specification. The required programs are coded, debugged and documented. The system should be tested with some test data to ensure its accuracy and reliability.
Methods of testing
Alpha testing
Alpha testing is actual operational testing by potential users/customers or an independent test team at the developers' site.
Beta testing can be considered a form of external User Acceptance Testing. Versions of the software, known as Beta Versions, are released to a limited audience outside of the programming team. The software is released to groups of people so that further testing can ensure the product has few faults
Beta testing
Methods of testing
Black box testing This type of testing treats the software as a "black box"without any knowledge of internal implementation.
This type of testing is done when the tester has access to the internal data structures and algorithms including the code that implement these.
Implementation
hardware and software acquisition, site preparation, user training and installation of the system.
Maintenance
System maintenance involves the monitoring, evaluating
and modifying of a system to make desirable or necessary improvements. modules or programs wear out and need to be replaced, but because there are often some residual errors remaining in the system that have to be removed as soon as they are discovered.