Introduction To Systems Analysis and Design
Introduction To Systems Analysis and Design
Introduction to Systems
Analysis and Design
Learning Objectives
Systems development life cycle
Identify the four phases
How it came about
Methodology alternatives
Team roles & skill sets
Object-oriented systems characteristics
Object-oriented systems analysis & design
The Unified Process & its extensions
The Unified Modeling Language (UML)
Introduction
Why do we need a formal process?
Failures occur (too) often
Creating systems is not intuitive
Projects are late, over budget or delivered with
fewer features than planned
2. Project Management
Develop the work plan
Staff the project
Monitor & control the project
SDLC: The Analysis Phase
1. Develop an analysis strategy
Model the current system
Formulate the new system
2. Gather the requirements
Develop a system concept
Create a business model to represent:
Business data
Business processes
3. Develop a system proposal
SDLC: The Design Phase
1. Develop a design strategy
2. Design architecture and interfaces
3. Develop databases and file specifications
4. Develop the program design to specify:
What programs to write
What each program will do
SDLC: The Implementation
Phase
1. Construct the system
Build it (write the programming code)
Test it
2. Install system
Train the users
3. Support the system (maintenance)
SDLC: Methodologies
Methodology: a formalized approach to
implementing the SDLC
Categories
Process oriented
Data centered
Object-oriented
Structured
Rapid action development
Agile development
Classes of Methodologies
Structured Development
Waterfall Development
Parallel Development
Agile Development
eXtreme Programming
SCRUM
Which Methodology to Use?
The Systems Analyst: Skills
Agents of change
Identify ways to improve the organization
Motivate & train others
Skills needed:
Technical: must understand the technology
Business: must know the business processes
Analytical: must be able to solve problems
Communications: technical & non-technical audiences
Interpersonal: leadership & management
Ethics: deal fairly and protect confidential information
The Systems Analyst: Roles
Object-Oriented
Systems Analysis & Design
Attempts to balance data and process
Utilizes the Unified Modeling Language (UML) and the
Unified Process
Characteristics of OOAD:
Use-case Driven
Architecture Centric
Iterative and Incremental
Characteristics of Object-
Oriented Systems
Classes & Objects
Object (instance): instantiation of a class
Attributes: information that describes the class
State: describes its values and relationships at a point in
time
Methods & Messages
Methods: the behavior of a class
Messages: information sent to an object to trigger a
method (procedure call)
Characteristics of Object-
Oriented Systems (cont.)
Encapsulation & information hiding
Encapsulation: combination of process & data
Information hiding: functionality is hidden
Inheritance
General classes are created (superclasses)
Subclasses can inherit data and methods from a superclass
Characteristics of Object-
Oriented Systems (cont.)
Polymorphism & dynamic binding
Polymorphism: the same message can have different meanings
Dynamic binding: type of object is not determined until run-
time
Contrast with static binding
Object-Oriented Systems
Analysis & Design
Use-case driven
Use-cases define the behavior of a system
Each use-case focuses on one business process
Architecture centric
Functional (external) view: focuses on the user’s perspective
Static (structural) view: focuses on attributes, methods, classes
& relationships
Dynamic (behavioral) view: focuses on messages between
classes and resulting behaviors
Object-Oriented Systems
Analysis & Design (cont.)
Iterative & incremental
Undergoes continuous testing & refinement
The analyst understands the system better over time
Benefits of OOSAD
Break a complex system into smaller, more manageable
modules
Work on modules individually
See the system more realistically—as the users do
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
workflows
Phases are time periods in development
Workflows are the tasks that occur in each phase
Activities in both phases & workflows will overlap
The Unified Process
Unified Process Phases
Inception
Feasibility analyses performed
Workflows vary but focus is on business modeling &
requirements gathering
Elaboration
Heavy focus on analysis & design
Other workflows may be included
Construction: Focus on programming
(implementation)
Transition--Focus on testing & deployment
Engineering Workflows
Business modeling
Requirements
Analysis
Design
Implementation
Testing
Deployment
Supporting Workflows
Project management
Configuration and change management
Environment
Operations and support*
Infrastructure management*