2 Requirements Engineering Framework
Total Page:16
File Type:pdf, Size:1020Kb
2 REQUIREMENTS ENGINEERING FRAMEWORK 2.1 INTRODUCTION Before considering a detailed requirements-engineering methodology in the remaining chapters, this chapter provides an overview of a number of the important aspects of the requirements-engineering body of knowledge [1]. 2.2 NEEDS AND REQUIREMENTS When describing a system, we make the distinction between ‘needs’ and ‘requirements and, as illustrated in Figure 2-1, there are needs and requirements at a number of levels. There are four major views: an enterprise view, in which enterprise leadership set the enterprise strategies and concepts of operations; a business management view, in which business management derive business needs and constraints as well as formalize their requirements; a business operations view, in which stakeholders define their needs and requirements; and a systems view, in which system designers define the system in logical and physical views. Because terms such as system and subsystem (system element) are level-specific, we define an entity “… a single thing to which a need or requirement refers: an enterprise, business unit, project, system, or system element (which could be a product, process, human, or organisation)” [2]. As shown in Figure 2-1, the enterprise, business management, and business operations views are in the problem domain; the system and system element views are in the solution domain. As discussed in Chapter 1, the problem domain is generally considered to be the responsibility of those who have ownership of the problem to be solved, so the descriptions of the system are predominantly in the language of the customer’s business management and business operations, focusing on what the system needs to be able to do, how well it should be done, and why. We saw in Chapter 1 that these descriptions are called logical (or often functional) descriptions. On the other hand, the solution domain is generally considered to be the responsibility of the developer implementing the solution, most commonly a contractor, so the descriptions of the system in that domain are predominantly in engineering and physical terms, focusing on how the problem is to be solved—that is, how the solution will look once it has been implemented. In Chapter 1 we saw that these latter descriptions are called physical descriptions. In many large organisations, there is a soft boundary between the problem domain and the 33 34 Requirements Practice solution domain in that the customer prepares a draft SyRS which is taken to tender, responded to be tenderers, negotiated with the successful tenderer (the preferred contractor) and then revised to be the SyRS that represents the selected solution of that preferred contractor. Concept of Operations Enterprise Enterprise (ConOps) Strategies Business Preliminary Life‐cycle Concepts: Business Needs and Business Operations (OpsCon), Acquisition, Business Business Requirement Requirements Management Deployment, Support, Retirement Needs Requirements Specification Mission Analysis (BRS) Definition Process Problem Domain Stakeholder Life‐cycle Concepts: Stakeholder Stakeholder Needs Stakeholder Requirement Business OpsCon, Acquisition, Deployment, and Requirements Needs Requirements Specification Operations Support, Retirement Requirements Analysis (StRS) Definition Process System Life‐cycle Concepts: System System System System Requirements System OpsCon, Acquisition, Deployment, Requirements Requirement Definition Process Needs Specification Support, Retirement Requirements Analysis (SyRS) Solution Domain Subsystem Subsystem Life‐cycle Concepts: Subsystem Subsystem Subsystem Subsystem OpsCon, Acquisition, Deployment, Requirements Needs Requirement Requirements Support, Retirement Requirements Analysis Specification Definition Process Needs View Requirements View Figure 2-1. Views, domains, processes and artefacts associated with the definition of needs and requirements [3]. In addition to these vertical views of the process, there are two horizontal views shown in Figure 2-1: the Needs View and the Requirements View. While they tend to coexist at each level of consideration, needs and requirements are different: A need is “… the result of a formal transformation of one or more concepts into an agreed-to expectation for an entity to perform some function or possess some quality (within specified constraints)” [4]. Needs are generally capabilities stated as business needs in the language of business management, as stakeholder needs in the language of stakeholders at the business operations levels, or as needs of the system or system element. A requirement statement is “… the result of a formal transformation of one or more needs into an agreed-to obligation for an entity to perform some function or possess some quality (within specified constraints)” [5]. Requirements are therefore formal statements that are structured and can be validated. There may be more than one requirement that can be defined for any need. Requirements are Chapter 2 Requirements Engineering Framework 35 elaborated from needs through a process of requirements analysis (also called business analysis [6] or mission analysis [7] at the highest level of application). At the highest level, there is an enterprise view in which enterprise leadership sets business vision, strategic goals and objectives in the form of a Concept of Operations (ConOps), which is also called a Strategic Business Plan (SBP). At the next two levels levels, there are the dual views: at the business management level there are Business Needs and Business Requirements; and at the business operations level there are Stakeholder Needs and Stakeholder Requirements. The transformation of needs into requirements occurs at each level. Here we are interested in the three upper-level major processes: Business Needs and Requirements (BNR) Definition Process. Business management start with the guidance contained in the ConOps, from which they define Business Needs, largely in the form of Preliminary Life-cycle Concept Documents (PLCD) which capture the Preliminary Acquisition Concept, Preliminary Operational Concept (OpsCon) [8], Preliminary Deployment Concept, Preliminary Support Concept, and Preliminary Retirement Concept. Business Needs are elaborated and formalized into Business Requirements, which are documented in the Business Requirements Specification (BRS), which is also called the Business Requirement Document [9]. Stakeholder Needs and Requirements (SNR) Definition Process. Using the Preliminary OpsCon and the other PLCD as guidance, requirements engineers lead stakeholders from the business operations level through a structured process to elicit Stakeholder Needs—in the form of a refined OpsCon document and the completion of the other Life-cycle Concept Documents (LCD)—and transform them into the formal set of Stakeholder Requirements, which are documented in the Stakeholder Requirement Specification (StRS). System Requirements Definition Process. The requirements in the StRS are then transformed by requirements engineers into System Requirements, which are contained in the System Requirement Specification (SyRS) [10]. This document is also referred to as the Solution Requirement Specification Document [11], or simply the System Specification [12]. Note that Figure 2-1 illustrates that a number of SyRS may be derived from the StRS—that is, perhaps, one SyRS is produced for each element of a capability. Figure 2-1 also illustrates that some organisations may prepare individual LCD for each of a number of systems that are developed to meet the Business Needs. The process continues for the system elements. ANSI/AIAA G-043A-2012 [13] identifies that the terms ‘concept of operations’ and ‘operational concept’ are often used interchangeably but notes 36 Requirements Practice that an important distinction exists because each has a separate purpose and is used to meet different ends. It is essential that these terms are used so that they are consistent with ANSI/AIAA G-043A-2012 and ISO/IEC/IEEE 29148 [14], as well as the way in which the terms are used in the US DoD and many other defence forces. ISO/IEC/IEEE 29148 describes the ConOps as: The ConOps, at the organization level, addresses the leadership's intended way of operating the organization. It may refer to the use of one or more systems, as black boxes, to forward the organization’s goals and objectives. The ConOps document describes the organization’s assumptions or intent in regard to an overall operation or series of operations of the business with using the system to be developed, existing systems, and possible future systems. This document is frequently embodied in long-range strategic plans and annual operational plans. The ConOps document serves as a basis for the organization to direct the overall characteristics of the future business and systems, for the project to understand its background, and for the users of this International Standard to implement the stakeholder requirements elicitation. [15] ISO/IEC/IEEE 29148 describes the OpsCon as: A system OpsCon document describes what the system will do (not how it will do it) and why (rationale). An OpsCon is a user-oriented document that describes system characteristics of the to-be-delivered system from the user's viewpoint. The OpsCon document is used to communicate overall quantitative and qualitative system characteristics to the acquirer, user, supplier and other organizational elements. [16] The ConOps is developed by the organization leadership at the enterprise level.