quiz image

Documentation of Requirements Introduction

QuieterSuccess avatar
QuieterSuccess
·
·
Download

Start Quiz

Study Flashcards

117 Questions

What was the main reason behind the failure of the first trials of the programming language Ada for specifications?

Pure Ada is too restrictive for requirements specifications.

Which type of specification is noted to be the easiest to understand for non-programmers?

Semiformal specification

Which language was specifically designed for time-critical, real-time systems according to the text?

RSL

What feature makes formal specifications advantageous compared to other types of specifications?

They are automatically verifiable.

Which decade saw the development of various notations aside from those mentioned based on Ada?

1980s

What distinguishes the raise specification language (RSL) from other notations discussed in the text?

It targets time-critical, real-time systems.

Why are semiformal specifications considered suitable for non-programmers?

They can be understood without extensive programming knowledge.

What was the primary motivation behind the development of various notations and formal languages for software requirements formulation?

To overcome the ambiguities and imprecision inherent in natural languages

Which statement best describes the relationship between the different notations mentioned in the text, such as PSL/PSA, SADT, and RSL?

They were each designed with specific types of applications and requirements in mind

According to the passage, what was the primary issue that led to the failure of the initial trials of using the programming language Ada for software requirements specifications?

Ada was too restrictive and not all relevant parties possessed the necessary programming knowledge

Which of the following statements accurately describes the advantages of formal specifications, as mentioned in the text?

Formal specifications can be automatically verified and executed in simulations and prototypes

Based on the information provided, which type of specification would be most suitable for a project involving a diverse team of stakeholders with varying levels of technical expertise?

Semiformal specifications, as they are easier to understand for non-programmers

According to the passage, what was the primary factor that drove the development of various notations and modeling methods for software development in the 1980s?

The increasing complexity of software systems and the need for more rigorous modeling techniques

Which of the following statements is true about the notations mentioned in the text, such as PSL/PSA, SADT, and RSL?

They were all developed in the same decade, the 1970s

Based on the information provided, which statement best describes the role of semiformal specifications in the software development process?

They serve as a bridge between natural language requirements and formal specifications

Which of the following can be inferred from the information provided about the development of notations and modeling methods for software requirements?

There was a lack of coordination and standardization, leading to a proliferation of different approaches

According to the passage, what is the primary advantage of using semiformal specifications compared to formal specifications or programming language-based specifications?

Semiformal specifications are more accessible to non-programmers and can facilitate communication

Which specification type is described as the easiest to understand for non-programmers in the text?

Semiformal specifications

According to the passage, what was the primary factor that drove the development of various notations and modeling methods for software development in the 1980s?

The increasing complexity of software systems

Which of the following best describes the primary advantage of formal specifications compared to other types of specifications mentioned in the text?

Formal specifications can be automatically verified and executed in simulations.

What was the main reason behind the failure of the first trials of using the programming language Ada for software requirements specifications, as mentioned in the text?

Ada was too restrictive for requirements specifications.

According to the passage, which of the following best describes the relationship between the notations mentioned, such as PSL/PSA, SADT, and RSL?

They were all developed concurrently in the 1970s for different types of software applications.

Which of the following can be inferred from the information provided about the development of notations and modeling methods for software requirements?

The development of these notations was a response to the increasing complexity of software systems.

Why are semiformal specifications considered suitable for non-programmers, as mentioned in the text?

Semiformal specifications require less programming knowledge to understand and use.

Which of the following statements accurately describes the advantages of formal specifications, as mentioned in the text?

Formal specifications are automatically verifiable and can be executed in simulations.

Which language was specifically designed for time-critical, real-time systems according to the text?

RSL

Which decade saw the development of various notations aside from those mentioned based on Ada?

1980s

Which statement accurately describes the relationship between the different notations mentioned in the text, such as PSL/PSA, SADT, and RSL?

They were originally designed for specific types of applications and requirements.

Based on the information provided, what can be inferred about the reason for the development of multiple notations and modeling methods in the 1980s?

There was a growing demand for more specialized notations for different application domains.

Which statement best describes the role of semiformal specifications in the software development process, according to the text?

They are easier to understand for non-programmers and can be maintained using tools.

