Transcript Delete

Ex_5.1/21
Exercise 5
Stepwise Refinement
Stepwise Refinement – Case StudyEx_5.2/21

Design a product to update a sequential master file
containing name and address data for monthly
magazine True Life Software Disasters,

Three types of transactions:
– Type 1: INSERT (new subscriber into master file)
– Type 2: MODIFY (existing subscriber record)
– Type 3: DELETE (existing subscriber record) ,

Transactions are sorted into alphabetical order,
and by transaction code within
alphabetical order.
Typical File of Input Transactions Ex_5.3/21
Delete
Insert
Update
Delete
Insert
…
Decompose Process

No further refinement is possible ,
Ex_5.4/21
First Refinement

Take couple of minutes to define the
process algorithm.
Ex_5.5/21
SR – Case Study (Cont’d)

Ex_5.6/21
Assumption
– We can produce a record when PROCESS requires it,


Separate INPUT and OUTPUT, concentrate on
PROCESS ,
What is this PROCESS?
The Process…

Ex_5.7/21
Transaction Record Key = Old Master Record Key
– 1: INSERT – Print error message,
– 2: MODIFY – Change Master File Record,
– 3: DELETE – Delete Master File Record,

Transaction Record Key > Old Master Record Key
– Copy old Master File Record onto new Master File ,

Transaction Record Key < Old Master Record Key:
– 1: INSERT – Write Transaction Record to new Master File,
– 2: MODIFY – Print error message,
– 3: DELETE – Print error message.
Second Refinement
Ex_5.8/21
SR – Case Study (Cont’d)



Input and output have been deferred,
No provision for end-of-file ,
No specification for error condition.
Ex_5.9/21
Third Refinement
Ex_5.10/21
SR – Case Study (Cont’d)

Ex_5.11/21
The third refinement is WRONG
– Consider “Modify JONES” followed by “Delete JONES”!
SR – Exercise

Ex_5.12/21
Consider the effect of introducing the look-ahead to
the design,
i.e. before processing a transaction, the next
transaction must be read.
– If both transactions apply to the same master file record,
than the decision regarding the processing of the current
transaction will depend on the type of the next transaction,
– For example, two successive insertion of the same record
are clearly an error,
– But two successive modifications of the same record may
be perfectly valid – for example, a subscriber can change
address more than once in a given month.
SR – Exercise (Cont’d)


Ex_5.13/21
Assignment 1 (in pairs):
Draw up a 3x3 table with the rows labeled by
the type of the current transaction, and the
columns labeled by the type of the next
transaction, and fill in the action to be taken in
each instance,
Next
Insert Modify Delete
Current
Insert
Modify
?
?
?
?
?
?
Delete
?
?
?,
SR – Exercise (Cont’d) …


Ex_5.14/21
Assignment 2:
Develop a flowchart for a third refinement that
incorporates look-ahead ,
SR – Exercise (cont’d) …



Ex_5.15/21
Assignment 3:
Check whether your answer can correctly
handle a modification transaction followed by a
deletion transaction, both transactions being
applied to the same master file record,
If not, modify your answer ,
SR – Exercise (Cont’d) …



Assignment 4:
Check whether your answer,
can also correctly handle
insertion followed by
a modification followed by
a deletion,
all applied to the
same master file record,
If not, modify your answer ,
Ex_5.16/21
SR – Exercise (Cont’d) …



Assignment 5:
Check whether your answer,
can also correctly handle
n insertions,
modifications or deletions,
n>2,
all applied to the
same master file record,
If not, modify your answer ,
Ex_5.17/21
SR – Exercise (Cont’d)



Ex_5.18/21
Assignment 6:
The last transaction record does not have a
successor.
Check whether your flowchart takes this into
account and processes the last transaction
record correctly,
If not, modify your answer ,
SR – Exercise (Cont’d)



Ex_5.19/21
Assignment 7 & Last ;-)
Verify that your flowchart handles all test cases
correctly!,
If not, modify your answer ,
Assignments


Ex_5.20/21
Article:
Synchronize and Stabilize vs. Open-Source
Webassign
Ex_5.21/21
Exercise 5
Stepwise Refinement
The End