Requirement Document Overview

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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.

False (B)

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 __________.

<p>Introduction</p> Signup and view all the answers

Match the sections of the SRS with their content:

<p>Purpose = Reasons for creating the document Document Conventions = Standard format and rules used Intended Audience = Who should use the document References = Other documents used for drafting</p> Signup and view all the answers

Which of the following phrases best describes a good user requirement?

<p>The Online Banking System shall allow the user to access her current account balance in less than 5 seconds. (A)</p> Signup and view all the answers

A vague quality criterion in a user requirement helps to set clear expectations.

<p>False (B)</p> Signup and view all the answers

What is the primary focus of user requirements?

<p>The user's needs or tasks.</p> Signup and view all the answers

The Internet User _____ sees her current account balance on the laptop screen.

<p>quickly</p> Signup and view all the answers

Match the following aspects of good user requirements with their descriptions:

<p>Defines the system = Identifies the specific system under discussion Quality criteria = Sets measurable success metrics Expected end result = Describes what the user wants to achieve Implementation details = Specifies how the requirement should be fulfilled</p> Signup and view all the answers

What is the primary purpose of a Data Flow Diagram (DFD)?

<p>To clarify system requirements (D)</p> Signup and view all the answers

A data dictionary provides detailed descriptions of data flow within a system.

<p>False (B)</p> Signup and view all the answers

What symbol in a data dictionary notation indicates optional data?

<p>Parentheses</p> Signup and view all the answers

The data dictionary stores the _____ of data items, among other details.

<p>names</p> Signup and view all the answers

Match the following data dictionary elements with their definitions:

<p>Name = Identification of the data item Aliases = Other names for the data item Description = Purpose of the data item Range of values = Possible values the data can take</p> Signup and view all the answers

Which of the following is represented by square brackets in data dictionary notation?

<p>Optional elements (D)</p> Signup and view all the answers

Curly braces in data dictionary notation indicate a sequence of elements.

<p>True (A)</p> Signup and view all the answers

Give an example of a selection represented in a data dictionary.

<p>Atm-transaction = [ deposit | withdrawal ]</p> Signup and view all the answers

What is the primary purpose of a Software Requirements Specifications (SRS) document?

<p>To describe what the system should do (B)</p> Signup and view all the answers

User requirements are primarily intended for software developers.

<p>False (B)</p> Signup and view all the answers

List two characteristics that an SRS document should possess.

<p>Consistent and complete</p> Signup and view all the answers

The __________ document describes the specific functions and constraints of the system in detail.

<p>system requirements</p> Signup and view all the answers

Match the requirement types with their primary audience:

<p>User Requirements = Client managers, System end-users System Requirements = Software developers, System architects Software Specification = Client engineers, Contractor managers</p> Signup and view all the answers

What may happen without a properly developed SRS document?

<p>Maintenance engineers may struggle to understand system functionality. (C)</p> Signup and view all the answers

An SRS document includes design suggestions and possible solutions.

<p>False (B)</p> Signup and view all the answers

What is one major problem that can arise from the absence of an SRS document?

<p>Software developers may not know if they are meeting customer requirements.</p> Signup and view all the answers

Which of the following is NOT a mandatory characteristic of a requirement?

<p>Prioritized (D)</p> Signup and view all the answers

It is acceptable to mix different kinds of requirements together.

<p>False (B)</p> Signup and view all the answers

What should be avoided when writing requirements to prevent over-specification?

<p>Describing how the system is going to achieve something.</p> Signup and view all the answers

The system shall inform the customer that the purchase is __________.

<p>confirmed</p> Signup and view all the answers

Match the pitfalls of writing requirements with their descriptions:

<p>Over-specification = Describing how the system achieves requirements Vague terms = Using informal language that can't be verified Mixing requirements levels = Confusing high level and technical requirements Indefinable quality = Using words like 'user-friendly' or 'flexible'</p> Signup and view all the answers

Which term is an example of a vague indefinable term?

<p>User-friendly (A)</p> Signup and view all the answers

Which test can help to distinguish between what the system should do versus how it should do it?

<p>What versus how test</p> Signup and view all the answers

All requirements should prioritize the aspect of cost-effectiveness when written.

<p>False (B)</p> Signup and view all the answers

Which of the following is considered a writing pitfall to avoid when creating requirements?

<p>Making multiple requirements (D)</p> Signup and view all the answers

Wishful thinking refers to requesting realistic and achievable goals in a project requirement.

<p>False (B)</p> Signup and view all the answers

What is one danger sign that indicates multiple requirements are present when writing?

<p>Conjunctions</p> Signup and view all the answers

The Easy Entry System _____ be fully adaptable to all situations.

<p>may</p> Signup and view all the answers

Match the following terms with their meanings:

<p>Requirement = A specification of what a system should do Pitfall = A common mistake to avoid Suggestion = An option that is not a requirement DFD = A graphical representation of process flow</p> Signup and view all the answers

Which statement best exemplifies a well-structured requirement?

<p>The Order Entry system shall process orders quickly and user-friendly. (B)</p> Signup and view all the answers

Including lengthy explanations in requirements is encouraged to provide clarity.

<p>False (B)</p> Signup and view all the answers

What should developers typically ignore according to the common pitfalls mentioned in requirement writing?

<p>Suggestions or possibilities</p> Signup and view all the answers

Flashcards

Software Requirements Specification (SRS)

A document that describes the needs and requirements of a software system.

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

The scope of the software system, outlining what it will do and what it won't do.

References

