Uploaded by jurahussen805

chapter 4

advertisement
7
System Analysis
Mulugeta H.(MPH)
1
7
Investigating system requirements
7
Gather information

Analysis involves gathering a considerable amount of
information.

Systems analysts obtain some information from
people who will be using the system, either by
interviewing them or by watching them work.

They obtain other information by reviewing planning
documents and policy statements. Documentation
from the existing system should also be studied
carefully.
7

Insights into the business of the organization in detail,
system interfaces with other systems both inside and
outside the organization, software packages that will
be used

The key question to be answered when completing
this activity is: Do we have all of the information (and
insight) we need to define what the system must do?
7
DEFINE SYSTEM REQUIREMENTS

The information gathered should be documented.

Some of it may be about technical requirements and
some of it may be about be functional requirements

Thus, models should be created to help record and
communicate requirements

The modeling process is a learning process for an
analyst.
7

logical model: any model that shows what the
system is required to do without committing to any
one technology

physical model: any model that shows how the
system will actually be implemented

systems analysis involves creating detailed logical
models, and systems design involves detailed
physical models.
7

The key question to be answered when completing
this activity is: What (in detail) do we need the system
to do?
7
PRIORITIZE REQUIREMENTS

The key question to be answered when completing
this activity is: What are the most important things the
system must do?
PROTOTYPE FOR FEASIBILITY
AND DISCOVERY

7
Prototyping helps answer two key questions: Have
we proven that the technology proposed can do what
we think we need it to do? and equally important,
Have we built some prototypes to ensure the users
fully understand the potential of what the new system
can do?
GENERATE AND EVALUATE
ALTERNATIVES
7

The key question to be answered when completing
this activity is: What is the best way to create the
system?

Should the system be developed by in-house
development staff or by a consulting firm?

Should we use one or more off the shelf software
packages?
REVIEW RECOMMENDATIONS
WITH MANAGEMENT

7
The key question to be answered when completing
this activity is: Should we continue with the design
and implement the system we propose?
7
SYSTEM REQUIREMENTS

Specifications that define the functions to be provided
by a system

Functional requirement: a system requirement that
describes an activity or process that the system must
perform
7

Nonfunctional requirement: characteristics of the
system other than activities it must perform or
support, such as technology, performance, usability,
reliability, and security
7

Technical requirement: a system requirement that
describes an operational characteristic related to an
organization’s environment, hardware, and software

Performance requirement: a system requirement
that describes an operational characteristic related to
workload measures, such as throughput and
response time
7

usability requirement: a system requirement that
describes an operational characteristic related to
users, such as the user interface, work procedures,
online help, and documentation
7

Reliability requirement: a system requirement that
describes the dependability of a system, such as how
it handles service outages, incorrect processing, and
error detection and recovery

Security requirement: a system requirement that
describes user access to certain functions and the
conditions under which access is granted
STAKEHOLDERS—THE SOURCE
OF SYSTEM REQUIREMENTS

Stakeholders: all the people who have an interest in
the success of a new system

Generally, we categorize stakeholders into one of
three groups:
1.
The users, those who actually use the system on a
daily basis
2.
The clients, those who pay for and own the system
3.
The technical staff, the people who must ensure that
the system operates in the computing environment of
the organization.
7
Modeling system requirements
overview
7

Document functional requirements by creating
models

Models created during analysis phase activity –
Define system requirements

Two concepts help identify functional requirements in
the traditional approach and object-oriented approach

Use cases and the events that trigger them

Things in the users’ work domain
7
User Goals, Events, and Use Cases

Use Case -- An activity the system performs in
response to a user request

Techniques for identifying use cases

User goal technique
 Each
goal at the elementary business process (EBP)
level is a use case
– a task performed by one user, in one place in
response to a business event, that adds measurable
business value, and leaves system and data in
consistent state
 EBP
7

CRUD analysis technique (create, read, update,
delete)

Event decomposition technique
7

The analyst starts by looking at the types of data
stored by the system

Examples of types of data include Customer, Order,
Inventory Item, and Shipment
Identifying Use Cases Based on User
Goals
7
Use Case Based on CRUD
Technique
7
7
Event Decomposition Technique

Event – an occurrence at a specific time and place
and which needs to be remembered

Business events trigger elementary business
processes (EBPs)

