4.1: What Are Requirements and Data Types?
Software requirements are goal specifications of cost, schedule, functionality, or quality that a software system development and resulting software product needs to satisfy. Typically, those goal statements are written using the word "shall". The specifications must be necessary and sufficient. "Necessary" means that each specification is needed to address a customer's need. "Sufficient" means that a specification is only included if it addresses a need of the customer, not a specification for a "want" that, if left out, does not affect the satisfaction of customer needs. In practice, requirements often contain nice-to-have and optional requirements, but these are singled out and treated accordingly. In general, requirements describe the problem to be solved and not the solution. However, problems can have multiple solutions, and the requirements must include only those that address customer needs and exclude those that do not. As with software, requirements have quality features such as necessary, sufficient, complete, verifiable, validatable, and measurable. In short, whereas architecture, design, and implementation answer the "what" and "how" of the solution, requirements definition answers the "why" and "what" of the problem.
There are many different data dimensions, such as time and volume. Each dimension is important in defining the requirements of applications. Read this section, which discusses these data types. Bear in mind how much and what type of information should be collected.
This article discusses the 2011 revisions to the IEEE 830 standard for requirements analysis. What are the phases of software requirement engineering?
Pay attention to the section on types of software requirements and the unique quality of each type. It is important to identify and include more than just the functional requirements to have a quality system.
This analysis emphasizes investigating and understanding the problem domain and requirements rather than a solution. Read the slides, which illustrate the use of UML in requirements analysis. Read this section to learn more about some of the terms and concepts related to requirements and their types. These terms can initially seem ambiguous, but we will quickly learn how they relate. A walkthrough of a requirements analysis product is provided, illustrating parts of the analysis using POST, a point-of-sale system.