Lecture 1: Introduction to Requirements Engineering File Why should engineer requirements?
req. must be correct and complete
Requirement – A condition or capability needed by req. are often unclear in the beginning stakeholders to solve a problem or achieve an objective. Project must handle large numbers or req. A condition that must be met by a system or System context – part of system’s environment system component to satisfy a contract, being relevant to understand the system and its standard, specification, or other formally requirement. imposed documents. Requirements Engineering Process Model by K. A documented representation Pohl, Springer 2010 Requirement Engineering – systematic and disciplined approach to a specification and management of requirement which: Understand relevant req. Documenting req. Check if req. meet quality criteria Achieve consensus among stakeholders Manage req. to minimize risk Scoping – to decide which part of work shall be handled by the developing system. Requirement Types Figure 1 - System context: Requirement sources Functional – concern a result of behaviour that shall be provided by a function of the system RE Processes Quality (non-functional) – related to a quality Req. Elicitation – to obtain and refine concern that is not covered by functional requirements from stakeholders requirements. Req. documentation – to document Define the system’s: Performance, formal statement of system req. Reliability, Usability, Maintainability, Req. validation and negotiation – to Portability, Security (PRUMPS) check, analyse req. and resolve conflicts. Constraint (non-functional) – limits the solution space that is necessary for meeting the given Req. management – to make req. functional requirements and quality traceable, to prepare req. view, to requirements maintain consistency and to ensure Stakeholder – A person, a group of people or an implementation. organization that has an influence on the requirements Software development process models of the developing system. Activities: Project Initiation (PI), Business E.g. Top management, Business/IT consultant, Modelling (BM), Requirements (R), Project Manager, Domain Experts, Analysis & Design (A&D), Implementation Business/System Analyst, Requirement (I), Test (T), Deployment (D), engineer, Customers Maintenance (M) Requirement problem Models: Does not reflect the real needs of the customer Waterfall model - Sequential for the system Rational Unified Process (RUP) – Inconsistent and incomplete helps resources from being wasted Expensive to make changes after agreed and to reuse of components. Misunderstandings between customers, system SCRUM – Agile; req. can be requirements and software engineers documented according to the What happens when requirements are wrong? – sprint. Systems will be late, unreliable and don’t meet Characteristic of RE: Analytical thinking, Empathy, customers or business needs. Moderation skills, Self-confidence, Conflict resolution skills and Persuasiveness.