systems development life
DESCRIPTION
Systems Development LifeTRANSCRIPT
Systems Development Life
Cycle (SDLC)
Systems Development Life Cycle (SDLC)
The traditional methodology used to develop, maintain, and replace information systems. [HOFF96]
The evolution of process that is followed in implementing a computer-based information system subsystem. [MCLE93]
Also known as Systems Life Cycle, SystemsDeve-lopment Methodology, Project Life Cycle, Methodology.
Participants
Their participation depends on the strategic value of the project
Systems AnalystDatabase AdministratorNetwork SpecialistProgrammerOperations Personnel
Participants...
MIS/IS Steering CommitteeEstablishes policies, provides fiscalcontrol, resolves conflictProject TeamHeaded by a Team LeaderExecutives
Purpose
to define the activities to be carried out in a systems development project
to introduce consistency among many systems development projects in the same organization
to provide checkpoints for management control for go/no-go decisions
SDLC Phases
Planning Phases
Steps:1. Recognize the problem What is a problem? When is a problem advantageous?2. Define the problem Is it the correct problem?3. Set system objectives How will you solve the problem?4. Identify system constraints What are the boundaries/limitations of the
system?
Planning Phases...
Conduct a feasibility study Is the system feasible?
Feasibility Areas: Economic Technical Operational Schedule Legal and Contractual Political
Planning Phases...
Elements of Project PlanningDescribing project scope, alternatives and feasibility
Dividing project into manageable tasksEstimating resources and creating resource plan
Developing a preliminary scheduleDeveloping a communication plan
Planning Phases...
Elements of Project Planning...Determining project standards and procedures
Identifying and Asssessing RiskCreating Preliminary BudgetDeveloping a Statement of WorkSetting a Baseline Project Plan
Requirements Determination
Formal process of using research, interview, questionnaires, sampling and other techniques to collect information about system, requirements and preferences
SA team collects information on what the system should do from as many sources as possible: from users of the current system, from observing users and from existing reports, forms and procedures information gathering, data collection, data gathering
Analysis Phases
The study of the existing system for the purpose of designing a new or improved system
Steps: Announce the systems study
what is the reason of the study? what benefits will the employees and the
organization get from the study?
Analysis Phases....
Organize the project team who does what? define the information needs - what kind of information will be needed? - what tools should be used to get the information effectively? define the system performance criteria prepare the design proposal
Analysis Phases....
ActivitiesIdentify and describe complete problem
specificationStudies and documents the current system – in
terms of its problems, requirements and processesPrepares a list of requirements for the new systemDiagrams the functions of the existing system
necessary for the development of the new system
Design Phase
The determination of the processes and data that are required by a new system
Steps: 1. Prepare the detailed systems design
2. Identify alternative system configurations 3. Evaluate alternative system configurations 4. Select the best configuration 5. Prepare the implementation proposal 6. Approve or reject the proposal
Implementation Phase
The acquisition and integration of the physical and conceptual resources that produce a working system
Steps: 1. Plan the implementation 2. Announce the implementation
3. Obtain the hardware resources4. Obtain the software resources5. Prepare the database6. Prepare the physical facilities7. Educate the participants and users
Implementation Phase...
Conversion Methods: Immediate/Direct Outright conversion from old system to new system
applicable to small firms/systems Phased The new system put into use one part at a time
popular to large-scale systems Parallel Old system is implemented simultaneously with the
new one greatest assurance against failure but most expensive
Maintenance Phase
Steps:Use the systemAudit the system
Conduct a post implementation review
Maintain the systemCorrect the errors keep the system current improve the system
Classical Project Life Cycle
Features: Uses bottom-up implementation also known as the
“waterfall life cycle” Has a number of difficulties:
nothing’s done until it’s all done most trivial bugs are found at the beginning of the
testing period, and most serious bugs are found last
Classical Project Life Cycle...
Has a number of difficulties:(cont...) debugging tends to be extremely difficult
during the final stages of system testing requirement for computer test time usually rises exponentially at the final stages of testing
Phases progress sequentially Relies on outdated techniques
Semi-Structured Project Life Cycle
Features: Uses top-down implementation Uses structured design
Terminators: Users Managers Operations Personnel
Semi-Structured Project Life Cycle...
Activities:1. Survey
Identification of users & development of initial system scope
Identification of current deficiencies in the user’s environment
Establishment of goals/objectives for a new system
Determination of feasibility to automate preparation of project charter
Structured Project Life Cycle...
2. Analysis Transformation of user policy & project charter
into a structured specification Development of system models (environmental,
behavioral, essential) Preparation of budgets & cost-benefit
calculations
Structured Project Life Cycle...
3. Design Allocation of essential model to appropriate
processors & tasks Transformation of ER data models into a
database design Development of user implementation model
Structured Project Life Cycle...
ImplementationCoding & integration of modules
Acceptance Test GenerationGeneration of acceptance test cases from the
structured specification Quality Assurance
Final or acceptance testing Procedure Description
Generation of a user’s manual Database Conversion Installation
Prototyping Project Life Cycle
An iterative process of systems development in which requirements are converted to a working system that is continually revised through close work between an analyst and users
Tools * Fourth-Generation Languages (4GLs) * Database Management System * Computer-Aided Software Engineering
(CASE) Tools
Prototyping Project Life Cycle...
Advantages of Prototyping Involves the user in analysis and design to a large
extent Captures requirements in concrete, rather than
verbal or abstract form Changing the system early in its development Scrapping undesirable systems Designing a system for users’ needs and
expectations
Prototyping Project Life Cycle...
Disadvantages of PrototypingManaging the projectAdopting an incomplete system as complete
Guidelines for Developing a PrototypeWork in manageable modulesBuild the prototype rapidlyModify the prototype in successive iterations
stress the user interface
Prototyping Project Life Cycle...
Candidates for Prototyping user is unable/unwilling to examine abstract paper models
user does not know what he wants but can recognize it when he sees it
system is intended to be on-line with full screen terminals
system does not require massive details
Prototyping Project Life Cycle...
Kinds of Information Sought During Prototyping
initial user reactions user suggestions Innovations revision plans
Prototyping Project Life Cycle..
Kinds of Prototype1. Patched-up an inefficient and inelegant working system that is
patched together2. Non-operational a non-working scale model for the purpose of
testing certain aspects of the design
Prototyping Project Life Cycle..
Kinds of Prototype (cont...)3. First of a Series creating a pilot with the aim of implementing it
in a series of other locations4. Selected Feature building an operational model thatincludes
some but not all of the features that the final system will have
Information Engineering Project Life Cycle
Phases Planning provides general direction & strategic plans to explain why the enterprise exists Analysis determines what must be accomplished to satisfy strategic plans
Information Engineering Project Life Cycle..
Phases (cont...) Design transforms the results into implementable information system & determines how the systems operate in the enterprise Construction builds & maintains the information system
Joint Application Design (JAD)
started in the late 1970s at IBM a structured process in which users, managers, and
analysts work together for several days in a series of intensive meetings to specify or review system requirements
similar to a group interview but follows a particular structure of roles and agenda during which analysts control the sequence of questions answered by users
Joint Application Design (JAD)...
sessions are usually conducted in a location other than the place where people involved normally work
sessions are held in special-purpose rooms where participants sit around horseshoe-shaped tables
Joint Application Design (JAD)...
Sponsor takes care of the expenses incurred during the
JAD attends usually only at the very beginning or the
endSystems Analysts
has a limited participation and are there to learn from users and managers
Joint Application Design (JAD)...
Scribe takes notes during the JAD sessions
IS Staff programmers, database analysts, IS planners, and
data center personnel learns from the discussions and contribute their
ideas on the technical aspects of the project
Rapid Applications Development (RAD)
A systems development methodology created to radically decrease the time needed to design and implement information systems
Relies on heavy user involvement, JAD sessions, prototyping, integrated CASE tools, and code generators
Components Tools People Methodology Management
Rapid Applications Development (RAD)...
Advantages: has shorter development cycle involves smaller development teams increases system quality
Disadvantages only works well for systems that have to be
developed quickly overlooks important software engineering
concepts, such as interface consistency, programming standards, module reuse, scalability, and systems administration