Considerations:
feasibility - can s/w be built as specified?
Q: How to check specification correctness?
3
The Classical Analysis Workflow (Schach Ch 11)
Software Engineering CSCI 4490
4
Software Project Management Plan (The roadmap)
Software Engineering CSCI 4490
6
Formality Versus Informality
Software Engineering CSCI 4490
7
Structured Systems Analysis
Software Engineering CSCI 4490
9
Sallys Software An Example Using DFDs
Software Engineering CSCI 4490
First refinement
Infinite number of possible interpretations
Second refinement
Verify that order is valid
Differentiate between items in/out of stock
18
Step 2. Decide What Parts to Computerize and How
Software Engineering CSCI 4490
Figure 11.5
The McGraw-Hill Companies, 2011
21
Step 4. Define the Logic of the Processes
Software Engineering CSCI 4490
23
* Step 5. Define the Data Stores
Software Engineering CSCI 4490
Figure 11.8
The McGraw-Hill Companies, 2011
24
* Step 6. Define the Physical Resources
Software Engineering CSCI 4490
Specify:
Input needs
Output devices
Author Supplier
1
m
writes
is supplied by p
Project
for use in
n
Autobiog raphy n
n n
Part
reads owns
1 n
1 1
Reader
consists of
29
Data Modeling Notation
Software Engineering CSCI 4490
30
Data Modeling Notation: ERwin
Software Engineering CSCI 4490
31
Data Modeling Notation: N:M and O-M
Software Engineering CSCI 4490
Note that:
(1) ERwin cannot indicate
true minimum
cardinalities on N:M
relationships
(2) Visio introduces the
intersection table instead
of using a true N:M
model
32
*The Role of Data Dictionaries
Software Engineering CSCI 4490
Advantages:
33
~ICE/Homework: Using ER Diagrams
Software Engineering CSCI 4490
34
*Finite State Machines (Formal Method)
Software Engineering CSCI 4490
35
* Finite State Machine Example
Software Engineering CSCI 4490
Drawbacks?
38
*Where are FSMs used to Specify Software?
Software Engineering CSCI 4490
Commercial products
System software
Real-time systems
Statecharts are a real-time extension of FSMs
CASE tools typically incorporate FSM tool: Statemate,
Rhapsody
39
~Example: Apartment Automatic Garage Door
Software Engineering CSCI 4490
Description:
The door of the basement garage in an apartment building is opened
from the outside by means of a magnetic card. From the inside it is
opened by a floor sensor tripped by an exiting car. There is also a
manual unit with open, close, and stop buttons inside the garage.
Sensors in the door frame are tripped when the door reaches the fully
closed and fully opened positions. An optical sensor mounted on
the door frame ensures that the doorway is free from obstacles,
stopping the door from closing if the light beam is broken. When the
door has been either fully opened or stopped for 1 minute, it
automatically starts moving down, provided there is no obstacle.
Deadlock
Petri nets
A powerful technique for specifying systems that have
potential problems with interrelations
Set of places P is
{p1,p2, p3, p4}
Set of transitions T
is {t1, t2}
Input functions:
I(t1) = {p2, p4}
I(t2) = {p2}
Output functions:
Figure 11.18
O(t1) = {p1}
O(t2) = {p3, p3}
Figure 11.19
Four tokens: one in p1, two in p2, none in p3, and one in
p4
Represented by the vector (1,2,0,1)
The McGraw-Hill Companies, 2011
44
*Petri Nets (cont.)
Software Engineering CSCI 4490
Figure 11.20
Figure 11.21
Inhibitor arcs
An inhibitor arc is marked by a small circle, not an
arrowhead
Figure 11.22
Transition t1 is enabled
49
Z
Software Engineering CSCI 4490
Figure 11.25
Figure 11.26
Figure 11.27
Figure 11.28
A CASE tool
Difficulties in using Z
The large and complex set of symbols
Training in mathematics is needed
62