SlideShare a Scribd company logo
1. Preliminary
Investigation
3. Systems Design
5.Systems
Implementation
2. Systems Analysis
6. Systems
Maintenance
4. Systems
Development
System
Development
Life Cycle
System Development Life Cycle
The Six Phases of Systems Analysis
and Design
 System analysis and design is a six-phase
problem solving procedure for examining an
information system and improving it.
 The six phases make up what is called the
systems development life cycle.
 Systems development life cycle is the step by
step process that many organizations follow
during systems analysis and design.
The First Phase: Conduct
Preliminary Investigation
The objective of this phase is to conduct a
preliminary analysis, propose alternative
solutions, describe costs and benefits, and
submit a preliminary plan with
recommendations.
1. Conduct the preliminary Analysis
2. Propose alternative solutions
3. De scribe the costs and benefits
4. Submit a preliminary plan
1. Conduct the preliminary Analysis
Find out
 What area the objectives of the organization
 The nature and the scope of the problem under study
 In delving into the organization's objectives and the specific
problem, you may have already discovered some solutions. Other
possible solutions can come from interviewing people inside
organization, clients or customers affected by it, suppliers and
consultants.
 With this data, you then have three choices,
 Leave the system as it is
 Improve it
 Develop a new system
2. Propose Alternative Solutions
3. Describe the costs and benefits
 Whichever of the three alternatives is chosen, it will have
costs and benefits. In this step you need to indicate what
these are. Costs may depend on benefits, which may offer
savings.
 Now you have to wrap up with all your findings in a report.
The readers of this report will be the executives who are in a
position to decide in which direction to proceed- make no
changes, change a little, or change a lot- and how much
money to allow the project. You should describe the potential
solutions, costs and benefits and indicate your
recommendations.
4. Submit a Preliminary Plan
The objective of the phase 2, System s Analysis, is
to gather data analyze the data and write a
report. In this phase of SDLC, you will follow the
course that the management indicated after
reading the phase 1 feasibility report.
 In gathering data, you will review written
documents, interview employees and managers,
develop questionnaires, and observe people and
processes at work
The Second Phase: Do an Analysis of the
System
1. Gather Data
 Once the data has been gathered, you need to
analyze it. Many analytical tools, modeling tools, are
available. Modeling tools enable a systems analyst
to present graphic, or pictorial, representation of a
system.
 An example of a modeling tool is a data flow
diagram, which graphically shows the flow of data
through a system – that is essential processes of a
system, along with inputs, outputs and files.
 CASE tools may also be used during the analysis
phase, as well as in many other phases. Computer
Aided Software Engineering tools are programs that
automate various activities of the SDLC.
2. Analyze the Data
 This technology is intended to speed up the
process of developing systems and to improve
the quality of resulting systems. Such tools can
generate and store diagrams, produce
documentation, analyze data relationship,
generate computer code, produce graphics, and
provide project management functions.
DATA
SOURCE
DATA
DESTINATION
Process 1 Process 2
D1 D2
Data
flow
Data
flow 4
Data
flow 2
Data
flow 1
Data
flow 3
Data store 1 Data store 2
 Once you have complete the analysis, you need to document te
phase. This report to management should have three parts.
 First it should explain how the existing system works.
 Second it should explain the problems with existing system.
 Finally it should describe the requirements for the new system
and make recommendations on what to do next.
 At this point, not a lot of money will have been spent on the
systems analysis and design project. If the costs of going
forward seem prohibitive, this is a good time for the managers
reading the report to call a halt. Otherwise you will be asked to
move to phase 3.
3. Write a Report
Data Flow diagram (An example)
Sdlc
The Third Phase: Design the System
 System design is to do a preliminary design and
then a detail design and to write a report. You can
say that at first we will create the rough draft and
then the detailed design.
Do the Preliminary Design
 A preliminary design describes the general
