Lecture 6 & 7: Structured Analysis

1 / 37
About This Presentation
Title:

Lecture 6 & 7: Structured Analysis

Description:

... unless difference between target sales and actual sales is less than half of difference between target ... PowerPoint Presentation Last modified by: Anita ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 38
Provided by: sstUmtEd5

less

Transcript and Presenter's Notes

Title: Lecture 6 & 7: Structured Analysis


1
Lecture 6 7 Structured Analysis
  • Anita S. Malik
  • anitamalik_at_umt.edu.pk
  • Adapted from Schach (2004) Chapter 11

2
Specifications Phase
  • Specification document must be
  • Informal enough for client
  • Formal enough for developers
  • Free of omissions, contradictions, ambiguities
  • Specification techniques include
  • Informal specifications
  • Structured systems analysis
  • Object Oriented analysis
  • Entity-relationship modeling
  • Finite state machines
  • Petri nets
  • Other formal techniques such as Z specification

3
Informal Specifications
  • Example
  • If sales for 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

4
Meaning of Specification
  • Sales target for January was 100,000, actual
    sales were only 64,000 (36 below target)
  • Print report
  • Sales target for February was 120,000, actual
    sales were only 100,000 (16.7 below target)
  • Percentage difference for February (16.7) less
    than half of previous months percentage
    difference (36), do not print report
  • Sales target for March was 100,000, actual sales
    were 98,000 (2 below target)
  • Percentage difference lt 5, do not print

5
But Specifications Do Not Say This
  • Difference between target sales and actual
    sales
  • There is no mention of percentage difference
  • Difference in January was 36,000, difference in
    February was 20,000
  • Not less than half of 36,000, so report is
    printed
  • Difference of 5
  • Again, no mention of percentage
  • Ambiguityshould the last clause read percentage
    difference of 5 or difference of
    5,000 or something else entirely?
  • Style is poor

6
Informal Specifications (contd)
  • Claim
  • This cannot arise with professional
    specifications writers
  • Refutation
  • Text Processing case study

7
Episode 1
  • 1969 Naur Paper
  • Given a text consisting of words separated by
    blank or by nl (new line) characters, convert it
    to line-by-line form in accordance with following
    rules
  • (1) line breaks must be made only where given
    text has blank or nl
  • (2) each line is filled as far as possible, as
    long as
  • (3) no line will contain more than maxpos
    characters
  • Naur constructed a procedure (25 lines of Algol
    60), and informally proved its correctness)

8
Episode 2
  • 1970 Reviewer in Computing Reviews
  • First word of first line is preceded by a blank
    unless the first word is exactly maxpos
    characters long

9
Episode 3
  • 1971 London found 3 more faults
  • Including procedure does not terminate unless a
    word longer than maxpos characters is encountered

10
Episode 4
  • 1975 Goodenough and Gerhart found 3 further
    faults
  • Includinglast word will not be output unless it
    is followed by blank or nl
  • Goodenough and Gerhart then produced new set of
    specifications, about four times longer than
    Naurs

11
Case Study (contd)
  • 1985 Meyer detected 12 faults in Goodenough and
    Gerharts specifications
  • Goodenough and Gerharts specifications
  • Were constructed with the greatest of care
  • Were constructed to correct Naurs specifications
  • Went through two versions, carefully refereed
  • Were written by experts in specifications
  • With as much time as they needed
  • For a product about 30 lines long
  • What chance do we have of writing fault-free
    specifications for a real product?

12
Episode 5
  • 1989 Schach found fault in Meyers
    specifications
  • Item (2) of Naurs original requirement (each
    line is filled as far as possible) is not
    satisfied

13
Informal Specifications
  • Conclusion
  • Natural language is not a good way to specify
    product
  • Fact
  • Many organizations still use natural language,
    especially for commercial products
  • Reasons
  • Uninformed management
  • Undertrained computer professionals
  • Management gives in to client pressure
  • Management is unwilling to invest in training

14
Structured Systems Analysis
  • Three popular graphical specification methods of
    70s
  • DeMarco
  • Gane and Sarsen
  • Yourdon
  • All equivalent
  • All equally good
  • Many corporations use them for commercial
    products
  • Gane and Sarsen used for object-oriented design

15
Structured Systems Analysis 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. Institutions and
    corporations are given credit facilities, as are
    some members of the public. Sallys Software
    Store is doing well, with a monthly turnover of
    300 packages at an average retail cost of 250
    each. Despite her business success, Sally has
    been advised to computerize. Should she?
  • Better question
  • What sections?
  • Still better
  • How? Batch, or online? In-house or out-service?

