Requirements Engineering: Key Concepts and Practices
Single Statement of Need (SSON) and Non-Functional Requirements (NFR)
SSON (Single Statement of Need) | (Invariant) Forbidden transformations (failure description). NFR: Qualities a system must have: Usability, International, Performance, Environmental, Legal, Security.
Clear, concise, system’s overall goal. Must have: Usability, International, Performance, Environmental, Legal, Security.
How it will accomplish. Stakeholder: Development, Deployment, Maintenance. NFR has two parts:
Source of knowledge. Evaluator. SD: Lifecycle of an object, states and state transition. Usage: lifecycle of key concepts.
RE analyst: Translator into product. Active. Usage: Describe workflow, parallel behavior. ClD: The concepts that exist, specification.
Identify stakeholder: Particular attribute, relationships that exist (micro). COD: Modularize system to:
Who brings value to project. Direct: Components, express requirements at the component level. UCD: Has defined in second
Clients, customer, user. Indirect: Col usage: an actor achieve a goal using the system. GD: Elicitation, analysis, intention/rationale, objective of stakeholder.
Managers, buyers, domain experts. Description (D), Fit Criterion (FC)
Sources of Requirement: Surveys. Ex: (D) The product must produce existing doc and policy, experiences in acceptable time.
Elicitation: Interview, background. (FC): Should be less than 15 sec for 90% of product. User Story
Reading, surveys | brainstorm. Priority: Technical effort and business. Backlog: All things must be done in project.
Prototype. Model-based, Scenario value. Model: Reduce complexity. Ex of Backlog: As a <persona>, I want to <action> so that <benefit>.
Use case. Personas: Vivid, actionable, real, identifiable, exact, detailed. Good RE: Necessary, verifiable, attainable. Facilitate description. Facilitate the analysis. Domain
Stories ID | Story | Business Value | Tech Effort |
---|
Model: Abstract description of how system operate. Ex: class diagram, activity diagram. Validate: Meeting and inspect. Or Prototype (pro: elicitation, validation)
Goal: Objective of stakeholders. In Goal Model: USE CASE Diagram: Capture and structure. Low-fidelity: draw on paper, High-fidelity: automated. Acceptance Tests: Should include
Actor: People who act with system to achieve goal.
SoftGoal Specify: 1. Contributed by hard goal, 2. Decompose smaller. Left is extend, right is include.
1. Use arrow 2. Use |– to connect. Extend: Reserve lecture hall -> announce lecture. Quality of Software: Justified (N):
Include: Announce lecture -> assign lecturer. If that RE helps reach a goal or constrain.
Elicitation: Collecting, finding out. Generalization (Inheritance): Assistant is 教员. Abstract (N): Specifies a desired system
Analysis: Models, identify conflicts. Professor is 教员. Be aware: same level abstraction, don’t do it like behavior diagram. Without prescribing design. Endorsed (N):
Specification: What user needs to do, system must do, properties & quality from system. (correctness, completeness). : Relevant decision-makers have approved it.
Scenario: Primary actor, precondition, trigger. Correct (A): Compatible with actual project.
Validation: Checking requirement by give (prototype, proof, model demonstration). And then have Main Success Scenario: Parameters, environment, goals, expectations.
1. Visitor opens… 2. App offers visitor to… Feasible (A): Constraints of environment and goals to produce an implementation. Prioritized
Documentation: Record info, maintaining. Secondary scenarios: Situation that is alternative. If user doesn’t have account, (A) Specification of its importance relative to other.
User requirement: Tasks that users should satisfied by the system. System requirement: They have to create one not log in. Unambiguous (V): Words with no confusion, understand easily. Traceable (V)
What system will do to deliver. FR*: Things the system must do like: require to response something (transformation), property that must hold. At the end we need Success Postcondition: Scenario ends. Follow its consequences, both ways. Readable
Make sure they relate to goal. Readily understand it. Verifiable (V): Expressed in such way -> implementation satisfies it.