functional capabilities of a proposed information
system. It reviews the system requirements and
then consider the major components of the system.
Usually several alternative systems (called
candidates) are considered, and the costs and
benefits of each are evaluated. Tools in the design
phase may include CASE tools and project
management software.
Prototyping is often done at this stage- Prototyping refers to using
workstations, CASE tools, and bother software applications to
build working models of system components so that they can be
quickly tested and evaluated. Thus a prototype is a limited
working system, or part of one, developed to test design
concepts.
Do a detailed Design
 A detailed design describes how a proposed information system
will deliver the general capabilities described in the preliminary
design. The detailed design usually considers the following parts
of the system in this order: output requirements, input
requirements, storage requirements, and system controls and
backup.
Write a Report
 All the work of the preliminary and detailed designs
will end up in a large, detailed report. When you
hand over this report to senior management , you
will probably also make some sort of presentation or
speech.
The Fourth Phase: Develop the system
Systems Development, the systems analyst or others
in the organization develop or acquire the software
and then test the system
1. Develop or Acquire the Software
 During the design stage, the system analyst may
have had to address what is called the “make-or-
buy” decision, but the decision certainly cannot be
avoided now. If you decide to create a new program,
then the question is whether to use the
organization’s own staff programmers or to hire
outside contract programmers (outsource it).
Whichever way you go the task could take many
months.
2. Acquire Hardware
 Once the software has been chosen, the hardware
to run it must be acquired or upgraded,. It’s possible
your new system will not require any new hardware.
It is also possible that the new hardware will cost
millions of dollars and involve many items :
microcomputers, mainframes, monitors, modems
and many other devices.
3. Testing
 Unit Testing : Every component of the system is
checked individually.
 System Testing: The performance and reliability of
the whole system is checked.
Fifth Phase: Implement the System
System implementation involves converting to the new system and
training the users of the organization to the system.
1. Convert to the new System:
Conversion to the new system can be implemented using following
methodologies:
 Direct implementation (Stop using old system and start using new)
 Parallel implementation (Simultaneously use both systems)
 Phase implementation (New system is implemented in phases)
 Pilot implementation (New system is verified by some users and if
it is proved to be reliable it is implemented in
the organization.)
 Train the Users:
In the training session, users in organization
are equipped with all the tools and
techniques which are required to operate the
new system. Various tools are available to
familiarize users with the new system – from
documentation to video tapes to live classes
to one on one, side by side teacher-student
training. Some times training is done by the
organization’s own staffers and sometimes it
is contracted out.
The Sixth Phase: Maintain the system
 System Maintenance
System maintenance, adjusts and improves the
system by having system audits and periodic
evaluations and by making changes based on new
conditions. It is a continuous phase.
Software Development Life Cycle
(an Example)
Planning Stage
Requirements Definition Stage
Design Stage
Development Stage
Integration and Test Stage
Installation and Acceptance
Stage
 Software Development Life Cycles:
Outline for Developing a Traceability Matrix
 Software Life Cycle
 The FDA does not prescribe a specific software
development life cycle, but requires manufacturers to
identify and follow what makes sense for them
 Manufacturers choose a software life cycle model and
development methodology appropriate for their device and
organization
 Guidance for the Content of Premarket Submissions for
Software Contained in Medical Devices, May 1998
 Software Life Cycle must include:
 Risk management
 Requirements analysis and specification
 Design (both top level and detailed)
 Implementation (coding)
 Integration
 Validation
 Maintenance
 A software life cycle model should be understandable, thoroughly
documented, results oriented, auditable, and traceable.
 Guidance for the Content of Premarket Submissions for
Software Contained in Medical Devices, May 1998
 What is required to demonstrate traceability?
 Provide a traceability analysis or matrix which links requirements,
design specifications, hazards, and validation. Traceability among
these activities and documents is essential. This document acts as a
map, providing the links necessary for determining where information
is located.
 Guidance for the Content of Premarket Submissions for
Software Contained in Medical Devices, May 1998
 How Does Traceability Ensure the Life Cycle is Followed?
 It demonstrates the relationship between design inputs and design
