TBD Flashcards

1
Q

What are requirements?

A

Specific descriptions of your clients needs

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

What are the five phases of requirement specification?

A
  1. Eliciting Requirements
  2. Expressing Requirements
  3. Prioritizing Requirements
  4. Analyzing Requirements
  5. Managing Requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does eliciting requirements entail?

A

Getting requirements from your client

This IS NOT the same as requirements gathering

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

How is requirements elicitation not the same as requirements gathering?

A

Gathering: entails asking the client for a list of things they want done
Elicitation: is much more involved, interactive and investigative. It results in exponentially better requirements.

Clients know what they want, but often don’t know technology enough to know what they need.

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

The right product is tightly connected to the right problem. A product may be done right, but not necessarily solve the right problem.

A customer can forgive a product that solved their problem even though it had a few bugs. But a perfect product that doesn’t solve their problem will be a big issue.

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

Client wants vs needs

A

Wants: Desired functions they would like to see in a product

Needs: The core functions required in order to address the specific problem that the product is intended to solve.

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

What is your job in regards to the clients lists of wants?

A
  1. Determine if they solve the problem and work for the technical design.
  2. If not, have transparent conversations with the client and layout clearly how the design may look different but will meet their needs do everyone has the same expectations for the project.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does expressing requirements entail?

A

Framing the requirements in a way that you can use them to create a product.

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

What does prioritizing requirements entail?

A

Putting requirements into buckets
1. Must be done
2. Should be done
3. Could be done

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

Explain how requirements elicitation might start and then how it transitions to requirements expression

A
  • Requirements Elicitation: You will usually have a bunch of scribbled down notes from the elicitation meeting. They are often oversimplified and not well thought out.
  • Requirements Expression: Is where you tease out those initial scribbles to get more clear requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does Managing Requirements entail?

A
  • Making sure any changes to the requirement flow through to all places they are documented
  • Group and re-organizing requirements so it is easy to find what you are looking for
  • Understanding the impact of a change to one requirement and how it affects other requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the five types of requirements?

A
  • Business Requirement
  • User Requirement
  • Functional Requirement
  • Non-Functional Requirement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What do Business Requirements do?

A

Just those requirements that make up why the product should exist
- Outline the purpose of a software project
- It must define product needs that provide tangible and quantifiable business value
- Used by your client when creating business strategies and plans
- A way for business analysts to review the ultimate business goals for the product

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

Example business requirement

A

I need this product to appeal to clothing designers in India to raise our revenue by $50,000 per year.

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

What are business rules?

A
  • They are more specific than Business Requirements
  • They constrain how the product functions
  • They specify rules that need to be followed for the project to be considered successful
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Example Business Rules

A
  • A privacy policy where the business requires data be stored securely and not shared with non essential personnel.
  • A brand uniformity requirement where the products to be developed must be visually consistent with other products owned by the client.
  • A government regulation such as a requirement to maintain user data, and any information regarding its manipulation, for a specific period of time according to local or international laws.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What do User Requirements do?

A
  • Outline exactly what tasks the users can do with the product.
  • A great deal of time is usually spent developing these requirements

User Requirements may be the most important requirements for a development team to get right.

18
Q

What is one way User Requirements can be expressed?

A

Use cases

19
Q

What is another way User Requirements can be expressed?

A

User Stories

20
Q

What is the general structure of a User Story?

A
As a \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
I want to \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
So that I can \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

Writing a long sentence to left justify the text

21
Q

How does a User Story help develop requirements?

A

It helps us word our requirements in such a way that we make sure we’re thinking about the user needs first

22
Q

User Story Example

A

As a Software Product Manager
I want to create user stories
So I can better express my client’s requirements

23
Q

What is a Functional Requirement?

A
  • It is a behavior a product should do or support
  • It is expressed with inputs and outputs and a description of the behavior itself.
24
Q

Super simple high level functional requirement

A
  • Input: Data from credit card reader
  • Output: Receipt from the transaction

Note that this is a VERY high level example. This would most likely be broken out into a number of other functional requirements

25
Q

Break down a functional requirement, which states that a user should be able to pay using a PIN pad, into a more specific requirement

A
  • A user should be able to swipe a debit or credit card
  • A user will be able to insert a credit card or debit card into a chip reader
  • A user will be able to enter their PIN when their card has been swiped or inserted
26
Q

What happens if your Functional Requirements aren’t specific enough?

A

You may think you have very little work to do when you actually have quite a bit

27
Q

What is one way you can portray Functional Requirements

A

Use an Information Flow diagram

28
Q

What does an Information Flow diagram do?

A

It gives you a graphical way of displaying the data flow and dependencies of all the system components.

29
Q

What are non-functional requirements?

A
  • They serve as a description of how well a product should perform
  • Consider them complimentary to Functional Requirements
  • If Functional Requirements are what a product should do, Non-Functional Requirements are how well a product should do them.
  • Non-Functional Requirements really address the quality factor of the product.
30
Q

What are the types of Non-Functional Requirements?

A
  1. Accuracy
  2. Dependability
  3. Security
  4. Usability
  5. Efficiency
  6. Performance
  7. Maintainability
31
Q

Non-Functional Requirement examples

A
  • Product should meet the highest standards of security
  • Product should have exceptional visual design
  • Define the accuracy level of a systems sensor for a driver assistance system that will warn them when they are too close to the car in front of them.
  • Necessity of having a disaster recovery system for a database where important documents are stored
  • Strong encryption for a database that stores sensitive information
32
Q

Examples of Performance Requirements, which are non-functional requirements

A
  • A system needing to maintain a certain response time
  • Handling a certain number of responses in a short period of time.
  • Must be able to travel between YVR and PVG on a single tank of fuel.
33
Q

Examples of Useability Requirements, which are non-functional requirements

A
  • Error prevention when filling in information
  • Ease of use or learnability
  • A full load of passengers can be evacuated in no more than 90 seconds.
34
Q

Example of a Maintainability Requirement, which is a non-functional requirement

A

The requirement that the software be flexible enough to extend beyond the original purpose

35
Q

What is an External Interface requirement?

A
  • A requirement which specifies how the product is to communicate or connect with other components of the system.
  • Outlines where the product is situated within a larger system.
  • Describes the way in which connections are made. Through media, protocols, formats, and levels of a compatibility.
  • Shows how the product itself relates to something else in the system.
36
Q

External Interface Example

A
  • A software application, which displayed information to an end user and accessed a remote database.
  • The application sets between the database and the end user, and has an external interface to each one.
  • The external interfaces will show the protocols which the application needs to interact with the database, as well as how the information should be presented to the user.
37
Q

How are External Interfaces often identified?

A

On a data flow diagram

38
Q

What is a Data Flow Diagram?

A

Shows all the components of a product in one place and makes explicit reference to how data is passed to and from outside entities in the whole system.

39
Q

What is the Physical Setting Requirements?

A

Describes how the product should be designed around its physical environment

40
Q

Physical Setting Requirement Example

A
  • You develop a GPS tracker for construction equipment in the Sahara, you would want to make sure that it can withstand extreme heat, dust, noise, and vibrations.
  • If you were developing this system for applications in Antarctica, then you would want the product to withstand extreme cold.
41
Q

What are Development Constraints?

A
  • Outline the implementation technology, conventions, documentation, and the process which your team will use.
  • Address things like, which devices or platforms the development team will support, or how much memory, bandwidth, or processing power they’re limited to using.
  • It’s usually best to specify this later in the specification phase so that the product does not become limited in vision by available technology. Technology advances, therefore, so should the product.
  • By discussing developing constraints last, you can avoid the possibility that you design prematurely with old technologies and abilities.