Podcast
Questions and Answers
Which of the following best describes the role of requirement engineering in the Systems Development Life Cycle (SDLC)?
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.
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?
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.
The main goal of requirement engineering is to convert high level business requirements into ______ software requirements.
Match the following types of requirements with their descriptions:
Match the following types of requirements with their descriptions:
Which of the following is considered a functional requirement?
Which of the following is considered a functional requirement?
A non-functional requirement specifies what a system must do, relating directly to its functions and features.
A non-functional requirement specifies what a system must do, relating directly to its functions and features.
Give an example of a non-functional requirement related to system security.
Give an example of a non-functional requirement related to system security.
A system will read and write to the main inventory database in the inventory system. This is an example of a system ______ requirement.
A system will read and write to the main inventory database in the inventory system. This is an example of a system ______ requirement.
Match the nonfunctional requirement with the correct example:
Match the nonfunctional requirement with the correct example:
What does 'Maintainability' refer to in the context of non-functional requirements?
What does 'Maintainability' refer to in the context of non-functional requirements?
Cultural influence is not considered a nonfunctional requirement.
Cultural influence is not considered a nonfunctional requirement.
Provide an example of a 'Cultural Influence' as it relates to system design.
Provide an example of a 'Cultural Influence' as it relates to system design.
Requirements related to customization for language differences or keyboard requirements are categorized under ______ influence.
Requirements related to customization for language differences or keyboard requirements are categorized under ______ influence.
Match the following Security Requirements with their descriptions:
Match the following Security Requirements with their descriptions:
A system experiencing a $50,000 loss per hour due to an outage falls under which type of non-functional requirement?
A system experiencing a $50,000 loss per hour due to an outage falls under which type of non-functional requirement?
The System Value Estimate relates to the value of data if it's compromised but not to the potential loss from system downtime.
The System Value Estimate relates to the value of data if it's compromised but not to the potential loss from system downtime.
What is the difference between authentication and encryption?
What is the difference between authentication and encryption?
To control the spread of viruses, systems employ Virus ______ Requirements.
To control the spread of viruses, systems employ Virus ______ Requirements.
Match the following steps of Requirement Engineering Process:
Match the following steps of Requirement Engineering Process:
Which of the following is NOT a characteristic of a successful Requirement Engineering process?
Which of the following is NOT a characteristic of a successful Requirement Engineering process?
The Requirement Engineering process is most effective when approached as a linear, sequential process.
The Requirement Engineering process is most effective when approached as a linear, sequential process.
Who needs to collaborate to achieve successful Requirement Engineering?
Who needs to collaborate to achieve successful Requirement Engineering?
For a successful Requirement Engineering process, it is important for Business and ______ personnel need to collaborate.
For a successful Requirement Engineering process, it is important for Business and ______ personnel need to collaborate.
Match the following requirement elicitation techniques with their descriptions:
Match the following requirement elicitation techniques with their descriptions:
Which requirement elicitation technique is MOST effective for uncovering requirements that weren't initially considered?
Which requirement elicitation technique is MOST effective for uncovering requirements that weren't initially considered?
Requirements that are discovered late in the project are typically easier to incorporate.
Requirements that are discovered late in the project are typically easier to incorporate.
What are the four steps for conducting interviews?
What are the four steps for conducting interviews?
The most popular technique to know something is to simply ______.
The most popular technique to know something is to simply ______.
Match the question type with its description.
Match the question type with its description.
Beginning with high-level questions and gradually moving towards more specific questions represents which type of interviewing strategy?
Beginning with high-level questions and gradually moving towards more specific questions represents which type of interviewing strategy?
In bottom-up interviewing, an interviewer begins with general questions before moving to specific details.
In bottom-up interviewing, an interviewer begins with general questions before moving to specific details.
After conducting an interview, what should the interviewer send to their interviewees?
After conducting an interview, what should the interviewer send to their interviewees?
Meetings can be held electronically and ______.
Meetings can be held electronically and ______.
Match questionnaire use case with the correct scenario:
Match questionnaire use case with the correct scenario:
Identifying the population and using representative samples are important steps in:
Identifying the population and using representative samples are important steps in:
Flashcards
Requirement Engineering
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)
Requirement (Definition)
A statement of what the system must do or a characteristic it must have.
Functional Requirement
Functional Requirement
A type of requirement that relates to a process or data, specifying what the system will do.
Non-Functional Requirement
Non-Functional Requirement
Signup and view all the flashcards
Operational Requirements
Operational Requirements
Signup and view all the flashcards
Cultural Influence Requirements
Cultural Influence Requirements
Signup and view all the flashcards
Security Requirements
Security Requirements
Signup and view all the flashcards
Requirement Elicitation
Requirement Elicitation
Signup and view all the flashcards
Requirement Analysis
Requirement Analysis
Signup and view all the flashcards
Requirement Specification
Requirement Specification
Signup and view all the flashcards
Questionnaires
Questionnaires
Signup and view all the flashcards
Document Analysis
Document Analysis
Signup and view all the flashcards
Observation
Observation
Signup and view all the flashcards
Story Card
Story Card
Signup and view all the flashcards
Task List
Task List
Signup and view all the flashcards
System Proposal: Executive Summary
System Proposal: Executive Summary
Signup and view all the flashcards
System Proposal: System Request
System Proposal: System Request
Signup and view all the flashcards
System Proposal: Workplan
System Proposal: Workplan
Signup and view all the flashcards
System Proposal: Feasibility Analysis
System Proposal: Feasibility Analysis
Signup and view all the flashcards
System Proposal: Requirement Definition
System Proposal: Requirement Definition
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.
Legal Requirements
- 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.
- Executive summary.
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.