outputs
 It ensures that design is based on predecessor, established
requirements
 It helps ensure that design specifications are appropriately verified,
that functional requirements are appropriately validated
 Important: Traceability is a 2-way street. Maintain "backwards" and
"forwards" -- Tunnel Vision not acceptable in the Software Life Cycle!
 Traceability Across the Life Cycle
 Risk Analysis (Initial and Ongoing Activities)
 Trace potential hazards to their specific cause
 Trace identified mitigations to the potential hazards
 Trace specific causes of software-related hazards to their
location in the software
 Requirements Analysis and Specification
 Trace Software Requirements to System Requirements
 Trace Software Requirements to hardware, user, operator
and software interface requirements
 Trace Software Requirements to Risk Analysis mitigations
 Design Analysis and Specification
 Trace High-Level Design Specifications to Software
Requirements
 Trace Design Interfaces to hardware, user, operator and
software interface requirements
 Evaluate design for introduction of hazards; trace to Hazard
 Design Analysis and Specification
 Trace Detailed Design Specifications to High-Level Design
 IMPORTANT: Ability to demonstrate traceability of safety
critical software functions and safety critical software
controls to the detailed design specifications
 Source Code Analysis (Implementation)
 Trace Source Code to Detailed Design Specifications
 Trace unit tests to Source Code and to Design
Specifications
 Verify an appropriate relationship between the Source Code
and Design Specifications being challenged
 Source Code Analysis (Implementation)
 Trace Source Code to Design Specifications
 Trace unit tests to Source Code and to Design
Specifications
 Verify an appropriate relationship between the Source Code
and Design Specifications being challenged
 Integration
 Trace integration tests to High-Level Design Specifications
 IMPORTANT: Use High-Level Design Specifications to
establish a rational approach to integration, to determine
regression testing when changes are made
 Validation
 Trace system tests to Software Requirement Specifications
 Use a variety of test types
 Design test cases to address concerns such as robustness,
stress, security, recovery, usability, etc.
 Use traceability to assure that the necessary level of coverage
is achieved
 Plan Ahead for Traceability
 Options
 Manual methods
 Word processors
 Spreadsheets
 "Home-built" Automated Systems
 Relational Databases
 Commercial Automated Systems
 DOORS
 Requisite Pro

More Related Content

