System analysis and design
CIS 315 – Hatim Mouissa
Chapter 1:
Introduction to Systems
Analysis and Design
CIS 315 – Hatim Mouissa
Objectives
Understand the fundamental systems
development life cycle and its four phases.
Understand the evolution of systems
development methodologies.
Be familiar with the Unified Process and
its extensions.
Be familiar with the different roles on the
project team.
SYSTEMS DEVELOPMENT LIFE CYCLE
CIS 315 – Hatim Mouissa
Systems Development Life Cycle
Planning
Analysis
Design
Implementation
We will explore each phase in detail in the next slides
CIS 315 – Hatim Mouissa
SDLC: Planning
1. Project Initiation
◦ Develop a system request
◦ Conduct a feasibility analysis
2. Project Management
◦ Develop work plan
◦ Staff the project
◦ Control and direct the project
Why should we build this system?
CIS 315 – Hatim Mouissa
SDLC: Analysis
1. Develop analysis strategy
2. Gather requirements
3. Develop a system proposal
What should the system do for us? Where and when will it be used?
CIS 315 – Hatim Mouissa
SDLC: Design
1. Develop a design strategy
2. Design architecture and interfaces
3. Develop databases and file specifications
4. Develop the program design
How will we build the system?
CIS 315 – Hatim Mouissa
SDLC: Implementation
1. Construct system
2. Install system
◦ Implement a training plan for the users
3. Establish a support plan
Build the system!
CIS 315 – Hatim Mouissa
Putting the SDLC Together
Each phase consists of steps that lead to
specific deliverables
The system evolves through gradual
refinement
Once the system is implemented, it may
go back into a planning phase for its next
revision, a follow-on system, or
maintenance releases
CIS 315 – Hatim Mouissa
Processes and Deliverables
Process Product
Planning
Analysis
Design
Implementation
Project Plan
System Proposal
System
Specification
New System and
Maintenance Plan
SYSTEMS DEVELOPMENT METHODOLOGIES
CIS 315 – Hatim Mouissa
Systems Development
Methodologies A methodology is a formalized approach to
implementing the SDLC
Well-known methodologies include:
◦ Waterfall development
◦ Parallel development
◦ Rapid application development
◦ Agile development
CIS 315 – Hatim Mouissa
Categories of Methodologies
• Structured Design
–Waterfall Development
–Parallel Development
• Rapid Application Development
–Phased
–Prototyping
–Throwaway Prototyping
• Agile Development
–eXtreme Programming
CIS 315 – Hatim Mouissa
Structured Design 1
Waterfall Development
CIS 315 – Hatim Mouissa
Structured Design 2
Parallel Development
CIS 315 – Hatim Mouissa
Rapid Application Development 1
Phased Development
CIS 315 – Hatim Mouissa
Rapid Application Development 2
System Prototyping
CIS 315 – Hatim Mouissa
Rapid Application Development 3
Throwaway Prototyping
CIS 315 – Hatim Mouissa
Agile Development
Extreme Programming
CIS 315 – Hatim Mouissa
Selecting the Right Methodology
Usefulness
for
Waterfal
l
Paralle
l
Phased Prototypi
ng
Throwawa
y
Prototypi
ng
Extreme
Programmi
ng
Unclear user
requirements
Poor Poor Good Excellent Excellent Excellent
Unfamiliar
technology
Poor Poor Good Poor Excellent Poor
Complex
systems
Good Good Good Poor Excellent Poor
Reliable
systems
Good Good Good Poor Excellent Good
Short time
schedule
Poor Good Excellent Excellent Good Excellent
Schedule
visibility
Poor Poor Excellent Excellent Good Good
CIS 315 – Hatim Mouissa
Object-Oriented Analysis & Design
Attempt to balance emphasis on data and
process
Uses Unified Modeling Language (UML)
Characteristics of OOAD:
◦ Use-case Driven
◦ Architecture Centric
◦ Iterative and Incremental
THE UNIFIED PROCESS
CIS 315 – Hatim Mouissa
The Unified Process
A specific methodology that maps out when and how to use the various UML techniques for object-oriented analysis and design
A two-dimensional process consisting of phases and flows
◦ Phases describe how the system evolves over time
◦ Workflows are collections of tasks that occur throughout the lifecycle, but vary in intensity
CIS 315 – Hatim Mouissa
The Unified Process
CIS 315 – Hatim Mouissa
Unified Process Phases
Inception
Elaboration
Construction
Transition
CIS 315 – Hatim Mouissa
Engineering Workflows
Business modeling
Requirements
Analysis
Design
Implementation
Testing
Deployment
CIS 315 – Hatim Mouissa
Supporting Workflows
Project management
Configuration and change management
Environment
Operations and support*
Infrastructure management*
* Part of the enhanced unified process
THE UNIFIED MODELING LANGUAGE
CIS 315 – Hatim Mouissa
Unified Modeling Language
Provides a common vocabulary of object-
oriented terms and diagramming
techniques rich enough to model any
systems development project from
analysis through implementation
Version 2.0 has 14 diagrams in 2major
groups:
◦ Structure diagrams
◦ Behavior diagrams
CIS 315 – Hatim Mouissa
UML Structure Diagrams
Represent the data and static
relationships in an information system
◦ Class
◦ Object
◦ Package
◦ Deployment
◦ Component
◦ Composite structure
CIS 315 – Hatim Mouissa
UML Behavior Diagrams
Depict the dynamic relationships among the
instances or objects that represent the
business information system
– Activity
–Sequence
– Communication
– Interaction overview
–Timing
– Behavior state machine
–Protocol state
machine,
– Use-case diagrams
CIS 315 – Hatim Mouissa
Summary
The Unified Process is a two-dimensional
systems development process described
with a set of phases and workflows
The Unified Modeling Language, or UML,
is a standard set of diagramming
techniques