requirements engineering Flashcards

1
Q

requirements engineering

A

idea is to find out what client needs
1. identify condition or capabilities needed by a user to solve a problem or achieve objective
2. a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documents
3. a documented representation of a condition or capability as in 1 or 2 - must build software that is maintainable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

functional requirements

A
  • an action the product must take to be useful
  • ie, collision avoidance system will provide warning when two aircrafts are too close
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

non

non functional requirements

A
  • property or quality the product must have
  • ie, product should be accessible in multiple languages
  • ie, system should provide a response in under 3 sec when utilised by 1000 users at the same time
  • depends on setting in which system is being used
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

constraints

A
  • global requirements -> on the project or the product
  • must be obeyed rather than implemented
  • ie, product should be available before set date
  • ie, collision avoidance system will not enterfere with ground proximity alert system
  • ie, vehicle will operate at temperatures between -30C and 40C
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Requirements Analysis

A
  • involves a lot of studies
  • prototypes are important to see how client uses system
  • the process of studying user needs to arrive at a definition of system, hardware or software requirements
  • the process of studying and refining system, hardware or software requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Inception

A

identify stakeholders
- persons or organisations who: have valid interest in system, are affected by the system
- anyone who operates the system: normal and maintenance operators
- anyone who benefits from the system: functional, political, financial and social beneficiaries
- anyone involved in purchasing or procuring the system
- organisations which regulate aspects of the system: financial, safety and other regulators; must convince companies your software is safe to run
- organisations responsible for systems which interface with the system under design
- people or organisation opposed to the system: negative stakeholders
- personas: can be used to give personality to users of a system, make it possible to talk of users not in terms of abstract profiles but in terms of people who devs can think of, can think of scenarios that would answer questions about usability and setting of applicability of software
- recognise multiple viewpoints
- ask first Q&A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Elicitation

A
  • collaborate with stakeholders
  • address problems - scope, understanding, volatility
  • understand each stakeholder
  • help stakeholders understand themselves - have clear goal, no ambiguity
  • help stakeholders understand each other - devs are responsible to deliver working system satisfying both parties
    user interviews
  • user and developer spend time to understand what user wants
  • managers might not know is happening in reality
  • employer might be too afraid
  • time consuming
    questionnaires
  • can send to many different users
  • viewpoints might be biased - info might not be representative
    observation
  • can see why some things are occuring
  • ie, nurses inputting incomplete information due to program timing out
  • can find workarounds based on real life observation
  • brainstorming
  • story writing workshops
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

volatility

A

requirements change over time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

scope

A

what is the boundary of the system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Elaboration

A
  • expand and refine information
    five W and one H
  • who - will be using the software
  • what - does the customer need application to do
  • when - is the application needed
  • where - where will the application be used
  • why - does the customer need the application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Negotiation

A
  • reconcile conflicts - need to figure out how to make both clients happy
  • ranking of requirements - scope might change, identify most important features to build first
  • risk estimation (very rough) - are new regulations/laws going to change
  • MOSCOW method
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

MOSCOW method

A
  • common system to prioritise requirements
  • must - required features
  • should - important features
  • could - desirable features
  • won’t - optional features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Specification

A
  • Written document - contract style
  • use cases
  • UML diagram
  • user stories
  • natural language issues
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

use cases

A
  • graphical forms to describe requirements
  • agile compared to contract allows for it to be dynamic
    • instead of fixed price → pay by time
    • different type of relationship with client
  • an actor is something that can act - a person, system or organisation
  • scenario is a specific sequence of actions and interactions between actors - where at least one actor is a system
  • use case is a collection of related scenarios
  • useful for clients as well as developers
  • example safe home
    • initial scenario
      • use case - display camera views
      • actor - homeowner
      • useful as it tells you how user will use the system
      • clauses would specify system requirements and such
    • refined scenario
      • homeowner logs on to site
      • homeowner enters their id
      • system displays all major function button
      • refined scenario illustrates potential problems
    • alternative interactions
      • can the actor take some other action at this point?
        • have to identify potential inadvertent issues within the system design
      • is it possible the actor encounters some error condition? if so, which one?
        • what if server does not respond?
        • helps identify requirements in cases where error is encountered
        • exceptions have to be accounted for in requirements
      • is it possible that some other behaviour is encountered? if so, which one?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

written document

A
  • make sure to state what is going to be implemented or not
  • ensures client doesn’t ask for more than what was agreed for
  • have to be able to contest what client has written
  • need to very specific with requirements
  • classify product features as:
  • must have features, may have features, must not have, provides a contract between sponsors and developers, can run to hundreds of pages, agile makes it possible to build this at a fixed rate but not all finance companies would be happy with paying this way
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

UML diagrams

A
  • actors on left hand side, homeowner + someone who maintains system
  • describe all actions with diagram
  • diagrams make possilbe to cluster different scenarios that might derive from or depend on one another
17
Q

Validation

A
  • search for
    • inconsistencies
    • omissions
    • errors
  • technical review
    • review team
    • give to someone who’s not involved to make it clear what you have missed
18
Q

Requirements management

A
  • control requirements change
  • trace requirements to
    • features
    • code
    • subsystems
  • how requirements are related to each other
    • management team might undo features that are important in the future
  • can use user stories and see which requirements derive from each one/which story corresponds to which one
19
Q

Card

A

Card - short description of an index card
- finding the right level of detail
- must be specific but not too detailed
- should be relatively short
- want to be able to look at the tasks
- not too broad either
- too much could mean a lot to implement and difficult to estimate
- some functionality might be simple, other complex
- some functionality some might be important some not
- need to have time to discuss features with customer
- god user story desc should identify
- the role of user in system
- need expressed by user
- benefit to all stakeholders such as developers. users and others, of meeting the stated requirements

20
Q

INVEST

A
  • independent - self-contained, no dependencies on other stories
  • negotiable - have to be able to discuss stories
  • valuable - is the functionality useful?
  • estimable - team must be able to use them for planning
  • scalable - small enough to allow for planning for the future
  • testable - documented acceptance criteria
21
Q

Three C’s of user stories

A
  • card
  • conversation
  • customer priority