Chapter1_Overview

advertisement
Chapter 1: Introduction to
The Role of Systems Analysis and Design
Systems analysis and design is a step-by-step
process for developing high-quality information
systems.
An information system combines information
technology, people, and data to support business
requirements.
Information system components
A system is a set of related components that
produces specific results.
Every system requires input data. In an information
system, data consists of basic facts that are the system’s
raw material.
Information is data that has been transformed into output
that is valuable to users.
An information system has five key components:
hardware, software, data, processes, and people
The systems development life cycle
The systems development life cycle (SDLC) is a
common methodology for systems development in
many organizations.
The systems development life cycle
Systems Planning and Selection
Identify the need for a new or enhanced system.
Investigate (tìm hiểu) the system and determine the
proposed system’s scope.
Produce a specific plan for the proposed project
Systems Analysis
Determine the requirements of the system
Study the requirements and structure them according to
their interrelationships, eliminating any redundancies
The systems development life cycle
Systems Design: Convert the description of the
recommended solution into logical and then physical
system specifications
 Logical design concentrates on the business aspects of
the system.
Physical design convert the logical design into physical,
or technical, specifications, specify the programming
languages, database systems and file structures will be
used for the data
The systems development life cycle
Systems Implementation and Operation
Implementation: coding, testing, and installation.
Operation: programmers make the changes that users
ask for and modify the system to reflect changing business
conditions.
Systems development tools
Modeling
Modeling produces a graphical representation of a concept
or process that systems developers can analyze, test, and
modify
Prototyping
Prototyping tests system concepts and provides an
opportunity to examine input, output, and user interfaces
before final decisions are made.
A prototype is an early working version of an information
system.
Systems development tools
Computer-Aided Systems Engineering (CASE) Tools
CASE tools provide an overall framework for systems
development and support a wide variety of design
methodologies, including structured analysis and objectoriented analysis.
Systems development models
Waterfall model
The Rational Unified Process
Waterfall model
In a waterfall model, each
phase must be completed
fully before the next phase
can begin.
This type of model is basically
used for the for the project
which is small and there are
no uncertain requirements.
Waterfall model
Advantages of waterfall model
This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model.
In this model phases are processed and completed one at
a time. Phases do not overlap.
Waterfall model works well for smaller projects where
requirements are very well understood.
Waterfall model
Disadvantages of waterfall model
It is very difficult to go back.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented
projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a
moderate to high risk of changing.
Rational Unified Process
Stands for "Rational Unified Process." RUP is a
software development process from Rational, a
division of IBM.
RUP is a method of managing OO Software
Development
RUP divides the development process into four
distinct phases that each involve business modeling,
analysis and design, implementation, testing, and
deployment.
Rational Unified Process
The Development Phases in RUP
Inception Phase
Elaboration Phase
Construction Phase
Transition Phase
Inception Phase
Overriding goal is obtaining buy-in from all interested
parties
Initial requirements capture
Cost Benefit Analysis
Initial Risk Analysis
Project scope definition
Defining a candidate architecture
Development of a prototype
Elaboration Phase
Requirements Analysis and Capture
Use Case Analysis
Use Case (80% written and reviewed by end of phase)
Use Case Model (80% done)
Scenarios
Sequence and Collaboration Diagrams
Class, Activity, Component, State Diagrams
Elaboration Phase
Glossary (so users and developers can speak common
vocabulary)
Domain Model
To understand the problem: the system’s requirements as they
exist within the context of the problem domain
Risk Assessment Plan revised
Architecture Document
Construction Phase
Focus is on implementation of the design:
Cumulative increase in functionality
Greater depth of implementation
Implement all details.
Analysis continues, but focus on design and
coding
Transition Phase
Transfer of the system to the user community
It includes manufacturing, shipping, installation,
training, technical support and maintenance
Control is moved to maintenance team
Software updates
Integration with existing systems
Core workflows
During each of these phases the RUP defines 6 core
process work flows
 Business modeling:
 The vision and scope of the business is captured.
 The business use-cases, workflows and business objects are
