CSIS 3600 Systems Analysis and Design

Download Report

Transcript CSIS 3600 Systems Analysis and Design

CSIS 3600 Systems
Analysis and Design
The Systems Development Life
Cycle
Intellectual Property of Dr. Meg Murray, dated August 2002
Methodologies, Techniques &
Tools
The Systems Development structure includes:
Methodology
Techniques
Tools
Methodologies, Techniques &
Tools
• Methodologies are comprehensive, multi-step
approaches that guide the systems development
process. Most incorporate many techniques.
• Techniques are the particular processes that are
used to complete the work of systems
development. Techniques describe the activities
and tasks that will be employed and define
deliverables.
• Tools are what you have that help you accomplish
your tasks. Many software tools are now available
that facilitate the development of deliverables.
CASE tools fall under this category.
What Is a Methodology?
• A formalized approach or series of
steps
• Writing code without a well-thought-out
system request may work for small
programs, but rarely works for large
ones.
• A Product Development Methodology is
available for review on the class web
site.
Methodologies
• Most software development consultant agencies
use a methodology template. An example is
http://www.prestwood.com/products/psdm/
• A good collection of resources related to
methodologies can be found at
http://www.methodology.org
• Microsoft serves as a framework for many
organizations:
http://www.microsoft.com/business/microsoft/mc
s/msf.asp
What are Techniques
Techniques are the processes used to
carry out the methodology. They include:
– Project Selection Process
– Project Plan
– System Requirements Definition
– System Models
What are Tools
Tools help in the system development
process. These tools include CASE tools,
diagramming tools, etc.
A listing of Case Tools is available at:
http://www.cs.queensu.ca/SoftwareEngineering/toolcat.html
Structured Design
• Projects move methodically from
one to the next step
• Generally, a step is finished before
the next one begins
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Waterfall Development Method
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Pros and Cons of the Waterfall
Method
Pros
Cons
Identifies systems
requirements long
before programming
begins
Design must be
specified on paper
before programming
begins
Long time between
system proposal and
delivery of new
system
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Systems Development Life Cycle
• The SDLC came out in the late 1960s and
early 1970s and was really the first
documented structured approach.
• It is very logical and comprehensive.
• It grew up in the era of large mainframes but
as a framework, it is applicable to today’s
distributed systems.
Major Attributes of the Lifecycle
• The project
– Moves systematically through phases
where each phase has a standard set of
outputs
– Produces project deliverables
– Uses deliverables in implementation
– Results in actual information system
– Uses gradual refinement
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Systems Development Life Cycle
•Six Stage Plan (more general version):
I. Preliminary Investigation
• gain understanding of problem domain and current
organizational environment.
II. Systems Analysis
• define business requirements, evaluate alternatives,
prepare functional requirements
III. System Design
• define technical specifications
IV. System Construction
• build or select software, test system and train users
V. System Implementation
• get the system running and begin to use the system
VI. Evaluation
• evaluate how the system is meeting objectives and
make adjustments
Systems Development Life Cycle
I.
II.
III.
IV.
V.
VI.
VII.
Project Identification and Selection
Project Initiation and Planning
Analysis
Logical Design
Physical Design
Implementation
Maintenance (and evaluation)
Systems Development Life Cycle
• Four Stage Plan (the short version):
– I.
Systems Planning
– II.
– III.
– IV.
Analysis
Systems Design
Systems Implementation
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Project Phases
• Planning
– Why build the system?
• Analysis
– Who, what, when, where will the system be?
• Design
– How will the system work?
• Implementation
– System delivery
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Planning
•
•
•
•
•
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Deliverables Planning –
Business Value
• Identification and prioritization of
information system needs
• Problem is identified and articulated
• Business case or system justification
Deliverables Planning
• Project scope
• Project feasibility
• Selection of system development
participants
• Project (work) plan
Analysis
•
•
•
•
Analysis
Information gathering
Process modeling
Data modeling
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Deliverables - Analysis
• Description of the current
system/environment
• Determine and structure functional
requirements
• Identification of alternatives
• Initial system models are built
– Use case models
– Other models (UML – class diagrams,
sequence diagrams, etc…
Design
•
•
•
•
•
Physical design
Architectural design
Interface design
Database and file design
Program design
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Deliverables - Design
• Technical detailed specifications of all
systems elements (programs, files,
network, system software, etc.)
• Interface Design
• Database and file design
Implementation
• Construction
• Installation
• Maintenance and Evaluation (not
outlined in text)
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Deliverables - Implementation
•
•
•
•
•
•
•
•
Software code
Documentation
Installation plan
Testing plan
Training procedures
Initial support capabilities outlined
Maintenance Plan
Evaluation Plan
Processes and Deliverables
Process
Product
Planning
Project Plan
Analysis
System Proposal
Design
System
Specification
Implementation
New System and
Maintenance Plan
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Note on Maintenance
Maintenance:
– system is systematically repaired and
improved.
– This is the evolution of the information
system and all previous phases are
repeated
Concluding Notes on the SDLC
The SDLC provides a framework.
Systems development is cyclical.
Phases overlap and flexibility must be built into the
design process.
The SDLC provides a convenient checklist of tasks to
be undertaken or ignored as appropriate.
Concluding Notes on the SDLC
The SDLC is most appropriate in situations where the
information systems requirements are predicable (in
Transaction Processing and MIS type systems).
It can be adapted to meet other needs and parts of the
SDLC are included in most all system development
methodologies.
Concluding Notes on the SDLC
One criticism of SDLC is that it tends to focus too little
on good analysis and design resulting in a system that
does not match users’ needs and requires extensive
maintenance (software repair, patches, etc.).
Some estimates suggest that maintenance costs
account for as much as 70% of system development
costs.
Alternatives to the SDLC
• RAD and JAD – Strategies for reducing the
time it takes to deliver systems. Focused on
extensive user involvement, prototyping and
integrating CASE tools.
• Prototyping – iterative process of system
development in which a draft working system
is developed and modified
• Object Oriented Design and Analysis – very
similar and incorporates the phases of the
SDLC
• Agile Methods
Alternatives to the SDLC
• Rapid Application Development
(RAD)
• Phased Development
• Prototyping
• Throw-Away Prototyping
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Rapid Application Development
• Critical elements
– CASE tools
– JAD sessions
– Fourth generation/visualization
programming languages
– Code generators
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
How Prototyping Works
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Throwaway Prototyping
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Object-Oriented Analysis
and Design
• Attempts to balance emphasis on data
and process
• Uses Unified Modeling Language
(UML) for diagramming
– Use-case Driven
– Architecture Centric
– Iterative and Incremental
• Focus of this course
PowerPoint Presentation for Dennis, Wixom & Tegardem
Systems Analysis and Design
Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
Concluding Notes
Not all system requirements can be stated up front, and
problems often appear towards the end of the process.
Flexibility, common sense and a focus on the goal at
hand are the real tricks to making your systems
development methodology work.
Quotes of the Week
"When a new system concept or new technology is
used, one has to build a system to throw away, for
even the best planning is not so omniscient as to
get it right the first time. The management question,
therefore, is not whether to build a pilot system and
throw it away. You will do that. The only question is
whether to plan in advance to build a throwaway, or
to promise to deliver the throwaway to customers."
Brooks cited in Pressman (Software Engineering : A
Practitioner’s Approach, 4th Edition, 1997).
-------"When faced with a problem you do not understand,
do any part of it you do understand, then look at it
again." Robert Heinlen