Software Requirements - Memory Jogger - Chapter 1 Flashcards

Overview of Software Requirements. pg 1-26

1
Q

Requirements

A

Are descriptions of the necessary and sufficient properties of a product that will satisfy the consumer’s need.

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

Software Requirements

A

Therefore, are descriptions of the necessary and sufficient properties of the software that must be met to ensure the product achieves what it was designed to accomplish for its users.

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

Software Applications Forms

A
  • Business System Software
  • Embedded Software
  • Engineering and Scientific Software
  • Expert System Software
  • Personal Computing Software
  • Real-Time Software
  • System Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Business System Software

A

Management information systems used within a company to manage operations or core business services (e.g., accounting, payroll, or accounts receivable). (Note: Some organizations satisfy their business systems needs by acquiring commercial off-the-shelf (COTS) software developed for an industry-specific market.)

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

Embedded Software

A

Software, residing in memory, that controls products for consumer and industrial use (e.g., microwaves, dashboard displays, or personal stereos).

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

Engineering and Scientific Software

A

Intensive “number-crunching’ software (e.g., orbital dynamics, automated manufacturing, or computer aided design).

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

Expert System Software

A

Artificial Intelligence computing that solves complex problems (e.g., claim underwriting or Internet searching).

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

Personal Computing Software

A

Software used for personal and business use (e.g., word processing, games, or personal finance).

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

Real-Time Software

A

Software that monitors and analyzes events as they occur, typically within milliseconds (e.g., equipment control and process control).

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

System Software

A

Software written to service other programs (e.g., file management, operating systems, and compilers).

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

System

A

A collection of interrelated elements that work together to achieve an objective.

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

Complex System

A

Composed of interrelated parts or subsystems, each with its own operational capabilities and sets of requirements.

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

System Requirements

A

Define the top-level requirements for allocation to subsystems.

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

Subsystem

A

Has its own requirements allocated to hardware, software, and people.

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

Hardware

A

Refers to the physical components or devices that have their own set of allocated requirements.

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

Software

A

Controls the operation of the processing, data, and hardware devices.

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

People

A

The individuals who operate and maintain the system.

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

Software Requirements in Systems

A

Describes the software capabilities needed by the system being built, enhanced, or acquired, as well as the constraints on the system’s implementation and operation.

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

What is needed to Deliver a Successful Software Product?

A

Developed, documentation and validation of software requirements.

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

Poorly Defined Requirements result in what?

A

Requirement defects, errors in requirements caused by incorrect, incomplete, missing, or conflicting requirements.

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

Defective Requirements may result in?

A
  • Cost Overruns
  • Expensive Rework
  • Poor Quality
  • Late Delivery
  • Dissatisfied Customers
  • Exhausted and Demoralized Team Members.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Correcting Defective Requirements accounts…….

A

for almost one-half of the cost of software development and is the most expensive kind of development error to fix.

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

How do you reduce high risk software project failure and the large cost associated with defective requirements?

A

You must properly define requirements early in the software development process.

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

Requirements Developmental Process

A
Before writing Software Code
- focus on the problem.
- Perform conceptual test. (Uncover incomplete, incorrect, and unclear requirements.)
After writing the Software Code
- testing the software solution.
- Performing user acceptance test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Verification

A

Is like good management. It ensures that you built software correctly.

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

Validation

A

Is like good leadership. It ensures that you built the correct software.

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

Requirements Verification

A

Represents the development team’s point of view. Ensuring the software satisfies the specifies requirements.

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

Requirements Validation

A

Is concerned withe the customer’s point of view. Ensuring the customer’s needs are met.

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

Functional Requirements

A

Describe a products capabilities. Things that the product must do for its users or allow its users to do with the software. It is the “doing” part of software. The actions, tasks, and behaviors that users generally interact with.

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

Name Some Examples Functional Requirements

A
  • “The system shall provide the capability for schedulers to assign contractors to jobs in their local area.”
  • “The system shall permit the inventory manager to search for available inventory items.”
  • “The system shall notify the operator when the temperature exceeds the maximum set value.”
  • “The system shall store a log of temperature readings every three seconds.”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Nonfunctional Requirements

A

Are properties that the product must have that may not be evident to the user, including quality attributes, constraints, and external interfaces.
Are the being part of the software – the characteristics and constraints for the software’s behavior.

32
Q

Quality Attributes

A

Describe properties of the software’s development and operational environment, such as its performance, capacity, maintainability, portability, reliability, and usability.

33
Q

Design and Implementation Constraints

A

Limit how the software can be designed.
-for example: a limit on the maximum number of concurrent users, the environment that the software will operate in, or a predetermined programming language to be used will all constrain the software design and implementation.

34
Q

External Interfaces

A

Are the interfaces with other systems (hardware, software, and human) that the proposed system will interact with.

35
Q

Name Some Examples Non-Functional Requirements

