SE262 - 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
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary goal of requirements engineering?

  • To manage project budgets.
  • To design user interfaces.
  • To write efficient code.
  • To describe system services and constraints. (correct)

Functional requirements describe how the system behaves, such as performance and reliability.

False (B)

What is one key issue that arises when writing functional requirements in natural language?

Ambiguity

A ______ is a collection of technical terms relevant to a particular project or domain, used to address ambiguities.

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

Which of the following is a characteristic of non-functional requirements?

<p>They may be more critical than functional requirements. (A)</p> Signup and view all the answers

The Software Requirements Specification (SRS) should primarily describe how the system should implement features rather than what the system should do.

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

Name one technique used for requirements validation.

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

Discovering and gathering information the system should provide refers to the system ______.

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

What type of questions begin requirements interviews?

<p>Both (E)</p> Signup and view all the answers

Requirements specification does not assist in providing the best practice based on industry experience.

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

What is a model based requirement in SRS?

<p>UML diagram</p> Signup and view all the answers

Reviews may be ______ or ______.

<p>formal, informal</p> Signup and view all the answers

Match the term with the description:

<p>Functional Requirement = Defines what the system should to do. Non-Functional Requirement = Defines how the system should work. SRS = Is like a contract for the software development.</p> Signup and view all the answers

The Ariane 5 Flight 501 disaster was primarily caused by:

<p>An unhandled numeric exception (integer overflow). (C)</p> Signup and view all the answers

The accident at the National Cancer Institute in Panama was due to under-dosage of radiation delivered by the therapy software.

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

What document is the primary outcome of the 'Requirements Engineering' process?

<p>Software Requirements Specification (SRS)</p> Signup and view all the answers

According to defect distribution data, a large percentage of defects originate from issues in the ______ phase.

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

What is the primary reason for focusing on requirements engineering early in the software development lifecycle?

<p>To reduce the cost of fixing defects. (A)</p> Signup and view all the answers

Domain requirements are a type of functional requirement.

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

What can be used to help address ambiguity in functional requirements?

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

Incomplete requirements mean they should include descriptions of all ______ required.

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

What does consistent requirements mean?

<p>There should be no conflicts or contradictions in the system (B)</p> Signup and view all the answers

Non functional requirements apply to individual functions.

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

What does the system not have to do in SRS?

<p>Design the document</p> Signup and view all the answers

______ ensures you're building the right system by checking if requirements meet stakeholder needs.

<p>requirement validation</p> Signup and view all the answers

Match the elicitation technique with the best definition

<p>Interview = Listen and begin with open and closed questions Questionnaire = Consist of multiple choice, or open question. Field Observation = Elicit requirements when stakeholders are busy Document Centric = Extracts information from exisiting or competition documents.</p> Signup and view all the answers

What should the SRS consist of?

<p>SRS is the official statement developer needs. (A)</p> Signup and view all the answers

Software Requirements Specification(SRS) is design document.

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

How to avoid the defect in specifying requirements for SRS?

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

SRS should include a definition of ______ and specifications of the ______.

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

The MHC-PMS shall generate monthly management reports showing the cost of drugs prescribed by each clinic during that month.What is the above statement representing?

<p>The user requirement definition (D)</p> Signup and view all the answers

"Decompose" means increase high-level requirements into an appropriate levels of details.

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

In Requirement analysis, which view does "High-Level" represent?

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

Functional requirements is discovering and gathering the ______.

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

Match the following types of interview:

<p>Where, Who, Why, When, How? = Open Interview Yes/No = Closed Interview</p> Signup and view all the answers

If the customer's real requirements can not be discovered, What does that entail?

<p>They will be dissatisfied with the final system. (D)</p> Signup and view all the answers

SRS should set of HOW the system should do rather than WHAT it should do.

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

When does learning model-based requirement take place?

<p>In the following weeks.</p> Signup and view all the answers

Requirements may be ______ or ______.

<p>formal, informal</p> Signup and view all the answers

When do you elicit requirements easily?

<p>When stakeholders are busy or not good at describing their work (D)</p> Signup and view all the answers

Requirments from same projects can be reused

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

Flashcards

What are requirements?

Descriptions of the system's services and the constraints that are generated during the requirements engineering process.

Functional requirement

Concerns what the system does. It describes the functionality or services that the system is expected to provide.

Non-functional requirement

Deals with how well the system performs its functions, such as its performance, reliability and security.

Domain requirement

A requirement derived from the specific application domain of the system, reflecting constraints and characteristics of that domain.

Signup and view all the flashcards

Ambiguity in requirements

Ambiguous requirements might be interpretable in different ways by developers and users, leading to misunderstandings.

Signup and view all the flashcards

Glossary technique

A technique used to clarify ambiguous terms by providing specific definitions relevant to the project or domain.

Signup and view all the flashcards

Incompleteness in requirements

Occurs when requirements lack necessary details, leading to questions about what data to display or how to calculate values.

Signup and view all the flashcards

Inconsistency in requirements