According to the information provided, which aspect distinguishes formal specifications from other types of specifications?

They are automatically verifiable and can be executed in simulations and prototypes.

Based on the information provided, which notation would be most suitable for specifying requirements for a real-time control system?

RSL

According to the passage, what was the primary issue that led to the failure of the initial trials of using the programming language Ada for software requirements specifications?

Both A and B are correct.

Which statement best describes the advantage of semiformal specifications over formal specifications, based on the information provided?

Semiformal specifications are easier for non-programmers to understand.

Based on the information provided, which type of specification would be most suitable for a project involving a diverse team of stakeholders with varying levels of technical expertise?

Semiformal specifications

According to the passage, which of the following statements accurately describes the relationship between the different notations mentioned, such as PSL/PSA, SADT, and RSL?

They were originally designed with specific types of applications and requirements in mind.

Based on the information provided, which statement best describes the reason for the development of various notations and modeling methods in the 1980s?

There was a growing demand for more specialized notations for different application domains.

What is the primary goal of the core activity of documenting requirements?

To ensure the current state of knowledge

Why is it important to have a meticulous approach to handling requirements in a project?

To prevent the loss of overview due to high requirement change rate

In the context of requirements engineering, what is the significance of documenting rough requirements early on in a project?

To have a starting point for further refinement

What is one of the key purposes of documenting requirements within a project as highlighted in the text?

To facilitate communication among project participants

Why does the text suggest that a high change rate of requirements necessitates meticulous handling?

To prevent loss of overview due to frequent changes

What role does the documentation of requirements play in enhancing communication within a project according to the text?

It ensures knowledge gained can be viewed by all project participants

What is the primary purpose of specifying a document structure for requirements documents?

To ensure requirements are described in a consistent way across projects

Why do predefined document structures sometimes become 'write-only' in practice?

They are not tailored to the specific requirements of each project

What is the primary role of the 'Project Vision' section in a requirements document?

To define the scope and objectives of the project

What is the primary purpose of the 'Overview Level' section in a requirements document?

To define the technical and functional classification of the application

Why should specifications for document structures be continuously monitored and adapted?

To reflect the evolving needs and requirements of projects

What is the recommended length for the 'Project Vision' section in a requirements document?

Half an A4 page (approximately 1,600 characters)

What is the primary function of the 'Glossary' section in a requirements document?

To provide a list of all technical terms and abbreviations used

How does the text suggest requirements documents should be structured?

With a focus on completeness and standardization

What is the primary advantage of using a predefined document structure for requirements documents?

It ensures the documents are consistent across projects

What is the primary reason why predefined document structures sometimes become 'write-only' in practice?

They are not tailored to the specific needs of each project

What was one of the primary reasons cited for the failure of the initial trials of using Ada for software requirements specifications?

Insufficient programming knowledge among stakeholders to understand Ada

Which characteristic makes semiformal specifications appealing for non-programmers?

They are easier to understand and maintain using specific tools

In the 1970s, which notation was specifically designed for time-critical, real-time systems?

Raise Specification Language (RSL)

What aspect differentiates formal specifications from semiformal specifications in terms of stakeholders' understanding?

Ease of understanding for non-programmers

Why did the early trials of using Ada for software requirements fail according to the passage?

Overly restrictive nature of Ada for requirements specifications

Which notation developed in the 1970s was specifically tailored for information processing systems?

Problem Statement Language/Problem Statement Analyzer (PSL/PSA)

What is the primary purpose of requirements documentation in software projects?

To serve as a knowledge repository and reference for decisions and definitions

What is the risk associated with using very detailed software models to coordinate requirements with specialist departments, according to the text?

Stakeholders may not understand the documentation form used and not admit it

Which of the following levels of detail for requirements is described in the text?

High-level business objectives

What is the primary benefit of defining the purpose and target group of requirements documentation?

It ensures the documentation is aligned with the actual requirements in terms of content, scope, and form

Which of the following is identified as a typical risk in the practical handling of documented requirements, according to the text?

All of the above

What is the last opportunity to verify the correctness and completeness of requirements in an Agile software project?

At the end of each sprint

