Podcast
Podcast
Podcast
Something went wrong
Questions and Answers
Questions and Answers
How might a requirement be expressed during requirements engineering?
How might a requirement be expressed during requirements engineering?
- As a detailed mathematical function
- As a high-level abstract service statement
- As a system constraint
- All of the above (correct)
What characterizes the generic activities common to all requirements engineering (RE) processes?
What characterizes the generic activities common to all requirements engineering (RE) processes?
- They are iterative and interleaved, allowing for revisiting and refinement of requirements. (correct)
- They are primarily focused on technical specifications, with minimal stakeholder involvement.
- They are independent and can be performed in any order without affecting the outcome.
- They are strictly sequential, ensuring each activity is completed before the next begins.
What role do stakeholders play in requirements elicitation?
What role do stakeholders play in requirements elicitation?
- They focus on marketing and sales strategies for the final product.
- They are primarily responsible for the technical implementation of the system.
- They manage the project timeline and budget, ensuring the system is delivered on time and within cost.
- They provide insights into the application domain, system services, and operational constraints. (correct)
When is ethnography most effective as a requirements elicitation technique?
When is ethnography most effective as a requirements elicitation technique?
In the Nominal Group Technique (NGT), how are ideas initially gathered from participants?
In the Nominal Group Technique (NGT), how are ideas initially gathered from participants?
What distinguishes close-ended questions in a survey or questionnaire?
What distinguishes close-ended questions in a survey or questionnaire?
What is the primary goal of Joint Application Design (JAD) in determining software requirements?
What is the primary goal of Joint Application Design (JAD) in determining software requirements?
What is a key characteristic of the location where Joint Application Design (JAD) sessions are typically conducted?
What is a key characteristic of the location where Joint Application Design (JAD) sessions are typically conducted?
What role is a 'Scribe' expected to fulfill during Joint Application Design (JAD) sessions?
What role is a 'Scribe' expected to fulfill during Joint Application Design (JAD) sessions?
How does prototyping assist in the requirements engineering process?
How does prototyping assist in the requirements engineering process?
In what situation is prototyping most beneficial?
In what situation is prototyping most beneficial?
What is a potential drawback of using prototyping?
What is a potential drawback of using prototyping?
What is a key challenge in requirements elicitation?
What is a key challenge in requirements elicitation?
What is the primary purpose of writing down user and system requirements in a requirements document?
What is the primary purpose of writing down user and system requirements in a requirements document?
What is a limitation of using mathematical specifications to write system requirements?
What is a limitation of using mathematical specifications to write system requirements?
What is a key advantage of using natural language for writing requirements?
What is a key advantage of using natural language for writing requirements?
What is a key problem associated with using natural language to specify requirements?
What is a key problem associated with using natural language to specify requirements?
According to the structured specification for an insulin pump, what happens if the computed insulin dose is rounded to zero?
According to the structured specification for an insulin pump, what happens if the computed insulin dose is rounded to zero?
What characteristic defines structured specifications?
What characteristic defines structured specifications?
What does the software requirements specification (SRS) document primarily define?
What does the software requirements specification (SRS) document primarily define?
Which section of the SRS template describes how the system integrates with overall business objectives?
Which section of the SRS template describes how the system integrates with overall business objectives?
In UML, what purpose do use cases serve in graphical notation?
In UML, what purpose do use cases serve in graphical notation?
What is the primary focus of requirements validation?
What is the primary focus of requirements validation?
What is the potential financial impact of fixing a requirements error after delivery, compared to fixing an implementation error?
What is the potential financial impact of fixing a requirements error after delivery, compared to fixing an implementation error?
What is the main goal of requirements management?
What is the main goal of requirements management?
In the context of interviews for requirements elicitation, what does 'effective interviewing' involve?
In the context of interviews for requirements elicitation, what does 'effective interviewing' involve?
What is a major disadvantage of group interviews compared to individual interviews for requirements elicitation?
What is a major disadvantage of group interviews compared to individual interviews for requirements elicitation?
Which of the following is a scenario where a survey/questionnaire would be a suitable requirements elicitation technique?
Which of the following is a scenario where a survey/questionnaire would be a suitable requirements elicitation technique?
Which of the following roles typically involves actively speaking and participating in discussions during Joint Application Design (JAD) sessions?
Which of the following roles typically involves actively speaking and participating in discussions during Joint Application Design (JAD) sessions?
During Joint Application Design (JAD) sessions, what benefit do CASE tools provides to the team?
During Joint Application Design (JAD) sessions, what benefit do CASE tools provides to the team?
Which of the following is a key aspect of the 'Introduction' section in a Software Requirements Specification (SRS) template?
Which of the following is a key aspect of the 'Introduction' section in a Software Requirements Specification (SRS) template?
What is the purpose of having 'pre-condition' and 'post-condition' fields in a structured specification?
What is the purpose of having 'pre-condition' and 'post-condition' fields in a structured specification?
What is the limitations of structured specifications?
What is the limitations of structured specifications?
In Natural Language system requirement specification, what sentences are used?
In Natural Language system requirement specification, what sentences are used?
In the limitations of survey and questionnaire, what does low response rates indicate?
In the limitations of survey and questionnaire, what does low response rates indicate?
What is a limitation of Ethnography?
What is a limitation of Ethnography?
Which is NOT a stage in the generic activities?
Which is NOT a stage in the generic activities?
Questions and Answers
Something went wrong
Flashcards
Flashcards
System Requirements
System Requirements
Descriptions of system services and constraints generated during requirements engineering.
RE Processes
RE Processes
Vary depending on the application domain but generally include elicitation, specification, validation, and management.
Requirements Elicitation
Requirements Elicitation
Finding out about the application domain, services the system should provide, and operational constraints.
Stakeholders
Stakeholders
Signup and view all the flashcards
Effective Interviewing
Effective Interviewing
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
Joint Application Design
Joint Application Design
Signup and view all the flashcards
System Prototyping
System Prototyping
Signup and view all the flashcards
Requirements Specification
Requirements Specification
Signup and view all the flashcards
Natural Language Specification
Natural Language Specification
Signup and view all the flashcards
Structured Specifications
Structured Specifications
Signup and view all the flashcards
End Result of JAD
End Result of JAD
Signup and view all the flashcards
SRS Document
SRS Document
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
Ethnography
Ethnography
Signup and view all the flashcards
Nominal Group Technique (NGT)
Nominal Group Technique (NGT)
Signup and view all the flashcards
Flashcards
Something went wrong
Study Notes
Study Notes
Requirements Engineering Overview
- The system requirement describes the system's services and constraints
- These requirements are generated during the requirements engineering process
- A requirement can range from a high-level abstract statement to a detailed mathematical functional specification
Requirements Engineering Processes
- The processes for Requirement Engineering vary depending on the application domain
- Generic activities common to all processes:
- Requirement elicitation
- Requirement specification
- Requirement validation
- Requirement management
- Requirement elicitation
- Requirement Engineering is an iterative activity where these processes are interleaved
Requirement Elicitation and Analysis
- This is sometimes called requirements discovery
- Technical staff works with customers to understand:
- Application domain
- Services system should provide
- System's operational constraints
- Involves:
- End-users
- Managers
- Engineers in maintenance
- Domain experts
- Trade unions
- These people are called stakeholders
Requirements Elicitation Techniques
- Traditional Methods:
- Interviewing and Listening
- Interviewing Groups
- Survey/Questionnaire
- Ethnography
- Analyzing procedures and other documents
- Modern Methods:
- Joint Application Design
- Case tools
- Prototyping
Interviews in Requirements Elicitation
- Interviews with stakeholders are part of the requirements elicitation process
- Types of Interview
- Closed interviews: based on a pre-determined list of questions
- Open interviews: various issues are explored with stakeholders
- Effective Interviewing techniques:
- Be open-minded, avoid pre-conceived ideas and listen to stakeholders
- Prompt discussions using a springboard question, a requirements proposal, or prototype system
- Mix closed and open-ended interviewing
Problems with Interviews
- Application specialists use language the requirements engineer may not understand
- They're not good for understanding domain requirements because the requirements engineer wont understand specific domain terminology
- Domain knowledge can be so familiar that people find it hard to mention it as a requirement
Group Interviews
- Involves interviewing several key people together
- Several analysts could be involved
- More time effective
- Advantages:
- Agreements and disagreements all at once
- Disadvantages:
- More difficult to schedule than individual interviews
Ethnography
- Spending a considerable time observing and analysing how users work
- People don't have to explain their work
- It is effective to understanding existing processes
- It does not identify new features that should be added to a system
- It may study current practices that have historical basis which is no longer relevant
Nominal Group Technique (NGT)
- Facilitated process that generates ideas by groups
- Process
- Members come together but initially work separately
- Each person writes ideas
- The facilitator reads ideas out loud and they are written on a whiteboard
- The group then discusses the ideas
- Ideas are prioritized, combined, selected and reduced
- In the requirement determination context, NGT applies to problems or ideas for new features being developed
- The end result is a list of problems or features group members generated and prioritized
Survey/Questionnaire
- Used to elicit business analysis information:
- customers
- products
- work practices
- attitudes
- This is done from a group of people in a structured way and short time period
- There are two types of questions to use:
- Close-ended:
- Easier to analyze because they can be tied to numerical coefficients
- Open-ended:
- Useful when issues are known and the range of possible answers are not
- More difficult and time comsuming
Survey/Questionnaire Strengths and Limitations
- Strengths:
- Inexpensive to administer
- Easier to collect information from a larger audience
- Does not require significant time to administer
- Suitable for stakeholders who are geographically dispersed
- Obtains quantitative data for statistical analysis
- May yield insights and opinions
- Limitations:
- Unbiased results require specialized skills in statistical sampling methods
- The response rates may be too low for statistical significance
- The use of open-ended questions requires more analysis
- Ambiguous questions may be unanswered or answered incorrectly
- Follow-up questions or more survey iterations may be required
Modern Methods for Determining Requirements
- Joint Application Design (JAD):
- Brings together key users, managers, and systems analysts
- Collects system requirements simultaneously from key people
- Conducted off-site
- Case tools:
- Used to analyze existing systems
- Discover requirements to meet changing conditions
- System prototypes:
- Iterative development
- Basic working version is built
- Refine the understanding of system requirements
Joint Application Design (JAD) Details
- Intensive group-oriented requirements determination technique
- Aims to collect system requirements simultaneously from key people:
- Users, Managers, System Analyst
- Team members meet in isolation for an extended period
- Conducted at a location other than their normal work place
- Highly focused
- Produces an intense and structured, but effective process
- Provides an opportunity to resolve conflicts, or understand why conflicts can't be solved
JAD Participants
- Session Leader: facilitates group process, sets agenda, remains neutral, and resolves conflicts
- Users and Managers: active, speaking participants
- Sponsor: high-level champion, limited participation
- Scribe: records session activities using a word processor or CASE tool
- Systems Analysts and IS Staff: primarily listen
- End Result:
- Documentation detailing existing documentation
- Features of proposed system
- CASE Tools
- Enable analysts to enter system models directly into CASE during the JAD session
- Screen designs and prototyping can be shown to users during the JAD session
Prototyping
- Used to elicit and validate stakeholder needs through an iterative process that creates a model or design of requirements
- Used to optimize user experience, evaluate design options, and as a basis for development
- It quickly converts requirements to a working version of system
- Once the user sees requirements converted to a system, they may ask for modifications or additional requests
When is Prototyping useful?
- User requests are not clear
- Few users are involved
- Designs are complex and require concrete form
- Provides a visual representation for the future state
- It allows providing input/feedback early in the design process
- If there's a history of communication problems between analysts and users
- Tools readily available to build the prototype
Prototyping Drawbacks
- Difficult to adapt to more general user audience
- Technology needs to be understood to initiate it
- Unrealistic expectations for the final solution
- There are higher expectations of performance, reliability and usability
- Has a focus on design specifications of the solution rather than non-functional requirements
Problems of Requirements Elicitation
- Stakeholders don't know what they really want
- Stakeholders express requirements in their own terms
- Different stakeholders may have conflicting requirements
- Organizational and political factors may influence system requirements
- Requirements change, new stakeholders emerge, and the business environment may change
Requirements Specification
- Process of writing the user and system requirements in a requirements document
- Requirements may be part of a contract, so it is important that they are complete
Ways of Writing a System Specification
- Natural Language: requirements are written using numbered sentences, each expressing one requirement
- Structured: requirements are written in natural language on a standard template
- Design Description Languages: language like a programming language with more abstract features
- Graphical Notations: graphical models with text annotations, such as UML use case and sequence diagrams
- Mathematical Specifications: notations are based on mathematical concepts; can reduce ambiguity but may not be understood by customers
Natural Language Specification
- Requirements are written as natural language sentences supplemented by diagrams and tables
- Used for writing requirements as it is expressive, intuitive and universal
- Can be understood by users, customers and managers
Problems with Natural Language
- Lack of clarity: precision is difficult to achieve without making the document difficult to read
- Requirements confusion: functional and non-functional requirements tend to be mixed
- Requirements combination: several different requirements may be expressed together
Insulin Pump example
- The system shall measure the blood sugar and deliver insulin, if required, every 10 minutes
- The system shall run a self-test routine every minute with the conditions to be tested and the associated actions defined in Table 1.
Structured Specifications
- Restricts the freedom of the requirements writer, with requirements written in a standard way (using a template)
- Can be too rigid for writing business system requirements
Structured Specifications Details
- Definition of the function
- Description of inputs and their source
- Description of outputs and their destination
- Information needed for the computation
- Description of the action to be taken
- Pre- and post-conditions (if appropriate)
- Side effects (if any)
Software Requirements Specification (SRS) Document
- Official statement specifying what is required of system developers
- Includes both user requirements and system requirements
- It is used by all parties, including:
- System customers
- Managers
- Developers
- Testers
- Maintenance engineers
- Main aim is to prepare a precise SRS report that is understood by the user
Graphical Notation: Use Cases
- Use-cases are a kind of scenario in UML
- They are a high-level graphical model supplemented by more detailed tabular description
- Use cases identify 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
- Demonstrates that the requirements define the system that the customer really wants
- Requirements error costs are high, so validation is very important
- Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error
Requirements Management
- Is the process of managing changing requirements
- Keep track of individual requirements and maintain links between dependent requirements
- This helps assess the impact of requirements changes
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Study Notes
Something went wrong