System Requirements Engineering

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

Which of the following best describes the primary output of the requirements engineering process?

  • A complete set of code modules
  • A marketing plan for the software
  • A detailed project timeline
  • Descriptions of system services and constraints (correct)

Requirements engineering processes are uniform across different types of applications.

False (B)

List the four generic activities common to all requirements engineering processes.

Requirements elicitation, requirements specification, requirements validation, requirements management

Requirements elicitation is sometimes referred to as requirements _________.

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

Which of the following roles is LEAST likely to be considered a stakeholder in the requirements elicitation process?

<p>A competitor's CEO (A)</p> Signup and view all the answers

Match the types of interviews with their descriptions:

<p>Closed Interview = Based on a pre-determined list of questions Open Interview = Various issues are explored with stakeholders</p> Signup and view all the answers

Interviews are always the most effective method for understanding specific domain terminology.

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

What is a primary advantage of conducting group interviews?

<p>More effective use of time (D)</p> Signup and view all the answers

___________ involves spending a considerable time observing and analyzing how people actually work.

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

Which of the following is a limitation of ethnography in requirements elicitation?

<p>It cannot identify new features that should be added to a system (D)</p> Signup and view all the answers

The Nominal Group Technique (NGT) requires group members to work together from the beginning of the idea generation process.

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

In the context of requirement determination, what types of issues does NGT apply to?

<p>Problems with the existing system, ideas for new features</p> Signup and view all the answers

Which of the following is a strength of using surveys/questionnaires in requirements elicitation?

<p>They are relatively inexpensive to administer (D)</p> Signup and view all the answers

The use of ___________ questions in a survey requires more analysis.

<p>open-ended</p> Signup and view all the answers

Joint Application Design (JAD) sessions are typically conducted at the participants' usual workplace to ensure convenience.

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

What is the primary purpose of Joint Application Design (JAD)?

<p>To collect system requirements simultaneously from key people. (C)</p> Signup and view all the answers

Which JAD participant is responsible for facilitating the group process, setting the agenda, and resolving conflicts?

<p>Session Leader</p> Signup and view all the answers

Match each JAD participant with their primary responsibility:

<p>Users = Active, speaking participants Scribe = Record session activities Systems Analysts = Mostly listen</p> Signup and view all the answers

__________ is used to elicit and validate stakeholder needs through an iterative process that creates a model or design of requirements.

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

Prototyping is most effective when user requests are already very clear and well-defined.

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

Which of the following is a potential drawback of using prototyping for requirements elicitation?

<p>It can result in unrealistic expectations regarding performance and reliability. (A)</p> Signup and view all the answers

Identify two reasons why stakeholders may express requirements in conflicting ways.

<p>Different perspectives; organizational and political factors</p> Signup and view all the answers

Match the term to its definition

<p>Requirements Specification = Writing down the user and system requirements in a requirements document. Requirements Document = Complete as possible when writing requirements as it may be part of systems development contract.</p> Signup and view all the answers

Which of the following is NOT a common way of writing a system requirements specification?

<p>Pseudocode (C)</p> Signup and view all the answers

Requirements written in _______________ are supplemented by diagrams and tables to enhance clarity.

<p>natural language</p> Signup and view all the answers

Using natural language is always the most precise and unambiguous way to specify requirements.

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

What is a key characteristic of structured specifications that differentiate them from natural language specifications?

<p>Standard way (template)</p> Signup and view all the answers

Which element is not typically included in a structured specification of a function?

<p>Description of the user interface (C)</p> Signup and view all the answers

The software requirements specification document, also known as the __________, is the official statement of what is required of the system developers.

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

Match the section of an SRS template with its description:

<p>Introduction = Describes the need for the system and how it aligns with business objectives. Functional Requirements = Lists the requirements in ranked order. Non-Functional Requirements = How the system accomplishes its functional requirements.</p> Signup and view all the answers

Use cases are used in UML to add detail by showing the sequence of event processing in the system.

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

What does requirements validation primarily aim to demonstrate?

<p>Customer's needs</p> Signup and view all the answers

Why is requirements validation considered a crucial process in software engineering?

<p>It reduces the cost of fixing errors. (C)</p> Signup and view all the answers

___________ is the process of managing changing requirements throughout the software development lifecycle.