A list of documents, standards, or other resources referenced in the SRS.

Signup and view all the flashcards

Intended Audience and Reading Suggestions

The intended audience for the SRS, such as developers, testers, or stakeholders, along with guidance on how to use the document effectively.

Signup and view all the flashcards

User Requirements

Statements written in plain language and diagrams that describe what the system should do and the limitations it must operate under.

Signup and view all the flashcards

System Requirements

A detailed description of the system's functions, services, and constraints. Outlines how the system should work.

Signup and view all the flashcards

Software Specification

A comprehensive and detailed plan describing the software's design and implementation, aimed at developers.

Signup and view all the flashcards

Problems without an SRS document

A situation where the software might not meet the customer's needs due to a lack of proper documentation.

Signup and view all the flashcards

Goal of SRS document 1

Ensuring that the software accurately meets the customer's needs and expectations.

Signup and view all the flashcards

Goal of SRS document 2

Helping software developers fully comprehend the customer's requirements for efficient development.

Signup and view all the flashcards

Goal of SRS document 3

Allowing maintenance engineers to easily understand the software's functionality for efficient upkeep.

Signup and view all the flashcards

Good User Requirement

A user requirement that specifies the system under discussion, a desired end result, and a measurable quality criteria.

Signup and view all the flashcards

Bad User Requirement

A user requirement that lacks a clear identifier for the action (verb), uses vague quality criteria, and details implementation instead of user needs.

Signup and view all the flashcards

Pitfall: Specifying Implementation

When a user requirement focuses on the 'how' the system fulfills its function, rather than the user's desired outcome.

Signup and view all the flashcards

Challenge of Defining Good User Requirements

The challenge in defining good user requirements is to clearly specify the system, the desired outcome, and the success metric (often time-based).

Signup and view all the flashcards

Feasible Requirement

A requirement should be achievable with the available resources and technology.

Signup and view all the flashcards

Needed Requirement

A requirement should define a specific desired outcome or result.

Signup and view all the flashcards

Testable Requirement

A requirement should include a measurable criterion to assess its success.

Signup and view all the flashcards

Clear and Unambiguous Requirement

A requirement should be clear, concise, and have a single focus.

Signup and view all the flashcards

Prioritized Requirement

Requirements should be prioritized to ensure the most critical aspects are addressed first.

Signup and view all the flashcards

Requirement ID

Each requirement should have a unique identifier for easy reference.

Signup and view all the flashcards

What vs. How

Focus on what the system should do instead of how it will do it. Avoid over-specification.

Signup and view all the flashcards

Avoiding Vague Terms

Avoid using vague, subjective terms like "user-friendly" or "highly versatile." These terms are hard to measure.

Signup and view all the flashcards

Data Flow Diagram (DFD)

A visual representation of how data flows within a system, outlining the key transformations and processes involved.

Signup and view all the flashcards

Data Dictionary

A catalogue that defines all the data elements used within a system, providing detailed information about each element.

Signup and view all the flashcards

Plus sign (+) in Data Dictionary

Used to indicate that one element is followed by or concatenated with another element.

Signup and view all the flashcards

Square brackets [ ] in Data Dictionary

Used to enclose optional elements.

Signup and view all the flashcards

Vertical line or slash ( | / ) in Data Dictionary

Used to indicate alternatives or different options.

Signup and view all the flashcards

Curly braces { } in Data Dictionary

Used to represent a series of repetitions of elements inside the brackets.

Signup and view all the flashcards

Superscript number in curly braces in Data Dictionary

Indicates how many times an element can be repeated.

Signup and view all the flashcards

Parentheses ( ) in Data Dictionary

Represents optional data elements in a data dictionary.

Signup and view all the flashcards

Multiple Requirements in a Single Sentence

Using conjunctions like "and", "or", "with", and "also" can create multiple requirements within a single sentence, making it harder to understand and manage.

Signup and view all the flashcards

Rambling Requirements

Requirements should be concise and to the point, avoiding unnecessary jargon or lengthy explanations.

Signup and view all the flashcards

Expressing Suggestions or Possibilities

Requirements should be specific and actionable, avoiding vague suggestions or possibilities. Using words like "may", "might", or "should" can lead to ambiguity and misinterpretation.

Signup and view all the flashcards

Wishful Thinking in Requirements

Requirements should be realistic and achievable, avoiding wishful thinking or unrealistic expectations. For example, asking for 100% reliability or full platform compatibility may be impossible.

Signup and view all the flashcards

DFD purpose

A Data Flow Diagram (DFD) visually illustrates the flow and transformation of data within a system, highlighting how inputs are processed and turned into outputs. It helps to understand the system's logic.

Signup and view all the flashcards

DFD components

A Data Flow Diagram (DFD) shows the data flow and transformations within a system, using different symbols to represent entities, processes, data stores, and data flows.

Signup and view all the flashcards

DFD Benefits

Data Flow Diagrams are beneficial in understanding system processes and data movement, aiding in the design, analysis, and communication of complex systems.

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.

Quiz Team

Related Documents

More Like This

Text-Based Essay Questions Quiz
3 questions

Text-Based Essay Questions Quiz

ThoughtfulEmpowerment avatar
ThoughtfulEmpowerment
Quiz on Writing Requirements
30 questions

Quiz on Writing Requirements

FelicitousTrigonometry avatar
FelicitousTrigonometry
Contracts Overview Quiz
40 questions

Contracts Overview Quiz

FoolproofGreenTourmaline avatar
FoolproofGreenTourmaline
Use Quizgecko on...
Browser
Browser