Questions on Structured Analysis - Software Engineering | CMSC 435, Study notes of Software Engineering

Material Type: Notes; Class: Software Engineering; Subject: Computer Science; University: University of Maryland; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 07/30/2009

koofers-user-qc2
koofers-user-qc2 🇺🇸

10 documents

1 / 14

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Reading Technique for Structured Analysis
Use the procedure below to perform a structured analysis of the new system by creating a data
flow diagram. As you work, use the questions provided to identify faults in the requirements:
1) Read through the requirements once, and then create a high-level data flow diagram. The
purpose of this diagram is to clarify the system’s relationship with the outside world.
Identify the data sources, destinations, and stores. Then describe the processing and specify
the data flows.
a) Data sources and destinations are anything outside the system that originate new data or
receive finished data. A source or destination could be, for example, an external system
that sends or receives messages, or a department or individual that will use the system to
be built. Destinations and sources are represented by closed boxes on the data flow
diagram. Label as many destinations or sources as necessary on Form A.
b) Data stores represent any data or documents that are stored for any length of time. This
might be, for example, a pile of papers making up a file, a database on CD-ROM, or any
kind of file which can be read from and written to. Data stores are represented as boxes
with one side missing. Show all of the external data stores by labeling the data store
symbols on Form A.
c) Boxes with rounded corners are used to represent processes or activities. Again, no
distinction is made between activities which are carried out by the computer and those
which are performed by some other physical device, as long as the processing is part of
the system. Therefore a process symbol could refer to a person undertaking a process, a
computer automatically performing some data transformation, a mechanical automated
process, or any other method which achieves a required result or set of results. In the
high-level data flow diagram there is only one process node which summarizes the entire
process. Label the process node on Form A with a description that describes the purpose
of the system described by the requirements. You will use this process node as the input
to step 2.
d) Finally, the arrows in the diagram represent data flows. These arrows show the flow of
data from a source or data store to a process in which it is used, from process to process,
or from a process to a destination or data store. Label these arrows with the actual data
which is provided to the system by each of the sources and stores, or which the system
sends to the destinations and stores. As always, there are no distinctions due to the form
of the data.
Q1.1 From the general requirements or your knowledge of the domain, have all of
the necessary data sources, destinations, and stores been defined?
Q1.2 Can you identify what type of data is provided by or sent to each source,
destination, or store? Can the data types be defined (e.g. are the required
precision and units specified for the data)?
Q1.3 Do the requirements specify the correct source, destination, or store for each of
the data flows?
2) Iteratively deepen the current processing node by constructing more detailed data flow
diagrams.
a) If there is insufficient detail to construct a lower-level diagram, or if there is only one
data transformation or processing step that takes place, this process does not need to
have a more detailed diagram created for it.
b) Otherwise, use Form B to construct a lower-level data flow diagram for the current
processing node. First, record the name of the current node on the appropriate line in
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Partial preview of the text

Download Questions on Structured Analysis - Software Engineering | CMSC 435 and more Study notes Software Engineering in PDF only on Docsity!