<p>Requirements management</p> Signup and view all the answers

Effective interviewing involves only asking closed questions to maintain focus and control.

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

What are the purposes of eliciting business analysis information using survey/questionnaire?

<p>To find out about customers, products, work practices, and attitudes</p> Signup and view all the answers

What should the system measure and deliver according to the insulin pump software system?

<p>Blood sugar and deliver insulin (B)</p> Signup and view all the answers

Two previous readings are so that the ___ of sugar level can be computed.

<p>rate of change</p> Signup and view all the answers

The main aim of determining the information requirements is to prepare precise SRS understood by managers.

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

Which of the following describes the attributes of systematic manual analysis?

<p>Systematic = manual analysis of the requirements Both client and contractor = staff should be involved</p> Signup and view all the answers

Statements of services the system should provide is considered which key term?

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

Flashcards

System Requirements

Descriptions of system services and constraints produced during requirements engineering.

RE Processes

Vary widely based on application domain, involve elicitation, specification, validation, and management.

Requirements Elicitation

Finding out about the domain, what services the system should provide, and operational constraints.

Stakeholders

People involved in the system that may include end-users, managers, engineers, domain experts, etc.

Signup and view all the flashcards

Interviewing

A traditional method of gathering requirements by talking directly with stakeholders.

Signup and view all the flashcards

Closed Interview

A type of interview based on a pre-determined list of questions.

Signup and view all the flashcards

Open Interview

A less structured interview where issues are explored with stakeholders.

Signup and view all the flashcards

Ethnography

Gathering requirements by observing how people work in their environment.

Signup and view all the flashcards

Nominal Group Technique

A facilitated process supporting idea generation by groups working separately at first.

Signup and view all the flashcards

Survey/Questionnaire

A method for eliciting information, sent to customers about products, work practices, etc.

Signup and view all the flashcards

Close-ended questions

Easier to analyze because they can be tied to numerical coefficients.

Signup and view all the flashcards

Open-ended questions

Useful when the issues are known and the range of user responses is not.

Signup and view all the flashcards

Joint Application Design (JAD)

Brings users, managers, and analysts together to collect system requirements simultaneously.

Signup and view all the flashcards

CASE Tools

Analyzing existing systems and helping discover requirements to meet changing business conditions.

Signup and view all the flashcards

System Prototypes

Iterative development of a basic working version of the system.

Signup and view all the flashcards

JAD: Intensive

Intensive group analysis, key people gathering to collect system requirements simultaneously.

Signup and view all the flashcards

Prototyping

Elicit/validate stakeholder needs through iterative process that creates a model or design of requirements.

Signup and view all the flashcards

Requirements Specification

Process of writing down the user and system requirements in a requirements document.

Signup and view all the flashcards

Natural Language Requirements

Written using numbered sentences in natural language, expressing one requirement per sentence.

Signup and view all the flashcards

Structured Specifications

Structured way of writing requirements using a template.

Signup and view all the flashcards

Software Requirements Spec (SRS)

The official statement of what is required by the system developers.

Signup and view all the flashcards

Graphical Notation: Use Cases

Kind of scenario in the UML supplemented by more detailed tabular description.

Signup and view all the flashcards

Requirements Validation

Concerned with demonstrating the requirements define the system the customer really wants.

Signup and view all the flashcards

Requirements Management

The process of managing changing requirements throughout the project.

Signup and view all the flashcards

Study Notes

  • System requirements describe system services and constraints generated during the requirements engineering process.
  • Requirements range from high-level statements of service or system constraints, to detailed mathematical functional specifications.

Requirements Engineering (RE) Processes

  • RE processes widely vary depending on the application domain.
  • Generic activities common to all processes:
    • Requirements elicitation
    • Requirements specification
    • Requirements validation
    • Requirements management
  • RE is an iterative activity where processes are interleaved.

Requirements Elicitation and Analysis

  • Sometimes called requirements discovery.
  • Involves technical staff working with customers to understand the application domain, system services, and operational constraints.
  • May involve stakeholders such as end-users, managers, engineers involved in maintenance, domain experts, and trade unions.

Requirements Elicitation Techniques

  • Traditional methods:
    • Interviewing and Listening
    • Interviewing Groups
    • Survey/Questionnaire
    • Ethnography
    • Analyzing procedures and other documents
  • Modern Methods:
    • Joint Application Design (JAD)
    • CASE tools
    • Prototyping