Arises when there are conflicts or contradictions in the descriptions of the system facilities, leading to confusion and errors.

Signup and view all the flashcards

Quality Requirements

A quality requirement concerning how the system behaves, including aspects like performance and reliability. The system is useless if not met.

Signup and view all the flashcards

Security requirements effect

Ensures that only authorized users can access sensitive data, often leading to additional functional requirements.

Signup and view all the flashcards

Software Requirements Specification (SRS)

Official statement of what is required of the system developers. It is NOT a design document.

Signup and view all the flashcards

Requirement Analysis

Decomposes high-level requirements into appropriate levels of detail, from business needs to detailed system functionalities.

Signup and view all the flashcards

Requirements Elicitation

A process of carefully discovering and gathering the exact description of a problem to be solved.

Signup and view all the flashcards

Importance of Elicitation

Avoids discovering new requirements ad hoc at a later software development stage.

Signup and view all the flashcards

Interview tips

Raises a question, Listens to the answer, Asks for specific details, and records the answers.

Signup and view all the flashcards

Requirements Specification

Involves documenting requirements in a Software Requirements Specification making sure it complete and accurate.

Signup and view all the flashcards

Structured NL Requirements

Facilitates documenting individual structured requirements in natural language, avoiding specification defects.

Signup and view all the flashcards

Requirements Validation

Ensures that you're building the right system by checking if the requirements meet stakeholder needs.

Signup and view all the flashcards

Requirement Reviews

Reviews formal (completed documents) or informal.

Signup and view all the flashcards

Prototyping

Technique to check requirements checking Graphical User Interface Designs.

Signup and view all the flashcards

Questionnaire

Printed document or online distribution form consists of multiple choice or open question

Signup and view all the flashcards

Study Notes

  • SE262 Software Engineering Chapter 3 focuses on requirements engineering.

Requirements Engineering Part I

  • Requirements engineering is the process of defining, documenting, and maintaining requirements in the software development lifecycle.
  • The topics covered include an overview of requirements engineering, functional and non-functional requirements, and the Software Requirements Specification (SRS).

Ariane 5 Flight 501

  • In June 1996, the Ariane 5 rocket exploded shortly after launch due to a software error.
  • The error was an unhandled numeric exception (integer overflow).
  • This event is a case study for illustrating issues with requirements specification, critical systems validation, and software reuse problems.
  • The development cost was nearly $8 billion, with a $500 million satellite payload lost.

National Cancer Institute, Panama City

  • In November 2000, a U.S. firm, Multidata Systems International, provided software for radiation therapy.
  • The software led to a miscalculation of radiation dosage.
  • Eight patients died, and 20 received overdose radiation.
  • The physicians responsible for checking the calculations were indicted for murder.

What are Requirements?

  • Requirements are descriptions of system services and constraints generated during the requirements engineering process.

Software Development Process & Requirement Engineering Process

  • The stages involved in software development are - Feasibility Study, Requirement Elicitation and analysis, Requirements Specification, Requirements Validation, User and System Requirements, Agreed SRS and Requirements Document.

Why Focus on Requirements?

  • Defects in requirements account for 56% of issues.
  • Defects in code account for 7% of issues.
  • Other defects account for 10% of issues.
  • Defects in design account for 27% of issues.
  • Effort to fix defects in requirements represents 82%.
  • Effort to fix defects in code represents 1%.
  • Other efforts account for 4%.
  • Design efforts account for 13%.

Requirements

  • Functional requirements specify what the system should do.
  • Non-functional requirements specify how the system should behave (performance, reliability, etc.).
  • Domain requirements are constraints from the system's operational domain.

Functional Requirements Examples

  • A user can search appointment lists for all clinics.
  • The system generates a daily list of patients expected to attend appointments for each clinic.
  • Each staff member is uniquely identified by an 8-digit employee number.
  • The system identifies positive or negative sentiments behind emojis.
  • The Human Resource System checks the qualifications of individuals for a job position.

Issues writing Functional requirements

  • Ambiguity refers to requirements that can be interpreted in different way be developers and users.
  • In principle, requirements should be complete and consistent.
  • 'Complete' means they should include description of all facilities required.

Glossary Technique for addressing ambiguities

  • A glossary is a collection of technical terms relevant in particular project or domain.
  • It enables all the stakeholders to have the same understanding.

Non-Functional Requirements

  • A quality requirement concerns how the system behaves (performance, reliability, etc.).
  • Non-functional requirements often apply to the system as a whole.
  • These requirements can be more critical than functional requirements; failure to meet them may render the system useless.

Software Product Quality

  • Functional Suitability: Appropriateness, accuracy, compliance.
  • Reliability: Availability, fault tolerance, recoverability, compliance.
  • Performance Efficiency: Time behavior, resource utilization, compliance.
  • Operability: Appropriateness, recognizability, learnability, ease of use, attractiveness, accessibility, compliance.
  • Security: Confidentiality, integrity, non-repudiation, accountability, authenticity, compliance.
  • Compatibility: Co-existence, interoperability, compliance.
  • Maintainability: Modularity, reusability, analyzability, changeability, stability, testability, compliance.
  • Transferability: Adaptability, installability, replaceability, portability, compliance.