Sdlc

  • 1. 1. Preliminary Investigation 3. Systems Design 5.Systems Implementation 2. Systems Analysis 6. Systems Maintenance 4. Systems Development System Development Life Cycle System Development Life Cycle
  • 2. The Six Phases of Systems Analysis and Design  System analysis and design is a six-phase problem solving procedure for examining an information system and improving it.  The six phases make up what is called the systems development life cycle.  Systems development life cycle is the step by step process that many organizations follow during systems analysis and design.
  • 3. The First Phase: Conduct Preliminary Investigation The objective of this phase is to conduct a preliminary analysis, propose alternative solutions, describe costs and benefits, and submit a preliminary plan with recommendations. 1. Conduct the preliminary Analysis 2. Propose alternative solutions 3. De scribe the costs and benefits 4. Submit a preliminary plan
  • 4. 1. Conduct the preliminary Analysis Find out  What area the objectives of the organization  The nature and the scope of the problem under study  In delving into the organization's objectives and the specific problem, you may have already discovered some solutions. Other possible solutions can come from interviewing people inside organization, clients or customers affected by it, suppliers and consultants.  With this data, you then have three choices,  Leave the system as it is  Improve it  Develop a new system 2. Propose Alternative Solutions
  • 5. 3. Describe the costs and benefits  Whichever of the three alternatives is chosen, it will have costs and benefits. In this step you need to indicate what these are. Costs may depend on benefits, which may offer savings.  Now you have to wrap up with all your findings in a report. The readers of this report will be the executives who are in a position to decide in which direction to proceed- make no changes, change a little, or change a lot- and how much money to allow the project. You should describe the potential solutions, costs and benefits and indicate your recommendations. 4. Submit a Preliminary Plan
  • 6. The objective of the phase 2, System s Analysis, is to gather data analyze the data and write a report. In this phase of SDLC, you will follow the course that the management indicated after reading the phase 1 feasibility report.  In gathering data, you will review written documents, interview employees and managers, develop questionnaires, and observe people and processes at work The Second Phase: Do an Analysis of the System 1. Gather Data
  • 7.  Once the data has been gathered, you need to analyze it. Many analytical tools, modeling tools, are available. Modeling tools enable a systems analyst to present graphic, or pictorial, representation of a system.  An example of a modeling tool is a data flow diagram, which graphically shows the flow of data through a system – that is essential processes of a system, along with inputs, outputs and files.  CASE tools may also be used during the analysis phase, as well as in many other phases. Computer Aided Software Engineering tools are programs that automate various activities of the SDLC. 2. Analyze the Data
  • 8.  This technology is intended to speed up the process of developing systems and to improve the quality of resulting systems. Such tools can generate and store diagrams, produce documentation, analyze data relationship, generate computer code, produce graphics, and provide project management functions. DATA SOURCE DATA DESTINATION Process 1 Process 2 D1 D2 Data flow Data flow 4 Data flow 2 Data flow 1 Data flow 3 Data store 1 Data store 2
  • 9.  Once you have complete the analysis, you need to document te phase. This report to management should have three parts.  First it should explain how the existing system works.  Second it should explain the problems with existing system.  Finally it should describe the requirements for the new system and make recommendations on what to do next.  At this point, not a lot of money will have been spent on the systems analysis and design project. If the costs of going forward seem prohibitive, this is a good time for the managers reading the report to call a halt. Otherwise you will be asked to move to phase 3. 3. Write a Report
  • 10. Data Flow diagram (An example)
  • 12. The Third Phase: Design the System  System design is to do a preliminary design and then a detail design and to write a report. You can say that at first we will create the rough draft and then the detailed design. Do the Preliminary Design  A preliminary design describes the general functional capabilities of a proposed information system. It reviews the system requirements and then consider the major components of the system. Usually several alternative systems (called candidates) are considered, and the costs and benefits of each are evaluated. Tools in the design phase may include CASE tools and project management software.
  • 13. Prototyping is often done at this stage- Prototyping refers to using workstations, CASE tools, and bother software applications to build working models of system components so that they can be quickly tested and evaluated. Thus a prototype is a limited working system, or part of one, developed to test design concepts. Do a detailed Design  A detailed design describes how a proposed information system will deliver the general capabilities described in the preliminary design. The detailed design usually considers the following parts of the system in this order: output requirements, input requirements, storage requirements, and system controls and backup. Write a Report  All the work of the preliminary and detailed designs will end up in a large, detailed report. When you hand over this report to senior management , you will probably also make some sort of presentation or speech.
  • 14. The Fourth Phase: Develop the system Systems Development, the systems analyst or others in the organization develop or acquire the software and then test the system 1. Develop or Acquire the Software  During the design stage, the system analyst may have had to address what is called the “make-or- buy” decision, but the decision certainly cannot be avoided now. If you decide to create a new program, then the question is whether to use the organization’s own staff programmers or to hire outside contract programmers (outsource it). Whichever way you go the task could take many months.
  • 15. 2. Acquire Hardware  Once the software has been chosen, the hardware to run it must be acquired or upgraded,. It’s possible your new system will not require any new hardware. It is also possible that the new hardware will cost millions of dollars and involve many items : microcomputers, mainframes, monitors, modems and many other devices. 3. Testing  Unit Testing : Every component of the system is checked individually.  System Testing: The performance and reliability of the whole system is checked.
  • 16. Fifth Phase: Implement the System System implementation involves converting to the new system and training the users of the organization to the system. 1. Convert to the new System: Conversion to the new system can be implemented using following methodologies:  Direct implementation (Stop using old system and start using new)  Parallel implementation (Simultaneously use both systems)  Phase implementation (New system is implemented in phases)  Pilot implementation (New system is verified by some users and if it is proved to be reliable it is implemented in the organization.)
  • 17.  Train the Users: In the training session, users in organization are equipped with all the tools and techniques which are required to operate the new system. Various tools are available to familiarize users with the new system – from documentation to video tapes to live classes to one on one, side by side teacher-student training. Some times training is done by the organization’s own staffers and sometimes it is contracted out.
  • 18. The Sixth Phase: Maintain the system  System Maintenance System maintenance, adjusts and improves the system by having system audits and periodic evaluations and by making changes based on new conditions. It is a continuous phase.
  • 19. Software Development Life Cycle (an Example)
  • 26.  Software Development Life Cycles: Outline for Developing a Traceability Matrix  Software Life Cycle  The FDA does not prescribe a specific software development life cycle, but requires manufacturers to identify and follow what makes sense for them  Manufacturers choose a software life cycle model and development methodology appropriate for their device and organization  Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices, May 1998  Software Life Cycle must include:  Risk management  Requirements analysis and specification  Design (both top level and detailed)  Implementation (coding)  Integration  Validation  Maintenance
  • 27.  A software life cycle model should be understandable, thoroughly documented, results oriented, auditable, and traceable.  Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices, May 1998  What is required to demonstrate traceability?  Provide a traceability analysis or matrix which links requirements, design specifications, hazards, and validation. Traceability among these activities and documents is essential. This document acts as a map, providing the links necessary for determining where information is located.  Guidance for the Content of Premarket Submissions for Software Contained in Medical Devices, May 1998  How Does Traceability Ensure the Life Cycle is Followed?  It demonstrates the relationship between design inputs and design outputs  It ensures that design is based on predecessor, established requirements  It helps ensure that design specifications are appropriately verified, that functional requirements are appropriately validated  Important: Traceability is a 2-way street. Maintain "backwards" and "forwards" -- Tunnel Vision not acceptable in the Software Life Cycle!
  • 28.  Traceability Across the Life Cycle  Risk Analysis (Initial and Ongoing Activities)  Trace potential hazards to their specific cause  Trace identified mitigations to the potential hazards  Trace specific causes of software-related hazards to their location in the software  Requirements Analysis and Specification  Trace Software Requirements to System Requirements  Trace Software Requirements to hardware, user, operator and software interface requirements  Trace Software Requirements to Risk Analysis mitigations  Design Analysis and Specification  Trace High-Level Design Specifications to Software Requirements  Trace Design Interfaces to hardware, user, operator and software interface requirements  Evaluate design for introduction of hazards; trace to Hazard
  • 29.  Design Analysis and Specification  Trace Detailed Design Specifications to High-Level Design  IMPORTANT: Ability to demonstrate traceability of safety critical software functions and safety critical software controls to the detailed design specifications  Source Code Analysis (Implementation)  Trace Source Code to Detailed Design Specifications  Trace unit tests to Source Code and to Design Specifications  Verify an appropriate relationship between the Source Code and Design Specifications being challenged  Source Code Analysis (Implementation)  Trace Source Code to Design Specifications  Trace unit tests to Source Code and to Design Specifications  Verify an appropriate relationship between the Source Code and Design Specifications being challenged  Integration  Trace integration tests to High-Level Design Specifications  IMPORTANT: Use High-Level Design Specifications to establish a rational approach to integration, to determine regression testing when changes are made
  • 30.  Validation  Trace system tests to Software Requirement Specifications  Use a variety of test types  Design test cases to address concerns such as robustness, stress, security, recovery, usability, etc.  Use traceability to assure that the necessary level of coverage is achieved  Plan Ahead for Traceability  Options  Manual methods  Word processors  Spreadsheets  "Home-built" Automated Systems  Relational Databases  Commercial Automated Systems  DOORS  Requisite Pro