Correct-by-construction asynchronous implementation of modular synchronous specifications
Software Engineering - Specifications 1 Specifications Specification document must be clear,...
-
Upload
jadyn-godbolt -
Category
Documents
-
view
219 -
download
0
Transcript of Software Engineering - Specifications 1 Specifications Specification document must be clear,...
![Page 1: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/1.jpg)
Software Engineering - Specifications
1
Specifications
Specification document must be clear, complete and correct
![Page 2: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/2.jpg)
Software Engineering - Specifications
2
The Document
Specifications document must clearly outline the constraints of the proposed system including restrictions on hardware, portability, reliability, timing and other resource usage issues
![Page 3: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/3.jpg)
Software Engineering - Specifications
3
Presentation of Specifications Informal Techniques Semi-Formal Techniques Formal Techniques
![Page 4: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/4.jpg)
Software Engineering - Specifications
4
Informal Techniques
Uses natural languages e.g. Spanish, English
Attempts to express what system will do when completed
Requires good grammatical skills Contains a level of ambiguity
![Page 5: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/5.jpg)
Software Engineering - Specifications
5
Semi-Formal Techniques
Seeks to remove ambiguity found with informal techniques
Seeks to be highly expressive Seeks to be clear and logical to both
developer and client representatives Uses Diagrams
![Page 6: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/6.jpg)
Software Engineering - Specifications
6
Data Flow Diagrams
Pictorial representation of all aspects of logical data flow
Uses predefined symbols to express the movement of data in a system
Cannot express all aspects of system
Developed iteratively
![Page 7: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/7.jpg)
Software Engineering - Specifications
7
DFD Symbols
External Entity
Process
Data store
dataflow
![Page 8: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/8.jpg)
Software Engineering - Specifications
8
Data Flow Diagrams
It essentially shows the logical data flow of a given process.
Lets look at few examples, which together demonstrate the uses and various levels of abstraction that can be achieved using DFDs.
First example: data flow diagram for specifying the
expression (a + b) * (c + a * d).
![Page 9: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/9.jpg)
Software Engineering - Specifications
9
Example #1UserUser
+
*
b a d c
Display ScreenDisplay Screen
* +
![Page 10: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/10.jpg)
Software Engineering - Specifications
10
Example #2 A software store purchases
commercial off-the-self (COTS) software from various suppliers and resells them to the public. The store offers credit to institutions, corporations, and some individuals. After several years of good financial returns management has decided to fully computerise the company’s manual operation.
![Page 11: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/11.jpg)
Software Engineering - Specifications
11
Example #2: First Refinement
1st Refinement DFD for the Software store
![Page 12: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/12.jpg)
Software Engineering - Specifications
12
Example #2: Second Refinement
2nd Refinement DFD for the Software store
![Page 13: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/13.jpg)
Software Engineering - Specifications
13
Example #2: Third Refinement
![Page 14: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/14.jpg)
Software Engineering - Specifications
14
Entity-Relationship Modelling Technique which allows
relationships between data items to be expressed
Relationships may be one-to-one, one-to-many or many-to-many
Used primarily in the design of databases
![Page 15: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/15.jpg)
Software Engineering - Specifications
15
Formal Techniques
Rely on mathematical sophistication Includes finite state machines, petri
nets and formal languages such as Z and VDM.
Requires high level of mathematical training to use
![Page 16: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/16.jpg)
Software Engineering - Specifications
16
Pros & Cons of techniques
Informal techniques are easy to use and understand by client
Formal techniques are highly expressive and correctness can be proved using maths.
Informal techniques may be ambiguous, lack clarity of formal techniques
Formal techniques are hard to learn, client may have difficulty grasping concepts
![Page 17: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/17.jpg)
Software Engineering - Specifications
17
Pros & Cons Cont’d
Many times the technique used will depend on the ability of client to understand the technique
For a client not having persons with a formal (maths) background, informal or semi-formal approaches may be the only viable ones.
![Page 18: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/18.jpg)
Software Engineering - Specifications
18
Testing during specifications These have been mentioned before,
namely… Walkthrough of specification document Inspections process Use of correctness proving (where
formal technique is used)
![Page 19: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/19.jpg)
Software Engineering - Specifications
19
Software Tools
Graphical tool – to construct diagrams, charts, drawings etc.
Data Dictionary(DD) tool – to store relationships between attributes
Combo Graphical/DD tool
![Page 20: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/20.jpg)
Software Engineering - Specifications
20
Useful Metrics – pt. A
Number of pages in specification document. This allows comparison with past documents to give a sense of the scale of the current product being developed
Rate at which faults are found may also indicated how good spec. team is
![Page 21: Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.](https://reader036.fdocuments.in/reader036/viewer/2022062619/5517e513550346cb568b46a9/html5/thumbnails/21.jpg)
Software Engineering - Specifications
21
Useful Metrics – pt. B
Number of potential files, processes, components etc. can also preview the eventual effort required.