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
What are different types of requirements models?
Context diagrams Hierarchal tasks UML diagrams - Use case diagrams - Activity diagrams - Sequence diagrams - Class diagrams - State diagrams Scenarios
25
When would we use a context diagram?
Showing related systems (non-functional requirements) - Define boundaries of system - Represents systems which need and do not need to be developed
26
When would we use a hierarchal task analysis?
For identifying subtasks
27
What UML diagrams would we use for behaviour diagrams?
Use case diagrams Activity diagrams Sequence diagrams
28
What UML diagrams would we use for structure diagrams?
Class diagrams State diagrams
29
When would we use behaviour diagrams?
Requirements, specification and documentation
30
When would we use structural diagrams?
Specification and documentation
31
When would we use an activity diagram?
Used for elaborate work flows Have decision and wait points Show concurrent events
32
What symbols do we use in activity diagrams?
Diamonds for decisions Bars to represent concurrent activities
33
When would we use a sequence diagram?
Good for complex sharing of information between people and systems
34
When would we use class diagrams?
Specify the classes in the code, more in development
35
When would we use class hierarchy diagrams?
To show levels of inheritance in OO code
36
When would we use a state diagram?
When we have a set of objects and states they can be in and want to model the behaviours in each state
37
What is a scenario?
A structured description of a process a persona does
38
What key things must a scenario do?
Plot describes how a user achieves a goal - Defines a setting - Defines actor - Defines goals - Defines plot
39
Who looks at the software requirement specification documents?
- System customers - System engineers - System test engineers - System maintenance engineers - Managers
40
Why do we do requirements validation?
- Checking that both client and developers are on the same page - Avoid reworking - Contractually agreeing
41
What are the two types of requirements validation?
Internal and external
42
Explain internal requirements validation
Present to 'boss and colleagues' - Get a clear picture before presenting to client - Solve requirement conflicts
43
Explain external requirements validation
Present to participants/clients/users - Develop a plan with client