EBPs are at correct level of analysis for use cases

Identify business events to decompose system into
activities/use cases
7
Types of Events



External

Outside system

Initiated by external agent or actor
Temporal

Occur as result of reaching a point in time

Based on system deadlines
State

Something inside system triggers processing need
Events Affecting a Charge Account
Processing System that Lead to Use
Cases
7
7
External Event Checklist
7
Temporal Event Checklist
7
Events and Use Cases

Event Table – a catalogue of use cases listed by
event. Contains detailed information

Trigger – a signal that indicates an event has occurred

Source – an external agent that initiates event and
supplies data for the event

Response – an output produced by the system

Destination – an external agent that receives the
response
7
7
Use Case Descriptions

Use case description – a description of the
processing steps for a use case

Actor – a person or thing that uses the system.
Actors have contact with the system

Scenario or Instance – a particular set of internal
steps that represent a unique path of the use case

Three types of descriptions

Brief description

Intermediate description

Fully developed description
7
Brief Description
7
Intermediate Description
7
7
“Things” in the Problem Domain

Define system requirements by understanding
system information that needs to be stored

Store information about things in the problem domain
that people deal with when they do their work
7
Types of Things
Procedure for Developing an
Initial List of Things

Step 1: Using the event table and information about each
use case, identify all nouns

Step 2: Using other information from existing systems,
current procedures, and current reports or forms, add
items or categories of information needed

Step 3: Refine list and record assumptions or issues to
explore

Questions to include it, exclude it, or research it
7
7
7
Characteristics of Things

Relationship

Naturally occurring association among specific things

Occur in two directions

Number of associations is cardinality or multiplicity
 Binary,

unary, ternary, n-ary
Attribute

One specific piece of information about a thing
Relationships Naturally Occur
Between Things
7
Cardinality/Multiplicity of
Relationships
7
7
Attributes and Values
7
The Domain Model Class Diagram

Unified Modeling Language (UML) diagram

Domain model class diagram

Models things in the users’ work domain

Used to define requirements for OO (very similar to
entities in ERD)
7
UML Class Symbol
7
Simple Domain Model Class Diagram
7

No methods shown in domain model


Domain classes are not software classes
Very similar to ERD

UML and domain model can be used in place of ERD
in traditional approach
7
Multiplicity of Associations
University Course Enrollment Domain
Model Class Diagram
7
Refined Model with Association Class
and Grade Attribute
7
7
Object-Oriented Requirements

Object-oriented modeling notation is Unified Modeling
Language (UML 2.0)

UML was accepted by Object Management Group
(OMG) as standard modeling technique

Purpose of Object Management Group

Promote theory and practice of object-oriented
technology for development of distributed systems

Provide common architectural framework for OO
50
Object-Oriented Requirements
(continued)

Object-oriented system requirements are specified
and documented through process of building models

Modeling process starts with identification of use
cases and problem domain classes (things in users’
work environment)

Business events trigger elementary business
processes (EBP) that new system must address as
use cases

Use cases define functional requirements
7
51
Object-Oriented Requirements
Models

Use case model – a collection of models to capture
system requirements

Use case diagram – identify actors and their roles
and how the actor roles utilize the system

Systems sequence diagrams (SSDs) – define inputs
and outputs and sequence of interactions between
user and system for a use case
7
52
Object-Oriented Requirements
Models (continued)

Message – the communication between objects
within a use case

Domain model – describes the classes of objects and
their states

State machine diagrams – describe states of each
object
7
53
Requirements Models—Traditional vs
OO
7
54
The System Activities—
A Use Case/Scenario View
7

Use case analysis used to identify and define all
business processes that system must support

Use case – an activity a system carried out, usually in
response to a user request

Actor

Role played by user

Outside automation boundary
55
7
Use Case Diagram

Graphical UML diagram that summarizes information
about actors and use cases

Simple diagram shows overview of functional
requirements

Can have multiple use case diagrams

By subsystem

By actor
56
7
Simple Use Case with an Actor
57
Use Case Diagram with Automation
Boundary and Alternate Actor Notation
7
58
All Use Cases Involving Customer as
Actor
7
59
Use Cases of an Order Entry
Subsystem
7
60
7
<<Includes>> Relationship

Documents situation in which one use case requires
the services of a common subroutine

Another use case is developed for this common
subroutine

