Requirements Engineering and SRS 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 distinguishes 'system requirements' from 'user requirements'?

  • System requirements are focused on the implementation of the system.
  • System requirements are written in a formal mathematical language.
  • System requirements are only used for safety-critical systems.
  • System requirements are more detailed and include software jargon. (correct)

Which of the following is a characteristic of a well-written user requirements document?

  • It primarily includes the technical details needed for implementation.
  • It focuses on how the system should be designed.
  • It avoids using jargon that might confuse users. (correct)
  • It uses formal notations to ensure precision.

Which scenario suggests a system requirement document might be more suitable for writing in a formal notation?

  • Developing a system for managing inventory in a small business.
  • Designing a user interface for a simple mobile application.
  • Building a control system for a nuclear power plant. (correct)
  • Creating a website for a local retail store.

Which of the following is NOT a common method for writing system requirements?

<p>User feedback surveys. (C)</p> Signup and view all the answers

When would using graphical models be particularly beneficial for specifying requirements?

<p>When describing a sequence of actions in a business process. (C)</p> Signup and view all the answers

Which of the following best describes the purpose of Requirements Engineering (RE)?

<p>To identify, analyze, document, and verify the needs of a system. (C)</p> Signup and view all the answers

What is the primary difference between user requirements and system requirements?

<p>User requirements focus on the user's perspective, while system requirements focus on the system's internal functionality. (A)</p> Signup and view all the answers

Which of these is an example of a functional requirement?

<p>The system must be able to display a list of appointments for a given clinic. (D)</p> Signup and view all the answers

What is the main reason why imprecision in requirements specification is problematic in software engineering?

<p>It results in software that does not meet the user's needs. (D)</p> Signup and view all the answers

Which of the following is an example of a non-functional requirement?

<p>The system must be available 24 hours a day, 7 days a week. (B)</p> Signup and view all the answers

What is the main purpose of the software requirements document (SRS)?

<p>To provide a formal statement of what the system developers should implement. (B)</p> Signup and view all the answers

Which of the following is NOT a benefit of using an Agile approach for software development?

<p>More detailed documentation of all requirements upfront to ensure completeness. (C)</p> Signup and view all the answers

Which of the following is considered a non-functional requirement?

<p>The system must be able to handle at least 100 concurrent users. (B)</p> Signup and view all the answers

What is the main difference between functional and non-functional requirements?

<p>Functional requirements define what the system does, while non-functional requirements define how well the system performs. (A)</p> Signup and view all the answers

Why is it important to write non-functional requirements quantitatively?

<p>To make it easier to test and objectively measure the system's performance. (C)</p> Signup and view all the answers

Flashcards

Requirements Engineering

The process of finding, analyzing, documenting, and checking system requirements.

User Requirements

Statements in natural language describing what services the system should provide for users.

System Requirements

Detailed descriptions of a software system’s functions, services, and constraints.

Functional Requirements

Statements of services a system should provide and how it should behave in specific situations.

Signup and view all the flashcards

Non-Functional Requirements

Constraints on the system's operations such as performance and timing standards.

Signup and view all the flashcards

Functional Requirements Specification

A document detailing complete and consistent user services for a system.

Signup and view all the flashcards

Completeness in Requirements

All user-required services must be defined without omission.

Signup and view all the flashcards

Software Requirements Document (SRS)

An official document outlining user and system requirements for implementation.

Signup and view all the flashcards

Agile Requirements Approach

An adaptive method focusing on user stories and prioritization for system development.

Signup and view all the flashcards

Requirements Specification

The process of writing down user and system requirements in a document.

Signup and view all the flashcards

Natural Language

Language that is easy to understand, avoiding jargon in requirements documentation.

Signup and view all the flashcards

Graphical System Models

Visual representations used in system requirements to show states and actions.

Signup and view all the flashcards

Study Notes

Requirements Engineering

  • Requirements for a system detail what the system should do
  • Requirements Engineering (RE) is the process of finding, analyzing, documenting, and checking these services and constraints
  • The term "requirement" isn't consistently used; it can range from a high-level, abstract statement to a detailed, formal definition of a system function

SRS (Software Requirements Specification)

  • The SRS is an official statement of what developers should implement
  • It's essential when an outside contractor creates the software system
  • SRS = User Requirements + System Requirements

User Requirements

  • User requirements are statements, in natural language plus diagrams, of the services a system should provide to the user and the constraints under which it must operate
  • They describe the functionality in a way system users can understand, omitting technical detail

System Requirements

  • System requirements are more detailed descriptions of features, services, and constraints of the system software
  • The system requirements document (functional specification) details what will be executed and can be a part of a contract between the system buyer and the software developer

Functional Requirements

  • These are statements of what services the system should provide—reactions to different inputs and system behaviors in various situations
  • They can also specify what the system should not do

Non-Functional Requirements

  • These are constraints on the system's services or functionality
  • They include time constraints, development process rules, and standards
  • They often apply to the whole system, rather than individual features or services
  • Examples include performance (speed, response time), security, availability, reliability, interoperability, safety, and confidentiality

Writing Requirements

  • Non-functional requirements should be written quantitatively, in order to be objectively tested
  • Natural language requirements can be problematic because of their flexibility and scope for ambiguity
  • Structured specifications offer a standard format, making requirements more consistent, and minimizing ambiguity

Requirements Document Structure

  • The overall level of detail depends on the type of system and development process used.
  • Critical systems require extensive detail; outsourcing projects need clear, specific requirements
  • Iterative in-house projects can use far less detail

IEEE Standard for Requirements Documents

  • A detailed structure for a requirements document is recommended
  • It describes versions, the project need, how the system functions and works with other systems and details the technical terminology

Example Requirements

  • The MHC-PMS should generate monthly cost reports for drugs prescribed by each clinic
  • The system will automatically generate a report summarizing dispensed drugs, costs, and prescribing clinics on the last working day of each month, accessible to authorized users.
  • Other examples covered include appointment lists, staff identification, and insulin pump functionalities.

Agile Approach

  • Requirements in business systems often change rapidly, making the Agile approach beneficial
  • The Agile method focuses on incremental development and quick response to changing requirements
  • User stories, written on cards, are used to prioritize and design the next development increment.

Users of a Requirements Document

  • Customers specify requirements, checking if they meet their needs
  • Managers use the document for project planning and bids
  • System Engineers use it to understand the system to be made
  • Test Engineers create system validation tests
  • Maintenance Engineers understand and trace relationships between system parts

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Requirement Engineering PDF

More Like This

Use Quizgecko on...
Browser
Browser