elevator problem

advertisement
Specification Phase
Chapter Ten
UHD-CMS-CH10
1
SPECIFICATION DOCUMENT
The specification document must be
• Informal enough for client
• Formal enough for developers
• Free of omissions, contradictions, ambiguities
UHD-CMS-CH10
2
SPECIFICATION DOCUMENT
Constraints
–
–
–
–
–
Cost
Time
Portability
Reliability
Response time
Acceptance Criteria
– Vital to spell out series of tests
– Product passes tests, deemed to satisfy specs.
– Some are restatements of constraints
UHD-CMS-CH10
3
SOLUTION STRATEGY
• General approach to building the product
• Find strategies without worrying about
constraints
• Modify/select strategies in light of constraints
• Keep written record of all discarded strategies
and why discarded:
– To protect spec team
– To prevent unwise new solutions during
maintenance phase
UHD-CMS-CH10
4
SPECIFICATION METHODS
• Informal
• Semi-formal
• formal
UHD-CMS-CH10
5
INFORMAL SPECIFICATIONS
Example:
“if sales of current month are below target sales,
then report is to be printed, unless difference
between target sales and actual sales is less
than half of difference between target sales and
actual sales in previous month, or if difference
between target sales and actual sales for the
current month is under 5%”
UHD-CMS-CH10
6
INFORMAL SPECIFICATIONS
• Based on Natural Languages
• Can be ambiguous
Claim:
– ambiguity can not arise when specs done by
professionals
Refutation:
– Text Processing case (see textbook)
UHD-CMS-CH10
7
INFORMAL SPECIFICATIONS
• Conclusion: Natural Language NOT good way
to specify product
Fact:
– Many organizations still use natural language,
especially for commercial products
Reasons:
–
–
–
–
Uninformed management
Under-trained computer professionals
Management gives in to client pressure
Management unwilling to invest in training
UHD-CMS-CH10
8
STRUCTURED SYSTEMS
ANALYSIS
Three popular graphical specification methods
– DeMarco
– Gane and Sarsen
– Yourdon
• Equivalent
• Equally good
• Many US corporations use them for
commercial products
• Gane and Sarsen used for Object-Oriented
design
UHD-CMS-CH10
9
SSA: CASE STUDY
• Sally’s Software Store buys software from
various suppliers and sells it to the public.
Popular software packages are kept in stock,
but the rest must be ordered as required.
Institution and corporations are given credit
facilities, as are some individuals. Sally’s store
is doing well, but despite her business success
Sally has been advised to computerize. Should
she?
• Better question: what part?
UHD-CMS-CH10
10
CASE STUDY
Fundamental issue
– What is Sally’s objective in computerizing her
business?
Assume
– Objective is “to make more money”
• Cost/benefit analysis for each section of
business.
UHD-CMS-CH10
11
CASE STUDY
Gane and Sarsen Technique:
• A nine step method
• Stepwise refinement in many steps
UHD-CMS-CH10
12
CASE STUDY
• Data flow diagram (DFD) shows logical data
flow (what happens, not how it happens)
UHD-CMS-CH10
13
STEP 1: DRAW THE DFD
First refinement
UHD-CMS-CH10
14
STEP 1- Second Refinement
UHD-CMS-CH10
15
STEP 1- Portion of third refinement
UHD-CMS-CH10
16
STEP 1 contd
Final DFD
– Larger, BUT easily understood by client
Larger DFDs
– Hierarchy of DFDs
– Each box becomes DFD at a lower level
UHD-CMS-CH10
17
STEP 2: Decide what parts to
computerize
• cost/benefit analysis
STEP 3: Refine data flow
• Data items for each data flow
• Refine each flow stepwise
order:
order identifications
customer details
package details
• Refine further
• Need data dictionary
UHD-CMS-CH10
18
STEP4: Refine Logic of Processes
Example:
• Process: Give educational discount
– Sally must explain discount for educational
institutions
– 10% on up to 4 packages, 15% on 5 or more
• Translate into decision tree
UHD-CMS-CH10
19
STEP 5: Refine Data Stores
• Define contents and representation (format)
• Specify where immediate access is required
– define type of queries
– define Data Immediate Access Diagram (DIAD)
UHD-CMS-CH10
20
STEP 6: Define Physical Resources
For each file, specify
–
–
–
–
File name
Organization
Storage medium
Records (to field level)
DBMS:
– define each table
STEP 7: Determine I/O Specs
• Specify input forms, input screens, printed
output
UHD-CMS-CH10
21
STEP 8: Perform Sizing
Determine data for step 9:
–
–
–
–
Volume of input (daily or hourly)
Size, frequency. Deadline for each printer report
Size, number of records processed
Size of each file
UHD-CMS-CH10
22
STEP 9: Hardware Requirements
–
–
–
–
Mass Storage requirements
Input needs
Output devices
Is existing hardware adequate?
However
– Response time can NOT be determined
UHD-CMS-CH10
23
ENTITY-RELATIONSHIP
DIAGRAMS
•
•
•
•
Semi-Formal technique
Data-Oriented
Widely used in specifying databases
used for Object-Oriented Analysis
• Example: Author, Biography, Reader
UHD-CMS-CH10
24
ENTITY-RELATIONSHIP
DIAGRAMS
1-to-many relationships
UHD-CMS-CH10
25
ENTITY-RELATIONSHIP
DIAGRAMS
Many-to-many relationships
UHD-CMS-CH10
26
FORMAL TECHNIQUES
• Finite State Machines
• Petri Nets
• Z
UHD-CMS-CH10
27
FINITE STATE MACHINES
• A safe has a combination lock that can be in one of
three positions labeled 1, 2 and 3. The dial can be
turned left or right (L or R). Thus there are 6 possible
dial movements: 1L, 1R, 2L, 2R, 3L, and 3R. The
combination to the safe is 1L, 3R, 2L. Any other dial
movement cause the alarm to go off.
UHD-CMS-CH10
28
FINITE STATE MACHINES
• Set of states: (SafeLocked, A, B, SafeUnlocked,
SoundAlarm)
• Set of inputs:( 1L, 1R, 2L, 2R, 3L, 3R)
• Transition function:
• Initial State: SafeLocked
• Set if final states: (SafeUnlocked, SoundAlarm)
UHD-CMS-CH10
29
FSM--State Transition Diagram(STD)
UHD-CMS-CH10
30
FSM--State Transition Table
UHD-CMS-CH10
31
EXTENDED FSM
• Extended FSM with global predicates
– predicate: condition in terms of global state/event or
a combination of them
• Transition rules have form:
– State and Event and Predicate ==> New State
UHD-CMS-CH10
32
ELEVATOR PROBLEM
UHD-CMS-CH10
33
ELEVATOR PROBLEM
UHD-CMS-CH10
34
ELEVATOR PROBLEM
UHD-CMS-CH10
35
ELEVATOR PROBLEM
UHD-CMS-CH10
36
ELEVATOR PROBLEM
UHD-CMS-CH10
37
ELEVATOR PROBLEM
UHD-CMS-CH10
38
ELEVATOR PROBLEM
UHD-CMS-CH10
39
UHD-CMS-CH10
40
POWER OF FSM TO SPEC
COMPLEX SYSTEMS
• Specs take simple form
• Specification is
–
–
–
–
–
–
Easy to write down
Easy to validate
Easy to convert into design
Easy to generate code automatically
More precise than graphical methods
Almost as easy to understand
• However
– Timing considerations not handled
UHD-CMS-CH10
41
WHO IS USING FSMS?
• Commercial Products
– Menu driven
– Various states/screens
– Automatic code generation a major plus
• System Software
– Operating systems
– Word processors
– Spreadsheets
• CASE tools
– Statemate
UHD-CMS-CH10
42
PETRI NETS
• Powerful technique for specifying systems with
potential timing problems
–
–
–
–
–
Concurrency and synchronization
Race conditions
Deadlock
originally used by automata theorists
now used in performance evaluation, O/S, and SE
fields
UHD-CMS-CH10
43
Formal Specifications - Cont.
• Z
–
–
–
–
a formal specification language
uses set theory, functions, and discrete math.
Initially difficult to learn
the most widely language
UHD-CMS-CH10
44
Testing during Spec. Phase
• Walkthrough
• Inspection (more powerful)
– team of inspectors checks specs against a checklist
• If a formal tech. is used other testing tech. such
as correctness-proving methods can be applied,
simulation of FSM/Petri Nets etc.
UHD-CMS-CH10
45
CASE tools
• Two classes
– Graphical tools
• DFD, FSMs, Petri nets, ER diagrams
– Data dictionary
• the two should be integrated
• E.g.,
– Analyst/Designer, Excelerator, software through
pictures, system architect, and Teamwork
UHD-CMS-CH10
46
Metrics
• Five fundamental metrics
– size
• number of items in the data dictionary
– cost
– duration
– effort
– quality
• number faults found during inspection
• This information is tentative at best
UHD-CMS-CH10
47
Download