A common use case can be reused by multiple use
cases
61
Example of Order-Entry Subsystem
with <<Includes>> Use Cases
7
62
7
Developing a Use Case Diagram



Underlying conditions for describing use cases

Based on automated system, e.g. users “touch” the
system

Assume perfect technology condition
Iterate through these two steps

Identify actors as roles

List goals, e.g. use cases, for each actor. A goal is a unit
of work.
Finalize with a CRUD analysis to ensure completeness
63
7
Activity Diagrams

Used to document workflow of business process
activities for each use case or scenario

Standard UML 2.0 diagram

Can support any level of use case description; a
supplement to use case descriptions

Helpful in developing system sequence diagrams
64
7
Activity
Diagram—
Telephone
Order
Scenario
65
7
Activity
Diagram—
Web Order
Scenario
66
Identifying Inputs and Outputs—
The System Sequence Diagram

Interaction diagram – a communication diagram or a
sequence diagram

System sequence diagram (SSD) is type of UML 2.0
interaction diagram

Used to model input and output messaging
requirements for a use case or scenario

Shows sequence of interactions as messages during
flow of activities

System is shown as one object: a “black box”
7
67
7
SSD Notation

Lifeline or object lifeline is a vertical line under object
or actor to show passage of time for object

Message is labeled on arrows to show messages
sent to or received by actor or system

Actor is role interacting with the system with
messages

Object is the component that interacts with actors
and other objects
68
System Sequence Diagram (SSD)
Notation
7
69
7
SSD Lifelines

Vertical line under object or actor


If vertical line dashed


Shows passage of time
Creation and destruction of thing is not important for
scenario
Long narrow rectangles

Activation lifelines emphasize that object is active only
during part of scenario
70
7
SSD Messages

Internal events identified by the flow of objects in a
scenario

Requests from one actor or object to another to do
some action

Invoke a particular method
71
7
Repeating
Message
72
Developing a System Sequence
Diagram

Begin with detailed description of use case from fully
developed form or activity diagram

Identify input messages

Describe message from external actor to system
using message notation

Identify and add any special conditions on input
message, including iteration and true/false conditions

Identify and add output return messages
7
73
Activity Diagram of the Telephone
Order Scenario
7
74
Resulting SSD for the Telephone
Order Scenario
7
75
7
SSD of the
Web Order
Scenario
for the
Create
New Order
Use case
76
Identifying Object Behavior—
The State Machine Diagram

State machine diagram is UML 2.0 diagram that
models object states and transitions



7
Complex problem domain classes can be modeled
State of an object

A condition that occurs during its life when it satisfies some
criterion, performs some action, or waits for an event

Each state has unique name and is a semipermanent
condition or status
Transition

The movement of an object from one state to another state
77
Simple State Machine Diagram for a
Printer
7
78
State Machine Terminology

Pseudostate – the starting point of a state machine,
indicated by a black dot

Origin state – the original state of an object from which
the transition occurs

Destination state – the state to which an object moves
after the completion of a transition

Message event – the trigger for a transition, which causes
the object to leave the origin state

Guard condition – a true/false test to see whether a
transition can fire

Action expression – a description of the activities
performed as part of a transition
7
79
Composite States and Concurrency—
States within a State
7
80
Concurrent Paths for Printer in the On
State
7
81
Rules for Developing State Machine
Diagram

Review domain class diagram, select important ones,
and list all state and exit conditions

Begin building state machine diagram fragments for
each class

Sequence fragments in correct order and review for
independent and concurrent paths

Expand each transition with message event, guardcondition, and action-expression

Review and test each state machine diagram
7
82
States and Exit Transitions for
OrderItem
7
83
7
Partial State Machine for OrderItem
84
7
Final State Machine for OrderItem
85
Order Domain Class for RMO—
States and Exit Transitions
7
86
First-Cut State Machine Diagram for
Order
7
87
Second-Cut State Machine Diagram for
Order
7
88
7
Integrating Object-Oriented Models

Complete use case diagram is needed to understand
total scope of new system

Domain model class diagrams should also be as
complete as possible for entire system

With iterative approach, only construct use case
descriptions, activity diagrams, and system sequence
diagrams for use cases in iteration

Development of a new diagram often helps refine and
correct previous diagrams
89
Relationships Between OO
Requirements Models
7
90
Download