Example of Quality Requirements

  • Performance: Website load time must not exceed 1 second.
  • Reliability: Applicants can access their resume 98% of the time without failure.

Non-functional requirements implementation

  • Single non-functional requirement may generate a number of related functional requirements and may also generate requiremnts that restrict existing requirements.

Software Requirements Specification (SRS)

  • SRS is the central outcome of requirements engineering.
  • SRS is the official statement of required information for system developers.
  • It includes user and system requirements but is not a design document.
  • It defines what the system should do, not how it should do it.

Requirement Analysis

  • High-level requirements are decomposed into levels of details.

User requirement definition example

  • MHC-PMS shall generate monthly management reports showing the cost of drugs prescribed by each clinic during that month.

System requirement specification definition example

  • On the last working day of the month, a summary of the drugs prescribed, their cost and the prescribing clinics shall be generated.
  • The system shall automatically generate the report for printing after 17.30 on the last working day of the month.
  • A report shall be created for each clinic and shall list the individual drug names, the total number of prescriptions, the number of doses prescribed and the total cost of the prescribed drugs.
  • If drugs are available in different dose units (e.g. 10mg, 20 mg, etc.) separate reports shall be created for each dose unit.
  • Access to all cost reports shall be restricted to authorized users listed on a management access control list.

Requirements & Design

  • Requirements should state what the system should do, and the design should describe how it does this.
  • In practice, requirements and design are inseparable.

Appendix A Examples

  • System prints vehicle reservation list at the end of the day (22:00-23:59 GMT+1).
  • If a client has reserved the vehicle only temporarily, the vehicle rental system shall provide the client with the ability to cancel the reservation.
  • Track facial movements.
  • Suggest phrases to complete a conversation.
  • Match couples for dating based on personal characteristics.
  • Assess the qualification of job applicants.

Appendix B Examples

  • Website's load time should not be more than 1 second.
  • Applicants can access their resume 98% of the time without failure.
  • Automated email services can be under maintenance for three hours.
  • Recoverability: The system must be fully functional within three days of a major incident.
  • Capacity: Support 500 applicants for resume review and store 1,000,000 resumes.
  • Environmental: Resume reviews are performed Monday through Friday from 9 AM to 6 PM.
  • Data integrity: Maintain data integrity by backing up all database updates.
  • Usability

Requirements Engineering Part II

  • Requirements engineering processes:
    • Requirements elicitation.
    • Requirements specification.
    • Requirements validation.

Requirements Elicitation

  • Requirements Elicitation is discovering and gathering the problem to be solved rather than understanding the problems.
  • It involves discovering and gathering information about application domain and services.
  • Constraints limit solution space (e.g., budget, timeline, resources).
  • Discovering the customer's real requirements is important to avoid dissatisfaction with the final system.

Requirements Elicitation Techniques

  • Interview:

    • Closed Interview Examples: Yes/No, Agree/Disagree, Likert Scale.

    • Open Interview: Begin with Where?, Who?, Why?, When?, How?.

    • Tips:

    • Listen: Raise a question and listen attentively.

    • Ask in detail: "How exactly do you use the existing system?" "Why?".

    • Record response in your own words.

  • Requirements Specification is the process of documenting requirements in a Software Requirements Specification (SRS).

  • SRS should be part of a contract, complete, and accurate.

SRS structure assistance

  • Providing the best practice based on industry experience.
  • Facilitate completeness.

Document software requirements in SRS

  • Use Natural language requirements (unstructured with a template).
  • Use model-based requirements.

Structured NL Requirements

  • Requirements template facilitate documenting structured individual requirements in natural language.
  • The template can be used to avoid defects in specifying requirements.

Structured NL Requirements

  • An autonomous system starts and executes functions independently where the user does not interact with it- Characteristic 1.
  • The system provides the user with the ability to interact with the system - Characteristic 2.

Model-based Requirements

  • UML Diagrams are used

Requirements engineering processes

  • Requirements elicitation and analysis.
  • Requirements specification.
  • Requirements validation.

Requirements Validation

  • Requirement validation is checking if the requirements meet stakeholder needs for the right system.

Requirements Validation Techniques

  • Requirements reviews is undergoing formal (with completed documents) or informal reviews.
  • Prototyping
    • Using clickable Graphical User Interface Design.

Elicitation Technique #2

  • Questionnaire - Consist of multiple choice or open ended questions.
  • Strengths - Learn from crowd, A lot of information with relative low cost.
  • Weakness

Elicitation Technique #3

  • Field observation - observe the users at work
  • Strengths - Able to elicit requirements when stakeholders are busy or not good at describing their work.
  • Weaknesses - Only elicit existing requirements (no new requirements).

Elicitation Technique #4

  • Document Centric
  • Strengths - Discover about old requirements, Detailed requirements are obtained.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser