Title: Specification Phase
1Specification Phase
2SPECIFICATION DOCUMENT
- The specification document must be
- Informal enough for client
- Formal enough for developers
- Free of omissions, contradictions, ambiguities
3SPECIFICATION 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
4SOLUTION 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
5SPECIFICATION METHODS
- Informal
- Semi-formal
- formal
6INFORMAL 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
7INFORMAL SPECIFICATIONS
- Based on Natural Languages
- Can be ambiguous
- Claim
- ambiguity can not arise when specs done by
professionals - Refutation
- Text Processing case (see textbook)
8INFORMAL 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
9STRUCTURED 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
10SSA CASE STUDY
- Sallys 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. Sallys store is doing well,
but despite her business success Sally has been
advised to computerize. Should she? - Better question what part?
11CASE STUDY
- Fundamental issue
- What is Sallys objective in computerizing her
business? - Assume
- Objective is to make more money
- Cost/benefit analysis for each section of
business.
12CASE STUDY
- Gane and Sarsen Technique
- A nine step method
- Stepwise refinement in many steps
13CASE STUDY
- Data flow diagram (DFD) shows logical data flow
(what happens, not how it happens)
14STEP 1 DRAW THE DFD
15STEP 1- Second Refinement
16STEP 1- Portion of third refinement
17STEP 1 contd
- Final DFD
- Larger, BUT easily understood by client
- Larger DFDs
- Hierarchy of DFDs
- Each box becomes DFD at a lower level
18STEP 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
19STEP4 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
20STEP 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)
21STEP 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
22STEP 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
23STEP 9 Hardware Requirements
- Mass Storage requirements
- Input needs
- Output devices
- Is existing hardware adequate?
- However
- Response time can NOT be determined
24ENTITY-RELATIONSHIP DIAGRAMS
- Semi-Formal technique
- Data-Oriented
- Widely used in specifying databases
- used for Object-Oriented Analysis
- Example Author, Biography, Reader
25ENTITY-RELATIONSHIP DIAGRAMS
1-to-many relationships
26ENTITY-RELATIONSHIP DIAGRAMS
Many-to-many relationships
27FORMAL TECHNIQUES
- Finite State Machines
- Petri Nets
- Z
28FINITE 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.
29FINITE 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)
30FSM--State Transition Diagram(STD)
31FSM--State Transition Table
32EXTENDED 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 gt New State
33ELEVATOR PROBLEM
34ELEVATOR PROBLEM
35ELEVATOR PROBLEM
36ELEVATOR PROBLEM
37ELEVATOR PROBLEM
38ELEVATOR PROBLEM
39ELEVATOR PROBLEM
40(No Transcript)
41POWER 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
42WHO 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
43PETRI 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
44Formal Specifications - Cont.
- Z
- a formal specification language
- uses set theory, functions, and discrete math.
- Initially difficult to learn
- the most widely language
45Testing 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.
46CASE 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
47Metrics
- 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