Requirements Flashcards

1
Q

What is the core software engineering process?

A

Specification
- Designing what the customer wants
Development
- Production of software system
Validation
- Checking that the software is what the customer wants
Evolution/Maintenance
- Changing code in response to new requirements
(silly developers value money)

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

Why are requirements important?

A

It is the most common cause of over-budgeting and unclear requirements can lead to project failure

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

What is stakeholder analysis?

A

Determining all the people that will use a system

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

What do we identify from stakeholder analysis?

A

Primary, secondary and tertiary stakeholders

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

What is a persona?

A

Represents a real type of user from stakeholders which are used to develop scenarios

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

What is a use case diagram?

A

Identities tasks each stakeholder/persona (actors) will do

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

What is a user story?

A

A single sentence to represent a single requirement

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

What is the structure of a user story?

A

As a <persona>, I want <use> so that I can <motivation></motivation></use></persona>

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

What are the advantages of doing user stories?

A
  • Creates clear requirements checklist
  • Breaks project down into chunks
  • Can rank for importance
  • Little maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the disadvantages of user stories?

A
  • Difficult to use in big projects
  • Loose detail and formality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the difference between requirements and specifications?

A

Requirements are what a stakeholder must be able to do

Specifications is what the software must be able to do to meet requirements

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

How can we easily identify if something is a requirement or a specification?

A

Specifications typically start with a “the system shall”

Requirements typically start with a “the user wants”

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

What are the different types of requirements we can have?

A

Functional
- What the user should be able to do
Non functional
- Constraints on what the user needs to do and how well the system performs

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

How can we easily tell if something is a functional or non-functional requirement?

A

Functional
- “a user should”

Non-functional
- A description of what system does in a scenario

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

Give examples of functional and non-functional requirements?

A

Functional
- Allow user to log in, allow user to provide account creation, allow user to change password

Non-Functional
- Security, number of concurrent users

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

What are the three sub-genres of non-functional requirements?

A

Product requirements
- Generally to do with performance, when a job will happen, security etc.

Organisational requirements
- Regulations to do with the organisation the product is made for (login using unis authentication service, GDPR, budget constraints)

External requirements
- Third party requirements like disability support, web accessibility guidelines, paypal, environmental

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

What are some different investigation techniques?

A
  • Surveys
  • Interviews and focus groups
  • Technology tours
  • Ethnography
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Explain the advantages and disadvantages of surveys?

A

Advantages
- Good for contacting lots of people
Disadvantages
- Can be a badly made questionnaire (try to ‘re-invent’ the wheel)

18
Q

What are the characteristics of a good interview?

A
  • Interviewer is ready to listen
  • Interviewee is relaxed and chatty
19
Q

What are the advantages and disadvantages of focus groups?

A

Advantages
- Talk to more people at one time
- Discuss different and opposing opinions

Disadvantages
- Possible conflict
- Can get a dominant speaker
- Takes longer to discuss per question

20
Q

What are good things about observations?

A

Allows you to see the things people don’t say

21
Q

What is a technology tour?

A

An overview of all the technologies a client uses

22
Q

What is ethnography?

A

The idea that there is no better way to learn than doing
- Become part of the team for a while

23
Q

What is a requirements model?

A

Models of important aspects of the system

24
Q

What are different types of requirements models?

A

Context diagrams
Hierarchal tasks
UML diagrams
- Use case diagrams
- Activity diagrams
- Sequence diagrams
- Class diagrams
- State diagrams
Scenarios

25
Q

When would we use a context diagram?

A

Showing related systems (non-functional requirements)
- Define boundaries of system
- Represents systems which need and do not need to be developed

26
Q

When would we use a hierarchal task analysis?

A

For identifying subtasks

27
Q

What UML diagrams would we use for behaviour diagrams?

A

Use case diagrams
Activity diagrams
Sequence diagrams

28
Q

What UML diagrams would we use for structure diagrams?

A

Class diagrams
State diagrams

29
Q

When would we use behaviour diagrams?

A

Requirements, specification and documentation

30
Q

When would we use structural diagrams?

A

Specification and documentation

31
Q

When would we use an activity diagram?

A

Used for elaborate work flows
Have decision and wait points
Show concurrent events

32
Q

What symbols do we use in activity diagrams?

A

Diamonds for decisions
Bars to represent concurrent activities

33
Q

When would we use a sequence diagram?

A

Good for complex sharing of information between people and systems

34
Q

When would we use class diagrams?

A

Specify the classes in the code, more in development

35
Q

When would we use class hierarchy diagrams?

A

To show levels of inheritance in OO code

36
Q

When would we use a state diagram?

A

When we have a set of objects and states they can be in and want to model the behaviours in each state

37
Q

What is a scenario?

A

A structured description of a process a persona does

38
Q

What key things must a scenario do?

A

Plot describes how a user achieves a goal
- Defines a setting
- Defines actor
- Defines goals
- Defines plot

39
Q

Who looks at the software requirement specification documents?

A
  • System customers
  • System engineers
  • System test engineers
  • System maintenance engineers
  • Managers
40
Q

Why do we do requirements validation?

A
  • Checking that both client and developers are on the same page
  • Avoid reworking
  • Contractually agreeing
41
Q

What are the two types of requirements validation?

A

Internal and external

42
Q

Explain internal requirements validation

A

Present to ‘boss and colleagues’
- Get a clear picture before presenting to client
- Solve requirement conflicts

43
Q

Explain external requirements validation

A

Present to participants/clients/users
- Develop a plan with client