A
  • “The response time for loading a;; estimate information onto the screen shall be no more than six seconds after the user submits the estimate request.”
  • “During the peak holiday season between November 1st and January 5th, the inventory search capability shall permit 500 simultaneous users to search for inventory items.”
  • “The system’s scheduling capability shall be available weekdays from 7 a.m. PST to 7 p.m. PST.”
  • “The system shall function on the following operating systems: Isis version 6 or higher and Grok version 2.0 and higher.”
36
Q

Requirements come from?

A
  • Business needs
  • Users needs
  • Software needs
37
Q

Requirement Levels

A
Level 1: Business Requirements
- Why the project is being undertaken
Level 2: User Requirements
- What users will be able to do with the product
Level 3: Software Requirements
- What developers need to build
38
Q

Level 1: Business Requirements

A

Are statements of the business rationale for authorizing the project. They include a vision for the software product that is driven by business goals, business objectives, and strategy. Business requirements describe the high-level purpose and needs that the product will satisfy to increase revenue, reduce operation expenses, improve customer service, or meet regulatory obligations.

39
Q

Documents that contain Business Requirements

A
  • Project Charter
  • Vision
  • Scope
  • Business Case
  • Marketing Requirements
  • Statement of Work
  • Document of Understanding
  • Product Vision
  • Project Scope
40
Q

Who usually authors of a business requirement document?

A

A Business or Software Manager.

41
Q

The typical audience for a business requirement document is?

A
  • Project Team Members
  • Business Team Members
  • Project Sponsors
42
Q

Level 2: User Requirements

A

Are the definition of the software requirements from the user’s point of view. They describe the tasks that users need to accomplish with the software and the necessary quality characteristics of the software.

43
Q

Documents that contain User Requirements

A
  • Operational Capabilities
  • Product Features
  • Concept of Operations
  • Use Cases
44
Q

Who usually authors of a User requirement document?

A

Analyst

45
Q

The typical audience for a User requirement document is?

A

Primarily Users, but technical staff can also review user requirements.

46
Q

Level 3: Software Requirements

A

Are detailed descriptions of all the functional and nonfunctional requirements that the software must fulfill to meet business and user needs, while staying within the limits of the known design and implementation constraints. It also establishes an agreement between technical people and business people on what the product must do.

47
Q

Names for documents that contain Software Requirements

A
  • Software Requirements Specification
  • Detailed Requirements
  • Specification
  • Technical Specification
  • Functional Specification
48
Q

Typical who is the author of Software Requirement?

A

Analyst

49
Q

The audience for Software Requirements are?

A
  • Software Providers
  • Developers
  • Testers
  • Business customers should also review and approve the software requirements.
50
Q

How Should I document my requirements?

A

Textual Statements:

  • Outline
  • Tree Diagram
  • Tables
51
Q

Good Requirements Documentation Practices

A
  • Define your business requirements using textual statements, then supplement the definition of the product scope with one or more diagrams.
  • Represent your user requirements with a variety of models such as use cases, actors, and other representations. Using multiple models will also increase the quality of software by revealing missing and erroneous requirements.
  • Supplement outline forms of text software requirements with user requirements models.
52
Q

What are the characteristics of excellent requirements?

A
  • Correct: They accurately represent the real needs of users and stakeholders.
  • Complete: They include all of the needed elements – functionality, external interfaces, quality attributes, and design constraints.
  • Clear: They can be understood in the same way by all stakeholders with minimal supplementary explanation.
  • Concise: They are stated simply in the minimal possible way to be understandable.
  • Consistent: They do not conflict with other requirements.
  • Relevant: They are necessary to meet a business need, goal, or objective.
  • Feasible: They are possible to implement.
  • Verifiable: There is a finite, cost-effective technique for determining whether the requirement is satisfied.
53
Q

Key practices that promote excellent requirements

A
  • Develop a clear vision for the end product.
  • Develop a well-defined, shared understanding of the project scope.
  • Involve stakeholders throughout the requirements process.
  • Represent and discover requirements using multiple models.
  • Document the requirements clearly and consistently.
  • Continually validate that the requirements are the right ones to focus on,
  • Verify the quality of the requirements early and frequently.
  • Prioritize the requirements and remove unnecessary ones.
  • Establish a baseline for requirements
  • Trace the requirements’ origins and how they link to other requirement and system elements.
  • Anticipate and manage any requirements changes.
54
Q

What is requirements engineering?

A

A discipline within systems and software engineering that encompasses all of the activities and deliverable associated with defining a product’s requirements – is one of the best ways to develop excellent requirements.

Requirements engineering is comprised of requirements development and requirements management.

55
Q

Requirements developments involves activities that accomplish what ?

A
  • Elicit
  • Analyze
  • Specify
  • Validate
56
Q

Elicit

A

Identify the stakeholders, documentation, and external sources of requirements information, and solicit requirements from those sources.

57
Q

Analyze

A

