Requirements Engineering Flashcards
What is the role of a business analyst?
In large organizations, a dedicated role focused on understanding requirements; in smaller organizations, developers often assume this responsibility.
What is requirements engineering?
A process to establish the functions, qualities, and constraints stakeholders require from a system.
What are the key steps in requirements engineering?
Discovery, classification and organization, prioritization and negotiation, and specification.
Who are stakeholders in a system?
Anyone affected by the system or holding a legitimate interest, including users and non-users like staff, customers, or patients.
What is the purpose of a stakeholder analysis?
To identify stakeholders, determine if they are users, and understand their interests in the system.
How do specifications differ in traditional and agile approaches?
Traditional methods emphasize formal, document-heavy specifications; agile focuses on minimal, shared documentation to guide design.
What are types of requirements notations?
Natural language, structured natural language, design description languages, graphical notations, and mathematical specifications.
What are use cases in requirements engineering?
Descriptions of system functions from an actor’s perspective, focusing on what they need from the system.
What are user stories in modern software engineering?
Stories describing how a user interacts with the system to achieve a goal, avoiding specific technological solutions.
How do use case diagrams model system requirements?
By representing actors, system boundaries, use cases, and their interactions to define functional requirements.
What are system actors in use case diagrams?
Other systems that interface with the primary system, depicted using UML stereotypes.
How are non-functional requirements modeled?
With dashed lines and text boxes or tables describing aspects like performance or flexibility.
What is the ‘black box’ perspective of users?
Users only care about inputs and outputs, not the internal workings of the system.
What is the transaction of value in a use case?
An actor seeks a benefit from the system, and the system provides a value in return.
What is a value proposition in system design?
A clear statement of the benefit users receive from the system, ensuring their effort is worthwhile.