What is the main purpose of establishing different levels of detail for requirements, as described in the text?

To allow the requirements engineer to decide which level of detail to focus on next

What is the primary benefit of using different levels of detail for requirements documentation?

It allows the requirements engineer to decide which level of detail to focus on next

What is the main reason why different presentation formats may be used for requirements documentation, according to the text?

To ensure the documentation is aligned with the purpose and knowledge of the target audience

What is the main benefit of defining the purpose and target group of requirements documentation, according to the text?

It ensures the documentation is aligned with the actual requirements in terms of content, scope, and form

What are the two most frequently used forms of requirements documentation mentioned in the text?

Text and tables

In the context of documenting requirements, what is a disadvantage of using text and tables?

Room for interpretation

Which example from the text showcases a semiformal specification with a strict outline?

Example three

What distinguishes the formal specification example discussed in the text from other types of documentation?

Compact nature but not understood by non-programmers

Which coding language was mentioned as being specifically designed for time-critical, real-time systems in the text?

Ada

What crucial aspect is highlighted in the detailed structured specification example two?

Hierarchical numbering

Which documentation form helps in structuring requirements, especially for presenting value ranges and concrete properties?

Tables

'Userfunction of myApp' is a part of which structured detailed specification example?

'Structured detailed specification Code 3.2.1' (Example two)

'If this has been correctly decoded and decrypted, the control unit adopts the new target position and activates the shutter motor.' belongs to which structured detailed specification example?

'Structured detailed specification Code 3.2.1' (Example two)

What should be included in the overview section of a requirements document?

A brief description of the business processes and functions supported by the system

Which of the following is typically the largest section in a requirements document?

The section with detailed requirements for each system function

What should be included in the detailed requirements section for each system function?

A list of sub-functions and their corresponding functional requirements, quality requirements, and constraints

Which of the following forms of documentation is recommended for describing domain-oriented relationships and properties of business objects?

A comprehensive domain-oriented object model

What is the purpose of including a glossary in a requirements document?

To define technical terms and abbreviations used in the project

Which of the following is a recommended practice for building the glossary in a requirements document?

Define verbs that may have a special meaning in the project environment

What is the primary goal of documenting requirements for IT systems?

To facilitate communication and understanding between stakeholders

Which form of documentation is recommended for representing functional models or prototypes?

All of the above

What is the purpose of including a section on roles and stakeholders in a requirements document?

To clarify which stakeholders must be actively involved in requirements elicitation

Which of the following forms of documentation is recommended for representing quality requirements?

All of the above

What should be considered when determining the level of detail for documentation?

The prior knowledge and interests of stakeholders

How should changes to requirements be managed in a project?

Changes should be documented with the date and reason to enable traceability

Why is it essential to define different forms of documentation for requirements?

To match the documentation with the purpose and target group

What may happen if changes to requirements are not regularly reviewed in a project?

Documentation team will lose sight of the objective

Why is it recommended to document relationships between requirements in a project?

To support traceability when changes occur

What is the key reason for adapting documentation in accordance with changing conditions?

To keep documentation relevant and appropriate

Why is it necessary to determine whether an overview or detailed presentation of requirements is needed?

To match the level of detail with the purpose and audience

What can happen if documentation does not fit the current purpose and goal?

Documentation may need to be adapted to changed conditions

Which factor should be considered when selecting the level of detail for documentation?

The knowledge and interests of stakeholders.

What is the primary purpose of user stories in Agile development?

To summarize key information about a requirement

What is the recommended structure for a well-written user story?

As a [role], I want to [feature], so that [benefit].

What is the purpose of the 'T-shirt sizing' technique in Agile development?

To estimate the relative effort required for different tasks

What is an 'epic' in the context of user stories?

A user story that is too large to be completed in a single iteration

What is the advantage of using sketches and simple graphics in Agile development?

They can be easily created and modified during stakeholder workshops

What is the purpose of including a relative estimation of business value and effort in a user story?

To determine the order in which user stories should be implemented

What is the purpose of cross-referencing supporting information or documentation in a user story?

To provide additional context and details related to the user story

What is the advantage of using user stories that evolve over time in an Agile environment?

