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
- 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.
- 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