Ch06 07
Ch06 07
based on
Chapter 6 - Software Engineering: A Practitioner’s Approach, 6/e
1
Waterfall model 1 [aka Royce1970]
Systems Engineering
Project Planning
Design
Implementation
Testing/Verification
Release
2
System Engineering
Elements of a computer-based system
Software
Hardware
People
Database
Documentation
Procedures
Systems
A hierarchy of macro-elements
3
Business Process (Re-)Engineering
to identify how information systems can best meet the strategic
goals of an enterprise, using an integrated set of procedures, methods, and
tools, given a set of business rules and constraints.
technology infrastructure provides the foundation for the data and application
architectures (e.g., communication lines, computer platforms, etc.)
5
System Modeling with UML
Deployment diagrams
Each 3-D box depicts a hardware element that is part of the
physical architecture of the system
Activity diagrams
Represent procedural aspects of a system element
Class diagrams
Represent system level elements in terms of the data that describe
the element and the operations that manipulate the data
6
Conveyor Line Sorting System (CLSS)
CLSS must be developed such that boxes moving along a conveyor line will
be identified and sorted into one of six bins at the end of the line. The
boxes will pass by a sorting station where they will be identified. Based
on an identification number printed on the side of the box and a bar
code, the boxes will be shunted into the appropriate bins. Boxes pass in
random order and are evenly spaced. The line is moving slowly.
Se n so r d at a
s h u nt con t rolle r
acq uis it ion s u b s ys t e m
8
Activity Diagram
s t a rt c o n v e y o r lin e
re a d b a r c o d e g e t c o n v e y o r sp e e d
v a lid b a r c o d e in v a lid b a r c o d e
d e t e r m in e b in lo c a t io n s e t f o r re je c t b in
se n d sh u n t
c o n t ro l d a t a
g e t sh u n t st a t u s re a d b a r c o d e g e t c o n v e y o r st a t u s
p ro d u c e re p o rt e n t ry
9
Class Diagram
c lass nam e
Bo x
at t rib ut es
b arc o de not e us e of c a pit a l
fo rwa rdSpe e d le t t e r f or m ult i-word
co nve yo rLo ca t io n a t t ribut e na m e s
he ig ht
widt h
de pt h
weig ht
co nt e nt s
o pera t io ns
( pa re nt he s e s a t e nd
rea dBarc o de ( ) of na m e indic a t e t he
updat eSpe e d ( ) lis t of a t t ribut e s t ha t t he
rea dSpe ed ( ) ope ra t ion re quire s )
updat eLo c a t io n( )
rea dLo c at io n( )
g et Dim e nsio ns( )
g et We ig ht( )
che ckCo nt ent s( )
10
Requirements Engineering
based on
Chapter 7 - Software Engineering: A Practitioner’s Approach, 6/e
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
11
Requirements Engineering Process:
A Basic Framework [Loucopolos]
Many variations and extensions
3 fundamental activities:
understand, (formally) describe, attain an agreement on, the problem
User
User reqs
User feedback
14
Eliciting Requirements
meetings are conducted and attended by both software engineers and customers
rules for preparation and participation are established
an agenda is suggested
a "facilitator" (can be a customer, a developer, or an outsider) controls the meeting
a "definition mechanism" (can be work sheets, flip charts, or wall stickers or an
electronic bulletin board, chat room or virtual forum) is used
the goal is
to identify the problem
propose elements of the solution
negotiate different approaches, and
specify a preliminary set of solution requirements
15
Elicitation Work Products
a statement of need, scope, and feasibility.
a list of customers, users, and other stakeholders who
participated in requirements elicitation
a description of the system’s technical environment (cf.
enterprise model in system engineering).
a list of requirements (preferably organized by function)
and the domain constraints that apply to each.
a set of usage scenarios that provide insight into the use of
the system or product under different operating
conditions.
any prototypes developed to better define requirements.
requirements
16
Building the Analysis Model
Elements of the analysis model
Scenario-based elements
Functional—processing narratives for software functions
Use-case—descriptions of the interaction between an
“actor” and the system
Class-based elements
Implied by scenarios
Behavioral elements
State diagram
Flow-oriented elements
Data flow diagram
17
Use-Cases
A collection of user scenarios that describe the thread of usage of a system
Each scenario is described from the point-of-view of an “actor”—a person or
device that interacts with the software in some way
Ac c e s s e s s ys t e m s e ns or s
via Int e rne t
home ow ne r
Re s ponds t o
a la r m e ve nt
Enc ount e r s a n
e r ror c ondit ion
s ys t e m Re c onfigure s s e ns ors
a dminis t ra t or a nd r e la t e d
s ys t e m fe a t ure s
19
Class Diagram
From the SafeHome system …
Sensor
name/id
type
location
area
characteristics
identify()
enable()
disable()
reconfigure ()
20
State Diagram
Re a ding
Init ia liz a t ion
c omma nds not ja mme d
t ur n c opie r subsyst e ms
syst e m st a t us=“not re a dy” syst e m st a t us=“Re a dy” pa pe r full
“on“ r e a dy
displa y msg = “ple a se wa it ” displa y msg = “e nt e r c md”
displa y st a t us = blinking displa y st a t us = st e a dy
st a rt c opie s