Software Requirements - Memory Jogger - Chapter 1 Flashcards
Overview of Software Requirements. pg 1-26
Requirements
Are descriptions of the necessary and sufficient properties of a product that will satisfy the consumer’s need.
Software Requirements
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.
Software Applications Forms
- Business System Software
- Embedded Software
- Engineering and Scientific Software
- Expert System Software
- Personal Computing Software
- Real-Time Software
- System Software
Business System Software
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.)
Embedded Software
Software, residing in memory, that controls products for consumer and industrial use (e.g., microwaves, dashboard displays, or personal stereos).
Engineering and Scientific Software
Intensive “number-crunching’ software (e.g., orbital dynamics, automated manufacturing, or computer aided design).
Expert System Software
Artificial Intelligence computing that solves complex problems (e.g., claim underwriting or Internet searching).
Personal Computing Software
Software used for personal and business use (e.g., word processing, games, or personal finance).
Real-Time Software
Software that monitors and analyzes events as they occur, typically within milliseconds (e.g., equipment control and process control).
System Software
Software written to service other programs (e.g., file management, operating systems, and compilers).
System
A collection of interrelated elements that work together to achieve an objective.
Complex System
Composed of interrelated parts or subsystems, each with its own operational capabilities and sets of requirements.
System Requirements
Define the top-level requirements for allocation to subsystems.
Subsystem
Has its own requirements allocated to hardware, software, and people.
Hardware
Refers to the physical components or devices that have their own set of allocated requirements.
Software
Controls the operation of the processing, data, and hardware devices.
People
The individuals who operate and maintain the system.
Software Requirements in Systems
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.
What is needed to Deliver a Successful Software Product?
Developed, documentation and validation of software requirements.
Poorly Defined Requirements result in what?
Requirement defects, errors in requirements caused by incorrect, incomplete, missing, or conflicting requirements.
Defective Requirements may result in?
- Cost Overruns
- Expensive Rework
- Poor Quality
- Late Delivery
- Dissatisfied Customers
- Exhausted and Demoralized Team Members.
Correcting Defective Requirements accounts…….
for almost one-half of the cost of software development and is the most expensive kind of development error to fix.
How do you reduce high risk software project failure and the large cost associated with defective requirements?
You must properly define requirements early in the software development process.
Requirements Developmental Process
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
Verification
Is like good management. It ensures that you built software correctly.
Validation
Is like good leadership. It ensures that you built the correct software.
Requirements Verification
Represents the development team’s point of view. Ensuring the software satisfies the specifies requirements.
Requirements Validation
Is concerned withe the customer’s point of view. Ensuring the customer’s needs are met.
Functional Requirements
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.
Name Some Examples Functional Requirements
- “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.”