Week 2 Flashcards

(22 cards)

1
Q

What is a Software Requirement?

A

A requirement specifies the business functions that the user will be able to perform using the system-to-be in different “situations” or “contexts”, and the kind of experience the user will have during this work
May include concerns, such as how the system will manage the resources (computing, network,…), how the system will manage and protect user’s data, etc.

generally high level

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

What matters? What are the important considerations for software requirement

A

Features
Security
Data Sovereignty
Availability and Reliability?
User Personas

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

Requirements Engineering

A

Understanding what matters

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

What are functional requirements

A

Product features/ features essential to user’s task completion

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

what are nonfunctional requirements

A

requirements (AKA Quality requirements)

Usability (ease of use, efficiency, learning curve, etc)

Security (encryption, protection from viruses/malware, privacy, etc. )

Reliability (bug-free, not crashing, no hardware failures, etc.)

Performance (load times, CPU usage, etc.)

Availability (minimising the impact of maintenance/ downtime)

Scalability (handling more users, more data, more operations, etc.)

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

what is User Interface (UI):

A

On-screen appearance requirements (look & feel)

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

What are the 3 types of requirements

A

UI, func and non func

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

what are 3 types of artefacts we can produce for UI requirements gathering

A

Wireframes
Mockups
Prototypes

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

HOw do you do Requirements Engineering

A

Requirements Gathering

Requirements Analysis
Requirements Specification
.

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

what is Requirements Gathering

A

Helps the customer to define what is required: what is to be accomplished, how the system will fit into the needs of the business, and how the system will be used on a day-to-day basis

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

what is Requirements Analysis

A

Refining and modifying the gathered requirements
Not necessarily sequential – some back and forth between devs and client

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

what is Requirements Specification

A

Documenting the system requirements in a semi-formal or formal manner to ensure clarity, consistency, and completeness
e.g. User stories, UML diagrams, acceptance tests, etc.
Ensures traceability

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

How do we gather & express these requirements?

A

Use Cases
Example Requirements
User stories

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

What is a use case

A

A use case is a list of actions or event steps typically defining the interactions between a role and a system to achieve a goal

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

how do you represent a use case

A

Represented in UML with use case diagrams
Ovals = use cases
Stick figures = actors
Boxes = system boundary
Lines = associations

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

How do we know that a requirement has been met?

A

Acceptance testing

17
Q

What is an Acceptance Test?

A

An acceptance test case specifies, for a given “situation” or “context” (defined by current system inputs), the output or behavior the system will produce in response
User Acceptance Test – Works for user (user focused)
Operational Acceptance Test – operational readiness (system focused)

18
Q

what is a user acceptance test

A

Verifies that the software solution works for the user
Given-When-Then

19
Q

Requirements should be ….

A

Documented – recorded for future use
Traceable – who said what, which meeting, when was this designed, etc.
Actionable – break requirements into tasks that can be implemented
Testable – acceptance tests
Related to business needs – user stories (who-what-why)

20
Q

Requirements Analysis needs to do what

A

Refine Client Requirements

Evaluate Feasibility & Realism.

Identify Business Policies (Rules)

Engage Clients & Stakeholders

Anticipate Future Changes

Elicit Additional Requirements

21
Q

Requirements
Prioritisation

A

Requirements prioritisation
can be difficult
* There is a difference
between “urgent” and
“important”
* Can be difficult to
assign “priority points”
to requirements
* Often easier to do a rank
ordering

22
Q

Requirements
Sizing

A

Often a need to work out
which user stories and tasks
require the most effort
* Estimated using size points:
each user story is assigned
a number of points based on
its size

Total project size = sum of
all user story points
* Velocity (burn rate) is
estimated by looking at
number of points completed
per day
𝑃𝑟𝑜𝑗𝑒𝑐𝑡 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 =
𝑇𝑜𝑡𝑎𝑙 𝑆𝑖𝑧𝑒/
𝑉𝑒𝑙𝑜𝑐𝑖𝑡