Specification Phase Chapter Ten UHDCMSCH 10 1 SPECIFICATION

  • Slides: 47
Download presentation
Specification Phase Chapter Ten UHD-CMS-CH 10 1

Specification Phase Chapter Ten UHD-CMS-CH 10 1

SPECIFICATION DOCUMENT The specification document must be • Informal enough for client • Formal

SPECIFICATION DOCUMENT The specification document must be • Informal enough for client • Formal enough for developers • Free of omissions, contradictions, ambiguities UHD-CMS-CH 10 2

SPECIFICATION DOCUMENT Constraints – – – Cost Time Portability Reliability Response time Acceptance Criteria

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-CH 10 3

SOLUTION STRATEGY • General approach to building the product • Find strategies without worrying

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-CH 10 4

SPECIFICATION METHODS • Informal • Semi-formal • formal UHD-CMS-CH 10 5

SPECIFICATION METHODS • Informal • Semi-formal • formal UHD-CMS-CH 10 5

INFORMAL SPECIFICATIONS Example: “if sales of current month are below target sales, then report

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-CH 10 6

INFORMAL SPECIFICATIONS • Based on Natural Languages • Can be ambiguous Claim: – ambiguity

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-CH 10 7

INFORMAL SPECIFICATIONS • Conclusion: Natural Language NOT good way to specify product Fact: –

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-CH 10 8

STRUCTURED SYSTEMS ANALYSIS Three popular graphical specification methods – De. Marco – Gane and

STRUCTURED SYSTEMS ANALYSIS Three popular graphical specification methods – De. Marco – 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-CH 10 9

SSA: CASE STUDY • Sally’s Software Store buys software from various suppliers and sells

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-CH 10 10

CASE STUDY Fundamental issue – What is Sally’s objective in computerizing her business? Assume

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-CH 10 11

CASE STUDY Gane and Sarsen Technique: • A nine step method • Stepwise refinement

CASE STUDY Gane and Sarsen Technique: • A nine step method • Stepwise refinement in many steps UHD-CMS-CH 10 12

CASE STUDY • Data flow diagram (DFD) shows logical data flow (what happens, not

CASE STUDY • Data flow diagram (DFD) shows logical data flow (what happens, not how it happens) UHD-CMS-CH 10 13

STEP 1: DRAW THE DFD First refinement UHD-CMS-CH 10 14

STEP 1: DRAW THE DFD First refinement UHD-CMS-CH 10 14

STEP 1 - Second Refinement UHD-CMS-CH 10 15

STEP 1 - Second Refinement UHD-CMS-CH 10 15

STEP 1 - Portion of third refinement UHD-CMS-CH 10 16

STEP 1 - Portion of third refinement UHD-CMS-CH 10 16

STEP 1 contd Final DFD – Larger, BUT easily understood by client Larger DFDs

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-CH 10 17

STEP 2: Decide what parts to computerize • cost/benefit analysis STEP 3: Refine data

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-CH 10 18

STEP 4: Refine Logic of Processes Example: • Process: Give educational discount – Sally

STEP 4: 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-CH 10 19

STEP 5: Refine Data Stores • Define contents and representation (format) • Specify where

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-CH 10 20

STEP 6: Define Physical Resources For each file, specify – – File name Organization

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-CH 10 21

STEP 8: Perform Sizing Determine data for step 9: – – Volume of input

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-CH 10 22

STEP 9: Hardware Requirements – – Mass Storage requirements Input needs Output devices Is

STEP 9: Hardware Requirements – – Mass Storage requirements Input needs Output devices Is existing hardware adequate? However – Response time can NOT be determined UHD-CMS-CH 10 23

ENTITY-RELATIONSHIP DIAGRAMS • • Semi-Formal technique Data-Oriented Widely used in specifying databases used for

ENTITY-RELATIONSHIP DIAGRAMS • • Semi-Formal technique Data-Oriented Widely used in specifying databases used for Object-Oriented Analysis • Example: Author, Biography, Reader UHD-CMS-CH 10 24

ENTITY-RELATIONSHIP DIAGRAMS 1 -to-many relationships UHD-CMS-CH 10 25

ENTITY-RELATIONSHIP DIAGRAMS 1 -to-many relationships UHD-CMS-CH 10 25

ENTITY-RELATIONSHIP DIAGRAMS Many-to-many relationships UHD-CMS-CH 10 26

ENTITY-RELATIONSHIP DIAGRAMS Many-to-many relationships UHD-CMS-CH 10 26

FORMAL TECHNIQUES • Finite State Machines • Petri Nets • Z UHD-CMS-CH 10 27

FORMAL TECHNIQUES • Finite State Machines • Petri Nets • Z UHD-CMS-CH 10 27

FINITE STATE MACHINES • A safe has a combination lock that can be in

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: 1 L, 1 R, 2 L, 2 R, 3 L, and 3 R. The combination to the safe is 1 L, 3 R, 2 L. Any other dial movement cause the alarm to go off. UHD-CMS-CH 10 28

FINITE STATE MACHINES • Set of states: (Safe. Locked, A, B, Safe. Unlocked, Sound.

FINITE STATE MACHINES • Set of states: (Safe. Locked, A, B, Safe. Unlocked, Sound. Alarm) • Set of inputs: ( 1 L, 1 R, 2 L, 2 R, 3 L, 3 R) • Transition function: • Initial State: Safe. Locked • Set if final states: (Safe. Unlocked, Sound. Alarm) UHD-CMS-CH 10 29

FSM--State Transition Diagram(STD) UHD-CMS-CH 10 30

FSM--State Transition Diagram(STD) UHD-CMS-CH 10 30

FSM--State Transition Table UHD-CMS-CH 10 31

FSM--State Transition Table UHD-CMS-CH 10 31

EXTENDED FSM • Extended FSM with global predicates – predicate: condition in terms of

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-CH 10 32

ELEVATOR PROBLEM UHD-CMS-CH 10 33

ELEVATOR PROBLEM UHD-CMS-CH 10 33

ELEVATOR PROBLEM UHD-CMS-CH 10 34

ELEVATOR PROBLEM UHD-CMS-CH 10 34

ELEVATOR PROBLEM UHD-CMS-CH 10 35

ELEVATOR PROBLEM UHD-CMS-CH 10 35

ELEVATOR PROBLEM UHD-CMS-CH 10 36

ELEVATOR PROBLEM UHD-CMS-CH 10 36

ELEVATOR PROBLEM UHD-CMS-CH 10 37

ELEVATOR PROBLEM UHD-CMS-CH 10 37

ELEVATOR PROBLEM UHD-CMS-CH 10 38

ELEVATOR PROBLEM UHD-CMS-CH 10 38

ELEVATOR PROBLEM UHD-CMS-CH 10 39

ELEVATOR PROBLEM UHD-CMS-CH 10 39

UHD-CMS-CH 10 40

UHD-CMS-CH 10 40

POWER OF FSM TO SPEC COMPLEX SYSTEMS • Specs take simple form • Specification

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-CH 10 41

WHO IS USING FSMS? • Commercial Products – Menu driven – Various states/screens –

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-CH 10 42

PETRI NETS • Powerful technique for specifying systems with potential timing problems – –

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-CH 10 43

Formal Specifications - Cont. • Z – – a formal specification language uses set

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-CH 10 44

Testing during Spec. Phase • Walkthrough • Inspection (more powerful) – team of inspectors

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-CH 10 45

CASE tools • Two classes – Graphical tools • DFD, FSMs, Petri nets, ER

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-CH 10 46

Metrics • Five fundamental metrics – size • number of items in the data

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-CH 10 47