Podcast
Questions and Answers
What is the purpose of graphical models and text annotations in defining functional requirements?
What is the purpose of graphical models and text annotations in defining functional requirements?
Why might customers be reluctant to accept a formal mathematical specification as a system contract?
Why might customers be reluctant to accept a formal mathematical specification as a system contract?
How are requirements typically stated in natural language specification?
How are requirements typically stated in natural language specification?
In the context of system architecture and requirements, why are requirements and design considered inseparable?
In the context of system architecture and requirements, why are requirements and design considered inseparable?
Signup and view all the answers
Which type of notation is typically used for defining functional requirements alongside text annotations?
Which type of notation is typically used for defining functional requirements alongside text annotations?
Signup and view all the answers
Why do most customers struggle to understand formal specifications despite their unambiguous nature?
Why do most customers struggle to understand formal specifications despite their unambiguous nature?
Signup and view all the answers
What is the purpose of a self-test routine in discovering hardware and software problems?
What is the purpose of a self-test routine in discovering hardware and software problems?
Signup and view all the answers
In structured specifications, why is the approach to writing requirements limited?
In structured specifications, why is the approach to writing requirements limited?
Signup and view all the answers
What is a key characteristic of form-based specifications?
What is a key characteristic of form-based specifications?
Signup and view all the answers
When is a tabular specification particularly useful?
When is a tabular specification particularly useful?
Signup and view all the answers
Why are structured specifications sometimes considered too rigid for business system requirements?
Why are structured specifications sometimes considered too rigid for business system requirements?
Signup and view all the answers
What makes tabular specifications a useful supplement to natural language?
What makes tabular specifications a useful supplement to natural language?
Signup and view all the answers
Which type of requirements are more detailed and may include more technical information?
Which type of requirements are more detailed and may include more technical information?
Signup and view all the answers
In a requirements document, how are the requirements usually expressed?
In a requirements document, how are the requirements usually expressed?
Signup and view all the answers
What is the purpose of a natural language structured template for writing requirements?
What is the purpose of a natural language structured template for writing requirements?
Signup and view all the answers
Which language-like approach is now rarely used for specifying requirements?
Which language-like approach is now rarely used for specifying requirements?
Signup and view all the answers
Why are system requirements important in the context of system development contracts?
Why are system requirements important in the context of system development contracts?
Signup and view all the answers
Which type of requirements have to be understandable by end users and customers without technical backgrounds?
Which type of requirements have to be understandable by end users and customers without technical backgrounds?
Signup and view all the answers
Study Notes
Graphical Notations
- Graphical models, supplemented by text annotations, define the functional requirements for a system.
- UML use case and sequence diagrams are commonly used graphical notations.
Mathematical Specifications
- These notations are based on mathematical concepts, such as finite-state machines or sets.
- They provide unambiguous specifications, reducing ambiguity in a requirements document.
- However, most customers may not understand formal specifications and are reluctant to accept them as a system contract.
Requirements and Design
- In principle, requirements should state what a system should do, and design should describe how it does this.
- In practice, requirements and design are inseparable.
- A system architecture may be designed to structure the requirements.
- The system may inter-operate with other systems, generating design requirements.
- The use of a specific architecture to satisfy non-functional requirements may be a domain requirement, resulting from a regulatory requirement.
Natural Language Specifications
- Requirements are written as natural language sentences, supplemented by diagrams and tables.
- This approach is expressive, intuitive, and universal.
- Natural language specifications can be used to write self-test routines that discover hardware and software problems.
Structured Specifications
- This approach limits the freedom of the requirements writer and writes requirements in a standard way.
- Structured specifications work well for certain types of requirements, such as embedded control systems, but may be too rigid for writing business system requirements.
Form-Based Specifications
- Form-based specifications define the function or entity, including inputs, outputs, and information needed for computation.
- They also describe the action to be taken, pre and post conditions, and side effects (if applicable).
Tabular Specifications
- Tabular specifications are used to supplement natural language and are particularly useful for defining multiple alternative courses of action.
- They are used when there are multiple possible outcomes or scenarios.
Requirements Specification
- Requirements specification is the process of writing down user and system requirements in a requirements document.
- User requirements must be understandable by end-users and customers without technical backgrounds.
- System requirements are more detailed and may include technical information.
- Requirements may be part of a contract for system development, making completeness essential.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Test your knowledge on structured specifications, an approach in writing requirements with limited freedom and in a standard way. Explore the challenges when applying this method to different types of systems.