Use the procedure below to perform a structured analysis of the new system by creating a dataflow diagram. As you work, use the questions provided to identify faults in the requirements: Reading Technique for Structured Analysis

  1. Read through the requirements once, and then create a high-level data flow diagram. Thepurpose of this diagram is to clarify the system’s relationship with the outside world.Identify the data sources, destinations, and stores. Then describe the processing and specifythe data flows. a) Data sources and destinations receive finished data. A source or destination could be, for example, an external systemthat sends or receives messages, or a department or individual that will use the system tobe built. Destinations and sources are represented by closed boxes on the data flow are anything outside the system that originate new data or b) diagram. Label as many destinations or sources as necessary on Form A. Data stores might be, for example, a pile of papers making up a file, a database on CD-ROM, or anykind of file which can be read from and written to. Data stores are represented as boxes represent any data or documents that are stored for any length of time. This c) with one side missing. Show all of the external data stores by labeling the data storesymbols on Form A.Boxes with rounded corners are used to representdistinction is made between activities which are carried out by the computer and those processes or activities. Again, no which are performed by some other physical device, as long as the processing is part ofthe system. Therefore a process symbol could refer to a person undertaking a process, acomputer automatically performing some data transformation, a mechanical automatedprocess, or any other method which achieves a required result or set of results. In the high-level data flow diagram there is only one process node which summarizes the entireprocess. Label the process node on Form A with a description that describes the purposeof the system described by the requirements. You will use this process node as the inputto step 2. d) Finally, the arrows in the diagram representdata from a source or data store to a process in which it is used, from process to process,or from a process to a destination or data store. Label these arrows with the actual datawhich is provided to the system by each of the sources and stores, or which the system data flows. These arrows show the flow of sends to the destinations and stores. As always, there are no distinctions due to the formof the data. Q1.1 From the general requirements or your knowledge of the domain, have all of Q1.2 the necessary data sources, destinations, and stores been defined?Can you identify what type of data is provided by or sent to each source,destination, or store?precision and units specified for the data)? Can the data types be defined (e.g. are the required
  2. Iteratively deepen the current processing node by constructing more detailed data flow Q1.3^ Do the requirements specify the correct source, destination, or store for each ofthe data flows? diagrams.a) If there is insufficient detail to construct a lower-level diagram, or if there is only onedata transformation or processing step that takes place, this process does not need tohave a more detailed diagram created for it. b) Otherwise, use Form B to construct a lower-level data flow diagram for the currentprocessing node. First, record the name of the current node on the appropriate line in

Form B. Then decompose the process into a series of smaller steps. Enter theseprocessing nodes on Form B. You should divide the processing up amongst the newprocessing nodes in such a way that:i) Each subproblem is at the same level of detail as the other subproblems in this data c) ii)iii)Connect the processing nodes with data flow arrows to show the flow of data between^ flow diagram.Each subproblem can be solved as an individual problem.The solutions to the subproblems can be combined to solve the original problem. d) the nodes. Label each arrow with the data which is being passed along.The data sources, destinations, and stores from the parent node will be needed for thislower-level diagram. Record and label them on Form B (using the appropriate symbol)and draw data flow arrows to connect them to the appropriate processes. Remember to e) label the arrows with the appropriate form of the data.Select each of the new processing nodes you created in turn and use it as the input forrepeating step 2. Q2.1Q2.2 Is all of the necessary information available to create the diagram?Are the requirements clear and correct about which data flows are associatedwith each process? (That is, is there data flowing into a process which is notneeded for the process? Is a data flow missing that is necessary for the Q2.3 process? Is data flowing out of a process that could not have been producedby that process?)Does the flow of data occur in a logical and correct manner? Can the input toeach process be recognized as the output of another process or a data source or Q2.4 store?Is a single unique process, data source, or store described as the source of eachdata flow?

  1. When you have expanded all of the processing nodes to an appropriate level of detail,examine the completed data flow diagram and answer the following questions: Q3.1 Does each data flow arrow have a name associated with it? Is the data it representsdefined at an appropriate level of detail in the requirements? Q3.2Q3.3 Have all of the data sources, stores, and destinations listed on Form A been used inat least one of the lower-level diagrams?Can you trace through the data flow diagram using actual cases and achieve theexpected result? Q3.4 Does the flow of data within each of the lower-level diagrams make sense fromwhat you know about the application or from what is specified in the generaldescription? Acknowledgements These guidelines owe much to the following works:Foad, K. R. Cardiff ComSc Documentation Project 1996/97. Mynatt, Barbee Teasley. (1990)Yourdon, E., and L. Constantine. (1979)http://www.cm.cf.ac.uk/User/K.R.Foad/project/index.html. Software Engineering with Student Project Guidance Structured Design. Prentice-Hall.. Prentice-Hall.

Perspective-Based Reading

Defect Classes

Perspectives

Analysis generatesquestions

Model generatesscenarios

Perspective-Based Reading

Perspective-Based Reading

•^ Goal for each participant:–

Analyze

the documents provided

–^ for the purpose of

evaluation

–^ with respect to

defect detection

