SE381-04 (Week 2, lecture 2)
Why specification?
Communication
Analyze requirements
Informal (non-formal?) specification
Describe how a (software) system should function
Textual description
Diagrams, tables
Design models (e.g., UML)
More on these techniques in SE-382 next quarter
Some common techniques/elements of the specification process
Defining important terms
Listing basic operations
Listing alternative scenarios for each operation
Detailing normal and exceptional conditions . . .
. . . and how exceptions should be handled
Explicitly ensuring that all possible cases have been considered and specified
Listing constraints and assumptions
Specification exercise
Elevator control system -- read homework 1 handout
Some questions to ask
What is the right level of abstraction for the specification?
Should details like the timing of elevator door opening/closing be included?
Is it necessary to specify time intervals for elevator movement?
What are the primary operations that should be specified?
What are the significant system inputs and outputs?
What decisions must be made by the software that will control the elevator system?
What are the factors that go into making each type of decision?
Starting the process . . .
Form into teams (3-4 members?)
Discuss the system and questions
Instructor will act as client representative
Address ambiguities in the written system description
Answer questions about system requirements
Brief wrap-up discussion of issues and questions so far
[Section 1 comments]
Definition of terms
Floor wait time
Elevator wait time
Out of service
Max load
Basic operations
Moving from floor to floor
Decide what floor to go to
Response to button being pushed (two kinds - inside/outside)
Illuminating buttons
Assumptions/constraints
No human operator
Process constraint - only one week for this project
[Section 2 comments]
Definitions of terms
Elevator, floor, buttons, out of service
Basic operations
Go up/down/stop, go out of service, return to service
Wait
Respond to calls (internal/external calls)
Assumptions and constraints
At least one elevator