identified
 Requirements modeling
 Mapping of the business use cases and objects onto system use
cases and objects.
 Scoping of the requirements.
 Development of the requirements Specification including functional
and non-functional requirements.
Core workflows
 Analysis and Design: Here the high-level architecture and
design is developed and verified to ensure that
The architecture can accommodate the requirements
The architecture and design can grow with increasing number of
concurrent users and higher transaction volumes.
Implementation
The lower-level design of the system.
The actual construction of the system in terms of components,
subsystems and classes.
The development of low-level unit tests.
Core workflows
 Testing: Unit testing done for individual objects the testing
workflow tests
the objects interact correctly,
the integration of higher level components and subsystems
the requirements have been implemented correctly,
any failures are fed beck to the development team and that the
system is not deployed with any defects.
Core workflows
Deployment
Producing external releases of the software.
Packaging the software.
Distributing the software.
Installing the software.
Providing training and assistance to users.
Beta testing.
Migration of existing software or data.
Initiating the process of formal acceptance.
Systems development methods
Structured analysis
Agile methods
Object-oriented analysis (O-O)
Structured Analysis
Structured analysis is a traditional systems
development technique that is time-tested and easy
to understand.
Represents the system in terms of data and the
processes that act upon that data.
Modeling tools: Data flow diagrams (DFDs)
Agile methods
Build a series of prototypes and constantly adjusting
them to user requirements.
Emphasize continuous feedback, and each
incremental step is affected by what was learned in
the prior steps.
Use a spiral model
Agile methods
Object-oriented analysis and design
Object-oriented (O-O) analysis and design is an
approach that is used to develop the systems that
must change rapidly in response to dynamic
business environments.
Use the industry standard for modeling objectoriented systems, called the unified modeling
language (UML), to break down a system into a use
case model.
Object-oriented analysis and design
Object-oriented analysis and design
The object-oriented modeling approach provides
several benefits:
The ability to tackle more challenging problem domains
Improved communication among
designers, and programmers
users,
analysts,
Reusability of analysis, design, and programming results
Increased consistency among the models developed
during object-oriented analysis, design, and programming
Object-oriented analysis and design
 Design review
 Object Modeling Technique
 Object-Oriented Analysis
 Object-Oriented Design
 Three models
 Object model
 Dynamic model
 Functional model
 Four phases
Design - Review
Design transforms requirements into
an architecture diagram
subsystems, modules and their relationships
a detailed design
a specification of the abstract interface, data structures, and
algorithms of each module
Also develops
a review plan for ensuring the design meets the
requirements
a test plan for ensuring the implementation meets the
design
Object-Oriented Software Development
Object-Oriented Methodology
Development approach used to build complex systems using
the concepts of object, class, polymorphism, and inheritance
with a view towards reusability
Encourages software engineers to think of the problem in
terms of the application domain early and apply a consistent
approach throughout the entire life-cycle
Object-Oriented Software Development
Object-Oriented Analysis and Design
Analysis
models
the
“real-world”
requirements,
independent of the implementation environment
Design applies object-oriented concepts to develop and
communicate the architecture and details of how to meet
requirements
Object-Oriented Analysis
• Object-Oriented Analysis is the “requirements phase” of ObjectOriented Software Development
– think of it as an alternative semi-formal technique
 Semi-formal technique
 Reuses familiar tools
 class modeling
 E-R diagrams
 dynamic modeling
 Finite State Machines
 functional modeling
 Data flow diagrams
 These steps focus on
 data
 actions
 and their relationships
 Steps and diagrams
 are typically performed in
parallel after initial class
definition
 must be kept in synch
Object-Oriented Analysis
Builds a real-world model from requirements
client interviews
domain knowledge
real-world experience
Model is more precise and concise than the informal
problem definition
The model addresses three aspects of objects
class structure and relationships
sequencing of interactions and events
data transformations and computations
Download