It reduces the need for detailed documentation early in the project

What is the primary purpose of using the 'rule of three' in Agile development?

To calculate the actual effort required for tasks once reliable data is available

What is the purpose of breaking down an 'epic' into smaller user stories?

To make the user stories more manageable for the delivery teams

What is one of the key advantages of using sketches in the early phases of requirements determination?

They highlight functional interrelationships.

Which statement best describes a disadvantage of using sketches and simple graphics for documentation?

They have a wide scope for interpretation if not described properly.

What is the primary purpose of using models in industrial software engineering?

To reduce the scope for interpretation of text and graphics.

Which type of model is specifically mentioned as being used to document requirements for the structure and behavior of systems?

Both graphical process models and graphical software models

What is a potential issue with flow chart diagrams, as mentioned in the text?

They are not standardized, leading to potential ambiguity.

What is one of the primary advantages of using GUI prototypes for requirements documentation?

They can be used to precisely define the appearance and behavior of user interface elements.

What is a common practice when using different forms of documentation for requirements?

Providing a brief description of how the different forms relate to each other.

What is a potential challenge when using natural language to formulate requirements, as mentioned in the text?

Natural language can be problematic when it comes to writing and understanding.

What is the primary reason for using a combination of models, text, and GUI prototypes for requirements documentation?

To compensate for the individual disadvantages of each documentation form.

What is a crucial aspect to consider when using different forms of documentation and making revisions or adaptations?

Ensuring that the text and models reflect the same level of knowledge and are consistent.

Study Notes

Documentation of Requirements

  • The goal of documenting requirements is to ensure the current state of knowledge is accessible to all project participants.
  • The documentation of requirements serves as a communication tool within the project and is used to clarify and prioritize requirements.
  • It provides a knowledge repository for decisions and definitions and serves as a binding document in case of disputes.

Activities for Documenting Requirements

  • The process of documenting requirements consists of four steps:
    • Determination of purpose and target group
    • Selection of the level of detail and documentation form
    • Documentation of requirements
    • Checking whether the documentation still fits the purpose and target group

Determination of Purpose and Target Group

  • The purpose and target group of the documentation must be determined before documentation is created.
  • Typical goals for requirements documentation include:
    • Communication support for stakeholders
    • Knowledge repository for decisions and definitions
    • Binding document in case of disputes
  • The target group and purpose of the documentation can vary depending on the project situation.

Levels of Detail

  • Requirements can be related to each other in a refinement hierarchy and can be assigned to one of four different levels of detail:
    • Rough system description
    • Use case
    • User requirement
    • Detailed user requirements
  • Each level describes the system completely, either very abstractly or in a more refined way.

Selection of the Level of Detail and Form of Documentation

  • The level of detail and documentation form are selected based on the purpose and target group.
  • The level of detail depends on the use of the documentation, and different stakeholders may require different levels of detail.
  • Typical documentation forms include software models, prototypes, sketches, tables, and text.

Documentation of Requirements

  • The requirements are documented in a form suitable for the purpose and target group.
  • Changes to the requirements are logged with the date and reason for the change to enable traceability.
  • Relationships between requirements are documented to prevent collateral changes.

Checking Whether Documentation Still Fits Purpose and Target Group

  • The documentation is regularly reviewed to ensure it still fits the purpose and target group.
  • The documentation may need to be adapted to changed conditions.

Typical Elements of Requirements Documentation

  • There is no uniform structure for requirements documents, but typical elements include:
    • Project vision
    • Overview level
    • Detailed requirements
    • Glossary
  • The project vision provides a common understanding of the project and communicates with stakeholders.
  • The overview level provides a general overview of the main system functions, technical interfaces, users, and classification in the system landscape.
  • The detailed requirements section documents each system function in detail.
  • The glossary defines industry- or company-specific terms and abbreviations to prevent confusion.### Forms of Requirements Documentation
  • Text and Tables: most frequently used documentation forms for information systems
  • Advantages:
    • Easy to use and understand
    • Can describe all types of requirements
  • Disadvantages:
    • Room for interpretation and inaccuracies in formulation of requirements
    • May not consider negative cases (e.g., what happens when something goes wrong)

