Page 288 -
P. 288
CHAPTER 10 SYSTEM ENGINEERING 259
The system engineer must reconcile these conflicts through a process of negotia-
tion. Customers, users and stakeholders are asked to rank requirements and then
If different discuss conflicts in priority. Risks associated with each requirement are identified and
customers/users analyzed (see Chapter 6 for details). Rough guestimates of development effort are
cannot agree on made and used to assess the impact of each requirement on project cost and deliv-
requirements, the risk
of failure is very high. ery time. Using an iterative approach, requirements are eliminated, combined, and/or
Proceed with extreme modified so that each party achieves some measure of satisfaction.
caution.
10.5.3 Requirements Specification
In the context of computer-based systems (and software), the term specification means
different things to different people. A specification can be a written document, a graph-
ical model, a formal mathematical model, a collection of usage scenarios, a proto-
type, or any combination of these.
Some suggest that a “standard template” [SOM97] should be developed and used
for a system specification, arguing that this leads to requirements that are presented
Negotiation Techniques in a consistent and therefore more understandable manner. However, it is sometimes
necessary to remain flexible when a specification is to be developed. For large sys-
tems, a written document, combining natural language descriptions and graphical
models may be the best approach. However, usage scenarios may be all that are
required for smaller products or systems that reside within well-understood techni-
cal environments.
The System Specification is the final work product produced by the system and
requirements engineer. It serves as the foundation for hardware engineering, soft-
ware engineering, database engineering, and human engineering. It describes the
function and performance of a computer-based system and the constraints that will
govern its development. The specification bounds each allocated system element.
The System Specification also describes the information (data and control) that is input
System Specification to and output from the system.
10.5.4 System Modeling
Assume for a moment that you have been asked to specify all requirements for the
construction of a gourmet kitchen. You know the dimensions of the room, the loca-
tion of doors and windows, and the available wall space. You could specify all cabi-
nets and appliances and even indicate where they are to reside in the kitchen. Would
this be a useful specification?
The answer is obvious. In order to fully specify what is to be built, you would need
a meaningful model of the kitchen, that is, a blueprint or three-dimensional render-
ing that shows the position of the cabinets and appliances and their relationship to
one another. From the model, it would be relatively easy to assess the efficiency of
work flow (a requirement for all kitchens), the aesthetic “look” of the room (a per-
sonal, but very important requirement).