Requirement Engineering Fundamentals

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

Which of the following best describes the role of requirement engineering in the Systems Development Life Cycle (SDLC)?

  • The most critical step of the entire SDLC. (correct)
  • Important for documentation, but not essential for functionality.
  • A minor step with easily correctable consequences.
  • The least critical step, as changes can always be made later.

Changes to requirements are equally easy to make at any stage of the software development lifecycle.

False (B)

What is the primary purpose of requirement engineering?

To convert high-level business requirements into detailed software requirements.

The main goal of requirement engineering is to convert high level business requirements into ______ software requirements.

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

Match the following types of requirements with their descriptions:

<p>Functional Requirement = Relates to a process or the data of the system. Non-Functional Requirement = Relates to the performance, usability, or security of the system.</p> Signup and view all the answers

Which of the following is considered a functional requirement?

<p>The user shall be able to register. (D)</p> Signup and view all the answers

A non-functional requirement specifies what a system must do, relating directly to its functions and features.

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

Give an example of a non-functional requirement related to system security.

<p>Encryption and authentication</p> Signup and view all the answers

A system will read and write to the main inventory database in the inventory system. This is an example of a system ______ requirement.

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

Match the nonfunctional requirement with the correct example:

<p>Maintainability = New versions of the system will be released every six months. Portability = The system must be able to work with different operating systems (e.g., Linux, Mac OS and Windows).</p> Signup and view all the answers

What does 'Maintainability' refer to in the context of non-functional requirements?

<p>The ability of the system to adapt to expected business changes. (B)</p> Signup and view all the answers

Cultural influence is not considered a nonfunctional requirement.

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

Provide an example of a 'Cultural Influence' as it relates to system design.

<p>Customization requirements for language differences.</p> Signup and view all the answers

Requirements related to customization for language differences or keyboard requirements are categorized under ______ influence.

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

Match the following Security Requirements with their descriptions:

<p>Access Control = Limitations on who can access what data. Encryption &amp; Authentication = Ensuring data is encrypted and users are authenticated. Virus Control = Requirements to control the spread of viruses</p> Signup and view all the answers

A system experiencing a $50,000 loss per hour due to an outage falls under which type of non-functional requirement?

<p>System Value Estimate (A)</p> Signup and view all the answers

The System Value Estimate relates to the value of data if it's compromised but not to the potential loss from system downtime.

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

What is the difference between authentication and encryption?

<p>Authentication verifies user identity, while encryption secures data.</p> Signup and view all the answers

To control the spread of viruses, systems employ Virus ______ Requirements.

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

Match the following steps of Requirement Engineering Process:

<p>Requirement Elicitation = Gathering and determining requirements. Requirement Analysis = Analyzing requirements. Requirement Specification = Defining the requirements clearly.</p> Signup and view all the answers

Which of the following is NOT a characteristic of a successful Requirement Engineering process?

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

The Requirement Engineering process is most effective when approached as a linear, sequential process.

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

Who needs to collaborate to achieve successful Requirement Engineering?

<p>Business and IT personnel.</p> Signup and view all the answers

For a successful Requirement Engineering process, it is important for Business and ______ personnel need to collaborate.

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

Match the following requirement elicitation techniques with their descriptions:

<p>Interviews = Direct conversations with stakeholders to gather information. JAD (Joint Application Development) = Collaborative sessions with users and analysts. Questionnaires = Distributing written questions to gather information from many people. Document Analysis = Reviewing existing documents to understand requirements. Observation = Watching and documenting how processes are performed.</p> Signup and view all the answers

Which requirement elicitation technique is MOST effective for uncovering requirements that weren't initially considered?

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

Requirements that are discovered late in the project are typically easier to incorporate.

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

What are the four steps for conducting interviews?

<ol> <li>Select people to interview and create a schedule 2. Design interview questions 3. Prepare for the interview 4. Conduct the Interview</li> </ol> Signup and view all the answers

The most popular technique to know something is to simply ______.

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

Match the question type with its description.

<p>Closed-ended questions = Well-defined answers. Open-ended questions = Elaborate response. Probing questions = More detail about initial answer.</p> Signup and view all the answers

Beginning with high-level questions and gradually moving towards more specific questions represents which type of interviewing strategy?

<p>Top-down (B)</p> Signup and view all the answers

In bottom-up interviewing, an interviewer begins with general questions before moving to specific details.

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

After conducting an interview, what should the interviewer send to their interviewees?

<p>Interview notes.</p> Signup and view all the answers

Meetings can be held electronically and ______.

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

Match questionnaire use case with the correct scenario:

<p>Large Numbers = Reach large numbers of people. External Use = Can use outside the organization. Information and Opinions = Need both information and opinions</p> Signup and view all the answers

Identifying the population and using representative samples are important steps in:

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

Flashcards

Requirement Engineering

The process of converting high-level business requirements into detailed software requirements that can be used as inputs for creating models.

Requirement (Definition)