Structured and Formal Specifications

  • Example One: Structured Specification
    • Code 3.2. User function of myApp
    • Describes user actions and system responses
  • Example Two: Structured Detailed Specification
    • Code 3.2.1. Select
    • Describes user interface elements and behavior
  • Example Three: Semiformal Specification
    • Describes function, inputs, outputs, sequence, and exceptions
    • Can be reused as a template for other requirements
  • Example Four: Formal Specification
    • Written in code, compact but not easily understood by stakeholders without programming skills

User Stories

  • A technique used in Agile development
  • Format: "As a [who], I want to [what], so that [why]"
  • Should contain an estimation of business value and effort required
  • Can be complemented with detailed written specifications, figures, models, or reference material
  • Evolve as understanding increases

Sketches and Simple Graphics

  • Advantages:
    • Simple and quick to create
    • Can be used in workshops with stakeholders
  • Disadvantages:
    • Wide scope for interpretation if meaning is not described
    • Not suitable for permanent documentation

Models

  • Distinction between graphical and textual models
  • Graphical models (e.g., BPMN, UML) used to document requirements for system structure and behavior
  • Textual models (e.g., RSL, PSL/PSA) used to formulate and formalize requirements

GUI Prototypes

  • Suitable for documenting user interface requirements
  • Can be used to elicit requirements and as a form of requirements documentation
  • Can be created on different levels, from simple sketches to complete mock-ups### Requirements Specification
  • A specification with the same level of detail in all areas may indicate a waste of resources or a lack of detail.
  • Certain issues within a specification are more descriptive than others.
  • Typical elements of requirements documents include:
    • Project vision
    • Overview level
    • Detailed requirements
    • Glossary

Project Vision

  • Formulating the project vision in text helps the project team develop a common understanding of the project.
  • The project vision should answer the following questions:
    • What is the goal or purpose of the project?
    • What is the motivation for the project?
    • What is the definition of the level of requirements described in the document?
  • The project vision is an introduction and guide to the contents of the document and can be used for the final check to establish whether the content and form still fit the purpose and target group.

Overview Level

  • The overview level is used for the technical and functional classification of the application.
  • The overview level should include:
    • Location of the system in the business process landscape
    • Embedding of the system in the IT landscape of the organization
    • Brief description of the most important system functions
    • Technical interfaces to other systems
    • Brief description of the roles that will actively work with the system

Detailed Requirements

  • Each system function described in the overview must be documented in detail before implementation.
  • Detailed requirements should include:
    • Functional requirements
    • Quality requirements
    • Constraints
    • Sub-functions
  • Documentation can be in the form of text, bulleted lists, tables, functional models, references to external documents, and screenshots of prototypes.

Glossary

  • A glossary is necessary to define industry- or company-specific terms that may not be known by all project participants.
  • Tips for building a glossary:
    • Sort the defined terms alphabetically
    • Define technical terms
    • List synonyms or related terms that may have a different meaning
    • Define verbs to prevent misunderstandings
    • Describe adjectives and use legally binding modal verbs

Forms of Documentation

  • Typical forms of requirements documentation include:
    • Models
    • Prototypes
    • Sketches
    • Tables
    • Text
  • The advantages of documentation in the form of text and tables lie in their ease of use and versatility.
  • Disadvantages include room for interpretation and inaccuracies in the formulation of requirements.

User Stories

  • User stories are a popular technique used in Agile projects.
  • A well-written user story should include:
    • Who (the user)
    • What (the function)
    • Why (the motivation)
    • Business value (in a range of 1-10)
    • Effort required (in T-shirt sizes: XS, S, M, L, XL, XXL)
  • User stories should summarize key information about a requirement and reference other supporting information or documentation.

Epics

  • Epics are coarse-grained user stories that break down into fine-grained user stories.
  • Epics can appear on a product backlog, but they do not appear towards the top, as they are not written in sufficient detail.
  • One way to derive user stories is to walk through the process relating to the epic.

Learn about the process of documenting requirements which involves collecting ideas about goals, context, and stakeholders, deriving rough requirements, and tracing information. Explore the steps followed by requirements engineers in preparing and documenting project requirements.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser