Title: Systems Analysis and Design
1Systems Analysis and Design IT 1402
2Today's Lesson
- System Development Life Cycle
- Why we need a SDLC
- Advantages of using and SDLC
- The Waterfall Model
- Spiral Model
- Lifecycle vs. Methodology
- Methodology
3Why we need a SDLC
- Ease the process of building a system
- Avoid development problems
- Unclear objectives
- Cost overruns
- Development delays
- Avoid the system not meeting user requirements
4Advantages of a Life Cycle
- Facilitate project review
- Provide a more efficient / effective system
- Guide the systems development
- Improve communications
- Improve management and control
- Computer-based support
5Waterfall Model
Problem Definition
Requirement Analysis
System Design
System Development
System Testing
Maintenance
6Problem Definition
- Project Goals
- A broad statement of What the user expects from
the system - Project Bounds
- What areas the system effects and what areas
remain the same - Project Limits
- Resource limits (Financial, technology, human,
S/w, H/w)
7Requirement Analysis
- The current system
- What it does, and how it works
- A Detail Model in subject terms
- What the new system will do, how it will work
- High level description of the system
8System Design
- Produce a detailed specification for the new
system - Here the description of the system analysis is
converted in to a design which can be implemented
9Steps in System Design
- Select equipment
- Specify new programs or changes to existing
programs - Specify new database or changes to existing
database - Produce detailed procedures (Detailed Design)
10System Development
- The Detailed design is converted into the system
- Individual system components are built and tested
- Data and tools are used to build the system
- User interfaces are developed and tried by users
- Database is initialized with data
11System Testing
- Two phases in testing
- Unit testing (Individual components are tested)
- Integrated testing (The interfaces between these
components are tested) - Test and evaluate results
12Implementation and Maintenance
- Installation of the system at the client end
- Eliminate errors in the system during its working
life. - Fixing any bugs and problem found by users
- Tune the system to any variations in its working
environment
13Problems with the Waterfall Model
- Rigid design and inflexible procedure
- Top-down procedure
- Real projects rarely follow the sequential flow
that the model proposes - One phase must be completed before the next phase
starts - At the beginning of most projects there is often
a great deal of uncertainty about requirements
and goals, and it is therefore difficult for
customers to identify these criteria on a
detailed level. The model does not accommodate
this natural uncertainty very well.
14Problems with the Waterfall Model
- No phase can be repeated
- Assumptions made in the early phases no longer
hold - Some of the early work is incomplete
- Something was overlooked or not completely
understood.
15The Modified Waterfall Model
Problem Definition
Requirement Analysis
System Design
System Development
System Testing
Maintenance
16Spiral Model
17Main phases in the Spiral Model
- Requirement analysis
- Design prototype
- Develop and integrate
- Acceptances and testing
18Life Cycle vs. Methodology
- The software development process consists of
several well-defined steps. - When following a design methodology, a designer
can select appropriate modeling method related to
each step
19Life Cycle vs. Methodology
- A system life cycle
- divides the life of an
- information system
- into two major
- Stages
- Systems Development
- Systems operation and support.
LIFE CYCLE STAGE System Operation
Support Using Information Technology
LIFE CYCLE STAGE System Development Using
System Development Methodologies
Lifetime Of a System
20Life Cycle vs. Methodology
- A system development methodology is a very formal
and precise system development process that
defines - A set of activities
- Methods
- Best practices
- Deliverables
- Automated tools
21System Development methodology
- A System Development methodology (Process) has
some general principles. - P1 Get the owner and User Involved
- P2 Use a problem-solving approach
- Study and understand the problem and its context
- Define the requirement of a suitable solution.
- Identify candidate solutions and select the best
solution. - Design and/or implement the solution.
- Observe and evaluate the solutions impact, and
refine the solution accordingly
22System Development methodology
- P3 Establish phases and activities
- Preliminary investigation
- Problem analysis
- Requirement analysis
- Decision analysis
- Design
- Construction
- Implementation
23System Development methodology
- P4 Establish standards
- Documentation
- Quality
- Automated Tools
- Information technology
24System Development methodology
- P5 Justify systems as capital investments
- Cost effectiveness
- Risk management
25System Development methodology
- P6 Dont be afraid to cancel or revise scope
- Cancel the project if it is no longer feasible
- If project scope is to be increased, reevaluate
and adjust the cost and schedule - If the project budget and schedule are frozen and
not sufficient to cover all project objectives,
reduce the scope
26System development methodology
- P7 Divide and conquer
- We divide a system into subsystem and components
- Easily to conquer the problem
- Easy to build a large problem
27System Development methodology
- P8 Design systems for growth and change
- Correcting simple mistakes
- To redesigning the system to accommodate changing
technology - To making modification to support changing user
requirements.
28Development Process
- Methodology
- Modeling Methods or Techniques
- Tools
29Methodology
- Provides the framework
- Has a predefined set of steps
- Ensures that systems are built in the most
effective way - Uses tools and modeling methods
E.g. SSADM, RUP
30Modeling Methods
- A set of techniques used to implement a
Methodology - Data Flow Diagrams
- Entity Relationship Diagrams
- Structure Charts etc.
31System Development methodologies
- Supported by Modeling Methods or Techniques
- Techniques used to implement the Methodology
- Provides the descriptions of the business system
requirements from various view points
32Tools
- Software systems
- Assists analysts and designer to build
information systems - Supported by Tools.
- They will not replace Systems Analysts.
E.g. Easy Case, Rational Rose, MS Visio
33Methodology
Rational Unified Process
Modeling Method or Technology
Tools
Use Case Diagrams Class Diagrams
Rational Suit Rational ROSE
34Summary
- System Life Cycles
- Why we need them
- Advantages
- Waterfall Model
- Faults with this model
- Spiral Model
- SD Life Cycle vs. SD Methodology
- System Development Methodology
35Systems Analysis and Design IT 1402