Specification phase
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

Specification Phase PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on
  • Presentation posted in: General

Specification Phase. Chapter Ten. SPECIFICATION DOCUMENT. The specification document must be Informal enough for client Formal enough for developers Free of omissions, contradictions, ambiguities. SPECIFICATION DOCUMENT. Constraints Cost Time Portability Reliability Response time

Download Presentation

Specification Phase

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Specification phase

Specification Phase

Chapter Ten

UHD-CMS-CH10


Specification document

SPECIFICATION DOCUMENT

The specification document must be

  • Informal enough for client

  • Formal enough for developers

  • Free of omissions, contradictions, ambiguities

UHD-CMS-CH10


Specification document1

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


Solution strategy

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


Specification methods

SPECIFICATION METHODS

  • Informal

  • Semi-formal

  • formal

UHD-CMS-CH10


Informal specifications

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


Informal specifications1

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


Informal specifications2

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


Structured systems analysis

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


    Ssa case study

    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


    Case study

    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


    Case study1

    CASE STUDY

    Gane and Sarsen Technique:

    • A nine step method

    • Stepwise refinement in many steps

    UHD-CMS-CH10


    Case study2

    CASE STUDY

    • Data flow diagram (DFD) shows logical data flow (what happens, not how it happens)

    UHD-CMS-CH10


    Step 1 draw the dfd

    STEP 1: DRAW THE DFD

    First refinement

    UHD-CMS-CH10


    Step 1 second refinement

    STEP 1- Second Refinement

    UHD-CMS-CH10


    Step 1 portion of third refinement

    STEP 1- Portion of third refinement

    UHD-CMS-CH10


    Step 1 contd

    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


    Step 2 decide what parts to computerize

    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


    Step4 refine logic of processes

    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


    Step 5 refine data stores

    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


    Step 6 define physical resources

    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


    Step 8 perform sizing

    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


    Step 9 hardware requirements

    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


    Entity relationship diagrams

    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


    Entity relationship diagrams1

    ENTITY-RELATIONSHIP DIAGRAMS

    1-to-many relationships

    UHD-CMS-CH10


    Entity relationship diagrams2

    ENTITY-RELATIONSHIP DIAGRAMS

    Many-to-many relationships

    UHD-CMS-CH10


    Formal techniques

    FORMAL TECHNIQUES

    • Finite State Machines

    • Petri Nets

    • Z

    UHD-CMS-CH10


    Finite state machines

    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


    Finite state machines1

    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


    Fsm state transition diagram std

    FSM--State Transition Diagram(STD)

    UHD-CMS-CH10


    Fsm state transition table

    FSM--State Transition Table

    UHD-CMS-CH10


    Extended fsm

    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


    Elevator problem

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem1

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem2

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem3

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem4

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem5

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Elevator problem6

    ELEVATOR PROBLEM

    UHD-CMS-CH10


    Specification phase

    UHD-CMS-CH10


    Power of fsm to spec complex systems

    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


    Who is using fsms

    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


    Petri nets

    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


    Formal specifications cont

    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


    Testing during spec phase

    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


    Case tools

    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


    Metrics

    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


  • Login