A statement of what the system must do or a characteristic it must have.

Functional Requirement

A type of requirement that relates to a process or data, specifying what the system will do.

Non-Functional Requirement

A type of requirement focusing on characteristics like performance, usability, security of the system.

Signup and view all the flashcards

Operational Requirements

Requirements for what the system will run on, e.g., Linux, or the technical environment.

Signup and view all the flashcards

Cultural Influence Requirements

Requirements related to customization, language differences, or legal needs.

Signup and view all the flashcards

Security Requirements

Requirements for access control, encryption, and virus controlmeasures.

Signup and view all the flashcards

Requirement Elicitation

Process of gathering and determining requirements from users and stakeholders.

Signup and view all the flashcards

Requirement Analysis

Examining the gathered requirements to resolve any ambiguities, contradictions, or incompleteness.

Signup and view all the flashcards

Requirement Specification

Defining and documenting the requirements in a clear and concise manner.

Signup and view all the flashcards

Questionnaires

A set of written questions used to collect information from a large number of people.

Signup and view all the flashcards

Document Analysis

A method to learn about the system by reviewing existing documents.

Signup and view all the flashcards

Observation

A technique to gain insight into the current system by watching processes being performed.

Signup and view all the flashcards

Story Card

A file card used to capture requirements.

Signup and view all the flashcards

Task List

A list created for each requirement to capture all the tasks associated with implementing it.

Signup and view all the flashcards

System Proposal: Executive Summary

A summary of all the essential information, allowing executives to quickly understand the proposal.

Signup and view all the flashcards

System Proposal: System Request

A document that defines the need and justification for a new system.

Signup and view all the flashcards

System Proposal: Workplan

A schedule that outlines tasks, timelines, and resources for completion of the new system.

Signup and view all the flashcards

System Proposal: Feasibility Analysis

An analysis assesses the technical, economic, and organizational viability of new system.

Signup and view all the flashcards

System Proposal: Requirement Definition

A detail list of the functional and non-functional requirements that are needed for the system.

Signup and view all the flashcards

Study Notes

Requirement Engineering

  • Requirement engineering is the most critical step of the entire Software Development Life Cycle (SDLC).
  • Making changes is easier during this stage.
  • Most system failures are linked to problems in the requirements.
  • Iterative processes ensure that small batches of requirements can be identified and implemented incrementally, allowing the system to evolve.

Purpose of Requirement Engineering

  • Converts high-level business requirements from the system request into detailed software requirements.
  • The detailed software requirements serve as inputs for creating models.

Requirements

  • It is a statement of what the system must do or a characteristic it must have.

Requirement Types

  • Functional requirements relate to a process or data.
  • Non-functional requirements relate to performance or usability.

Sample Functional Requirements

  • The user must be able to register.
  • The admin must be able to delete accounts.
  • The parent must be able to print a student progress report.

Sample Non-Functional Requirements

  • The system must run on Linux.
  • The system must interoperate with Edugate.
  • The user must be able to complete operations within no more than 5 mouse clicks.
  • The system must be available 99.9% of the time.

Operational Nonfunctional Requirements

  • Technical environment is part of operational requirements.
  • System integration is part of operational requirements.
  • Portability is part of operational requirements.
  • Maintainability is part of operational requirements.

Cultural Influence

  • Customization requirements like language differences are part of cultural influence.
  • Legal requirements are part of cultural influence.

Performance Criteria

  • Speed is a performance criterion.
  • Capacity is a performance criterion.
  • Availability and reliability are performance criteria.

Operational Technical Environment Requirements

  • The technical environment consists of special hardware, software, and network requirements imposed by business requirements.
  • An example is that the system may work over the Web environment with Internet Explorer

Operational System Integration Requirements

  • The extent to which the system will operate with other systems.
  • An example includes the system must be able to import and export Excel spreadsheets.

Operational Portability Requirements

  • The degree to which the system can operate in different environments.
  • For example, the system must be able to work with different operating systems like Linux, Mac OS, and Windows.

Operational Maintainability Requirements

  • The expected business changes the system should adapt to.
  • New versions of the system may be released every 6 months.

Performance Speed Requirements

  • This is the time within which the system must perform its functions.
  • Response time must be less than 7 seconds for any transaction over the network.

Performance Capacity Requirements

  • Encompasses the total and peak number of users and the volume of data expected.
  • There will be a maximum of 100-200 simultaneous users at peak use times.

Performance Availability and Reliability Requirements

  • Relates to the extent to which the system will be available to users and the permissible failure rate due to errors.
  • The system must have 99% uptime performance.

Customization Requirements

  • A way of tailoring aspects of the system, that can be changed by local users.
  • An example is country managers being able to define new fields in the product database to capture country-specific information.
  • Consists of laws and regulations that impose requirements on the system.
  • Personal information about customers cannot be transferred out of European Union countries into the United States.