–^ from the point of view of

designer (or tester, user, …)

–^ in the context of

a specific technique for creating system designs

(or test plans, user manuals, …)

•^ Results:–

defect report forms– a high-level model of the system

Example using Design Procedure

•^ Here is a brief description of the users of this system: •^ “ User Characteristics:

The system will be used by ABC Video

management, clerks, and indirectly by customers. From the point ofview of the system, clerks and managers are identical. Some systemoperations are only accessible to managers (such as printing dailyreports) and are protected by password.. .”

Design Perspective

•^ Focuses on

structured analysis

, which concentrates on

understanding the flow of data through a system and wouldnormally support structured design• Terminology:–^ data sources and destinations

: anything external to the system

that originate new data or receive finished data– data stores

: data or documents that are stored for any length of

time (either internal or external)– processes

: represent activities or processing which is undertaken

on the data– data-flow arrows

: show the flow of data from a source or store to

a process, between processes, or from a process to a destinationor store

Form A - High Level Data Flow Diagram Reviewer Name:

Document Reviewed:

Create a high-level data flow diagram of the system illustrating the data sources, stores, and destinations for the system, and the main processing phase. Use the following notation:

Rounded box: Aprocessing

phase or system activity. (Process)

(data)^

Arrow: Flow of data

(Data store)

Open box: File or other data store

(Data source/ destination)

Closed box: Data source or destination

Data Sources/^ Stores:

Data Destinations/ Stores:

Maintain video store info

clerk^ manager^ Bar code^ scanner

printer

Video inventory

Commands, cust. info^ Tape IDs

Commands, cust. info

Video inventory

Customer database

Customer database

Rental info

?^?

If we can’t find anywhere in the requirements where the information we get from these data stores is specified, then this is most likely a fault.

Design Perspective

•^ 2. Iteratively add detail by expanding each processingnode into its own data flow diagram.^ –

Is all of the necessary information available to create the diagram?– Are the requirements clear and correct about which data flows areassociated with each process? (For example, is there data flowinginto a process which is not needed for the process? Is a data flowmissing that is necessary for the process? Is data flowing out of aprocess that could not have been produced by that process?)– Does the flow of data occur in a logical and correct manner? Canthe input to each process be recognized as the output of anotherprocess or a data source or store?– Is a single unique process, data source, or store described as thesource of each data flow?

Form B - Lower-Level Data Flow Diagram Reviewer Name:

Document Reviewed:

Create a data flow diagram which refines a higher-level process. To be consistent, it is important that the inputs and outputs of this diagram are the same as those for the higher-level process. Use the following notation:

Rounded box: Aprocessing

phase or system activity. (Process)

(data)^

Arrow: Flow of data

(Data store)

Open box: File or other data store

(Data source/ destination)

Closed box: Data source or destination

This diagram shows additional detail for the previous node labeled:

__Rent tape_____________________________

RETRIEVE RENTAL RECORD

RETRIEVE TAPE RECORDS

RECEIVE PAYMENT

PRINT FORM^ UPDATE^ FILES

Customer database

Video inventory

clerk Bar code scanner

Printer

Customer rental record

Tape records Account number

Amount received

Tape ID Customer rental record Updated rental history

Customer and tape records Updated tape status

Customer and tape records

Customer and tape records

?^ Again, the^ detailed^ information that^ should appear^ on the form is^ never specified^ in the^ requirements, so^ this helps^ uncover a fault.

Note that the inputs and outputs for the entire diagram match the inputs and outputs of the parent node on the previous slide.

Design Perspective

•^ 3. When the entire data flow diagram has been expanded toan appropriate level of detail, examine the completeddiagram to answer the following questions:^ –

Does each data flow arrow have a name associated with it? Is thedata it represents defined at an appropriate level of detail in therequirements?– Have all of the data sources, stores, and destinations listed onForm A been used in at least one of the lower-level diagrams?– Can you trace through the data flow diagram using actual casesand achieve the expected result?– Does the flow of data within each of the lower-level diagrams makesense from what you know about the application or from what isspecified in the general requirements?