Interviews

  • Interviews with stakeholders are part of the requirements elicitation process.
  • Types of interviews:
    • Closed interviews: use a pre-determined list of questions.
    • Open interviews: explore various issues with stakeholders.
  • Effective interviewing involves being open-minded, prompting discussion, and mixing closed and open-ended questions.

Problems with Interviews

  • Application specialists may use language not easily understood by requirements engineers.
  • Interviews are not ideal for understanding domain requirements if engineers lack specific domain terminology.
  • Domain knowledge may be too familiar for people to mention or consider worth discussing.

Group Interviews

  • Several key people are interviewed together.
  • Several analysts could be involved.
  • Advantages:
    • More efficient use of time.
    • Allows hearing agreements and disagreements at once.
  • Disadvantage:
    • More difficult to schedule than individual interviews.

Ethnography

  • Involves spending considerable time observing and analyzing how people work.
  • People do not have to explain their work.
  • Effective for understanding existing processes but cannot identify new features.
  • Ethnography studies existing practices, some of which may have historical bases and no longer be relevant.

Nominal Group Technique (NGT)

  • A facilitated process that supports idea generation by groups.
  • Process:
    • Members come together but work separately to write down ideas.
    • A facilitator reads the ideas aloud, and they are written down.
    • The group then discusses and prioritizes the ideas.
  • In the context of requirement determination, NGT applies to problems with existing systems or ideas for new features.
  • The final result is a prioritized list of problems or features generated by group members.

Survey/Questionnaire

  • Used to collect business analysis information about customers, products, work practices, and attitudes from a group of people in a structured way in a short period of time.
  • Types of questions:
    • Close-ended: easier to analyze due to numerical ties.
    • Open-ended: useful when issues are known but the range of user responses is not; more difficult and time-consuming.
  • Relatively inexpensive to administer.
  • Easier to collect data from a larger audience.
  • Does not typically require significant time.
  • Suitable for geographically dispersed stakeholders.
  • Effective for obtaining quantitative data for statistical analysis.
  • Results may yield insights and opinions.

Survey/Questionnaire Limitations

  • Achieving unbiased results requires specialized skills in statistical sampling methods.
  • Low response rates will affect statistical significance.
  • Open-ended questions may require more analysis.
  • Ambiguous questions may go unanswered or answered incorrectly.
  • May require follow-up questions or more survey iterations.

Modern Methods for Determining Requirements

  • Joint Application Design (JAD):
    • Brings together key users, managers, and systems analysts.
    • Gathers system requirements simultaneously from key stakeholders.
    • Conducted off-site.
  • CASE tools:
    • Used to analyze existing systems.
    • Help discover requirements to meet changing business conditions.
  • System prototypes:
    • Iterative development process.
    • Basic working version of a system is built.
    • Refines understanding of system requirements in concrete terms.

Joint Application Design (JAD) Details

  • JAD is a requirement determination technique focusing on groups
  • It is purposed to collect system requirements simultaneously involving key stakeholders like users, managers, and system analysts.
  • Team members meet in isolation for an extended period.
  • Usually conducted at a separate location.
  • JAD is highly focused.
  • The result is an intense, structured, and highly effective process.
  • JAD offers an opportunity to resolve conflicts or understand why a conflict is not easily resolved.

JAD Participants

  • Session Leader- Facilitates group process, manages groups, sets agenda, remaining impartial, resolves conflicts and disagreements.
  • Users- Active, speaking participants.
  • Managers- Active, speaking participants.
  • Sponsor- High-level champion, limited participation.
  • Scribe- Records session activities (word processor, CASE tool).
  • System Analysts- Should mostly listen.
  • IS Staff- Should mostly listen.

Joint Application Design Final Results

  • End Result:
    • Documentation detailing the existing system.
    • Features of the proposed system.
  • CASE Tools During JAD:
    • CASE tools are used.
    • It enables analysts to enter system models directly into CASE during the JAD session.
    • In a JAD Session, Screen designs and prototypes shown to users.

