Podcast
Questions and Answers
What is a key characteristic of viable requirements?
What is a key characteristic of viable requirements?
Why is it important to provide rationale with requirements?
Why is it important to provide rationale with requirements?
What is a common mistake when writing requirements in terms of verifiability?
What is a common mistake when writing requirements in terms of verifiability?
Which statement describes a successful training outcome as a requirement?
Which statement describes a successful training outcome as a requirement?
Signup and view all the answers
Which of the following is NOT a factor in determining the viability of a requirement?
Which of the following is NOT a factor in determining the viability of a requirement?
Signup and view all the answers
What is the primary purpose of requirements validation?
What is the primary purpose of requirements validation?
Signup and view all the answers
Which method is emphasized as an important technique for validating requirements?
Which method is emphasized as an important technique for validating requirements?
Signup and view all the answers
What does the completeness check in requirements checking signify?
What does the completeness check in requirements checking signify?
Signup and view all the answers
Why is it important to involve both client and contractor staff in requirements reviews?
Why is it important to involve both client and contractor staff in requirements reviews?
Signup and view all the answers
What can make changes to the requirements document easier?
What can make changes to the requirements document easier?
Signup and view all the answers
What is a primary issue with ambiguous requirements?
What is a primary issue with ambiguous requirements?
Signup and view all the answers
Why can natural language (NL) specifications be problematic?
Why can natural language (NL) specifications be problematic?
Signup and view all the answers
What is the benefit of using a glossary in requirements specification?
What is the benefit of using a glossary in requirements specification?
Signup and view all the answers
What characterizes mathematical specifications?
What characterizes mathematical specifications?
Signup and view all the answers
Which approach uses templates for expressing requirements specifications?
Which approach uses templates for expressing requirements specifications?
Signup and view all the answers
What is a limitation of NL structures in requirements specification?
What is a limitation of NL structures in requirements specification?
Signup and view all the answers
What is the primary function of fit criteria in requirements?
What is the primary function of fit criteria in requirements?
Signup and view all the answers
What can be a major drawback of using formal specifications?
What can be a major drawback of using formal specifications?
Signup and view all the answers
What is a key characteristic of a requirements document?
What is a key characteristic of a requirements document?
Signup and view all the answers
In writing a requirements document, which verb should be used for mandatory requirements?
In writing a requirements document, which verb should be used for mandatory requirements?
Signup and view all the answers
What major problem might exist in a requirements document?
What major problem might exist in a requirements document?
Signup and view all the answers
Which of the following is not included in the criteria for completeness of a requirements document?
Which of the following is not included in the criteria for completeness of a requirements document?
Signup and view all the answers
What is advised in the guidelines for writing requirements regarding technical language?
What is advised in the guidelines for writing requirements regarding technical language?
Signup and view all the answers
Which of the following contributes to the inconsistency of requirements?
Which of the following contributes to the inconsistency of requirements?
Signup and view all the answers
Which aspect should be focused on when validating a requirements document?
Which aspect should be focused on when validating a requirements document?
Signup and view all the answers
What kind of behaviors should a requirements document specify?
What kind of behaviors should a requirements document specify?
Signup and view all the answers
Study Notes
Software Requirements Document
- A software requirements document is an official statement of what is required of system developers.
- It should define and specify requirements.
- It is not a design document, but should focus on what the system should do, not how.
Key Points
- Identify major components of the requirements document.
- Identify potential problems in the requirements document.
- Understand requirements document validation.
- Learn IEEE requirements document standards.
Guidelines for Writing Requirements
- Create a standard format for all requirements.
- Use consistent language, using "shall" for mandatory and "should" for desirable requirements.
- Use text highlighting to identify key parts of requirements.
- Avoid computer jargon.
Requirements Document Requirements
- Detail external system behaviour.
- Specify implementation constraints.
- Ensure requirements are easily modifiable.
- Predict and document system lifecycle changes.
- Characterise responses to unexpected events.
Complex Problems
- System complexity may make thorough understanding impossible during development.
- Requirements can often be incomplete and inconsistent due to this complexity.
Reasons for Inconsistency
- Large software systems often have effects on the organization that are difficult to foresee.
- Different users and organizations have different priorities and requirements.
Requirements Completeness
- A complete requirements document includes those relating to functionality, performance, design constraints, attributes, and external interfaces.
- It should describe all required features. Gaps in specification lead to assumptions.
Requirements Ambiguity
- Ambiguous requirements lead to different interpretations by developers and users.
- Examples include vagueness in statements about acceptable user numbers.
Ambiguity
- The natural language used in requirements is inherently ambiguous.
- Each requirement should have only one interpretation.
- Use clear and concise language, and use a glossary when necessary to avoid confusion.
- Define "fit criteria" to test solutions against requirements.
Problems with Natural Language Specifications
- Ambiguity: Readers and writers of requirements may have different interpretations of the same words.
- Over-flexibility: Multiple ways to express the same thing in the specification may confuse.
- Lack of modularisation: Natural language is often poorly suited to structuring system requirements.
Alternatives to Natural Language Specifications
- Structured Natural Language: Uses standard forms and templates for requirements.
- Design Description Languages: Uses programming language-like abstract features for defining an operational model.
- Graphical Notations: Uses visual representations supplemented by text to specify functional requirements.
- Mathematical Specifications: Uses concepts like finite-state machines to create precise and unambiguous requirements, but can be difficult for customers to understand.
Correctness
- Every requirement statement must accurately represent the functionality required.
Viability
- Requirements must be viable within the constraints of the project.
- Technical skills, time, budget, and stakeholder acceptance are viability concerns.
Requirements Rationale
- Providing rationale for requirements helps developers understand the application domain and justifies current form.
- Important for making changes to requirements without unforeseen effects
Requirements Verifiability
- Requirements should be precise and measurable, allowing objective verification.
- Vague terms like "minimize errors" should be quantified.
- Define metrics, such as an experienced user completing tasks within a set time and number of errors.
Requirements Separation
- Functional and non-functional requirements should be explicitly separated.
- Non-functional requirements (e.g., safety) may involve the addition of functions to the system.
Requirements Validation
- Validating requirements ensures the system meets customer needs accurately.
- Error costs associated with requirements errors typically high, making validation crucial.
- Prototyping helps in requirements validation.
Requirements Checking
- Validate requirements by ensuring that they meet customer needs, checking for conflicts, and confirming if all relevant functionalities are included.
- Requirements must be achievable given budget and technology.
Requirements Reviews
- Hold regular reviews to check requirements during their formulation.
- Involve client and contractor staff to ensure everyone's input is captured.
- Early communication to resolve issues quickly
Requirements Document Changes
- Organize the document to facilitate modifications without extensive rewriting.
- Minimize external references and use modular sections.
- Electronic documents facilitate changes.
IEEE Requirements Standard
- The IEEE standard document structure includes a general description, specific requirements, appendices, and an index.
- It is a generic structure adapted to specific systems.
IEEE Recommendations
- The IEEE recommendations detail the structure of a software requirement document, specifying sections like Introduction, Overview and Specific Requirements.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz explores the essentials of a Software Requirements Document (SRD). You will learn about the key components, validation processes, and the IEEE standards relevant to creating effective requirements. Test your understanding of how to specify what a system should do without delving into design details.