16
Case Study (contd)
  • Fundamental issue
  • What is Sallys objective in computerizing her
    business?
  • Because she sells software?
  • She needs an in-house system with sound and light
    effects
  • Because she uses her business to launder hot
    money?
  • She needs a product that keeps five different
    sets of books, and has no audit trail
  • Assume Computerization in order to make more
    money
  • Cost/benefit analysis for each section of
    business

17
Case Study (contd)
  • The danger of many standard approaches
  • First produce the solution, then find out what
    the problem is!
  • Gane and Sarsens method
  • Nine-step method
  • Stepwise refinement is used in many steps

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

19
Step 1. Draw the DFD
  • First refinement
  • Infinite number of possible interpretations

20
Step 1 (contd)
  • Second refinement
  • pending orders scanned daily

21
Step 1 (contd)
  • Portion of third refinement

22
Step 1 (contd)
  • Final DFD
  • Larger, But easily understood by client
  • Larger DFDs
  • Hierarchy
  • Box becomes DFD at lower level
  • Frequent problem
  • Process P at level L, expanded at level L1
  • Correct place for sources and destinations of
    data for process P is level L1
  • Clients cannot understand DFDsources and
    destinations of data for P are missing
  • Solution
  • Draw correct DFD, modify by moving sources and
    destinations of data one or more levels up

23
Step 2. Decide What Parts to Computerize
  • Depends on how much client is prepared to spend
  • Large volumes, tight controls
  • Batch
  • Small volumes, in-house microcomputer
  • Online
  • Cost/benefit analysis

24
Step 3. Refine Data Flows
  • Data items for each data flow
  • Refine each flow stepwise
  • Refine further
  • Need a data dictionary

25
Step 3. Refine Data Flows (contd)
  • Sample data dictionary entries

26
Step 4. Refine Logic of Processes
  • Have 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

27
Step 4 (contd)
  • Advantage of decision tree
  • Missing items are quickly apparent
  • Can also use decision tables
  • CASE tools for automatic translation

28
Step 5. Refine Data Stores
  • Define exact contents and representation (format)
  • COBOL specify to pic level
  • Ada specify digits or delta
  • Specify where immediate access is required
  • Data immediate access diagram (DIAD)

29
Step 6. Define Physical Resources
  • For each file, specify
  • File name
  • Organization (sequential, indexed, etc.)
  • Storage medium
  • Blocking factor
  • Records (to field level)

30
Step 7. Determine Input/Output Specs
  • Specify input forms, input screens, printed output

31
Step 8. Perform Sizing
  • Numerical data for Step 9 to determine hardware
    requirements
  • Volume of input (daily or hourly)
  • Size, frequency, deadline of each printed report
  • Size, number of records passing between CPU and
    mass storage
  • Size of each file

32
Step 9. Hardware Requirements
  • DASD requirements
  • Mass storage for back-up
  • Input needs
  • Output devices
  • Is existing hardware adequate?
  • If not, recommend buy/lease

33
However
  • Response times cannot be determined
  • Number of I/O channels can only be guessed
  • CPU size and timing can only be guessed
  • Nevertheless, no other method provides these data
    for arbitrary products
  • The method of Gane and Sarsen/De Marco/Yourdon
    has resulted in major improvements in the
    software industry

34
Structured Analysis (Summary)
  • Nine Steps
  • Draw the Data Flow Diagram (DFD)
  • Decide what section to computerize
  • Determine the details of the data flows
  • Define the logic of the processes
  • Define the data stores
  • Define the physical resources
  • Determine input-output specifications
  • Perform sizing
  • Determine the hardware requirements

35
Air Gourmet Case Study Structured Sys. Anal.
  • Data flow diagram reflects centrality of SPECIAL
    MEAL DATA
  • See Appendix E for remainder of structured
    systems analysis

36
Testing during the Specification Phase
  • Walkthrough of the document
  • Inspect the document against a checklist. A study
    done on inspections showed each hour invested in
    inspections at analysis stage saved 30 hrs of
    execution-based fault detection and correction.

37
Metrics for Analysis Phase
  • Size, cost, duration, effort and quality
  • Size number of pages in the specification
    document
  • Quality note the number of faults of each type
    found during inspection
  • Duration and effort number of items in the data
    dictionary, number of files, data items,
    processes etc.

38
Challenges of Analysis Phase
  • The documents generated during the analysis phase
    should be informal enough for the client to
    understand and formal enough for the development
    team to use as the description of the product to
    be built
  • To keep within the what boundary and not cross
    to the how boundary
Write a Comment
User Comments (0)