Prototyping Details

  • Used to elicit and validate stakeholder needs through an iterative process.
  • Creates a model or design of requirements.
  • Optimizes user experience and to evaluate design options.
  • Serves as a basis for the final business solutions development.
  • Quickly converts requirements to working version of system.
  • Once the user sees requirements converted to a system, they can ask for modifications or will generate additional requests

Prototyping Usefulness

  • Most useful when: -User requests are unclear
    • Few users are involved in the system
    • Designs are complex and require concrete form
    • Provides visual representation of current date -Allows giving input\ feedback earlier in in design process
    • History of communication issues between analysis and users
    • Tools are readily available to build prototype.

Prototyping Drawbacks

  • Difficult to adapt to a more general user audience.
  • Technology should be understood to initiate prototyping.
  • Unrealistic expectations for the final solution.
  • Higher expectations of performance, reliability, and usability.
  • Focus on the solutions design specification rather than non-functional requirements.

Problems of Requirements Elicitation

  • Stakeholders may not know what they want.
  • Stakeholders express requirements in their own terms.
  • Different stakeholders may have conflicting requirements.
  • Organizational and political factors may affect system requirements.
  • The requirements may change during the analysis phase.
  • New stakeholders may emerge.
  • Changing business environment.

Requirement Specification

  • Writing down users and system requirements.
  • Requirements document needed.
  • Requirements may be part of a contract for system development
  • These notes must be as complete as possible.

Methods of Writing Requirements

  • Natural Language: Requirements written using numbered sentences, with each sentence expressing on requirement
  • Structured - Writing down the requirements in natural language using a standard template.
  • Design description languages - Using languages such as a programming language with added abstract features to dictate requirements. Rarely used, but beneficial for interface specifications.
  • Graphical notations - Using graphical models and text annotations to dictate the functions of the system. Commonly seen with UML.
  • Mathematical specifications - These notations are based on mathematical concepts such as finite-state machines or sets. Can reduce ambiguity however that also means most customers do not understand.

Natural language Specification

  • Requirements written as natural language sentences supplemented by diagrams and tables.
  • Used for writing requirements because it is expressive, intuitive, and universal.
  • This means that the requirements can be understood by users, customers, and managers.

Problems with Natural language

  • Lack of clarity. Precision is difficult.
  • Requirements confusion - Functional and non-Functional requirements tend to be mixed-up.
  • Requirements combination - Several different requirements may be expressed together.

Structured Specifications

  • When the freedom of the creator is limited, that is, requirements are to be written in a standard way.

Structured Specification Elements

  • Definition of the function.
  • Description of inputs (and where they come from).
  • Description of outputs (and where they go to).
  • Information needed for the computation.
  • Description of the action to be taken.
  • Pre- and post-conditions (if appropriate).
  • The side effects (if any) of the function.

Software Requirements Specification (SRS) Document

  • This document is the standard requirement of what the system developers need.
  • It should include the definition of user requirements and a specification of the system requirements.
  • Used by system customers, managers, developers, engineers, testers, and maintenance engineers.
  • The main aim of determining the information requirements of an organization by analysts is to prepare a precise SRS understood by user.

SRS Template Components

  • Introduction- This section describes the need for the system, its functions, and also how it will work with other systems
  • Context Diagram- Identifies the flows of information between the system and external entities.
  • User Requirements - The requirements of the user written in their own language.
  • Fuctional Requirments - Describes the software system and it lists them in ranked order. Each requirement has it's own format.
  • Non-Fuctional Requirements - Specifies requirements and attributes required by the system such as interface requirements, performance requirements, or reliability requirements.

Graphical Notation: Use Cases

  • Use-Cases are a kind of scenario in the UML.
  • High-level graphical model supplemented by more detailed tabular description.
  • Use cases identify the actors in an interaction and describe the interaction itself.
  • UML sequence diagrams may be used to add detail by showing the sequence of event processing in the system.

Requirements Validation

  • Demonstrating that the requirements define the system.
  • Requirement error costs are high so validation is very important.
  • Fixing an error after delivery can 100x cost to implement,

Requirements Management

  • Managing changing requirements.
  • Track individual requirements.
  • maintain links between dependent requirements for assessing the impact of requirements changes.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Data Requirements in Software Engineering
52 questions
Software Engineering: Requirements Engineering
5 questions
Software Requirements Engineering
24 questions
Software Requirements Engineering
10 questions
Use Quizgecko on...
Browser
Browser