Define the product scope and user goals, explore how users will interact with system, and develop user requirements to business and technical audiences. Verify the requirements to identify inconsistencies, ambiguities, omissions, and errors, and allocate requirements to the software. Prioritize the requirements by removing unnecessary ones and ranking the rest to make implementation decisions.

58
Q

Specify

A

Differentiate and document functional and nonfunctional requirements, identify important requirements quality attributes and constraints, and check that the requirements are documented unambiguously and completely.

59
Q

Validate

A

Examine the requirements to ensure that they satisfy the customer.

60
Q

Requirements Management

A

activities support and control the requirements information defined during requirements development.

61
Q

Requirements Management that involves what ?

A
  • Establish a baseline
  • Control change
  • Trace Requirements
62
Q

Establish a Baseline

A

by documenting the current state of requirements at a point in time, to use as a starting point. The baseline shows a set of requirements with an agreed-upon status at a particular point in time and captures important attributes about the requirements. Developing a baseline creates a reference to use to track how requirements evolve over time.

63
Q

Control Change

A

by establishing mechanisms and policies for recognizing, evaluating, and deciding how to integrate new and evolving requirements into an existing requirements baseline.

64
Q

Trace Requirements

A

by identifying and documenting how requirements are logically related, and identifying the lineage of each requirement.

65
Q

Requirements Trace-ability

A

allows you to identify how he requirements link to business goals and objectives and to future development deliverables.

66
Q

Why is it important to let requirements evolve?

A

It is important to develop requirements in a manner that accelerates requirements understanding while producing them as thoroughly as possible for the scope of software development.

67
Q

To Develop Requirements Iteratively

A
  • Use elicitation techniques that allow customers to validate their requirements as early in the elicitation process as possible. These techniques include prototyping, facilitated workshops, and user task analysis.
  • Develop requirements using multiple short cycles or iterations. Each cycle or iteration is a self-contained period of time with a set of activities – elicitation, analysis, specification, and validation. Each iteration results in a subset of requirements that you will use as a basis for further requirements development.
  • Conduct short requirements retrospectives at the end of each requirements iteration to learn and improve your requirements process.
68
Q

Requirements Development and Requirements Management involves many stakeholders in numerous roles. What Roles are they?

A
  • Project Sponsor
  • Project or Product Manager
  • Analyst
  • Subject Matter Expert
  • Software Developer and Tester
69
Q

Project Sponsor

A
  • Allocates resources ( people, materials, and funding) for the project
  • Ensures that project goals and objectives align with organizational aims
  • Marshals appropriate participation (by customers and users) in the project
  • Defines or approves the overall vision and scope for the product
  • Makes decisions about the scope of the project and product release issues
  • Resolves conflicts in requirements priorities
  • May delegate authority for approving detailed requirements to business experts or business management
70
Q

Project or Product Manager

A
  • Acts as a liaison between the software team and the business management or product development organization
  • Coordinates user involvement
  • Ensures that the analysts and subject matter experts have the needed resources, tools, training, and knowledge to develop requirements and manage the requirements process
  • Oversees requirements prioritization
  • Monitors the progress of requirements development and management
71
Q

Analyst

A
  • Selects elicitation techniques and coordinates or facilitates the elicitation activities
  • Collaborates with business experts and users to develop requirements
  • Coordinates requirements management activities
  • Drafts models and documents
  • Translates user requirements and coordinates negotiation
  • Verifies that requirements are necessary, correct, complete, and consistent
72
Q

Subject Matter Expert

A
  • Provides details about user needs
  • Provides details about the business processes, rules, and data
  • Identifies additional people who can advise on the requirements
  • Represents the needs of users who cannot be directly involved in requirements development
  • Identifies and consults with other subject matter experts or advisors who have relevant requirements knowledge
  • Ensures that requirements align with the product vision
  • Reviews requirements documentation to ensure that it adequately and completely represents user needs
  • Participates in creating or reviewing requirements models and documents
  • Prioritizes requirements
73
Q

Software Developer and Tester

A
  • Provides details about design constraints and suggestions regarding the feasibility of nonfunctional requirements
  • May contribute to writing portions of the software requirements specification
  • Reviews all requirements documentation
  • Reviews software specifications to ensure that they can be transformed into a feasible software design
  • Ensures that the requirements can be tested
74
Q

What is management’s role?

A

Business and Software managers need to ensure that the team develops excellent requirements and manages them appropriately.

75
Q

To promote an environment that ensures the development of good requirements practices, managers should:

A
  • Ensure a project sponsor is clearly identified.
  • Ensure the product vision and scope are defined early and unambiguously.
  • Ensure that the right stakeholders will be involved in requirements development, including knowledgeable business experts and people who knowledgeable business experts and people who accurately represent user needs.
  • Ensure that the team uses good requirements practices to develop excellent requirements.
  • Resolve requirements prioritization conflicts, or assign an appropriate decision maker to do so.
  • Ensure the team has the training, education, and knowledge to develop and mange requirements.
  • Monitor requirements progress and remove barriers for the team.