1/19
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
When are full-fledged requirements needed?
When customers want contractually-fixed requirements, costs, and deadlines
Systems are built by an external contractor based on a set of given requirements (outsourcing)
In regulated environments where regulators check compliance of developed systems (ex: government)
What is the purpose of a glossary?
Danger of missing shared understanding in terminology
Glossary
Context specific terms
Everyday terms that have special meaning in given context
Abbreviations and acronyms
When do you use formal specification languages?
Specify most critical sections of requirements doc
Specify stable requirements
When do you use more/less detail in RE?
More:
External client, development will be outsourced, members are geographically dispersed, testing will be based on requirments, accurate estimates are needed
Less:
Work being done interanlly, customers are extensively involved, developers have domain experience, precedents are avialable as when previous application is being replaced
What qualities should you strive for?
Correct, understandlable, verifiable, unambiguous, complete, necessary, feasible, consistent, conformant, modifiable, non-redundant, structured, traceable to other artifacts
Most important: correctness, understandability, verifiability, consistency
How to rewrite poorly-written requirements
Use shall
Avoid imprecise terminology (etc, fast)
Make it measurable
How do you create a user story?
As a <role> I want <activity> so that <business value>
Should be: independent, negotiable, valuable, estimatable, sized appropriately (5-15 stories), testable
Activity should be part of the system
Role should be a user
Good acceptance criteria
Time Facet:
Linear: Requirements specified up front, contractual basis for outsourcing (developers are not in same company as customers), regulatory authorities
Iterative: Requirements are specified incrementally, starting with goals, development process is iterative/agile, stakeholders are avialable for short feedback looks, duraiton of proaject allows for more than 1-2 iterations, abiliy to change
Purpose Facet
Prescriptive: Contract where requirements are binding and must be implemented, fixed price, functionality determines cost/deadlines, outsoucred
Explorative: Know goals but requirements have to be explored, stakeholders are involved/have vague idea, deadline over functionality, framework contract, priority of requirements is unclear
Target Facet
Customer-specific: Order by a customer and developed bya supplier for this customer, system will be used by organization who ordered the system, indivdal person can be identified for stakeholder role, wants a requirements specification
Market-oriented: Developed as a product/service for a market, developing organization intends to sell the system as a product, users are not indiviaully idenifiable
Process Configurations
Participatory: Iterative, explorative, customer-specific
Customer is strongly involved
Product backlog w/ user stories or task descriptions
Continuous interaction between stakeholders
Contractual: Linear/Iterative (sometimes), prescriptive, customer-specific
Little stakeholder interaction after requirements, contractual basis
System requirements specification with textual requirements and models
From stakeholders to requirements engineers
Product-oriented: Iterative, explorative, market-oriented
Sell it as a product
Product backlog w/ user stores or task descriptions
Interaction between product owner, marketing, re engineers
Characteristics of an Ideal RE Process
Interactive: Iterative and explorative
Intensive collaboration between stakeholders and re engineer
Short feedback cycle
Risk aware and feasibility aware
Negotiation/resolutoin of conflicting requirements
Shared understanding
Innovation
RE Problems
Natural language problems
Domain understanding
Business needs not considered
Complexity
Incompleteness
Inconsisency
Incorrectness
Over-completeness
Limited user/stakeholder involvement
Poor requirements mgmt
In an agile setting, an _____ and ______ RE process fits best
Iteraive
Explorative
Actor
External entities that interact with the system (human, hardware, external software)
Use Case
Set of actions defining interactions between an actor and system to achieve a goal
Associaiton
which actors the use case communicates with, including the actor that initiates the execution of the use case
(shown through a straight line connecing the actor and oval withe use case)
What is the purpose of a scenario?
Shows the goal of the user, setting of usage, some of the steps
Humans easily understand and relate to stories
What are the types of flows?
Basic flow: Required for every use case (happy day)
Alternative: Goal is achieved but in an alterate way
Exception: Goal is not achieved