Podcast
Questions and Answers
What does IEEE Std 830-1998 provide guidelines for?
What does IEEE Std 830-1998 provide guidelines for?
- Project Management
- Software Maintenance
- Software Requirements Specifications (correct)
- Software Testing
The SRS document does not have to include a table of contents.
The SRS document does not have to include a table of contents.
False (B)
Name one aspect covered by the SRS according to IEEE Std 830-1998.
Name one aspect covered by the SRS according to IEEE Std 830-1998.
Guidelines for preparing SRS documents
The first section of the SRS is titled __________.
The first section of the SRS is titled __________.
Match the sections of the SRS with their content:
Match the sections of the SRS with their content:
Which of the following phrases best describes a good user requirement?
Which of the following phrases best describes a good user requirement?
A vague quality criterion in a user requirement helps to set clear expectations.
A vague quality criterion in a user requirement helps to set clear expectations.
What is the primary focus of user requirements?
What is the primary focus of user requirements?
The Internet User _____ sees her current account balance on the laptop screen.
The Internet User _____ sees her current account balance on the laptop screen.
Match the following aspects of good user requirements with their descriptions:
Match the following aspects of good user requirements with their descriptions:
What is the primary purpose of a Data Flow Diagram (DFD)?
What is the primary purpose of a Data Flow Diagram (DFD)?
A data dictionary provides detailed descriptions of data flow within a system.
A data dictionary provides detailed descriptions of data flow within a system.
What symbol in a data dictionary notation indicates optional data?
What symbol in a data dictionary notation indicates optional data?
The data dictionary stores the _____ of data items, among other details.
The data dictionary stores the _____ of data items, among other details.
Match the following data dictionary elements with their definitions:
Match the following data dictionary elements with their definitions:
Which of the following is represented by square brackets in data dictionary notation?
Which of the following is represented by square brackets in data dictionary notation?
Curly braces in data dictionary notation indicate a sequence of elements.
Curly braces in data dictionary notation indicate a sequence of elements.
Give an example of a selection represented in a data dictionary.
Give an example of a selection represented in a data dictionary.
What is the primary purpose of a Software Requirements Specifications (SRS) document?
What is the primary purpose of a Software Requirements Specifications (SRS) document?
User requirements are primarily intended for software developers.
User requirements are primarily intended for software developers.
List two characteristics that an SRS document should possess.
List two characteristics that an SRS document should possess.
The __________ document describes the specific functions and constraints of the system in detail.
The __________ document describes the specific functions and constraints of the system in detail.
Match the requirement types with their primary audience:
Match the requirement types with their primary audience:
What may happen without a properly developed SRS document?
What may happen without a properly developed SRS document?
An SRS document includes design suggestions and possible solutions.
An SRS document includes design suggestions and possible solutions.
What is one major problem that can arise from the absence of an SRS document?
What is one major problem that can arise from the absence of an SRS document?
Which of the following is NOT a mandatory characteristic of a requirement?
Which of the following is NOT a mandatory characteristic of a requirement?
It is acceptable to mix different kinds of requirements together.
It is acceptable to mix different kinds of requirements together.
What should be avoided when writing requirements to prevent over-specification?
What should be avoided when writing requirements to prevent over-specification?
The system shall inform the customer that the purchase is __________.
The system shall inform the customer that the purchase is __________.
Match the pitfalls of writing requirements with their descriptions:
Match the pitfalls of writing requirements with their descriptions:
Which term is an example of a vague indefinable term?
Which term is an example of a vague indefinable term?
Which test can help to distinguish between what the system should do versus how it should do it?
Which test can help to distinguish between what the system should do versus how it should do it?
All requirements should prioritize the aspect of cost-effectiveness when written.
All requirements should prioritize the aspect of cost-effectiveness when written.
Which of the following is considered a writing pitfall to avoid when creating requirements?
Which of the following is considered a writing pitfall to avoid when creating requirements?
Wishful thinking refers to requesting realistic and achievable goals in a project requirement.
Wishful thinking refers to requesting realistic and achievable goals in a project requirement.
What is one danger sign that indicates multiple requirements are present when writing?
What is one danger sign that indicates multiple requirements are present when writing?
The Easy Entry System _____ be fully adaptable to all situations.
The Easy Entry System _____ be fully adaptable to all situations.
Match the following terms with their meanings:
Match the following terms with their meanings:
Which statement best exemplifies a well-structured requirement?
Which statement best exemplifies a well-structured requirement?
Including lengthy explanations in requirements is encouraged to provide clarity.
Including lengthy explanations in requirements is encouraged to provide clarity.
What should developers typically ignore according to the common pitfalls mentioned in requirement writing?
What should developers typically ignore according to the common pitfalls mentioned in requirement writing?
Flashcards
Software Requirements Specification (SRS)
Software Requirements Specification (SRS)
A document that describes the needs and requirements of a software system.
IEEE Std 830-1998
IEEE Std 830-1998
The IEEE Std 830-1998 standard provides guidelines for creating SRS documents, ensuring they are comprehensive and well-structured.
Product Scope
Product Scope
The scope of the software system, outlining what it will do and what it won't do.
References
References
Signup and view all the flashcards
Intended Audience and Reading Suggestions
Intended Audience and Reading Suggestions
Signup and view all the flashcards
User Requirements
User Requirements
Signup and view all the flashcards
System Requirements
System Requirements
Signup and view all the flashcards
Software Specification
Software Specification
Signup and view all the flashcards
Problems without an SRS document
Problems without an SRS document
Signup and view all the flashcards
Goal of SRS document 1
Goal of SRS document 1
Signup and view all the flashcards
Goal of SRS document 2
Goal of SRS document 2
Signup and view all the flashcards
Goal of SRS document 3
Goal of SRS document 3
Signup and view all the flashcards
Good User Requirement
Good User Requirement
Signup and view all the flashcards
Bad User Requirement
Bad User Requirement
Signup and view all the flashcards
Pitfall: Specifying Implementation
Pitfall: Specifying Implementation
Signup and view all the flashcards
Challenge of Defining Good User Requirements
Challenge of Defining Good User Requirements
Signup and view all the flashcards
Feasible Requirement
Feasible Requirement
Signup and view all the flashcards
Needed Requirement
Needed Requirement
Signup and view all the flashcards
Testable Requirement
Testable Requirement
Signup and view all the flashcards
Clear and Unambiguous Requirement
Clear and Unambiguous Requirement
Signup and view all the flashcards
Prioritized Requirement
Prioritized Requirement
Signup and view all the flashcards
Requirement ID
Requirement ID
Signup and view all the flashcards
What vs. How
What vs. How
Signup and view all the flashcards
Avoiding Vague Terms
Avoiding Vague Terms
Signup and view all the flashcards
Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
Signup and view all the flashcards
Data Dictionary
Data Dictionary
Signup and view all the flashcards
Plus sign (+) in Data Dictionary
Plus sign (+) in Data Dictionary
Signup and view all the flashcards
Square brackets [ ] in Data Dictionary
Square brackets [ ] in Data Dictionary
Signup and view all the flashcards
Vertical line or slash ( | / ) in Data Dictionary
Vertical line or slash ( | / ) in Data Dictionary
Signup and view all the flashcards
Curly braces { } in Data Dictionary
Curly braces { } in Data Dictionary
Signup and view all the flashcards
Superscript number in curly braces in Data Dictionary
Superscript number in curly braces in Data Dictionary
Signup and view all the flashcards
Parentheses ( ) in Data Dictionary
Parentheses ( ) in Data Dictionary
Signup and view all the flashcards
Multiple Requirements in a Single Sentence
Multiple Requirements in a Single Sentence
Signup and view all the flashcards
Rambling Requirements
Rambling Requirements
Signup and view all the flashcards
Expressing Suggestions or Possibilities
Expressing Suggestions or Possibilities
Signup and view all the flashcards
Wishful Thinking in Requirements
Wishful Thinking in Requirements
Signup and view all the flashcards
DFD purpose
DFD purpose
Signup and view all the flashcards
DFD components
DFD components
Signup and view all the flashcards
DFD Benefits
DFD Benefits
Signup and view all the flashcards
Study Notes
Writing Requirement Document
- A Writing Requirement Document (WRD) is a document that outlines the requirements for a writing project.
Types of Requirements
-
User Requirements: Natural language statements and diagrams describing what services the system should provide and operational constraints.
-
System Requirements: Detailed specifications of system functions, services, and operational constraints. A functional specification document, precise and defining what should be implemented.
-
Software Specification: Detailed software description to serve as a basis for design and implementation, intended for developers.
Requirement Readers
-
User requirements: Client managers, system end-users, client engineers, contractor managers, system architects.
-
System Requirements: System end-users, clients engineers, system architects and software developers.
-
Software specification: Client engineers(perhaps), system architects, and software developers.
Software Requirements Specifications (SRS) Document
-
The SRS document is the output of requirements analysis.
-
It should be consistent, unambiguous, complete, and correct.
-
It's not a design document, but describes what the system should do, not how.
-
It should only contain functional and non-functional requirements.
-
It doesn't suggest or detail solutions, focusing only on understanding developers and customer needs.
Problems Without SRS Document
- Without an SRS, the system implementation may not meet customer needs.
- Developers may not understand the exact requirements of the customer.
- Maintenance engineers face difficulty understanding the system's functionality without the SRS document.
- User manuals become difficult to write correctly without an SRS document.
Goals of SRS Document
-
Feedback to Customers: Ensures developers understand the problems to be solved; the SRS should be written in natural language, using data flow diagrams, charts and decision tables.
-
Problem Decomposition: Breaks down the problem into components, defining boundaries, solidifying ideas and helping break the problem into manageable parts.
-
Input to Design Specification: Serves as a guide to subsequent documents like Software Design Specification and Statement of Work; the SRS should contain details on the functional system requirements.
-
Production Validation Check: Facilitates testing and validation strategies, serving as the parent document.
Who Writes SRS Documents
- Typically, system architects and programmers write SRS documents.
- The requirements gathering team (including programmers, product marketers, system analysis/architects, and project managers) contribute to the creation of the SRS document.
Properties of a Good SRS Document
-
Concise and Structured: Should be easy to understand and modify, using a clear and well-organized structure.
-
Black-box View: Focuses on what the system should do, not how, avoiding implementation details and specifics.
-
Conceptual integrity: Supports a reader's ease of comprehension about the system.
-
Responses to undesired events: Addresses reactions to error conditions and unforeseen circumstances.
-
Verifiable: All requirements are verifiable so it can be determined if the requirements were met.
Parts of SRS Document
- Functional Requirements
- Non-Functional Requirements
- Goals of Implementation
IEEE Std 830-1998
- IEEE Recommended Practice for Software Requirements Specifications.
- Provides guidelines for creating SRS documents, covering key aspects.
SRS Table of Contents Example
Uses of SRS
-
Project Management: Used by project managers for planning and resource allocation.
-
Development: Used by developers to design, build, test the products.
-
Testing: Used by testing groups to create the test plan, and run tests.
-
Maintenance and Support: Helps maintenance and support staff understand system functionalities.
-
Documentation: Used for customer manuals' content creation.
-
Customers: Provides customers with expectations of the end product.
-
Training: Used for training materials production.
SRS Validation
-
Errors: Critical to identify and fix errors in the SRS document as early as possible to avoid issues in later development phases
-
Omission: Errors may occur in case some requirements are not included.
-
Inconsistency: May exist when user requirements clash with each other.
-
Incorrect Facts: Need to identify incorrect facts in the document.
-
Ambiguity: Ensuring requirements have clear and proper meanings.
Approaches to Requirement Representation
- Informal (natural language): 60% of respondents use this method.
- Formal: UML, class diagrams, sequence diagrams, Z, VDM, etc. are often used.
- Semi-Formal: Using a mix of formal and informal techniques.
Requirement Format
- Clear, concise and consistent: Form specifications are: -The [noun phrase] shall (not) [verb phrase]
- Identification: Important for tracking requirements with hierarchical numbering.
- Measurable constraints: Adding measurable constraints (e.g. time limits) enhances performance requirements.
- Command words: Use "shall" (for obligations/commands) and avoid ambiguous words like "should," "might," avoiding excessive detail on how to implement.
Shall or Shall Not?
- Using positive language ("shall") is preferred over negative ("shall not") in requirement statements.
Avoiding Imprecision in Requirements
- Use precise language: Replace vague words like "countless," "some," "approximately" with measured quantities.
Anatomy of a Good User Requirement
- Clear definition of system & the desired end result.
- Verb with correct identifier (shall or may).
- Positive end result.
- Quality criteria, measurable.
Example of a Bad User Requirement
- Incorrect identifier.
- Ambiguous and vague.
- Focuses on implementation details over the 'what'.
Standard of Writing a Requirement
- Characteristics: Feasible (realistic), Needed (necessary), Testable (measurable), Clarity, Unambiguity, Precision, and Prioritization with an ID. These characteristics are mandatory in some cases and are good for improving communication.
Writing Pitfalls to Avoid
- Avoid describing "how" something is achieved. focus on "what".
- System design should not be done too early, potentially increasing costs.
- Avoid mixing different levels (system, user, subsystems).
- Avoid overly technical terminology.
- Avoid vague indefinite terms (e.g., "user-friendly").
- Avoid multiple requirements in one sentence; it is critical to formulate requirements in a single sentence.
- Avoid adding suggestions or possibilities.
- Avoid wishful thinking (e.g., "fully upgradeable").
Data Flow Diagram (DFD)
-
A graphical representation that illustrates the flow of information within a system.
-
Clarifies system requirements and major transformations.
Symbols in DFDs
- The graphical elements used in Data Flow Diagrams: -Function: A circle / oval -File/Database: A set of horizontal lines -Input/Output: A rectangle -Flow: An arrow
Data Dictionary
- A catalog of all elements in a system.
- Represents the details of information, complementing the DFD flow diagram.
- Includes information like item name, aliases, descriptions, related items, ranges of values, and data structure definitions.
Entity Relationship (ER) Diagram
-
A detailed, logical representation of data.
-
Important components: -Data Entities -Entities relationships -Entities Attributes
Decision Table
-
Used to express complex conditions and associated actions logically.
-
Structures complex logic in a readable and systematic way.
-
Contains 4 parts:
-
Condition stub: conditions (inputs)
-
Condition rules: combinations of conditions
-
Action stub: actions (outputs)
-
Action Rules: actions related to conditions and rules.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.