Professional Documents
Culture Documents
SE 06 Soft Spec
SE 06 Soft Spec
Munawar, PhD
Overview
• What is a Specification?
• Operational Specifications
– Data Flow Diagrams (already discussed...)
• Diagrammatic Specifications
– Entity Relationship Diagrams
– UML Diagrams (A Quick, First Look)
• Use Case, Class, Object, and Sequence
• Activity and State Chart
• Collaboration, Component, Deployment
• Mathematical-Based Specifications
– Queueing and Simulation Models
• Writing Specifications
What’s in a Specification?
• Operational
– Describes Desired Behavior of System
– Usually Provides a Model of System Behavior
– Verified by Prototyping
• Descriptive
– Describes Desired Properties of System
– Declarative Specification
– Usually Uses Mathematical Equations
– More Abstract than Operation Specification
No Focus on Implementation
• Actual Specifications – Mix of Both…
Verification of Specifications
• Two Approaches:
– “Observe” Dynamic Behavior of Specified System (Simulation,
Prototyping, “Testing” specs)
– Analyze Properties of the Specified System
• Both Depend on Formality of Specification
• Analogy with Traditional Engineering
– Physical Model of a Bridge
• Build An Actual Model
• Test it out in Wind Tunnel
– Mathematical Model of a Bridge
• What’s Reality of Bridge Building?
– Guarantee of Success w.r.t. Weight, Weather, etc.
• Are there Similar Guarantees in Software?
• What Software Applications Need Such Guarantees?
Operational Specifications
• ER Model Concepts
– Entities and Attributes
– Entity Types, Value Sets, and Key Attributes
– Relationships and Relationship Types
– Weak Entity Types
– Roles and Attributes in Relationship Types
• Relationships of Higher Degree
• Skip Extended Entity-Relationship (EER) Model
Entities, Types, and Instances
RELATIONSHIP TYPE
ATTRIBUTE
KEY ATTRIBUTE
MULTIVALUED ATTRIBUTE
COMPOSITE ATTRIBUTE
E1 R E2 DERIVED ATTRIBUTE
N TOTAL PARTICIPATION OF E2 IN R
E1 R E2
(min,max) CARDINALITY RATIO 1:N FOR E1:E2 IN R
R E
STRUCTURAL CONSTRAINT (min, max) ON
PARTICIPATION OF E IN R
ER Model Concepts: Entities
and Attributes
PROJ
EMP PROJ
What Do these
Arrows Represent
in ER Diagram?
What are Problems with ER
Notation?
borrow
book
return
book
customer librarian
library
update
Activity Diagram
• Akin to Petri Net
Requirements of Specification
Notation
Customer data
Document (name, type of
production document)
Customers
Print
Document
Recall Different Views – Control
Flow
Get user name
Search in
Customers
• Specifications Describe
– What the Users Need from a System (Requirements
Specification)
– Design of a Software System
(Design and Architecture Specification)
– Features Offered by a System
(Functional Specification)
– Performance Characteristics of a System (Performance
Specification)
– External Behavior of a Module
(Module Interface Specification)
– Internal Structure of a Module
(Internal Structural Specification)
Concluding Remarks