Podcast
Questions and Answers
Which of the following best describes the primary output of the requirements engineering process?
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.
Requirements engineering processes are uniform across different types of applications.
False (B)
List the four generic activities common to all requirements engineering processes.
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 _________.
Requirements elicitation is sometimes referred to as requirements _________.
Which of the following roles is LEAST likely to be considered a stakeholder in the requirements elicitation process?
Which of the following roles is LEAST likely to be considered a stakeholder in the requirements elicitation process?
Match the types of interviews with their descriptions:
Match the types of interviews with their descriptions:
Interviews are always the most effective method for understanding specific domain terminology.
Interviews are always the most effective method for understanding specific domain terminology.
What is a primary advantage of conducting group interviews?
What is a primary advantage of conducting group interviews?
___________ involves spending a considerable time observing and analyzing how people actually work.
___________ involves spending a considerable time observing and analyzing how people actually work.
Which of the following is a limitation of ethnography in requirements elicitation?
Which of the following is a limitation of ethnography in requirements elicitation?
The Nominal Group Technique (NGT) requires group members to work together from the beginning of the idea generation process.
The Nominal Group Technique (NGT) requires group members to work together from the beginning of the idea generation process.
In the context of requirement determination, what types of issues does NGT apply to?
In the context of requirement determination, what types of issues does NGT apply to?
Which of the following is a strength of using surveys/questionnaires in requirements elicitation?
Which of the following is a strength of using surveys/questionnaires in requirements elicitation?
The use of ___________ questions in a survey requires more analysis.
The use of ___________ questions in a survey requires more analysis.
Joint Application Design (JAD) sessions are typically conducted at the participants' usual workplace to ensure convenience.
Joint Application Design (JAD) sessions are typically conducted at the participants' usual workplace to ensure convenience.
What is the primary purpose of Joint Application Design (JAD)?
What is the primary purpose of Joint Application Design (JAD)?
Which JAD participant is responsible for facilitating the group process, setting the agenda, and resolving conflicts?
Which JAD participant is responsible for facilitating the group process, setting the agenda, and resolving conflicts?
Match each JAD participant with their primary responsibility:
Match each JAD participant with their primary responsibility:
__________ is used to elicit and validate stakeholder needs through an iterative process that creates a model or design of requirements.
__________ is used to elicit and validate stakeholder needs through an iterative process that creates a model or design of requirements.
Prototyping is most effective when user requests are already very clear and well-defined.
Prototyping is most effective when user requests are already very clear and well-defined.
Which of the following is a potential drawback of using prototyping for requirements elicitation?
Which of the following is a potential drawback of using prototyping for requirements elicitation?
Identify two reasons why stakeholders may express requirements in conflicting ways.
Identify two reasons why stakeholders may express requirements in conflicting ways.
Match the term to its definition
Match the term to its definition
Which of the following is NOT a common way of writing a system requirements specification?
Which of the following is NOT a common way of writing a system requirements specification?
Requirements written in _______________ are supplemented by diagrams and tables to enhance clarity.
Requirements written in _______________ are supplemented by diagrams and tables to enhance clarity.
Using natural language is always the most precise and unambiguous way to specify requirements.
Using natural language is always the most precise and unambiguous way to specify requirements.
What is a key characteristic of structured specifications that differentiate them from natural language specifications?
What is a key characteristic of structured specifications that differentiate them from natural language specifications?
Which element is not typically included in a structured specification of a function?
Which element is not typically included in a structured specification of a function?
The software requirements specification document, also known as the __________, is the official statement of what is required of the system developers.
The software requirements specification document, also known as the __________, is the official statement of what is required of the system developers.
Match the section of an SRS template with its description:
Match the section of an SRS template with its description:
Use cases are used in UML to add detail by showing the sequence of event processing in the system.
Use cases are used in UML to add detail by showing the sequence of event processing in the system.
What does requirements validation primarily aim to demonstrate?
What does requirements validation primarily aim to demonstrate?
Why is requirements validation considered a crucial process in software engineering?
Why is requirements validation considered a crucial process in software engineering?
___________ is the process of managing changing requirements throughout the software development lifecycle.
___________ is the process of managing changing requirements throughout the software development lifecycle.
Effective interviewing involves only asking closed questions to maintain focus and control.
Effective interviewing involves only asking closed questions to maintain focus and control.
What are the purposes of eliciting business analysis information using survey/questionnaire?
What are the purposes of eliciting business analysis information using survey/questionnaire?
What should the system measure and deliver according to the insulin pump software system?
What should the system measure and deliver according to the insulin pump software system?
Two previous readings are so that the ___ of sugar level can be computed.
Two previous readings are so that the ___ of sugar level can be computed.
The main aim of determining the information requirements is to prepare precise SRS understood by managers.
The main aim of determining the information requirements is to prepare precise SRS understood by managers.
Which of the following describes the attributes of systematic manual analysis?
Which of the following describes the attributes of systematic manual analysis?
Statements of services the system should provide is considered which key term?
Statements of services the system should provide is considered which key term?
Flashcards
System Requirements
System Requirements
Descriptions of system services and constraints produced during requirements engineering.
RE Processes
RE Processes
Vary widely based on application domain, involve elicitation, specification, validation, and management.
Requirements Elicitation
Requirements Elicitation
Finding out about the domain, what services the system should provide, and operational constraints.
Stakeholders
Stakeholders
Signup and view all the flashcards
Interviewing
Interviewing
Signup and view all the flashcards
Closed Interview
Closed Interview
Signup and view all the flashcards
Open Interview
Open Interview
Signup and view all the flashcards
Ethnography
Ethnography
Signup and view all the flashcards
Nominal Group Technique
Nominal Group Technique
Signup and view all the flashcards
Survey/Questionnaire
Survey/Questionnaire
Signup and view all the flashcards
Close-ended questions
Close-ended questions
Signup and view all the flashcards
Open-ended questions
Open-ended questions
Signup and view all the flashcards
Joint Application Design (JAD)
Joint Application Design (JAD)
Signup and view all the flashcards
CASE Tools
CASE Tools
Signup and view all the flashcards
System Prototypes
System Prototypes
Signup and view all the flashcards
JAD: Intensive
JAD: Intensive
Signup and view all the flashcards
Prototyping
Prototyping
Signup and view all the flashcards
Requirements Specification
Requirements Specification
Signup and view all the flashcards
Natural Language Requirements
Natural Language Requirements
Signup and view all the flashcards
Structured Specifications
Structured Specifications
Signup and view all the flashcards
Software Requirements Spec (SRS)
Software Requirements Spec (SRS)
Signup and view all the flashcards
Graphical Notation: Use Cases
Graphical Notation: Use Cases
Signup and view all the flashcards
Requirements Validation
Requirements Validation
Signup and view all the flashcards
Requirements Management
Requirements Management
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.