Security System Value Estimates

  • An estimated business value of the system and its data.
  • A system outage is estimated to cost $50,000 per hour in lost revenue.

Security Access Control Requirements

  • Limitations on who can access what data.
  • Only department managers can change inventory items within their own department.

Security Encryption and Authentication Requirements

  • Defining what data will be encrypted.
  • Where and whether authentication will be needed for user access.
  • Data will be encrypted from the user's computer to the website to provide secure ordering.

Virus Control Requirements

  • Requirements to control the spread of viruses.
  • All uploaded files will be checked for viruses before being saved in the system.

Requirement Engineering Process Phases

  • Requirement elicitation involves gathering and determining requirements.
  • Requirement analysis involves analyzing all requirements
  • Requirement specification involves defining requirements.
  • This process is concurrent, iterative, and incremental.
  • Business and IT personnel must collaborate.

Requirement Elicitation

  • Requirement elicitation uncovers all requirements; requirements uncovered late are harder to incorporate.

Elicitation Techniques

  • Interviews.
  • Joint Application Development (JAD).
  • Questionnaires.
  • Document analysis.
  • Observation.

Interviews for Elicitation

  • An interview is the most popular elicitation technique that helps you know something by asking.
  • The process includes selecting people to interview and creating a schedule.
  • Designing interview questions with open-ended, closed-ended, and probing question types.
  • Preparing for the interview and conducting it in a logical order.
  • Following up after the interview.

Interview Question Types

  • Closed-ended questions lead to short and precise responses.
  • Open-ended questions encourage detailed answers.
  • Probing questions seek examples and greater detail.

Interviewing Strategies

  • Top-down interviewing begins with general questions and moves to specific ones.
  • Bottom-up interviewing starts with specific questions and moves to broader ones.

Post-Interview Actions

  • Prepare notes and send them to the interviewee for verification.

Joint Application Development (JAD)

  • A JAD is a joint user-analyst meeting.
  • Meetings can be held electronically and anonymously to reduce problems in group settings.
  • JAD can be accomplished remotely, but sessions require careful planning, and users may need documents or user manuals.

Questionnaires for Elicitation

  • A questionnaire is a set of written questions used to obtain information from individuals.
  • It may be paper-based or electronic.
  • These are commonly used to reach many people, gather different information or opinions, and solicit feedback from customers or vendors

Questionnaire Steps

  • Select participants and identify the population and use samples for large demographic areas.
  • Design the questionnaire, select questions carefully, and remove ambiguities.
  • Administer the questionnaire to get a good response rate and offer an incentive.
  • Follow up on the questionnaire and send results to participants, with a 'thank you'.

Good Questionnaire Design Practices

  • Start with non-threatening and interesting questions.
  • Group questions into logically consistent sections.
  • Avoid putting the most important items only at the end.
  • Avoid crowding a page with too many items.
  • Avoid abbreviations and biased or suggestive items or terms.
  • Number questions to avoid confusion.
  • Pretest to identify confusing questions while assuring anonymity to respondents.

Document Analysis for Elicitation

  • Document Analysis provides information about the "as-is" system.
  • Review technical and typical user documents, such as forms, reports, and policy manuals.

Observation

  • Observation involves watching processes being performed to gain insight into the current system.
  • It should enable the analyst to see the reality of a situation, rather than listening to others describe it.
  • It also checks the validity of information that has been previously gathered.
  • Avoid interrupting or influencing workers.

Comparing Elicitation Techniques

  • Combining techniques is generally beneficial.
  • Document analysis and observation need minimal training, but JAD sessions can be challenging.

Alternative Elicitation Techniques

  • Concept Maps
    • These represent relationships between concepts
    • Focus individuals on key details.
  • User Stories, Story Cards & Task Lists
    • Used in Agile development methods.
    • Capture stories using index cards.
    • They capture functional and nonfunctional requirements.

Story Cards & Task Lists

  • Captures a requirement using story cards which relates to index cards.
  • Consists of a file card with a single requirement.
  • Each requirement or card, is discussed.
  • Determines how much effort to implement.
  • Creates a task list for each requirement which are often written done in stories.
  • Large requirements can be split into smaller sections and prioritized by risk level and importance.

Requirement Analysis Problems

  • May occur because the analyst might not have access to the correct users.
  • Ambiguity.
  • Contradiction.
  • Incompleteness.
  • Incompatibility.

The System Proposal

  • Combines all material created in planning & analysis.
  • Includes the following sections:
    • Executive summary.
      • Provides all critical information in summary form.
      • Helps busy executives determine which sections they need to read in more detail.
    • The system request.
    • The workplan.
    • The feasibility analysis.
    • The requirement definition.
    • Current models of the system (expected to evolve).
    • Appendices.

System Proposal Template contents

  • Table of Contents
  • Executive Summary
  • System Request
  • Workplan
  • Feasibility Analysis
  • Requirements definition
  • Functional Model
  • Structural Models
  • Behavioral Models.
  • Appendices

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