








































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: SOFTWARE ENGINEERING; Subject: COMPUTER SOFTWARE ENGINEERING; University: University of Florida; Term: Unknown 2000;
Typology: Study notes
1 / 48
This page cannot be seen from the preview
Don't miss anything!









































©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 1
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 2
l^ To describe the use of:^ §^ Algebraic
specification techniques, and § Model-based^ specification techniques(including simple pre- and post-conditions).
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 4
(program correctness proofs) l Specifications are expressed withprecisely defined vocabulary, syntax, andsemantics.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 5
(e.g., inspections / reviews) have beensuccessful at increasing systemquality. (Hence, the
need^ for formal methods has been reduced.)
(Contād)
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 7
hard to scale up for very large systems. (Although thisis rarely necessary.)5. Start-up costs are high.6. Thus, the^ risks
of adopting formal methods^ on most projects
outweigh the benefits.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 8
and to^ express requirements unambiguously
l^ Projects which use formal methodsinvariably report
fewer errors
in the delivered software.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 10
Formalspecification Systemmodelling
Ar chitecturaldesign Requirementsdefinition
High-le veldesign
elicitation
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 11
-^ system is specified in terms of its operations and their relationships via axioms. l Model-based approach
(including simple pre- and post-conditions) ā
system is specified in terms of a^ state model
and operations are defined in terms of
changes to system state.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 13
, incompleteness
, and inconsistencies
are discovered and resolved. l Hence,^ rework
due to requirements problems^ is greatly reduced.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 14
Development costs with formalspecification Design andImplementation^ Specification
Validation Specification
ValidationDesign andImplementation Cost Without formalspecification
With formalspecification
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 16
Sub-systemB Interface^ objects
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 17
of the sor t and its operations Operation signatures
setting out the names and the types of < SPECIFICATION NAME > (Gener ic Parameter)the parameters to the operations defined over the sort Axioms^ defining the operations over the sort
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 19
:^ operations which create / modify^
entities of the type l^ Inspection operations
:^ operations which evaluate^ entities of the type being specified l Rule of thumb
for defining axioms:
define an axiom which sets out what is always true for each^ inspection
operation over each (primitive) constructor^ operation.
©Ian Sommerville 2000^
Software Engineering, Chapter 10
Slide 20
Operations on a (FIFO linear)āListā abstract data type l^ Constructor operations
which create or modify sort List:
Create ,^ Cons
and^ Tail l^ Inspection operations
which discover attributes of sort List:
Head^ and^ Length (LISP^ fans:LISP^ fans:LISP^ fans:LISP^ fans:
Tail^ =^ CDR,
Head^ =^ CAR) l^ Tail is not a
primitive^ operation since it canbe defined using Create and Cons. (Thus,axioms are not required for Head andLength over Tail.)