Download as pdf or txt
Download as pdf or txt
You are on page 1of 95

Chapter 2

System and Software System Engineering

1. Introduction to Chapter an iterative process of definition, synthesis,


analysis, design, test, and evaluation
System and software system engineering are the first 2. Integrate related technical parameters and en-
steps in the development of any software-intensive sure compatibility of all related functional
system. System engineering is the application of sci- and program interfaces in a manner that op-
entific and engineering efforts to' : timizes the total system definition and design
3. Integrate reliability, maintainability, safety,
survivability, human factors, and other such
1. Transform an operational need into a de- factors into the total engineering effort to
scription of system performance parameters meet cost, schedule, and technical perform-
and a system configuration through the use of ance objectives

41
Software system engineering is also a technical and The second article, "The Concept of Operations:
management process. The technical process is the The Bridge from Operational Requirements to Techni-
analytical effort necessary to transform an operational cal Specifications," was written by Richard E. Fairley
need into a software design of the proper size and con- and Richard H. Thayer. This article presents the rela-
figuration, and its documentation in requirements and tively new concept of developing a "needs" document
design specifications. The management process in- that will bridge the gap between the customer and the
volves assessing the risk and cost, integrating the en- more formal software requirements specifications. The
gineering specialties and design groups, maintaining article describes the role of the concept of operations
configuration control, and continuously auditing the (ConOps) document in the specification and develop-
effort to ensure that cost, schedule, and technical per- ment of a software-intensive system. It also describes
formance objectives are satisfied to meet the original the process of developing a ConOps, its uses and
operational need.' benefits, who should develop it, and when it should be
The purpose of this chapter is to introduce the con- developed. A detailed outline of the ConOps docu-
cept of system engineering and to present another view ment is provided as an appendix to the article.
of the major system engineering tools: partitioning, The last article, by Thayer, applies the concept of
allocation, flowdown, and traceability. It starts with an systems engineering to software and is entitled
article on system engineering by Forsberg and Mooz "Software System Engineering: An Engineering Proc-
and then takes a look at the interfacing document, ess." This article also describes the application of
called a "concept of operations document," between system engineering principles, activities, tasks, and
the customer and the developer. The chapter then dis- procedures to the development of a software system.
cusses how a concept of operations (ConOps) docu- This application, called software system engineering,
ment can bridge the gap between user needs and is the overall integrating concept that encompasses the
expectations and the technical software requirements managerial and technical activity that controls the cost,
specifications (SRS). schedule, and technical achievement of the developing
The tutorial concludes with an article titled software system. The article argues that "software en-
"Software System Engineering: An Engineering Proc- gineering" should have been called "software system
ess" by Dr. Richard Thayer, co-editor of this engineering" because the modern techniques, tools,
tutorial, on how to apply system engineering principles and activities for what we call "software engineering"
to software. were derived from modern-day system engineering.
This article recognizes the difference between .soft-
2. Description of Articles ware systems engineering and software engineering
just as system engineering is recognized as being dif-
The first article, "System Engineering Overview," by ferent from hardware engineering (all types).
Kevin Forsberg and Hal Mooz of the Center for Sys- This article partitions systems engineering (and
tems Management, was written especially for this revi- eventually software system engineering) into five
sion and hence emphasizes the relationship activities:
between system engineering and software engineering.
Forsberg and Mooz begin with examples of good and • Problem definition (requirements analysis)-
bad system engineering and then move to a discussion Determines needs and constraints through
of the current environment for system engineering. A analyzing the requirements and interfacing
typical system engineering organization within a proj- with the customer
ect is presented, along with the impact of the typical • Solution analysis (design)-Determines a set
organization on the need for teamwork. of possible ways to satisfy the requirements;
The authors next discuss the activities in the sys- studies and analyzes the possible solutions;
tem development life cycle, using the "Vee chart" as and selects the optimum one
the primary representation, and show how the com-
mon life-cycle models (such as the Waterfall, incre-
• Process planning-Determines the cost of
the product, the delivery schedule, and meth-
mental development, and evolutionary development
ods of controlling the project and product
models) and a research and development project are
represented. • Process control-Establishes process, re-
Finally, the process of system engineering is dis- views progress and intermediate products,
cussed, with its major activities of project initiation, and takes corrective action when necessary
system analysis and design (the most intensive period • Product evaluation (verification, validation,
of system engineering activity), and system integration and testing)-Tests, demonstrates, and ana-
and verification. lyzes the final product and documentation

42
The article looks at the most important software References
system engineering tools and techniques. Each tech-
nique is examined and its application to software sys- 1. MIL-STD-499A, "Engineering Management" (USAF),
tem engineering is discussed. Finally, the software u.s. Department of Defense, May 1, 1974.
development process is partitioned into five general 2. Adapted from Sailor, J.D., "System Engineering Over-
phases and each phase is partitioned into a number of view," in System and Software Engineering Require-
software system engineering processes. The activities ments, Thayer, R.H., and M. Dorfman, eds., IEEE
and tasks associated with each process are described. Computer Society Press, Los Alamitos, Calif., 1989.

43
System Engineering Overview'

Kevin Forsberg and Harold Mooz


© 1996 Center for Systems Management
19046 Pruneridge Avenue
Cupertino, CA 95014

Abstract
System engineering is both a thought process for approaching a design and a specific technical discipline. As such,
the process exists at every level in the project hierarchy. Whether the system is a large "design-from-scratch" proj-
ect, or a project to expand on existing capability, or a nondevelopment project based on existing designs, the con-
cept of system engineering is equally applicable. The system architect, who is responsible for determining the over-
all technical approach to meet the customer's need, is the instigator and orchestrator of the techniques discussed
herein.
Detailed system engineering tools appropriate to the software environment are presented in other articles in this
book. In fact, many of the tools used in system engineering have their origin in software engineering (functional
flow diagrams, data flow diagrams. documentation of the concept of operations, and so on.). Emphasis on object-
oriented requirements development and design has made it even more clear in practice that the system engineering
management approach for software and hardware is identical. However, the application of these tools must be un-
derstood in the framework of overall system evolution and the system engineering process. The purpose of this
article is to provide that framework.

1. Introduction expressed this philosophy, either directly or indirectly,


in their articles and text books. Our philosophy, as
1.1. Background expressed in our book.i is that system engineering is
an integral part of project management, and must first
System engineering is a term widely used in industry. be understood from that perspective. Other authors,
However, there is no universal understanding of sys- for instance Boardman.' have emphasized the mathe-
tem engineering as a discipline. We once asked the matical approaches, such as queuing theory and linear
senior manager at a major computer manufacturing programming, which are valuable tools in generating
company in Silicon Valley (California) if he had sys- data that the system engineer may find useful-and in
tem engineers on his staff. He responded, "Of course. some cases, essential-as decision aids. However,
If your system breaks down, we send a system engi- without the context of the entire process, the results
neer to your facility with a bag of parts to repair it." from detailed tools cannot be properly applied.
Our objective in this article is to describe system Effective system engineering requires good judg-
engineering as a process within a project environment ment even more than technical skills. Knowledgeable
and to outline the techniques and associated tools of people have raved about the success of the Lockheed
this vital function. Skunk Works,4 which in 1945 produced America's
System engineering is as much a philosophy as it is first operational jet fighter (the P-80), and in 1962
an engineering discipline. System engineering is a way produced the world's fastest airplane (the SR-71,
of thinking and doing. Poor system management is the which held the world speed record for 30 years), with
major factor contributing to troubled projects. System a project cycle time less than half of what others
engineering is a major technical management disci- required. The reason for success is not that they were
pline within the system management environment with isolated from bureaucratic controls (although they
the focus of "doing the right things right." System were), or that they produced effective products with
engineering provides the technical heart of any proj- minimal documentation (which they did), or that they
ect. A number of authors, notably Blanchard,' have had supercomputers (which they did not). Rather their

-Reprinted with permission from CSM, Inc. Copyright (Q 1996CSM, Inc. All rights reserved.

44
success is based primarily on the fact that the leader of Olympics (1996) , IBM suffered a number of high-
the Skunk Works, Kelly Johnson, was a perceptive and profile glitches on their $40 million Olympic informa-
intuitive system engineer. tion integration effort, with the result that the 12 news
The system engineer must have a broad perspec- wire services that had contracted with the Atlanta
tive: understanding all stakeholders, evaluating and Olymp ics comm ittee had trouble obta ining complete,
orchestrating multidisciplines, and developing the accurate competition results, and some problems were
context within which the project solution will ulti- still unresolved even after the closing ceremonies. As
mately be expected to operate. This implies that there Caldwell reported.i "IBM carried off a nearly flawless
needs to be a systematic exploration of the user's or performance on most technical fronts . But, as Luis
stakeholders' needs, the context of implementation, Estrada (the IBM program manager) concedes, the
and evaluation of areas of high risk and opportunity process broke down because user requirements were
early in the project study phase . The more system not understood [italics added]." Good system engi-
engineering is applied early in a project, the more neering-even though it was not called by that name-
likely it is that the project will evolve in a controlled made the difference between meeting goals or not.
and efficient fashion . Commercial companies seldom measure both the
Examples of profic ient system engineering often costs and benefits of a mean ingful study period before
go unreported. The Olympic games , and all that goes initiating project development, so comparative data
to support them, prov ide highly visible examples of are difficult to obtain for projects started with and
success (and failure) in the commercial environment. without good system engineering. NASA , however,
The metrics are smooth operations, satisfied part ici- has collected and shared information with the public
pants and attendees, and positive financial return to the about their projects. Figure 1, based on NASA data ,
sponsoring community . The Lillehammer, Norway illustrates the benefit of a study phase as measured by
winter Olympics in 1994 were very successful , as were the overrun incurred during system development. This
the 1984 Los Angeles, California summer Olympics. chart shows that a thorough study can often prevent
Both ran smoothly and returned substantial profit to the time lost and the funds wasted on requirements-
the cities involved. In contrast, at the Atlanta, Georgia driven rework.

18,"

16-rv • Source : W. Gruhl NASA·HQ


-
200410
14 " -
103P dwg 39

12," •-
10," Data points shown are for 25 _

.~:
space programs including:

80 • • Hubble Space Telescope


• TDRSS -

~
• Gamma Ray Obs 1978
• Gamma Ray Obs 1982
60 -
• SeaSat

40
It
• ... • Pioneer Venus
• Voyager -
"""
~ •
20

"
-.
• 10 •
~
~


-
o 5 15 20 25
Study Phase Cost as a Percent
of Development Cost

Figure 1. Benefits ofmanagement commitment.

45
If there is little or no study done before initiating and was ultimately a fatal flaw. We did not get paid
project development, project overruns can increase by for our year-long effort.
factors of two or more. An example is provided by the The system engineering challenge is to ensure
GOES (Geostationary Operational Environment Satel- development of the optimum solution that meets all
lite) satellite project initiated in 1985. This project was technical requirements and provides the proper bal-
critical to replacing weather satellites then in use, ance of system performance, life cycle costs, and de-
which were expected to become inoperative by the end velopment schedule. In addition, the system engineer
of the 1980s. The satellites provided critical data for must balance considerations of project risk and prod-
commercial weather stations throughout the United uct quality with the other three drivers. To accomplish
States. At the time of project initiation the plan was for this, system engineering must be an interdisciplinary
first launch in 4 years (1989) and a total budget of approach that evolves and verifies a set of system
$500 million. Since the GOES satellite was a replace- product and process solutions that are integrated, bal-
ment for existing weather satellites, the project man- anced, and satisfy customer needs. System engineering
ager and customer decided that the study period could encompasses all of the efforts related to the develop-
be skipped to save time, even though they should have ment process, including science, engineering, integra-
known better. The first satellite was 5 years late and tion, producibility, and affordability. System engi-
the costs soared to over three times the original esti- neering includes the end-to-end process and must con-
mate. More than that, the specifications established are sider in the initial development the requirements of
so stringent that the last satellite in the series will still operations and maintenance, including the user train-
require a deviation to the specification in year 2005. ing, required equipment and documentation, proce-
The huge cost overrun and substantial schedule impact dures, data, product phase-out, and, if appropriate,
were not expected by the project team. The critical disposal.
decision to skip the study period was made without In the mid-1980s the Software Engineering Insti-
understanding the resulting system risk, and, as noted tute (SEI) developed their Capability Maturity Model
in the article, "Blundersat,,,6 the project was almost (CMM), which has become an industry standard for
canceled by an angry Congress. assessing the maturity and appropriate use of software
Other major projects have suffered similar fates. development processes within a corporation. This has
The Treasury Department announced in 1996 that its been valuable for focusing management attention on
decade-long, multibillion-dollar effort to modernize the need for a managed software development process.
the Internal Revenue Service's computers is "badly off No such counterpart to the CMM exists for system
the track" and must be rethought from top to bottom. engineering (although several initiatives at the SEI and
Congressional subcommittee chairman Jim Lightfoot the International Council Of System Engineering
criticized the IRS performance. The IRS's fundamen- [INCOSE] are underway, and several beta versions are
tal problem is not technology, but "a lack of effective in use). Yet, just as for successful software develop-
management," said Lightfoot. "This is not rocket sci- ment, successful implementation of system engineer-
ence." Effective system engineering is clearly missing. ing depends on a managed process. The system engi-
In the future, said the deputy director of Treasury, neer must be the advocate to ensure that this process is
each step in the project will have a clear "system ar- followed and is effective.
chitecture document." The system engineer is the leader of the concurrent
The need for effective system engineering is not engineering team. System engineering responsibility
limited to large commercial or government projects. begins with identification of user requirements and
The authors were personally associated with a small includes in-process validation that user needs are
($160,000) project to put an existing relational data being addressed as the project evolves. That responsi-
management system, written in Ada, onto a customer- bility includes ultimate validation that stakeholder
specified computer system, and perform searches of a needs have been satisfied in the operations and main-
three million-entry database within a "reasonable" tenance phase, and ends at the point of system retire-
amount of time. Since Ada code is almost entirely ma- ment (decommissioning or disposal). The system
chine independent, this project was viewed as low risk, engineer must be the advocate for the optimum system
and we violated our own principles by not insisting on life cycle cost, even though in many projects the proj-
a thorough system engineering evaluation (a study ect initiation is driven by minimum acquisition cost or
period) before signing the contract. We relearned sev- lowest initial production cost, with little regard for the
eral painful lessons. First, "almost" is a deadly word. total environment. A pilot friend of ours once said that
Second, even though the computer manufacturer had "the three most useless things in the world are: runway
an Ada compiler on a similar model, "similar" is also a behind you, altitude above you, and money in the out-
deadly word. Third, "reasonable time" is untestable, years." It is hard to sell a project approach that

46
increases initial acqursinon costs in order to save Compounding this problem is downsizing within
money in operations a decade later. This is part of the major corporations, which has resulted in retirement or
system engineer's challenge. release of experienced project managers and system
The system engineer has responsibilities that engineers. Technically competent but inexperienced
include: engineers are being assigned to manage projects and to
conduct system engineering. The loss of the knowl-
• Technical interface with the customer edge base with the departing experienced personnel
has resulted in a situation where there is little retention
• Requirements definition, management, analy-
of lessons learned.
sis, and flowdown
This has led to a number of significant issues:
• Verification planning and audit
• Validation planning and audit 1. User requirements are often not well identi-
• Interface management fied and documented. The user requirements
are unclear, and in fact confusion exists in
• Risk and opportunity analysis and management
who the users are. In a commercial environ-
• Change management and configuration control
ment, the marketing organization is often the
"surrogate" user, attempting to distill user re-
1.2. System Engineering, Software System Engi- quirements from a variety of different poten-
neering, Mechanical System Engineering•.. tial buyers. The development team is often
working at cross purposes with marketing,
As a thought process and a disciplined approach to
because they feel that as developers they
problem solving, the concept of system engineering
"know the product better and can provide
and the tools described herein are applied at all levels
what the user 'really needs.'" Often all stake-
of a project from the highest level system down to the
holders are not considered in developing user
lowest level components. In some project organiza-
requirements. This problem is not limited to
tions, there is a function formally called system engi-
large projects, as Norman effectively illus-
neering. Within an integrated product team supporting
trates in his book, The Design of Everyday
one segment or portion of the project, there may be a
Things.7
similar system engineering function but it is often
called by the discipline name, such as software system 2. Insufficient system studies and analyses are
engineering or electromechanical system engineering. performed during the study period. This re-
At lower levels where there are multiple designs being suIts in a lack of understanding of how to se-
evolved for different components, there may be a quence the project throughout the project cy-
design integration function that is system engineering cle phases and how to establish a develop-
at a lower level of decomposition. In each instance the ment strategy (grand design, incremental de-
philosophy of approach and process should be the velopment, evolutionary development, tech-
same, although the definition of "the system" changes nology introduction). There is inadequate
with project decomposition. For the context of this project review and approval to ensure selec-
tutorial, software system engineering is a subset of tion of an optimum system concept. The ten-
overall project system engineering. If the sole purpose dency is to rush to a point design, and there is
of the project is to produce a software product, then insufficient involvement of the developer in
system engineering and software system engineering the operational requirements and system con-
are synonymous. The methods and tools discussed cept studies.
apply in either case. 3. The development team is directed to respond
to incomplete project specifications contain-
ing TBDs (to be determined) that the buyer
1.3. Current Environment
will not commit to resolving by a specified
After consulting with more than 100 commercial as date. This causes inaccurate costing and
well as government-focused corporations during the scheduling for the project. When the user or
past 15 years, it is clear to us that system engineering customer resolves the TBDs, there is usually
is not well understood, and often is not recognized as a a project cost and schedule adjustment re-
necessary discipline. Even in organizations dealing quired. The system engineer is responsible
with customers who demand sophisticated system for ensuring timely TBD resolution.
engineering support, the approach is varied and 4. The system concept and operational envi-
inconsistent. ronment are not well understood. Past opera-

47
tional experience is often not adequately con- 8. Rapidly changing technology creates pressure
sidered in the studies defining the project. to shorten the project cycle time. This results
The flowdown of user operational require- in some cases in inappropriate shortcuts of the
ments to the development system specifica- system engineering and project management
tions is imprecise. The initial system devel- process. It may also result in premature com-
opment does not consider incremental devel- mitment to unproved technology.
opment or upgrade strategy as a deliberate 9. The pressure to shorten project cycle times
part of the process. System obsolescence as a creates pressure to accept point designs. This
result of rapidly changing technology is not creates pressure to minimize or eliminate risk
adequately addressed. In particular, defining and opportunity management studies during
those parts of the system that require easy the study period. Often past experience on
change-out to accommodate new technology cost and schedule is not rationally applied to
is sometimes ineffectively addressed. future work. To meet an aggressive release
5. The problem context of implementation is not date, one major microchip manufacturer
adequately defined. The user is "too busy" to chose to reduce the planned schedule for
work with the development team to create a product development, first by making early
User Concept of Operations document. The selection of a point design, and second by
developers do not understand the user's envi- deleting all rework from the project plan,
ronment. Only a subset of users is identified, even though experience had shown that two
and a deficient project solution is created. For and sometimes three iterations during certain
instance, the developers create a software phases of the activity had always been re-
system in a nonstandard language, and the quired. The company was embarrassed when
user has no trained people to maintain the they missed announced release dates that had
system. been committed to by aggressive and opti-
6. The schedule and budget estimates for the mistic management.
project evolution are not realistic. The buyer
underestimates the time to do the project. The Proper implementation of the system engineering
unrealistic schedule results in budget under- process-and the commitment by executive manage-
estimates. This results in a project destined ment, project management, and the project team to
for schedule slips and cost overruns from the follow the process-will avoid the negative conse-
outset. The project may be driven by artificial quences of the above issues.
schedule constraints such as the need to make
a new product announcement at an annual
convention. The artificial constraints force
1.4. Common Vocabulary
unreasonable development shortcuts to sup- Effective system engineering on a project will help to
port these commitments. The eagerness to see establish a common vocabulary, a common discipline,
a project initiated causes the project team to and a common philosophy of approach. In order to
commit to an unaltered set of requirements achieve the common discipline and philosophy of
even if the budget has been cut. approach, all members of the team need to have a
7. There is often insufficient preparation for common understanding of the terms used on the proj-
system operation. System life cycle provi- ect. For instance the term prototype has a very clear
sioning is not considered or is poorly imple- definition in Webster's dictionary and a very precise
mented during the project evolution. Opera- meaning in a hardware project environment, where
tions and maintenance procedures are not prototype is a "fully compliant, fully operational" ver-
considered during the study period and are sion against which all future systems will be repli-
ignored during the development period, re- cated. In a software environment the word prototype
sulting in the fielding of a defective solution has a less precise meaning and can apply to a user
and inadequate training of system operators. requirements feasibility model or an algorithm demon-
In one major project all deliverable software stration model, but rarely, if ever, refers to a fully
documentation was eliminated to save devel- compliant software system that is then to be replicated.
opment cost, even though the customer was Other terms, such as the definition of levels in a sys-
expected to maintain for decades the 1.5 mil- tem hierarchy, are also significantly different in
lion line-of-code system consisting of six dif- hardware and software environments, and yet both are
ferent computer languages. part of the same project. The establishment of a com-

48
mon vocabulary is essential to communication, and the 2.2. Concurrent Engineering
lack of a solid vocabulary leads to confusion and mis-
communication. Part of the system engineering role is Concurrent engineering integrates the design of a
to ensure that this common understanding is created product and its development, manufacturing, coding,
and to promulgate it throughout the project team. and other support' processes starting in the study
period and continuing throughout the development
project, considering all elements of the product life
1.5. Summary
cycle from conception through disposal. Its goal is to
System engineering is the discipline that forces high encourage involvement of all appropriate stakeholders
value decisions early to bound and reduce risk and and the use of lessons learned to influence the problem
enhance opportunities on the project. System engi- solution. Concurrent engineering is a concept that has
neering is also the discipline responsible for ensuring been practiced and articulated for several decades, but
an orderly process is followed throughout the project has come into vogue once again as a solution to certain
cycle. System engineering is the technical conscience current difficulties in projects.
of the project. One effective implementation of the concurrent
engineering concept is the use of integrated product
teams (IPTs), where each responsible team is focused
2. System Engineering: A Team
on the development of a single component within the
Responsibility
overall system. Issues such as reliability, maintainabil-
2.1. Teamwork ity, supportability, producibility, inspectability, and
human factors are all considered early in the develop-
System engineering encompasses many disciplines and ment process to thereby produce a more effective
requires a broad perspective. While the system engi- high-quality design. It creates an environment to
neer can orchestrate the process, he or she usually improve the efficiency and' results of talented people
does not have the breadth of knowledge in all required working interactively.
disciplines to implement them without specialty team The system engineer is responsible for establishing
involvement. Consequently teamwork is essential in the requirements for each of the integrated product
managing the technical development process. There teams and for managing the interfaces between the
are four key aspects of teamwork, as discussed by teams. One of the reasons that projects relying on inte-
Chiroini and Forsberg.i A team is a group of two or grated product teams sometimes fail is that the system
more people working together with: engineering role in providing interface requirements
and integration between teams has not been acknowl-
• A common goal edged and accepted by the IPT members and their
management. This is, in fact, the primary weakness of
• Acknowledged interdependency
the IPT approach in practice. Again, the requirements
- Competency development process must be consistent with concur-
-Respect rent engineering. System engineering itself should be
-Trust conducted in a concurrent engineering environment.
• Acceptance of a common code of conduct
• A shared reward 2.3. Typical System Engineering Organization

The system engineer on a small project is usually the


From the perspective of system engineering, all four of project manager. On a larger project, the system engi-
the above are important, but the system engineering neer is one of the key technical personnel on the proj-
process will develop the acknowledged interdepen- ect, working as a partner with the chief project engi-
dency and help focus the team on the common goal. neer .(who is responsible for the evolution of the
The team members consist of the project manager, the design) and the chief system architect, a common
system engineer and staff, designers, integrators, test- position in software development projects. Figure 2
ers, trainers, operators, customers, users, quality assur- shows a typical system engineering organization on a
ance, configuration management, logistics, and other project with fifty people and highlights the areas that
system effectiveness organizations. It is not the re- need to be addressed by the system engineer or system
sponsibility of the system engineer to be expert in all engineering team on an effort of any size. Figure 3
of these areas. It is the responsibility of the system illustrates the relationship of system engineering to
engineer to know when and how to involve the appro- other organizations. System engineering is focused/. on
priate disciplines. the development of project requirements and the flow-

49
Project
Manager
Technical
I Team
Example organization I Review
during development period I
on medJum to large project Project
Chief·
Engineer

Chief
System
Engineer
I
I I I I I
Requirements
Analysis
I System
Design
System
Effectiveness
System
Verification
System
Management
Studies Planning
Mission Analys is f- candidate Concepts f- Reliability I- Syslem Tesl Plan . SEMP
Functional Analysis f- System Synthes is r- Salety L Per10nnance Verification WBS
Reqmts Flow Down f- Subsystem Synthes is f- Logistics - Schedules
Operational Scenario f- Type B Specifications r- Mainta inability Design Reviews
Selec tion Criteria f- Interface Control Document f- Human Factors - Risk Managemenl
Sensitivity Analysis Block Diagrams r- Produc ibility Studies - Confoguration Conlrol
Type A Specifications Soltware Reqmls Specifica tions '- LCC Estimate ... SIC Reviews
Operat ional Concepl Documenlation Interface Reqm ls Specifications
f- Simula tions Sotlware Configuration Mgmt Plan
Trade Studies - Sotlware Oualily Evaluation Plan
Risk Analys is SW Standards & Procedures Manual
'-TPM Subcontractor Speci fications
'- Purchased Item Speci flC8lions

Figure 2. Typical project system engin eering organization during the development period.

Functional
Organizations

Define:
Project Requirements
• Requirements Flowd own
System " Design-to" Requirements
Engineering • Change Control
• Interfaces
• Verif icat io n Crite ria
Aud its

What to Do
Do:
• "Bulld-te" Design
· Cod ~to· Desig n
• Development
• Cod ing
• Fabri cati on
• Verification

Figure 3. Relationship ofsystem engineering to other organizations.

50
down of these requirements to the "design-to" docu- done) . The project engineer or software chief architect
mentation. The system engineer defines what is to be is responsible for orchestrating the evolution of the
done . The functional organizations or integrated prod- implementation (how to do it). The integrated product
uct teams determine how to do it. The project manager teams should be end item oriented so that every major
negotiates when work must be done , who will do it, component of the system has a responsible individual
and how much it will cost. Figure 4 emphasizes the team leader.
importance of the system engineer in orchestrating the The integrated product (or process) team concept
evolution of the project, starting from initial concept is a very effective way of organizing. Each integrated
through delivery of the functioning system and its product team has a project engineer as the leader, and
performance in the operational environment. The the team consists of all necessary disciplines to get the
vision of the system engineer as the orchestrator of job done (hardware, software, manufacturing, reliabil-
the activities is important because he or she must ity, and so on). The one deficiency in this structure is
draw on many skills to perform the detailed work that functional disciplines, such as software engineer-
required. ing, are dispersed across a number of product teams.
In a research environment the project manager or There needs to be a mechanism to ensure consistency
principal research investigator may self-generate of process, such as the software development method-
requirements for the project," In the more usual case ology, across all teams. This is addressed at the project
the project requirements are defined by external means manager's level by having a representative of the
and the project team is formulated to produce a prod- software design organization assigned (part- or full-
uct that satisfies those needs . The most effective time, as required) to the project manager's staff, as
organization is one in which the project office consists shown in the dashed box in Figure 5. This person, who
of a "quadrad": the project manager, the chief systems may also have a dual role as a member or leader of an
engineer, project business manager, and the project IPT, oversees all software activities on all IPTs, with a
engineer (Figure 5). The chief system engineer is re- focus on process. The system engineer must work with
sponsible for managing the requirements (what is to be the process-oriented experts from each of the technical

Figure 4. The chief system engineer (whose job is sometimes performed by the deputy project manager for engi-
neering)

51
Dir, QA
Typical
Project Project
Manager Office

Project
Chief System Administration
F--..;:.....;;;;;;.;..;:...-.;;;;.~:;;....;:...-..;:.....;:...~~
Engineer'· Expanded
(Proj . Control)
Project
~ ''''~
h.. _~ Office

System I I

l
Engineering i Software ,I!
Quality
Product Team Design ~ Assurance

Project Engr' Project Engr' Project Engr' Project Engr·


Product Product Product Product
Team #1 Team #2 Team #3 Team #4

Notes: (Software Design) (Software Design)


• Produc t Team Leader

•• Project Engineer and Chief System


Engineer COULD be the same person All Contributing Functions Are
on smaller programs Represented on All Product Teams

Figure 5. Typical industry project team organization.

disciplines to ensure that requirements are being met tomer needs rather than reacting negatively to chang-
and that the appropriate engineering processes are ing system requirements and constraints.
followed, particularly in instances where process con-
trol is essential to ensure a quality product. 3. System Development Life Cycle
In a project using integrated product teams, the
system engineer performs the critical task of managing 3.1. The Project Cycle
the interfaces between all the IPTs on the project, and
ensuring that the various IPT products integrate into a Every project has a cycle, which consists of technical,
validated functioning system solution. The project business, and budget aspects. The system engineer is
manager must vest the necessary authority in the sys- responsible for managing the technical aspects of the
tem engineer to make this happen, and the IPT leaders project cycle.'" There are many different ways of
must agree to cooperate with the system engineer. describing the details of the project cycle but they all
Another vital role of the system engineer is to as- have common characteristics, as shown in Figure 6.
sist the project manager and marketing in keeping the The government project cycles have a formal study
project sold. Especially in a commercial environment, period, as illustrated by pre-Phase A through Phase B
marketing is the connecting link between customer or in the NASA environment or the User Requirements
user and system engineering. System engineering is the Definition Phase through a Source Selection Phase in
essential role that ensures that the marketing organiza- a typical nonmilitary government agency. In a com-
tion does not oversell capabilities and commit to mercial environment the study period starts with a
something that cannot be achieved. System engineer- Product Requirements Definition Phase and concludes
ing and marketing must maintain a proper balance. with a Product Proposal Phase.
Marketing must strive to avoid overcommitting; sys- Regardless of the details of the cycle, the system
tem engineering must strive to be responsive to cus- engineer is responsible for managing the complete life

52
Study Period -1.. Development
Period ..
Operations &
~inlenance
Period--'

i
i Pre-Phase A .Ellaa.A f!JaWl fIlaa.Q fhaaQ fbill...E
NASA
II Advanced
Studies
Preliminary
Analys is
Definition Design Develop-
ment
Operations
I
!

Typical User Concept System Acq Source Deploy- Cps . Deacti·


Non DoD Requi rement Definit ion Specification Plan . Select . System ment and vation
Gov't. Definition Phase Definit ion Phase Phase Implementation Phase Maint.
Agency Phase Phase Phase Phase
Phase

Typical
High Tech Product Product Product Engineer Int. External Production Manufacturing,
Commercia I Requirements Definition Devel. Model Test Test Phase Sales , and
(Non-Gov't Phase Phase Phase Phase Phase Phase Support Phase
Business)

Control
Gates New System Development Product ion Operat ional
Initiative Concept 'Approval Approval Approval
Approval Approval

Figure 6. Commercial and govemment project cycles.

cycle, starting in the earliest phase, with focus on initial statement of user requirements, and is also
requirements definition, system concept, architecture, pinned to the wall on the right side where
and decomposition. In the midportion of the project the product satisfying the user requirements is ready
life cycle system engineering focuses on interface for delivery. If we now envision that this cycle chart is
management, design audit, and requirements manage- made of an elastic material, we can pull downward on
ment. During the concluding phases of the develop- the cycle chart in the middle, where the fabrication and
ment cycle, system engineering focuses on integration, coding occur. The project cycle becomes a Vee repre-
requirements verification and validation, operations senting increasing levels of decomposition (Figure 7).
support, and deactivation planning. It is important to In this Vee, the left leg represents the decomposi-
recognize that planning for operational and deactiva- tion and definition of the project. The decomposition
tion issues starts early in the study period, since the is the hierarchical functional and physical partitioning
system must be designed with operational needs.and of any system into hardware assemblies, software
deactivation considerations as requirements. components, and operator activities that can then
be scheduled, budgeted, and assigned to a responsible
manager. If the system contains only commercial off-
3.2. Technical Aspects of the Project Cycle (''Vee'' the-shelf (COTS) products or reusable software com-
Chart) ponents, from an object-oriented library, for instance,
there may be only a few levels in the hierarchy, with
3.2.1. Decomposition and Definition. Envision a many parallel elements at a given level. In such a case
project cycle that contains all of the project activities, the focus is not on creating a new design, but rather on
products resulting from those activities, and control integrating the system elements to achieve the overall
gates at which the maturity and completeness of those system performance. Interface software may be cre-
products are reviewed and accepted (see Reference 2, ated through icon-driven screen builders. However,
pp. 75-77). Further envision that this project cycle experience has proven that the principles of system
contains only the technical portion of the total project and software engineering still must be followed, and
cycle; it is pinned to the wall on the left side at the the following discussion still applies.

53
Technical Aspect
~ "'''<I CUloIOl''Mr
fWqu-o~t .., ()e..I.1op of the
$y>l .." C<n<0I" lU'd
'hhda'JUl PlIIn Project Cycle

r:
r - - -J .- - - - ...

o.Y'~ S'(\t6fb Sp.a( ihc.atirAl


II """il"". s¥...", : ;~::~.
-.
$ y&ttMTIv .nrlCt\tlOOto
.",J S.,.'letn V. rtw:.atlOl\ PM P.rf()tfT'IN\C. St>edc.atlON
Core of the " Vee"
Plans. SpeCifications . and
Products Are Under
Progress ive ConfiguratiOn

7
ent
~ S9« .cartON 1t'1I0 C I
( ~'Cig\ ·'O·s.,.e.tlCllf~..-c:tCJ
Vtotllic.ahMC'W'I
\

E_.1Josq> ·IO·
Sc>-ah::iltlOl'J6 "to ·&sId-to·
Ooe~tl()tl.and
V.r Jlic.lt1Ol1 P roc ~t .s.

F Itt'trlM,,~'- ·Cod.·10·
and ' 8u~IO· ~a1tnn

Figure 7. The technical aspect ofthe project cycle (the "Vee ").

The definition process during decomposition cre- fall methodology depicts a continually descending set
ates documented "design-to specifications," "build- of blocks through integration and verification. In the
to," and "code-to" documentation that defines the Vee, however, the blocks ascend to the right to repre-
functional and physical content of the entity and the sent increasingly complete portions of the overall sys-
associated interfaces. tem, with the last block being the validated system
The right leg of the Vee represents the integration ready for operations in the user environment.
and verification of the system, starting at the lowest There are many variants of the Vee model that
level and building to the completed solution. Integra- allow for incremental and evolutionary development.
tion is the successive combining and testing of system These are discussed in subsequent sections. It is
hardware assemblies, software components, and important, however, to understand the concept for a
operator tasks to progressively demonstrate the per- simple example that is sometimes called the grand
formance and compatibility of subelements, elements, design, in which requirements are defined at the outset
and segments of the system. Verification is the timely, and then addressed in a sequential fashion.
methodical process of determining that the system ,
3.2.3. Detailed Vee Chart. The critical aspects of
during its evolution and ultimately as developed,
decomposition and definition are illustrated in Figure
meets all specified requirements. Verification assures
8. A fundamental concept in the Vee chart is that time
that the system is being built right. Validation, which
and baseline maturity move from left to right. As
is also part of this process, assures that the right sys-
baseline decisions are made, increasing portions of the
tem is being built, that is, it meets user needs.
Vee are included in the approved baseline. This starts
3.2.2. Core of the Vee. Figure 7 shows a depic- with the user requirements statement, which is placed
tion of the core of the Vee for a five-level hierarchy. under configuration management and formal change
The Vee chart is very similar to the waterfall depiction control once agreement has been reached with the user.
first documented by Royce in 1970. II The waterfall In any project, baseline decisions can and sheuld
representation has been widely used for many years, be challenged. The consequences of changes to base-
and is still current (see Blanchard,' p. 123). The water- line decisions can have profound impact on project
fall is often identified (incorrectly) as a software-only performance, however. This is dramatically illustrated
life cycle; it applies equally well to any system. in the failure of Apollo 13, and reaffirms the adage,
In the Vee representation the left leg follows the "no change is a small change." The liquid oxygen tank
same pattern as in the waterfall . When the lowest level that exploded in flight had been originally designed for
of detail in fabrication or coding is reached, the water- 28 volts (for the internal heating elements), since the

54
spacecraft had a 28-volt on-board electrical system. studies have as their focus the early identification of
About 1 year after the design work began, the cus- risk issues to ensure that an antigravity machine is not
tomer changed the requirement to 65 volts for the tank being requested. There are examples of major systems
systems, since the ground test equipment could pro- that were undertaken because the higher level
duce that voltage in preflight checkout. The design requirements looked entirely plausible, but when the
team caught almost all of the affected elements in the details were developed, they were found to be impos-
tanks, and made the appropriate changes. The sible to meet. As noted earlier, such a system was the
"almost" missed one thermocouple, which, through a GOES satellite in which the specification established
number of minor ground handling problems, over- in 1985 was so stringent that it still will not be met in
heated and subsequently caused the flight failure (see the year 2005, when the last satellite in the series is to
Lovell and Kluger,12 pp. 370-380). The waterfall be launched.
model depicts the challenging of baseline decisions as The off-core studies should focus on critical issues
upward-diagonal arrows. I I This implies an easy revis- as illustrated in Figure 9. These studies start at the
iting of all decisions, even the earliest user require- very beginning of the project. In the earliest phase the
ments. In the Vee model these upward iterations are purpose is to bound the user requirements to ensure
also shown, but they are vertical (Figure 8), since one that an achievable project is being defined. The studies
cannot go back in time. This depiction has been effec- may involve top-level analytical efforts or may drive
tive in communicating to the project team, executive to the lowest level of the hierarchy, creating software
management, and the customer the potential conse- functional requirements prototypes or hardware mock-
quences of late iterations of baseline agreements. ups or perhaps even software and hardware detailed
As one moves down the left leg of the Vee, details operational components to prove that specific re-
are developed to define the next lower level in the quirements can be achieved within time or perform-
system hierarchy and this is shown in Figure 8 as "the ance constraints. Note the use of the of the phrase
baseline being considered." The off-core studies are software functional requirements prototyping to pro-
the iterative evaluations of alternative approaches to vide a more definitive meaning of the purpose of a
find an optimum solution for the baseline at the next software prototype at this stage of the project. These
level of decomposition; of equal importance is the off-core studies are under engineering direction , as
emphasis on the risk and opportunitI identification at opposed to project control, and 'their results influence,
each step (see Forsberg and Mooz! ,14). The off-core but are not necessarily part of, the system baseline.

"Off-Core" User Discussions


and Approvals
"Are the proposedsotutionseccepteble?"

Baseline
Verification Planned
"How 10prove that the Verification
solution has been built right?"

V
/
Core of the " Vee"
Plans. Specinca ffons, and
Products Are Under Project
Configuraffon Managemen t

Baselines to be
Verified
(Coro 01 tho "Veel

"Off·Core" Risk and


Opportunity Management
Investigations and Actions
"How are the risks and opportunities of the
proposed solutionsbeing managed?" _----.:--:; - -'
..
Time and Baseline Maturity

Figure 8. Critical aspects of decomposition and definition .

55
Statement of
User Need
-.-- Technical Aspect of the

,-
User Requirement
Project Cycle
User Analysis & Agreement

Concept
System
Formulation. Trades.
Crit ic al Specification
Sys tem and Selection
Is u

Seg ments
Critica l
Crl"~II"~~
to be Studied:
Design Concept
Formulation &
Selection
Des. Concept
Documents
ls su e • User Requ irements
\
I Clar ification
• Operallons Concepts
• Driving Technology
• Software "Funcll on al
Requirements Prototyping "
'---
• Hardware and Software
Mis slon Constraints Mission
Crit ic al
Operallons I• • " ... \ Performed at the Level l Ops
,ecessary to Identify anI
I ~:~,~~:I
HWCI

<r:>
Hardware Manage Risks and
Con figurallon lIem Concept

CSCI
I
Softw are Crillcal
Con figuration lIem Concept

-
lssu es

Figure 9. Critical issues to be studied at the start ofthe study period.

An equally important consideration is the identifi- system concept, and system specification have been
cation of opportunities in the off-core studies, wherein appropriately studied . The project baseline has been
minor changes to the system might yield a cheaper or approved to the point shown in the cross-hatched area.
more effective system, or might allow for a more com- The development of the design concepts for each of
prehensive system to be developed for minimal cost the segments, the next level in the hierarchy shown in
impact. As the risk and opportunities evolve, and as Figure 10, has both upward iteration with the system
the concepts for the system mature, there must be specification or user requirement updates and down-
upward iteration with the user to ensure that the user ward iteration to identify risks and opportunities.
requirements have been appropriately addressed, and Iterations focus on the critical issues shown in Figure
that the user is supportive of the evolving solution . 10, now including issues such as affordability assess-
Also, the system engineer should periodically ask the ment, environmental impact, and system failure modes
user, "Is meeting this user requirement really worth the analyses. These early studies are critical because they
cost to you?" This is part of the validation process to surface design approaches that, when implemented,
ensure that the system will not only meet specification may yield a defective system if hazards have not been
but will be considered high value by the user. Another thought through completely. An example is the radia-
aspect of the upward iteration is that the user must be tion couch produced by a Canadian finn in the late
made aware of the system expectations so there are no 1980s. Patients receiving radiation therapy for cancer
unpleasant surprises on completion of the delivered were strapped to the couch and treated with either
system. high-energy, short-duration beams or with low-energy,
As the requirements are defined for the baseline long-duration beams. The treatment dose is set manu-
being considered, the planned verification must be ally, and the machine is then controlled by software.
simultaneously considered (Figure 8). This has the The software design did not consider the hazard of an
benefit of ensuring that requirements are verifiable and operator choosing the high-energy beam and a long
that valid needs, such as "user friendly" or "rapid duration time cycle. Consequently there was no provi-
response," are put in quantifiable terms. sion for emergency shut-down. Seven people died a
Figure 10 illustrates the iterative process at a later few months after treatment as a direct result of this
stage of development where the user requirements, the defect.

56
Technical Aspect of the
User
Project Cycle

System
Crit ica/lssues to be Studied:
o User Requirements Clar ification
o Operations Feasib ility
o Driving Technology
Segments
o Software "Feasibili ty Prototyplng"
o Hardware Feasibility Models
o Affordablllty Assessment
o Environmental Impact
o Syst em Risk Analyses
Mission
o Failure Modes Analyses
Operat ion s
Hardware t:~=~o~
H;a.z;ardS
: A ,.n.a.ly.se.s _
Configltem
CDR
Soft ware
Confi Item

Mission
Operat ion s
Hardwar e
Assemblies
Softwar e
Com on ents Performed at the
Level Necessary to
Identify and
Hardware Parts Manage Risks and
& Processes
Opportunities 1-2!i;;,;,,"""'c-----------
Computer
Software Units
13444

Figure 10. Critical issues to be studied at the start ofthe development period.

Many people resist the idea of a defined project management and formal change control. The system
cycle with an evolving baseline, claiming it constrains engineer is responsible for managing the technical
creativity. On the contrary, it should enhance creativ- baseline. The technical baseline is first established by
ity. Figure 11 emphasizes that there are upward arrows placing the user requirements under change control.
to indicate iteration with the maturing baseline, but Note that "change control" does not mean "change
there are no horizontal arrows from one phase to the prevention."
next because it is only necessary that at each step the Off-core studies used to identify risks and oppor-
design is proven to be achievable and that the key risks tunities are usually under local engineering control and
and opportunities have been identified and acted on. are not part of the baseline. Without the formality of a
Thus the solution at step b in the process shown in controlled baseline, the project team is faced with
Figure 11 could be quite different from the solution designing to a set of free-floating system requirements.
considered at step a, and both could be very different There is an adage that says, "Meeting requirements
from the final solution chosen at step d. The creative and walking on water are equally easy-if both are
process is to continuously improve the off-core frozen." The mistake is in allowing the user require-
approaches, which are under local engineering con- ments to float, while freezing the results of detailed
trol, until the final solution is identified at step d. The studies early in the project cycle (the off-core activi-
solution developed at step d will become part of the ties). As an example, in the early 1990s a consortium
baseline at the control gate for that level of detail, and of major corporations launched a commercial venture
then will be managed under formal configuration to provide nation-wide cellular telephone coverage,
management. using a fleet of satellites. The consortium had not yet
In the previous charts we focused on the concept of settled on the system concept, but decided to initiate
an evolving baseline under progressive configuration the detailed software development anyway because
control. The project baseline contains all technical, "time was of the essence to stay ahead of the competi-
cost, schedule, and deliverable requirements that are tion." After 6 years, and a lot of money spent on soft-
sufficiently mature to be managed by configuration ware, the system was not yet in operation.

57
Technical Aspect of the
User Project Cycle
Concept
System
Formula tion, Trades
Spec
System and Select ion

Segments

CDR

Mission Integration
Operations and Test
Hardware It is NOT NECESSARY that Integration
Assemblies the same "off-core" solution be used at each step and Tes t
Software as the design evolves horizontally (Clleve l shown for "a" Integ ration
Com onenls through "d"], It is ONLY necessary that a feasibile solution be
proven at each step . A software solution at "b" may be superior to
the hardware solution envisioned at "a. " The final solution at "d,"
however, is placed under for mal con figuration management.
Hardware Parts
& Processes IF the original concept evol ves f rom point " a" to point "d, "
Computer it would be one version of evolutionary CSC I Concept
Software Units Formu lation Select & Doc
deve lop ment.
13445

Figure JJ. Evolution of lower-level concepts from phase to phase.

Once the detailed assemblies are built, coded, or that the Vee depiction provides a more accurate under-
procured, the integration of the system begins. The standing of the process.
critical aspects of the integration and verification
3.2.5. Summary of the Vee. The core of the Vee
process are illustrated in Figure 12. Here downward
(Figure 7) represents the decisions that are placed un-
off-core iterations are focused on problem investiga-
der progressive configuration management. The Vee:
tion and resolution. Upward iterations are focused on
resolution of problems that require a waiver or deviation
if the system cannot meet the anticipated requirements. • Displays the relationship of verification plan-
ning to requirements development
3.2.4. Other Representations. The Vee depic-
tion of the technical aspects of the project cycle is one • Reflects the concept of decomposition
view of this process. Another model commonly used • Illustrates system-level versus detail-level de-
in the software environment is the spiral model, composition and integration activities
developed by Boehm 1s and shown in Figure 13. The
power of the spiral model is that it highlights the pro- • Emphasizes baseline definition and configu-
gressive need for risk analysis and prototyping ration management
(although it would be more illuminating to understand • Emphasizes ongoing risk and opportunity
the different objectives of each of these prototypes) . management (off-core activities)
Figure 13 has numbers added to relate the spiral model
• Illustrates impact of time and maturity
to the Vee. Figure 14 shows that the spiral model can
be overlaid on the Vee model when a horizontal, • Provides a basis for understanding the impli-
instead of spiral, time base is used. Both models repre- cation of incremental and evolutionary devel-
sent the same approach. It is the authors' experience opment approaches

58
"Off-Core" User Approval of
Waiver or Deviation
"Can the user Jive with the performance? "

r=~ Performance

"Off-Core" Problem
Investigation and Resolution
"Is the probtem cause understood?"

Figure 12. Critical aspects ofintegration and verification.

Cumu1.l1iv. Coot

-'

From:
CItr:Jod IHJftIbon Ir. MJdod 10 BW. Boehm,"A SprIaJMocl8l 01Sollware
tho SpiroJ_ for dnlcl
Davelopmen~" In TutioreJ: SoIlware Project
eotr¥"'risDtllo tho Tochnic.J
Management. edited br R.H. Thayet and
I PIMI Noxl PlY... •
hpod 01 tho Proj«t CycIo
M.Ootfman,IEEE Presa, 1988.

Figure 13. The spiral model.

59
Statement of
User Need

PDR CDR

Mission
Operations
Hardware
Assemblies
Software
Com onenls

Figure 14. The spiral model overlaid on the " Vee. "

3.3. Incremental and Evolutionary Development development of a large, reusable rocket engine.
Although the engines on the Saturn were more than
3.3.1. Incremental Development-Single Delivery. adequate to boost the shuttle to orbit, they were one-
As explained in Forsberg and MOOZ,16 the Vee can be time-use only. Thus in 1970 the space shuttle engine
used to describe other development approaches. Key contract was awarded. Two years later, increment two
to successful implementation of both of the incre- was awarded for the space shuttle orbiter itself. In the
mental development approaches (Figures 15 and 16) is intervening 2 years additional studies showed that a
that the system is considered as a whole from devel- better design for the orbiter could be achieved with
opment of the user requirements statement through the five engines rather than three. This was no longer a
preliminary design review (PDR). At or after PDR, possibility, however, since the large engines under
incremental development options can be considered. development were designed for three engines, not five,
For incremental development with a single deliv- on the orbiter itself. As a consequence the orbiter
ery, all increments must be completed before a func- design was constrained . Incremental development
tional system can be fielded. This concept is used entails some project risk, and tradeoffs must be made
when all requirements can be specified a priori and before the project is initiated, since the early incre-
incremental development is desired for cost effective- ments may constrain the freedom of choice during
ness, for security reasons, to make better use of scarce later increments.
resources, or to initiate the development of long lead, 3.3.2. Incremental Development-Incremental
critical technology. The graphical depiction of incre- Delivery. This approach is used when all requirements
mental development with a single delivery is shown in can be specified a priori, but when incremental devel-
Figure 15. opment is desired to provide early but limited func-
An example that is easy to visualize is the devel- tionality. It provides preplanned incremental increases
opment of the space shuttle. In the late 1960s many in performance and may be used in environments to
studies were performed to determine the optimum con- accommodate budget limitations or to shorten the
figuration for the space shuttle. Since all components delivery span for an otherwise long development
were to be reusable, the driving technical issue was the cycle. This concept is illustrated in Figure 16.

60
Incremental Development -
Single Delivery

~
~ I
I

Example.:
• SpaceShuttle
. - Main EnginesAward 1970
- OrbiterAward 1972
-.Integration 1980
Note:For darity, only - First RIght 1981
a few controlgates
are shown • HP Spectn.m Computer
- HWStarted -1981
- SystemSW - 1983
-Integration - 1985
- Operational - 1989
Code. Fab. Assemble Units ---

Figure 15. Technical aspect 0/ incremental development-single delivery.

Incremental Development -
Incremental Delivery I~ IIP.&21 IT~fNn I
(Phased Development) I
I


I
I

Examp"':
• SanJose Ught Rail
- Phase 1 1990
10 mi of track
- Phase 2 1993
18 mi of track
- Phase 3 1911
Xmi of track to
adjacent cities
Note:Forclarity, only
a lew controlgates • Electric Car
are shown. - AutoPrototype 1992
- AutoProduction 19961
- Service (refuel)
• City1998
• County 19981
Code,Fab,Assemble Units- --

Figure 16. Technical aspects of incremental development-incremental delivery.

61
The first increment(s) in an incremental develop- functionality provided in the first increment must be
ment-incremental delivery approach are developed sufficiently attractive to encourage the users to wait
and delivered to allow assembly into an operational for and potentially to fund subsequent increments. If
system with limited functionality. Later increments important capabilities are not available until the final
add increased functionality. An example would be a increment, there may never be a final increment.
computer system that is upgraded with later versions o 3.3.3 Evolutionary Development. A third strat-
of software, improved hardware technology, and in- egy is called evolutionary development (Figure 17).
creased capacity. This is appropriate when the project requirements can-
Another example would be the implementation of a not be specified a priori and the development process
light rail system, which has been common in American itself is expected to uncover unforeseen needs and
cities in the 1990s. In San Jose, California, the first system applications. It is also applicable to a research
phase provided for the purchase of the light rail cars, and development environment." In this model new or
the maintenance facilities, and 10 miles of track. The enhanced functionality is added to the functioning
promise to the voters was that freeway traffic would be system at each iteration to satisfy newly discovered
diminished because people would ride the light rail needs. An example would be the evolution of word-
cars. The voters were disappointed because traffic did processing systems in the 1970s. The early vision
not diminish, but were encouraged to wait until the might have been simply to enhance the capabilities of
second increment, which would add additional track. a typewriter by allowing spell check and spell correc-
Phase two was implemented about 3 years later and tion of the last word typed, as opposed to a whole
had a total of about 18 miles of track, which also did document.
not reach the residential community and thus did not In the evolutionary development model it is not
reach its objective of reducing freeway traffic. The necessary that the first iteration produce a functioning
voters were very reluctant to approve the third incre- system, but the more iterations that are required before
ment, which is still pending. This highlights a major a useful product is produced, the less likely it is that
concern 01 the incremental delivery process, since the funding will be available for the final version.

Possible Possible
Deployment Deployment

Example:
• SW version 0.9
• SW version 1.0
• SW version 1.5
Code, Fab, - - - - • SW version 2.0
Assemble Units etc.

Figure 17. Technical aspects ofan evolutionary design.

62
3.4. Technology Insertion Management ments are in response to a recognized need on the part
of a user, or a new opportunity to apply existing or
A new product developed in research laboratories may new technology, or some new challenge previously not
be the starting point for a new project." The new capa- considered. All of these are sources of stimuli leading
bility may provide a new and unexpected opportunity to an idea for a new business opportunity, a new set of
for solving existing problems or may create the user requirements, and a new project.
opportunity to do something never before contem-
plated (such as the Post-it, developed as a result of 4.1.2. Users, Customers, Stakeholders, and
research into adhesives). The new technology may Providers. In defining the user requirements for a
trigger the identification of user requirements and this project, it is important to understand that there are
is then the start of the detailed assessment through the many stakeholders, not just the users, who have an
Vee process. The project manager and system engi- interest in, and an influence on, a project. Some stake-
neer must manage the maturing of that new technology holders may be regulatory agencies, other stakeholders
as the project evolves to ensure that it is available in may be executive management. In this discussion it is
time to incorporate into the system. useful to offer the following definitions:

• Stakeholder-Any group, individual, or or-


4. System Engineering Process
ganization that is affected by, or can affect,
4.1. Project Initiation the project
• User-Any stakeholder who will work with
4.1.1. Requirements-Driven Process. System the system in some capacity, and so must un-
engineering is a requirements-driven process. If there derstand it from that perspective
are no requirements, there is no project. It is the sys-
tem engineer who, working with others (marketing, • Customer(s)-The person(s) with the money
customers, users, developers, competitors), initiates to pay for the project or its end product. The
the exploration into ideas that will ultimately define a customer is not necessarily a user
user need, and from that, a project (Figure 18). The • Provider (Seller)-The intermediate parties
origin of the requirements (the stimulus in Figure 18) in the project chain who respond to the cus-
can be self-generated," but more typically the require- tomers

Industry,

I -
...... Universities,
Science
IStimulus I Community

Need
" Business
Requirements Proposed
Idea is Top Level Opportunity
~ Statement ~ ~
Born Examination Identified for
Opportunity of Need
Further StUdy
Problem ~~
~ Resources
~ ReqUirements
Question ~ Business Concept
In-house, ~ Benefits
I .....
.....
Users, ~ Share the Idea
Individuals, - Proposals
Others - Papers

Figure 18. Project genesis.

63
In a commercial environment there often will be Two-Billion-Dollar Struggle over the Hubble Space
thousands, if not tens of thousands, of users of a spe- Telescope." It has finally become an effect ive rela-
cific product , and they all are stakeholders in the tionship dur ing the operational period.
development process . When there is a large user Another useful perspect ive is that members of the
community, the project team can deal only with repre- project team are all stakeholders in the project. They
sentatives of that commun ity, sometimes called surro- are simultaneously providers to those who have de-
gate users. Market ing serves as a surrogate user, fil- fined their work tasks, and customers for those who
tering the multitude of user requirements into a viable are supporting them in the creation of their end prod-
set to which the project team can then respond. uct. An important concept is that the entity at each
In some instances a separate organization is level of decomposition is someone's system, with
established to represent the needs of a large group of customers and providers, and should be managed as
users. This is not an easy task, and it sometimes meets such.
with mixed success. Consumer advocate organizations
are one example . Another example is the Space Tele-
scope Science Institute , which was established specifi- 4.2. System Analysis and Design Process
cally to coord inate the user requirements from thou-
sands of independent principal investigators 4.2.1. Overview. A clear statement of user need initi-
worldwide for the Hubble Space Telescope design and ates the first round through the system analysis and
operations . In this instance , the process was not done design process shown in Figure 19. The output from
well, and the initial relationship between the Space the process is a set of agreed -to requirements (with
Telescope Science Institute (the users), NASA (the buyer approval) for the next level in the hierarchy.
customer), and the industry contrac tors (the providers) This process is situational and is repeated over and
was often acrimonious and unnecessarily destructive, over at descending levels in the hierarchy. Figure 20
as described by Chaisson in his book, The Hubble illustrates the situational nature of the process as
Wars: Astrophysics Meets Astropolitics in the applied to the sequential project cycle.

Higher level Deline the


requirements and required behavior
constraints from in a functional
approved baseline Interaction I Candidate 3

~
W
diagram
I Candidate 2

Understand the
context of
Define the
...... f----
Candidate 1

Conceive
candidate
Evaluate
solutions against

t t .- .
problem to be
-.
Implementation at solutions criteria, evaluate
the level under solved and the
risks and failure
analysis as evaluation
modes and select

~
driven by higher criteria lor the
the best solution
leve l baselines solutions ~ Define the I---.
required
~ lunctional
performance by
quantitative
analysis

c:52Jo
No t
Get buyer approval Output Is the
01 solution, as solution Next level
requ ired, and Yes "Design to· requirements
Include solution specification and ~ and constraints
Into the approved context 01 from approved
technical baseline Implementati on baseline


lor the next level ,

Figure 19. System analysis and design process.

64
Figure 20. Relationship ofthe requirements analysis and solution determination processto the technical aspectsof
the projectcycle.

At every decomposition level the following ques- ect requires purchase of an airplane and the installa-
tions must be answered: tion of commercial off-the-shelf (COTS) hardware and
your proprietary software on the plane. The $10
• What is the problem to be solved and in what million airplane is one segment, and no further break-
context? down is required. The $1 million detection system is
• What must the solution do (functionality)? another segment. Within that segment the COTS
hardware needs to be defined only at the configuration
• How well must the solution do it item level to identify functionality, performance, and
(performance)? interface requirements-and to verify compliance. The
• Within what constraints? Within what inter- proprietary software may have to be defined down to
faces? the component level to ensure proper requirements
• What level of risk is acceptable (as a system definition and development management. If a design
design philosophy)? approach emphasizing reuse (such as object-oriented
design) is used, and if an adequate development
• How will the best option be selected from library of software objects exists, it may be satisfac-
candidate solutions? tory to stop at the configuration item level for software
• How will it be proven that the solution meets definition as well. The system engineer must tailor the
the requirements (verification and validation level of decomposition based on risk.
planning)?
4.2.2. WhatIs the Problem to Be Solved and in
• What documentation is required? What Context? A primary responsibility of the sys-
tem engineer is to ensure clear customer communica-
Note that it is not necessary to carry all segments tions about what is wanted and what is to be provided.
or configuration items to the same level of detail in the Figure 21 illustrates the difficulty, because written
system decomposition. Imagine that you are words do not convey unambiguously what is desired
responsible for developing and testing a collision- and expected. Lack of clarity at the beginning can lead
avoidance system for use on corporate jets. The proj- to major difficulty as the project evolves.

65
Projcct
Customer
Managcr

Figure 21. Example of confused customer communications.

For example, several years ago the chief financial the system requirements, rather than simply improving
officer (CFO) at a major corporation complained to the mechanization of their current way of doing busi-
the director of management information systems (MIS) ness. They expected to devote several months to the
that it took days to get the financial reports each time requirements definition; they were surprised that the
he requested them. The CFO demanded that they pro- eighteen-person team, from twelve locat ions, had to
vide him with real-time response at the terminal on his meet twice a month in person for 18 months to complete
desk . After an intense 6 months, linking corporate the House of Quality. The team leader said that all par-
offices throughout the United States into a real-time ticipants, including executive management, felt the
system, the director of MIS announced to the CFO process was extremely valuable, and well worth the time
that the system was ready for his evaluation. The invested. The final set of user requirements was signifi-
CFO was ecstatic with the instant response; he said cantly different from what was initially envisioned .
he thought a real-time system would take at least 30 Once the stakeholder requirements have been
minutes to provide the needed data. The MIS di- defined , it is important to determine their relative im-
rector said, "If I had known that you were willing to portance. An order-of-magnitude reasonableness test
wait 30 minutes for the reports, we could have com- or investment of resources required to achieve a stake-
pleted your system in 2 months for $10 million , holder 's objective, combined with a comparison with
instead of the $100 million this one cost us." current capability, can provide insight in establishing
There are many tools available to help define and priorities. Often a user who has no direct responsibility
understand the implications of the user needs. One for cost and schedule on the project can define
such tool that has been widely discussed, and for requirements that are very expensive to meet and that
which books have been written, is quality function may provide only marginal utility.
deployment, and its popular implementation: the An illustration of improper priorities is docu-
House of Quality .18,19 The purpose of these tools is to mented in the history of the NeXT computer develop-
clarify "What do you mean by that?" One should also ment. 20 Steve Jobs spent a substantial amount of time
use other techniques such as documentation review, and money in his startup operation trying to produce a
interviews , focus groups, surveys, comment cards, and "perfect" black case for the NeXT computer. A
direct observation to provide a "check and balance" "perfect" black case is very difficult to make because
through use of multiple approaches. black finish highlights any imperfections. As a matter
Thoroughness and care are required to clarify and of priority, was this a proper focus for a computer
identify all requirements properly, and it takes time manufacturer, who was at that time slowly going out of
and training to do it right. In 1992 a major shipping business? How many users really cared about having a
company, with ship, truck, and rail components, black computer case on their desk? Was the black case
decided to "modernize the computers and software for really a system requirement?
their US-based ground system." They chose to use the Finally, it is essential to provide the context within
Quality Function Deployment approach" to identify which the requirements are to be met. At a system

66
level, the context is provided by the Concept of gram can display the data in functional flow block
Operations document." which is written from the diagrams, N2 diagrams, and other common formats if
user's point of view. At lower levels of the project the user wishes to do so.
hierarchy the context within which the lower level The primary error that the authors have seen in
requirements are to be met is defined by system engi- practice is that system engineers sometimes focus on
neering in the entity specification, usually in a the functions that the organization is to perform
descriptive introduction. (design an airplane), rather than the functions that the
The Concept of Operations document should system is to perform (carry 150 people coast to coast).
address the following issues: what, where, when, who, The objective of functional analysis is to develop a
why, and how. To develop that understanding, it is system (or lower-level component) specification.
necessary to envision and understand the user's envi- While functional analysis could be used to develop an
ronment. Even in the design of simple products, Nor- organizational chart, do not mix that task with system
man' (pp. 151-158) notes that designers often think analysis.
they understand (but really do not) user needs better
4.2.4. How Well Must the Solution Do It
than the users, and their customers (buyers) often do
(Performance)? All systems have performance
not have user satisfaction as a goal either. Again,
requirements. We were once told by a knowledgeable
remember there are many levels of users in a system
expert that functionality could be specified for soft-
and all appropriate stakeholders should be considered
ware, but performance could not be. That is no longer
at this point. Also, we often say what a system will do;
a valid statement, if it ever was. It is possible, how-
it is often useful to define what a system will not do,
ever, that seemingly reasonable system performance
because it highlights implied requirements and mini-
requirements cannot be met when the system compo-
mizes misunderstandings at a later date.
nents are defined and it is found that their performance
Once the system requirements-and constraints-
is inconsistent with the system requirement (recall the
have been defined, it is useful to develop a behavior
GOES example). This is why the off-core studies early
model to illustrate and define the full scope of the user
in the project cycle are so critical to project success,
requirements and the user environment. The. behavior
and to the setting of reasonable expectations (Figure
model should include all of the operational considera-
11).
tions, including reliability, maintainability, availabil-
Performance analysis is closely tied to functional
ity, human factors, decommissioning, security issues if
analysis; when you know what is to be done, you must
any, and any other operational aspects. The customer
now determine how fast or how often or how well it
should then be asked to validate the behavior or
must be done. The performance analysis starts with a
requirements understanding model. This is the stage
system-level requirement (for example, the data search
where you must think the entire system through and
must be completed within 3 seconds maximum, or the
define all of the system requirements and constraints.
fully loaded plane must fly 550 knots nonstop coast to
As they found in Apollo 13, late changes (to accom-
coast). These top-level requirements must be flowed
modate ground handling as opposed to flight condi-
down either by derivation (analysis), or by allocation
tions) can lead to disaster.
(judgment based on experience). One can compute the
4.2.3. What Must the Solution Do component response necessary to support the system-
(Functionality)? A number of tools exist for deter- level 3-second requirement. The weight necessary to
mining the functional requirements of the system. Per- perform a given function on a new airplane cannot be
haps the simplest is the functional flow block diagram easily calculated a priori, and past experience is used
(FFBD), which has been used for 40 years or more. to make an initial allocation, which must be then veri-
The diagram by itself is incomplete since it does not fied as the design matures.
enforce any logic constraints, and interfaces between Inability to meet the performance requirements
the functions need to be defined with the aid of an- may force a re-examination of the user requirements
other tool (the N 2 diagram). Variants such as data flow and priorities (an upward iteration in Figure 8 or lO).
diagrams or command flow diagrams are also widely For example, in 1964 the contract was awarded for
used. One of the most powerful representations is the development of the C-5A. One of the driving user
behavior diagram, which is a complete and self- requirements was that this new cargo plane must pro-
consistent logic diagram. The use of the behavior dia- vide front-line battlefield support. This meant that the
gram has been automated in the CASE tool, RDD-loo, plane-which was three times bigger than any airplane
where ROD stands for Requirements Driven Devel- in existence at that time-must land in a plowed field,
opment, and where CASE stands for Computer-Aided and go over a 6-inch curb at full landing speed (try
System (not Software) Engineering. The RDD pro- that in your car sometime). The past experience was

67
that the landing gear was 5 percent of the dry struc- time. A 50 percent success rate would have been con-
tural weight. In precontract studies the designers sidered good; the alternative to the patient was certain
assumed that landing gear would be 10 percent of the death. Today the mechanical valve must have 100 per-
dry structural weight. As the lower-level designs were cent reliability, and the operation to implant it must
developed, it was found that the landing gear weight have a 95 percent or better success rate. Anything less
was 20 percent of dry structural weight, with severe will land you in court. Would you be willing to intro-
impact on payload. The resolution was to change user duce new valve design that can be injected in place,
requirements; the front-line support requirement was instead of requiring a major operation, but with an 80
dropped, and the C-5A can land only on improved percent chance of success?
runways. In 1996 public television broadcast a program on
the early days of America's first reconnaissance satel-
4.2.5. Within What Constraints? Within What
lite system (the Corona program). The first twelve
Interfaces? Design constraints must be identified and
launches in the early 1960s were failures, yet at the
documented, or the user may be presented with a sys-
time-and even today-the program was considered
tem that has serious operational limitations. In one
very successful. Would your management support you
major software development the buyer "forgot" to
if you had twelve successive $100 million dollar fail-
provide constraints on the language used. As a conse-
ures in a row? Are you, your management, and your
quence each supplier used a different language, and,
customer risk averse in decisions to introduce new
since documentation was not specified, there are no
approaches in your project? Figure 22 identifies a
manuals, except for high-level user guides, for system
number of risk decisions that are driven by the proj-
maintenance. This is on a 1.5-million line of code
ect's risk philosophy. All of these decisions have
development that has an expected operational life of
direct cost, schedule, and quality impact.
25 years. The customer now expects to have to recode
all the software for support and maintenance reasons. 4.2.7. How Will the Best Option Be Selected
Design constraints can be obvious things such as from Candidate Solutions? After the requirements to
maximum power consumption, maximum weight, be met have been defined, then alternative solutions
maximum memory, material compatibility, mean time must be considered. There must be an orderly process
between repair, mean time to repair, and so on. It can for comparing these alternatives. The fundamental
include upward and downward compatibility, provisions process is shown in Figure 23.
for future growth, or requirements for portability. There are several well-established decision analy-
Interfaces must be defined for interaction with sis tools available that use this fundamental process.
external systems, as well as between components The Kepner-Tregoe Associates (KTA) approach 22 has
internal to the system. For systems making extensive been successfully used for more than 30 years, and it is
use of nondevelopment items, interface identification still valid today. It is basically a weighted matrix for
and management is the most important system engi- scoring alternatives. Some people dislike weighted
neering function. This is the single biggest cause of scoring because it seems too mechanical. Such opin-
project failures in COTS projects. Anyone who has ions miss the point. This is a judgmental process, and
tried to use a "standard computer interface" to project the numbers are an effective aid in helping you handle
computer-generated images at a remote conference many variables in a consistent way.
facility can attest that this is a nontrivial exercise. At An alternative approach is to use the analytical
one conference the authors were presented with a box hierarchy process.f This approach appeals to engi-
of twelve connection cables, none of which worked; neers because the relative weights between alternatives
one fit, but the strands of smoke emanating from our are found by computing the eigenvalues and eigen-
computer were not encouraging. vectors of a weighting matrix. Since there are PC-
based computer programs available to do the mechan-
4.2.6. What Level of Risk Is Acceptable (as a
ics of the process, it is easily available to everyone.
System Design Philosophy)? Risk and opportunity
However, just as for the KTA approach, the results are
management are an ongoing part of every project.
judgmental, and the numbers are only an aid in com-
However, that is not what is meant here. The issue is
bining many factors in a simple-to-handle approach.
what constitutes project success; are you after an
Regardless of what technique you adopt, as a sys-
aggressive exploration of new technology, or are you
tem engineer you should be able to use these tools
after a safe, totally reliable system based on well-
routinely and effectively.
proven technology'i'"
Consider the development and implanting of a 4.2.8. How Will It Be Proven That the Solution
mechanical heart valve. Twenty-five years ago a Meets the Requirements (Verification and Valida-
mechanical valve was being considered for the first tion Planning)? As requirements are developed, ap-

68
proaches must be developed to verify that they have of the Verification and Validation plan. It also forces the
been met (Figure 8). This forces the early development requirements to be written so that they can be verified.

Issue High Risk Low Risk


Certification None Full pedigree
Commercial Applications Maximum Selected use
Cost Mandatory limit Desirable target
Design for growth None Planned
Expendable margins None High
Inspection None 100%
New Technology High use No
Part De-rating None Substantial
Qualification None Full with high margins
Redundancy None Full
Reliability Low High
Schedule Mandatory limit Desirable target
Sparing None Full
Verification None 100%
tOO 9607

Figure 22. Risk decisions that are driven by risk philosophy.

Identify and Evaluate


Alternatives

GoINoGo
No Go Assessment

Select Concept and


Prepare Trade Study
Report

Figure 23. Trade study process.

69
In the example cited in Section 1.1, the software tomer said, "Their stats collection and commentator
program failed the user requirement to perform a data systems are wonderfully designed. It was the deploy-
search in a "reasonable" amount of time. Attention to ment and integration that killed them."
the verification plan at the start of the project-before The system integration and verification process is
the contract was signed-would have avoided this illustrated in Figure 24. Components of the system are
unverifiable requirement, which became a disastrous integrated and are subjected to verification (tests,
pitfall at the end of the project. analysis, inspection, or demonstration) to ensure
readiness for integration with the next assembly. If no
4.2.9. What Documentation Is Required? There
deficiencies are detected, then integration proceeds to
is a saying, "A short pencil is better than a long mem-
the next level. If deficiencies are detected, either they
ory." The amount and type of documentation must be
are corrected or uncorrectible deficiencies are
tailored to the project needs. One measure is to ask
accepted through a waiver or deviation process. If a
what the risk is if a mistake is made on the project
component is modified to correct a deficiency or if
because decisions are not documented. If someone
some deficiency is accepted through a waiver, a
offers to bring in lunches for you and your office-
regression test is necessary to ensure that these
mates, and you order a vegetarian salad, would you
changes from what was planned do not affect the per-
care if they brought you an anchovy pizza instead? If
formance of other parts of the system. Figure 24 is a
so, you had better ask that next time they document
situational process that is repeated multiple times
your order in writing.
through the hierarchy as the system is assembled.
As the system definition matures, the technical
baseline also matures by addition of the system
requirements document, the concept definition docu- 5. Conclusion
ment, the system specifications, the "design-to" speci-
fications, the "build-to" and "code-to" documentation System engineering is an end-to-end process that is
and ultimately the "as built," "as tested," "as critical to project success. The process has been
accepted," and "as operated" documents. The level of clearly defined. It is up to executive management and
documentation and detail required under configuration project management to insist on implementation of
management depends on the criticality of the project, that process and empower the project team to do so. It
the number of people involved, the number of sub- is up to the system engineer to enforce the process
contractors, the number of personnel at remote sites, discipline.
and so on. The documentation method must be tailored System engineering requires good judgment,
to each project to ensure baseline decisions are appro- "uncommon" sense, and team-building skills to suc-
priately communicated to all who must take action on ceed. Computerized tools and mathematical knowl-
the basis of those decisions. edge are useful-and in some cases essential-for
The studies of off-core critical issues (Figures 8 to decision support, but they are not the essence of the
12) should be documented by the person performing discipline.
the work. Such engineering studies are kept under
informal engineering control, but should be part of the
project data set. References
1. Blanchard, B.S., System Engineering Management,
4.3. System Integration and Verification Process John Wiley & Sons, New York, N.Y., 1991.

In a perfect world the integration and verification 2. Forsberg, K. and H. Mooz, with Howard Cotterman,
process runs smoothly from detailed level to com- Visualizing Project Management, John Wiley & Sons,
New York, N.Y., 1996.
pleted system. If the system analysis and design proc-
ess was not properly followed, if there were changes to 3. Boardman, 1., Systems Engineering, An Introduction,
system-level requirements, if interface management Prentice-Hall, Englewood Cliffs, N.J., 1990.
was not rigorously followed, if the system partitioning
4. Rich, B. and L. Janos, Skunk Works, Little, Brown &
was poorly selected so that the interfaces are complex, Company, New York, N.Y., 1994.
if ... , the system integration and verification process
becomes the most challenging part of the project. This 5. Caldwell, B., "No Management Medals; IBM's Olym-
is especially true when time and project funding run pic Woes Not a Technology Issue," Information Week,
Aug. 19, 1996, p. 80.
out. The process in this phase is simple; the imple-
mentation is usually not. In commenting on IBM's 6. Kuznik, F., "Blundersat," Air and Space Smithsonian,
performance at the 1996 Atlanta Olympics' one cus- Dec. 1993nan. 1994,pp.41--47.

70
Verification Requirements and
Constraints from roved Baseline
Integratewith
Assemblies and next CSCI
Com nents and repeat
verification
process
Inspectand test to
verification
Integrate requirements to No
Cltobe provereadiness for
verified integration with next
assembly

Yes
No

Identifyand fix
correctable
deficiencies

Modify
approved
Document technical
uncorrectable baselinefor this
deficiencies build to
incorporate
waiver

Figure 24. System integration and verification process.

7. Norman, D.A., The Design of Everyday Things, Cur- 14. Forsberg, K. and H. Mooz, "Risk and Opportunity
rency Book by Doubleday, New York, N.Y., 1989. Management," Proc. Int'l Council for System Eng.
(INCOSE) Conf., 1995.
8. Chiroini, J. and K. Forsberg, ''The Work Element in
Teamwork," Proc. IPMA 1996 World Congress on 15. Boehm, B.W., "A Spiral Model of Software Develop-
Project Management, 1996. ment," in Tutorial: Software Engineering Project
Management, R.H. Thayer and M. Dorfman, eds.,
9. Forsberg, Kevin, "'If I Could Do That, Then I
IEEE Computer Society Press, Los Alamitos, Calif.,
Could... ,' System Engineering in a Research and De-
1988, pp. 128-142.
velopment Environment-As Illustrated by the Evolu-
tion of the Space Shuttle Tiles," Proc. lnt'I Council for 16. Forsberg, K. and H. Mooz, "Application of the 'Vee'
System Eng. (INCOSE) Symp., (also included in the to Incremental and Evolutionary Development,"
supplement: Best Presentations of the Fifth Annual In- Proc. lnt'l Council for System Eng. (INCOSE) Conf.,
ternational Symposium), 1995. 1995.
10. Forsberg, K. and H. Mooz, 'The Relationship of System 17. Chaisson, EJ., The Hubble Wars: Astrophysics Meets
Engineering to the Project Cycle," Proc. Nat'I Council Astropolitics in the Two-Billion-Dollar Struggle over
for System Eng. (NCOSE) Conf., 1991, pp. 57-65. the Hubble Space Telescope, Harper Collins, New
York, N.Y., 1994.
11. Royce, W.W., "Managing the Development of Large
Software Systems," Proc. IEEE WESCON, 1970, pp. 18. Hauser, J.R. and D. Clausing, 'The House of Quality,"
1-9. Reprinted in Tutorial: Software Engineering Harvard Business Review, May-June 1988, pp. 63-73.
Project Management, R.H. Thayer, 00., IEEE Com-
19. Guinta, L. and N. Praizler, The QFD Book: The Team
puter Society Press, Los Alamitos, Calif., 1988.
Approach to Solving Problems and Satisfying Custom-
12. Lovell. J, and 1. Kluger, Apollo 13, Simon & Schuster ers through Quality Function Deployment, AMACOM
(Pocket Books Division), New York, N.Y., 1994. Books (a division of American Management Associa-
tion), New York, N.Y., 1993.
13. Forsberg, K. and H. Mooz, "Relating Risk and Oppor-
tunity Management to the Project Cycle," Proc. Int'l 20. Stross, R.E., Steve Jobs & The NeXT Big Thing, Mac-
Council for System Eng. (INCOSE) Conf., 1995. millan, New York, N.Y., 1993, pp. 117-143.

71
21. Fairley, R., R. Thayer, and P. Bjorke, "The Concept of 22. Kepner, C. and B. Tregoe, The New Rational Manager,
Operations: The Bridge from Operational Require- Princeton Research Press, Princeton, N.J., 1981.
ments to Technical Specifications," Proc. lst Int' I
Conf Requirements Eng., IEEE Computer Society 23. Saaty, T., "Priority Setting in Complex Problems," IEEE
Press, Los Alamitos, Calif., 1994, pp. 40-47. Trans. Eng. Management, Aug. 1983, pp. 140-155.

72
The Concept of Operations:
The Bridge from Operational Requirements to Technical Specifications*

Richard E. Fairley
Colorado Technical University

Richard H. Thayer
California State University, Sacramento

Abstract in a manner consistent with their needs and expecta-


tions. A prototype of the user interface may be con-
This paper describes the role of a Concept of Opera- structed to demonstrate the developers' understanding
tions (ConOps) document in specification and devel- of the desired user interface.
opment of a software-intensive system. It also This traditional way of specifying software
describes the process of developing a ConOps, its uses requirements introduces several problems: First, the
and benefits, who should develop it, and when it buyer may not adequately convey the needs of the user
should be developed. The ConOps described in this community to the developer, perhaps because the
paper is compared to other forms of operational con- buyer does not understand those needs. Second, the
cept documents. A detailed outline for ConOps docu- developer may not be expert in the application
ments is provided in an appendix to the paper. domain, which inhibits communication. Third, the
users and buyer often find it difficult to understand the
Introduction requirements produced by the developer. Fourth, the
developer's requirements specification typically speci-
The goal of software engineering is to develop and fies system attributes such as functions, performance
modify software-intensive systems that satisfy user factors, design constraints, system interfaces, and
needs, on schedule and within budget. Accurate com- quality attributes, but typically contains little or no
munication of operational requirements from those information concerning operational characteristics of
who need a software-intensive system to those who the specified system [ANSIJIEEE Std 830-1984]. This
will build the system is thus the most important step in leaves the users and buyer uncertain as to whether the
the system development process. Traditionally, this requirements specification describes a system that will
information has been communicated as follows: The provide the needed operational capabilities.
developer analyzes users' needs and buyer's require- A draft version of the users' manual can provide
ments and prepares a requirements specification that some assurance that the developer understands
defines the developers' understanding of those needs userlbuyer needs and expectations, but a draft version
and requirements. 1 The users and buyer review the of the manual may not be written. If it is written, con-
requirements specification and attempt to verify that siderable time and effort have usually been spent by
the developer has correctly understood their needs and the time it is available for review. Major changes can
requirements. A draft users' manual is sometimes require significant rework. Furthermore, it is difficult
written by the developer to assist users and buyer in to demonstrate that the correspondences among tech-
determining whether the proposed system will operate nical specifications, users' manual, and (undocumented)
operational requirements are complete and consistent.
A prototype of the user interface can be helpful, but
* A versionof this paperwillappearin Annalsof Software there is a danger that demonstration of an acceptable
Engineering.
user interface will be taken as assurance that the devel-
1 Usersare thosewhowill interactwith the new or modified oper understands all of the users' operational needs. In
systemin the perfonnance of theirdaily workactivities; users
summary, the traditional approach does not facilitate
includeoperators and maintainers. The buyeris a representative of
the user community (or communities) who provides the interface communication among users, buyer, and developer; nor
between usersand developer: the developeris the organization that does it emphasize the importance of specifying the
will build (or modify) and deliverthe system. operational requirements for the envisioned system.
Reprinted from Software Engineering, M. Dorfman and R.H.Thayer, eds., 1996,pp. 44-54.
Copyright CO 1996by The Instituteof Electrical and Electronics Engineers, Inc. All rightsreserved.
73
Concept analysis helps users clarify their opera- no longer a stand-alone document in 2167 A, many
tional needs, thereby easing the problems of commu- users of 2167 A did sufficiently emphasize operational
nication among users, buyer, and developer. Devel- concepts. For software-only projects, use of the SSDD
opment of a Concept of Operation document was often waived. In these cases, there was no other
(ConOps) to record the results of concept analysis place within the 2167 A DIDs to record operational
provides a bridge from user needs into the system concepts for a software-intensive system. As a result,
development process. Ideally, concept analysis and several other government agencies, including NASA
development of the ConOps document are the first and the Federal Aviation Administration, produced
steps in the development process; however, (as dis- their own versions of the original 2167 DID for docu-
cussed below) developing a ConOps at later stages of menting operational concepts within the 2167 A
the system lifecycle is also cost-effective. framework.
Subsequent sections of this paper describe the Another DoD standard, DoD-Std-7935A for
evolution of the ConOps technique, the concept analy- development of information systems, required that the
sis process, the Concept of Operations document, roles functional description of the proposed information
to be played by a ConOps, some guidelines on when system be contained in Section 2 of that document.
and how to develop a ConOps, development scenarios The Functional Description in 7935A provided little
and a process for developing the ConOps, the recom- guidance on how to develop a ConOps document;
mended format for a ConOps, and some issues con- furthermore, it was very specific to the information
cerning maintenance of a ConOps throughout the systems domain, emphasized functionality only, and
development process and the operational life of a allowed little flexibility for new methods and tech-
software system. niques of software system development.
In recognition of the importance of well-defined
History of the ConOps Approach operational concepts to successful development of a
software system, Mil-Std 498 for Software Develop-
One of the earliest reports on formalizing the ment and Documentation, which has replaced 2167 A
description of operational concepts for a software and 7935A, includes a Data Item Description for an
system is contained in a 1980 TRW report by R.J. Operational Concept Document (OCD). The authors
Lano: "A Structured Approach for Operational Con- of this paper played a leading role in developing the
cept Formulation" [TRW SS-80-02]. The importance draft version of the Operational Concept Document
of a well-defined operational concept (for example, (OCD) for the Harmonization Working Group that
definition of system goals, missions, functions, com- prepared Mil-Std-498. The OCD in Mil-Std 498 is
ponents) to the success of system development is similar to the ConOps outline contained in Appendix
emphasized in the report. The report presented tools, A of this paper. IEEE Standard 1498, the commercial
techniques, and procedures for more effectively counterpart of Mil-Std-498 (which currently exists in
accomplishing the system engineering tasks of concept draft form) incorporates an OCD similar to the one in
formulation, requirements analysis and definition, Appendix A.
architecture definition, and system design. The American Institute of Aeronautics and Astro-
In 1985, the Joint Logistics Commanders' Joint nautics (AIAA) published a document titled
Regulation "Management of Computer Resources in "Operational Concept Document (OCD) Preparation
Defense Systems" was issued. This Joint Regulation Guidelines" [AIAA OCD 1992]. The AIAA OCD
included DoD-STD-2167, which contained a Data compares favorably with the ConOps presented in this
Item Description (DID) entitled "Operational Concept paper; however, in the opinion of this paper's authors,
Document" (OCD) [DI-ECRS-8x25, DoD-Std-2167, the tone and language used in the AIAA OCD is
1985]. The purpose of this DID was to describe the biased to the developer's view of user needs rather
mission of the system, its operational and support than the users' operational view. The AIAA OCD is
environments, and the functions and characteristics of also biased toward embedded, real-time. systems.
the computer system within an overall system. The A major goal for the ConOps presented here is to
OCD DID was folded into the System/Segment Design provide a means for users of information processing
Document [DI-CMAN-80534, DoD-Std-2167A, 1988] systems, who are knowledgeable in their application
in the revised version of DoD-STD-2167 [DoD-Std- domain but not expert in software engineering, to
2167A]. describe their needs and wants from their point of
Operational concepts were moved into Section 3 of view; in other words, the recommended Guide is more
the System/Segment Design Document (SSDD), which user-oriented than existing standards and guidelines,
tended to place emphasis on overall system concepts which tend to be systems-oriented and developer-
rather than software concepts. Because the OCD was oriented.

74
Another difference between existing standards and divergent needs and desires of multiple user groups
the ConOps recommended in this paper is that this and buyer agencies. It is better to make that determi-
paper emphasizes the importance of describing both nation earlier rather than later.
the current system's and the proposed system's char- Concept analysis is an iterative process that should
acteristics, even though that may result in some redun- involve various people. The analysis group should
dancy in the document. The advantages of redundancy include representatives from the user, buyer, and
are considered to outweigh the problems. developer organizations, plus any other appropriate
parties such as training and operational support. In
The Concept Analysis Process cases where a development organization has not been
selected at the time of concept analysis, the developer
Concept analysis is the process of analyzing a role may be filled by in-house development experts or
problem domain and an operational environment for consultants.
the purpose of specifying the characteristics of a pro- The results of concept analysis are recorded in the
posed system from the users' perspective. The tradi- ConOps document, which serves as a framework to
tional system development process emphasizes func- guide the analysis process and provides the foundation
tionality with little concern for how that functionality document for all subsequent system development
will be used. Concept analysis emphasizes an inte- activities (analysis, design, implementation, and vali-
grated view of a system and its operational character- dation). The ConOps document should say everything
istics, rather than focusing on individual functions or about the system that the users and buyer need to
pieces of a system. A major goal of concept analysis is communicate to those who will develop the system.
to avoid development of a system in which each indi- The ConOps document should be repeatedly
vidual function meets its specifications, but the system reviewed and revised until all involved parties agree
as a whole fails to meet the users' needs. on the resulting document. This iterative process helps
Concept analysis should be the first step taken in bring to the surface many viewpoints, needs, wants,
the overall system development process. It identifies and scenarios that might otherwise be overlooked.
the various classes of users and modes of operation.I
and provides users with a mechanism for defining their The Concept of Operations (ConOps)
needs and desires. Concept analysis is also useful to Document
surface different users' (and user groups') needs and
viewpoints, and to allow the buyer (or multiple buyers) The ConOps document describes the results of the
to state their requirements for the proposed system. conceptual analysis process. The document should
This process is essential to the success of the subse- contain all of the information needed to describe the
quent system development effort. Users have an users' needs, goals, expectations, operational envi-
opportunity to express their needs and desires, but they ronment, processes, and characteristics for the system
are also required to state which of those needs are under consideration. Essential elements of a ConOps
essential, which are desirable, and which are optional. include:
In addition, they must prioritize the desired and
optional needs. Prioritized user needs provide the • A description of the current system or situation
basis for establishing an incremental development • A description of the needs that motivate de-
process and for making trade-offs among operational velopment of a new system or modification of
needs, schedule, and budget. an existing system
Concept analysis helps to clarify and resolve vague • Modes of operation for the proposed system
and conflicting needs, wants, and opinions by recon-
• User classes and user characteristics
ciling divergent views. In the case where several user
groups (or buyer groups) have conflicting needs, • Operational features of the proposed system
viewpoints, or expectations, concept analysis can aid • Priorities among proposed operational features
in building consensus. In some cases, it may be deter- • Operational scenarios for each operational
mined that no single system can satisfy all of the mode and class of user
• Limitations of the proposed approach
• Impact analysis for the proposed system
2 Diagnostic mode,maintenance mode,degradedmode,
emergency mode,and backupmode must be included,as
A detailed outline for a ConOps document contain-
appropriate, in the set of operational modes for a system
environment, processes, and characteristics for the systemunder ing these elements is provided in Appendix A to this
consideration. paper.

75
A ConOps document should, in contrast to a whether the ConOps document is for a system
requirements specifications, be written in narrative as a whole, or whether there will be separate
prose, using the language and terminology of the ConOps documents for each system segment
users' application domain. It should be organized to (for example, checkout, launch, on-orbit, and
tell a story, and should make use of visual forms ground support elements for a spacecraft
(diagrams, illustrations, graphs, and so forth) when- system) with an umbrella ConOps that de-
ever possible. Although desirable, it is not necessary scribes operational aspects of the entire system.
that the needs and wants expressed in a ConOps be
3. The presentation format used in a ConOps
quantified; that is, users can state their desire for "fast
document will vary, depending on the appli-
response" or "reliable operation." These desires are
cation of the document. In some user com-
quantified during the process of mapping the ConOps
munities, textual documents are the tradition,
to the requirements specification and during the flow-
while in others, storyboards are used. Exam-
down of requirements to the system architecture. Dur-
ing system development, the impact of trade-offs ples of this difference can be seen by com-
among quantified system attributes (such as response paring the styles of communication in the in-
time and reliability) must be explored within the formation processing and command-and-
limits of available time, money, and the state of control domains, for instance. The presenta-
technology. tion format should be adjusted to accommo-
A ConOps document should be tailored for the date the intended audience of the ConOps,
application domain, operational environment, and although the use of visual forms is recom-
intended audience. This means that the terminology, mended for all audiences.
level of abstraction, detail, technical content, and pres- 4. The comprehensive outline of a ConOps
entation format should adhere to the objectives for that document, as presented in Appendix A, may
particular ConOps document. The following points are not apply to every system or situation. If a
worth making in this regard: particular paragraph of the outline does not
apply to the situation under consideration, it
1. A ConOps document must be written in the should be marked "Not Applicable (N/A);"
users' language. This does not necessarily however, for each paragraph marked N/A, a
imply that it cannot use technical language, brief justification stating why that paragraph
but rather that it should be written in the us- is not applicable should be provided in place
ers' technical language if the users are ex- of the paragraph. "Not Applicable" should be
perts in a technical domain. If the ConOps used only when the authors of a ConOps are
document is written by the buyer or devel- confident that the paragraph does not apply to
oper the authors must avoid use of terminol- the situation, and not simply because the
ogy associated with their own discipline. authors don't have the required information.
2. The level of detail contained in a ConOps For example, if the authors do not know
should be appropriate to the situation. For whether alternatives and trade-offs were con-
example, there may be instances wherein a sidered (paragraph 8.3 of the ConOps out-
high-level description of the current system line), they should determine that fact. In the
or situation is sufficient. In other instances, a interim period, the paragraph can be marked
detailed description of the current system or "TB D." If they determine no alternatives or
situation may be necessary. For example, trade-offs were considered, the paragraph can
there may be no current system: A detailed be marked "not applicable." In this case, a
statement of the situation that motivates new brief justification stating why alternatives
system development with extensively speci- and trade-offs were not considered should
fied operational scenarios for the envisioned be included.
system may be required. Or, the new system
may be a replacement for an existing system
to upgrade technology while adding new ca- To summarize, the ConOps format presented in
pabilities. In this case, a brief description of Appendix A should be tailored to produce an efficient
the existing system would be appropriate, and cost-effective mechanism for documenting user
with more detail on the new capabilities to be needs and for maintaining traceability to those needs
provided. The level of detail also depends on throughout the development process.

76
Roles for ConOps Documents scribe user needs and operational require-
ments for the overall system (hardware, soft-
The ConOps document can fill one of several ware, and people) and provide a context for
roles, or some combination thereof: the role of software within the total system.
7. To provide common understanding among
1. To communicate users' and buyer's multiple system/software developers. In cases
needs/requirements to the system developers. where multiple system development and/or
The ConOps author might be a buyer, pre- software development organizations are in-
senting users' views to a developer; or a user volved, the ConOps can provide a common
presenting the users' view to a buyer and/or a understanding of how the software fits into
developer. In this case, the ConOps is used the overall system, and how each software
by the developer as the basis for subsequent developer's part fits into the software portion
development activities. of the system. In this case, there may be mul-
2. To communicate a developer's understanding tiple ConOps documents, related in a hierar-
to users and/or buyer. The developer might chical manner that mirrors the system parti-
produce a ConOps document as an aid in tioning.
communicating the technical requirements to
users and buyer, or to explain a possible so- Variations on, and combinations of, these roles
lution strategy to the users and/or buyer. In might be found under differing circumstances. For
this case, the ConOps is reviewed by the us- example, the ConOps process might play Roles 4 and
ers and buyer to determine whether the pro- 5 to obtain and document consensus among user
posed approach meets their needs and ex- groups and buyers prior to developer selection; the
pectations. consensus ConOps document would then fill Role 1 by
3. To communicate a buyer's understanding of providing the basis for subsequent development
user needs to a developer. In this case, the activities by the developer.
buyer would develop the ConOps, obtain user Additional roles for the ConOps include:
concurrence, and use the ConOps to present
user needs and operational requirements to 8. Providing a mechanism to document a sys-
the developer. tem's characteristics and the users' opera-
4. To document divergent needs and differing tional needs in a manner that can be verified
viewpoints of various user groups and/or by the users without requiring them to have
buyers. In this case, each user group and/or any technical knowledge beyond what is re-
buyer might develop (or commission devel- quired to perform their job functions.
opment ot) a ConOps to document their par- 9. Providing a place for users to state their de-
ticular needs and viewpoints. This would be sires, visions, and expectations without re-
done as a prelude to obtaining a consensus quiring them to provide quantified, testable
view (see Role 5), or to determine that no specifications. For example, the users could
single system can satisfy all of the various us- express their need for a "highly reliable"
ers' needs and buyers' requirements. system, and their reasons for that need, with-
5. To document consensus on the system's out having to produce a testable reliability
characteristics among multiple users, user requirement.
groups, or multiple buyers. In this case, the 10. Providing a mechanism for users and buyer(s)
ConOps provides a mechanism for docu- to express their thoughts and concerns on
menting the consensus view obtained from possible solution strategies. In some cases,
divergent needs, visions, and viewpoints there may be design constraints that dictate
among different users, user groups, and particular approaches. In other cases, there
buyers before further development work may be a variety of acceptable solution
proceeds. strategies. The ConOps allows users and
6. To provide a means of communication be- buyer(s) to record design constraints, the ra-
tween system engineers and software devel- tionale for those constraints, and to indicate
opers. In this case, the ConOps would de- the range of acceptable solution strategies.

77
When Should the ConOps be Developed? A ConOps document might be developed during
the operational phase of the system life cycle to sup-
Development of a ConOps document should be the port users, operators, and maintainers of the system. It
first step in the overall development process, so that it might happen that potential system users do not want
can serve as a basis for subsequent development to use it because they do not understand the system's
activities. operational capabilities, or because they do not under-
The ConOps might be developed stand how the system would fit into their working
environment. To solve these problems, the buyer or
1. Before the decision is made to develop a the developer might develop a ConOps document to
system. In this case, the ConOps document "sell" the system to potential users.
would be used to support the decision proc- A ConOps is also helpful to new users, operators,
ess. and maintainers who need to understand the opera-
2. Before the request for proposals (RFP) or in- tional characteristics of a system. The ConOps can
house project authorization is issued. The also be used to explain the system's operational char-
ConOps would be included in the RFP pack- acteristics to prospective buyers who were not
age or project authorization. involved in initial system development.
If the involved parties deem it to be useful, a
3. As the first task after award of contract, so
ConOps document can be developed at any time dur-
that the developer can better understand the
ing the system life cycle; however, some major bene-
users' needs and expectations before subse-
fits of the document and the process of developing it
quent system development activities are
are lost if it is developed after the requirements speci-
started.
fication is baselined.
In cases (1) and (2), development of the ConOps
document will be initiated by the users or the buyer Scenarios for Developing the ConOps
(although the document author might be a developer;
possibly the developer who will later develop the sys- Ideally, concept analysis and development of the
tem). In case (3), development of the ConOps can be ConOps document should be done by the users. How-
initiated by, and/or developed by, the user, buyer, or ever, depending on the purpose and timing of devel-
developer. opment, the ConOps might be developed by the users,
Concept analysis and preparation of a ConOps the buyer, or the developer. Regardless of who devel-
document can also be quite useful even if initiated at a ops the ConOps, it must reflect the views of, and be
later stage of the system life cycle. If, during system approved by, the user community.
development, so many diverging opinions, needs, A high degree of user involvement in concept
visions, and viewpoints surface that the development analysis and review of the ConOps document is crucial
process cannot continue successfully, a ConOps to a successful outcome, even if concept analysis and
document can provide a common vision of the system. development of the ConOps document are done by the
The ConOps document for the Hubble Space Tele- buyer or the developer. In these cases, the buyer or
scope System is a good example of this situation developer must engage the users in the process to
[Hubble 1983]. It was written after several attempts to ensure a correct and comprehensive understanding of
develop a requirements specification; however, poten- the current system or situation and the users' needs,
tial users of the space telescope could not agree on the visions, and expectations for the new system. One way
operational requirements. The ConOps document pro- to ensure the necessary interactions is to establish an
vided the vehicle for obtaining a consensus, which in interdisciplinary team consisting of representatives
turn provided a basis for generating detailed opera- from all user groups, from the buyer(s), and from the
tional requirements. developer(s). However, the focus must never be
The developer who is building a system might want allowed to shift from the users' operational perspec-
to develop a ConOps document, even as the require- tive to the buyer's or developer's perspective.
ments specifications are being generated. The developer One benefit of having the users write the ConOps
might want the ConOps as a high-level overview and document is that it ensures the focus will stay on user-
introduction to the system to serve as a guideline for the related issues. However, the users may not know how
development team. Developers concerned about to develop a ConOps document or be able to realisti-
understanding user needs might develop a ConOps cally envision what a new system can accomplish, that
document as an aid to successfully developing a sys- is they may not know the capabilities of existing tech-
tem that meets the users' needs and expectations. nology. To reduce the impact of these problems, quali-

78
fied personnel can be brought in to assist the users in 4. If there is an existing system, describe the
developing the ConOps document. that system's scope and boundaries, and
One benefit of having the developers write the identify any external systems and the inter-
ConOps document is that they will, in most cases, faces to them. Also, establish and describe in
have comprehensive knowledge of available technolo- general terms the scope and boundaries for
gies, and thus may be able to propose alternative (and the new or modified system, and identify the
better) ways of solving the users' problems. Another major external systems and interfaces to it.
benefit of a developer-produced ConOps is that the 5. Describe operational policies and constraints
ConOps analysis process will provide the developer that apply to the current system or situation
with a good understanding of the users' problems, and any changes to those policies and con-
needs, and expectations, which facilitates subsequent straints for the new system.
development activities.
6. Describe the features of the current system or
An advantage of a buyer-developed ConOps is that
the buyer may have a good understanding of the user situation. This includes the system's opera-
community, the developer organization, the political tional characteristics, operational environ-
realities of the situation, and the budgetary constraints ment and processes, modes of operation, user
that may exist. This knowledge can be invaluable in classes, and the operational support and
producing a ConOps for a system that will satisfy user maintenance environments.
needs and that can be delivered within political and 7. State the operational policies and constraints
budgetary constraints. that will apply to the new or modified system.
Regardless of who takes primary responsibility for 8. Determine the operational characteristics of
producing the ConOps document, it is important that the proposed system, that is, describe the
all parties (users, buyers, developers) be involved in characteristics the proposed system must pos-
the analysis process and that everyone contribute their sess to meet the users' needs and expectations.
particular viewpoint to development of the ConOps. 9. Document operational scenarios for the new
or modified system. Scenarios are specified
A Development Process for the ConOps by recording, in a step-by-step manner, the
sequences of actions and interactions between
The approach described below is intended as a a user and the system. The following ap-
guideline. If the approach conflicts with what seems to proach can be used to develop and document
be most appropriate in a specific situation, the guide- operational scenarios:
line should be modified to fit that situation. For
instance, there may be no current system; or the new
system may be a modification of a current system; or • Develop a set of scenarios that, to the
the new system may be a total replacement for an out- extent possible, covers all modes of op-
dated (manual or automated) system. Topics empha- eration, all classes of users, and all spe-
sized in the ConOps may be different in each situation. cific operations and processes of the
proposed system.
1. Determine the objectives, roles, and team • Walk through each scenario with the ap-
members for the ConOps process. This will propriate users and record information
normally be determined by the situation that concerning normal operating states and
motivates development of the ConOps unusual conditions that are relevant to
document. the operation of the proposed system.
2. Tailor the recommended ConOps document • During the walk-throughs, establish new
format and obtain agreement on an outline for scenarios to cover abnormal operations
the ConOps document. This is important so such as exception handling, stress load
that everyone understands the agreed-upon handling, and handling of incomplete
format and content areas of the document. and incorrect data.
3. Describe the overall objectives and short- • Establish new scenarios whenever a
comings of the current system. Also, deter- branch in the thread of operation is en-
mine and document the overall objectives for countered. Typically, walking through
the new or modified system. If there is no the "normal" scenarios will uncover ad-
current system, describe the situation that ditional scenarios. Different users may
motivates development of a new system. also have different views of some see-

79
narios. If these variations are significant, system, operational policies and constraints,
include them as separate scenarios. modes of operation, classes of users, and the
• Repeatedly develop scenarios until all support environment for the current system. If
operations, and all significant variations there is no existing system, describe the rea-
of those operations, are covered. sons that motivate development of a new
• For each operational scenario, develop system.
an associated test scenario to be used in 4. Nature of proposed changes and/or new fea-
validating the operational aspects of the tures, including the justification for those
delivered system in the user environ- changes and/or features.
ment. Establish traceability between op- 5. Operational concepts for the proposed sys-
erational scenarios and test scenarios. tem, including scope and objectives for the
proposed system, operational policies and
10. After the scenarios have been developed, constraints, modes of operation, classes of
validate the description of the proposed sys- users, and the support environment for the
tem and the operational scenarios by walking proposed system.
through all of the scenarios with representa- 6. Operational scenarios describing how the
tives from all user groups and all classes of proposed system is to perform in its environ-
users for all operational modes. ment, relating system capabilities and func-
11. Obtain consensus on priorities among the op- tions to modes of operation, classes of users,
erational scenarios and features of the pro- and interactions with external systems.
posed system. Group the scenarios and op- 7. Operational and organizational impacts on
erational features into essential, desirable, the users, buyers, developers, and the support
and optional categories; prioritize scenarios and maintenance agencies, during system de-
and features within the desirable and optional velopment and after system installation.
categories. Also, describe scenarios and fea- 8. Alternative and trade-offs considered but not
tures considered but not included in the pro- included in the new or modified system;
posed system. analysis of benefits, limitations, advantages,
12. Analyze and describe the operational and or- and disadvantages of the new or modified
ganizational impacts the proposed system will system.
have on users, buyer(s), developers, and the 9. Notes, acronyms and abbreviations, appendi-
support/maintenance agencies. Also, include ces, and glossary of terms
significant impacts on these groups during
system development. This organization of a ConOps document provides
13. Describe the benefits, limitations, advantages, a logical flow of information beginning with a
and disadvantages of the proposed system, description of the current system, transitioning through
compared to the present system or situation. considerations of needed changes and the rationale for
such changes, and leading to a description of the new
or modified system. This will guide the reader through
Recommended Format of a ConOps the" description of the systems (both the current system
Document or situation and the proposed system) in a simple and
intuitive way.
The recommended format of a ConOps document
accommodates the objective of describing a proposed
system from the users' point of view, in user terminol- Maintaining the ConOps
ogy. The following format is recommended. Appendix
A contains a detailed version of this outline. A ConOps should be a living document that is
updated and maintained throughout the entire life cy-
cle (development process and operational life) of the
1. Introduction to the ConOps document and to
software product. During system development, the
the system described in the document.
ConOps document must be updated to keep users
2. List of all documents referenced in the informed of the operational impacts of changes in
ConOps document. requirements, the system design, operational policies,
3. Description of the current system or situation, the operational environment, and other users' needs.
including scope and objectives of the current During the operational life of the software product, the

80
ConOps must be updated to reflect the evolutionary ing and maintaining a Concept of Operations docu-
changes to the system. ment provides the bridge from users' operational
It is important to maintain the ConOps document requirements to technical specifications. All subse-
under configuration control, and to ensure that user quent work products (requirements specs, design
and buyer representatives are members of the change documents, source code, test plans, users' manual,
control board for the ConOps. Placing the ConOps training aids, and maintenance guide, for example)
under configuration control will protect the document should flow from the ConOps. Maintaining the
from uncontrolled changes, and through the formal ConOps and the traceability of work products to the
process of updating and notification, help to keep all ConOps will not guarantee success; however, it can
parties informed of changes. A major benefit of this increase the probability that we will develop systems
approach is that users and buyers are involved in that satisfy users' needs for efficient and effecti ve
reviewing and approving the changes. This minimizes tools that help them accomplish their work activities.
the surprise factor that can occur when a delivered
system is not the same as the system users thought they Acknowledgments
agreed to at the requirements review.
The ConOps document should also be updated The authors would like to acknowledge the support
and maintained under configuration control through- of the following individuals in preparing the ConOps
out the operational life of the associated system. Guide: Per Bjorke, Dr. Merlin Dorfman, Dr. Lisa
During the operational life of the system, a ConOps Friendly, and Jane Radatz.
can aid the support, maintenance, and enhancement
activities for the system in much the same way that it References
helped during development. Specifically, it can be
used to communicate new operational needs and im- [AIAA OCD, 1992] AlAA Recommended Technical Prac-
tice, Operational Concept Document (OCD), Prepara-
pacts that result in modifications, upgrades, and en-
tion Guidelines, Software Systems Technical Commit-
hancements. Furthermore, the ConOps provides a tee, American Institute of Aeronautics and Astronautics
communication tool to familiarize new personnel (AIAA),Mar. 1, 1992.
with the system and the application domain.
[ANSIJIEEE Std 830-1984] ANSIIIEEE Standard 830-
Traceability should be established and maintained
1984: IEEE Guide for Software Requirements Specifi-
among the ConOps document, the system/software re- cations,The Institute of Electricaland ElectronicEngi-
quirements specifications, and the acceptance/regression neers, Inc., approved by the American National Stan-
test scenarios. It is important for the developer (or dards InstituteJuly 20, 1984.
maintainer) to be able to demonstrate to the users, [DI-CMAN-80534, DoD-Std-2167A, 1988] Sys-
buyer, and themselves that every essential user need tem/Segment Design Document (SSDD), DI-CMAN-
stated in the ConOps document, and the desirable and 80534, U.S. Departmentof Defense,Feb. 29, 1988.
optional features implemented, can be traced to and
[DI-ECRS-8x2S, DoD-Std-2167, 1985] Operational Con-
from the system specifications and to and from the cept Document (OCD), Dl-[ECRS-8x25] U.S. Depart-
delivered capabilities in the final product. ment of Defense, June 4, 1985.
[DoD-Std-2167A, 1988] MilitaryStandard: DefenseSystem
Summary and Conclusions Software, Development, DoD-Std-2167A, U.S.
Department of Defense,Feb. 29,1988.
This paper has described the evolution of the
ConOps approach, the conceptual analysis process, the [DoD-Std-793SA, 1988] Functional Description (FD), DoD
Concept of Operations document, roles to be played Automated Information Systems (AIS) Documentation
Standards, DoD-Std-7935A, U.S. Department of
by a ConOps, some guidelines on when to develop a
Defense,Oct. 31, 1988,pp. 19-37.
ConOps, development scenarios and a development
process for developing the ConOps, the recommended [Hubble, 1983] Science Operations Concept, Part I (Final),
Space Telescope Science Institute, Prepared for NASA
format for a ConOps, and some issues concerning the
Goddard Space Flight Center, Greenbelt, MD, May
maintenance of a ConOps throughout the development
1983.
process and operational life of a software system.
As software engineers, we become so involved in [Lano, 1988] Lano, RJ., "A Structured Approach For Opera-
tional Concept Fonnulation (OCF)," TRW-SS-8o-02,
the technology of software development and modifi-
TRWSystems Engineering and Integration Division, Re-
cation that we sometimes forget our fundamental dondo Beach, Calif., Jan. 1980. Also in Tutorial: Soft-
charter: to develop and modify software-intensive ware Engineering Project Management, edited by R.
systems that satisfy user needs, on time and within Thayer, Computer Society Press, Los Alamitos, Calif.,
budget. Performing conceptual analysis and develop- 1988.

81
Appendix A

Outline for a Concept of Operations Document

1. SCOPE............•....•....................................................•...........................•.......................................................
1.1 Identification .
1.2 System Overview .
1.3 Document Overview .

2. REFERENCED DOCUMENTS •........•......................•..........................................................•.....................

3. THE CURRENT SYSTEM OR SITUATION


3.1 Background, Objectives, and Scope of the Current System or Situation .
3.2 Operational Policies and Constraints for the Current System or Situation .
3.3 Description of the Current System or Situation .
3.4 Modes of Operation for the Current System .
3.5 User Classes for the Current System .
3.5.1 Organizational Structure .
3.5.2 Profiles of User Classes .
3.5.3 Interactions Among User Classes .
3.6 Other Involved Personnel .
3.7 Support Environment for the Current System .

4. JUSTIFICATION FOR AND NATURE OF PROPOSED CHANGESINEW FEATURES .


4.1 Justification for Changes and New Features .
4.2 Description of Needed Changes and New Features .
4.3 Priorities Among Changes and New Features .
4.4 Changes and New Features Considered but not Included .
4.5 Assumptions and Constraints .

s. CONCEPTS OF OPERATIONS FOR THE PROPOSED SYSTEM .


5.1 Background, Objectives, and Scope for the New or Modified System .
5.2 Operational Policies and Constraints .
5.3 Description of the Proposed System .
5.4 Modes of Operation for the Proposed System .
5.5 User Classes for the Proposed System .
5.5.1 Organizational Structure .
5.5.2 Profiles of User Classes .
5.5.3 Interactions Among User Classes .
5.6 Other Involved Personnel .
5.7 Support Environment for the Proposed System .

82
6. OPERATIONAL SCENARIOS FOR THE PROPOSED SySTEM .

7. SUMMARY OF IMPACTS .••............••............•....................•...•..........................•.....................••.•......•......


7.1 Operational Impacts .
7.2 Organizational Impacts .
7.3 Impacts During Development .

8. ANALYSIS OF THE PROPOSED SYSTEM ...••••.•.....•.......•••....••...........••..••...•••••••.•..•••••.•.••..••.......•..•.•.•


8.1 Summary of Improvements .
8.2 Disadvantages and Limitations .
8.3 Alternatives and Trade-offs Considered .

9. NOTES .•••••.•.•.•..•...•••...•..•...............•.•.....•.....•..•...•.•.•••.•..••••••••.•.••.•..••.•.••.••....•.••••••..•••..•••.•••••••...••...•..•..•••••..•

APPENDICES•••..••......•..•.•.•.......•....•••.••..•.•....••...•....•......••.•...••..•.•....•.••••••••••••••..••.••.•....•••••••....•••.•••.•••.•.•..••...•

GLOSSARY •••..•..•....•...................•.................••....•.....••••.•.•.•••......••......•••••...............•.••••••...•••...•...••.••.••..•........

83
Software System Engineering:
An Engineering Process

Richard H. Thayer
California State University, Sacramento
Sacramento, CA 95819

Abstract
This article describes the application ofsystem engineering principles to the development ofa software system. This
application, called software system engineering, is the concept that combines the management and technical activi-
ties that control cost, schedule, and technical achievement of the developing software system. This article recognizes
the difference between software system engineering and software engineering, just as system engineering is recog-
nized as being differentfrom hardware engineering (all types).
In this article, the software development process is partitioned into five general activities: problem definition,
solution analysis, process planning, process control, and product evaluation. Tools that support these activities are
described and are related to system engineering functions.
Key Words---code and component testing, problem definition, process control, process planning, product evaluation,
software design, software integration, software requirements generation, software system engineering, software sys-
tem testing, solution analysis, system definition, system engineering

1. Introduction quality of the process used to create it. The products of


both system engineering and SwSE are documents.
This article describes the application of system engi- This is in contrast to hardware (component) engineer-
neering principles to the development of a computer ing, in which the products are the devices or compo-
software system. The activities, tasks, and procedures nents being produced, and software engineering, in
that make up the principles are known as software which the products are computer programs (software)
system engineering. The purpose of this article is to and the documentation necessary to use, operate, and
separate proper system engineering processes from maintain them.
software component engineering processes so that the Software system engineering is not a job descrip-
principles and procedures of system engineering can tion; it is a process. Software system engineering can
be applied to software development. be done by many organizations and people: system
Software system engineering (SwSE) is the techni- engineers, managers, software engineers, program-
cal management of a software development. It is the mers, and, not to be ignored, customers and users.
concept that combines the management and technical Many practitioners consider SwSE to be a special case
activities that control the cost, schedule, and technical of system engineering. Others consider SwSE to be the
achievement of the software system. SwSE applies the dominant discipline for computer-based systems.
procedures, practices, technologies, and know-how of System engineering and SwSE are often over-
system engineering along with the technical process of looked in a software development project. Systems
software engineering, and ensures that the highest qual- that are all software and/or run on commercial, off-the-
ity software product is produced within cost and sched- shelf computers are often considered just software
ule constraints. Know-how means the skill, background, projects, not system projects, and no effort is
and wisdom to apply knowledge effectively in practice. expended to develop a system engineering approach.
This article recognizes the difference between Ignoring the systems aspects of the project often
SwSE and software engineering, just as system engi- results in software that will not run on the hardware
neering is recognized as being different from hardware selected, will not integrate with hardware and other
engineering (all types). SwSE supports the premise software systems, and frequently contributes to the
that the quality of a software product depends on the so-called "software crisis." 1,2

84
1.1. The Role of Software in Systems that ties system elements together . For this reason,
software is frequently a more complex part of any
The dominant technology in many technical systems is system and is often the technical challenge. In this
software. Software often provides the cohesiveness example, software is what makes a combination of
and control of data that enable the system to solve radar, people, radios, airplanes, communications, and
problems. Software also provides the flexibility to other equipment work together to provide an air traffic
work around hardware or other problems, particularly control system. It is also noted that "management
those discovered late in the development cycle. information systems (MIS)" are software systems that
Figure }3 illustrates the concept that it is software tie organizational entities together.

Software Ties the System Together


~ ~.~~
f
~
SIIII..allon Aaa ••IIIlCI
• Conillci alII' I
• Minimum aalll a1lllude
-x'
warning .
Wealhe. Dela
- ~ • Cenuel wealhe. (I.oce15o.
--=-.. ~ • Low -level wind ahlla. IIlell avalolll

\ , <,
Aif T.alllc Managllmlnt \ I

VORTAC
&~VI"ancII
Navlgallonal All...
• En loula dala link • MlcrowavlI landlllg aVllllm
• Alrpo.1 au.vIIll/ancII • VORTAC
red.. IASR-Ie.mlnall

fUUhl Sa.vlci Communlceucn


Aulomallon • Nallonal al.a(lace dala Inle.ch8l1ue
Sv alom nelwork
• FlIghl :plan ,lIa • Ground dala link
• Wllalho. b.lllllnga • Towi. communlcallon awllchln" IValll1ll
• PIIoI uipo'la • Volea awllchlng cominunlcallon aylllllll

Figure 1. Software ties the system together. (Credit: Logicon, lncorporated.)

85
1.2. Scope of Software System Engineering viewpoint) is configuration 3, where SwSE is the sys-
tem engineering discipline.
Software system engineering is a necessary activity
regardless of the type of software that is being devel- 1.3. Why Is Software System Engineering Necessary?
oped. Software system engineering can be applied to
commercial, scientific, or military software projects, More and more new systems are being developed
both in real-time and batch systems. The ability to today, and many of these new systems are highly
apply SwSE is not restricted by the size or complexity dependent on properly operating software systems.
of the software product. Software system engineering Thus software is larger and more complex now than at
covers the total life cycle. any time in history. This trend is caused by:
Software system engineering is applicable in sys-
tem development under a number of different hard-
ware/software configurations: • The availability of cheap computer hardware,
which motivates system requirements
• More and more system solutions being pro-
1. Systems in which software is not a technical
vided by software rather than hardware
challenge: Software engineering and produc-
tion costs are small in comparison with hard- • Increased software complexity caused by in-
ware engineering and hardware production creased system complexity
costs • Customers who want more reliable and us-
2. Systems in which software is the technical able software systems
challenge and dominant technical feature of • Customers who want the capability and flexi-
the system (sometimes called "software- bility of software (which can only be applied
intensive systems"): The cost of software en- if built into the software system)
gineering and production is minor in com-
parison with hardware production costs
3. Systems in which software is the technical As a result, software development costs are grow-
challenge and dominant cost of the system ing and software takes much longer to build. These
(often called "software systems") extremely large and complex systems require technical
system management and the oversight of system engi-
Software system engineering is most valuable neering. Without this system engineering approach the
under configurations 2 and 3 above. Under configura- following problems often result:
tion 1, SwSE plays a very minor role (once it has been
determined that software is not dominant). In configu-
• Complex software systems become unman-
ration 2, system engineering and SwSE should work
ageable
together with full recognition that many crucial deci-
sions fall under SwSE. Unfortunately, the dominant • Costs are overrun and schedules are missed
cost of hardware components focuses management's • Unacceptable risks are sometimes taken
attention on hardware rather than software. This • Unacceptable system engineering procedures
often results in: (or none at all) are used
• Erroneous decisions are made early in the life
• Selection of hardware too early in the devel-
cycle that prove very costly in the end
opment cycle (when the software require-
ments are analyzed, the selected hardware • Subsystems and components that are devel-
turns out to be inappropriate). oped independently do not integrate properly
• Poor cost and schedule estimates for software • Parts and components never get built or re-
quirements are not met
• Inappropriate hardware-software allocation
• The delivered system fails to work properly
• Software development started late in the de-
velopment cycle • Parts of the system must be reworked after
delivery (called maintenance)
• Software cost and schedule overruns
• Software problems being ignored until they
become a crisis Software system engineering is necessary in order
to build the "new order" of computer-dependent sys-
Equally important (from a software engineering tems now being sought by government and industry.

86
1.4. Definitions Software system engineering is related to SE and is
likewise both a technical and management process.
A system is a collection of elements related in a way The technical process of SwSE is the analytical effort
that allows the accomplishment of some common necessary to transform an operational need into a
objective. The key words are related and a common description of a software system; a software design of
objective . Unrelated terms and elements without a the proper size, configuration , and quality; its docu-
common objective would not be a system but parts of mentation in requirements and design specifications;
other systems. This concept is illustrated in Figure 2. the procedures necessary to verify, test, and accept the
A man-made system is a collection of hardware, finished product ; and the documentation necessary to
software, people, facilities, procedures, and other fac- use, operate, and maintain the system.
tors organized to accomplish a common objective. A Software engineering is:
software system is, therefore, a man-made system that
consists of a collection of programs and documents • The practical application of computer sci-
that together allow the accomplishment of a set of ence, management, and other sciences to the
requirements with software . analysis, design, construction, and mainte-
System engineering (SE) is the application of sci- nance of software and its associated docu-
entific and engineering efforts to (1) transform an mentation
operational need into a system description and per-
• An engineering science that applies the con-
formance parameters through the use of an iterative
cepts of analysis, design, coding, testing,
process of definition, analysis, synthesis, design, test,
documentation, and management to the suc-
and evaluation; (2) integrate related technical
cessful completion of large, custom-built
parameters and ensure compatibility of all related
computer programs under constraints of time
functional and program interfaces in a manner that
and budget
optimizes the total system definition and design; and
(3) integrate reliability, maintainability, safety, surviv- • The systematic application of methods, tools,
ability, human factors, and other such considerations and techniques to achieve a stated require-
into the total engineering effort to meet cost, schedule, ment or objective for an effective and effi-
and technical performance objectives. 4 cient software system

Input
System

System

A system is a collection of related elements related in a way that allows


the accomplishment of some tangible objective.
... Pressman 1982

Figure 2. Illustration ofa system.

87
Figure 3 illustrates the relationships between sys- software engineering. Project management has overall
tem engineering, software system engineering, and management responsibility for the project and author-
software engineering. Initial analysis and design and ity to commit resources. Software system engineering
final system integration and testing are done by the has the responsibility for determining the technical
traditional SE. During the initial stages of develop ing approach, making technical decisions, interfacing with
the software, SwSE is responsible for software the technical customer, and approving and accepting
requirements analysis and architectural design. Soft- the final software product. Software engineering is
ware system engineering is also responsible for the responsible for developing the software design, coding
final testing of the software system. Finally, the com- the design, and developing software configuration
ponent design for the system is called software items (subsystems).
engineering .
The management process involves assessing the 1.5. Role of Software System Engineering
risks and costs of the software system, establishing a
master schedule, integrating the various engineering Software system engineering is responsible for the
specialties and design groups, maintaining configura- overall technical management of the system and the
tion control, and continuously auditing the effort to verification of the final system products. It is respon-
ensure that cost and schedule are met and technical sible for the activities and tasks listed in Table I. This
requirements objectives are satisfied. s is not meant to be an all-inclusive list but to give some
Figure 4 illustrates the relationships between proj- knowledge of the types of tasks and responsibilities of
ect management, software system engineering , and SwSE.

System System
Analysis Testing

System Integr
Testing
System Engineering
SW System Engineering
SW System
Testing

SW Integration
Testi ng

SW Engineering SW Engineering
Detailed SW
Design

Figure 3. Engineering relationships.

88
Project Management
• Planning
I
• Organizing
• Staffing
• Directing
• Controlling

Software System Engr Software Engineering

• Problem definition • Software design


• Solution analysis • Coding
• Process planning • Unit testing
• Process control • Software subsystem
• Product evaluation inte ration

Figure 4. Management relationships.

Table J. Activities and Tasks ofSoftware System Engineering


Interface technically with the customer Manage interface control working group
Determine project effort and schedule Develop verification and validation procedures and
Determine technical risk plans
Define and document requirements Develop testing plans, procedures, and cases
Perform requirements functional analysis and flowdown Establish standards, practices, and methodologies
Determine system data throughput and storage Conduct external and internal reviews
Perform trade-off studies and time-line analysis Verify and audit technical products
Develop prototypes Manage software system configuration and change
Design and document top-level system architecture Identify technology needs
Define and document technical interfaces Manage subcontractor technical direction

1.6. Overview of Article activities requirements, environment, and/or circum-


stances surrounding the project.
As discussed in Section 1.3, SwSE can be used in a This article uses a simplified life-cycle develop-
number of different circumstances and hard- ment process (model), called a waterfallchart,6 as the
ware/software configurations. The principal viewpoint framework to discuss the activities and tasks of SwSE .
of this article is the application of SE to hard- (These concepts are equally applicable to System
ware/software systems in which software is the techni- Engineering.) These activities and tasks are identified
cal challenge (configuration 2). Many of the SwSE as a series of individual processes in each phase of the
procedures can be applied to configuration 1, and most software development. The characteristic activities and
of them can be applied to configuration 3. tasks for each process are analyzed and defined.
This article provides guidance for project manag- Section 2 discusses the functions and activities of
ers, software engineers, analysts, or students in the SE and SwSE. Section 3 lists and describes the various
procedures and documentation necessary to accom- tools and techniques of SE and SwSE. Section 4
plish the SwSE process in software development. It describes the SwSE approach as a step-by-step
separates the required activities from the optional process .

89
2. Software Systems Engineering System engineering (SE) is the overall technical
management of a system development project.
2.1. System Engineering

System engineering is the practical application of sci- 2.4. Problem Definition (Requirements Analysis)
entific, engineering, and management skills to trans-
form a user's need into a description of a system con- Determines needs and constraints through analyzing
figuration that best satisfies that need in an effective the requirements and interfacing with the customer.
and efficient way. The product of SE is documents, Specifically, SE must:
not operationalhardware and software.
According to H.C. Alberts, a professor at the • Identify "what" the system must do (without
Defense System Management College (Fort Belvoir, assuming "how" it will be accomplished)
Virginia) who teaches SE, the term system engineering • Prepare a concept of operations (ConOps)
was first proposed in 1956 by H. Hitch, Chairman of document if not already done
the Aeronautical Engineering Department at Pennsyl- • Develop specifications (system and software)
vania State University.' Hitch was trying to develop
• Define documentation requirements
an engineering discipline that could concentrate on the
development of large systems that used many diverse • Define requirements baseline
engineering disciplines. These system development
efforts were typically for long-term systems. Some of the tools that are useful in supporting this
effort are as follows (see Section 3 for a complete
2.2. Software System Engineering description):

The practical application of SE is to transform a user's


• Concept of operations (ConOps) document-
need into a description of a software system configu-
Describes the overall systems characteristics
ration that best satisfies that need in an effecti ve and
from an operational (user's) viewpoint
efficient way. The term software system engineering is
credited to Dr. Winston W. Royce, an early leader in • Specifications-Documentation of require-
software engineering, in the early 1980s. 8 ments and constraints that satisfy the mission
"needs"
2.3. Functions of System and Software Engineering • Baseline-A formal description of a system
product that has been accepted and agreed on
System engineering involves (note that the term in by all parties concerned with the system
parentheses is the typical name given to this function product
in SwSE): • Work breakdown structures (WBS)-A tool
for representing relationships
• Problem definition (requirements analysis)-
Determines needs and constraints through • Functional flow block diagrams (FFBD)-A
analyzing the requirements and interfacing tool for "roughing out" the major functions
with the customer and their interfaces
• Solution analysis (design)-Determines the • Data flow diagrams-A tool for representing
set of possible ways of satisfying the re- dependencies
quirements and constraints; studies and ana- • N-squared (N 2) charts-An aid to establish-
lyzes the possible solutions; and selects the ing and representing system and subsystem
optimum one interfaces
• Process planning-Determines the cost of • Timeline analysis-Depicts the concurrence,
the product, the delivery schedule, and meth- overlap, and sequential relationship of time-
ods of controlling the project and product critical functions and related tasks
• Process control-Establishes process, re- • Prototyping models-Demonstrates potential
views progress and intermediate products, requirements (and design) to the user
and takes corrective action when necessary • Test compliance matrix-A representation
• Product evaluation (verification, validation, method for displaying which methods will
and testing)-Tests, demonstrates, and ana- be used to verify ("test") each software re-
lyzes the final product and documentation quirement

90
2.5. Solution Analysis (Design) Some of the tools that are useful in supporting this
effort are as follows (see Section 3 for a complete
Solution analysis determines the set of possible ways description):
of satisfying the requirements and constraints; studies
and analyzes the possible solutions; and selects the • System life-cycle model-A representation of
optimum one. Specifically, SE must: the steps and activities necessary to develop a
software system
• Answer the "how" question (conceptual de-
• Work breakdown structures (WBS)-A tool
sign)
for representing relationships
• Postulate possible technical approaches
• Cost-estimation models-a predictive cost-
• Determine all technology selection factors estimation tool based on statistical science
and risks (rather than intuition)
• Conduct trade-offs of alternative approaches • Computer-aided project managementtools-
to the "how" question Automated tools in support of project man-
• Select the best combination of system ele- agement activities
ments to determine a solution that will meet • Risk assessment-Identifying areas of poten-
users' objectives and support requirements tial risk with the associated probability of oc-
• Determine if additional analysis, synthesis, currence and seriousness
or trade-off studies are required to make
selections
• Develop system specifications 2.7. Process Control
• Identify the physical interfaces Process control establishes process, reviews progress
• Assure traceability of requirements and intermediate products, and takes corrective action
when necessary. Specifically, SE must:
Some of the tools that are useful in supporting this
effort are as follows (see Section 3 for a complete de- • Establish standards and procedures for devel-
scription): opment
• Measure progress and intermediate product
• Work breakdown structures (WBS)-A tool quality
for representing the components of a system
• Evaluate the development process
or the activities of a process (or both)
• Develop the integration and system test plans
• Internal specifications-Internal technical
documents • Conduct in-process design reviews
• Interface control-Method for controlling the • Take corrective action if process fails to meet
system and software interfaces plan or standard
• Trade studies-A formal decision analysis
method
Some of the tools that are useful in supporting this
effort are as follows (see Section 3 for a complete
description):
2.6. Process Planning

Process planning is used to determine the amount of • Baseline management-Partitions the project
effort to develop, deliver, and control the project and into manageable phases: requirements, de-
product. Specifically, SE must: sign, implementation, and test
• Configuration management-Controlling the
• Plan the engineering workload documents
• Determine project effort and schedule • Quality assurance-A set of procedures and
methods for verifying the products and proc-
• Determine technical and managerial risks
esses of a systems development
• Establish planning and control methods
• Verification and validation-A rigorous
• Select standards and practices for development methodology for evaluating the correctness
• Update plans when necessary and quality of the software

91
• Technical performance measurements In several instances the major process is divided
(TPM)-Measuring essential performance into two subprocesses, for example, the system defini-
parameters tion phase is partitioned into the system analysis and
• Interface control working groups (ICWG)- the system design subphases. Each phase and subphase
Controlling the interfaces is composed of:
• Requirements tracing tool-A mechanism for
tracking requirements to finished product • Inputs

• Design reviews/audits-A periodic check on • Processes


progress • Outputs
• Control gates
2.8. Product Evaluation (Verification, Validation,
Some of the steps are run together. If two similar
and Testing)
activities are performed at the same time, or by the
Product evaluation tests, demonstrates, and analyzes same organizational entity, or they have a common
the final product and documentation. Specifically, SE input or output, they will be discussed as the same
must: step.

• Evaluate the final product 3.1. System Definition Phase


• Verify that the product requirements have
been met The purpose of the SE phase is to determine a func-
tional and performance description of the final system
• Provide project historical data
(that is, determine the requirements) and to separate
those requirements that can best be solved by software
Some of the tools that are useful in supporting this
from those that should be solved by hardware or man-
effort are as follows (see Section 3 for a complete de-
ual procedures.
scription):
The system definition phase is initiated when it is
recognized that a problem exists, which can best be
• Test compliance matrix-A representation solved by building and operating a software-driven
method for displaying which methods will be system. It is terminated when the system requirements
used to verify C'test") each software require- are known, a decision has been made as to top-level
ment (preliminary) architecture of the system, the system
• Verification and validation-An SwSE proc- requirements baseline is determined, and the various
ess that implements a rigorous methodology planning activities are completed.
for evaluating the correctness and quality of The following sections describe each of the proc-
the software throughout the life cycle esses in the system definition phase.
• Testing-The controlled exercise of the pro-
gram code in order to expose errors 3.1.1. System Analysis and Specifications
• Verijication-A group term that includes those
methods and procedures that are used to 3.1.1.1. Inputs
"prove" that the system performs as required
(1) System needs and requirements-A state-
3. Software System Engineering Process ment, either oral or written, that estab-
lishes the needs and/or requirements for.
This section of the article describes the SwSE the system
approach as a step-by-step process. Five major steps (2) External environment-The circumstances,
are listed: objects, and conditions that surround the
system to be built; they include political,
• System definition phase market, cultural, organizational, and physi-
cal influences as well as standards and poli-
• Software requirements engineering phase
cies that govern what the system must do or
• Software design how it will do it
• Code and component testing phase (3) Standards and policies-Corporate in-
• Integration and system testing phase struction on methods and approaches to

92
provide general guidance on the system and part of the planning effort, perform risk assessment
software development and develop a risk management plan for the project.
(4) Statement of work (SOW)--A description of The system engineering management plan (SEMP)
all the work required to complete a project is a management document written by the system
developer that identifies the technical plans, organiza-
tional configuration, functions and responsibilities,
3.1.1.2. Process management techniques, analysis, simulations, techni-
cal performance measurement parameters, and sched-
(1) Determine the system needs and/or ules that will be initiated, tracked, or employed on the
requirements. Develop requirements speci- program. The SEMP is supported by a number of spe-
fications. cialty plans such as the activities in specific critical
areas (example: software project management plan),
The first step in any system activity is to investigate, and, together with these plans, serves as a top-level
determine, and document the system requirements in a technical management master plan. 10
system requirements specification (SysRS) and/or a
software requirements specification (SRS). (3) Develop verification, validation, and pre-
A system requirement is (1) a system capability liminary test plan for the system. Generate
needed by a user to solve a problem or achieve an a test compliance matrix.
objective, and/or (2) a system capability that must be
met or possessed by a system or system component to The verification and validation (V &V) plan defines
satisfy a contract, standard, specification, or other the V&V activities and tasks at each software life-
formally imposed document.' cycle phase, identifies the development products nec-
Regardless of the mix of hardware, software, or essary to verify the ongoing process, and establishes
manual procedures, the resulting document is usually criteria for starting and stopping each V&V activity. In
called a system requirements specification. addition, V&V planning includes selecting the most
A system requirements specification (SRS) is fre- cost-effective V&V tools and techniques for each
quently the initial document prepared in a technical phase and developing an organization and staff to
development-software or nonsoftware-that sets accomplish the plan.
forth the requirements for a system or portion of a Included in the V&V plan, or developed sepa-
system (sometimes called a system segment). It is a rately, is the preliminary test plan, which is derived
written document that describes in detail what is from the requirements specifications. The test (verify)
needed to satisfy the customers' and users' needs. compliance matrix will demonstrate that all require-
Typically included are functional requirements and ments can be verified. Requirements that cannot be
external interfaces, as well as performance require- verified will be eliminated or changed to a form that
ments (sometimes called mission requirements), can be verified.
design constraints, and quality attributes of the fin-
ished system. System requirements specifications are (4) Establish a configuration management sys-
sometimes referred to simply as system specifications. tem and software quality assurance plan.
One of the most important sources of system
requirements is the concept of operations (ConOps) A configuration management (CM) system applicable
document. In SFJSwSE, the ConOps document is to the project is developed and documented. Individu-
normally produced as the first step in the system defi- als responsible for CM are identified.
nition phase of a given program. The ConOps docu- Standards and procedures applicable to the cus-
ment should be (but is not 'always) prepared by the tomer, project, and development organization are
customer or buyer. developed or adopted from another source. A software
quality assurance (SQA) system is selected. An SQA
(2) Generate and document management and plan is written, and individuals responsible for SQA
technical plans and strategies. Perform are identified
risk management.
(5) Verify the system requirements. Perform
Concurrently with the development of the system peer reviews on the software products.
requirements, management plans are generated and
documented. The system management plan provides Using the V&V plan developed earlier, the system
management and control of the project from the requirements are verified against the customers
beginning through product delivery and sign-off. As requirements and needs. The ConOps document, if

93
available, should be used to represent the customer's 3.1.1.4. Control Gates
needs and requirements. Perform peer reviews
(inspections and walkthroughs) on the software prod- (1) System requirements review-An accept-
ucts. Pay particular attention to those products able SRR will permit the project to proceed
(software requirements, risk management plan) that to the system design phase
are the most critical.
3.1.2. System Design
(6) Review the products of the phase and ob-
tain joint concurrence among developers, 3.1.2.1. Inputs
customers, and users.
(1) System requirements specifications-A de-
The system requirements specifications and other scription of the to-be-delivered system
products of the system requirements phase are
(2) Interface requirements specijications-A
reviewed by an appropriate review team composed of
description of the necessary interfaces to
the developers, customers, and potential users of the
the external world
system. This is a major milestone review called the
system requirements review (SRR). If the SRR and (3) System engineering management plan-A
other phase products are found to be acceptable the plan as to how the system will be developed
developers are permitted to proceed to the system and delivered
design phase.

(7) Produce the system requirements baseline 3.1.2.2. ~rocess

and place under configuration manage-


ment. (1) Determine how best to implement the
requirements. Perform trade studies and
At the completion of an acceptable SRR, the system time-line analysis.
requirements specifications are baselined as the func-
tional baseline and placed under CM. Conduct engineering studies on the most effective and
efficient design for the system. Use trade studies (also
called trade-off analysis) to define the best design
3.1.1.3. Outputs
trading off cost, schedule, performance, and risk. Use
(1) System requirements specifications- time-line analysis to ensure that the performance of the
Describes the system specifications system meets timing requirements.
(2) Interface requirements specijications-
Describes the system interface require- (2) Develop top-level system design and inter-
ments, if not part of the system require- face requirements. Allocate system
ments specifications requirements to top-level components.
(3) Test compliance matrix-Used during the
Use results of engineering studies to design the opti-
requirements phase to determine if the re-
mum system. Partition the requirements into major
quirements are testable and during the test-
system components (called configuration items).
ing phase to define what test to use on
These configuration items can be all hardware, all
which requirements
software, or a mixture. Allocate all requirements to
(4) System engineering management plan- one or more of these configuration items. Derive new
Used throughout the project to monitor and requirements where necessary to achieve system
control the project
requirements.
(5) Risk management plan-To identify the
high-risk tasks in order to avoid or prevent
(3) Develop preliminary software system
risks with the highest probability of
requirements and interface specifications.
occurrence
(6) Configuration management plans-A plan Describe software configuration items in a preliminary
for controlling changes to the system base- software requirements specification. Identify the inter-
line faces between the software system and external entities
(7) System requirements baseline-The base- and between configuration items. Use the N 2 charts as
line that describes the system requirements an interface design and representation tool.

94
(4) Verify the system design. 3.2. Software Requirements Generation Phase

Using the V&V plan developed earlier, verify the The purpose of the software requirements generation
system against the system requirements. phase is to define the software requirements and
interface specifications in sufficient detail to allow
(5) Review the products of the phase and ob- the software designer to design the software system
tain joint concurrence among developers, accurately.
customers, and users. The software requirements generation phase is ini-
tiated when customer and user requirements have been
The system design specifications and other products of properly identified, a top-level system design is com-
the system design phase are reviewed by an appropri- plete, software subsystems are identified, and all cus-
ate review team composed of the developers, custom- tomer/user requirements have been properly allocated
ers, and potential users of the system. This is a major (assigned) to one or more of these subsystems. The
milestone review called the system design review phase ends when the software requirements are known
(SDR). If the system design and other phase products and documented for each software subsystem, the pre-
are found to be acceptable the developers are permit- liminary user manual is written, the verification, vali-
ted to proceed on to the software requirements phase. dation, and test documents are developed, and a soft-
ware requirements baseline is identified and accepted
(6) Update the system requirements baseline; by the developers, customers, and users.
produce the system design baseline; and The following sections describe each of the proc-
place under configuration management. esses in the software requirements generation phase.

At the completion of an acceptable SRR, the system 3.2.1. Inputs


design specifications are baselined in the allocated
baseline and placed under eM. Any changes in the (1) System design description-Describes the
system requirements specifications are noted and for- system design
warded to the appropriate configuration control (2) System interface design description-
authority. Describes the system interface design if not
part of the system design specifications
3.1.2.3. Output (3) Preliminary software requirements specifica-
tions-Describes the software requirements
(1) System design description-Describes the (4) Preliminary software interface require-
system design ments-Describes the software interfaces, if
(2) System interface design description- not part of the software requirements specifi-
Describes the system interface design, if not cations
part of the system design specifications (5) System engineering management plan-A
(3) Preliminary software requirements specifi- plan as to how the system will be developed
cations-Describes the software require- and delivered
ments
. (4) Preliminary software interface require- 3.2.2. Process
ments-Describes the software interfaces, if
not part of the software requirements speci- (1) Establish a software requirements specifi-
fications cation for each software subsystem.
(5) System design baseline (allocated base-
line)-The baseline that describes the top- Flowdown the system requirements to the software
level system design configuration items (CIs) that had previously been
identified by the system design process. Software
requirements can be identified as belonging to one or
3.1.2.4. Control Gates several different categories II:

(1) System design review (SDR)-An accept- • Functional requirements-A requirement


able SDR will permit the project to proceed specifying functions that a system or system
to the software requirements phase component must be capable of performing

95
• Performance requirements-A requirement The software project management plan
specifying performance characteristics that a (sometimes called the software development plan or
system or system component must possess, software engineering project plan) is the controlling
such as speed, accuracy, frequency document for managing a software project. 12 A soft-
• External interface requirements-A require- ware project management plan (SPMP) defines the
ment specifying hardware, software, or data- technical and managerial functions, activities, and
base elements that a system or system com- tasks necessary to satisfy the requirements of a soft-
ponent must interface, or setting forth con- ware project, as defined in the project agreement. All
straints on formats, timing, or other factors other management plans (configuration management
caused by such an interface plan, software quality assurance plan, and so on) are
considered to be part of the software project manage-
• Design constraints-A requirement affecting
ment plan.
or constraining the design of a software sys-
Perform risk assessment and develop a risk man-
tem or software system component, for ex-
agement plan for the software project.
ample, language requirements, physical
hardware requirements, software develop-
ment standards, and software quality assur- (5) Write a preliminary software user manual.
ance standards
The user manual (UM) is a document prepared by the
• Quality attributes-A requirement specifying developer and used to provide the customer and/or
the degree to which software possesses at-
user personnel with the necessary instructions on how
tributes that affects quality; such as correct-
to use and operate the software system. The manual
ness, reliability, maintainability, portability
contents and format are specifically designed to meet
the needs of the intended users.
The preliminary user manual is developed early in
(2) Develop external software interfaces. Es- the software development process for the following
tablish an interface control working group reasons:
(ICWG).
• It provides a description of the software sys-
Identify and document the external interfaces between
tem in the user's own terms. (This is applica-
software CIs and other outside entities (either hard-
ble only to software systems that are not
ware or other software systems) and internal interfaces
transparent to the user. In other words, the
between software CIs. Establish an ICWG (or equiva-
user is aware that the software system is per-
lent organization) to maintain the interfaces. All
forming its functions.)
changes to any interface must be approved by the
ICWG. • It provides a means of verifying the software
requirements. The user manual is prepared
(3) Trace requirements between top-level re- from the software requirements specifica-
quirements and software requirements. tions because the requirements specifica-
tions describe the finished system. If the
Using the requirements tracing system, trace and software requirements specifications contain
document the forward and backward trace between a errors of omission, incompleteness, or in-
system design (the source) and the software require- correctness, these errors will likely be dis-
ments (the results). Document the results in a require- covered by the users during their review of
ments tracing report and present it in the software the user manual. 13
specifications review. • It provides guidance to designers on how to
make a system usable and assists in writing
(4) Write a software project management test documents.
plan.

Concurrently with the development of the software (6) Develop test documentation for the system
requirements, a software management plan is gener- and acceptance testing.
ated and documented. The software management plan
provides the management and control of the project The software V&V test plan and procedures started
from the project beginning through product delivery during the system definition phase are completed dur-
and sign-off. ing the software requirements generation phase. Plans

96
and procedures are added on how to verify many of that all statements in the program are executed. A
the nonfunctional requirements, such as performance, good test document should include both black-box and
external interfaces, design constraints, and quality white-box testing.
attributes. The preliminary test documents are developed
Preliminary V & V test documents like those early in the software development process to accom-
described below are developed for each software sub- plish several things :
system and identified by a separate software require-
ment specification: • They provide a means of verifying the soft-
ware requirements. The test documents are
• Test plan-A document describing the scope, prepared from the requirements specifications
approach, resources, and schedule of in- because the requirements specifications de-
tended testing activities . It identifies test scribe the finished system. In the event the
items, the features to be tested, the testing software requirements specification contains
tasks, who will do each task, and any risks errors of omission, incompleteness, or incor-
requiring contingency planning. It also de- rectness, this will likely be discovered by the
termines what, when, and how the software test developers early in the life cycle. No re-
will be tested and defines the pass/fail criteria quirement is complete until its testability has
• Test design specijication-A document been demonstrated in a test planning docu-
specifying the details of the test approach for ment.
a software feature or combination of software • The engineering exercise that goes into de-
features and identifies the associated tests. It veloping a test suite is similar to the exercise
shows in detail what items will to be tested that goes into engineering the software sys-
• Test procedure specijication-A document tem (see Table 2). When the system testers
specifying a sequence of actions for the exe- are independent of the software developers, a
cution of a test. It is a step-by-step descrip- fresh examination of the software require-
tion of the process of testing ments can frequently uncover overlooked re-
quirements, ambiguous statements, and other
• Test case specijication-A document speci-
errors.
fying inputs, predicted results, and a set of
execution conditions for a test item. It defines
the input and output data used in the test" (7) Verify the software requirements and in-
terface documents.
This form of testing that is based only on the soft- In this phase, the software requirement specifications
ware requirements specifications is called black-box are verified against the system requirements and the
testing (also called functional testing). Black-box architectural design. The verification function looks
testing is a software test strategy that derives its test for bad software requirements-incorrect, incomplete,
specifications and case data from the external specifi- ambiguous, or untestable-and noncompliance with
cations and requirements of the system. This is in the system functional and nonfunctional requirements.
contrast to white-box testing, in which the internals of Some of the tools and procedures used by V&V in
the code are specifically exercised. Methods for black- this phase include requirements traceability analysis,
box testing include nominal testing (expected values), requirements evaluation, requirements interface analy-
random testing, and testing at boundary values (both sis, and test planning. IS Some additional tools are
inside and outside the boundaries). It verifies the end control flow analysis, data flow analysis, algorithm
results at the system level but does not check on how analysis, simulation analysis, in-process audits, and
the system is implemented. It also does not assume requirements walkthroughs.

97
(8) Review the products of the phase and ob- 3.3. Software Design Phase
tain joint concurrence among developers,
customers, and users. The purpose of the software design phase is to design
the software system in sufficient detail so that the sub-
A software specification review (SSR) is a milestone system can be correctly programmed (coded) and
review conducted to finalize software requirements so tested.
that the software developer can initiate top-level soft- The software design phase is initiated when soft-
ware design. The SSR is conducted when software ware requirements have been properly identified and
requirements have been sufficiently defined to evalu- documented and the draft user manual and draft test
ate the developer's responsiveness to and interpreta- documents have been developed. This phase ends
tion of the system/segment-level technical require- when the software design documentation is judged to
ments. A successful SSR will be predicated on the be complete and correct by a formal review, the pre-
customer's and/or developer's determination that the liminary operator and maintenance manuals are writ-
software requirements specification and interface ten, and a product baseline is established.
specifications form a satisfactory basis for proceeding The following sections describe each of the proc-
into top-level design phase." esses in the software design phase.

(9) Produce the software requirements base- 3.3.1. Architectural Design


line and place under configuration control.
3.3.1.1. Inputs
The software requirements baseline is the initial soft-
ware configuration identification established at the end (1) Software requirements specifications-
of the software requirements generation phase. This Describes the system specifications
baseline is established by an approved software (2) Software interface requirements specifica-
requirements and interface specification and placed tions-Describes the system interface re-
under formal configuration control by joint agreement quirements, if not part of the system require-
between the developer and the customer. Department ments specifications
of Defense developers would call this the software (3) Software requirements baselines-Describes
allocated baseline. the software requirements baseline

3.2.3. Outputs 3.3.1.2. J»rocess


(1) Allocate system requirements to top-level
(1) Software requirements and interface speci-
software components (configuration
fications-Describes the software system
items). Complete the final system trade
and interface specifications
studies. Produce a software architectural
(2) Preliminary user manual-Describes the design description.
actions the software user must take to ef-
fectively use the system Software design is the process of designing a system
(3) Preliminary test documents-Defines the by identifying its major components, decomposing
test plans, test specifications, test process, them into their low-level components, and iterating
and test cases for the system and acceptance until the desired level of detail is achieved. Architec-
tests tural design (sometimes called top-level design or
(4) Software project management plan-Used preliminary design) typically includes definition and
throughout the project to monitor and con- structuring of computer program components and data,
trol the project definition of the interfaces, and preparation of timing
(5) Software requirements baselines-The and sizing estimates.
baseline that describes the software re- The product of architectural design is the archi-
quirements tectural design description (or specification). Archi-
tectural design description includes such information
as the
3.2.4. Control Gates
(1) Software specifications review (SSR)-An • Overall processing architecture
acceptable SSR will permit the project to • Functions allocated to lowest level (but not
proceed to the software design phase described in detail)

98
• Data flow, database, and associated processors the test compliance matrix, which must be updated to
• Control of processing account for the "as-designed" configuration, and addi-
tional computer systems and hardware needed for
• System utilities and operating system interfaces
checkout.
• External and internal interfaces
• Allocated storage and throughput (5) Verify the software design and interface
documents.
The design represents a logical satisfaction of the
requirements by a specific approach. In this phase, the software design specifications are
verified against the software requirements and the top-
level system design. The verification function looks
(2) Trace requirements from architectural de-
for incomplete or incorrect design, inefficient and
sign to software requirements.
unmaintainable design, poor user interfaces, and poor
documentation.
Using the requirements tracing system trace and
The minimum V&V tasks are design traceability
document the forward and backward trace between the
analysis, design evaluation, interface analysis, and
software requirements (the source) and the software
updating the V& V test plan and test design specifica-
design (the results). Document the results in a
tions for component testing, integration testing, system
requirements tracing report and present it in the pre-
testing, and acceptance testing!' The V&V activity
liminary design review.
then reports the discrepancies found between these
levels of life-cycle documents and other major
(3) Initiate a unit development folder (UDF or problems.
software development folder [SDF]).
(6) Review the products of the phase and ob-
Initiate a UDP for each "unit" of the software system. tain joint concurrence among developers,
The lowest level of the design can be defined as units customers, and users.
for the purpose of the UDF. Each UDF will have the
allocated software requirements including any The architectural design description and other prod-
assigned design constraints, metrics, and data. Cost ucts of the software design phase are reviewed by an
and schedule information for the unit is also provided. appropriate review team composed of the developers,
A WBS is an excellent tool for analyzing the system customers, and potential users of the system. This is a
and determining the lowest level design. major milestone review called the preliminary design
review (PDR). If the architectural design and other
(4) Develop test documentation for integration phase products are found to be acceptable the devel-
testing. opers are permitted to proceed on to the system design
phase.
The test documents are reviewed and updated where Special note: The term architectural design has
necessary. Test procedures and test case descriptions gradually replaced the early term preliminary design
should be added to test any new capabilities added to as being more appropriate for the activities involved.
the system. The acronym for the "appropriate review" (archi-
The test procedures developed in the preliminary tectural design review, ADR) did not catch on, so we
test documents were concerned primarily with black- still use the term preliminary design review (PDR) for
box testing. Not all system attributes can be tested the architectural design phase review.
completely in that manner. Another method that tests
the internal workings of a system is called white-box (7) Produce the software architectural design
testing (also called structural testing), which can be baseline and place under configuration
developed after the design is complete. control.
White-box testing is a software test methodology at
the module level in which test procedures and test The architectural design baseline is the top-level
cases are derived from the internal structure of the product baseline. This baseline is established by an
program. It may execute all the statements or branches approved software architectural design and interface
in the program to check on how the system is imple- specification and placed under formal configuration
mented. Some methods of white-box testing are state- control by joint agreement between the developer and
ment coverage, branch coverage, and path coverage. the customer. Many projects do not formally establish
Other items that must be updated or developed are this baseline.

99
3.3.1.3. Outputs example, subprogram, module, procedure,
process, or data store
(1) Software architectural description- • Purpose-A description of why the entity
Describes the architectural design exists; describes the specific. functional and
(2) Software interface design description- performance requirements for which the en-
Describes the external interface design tityexists
(3) Unit development folder (UDF)-A set of • Function-A statement of what the entity
unit development folders for each "unit" of does; for example, a functional attribute shall
design state the transformation applied by the entity
(4) Test documentation-An update of the to inputs to produce the desired outputs
system and acceptance test documents • Subordinates-The identification of all enti-
ties that compose this entity; used to identify
parent/child structural relationships
3.3.1.4. Control Gates
• Dependencies-A description of the relation-
(1) Architectural (preliminary) design review ships of this entity with other entities; de-
(PDR)-An acceptable PDR will permit the scribes the other entities and conditions under
project to proceed to the software design which they either use or are used by the sub-
phase ject entity
• Interface-A description of how other enti-
3.3.2. Detailed Design ties interact with this entity; describes the
methods of interaction and the rules govern-
3.3.2.1. Inputs ing those interactions
• Resources-A description of the elements
(1) Software architectural description-
used by the entity that are external to the de-
Describes the architectural design
sign; identifies and describes all the resources
(2) Software interface design description- external to the design that are needed to per-
Describes the external interface design form its function, for example, physical de-
(3) Unit development folder (UDF)-A set of vices, software services, and processing re-
unit development folders for each "unit" of sources
design • Processing-A description of the rules used
by the entity to achieve its function. A re-
3.3.2.2. Process finement of the functional attribute. Describes
the algorithm to perform a specific task and
(1) Design the detailed-level software system. contingencies when necessary
Maintain the interfaces and traceability. • Data-A description of the data elements
internal to the entity; describes the method of
Detailed design (sometimes called low-level design) is representing initial values, use, format, and
the process of refining and expanding the software acceptable values
top-level designs. This allows for more detailed
descriptions of the processing logic, data structures, The design can be represented by a continuation of
and data definitions, to the extent that the design is the methodologies started in the top-level design (data
complete enough to be implemented (coded). flow diagrams, flowcharts, structure charts, POL,
The product of the detailed design is the detailed Warnier-Orr charts, and many of the modern CASE
design specifications, which describe the exact tools). Another popular detailed design tool is pseudo-
detailed configuration of a computer program. Each code to describe the individual software modules.
entity (sometimes called module) identified by the
architectural design will contain the following (2) Write preliminary operator manual and
information": software maintenance manual.

• Identification-The name of the entity. Two The preliminary operator and maintenance manuals
entities shall not have the same name are preliminary versions of two of the three deliverable
• Type-A description of the kind of entity; for documents used to support a software system.

100
An operator manual is a document used by the op- appropriate review team composed of the developers,
erators of a system (in contrast to the users) to enable customers, and potential users of the system. This is a
them to support the users and operate the system. On major milestone review called the critical design
many systems, particularly modern desk-top comput- review (CDR). If the design and other phase products
ers, the operator and the user are the same, and, as a are found to be acceptable the developers are permit-
result, the operator and user manuals are combined. ted to proceed on to the coding and unit testing phase.
The maintenance manual is the legacy the soft-
ware developers leave to aid future software engineers (6) Update the software requirements base-
in maintaining the system. A maintenance manual lines; produce the build-to software prod-
(sometimes called a software maintenance document) uct baseline; and place under development
is a software engineering project deliverable document controls.
that is used to describe the software system to software
engineers and programmers who are responsible for The software requirements baseline is the initial con-
maintaining the software in the operation and mainte- figuration of the software architecture. The product
nance phase of the life cycle. baseline is the final delivered configuration of the
Software maintenance is the performance of those system. To distinguish between the product baseline
activities required to keep a software system opera- that exists before the product is built, and the product
tional and responsive after it is accepted and placed baseline after the product is built, the former is called
into production.i" Maintenance includes the modifica- the "build-to" baseline and the latter is referred to as
tion of the software after delivery to correct faults, the "as-built" baseline. The build-to baseline is not
improve performance or other quality attributes, or placed under formal configuration control, but under
adapt the product to a changed environment. development control-a local control maintained by
SwSE and administered by the program support
(3) Update the software verification, valida- librarian.
tion, and test documents.
3.3.2.3. Outputs
The V&V plans and test documents are reviewed and
updated where necessary. Test procedures and test (1) Software detailed design description-A
case descriptions should be added to test any new description of the software detailed design
capabilities added to the system.
(2) Software interface design description-A
description of the internal software inter-
(4) Verify the software design documents. faces
(3) Preliminary operator manual-A draft of
In this phase, the software detail design specifications
the operators manual
are verified against the architectural design software
requirements. The verification function looks for (4) Preliminary maintenance manual-A draft
incomplete or incorrect design, inefficient and of the maintenance manual
unmaintainable design, poor user interfaces, and poor (5) Build-to software baseline-A final product
documentation. baseline that is to be coded and tested
The minimum V&V tasks are design traceability
analysis, design evaluation, and interface analysis. The
V & V activity then reports the discrepancies found 3.3.2.4. Control Gates
between these levels of life-cycle documents and other
major problems. (1) Detailed (critical) design review (CDR)-An
acceptable CDR will permit the project to
(5) Review the products of the phase and ob- proceed to the code and unit testing phase
tain joint concurrence among developers,
customers, and users. 3.4. Code and Component (Unit) Testing Phase

The software design products are reviewed jointly by The purpose of the code and component (frequently
the developers, customers, and users. The purpose of called unit) testing phase is to code and test the indi-
these reviews is to obtain concurrence on the top-level vidual software components.
and detailed design. The code and component testing phase is initiated
The detailed design description and other products when the software design has been properly identified
of the software design phase are reviewed by an and documented and the verification procedures have

101
been updated. The phase ends when the design has test data and test results that have been developed by
been transformed into software, the component testing the project.
is complete, the product baseline is updated, and the
product is ready for final testing and review. (4) Verify the code and other products. Conduct
The following sections describe each of the proc- code walkthroughs.
esses in the code and component testing phase.
In this phase, the software code is verified against the
software top-level and detailed design. The verifica-
3.4.1. Inputs
tion function looks for incomplete or incorrect code,
inefficient and unmaintainable implementation, poor
(1) Software detailed design description-A de-
user interfaces, and poor documentation.
scription of the detailed design
The minimum verification tasks are source code
(2) Software interface design description-A de- traceability analysis, source code evaluation, software
scription of the internal software interfaces code interface analysis, source code documentation
evaluation, continue test case development, and con-
tinue test procedure specifications.i" The verification
3.4.2. Process activity then reports the discrepancies found between
these levels of life-cycle documents and other major
(1) Implement (code) the software design. problems or noncompliances to SwSE.
A code walkthrough (sometimes called inspection
The detailed design is turned into machine-readable or peer review) is a software engineering quality as-
code. Programming is performed in accordance with surance procedure in which a designer or programmer
the standards and procedures contained in the software leads one or more members of the development team
project management plan. Progress and quality are through a segment of design or code that he or she has
monitored by code walkthroughs. written, while other members ask questions and make
comments about technique, style, possible errors, vio-
(2) Test and debug the individual components lation of development standards, and other problems.
of the system.
(5) Conduct the test readiness review and ob-
The basic component of a software system is a module tain concurrence among developers, cus-
or unit. The testing of a unit is normally done by the tomers, and users.
developer (programmer) of the unit. Unit testing is the
process of ensuring that the unit executes as intended. A test readiness review (TRR) is a milestone review to
It usually involves testing all statements and branch determine if the software test procedures are complete
possibilities (white-box testing). Some of the errors and to ensure that the software developer is prepared
found could be missing design features, design fea- for formal software system testing. The results of any
tures added but not required, programs that do not informal testing will also be reviewed. The TRR will
handle the proper input data, and unfriendly and diffi- be attended by developer, customer, and user repre-
cult user interfaces. Formal testing (sometimes with sentatives. With their concurrence, the developers can
informal test procedures) is called unit testing. Infor- proceed to performing integration and testing of the
mal unit testing by the programmer is called system.
debugging.
Component testing would involve testing larger (6) Update the requirements and product (as-
programs of the system, but would not typically built) baseline.
involve integration testing.
The requirements and product baselines are updated to
(3) Complete the validation and test documen- account for the changes in the system during the
tation and prepare for formal testing. implementation phase. The resulting baseline is called
the "as-built" product baseline as distinguished from
The VV&T documentation is updated to account for the "build-to" product baseline. The as-built product
the changes in the system made during the implemen- baseline is placed under formal configuration control.
tation phase. V&V and testing procedures are main-
tained under configuration control, as are software 3.4.3. Outputs
products. The programming support librarian keeps
the approved completed copy of the plans, procedures, (1) Tested software at the component (unit)

102
level-The completed software system a small part of the system and then incrementing the
ready for integration testing configuration of the system-under-test by adding one
(2) Unit test report-The results of the unit component at a time and testing after each increment.
testing Nonincremental testing involves assembling all the
(3) "As-built" software baseline-A final prod- components of the system and testing them all at once.
uct baseline that has been coded and tested Hardware engineers call this the "smoke test," that is,
"let's test it all at once and see where the smoke rises."
Since software failures don't smoke, it is often diffi-
3.4.4. Control Gates cult to tell where a system has failed when all the
components are being tested at one time. Incremental
(1) Test readiness review (TRR)-An accept- testing has proven to be a more successful approach.
able TRR will permit the project to pro- There are two separate strategies to incremental
testing: top-down testing and bottom-up testing (see
ceed to the integration and testing phase
Figure 5). Top-down testing is the process of integrat-
ing the system-under-test, progressively, from top to
3.5. Integration and System Testing Phase bottom, using simulations of low-level components
(called stubs) during testing to complete the system.
The purpose of the integration and testing phase is to This is in contrast to bottom-up testing, which is the
integrate the components, programs, subsystems, and process of incrementing the system-under-test, pro-
other interfacing entities into a tested, finished system. gressively, from bottom to top, using software drivers
This mayor may not include acceptance testing. It to simulate top-level components during testing.
does not include installation and checkout. Each of these strategies has a number of different
The software system integration and system testing advantages and disadvantages. Some of these advan-
phase is initiated when the code has been developed, tages and disadvantages are listed in Table 3.
software components have been independently veri- At first glance, bottom-up testing appears to have
fied, and the software is ready for integration and the most advantages and least disadvantages. How-
testing. This phase ends when the software system ever, advantage 3 under top-down testing and disad-
components are integrated into a software system, vantage 2 under bottom-up testing provide significant
verified against the software requirements, integrated management advantages through increased customer
and verified with the total hardware/software system, satisfaction and visibility of progress, so that top-down
the final products are audited, and a software product testing is often the preferred method.
baseline is identified and accepted by the customers,
users, and developers. (2) Conduct software validation and testing in
The following sections describe each of the proc- conformance with formal software verifi-
esses in the integration and system testing phase. cation, validation, and testing documents.

3.5.1. Software Integration and Testing In this process, the completed software system is veri-
fied against the design and validated against the sys-
3.5.1.1. Inputs tem and software requirements. Tests are conducted in
(1) Tested software-Software that has been unit conformance with formal test documents and the test
tested and is determined to be ready for integra- compliance matrix. As described earlier, verification is
tion and system testing the process of determining whether or not the products
of a given phase of the software development cycle
fulfill the requirements established during the previous
3.5.1.2. Process phase. Validation is the process of ensuring that what
is built corresponds to what was actually required; it is
(1) Integrate the software units and compo- concerned with the completeness, consistency, and
nents into larger components and perform correctness of the requirements.
integration testing. During the software system testing phase, the soft-
ware system is verified against the build-to baseline to
Software integration testing involves integrating the determine if the final program properly implements the
components of the software system and testing the design. At roughly the same time, the software system
integrated system to determine if the system works as is tested and validated against the original system and
required. Integration testing can be either incremental software requirements specification to see if the prod-
or nonincremental. Incremental testing involves testing uct was built correctly.

103
High Level Code Integration
& Testing

I
1-------·
Stub
,,
I I

. .,_-- _.:
~-- ---_ .. I

.
,-_. -- - - .. -1
I
~-_
, - - - - L __
.- - - - - - - I .- -
' ---
_1- I
Low Level Code
.- - - - - - -. 1- - - - - - - I .- - - - ' - - - • • - - - - - - - I
,.. Stub .1" .. Stub -'I ,.. Stub Stub Stub Stub
.1I -''
I.. .1I I
.. .1' I..

,---------
, I
, I
.. J
, High Level Code
,----"-----
I I
_________ JI
____________I ____ L _

r---~--~
,:----~---i,
..
, J

----------~--------,
r----L.----, ,__ -' ,
,_______ .J, '--__,......__- '
I

Integration Low Level


& Testing Code
rr:.........----. .-_--.L.--, .--_....l---, r---I.----,

Figure 5. Top-down testing versus bottom-up testing .

Table 3. Comparison of Top-Down versus Bottom -Up Testing"

Top-down te ting

Advantages Disadvantages
I. More productive if major flaws occur tow ard the top of I. Stub modules must be produced.
the program.
2. Representation of test cases is eas ier. 2. Stub modules are often complicated.
3. Earlie r skeletal programs allow demonstratio n (and 3. The rep resen tation of test cases in stubs can be difficult.
improve mo rale)
4. Ob servation o f test output is more difficult.

Bottom-up tcsting

I. More productive if major flaw s occur tow ard the bottom I. Driver modu les must be produced.
of the program.
2. Te st condition s are easier to crea te. 2. The program as an entity doe s not exist until the last
modu le is added.
3. Observation of test results is easier.

104
(3) Integrate the software system with the ware/software products at the end-item level are verified
hardware components and conduct system to have met contractual performance requirements.
validation in conformance with formal sys-
tem verification, validation, and test (6) Update the software product ("as-tested")
documents. baseline and place under configuration
control.
In this process, the software system is integrated with
the hardware components and system integration test-
During the software system testing phase, the require-
ing is conducted. This phase does not include accep-
ments baselines and product baselines are updated to
tance testing unless requested and contracted for. Sys- account for the changes in the system during the
tem testing validates the entire software system against implementation and integration phases. The final
system and performance requirements, using a simu- product baseline is called the" "as-tested" product
lated environment and real contrived data. Contrived
baseline and placed under formal configuration con-
data are better than "real" data for system testing. This trol. This is the baseline that is carried forward to the
provides "stress" data that might not be received from operation and maintenance phase of the life cycle.
real sources except in the most unusual circumstances.
When required, qualification or acceptance testing
can be conducted by the customer, or by the developer (7) Conduct final audits and reviews and "sell
for the customer, to demonstrate that the software orr' the product.
meets its specified requirements. Acceptance testing
validates the software against acceptance criteria in the The functional configuration audit (FCA) is a formal
users' environment with the final hardware-software examination of functional characteristics from test data
configuration. for a hardware/software system prior to acceptance to
verify that the item has achieved the performance
(4) Complete the user manual, operator man- specified in its requirements baselines. The physical
ual, and maintenance manual. configuration audit (PCA) is a formal examination of
the configuration of a hardware/software system
The user manual, operator manual, and maintenance against its technical documentation in order to estab-
manual are also the products of the software develop- lish the product or operational baseline.
ment process. The users carry out the system func- Functional and physical configuration audits are
tions; the operators are responsible for facility opera- performed on all items of software and hardware. The
tion, recovery, periodic backup, and so forth. functional configuration audit is conducted on the
The user manual, described earlier, communicates software at the completion of formal software testing.
with the users of the system and tells them how to use The physical configuration audit may be conducted at
the software system. The user manual would also the completion of the formal software testing or after
include positional handbooks. The operator manual system integration and testing.
.provides instructions on how to operate the system. On concurrence of the customer, the final system is
Operator and user manuals are frequently combined, turned over to the customer for future installation and
particularly when intended for use with personal operation.
computers.
The user manual is initiated during the software 3.5.1.3. Outputs
requirements generation phase, primarily as a check on
the software requirements specifications. The operator (1) Completed and validated system-The final
and maintenance manuals are initiated during the product for delivery to the customer
software design phase. These manuals are reviewed,
(2) Completed and validated documentation-
audited for accuracy, corrected where necessary, and
The final product for delivery to the cus-
delivered to the customer along with the finished
tomer
software.

(5) Review the products of the phase and ob-


tain joint concurrence among developers, 3.5.1.4. Control Gates
customers, and users.
(1) Final audits and reviews-An acceptable
The formal qualification review (FQR) is the test, in- final audit and review will permit the proj-
spection, or analytical process by which hard- ect to be delivered to the customer

105
4. Summary and Conclusions 8. Royce, W.W., "Software Systems Engineering," a
seminar presented during the Management of Software
Conducting software engineering without conducting Acquisition course, Defense Systems Management
SE puts a project in jeopardy of being incomplete or College, Fort Belvoir, V.A., 1981-1988.
the components not working together, and exceeding 9. Adapted from IEEE Standard Glossary of Software
its cost and scheduled budget. Engineering Terminology, ANSInEEE Std 729-1983,
System engineering and SwSE are primarily disci- IEEE, Inc., New York, 1983.
plines used in the front end of the system life cycle for
10. System Engineering Management Guide, 2nd Ed.,
technical planning and at the very late part of the life
Technical Management Department, Defense Systems
cycle to verify that the plans have been met. A review Management College, Fort Belvoir, V.A., 1986.
of the emphasis in this article will show that much of
the work of planning and SE is done during the top- 11. ANSInEEE Std 830-1984, IEEE Guide for Software
level requirements analysis and top-level design Requirements Specifications, IEEE, Inc., New York,
N.Y., 1984.
phases. The other major activity of SwSE is the final
validation and testing of the completed system. 12. Fairley, R.E., "A Guide for Preparing Software Project
System engineering principles, activities, tasks, Management Plans," in Tutorial: Software Engineering
and procedures can be applied to software develop- Project Management, edited by R.H. Thayer, IEEE
ment. This article has summarized, in broad steps, Computer Society Press, Los Alamitos, Calif., 1988.
what is necessary to implement SwSE on either a 13. Howes, N.R., "On Using the Users' Manual as the
hardware-software system (that is primarily software) Requirements Specification II," in Tutorial: System
or on an almost totally software system. Software sys- and Software Engineering Requirements, edited by
tem engineering is not cheap, but it is cost effective. R.H. Thayer and M. Dorfman, IEEE Computer So-
ciety Press, Los Alamitos, Calif., 1989.

References 14. ANSInEEE STD-829-1983, IEEE Standard for Soft-


ware Test Documents, IEEE, Inc., New York, N.Y.,
1983.
1. Gibbs, W.W., "Software's Chronic Crisis," Scientific
American, Sept. 1994, pp. 86-95. 15. ANSI/IEEE STD-I012-1986, Standard for Software
Verification and Validation Plans, IEEE, Inc., New
2. Royce, W.W., "Current Problems," in Aerospace Soft- York, N.Y., 1986.
ware Engineering: A Collection of Concepts, C. An-
derson and M. Dorfman, eds., American Institute of 16. MIL-STD 1521B (USAF), Technical Reviews and
Aeronautics, Inc., Washington, D.C., 1991. Audits for Systems, Equipment, and Computer Pro-
grams (proposed revision), Joint Policy Coordination
3. Fujii, R., Speaker, "IEEE Seminar in Software Verifi- Group on Computer Resource Management, U.S. Gov-
cation and Validation," Logicon, Inc.-Two-day public ernment Printing Office, Washington, D.C., 1985.
seminar presented by the IEEE Standards Board, July
1989. 17. ANSInEEE STD-I012-1986, Standard for Software
Verification and Validation Plans, IEEE, Inc., New
4. Department of Defense, MIL-STD-499A, Engineering York, N.Y., 1986.
Management (USAF), May 1, 1974.
18. ANSI/IEEE STD 1016-1987, IEEE Recommended
5. Sailor, J.D., "System Engineering Overview," in Tuto- Practices for Software Design Description. IEEE, Inc.,
rial: System and Software Engineering Requirements, New York, N.Y., 1987.
edited by R.H. Thayer and M. Dorfman, IEEE Com-
puter Society Press, Los Alamitos, Calif., 1989. 19. Martin, RJ. and W.M. Osborne, Guidance on Software
Maintenance, National Bureau of Standards Reports on
6. Royce, W.W., "Managing the Development of Large Computer Science and Technology, NBS Special Pub-
Software Systems," Proc. IEEE WESCON, 1970, pp. lication 500-106, U.S. Government Printing Office,
1-9. Reprinted in Tutorial: Software Engineering Washington, D.C., Dec. 1983.
Project Management, edited by R.H. Thayer, IEEE
Computer Society Press, Los Alamitos, Calif., 1988. 20. ANSInEEE STD-I012-1986, Standard for Software
Verification and Validation Plans, IEEE, Inc., New
7. Alberts, H.C., "System Engineer-Managing the Ge- York, N.Y., 1986.
stalt," in System Engineering Management Course
Syllabus, The Defense System Management College, 21. Myers, GJ., The Art ofSoftware Testing, John Wiley &
Fort Belvoir, V.A. 1988. Sons, New York, N.Y., 1979.

106
IEEE SId 1362-1998
(Incorporates
IEEEStd 1362a-1998)

IEEE Guide for Information Technology-


System Definition-Concept of
Operations (ConOps) Document

Sponsor
Software Engineering Standards Committee
of the
IEEE Computer Society

Approved 19 March 1998


IEEE-SA Standards Board

Abstract: The format and contents of a concept of operations (ConOps) document are described. A
ConOps is a user-oriented document that describes system characteristics for a proposed system from the
users' viewpoint. The ConOps document is used to communicate overall quantitative and qualitative
system characteristics to the user, buyer, developer, and other organizational elements (for example,
training, facilities, staffing, and maintenance). It is used to describe the user organization(s), mission(s). and
organizational objedives from an integrated systems point of view.
Keywords: buyer, charaderistics, concept of operation. concepts of operations document. ConOps,
developer, operational requirements, scenario, software-intensive system. software system. system. user.
user requirements. viewpoint

The Institute of Electrical and Electronics Engineers. Inc.


345 East47thStreet, NewYork, NY 10017·2394. USA

Copyright 0 1998by the Institute of Electrical and Electronics Engineers. Inc.


All rightsreserved. Published 31 December 1998. Printed In the United States of America.

Print: ISBN 0·7381·0185·2 SH94615


PDF: ISBN 0-7381·1407·3 SS94615

No part of this publication may be reproduced in anyform. in an electronic retrieval system or otherwise. without the priorwritten per-
mission of the publisher.

107
IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating Committees of
the IEEE Standards Board. Members of the committees serve voluntarily and without compensation. They are not
necessarily members of the Institute. The standards developed within IEEE represent a consensus of the broad
expertise on the subject within the Institute as well as those activitiesoutside of IEEE that have expressed an interest
in participatingin the development of the standard.

Use of an IEEEStandardis whollyvoluntary. The existenceof an IEEEStandarddoes not imply that there are no other
ways to produce,test, measure,purchase,market,or provideother goodsand servicesrelated to the scope of the IEEE
Standard. Furthermore, the viewpoint expressed at the time a standard is approved and issued is subject to change
brought about through developments in the state of the art and comments received from users of the standard. Every
IEEE Standard is subjected to reviewat least every five years for revisionor reaffirmation. When a document is more
than five years old and has not been reaffirmed, it is reasonable to conclude that its contents, although still of some
value, do not wholly reflect the present state of the art. Users are cautioned to check to determine that they have the
latest edition of any IEEE Standard.

Commentsfor revisionof IEEEStandardsare welcomefrom any interestedparty,regardlessof membershipaffiliation


with IEEE. Suggestions for changes in documents should be in the form of a proposed change of text, together with
appropriate supportingcomments.

Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they relate to
specific applications. When the need for interpretations is brought to the attention of IEEE, the Institute will initiate
action to prepare appropriate responses. Since IEEE Standards represent a consensus of all concerned interests, it is
important to ensure that any interpretation has also receivedthe concurrenceof a balance of interests. For this reason,
IEEE and the members of its societies and Standards Coordinating Committees are not able to provide an instant
response to interpretation requests except in those cases where the matter has previously received formal
consideration.Comments on standardsand requests for interpretations should be addressed to:

Secretary, IEEE Standards Board


445 Hoes LaneP.O. Box 1331
Piscataway,NJ 08855-1331
USA

Note:Attention is called to the possibilitythat implementation of this standard may require use of subject matter
covered by patent rights. By publication of this standard, no position is taken with respect to the existence or
validityof any patent rights in connectiontherewith. The IEEEshall not be responsiblefor identifying patents for
which a license may be required by an IEEE standard or for conductinginquiries into the legal validity or scope
of those patents that are brought to its attention.

Authorizationto photocopyportions of any individual standard for internal or personal use is granted by the Institute
of Electricaland ElectronicsEngineers,Inc., providedthat the appropriatefee is paid to Copyright Clearance Center.
To arrange for paymentof licensingfee, pleasecontactCopyrightClearanceCenter,CustomerService, 222 Rosewood
Drive, Danvers, MA 01923 USA; (508) 750-8400. Permission to photocopy portions of any individual standard for
educational classroom use can also be obtained through the CopyrightClearance Center.

lOB
Introduction

[This introduction is not a part of IEEE Std 1362-1998, IEEE Guide for Information Technology-System Definition-Concept of
Operations (ConOps) Document J

Purpose

This guidepresentsformatand contents of a conceptof operations (ConOps) document to be usedwhendeveloping or


modifying a software-intensive system. A software-intensive system is a system for which software is a major
technical challengeand is perhaps the major factor that affects system schedule, cost, and risk. In the most general
case, a software-intensive system is comprised of hardware, software, people, and manual procedures. To make this
guide more readable, the term "system" will be usedto meana software-intensive systemthat includes elementsto be
developed or modified, in additionto software. The term"softwaresystem"will be usedto meana software-intensive
systemin whichsoftware is the only component to be developed or modified.

This guide does not specifythe exact techniques to be used in developing the ConOps document, but it does provide
approaches that mightbe used.Eachorganization that usesthis guideshoulddevelop a set of practices and procedures
to providedetailedguidance for preparing and updating ConOps documents. These detailedpractices and procedures
shouldtake into accountthe environmental, organizational, and political factors that influence application of the guide.

The heart of the ConOpsdescribed in this guideis contained in Clauses 3 through5.

Clause 3 describes the existingsystem(manual or automated) that the user wantsto replace;
Clause4 provides justification for a newor modified systemand any restrictions on that system;and
Clause5 describes the proposed system.

The outlinesfor Clause3 and Clause 5 are almostidentical. This is not to say that the contentsof the finished ConOps
documentwill be identical. On the contrary, the contents shouldbe verydifferent. The outlinesare the same to remind
developers of the items that shouldbe includedand the actionsto be taken.

Not all softwareprojectsare concerned with development of sourcecode for a new software product. Some software
projectsconsistof a feasibility studyand definition of productrequirements. Otherprojectsterminate uponcompletion
of productdesign or are only concerned with modifications to existing software products. Applicability of this guide
is not limited to projectsthat develop operational versions of new products, nor is it limited by projectsize or scope.
Small projectsmay requireless formality than largeprojects, but all components of this guideshouldbe addressedby
every softwareproject.

The ConOpsapproach provides an analysisactivity and a document that bridges the gap between the user's needs and
visionsand the developer'stechnical specifications. In addition, the ConOps document provides the following:

A meansof describing a user's operational needswithoutbecoming boggeddownin detailedtechnical issues


that shall be addressedduringthe systemsanalysis activity.
A mechanism for documenting a system's characteristics and the user's operational needs in a manner that
can be verified by the userwithoutrequiring anytechnical knowledge beyond that required to performnormal
job functions.
A placefor usersto state theirdesires,visions, and expectations withoutrequiring the provision of quantified,
testable specifications. For example, the users could express their need for a "highly reliable" system, and
their reasons for that need, without having to produce a testable reliability requirement [In this case, the
user's need for "high reliability" might be statedin quantitative terms by the buyerprior to issuinga request
for proposal (RFP),or it might be quantified by the developer duringrequirements analysis. In any case, it is
thejob of the buyerand/or the developer to quantify users' needs.]

109
A mechanism for users and buyer(s) to express thoughts and concerns on possible solution strategies. In some
cases, design constraints dictate particular approaches. In other cases, there may be a variety of acceptable
solution strategies. The ConOps document allows users and buyer(s) to record design constraints, the
rationale for those constraints, and to indicate the range of acceptable solution strategies.

Intended uses

This guide is intended for use in a variety of situations by a variety of users including the following:

Acquirers using ISO/IEC 12207:1995, Information technology-Software life cycle processes, will find the
current guide suitable for satisfying the requirements of 5.1.1.1:
"The acquirer begins the acquisition process by describing a concept or a need to acquire, develop, or
enhance a system, software product or software service."
Users who formerly applied MIL-STD-498, Software Development and Documentation, and related
standards will find that the ConOps document described in this guide is very similar to the operational
concept description (OCD) included in MIL-STD-498.
Users of EIAlIEEE J-STD-016-1995, EIAlIEEE Interim Trial-Use Standard for Information Technology
Software Life Cycle Processes Software Development Acquirer-Supplier Agreement will find that the
ConOps document described in this guide is substantively identical to the OCD included in EIA/IEEE J-
STD-O16-1995.
Other users will find this guide useful in facilitating communication among the various stakeholders in a
project.

Software as part of a larger system

Software projects are sometimes parts of larger projects. In these cases, the software ConOps document may be a
separate document or it may be merged into the system level ConOps document.

Overview

This guide contains four clauses. Clause 1 defines the scope of this guide. Clause 2 provides references to other IEEE
standards that should be followed when applying this guide. Clause 3 provides definitions of terms that are used
throughout the guide. Clause 4 contains an overview and a detailed specification of the ConOps document, including
required components that should be included, and optional components that may be included in project plans based on
this guide.

Responsible organization

Ideally, the ConOps document should be written by representatives of the user community. In practice, other
individuals or organizations may write the ConOps (e.g., the buyer, a third party consultant, and/or the software
developer). In these cases, it is essential that user representatives be involved in reviewing, revising, and approving the
ConOps document. The primary goal for a ConOps document is to capture user needs, and to express those needs in
the user's terminology.

Audience

This guide is intended for users and buyers of software systems, software developers, and other personnel who prepare
and update operational requirements for software-intensive systems and monitor adherence to those requirements.

110
Evolution of plans

Developing the initial version of the ConOps document should be one of the first activities completed on a software
project.As the projectevolves,the natureof the workto be done anddetailsof the workwill be better understood. The
ConOpsdocumentshouldbe updated periodically to reflect the evolving situation. Thus,each version of the document
should be placed underconfiguration control.

Terminology

This guide follows the 1996editionof the IEEEStandards Style Manual. The terms should,may, might, and suggest
are used to indicate actions that should be used to develop a good ConOps document but that are not mandatory.
However, the authorsof a ConOps document shouldconsiderusingall aspectsof this guide to insurea completeand
effective document.

The ConOps document is sometimes calledan operational conceptdocument (OCD).

History

Use of a ConOps document was first documented in Lano, R. J., "A Structured Approach for Operational Concept
Formulation," TRW SS-80-02, TRW Defense and Space Systems Group, Redondo Beach, CA, 1980. In 1992 the
SoftwareSystemsTechnical Committee of theAmerican InstituteofAeronautics andAstronautics (AlAA),developed
a standardfor an OCD.

This ConOps guide originated in October 1993, as a Master of Science thesis at California State University,
Sacramento, and was supported by the U.S.Office of Research and Development. It was acceptedas MIL-STD-498,
Data Item Description (DID),by the DoD-Std-2167A Harmonizing Working Groupwithfewchanges. MIL-STD-498-
1995becameIEEE Std 1498-1995, which was redesignated J-STD-016-1995.

The IEEE Standards Board approved the project authorization request (PAR) for development of this guide in
June 1993.The firstdraft wassubmitted to the Software Engineering Standards Committee (SESC) on 8 August 1995;
it was returnedon 1 November 1995witha requestthat the guidebe harmonized withcertainother specified software
engineering standards. The seconddraft was submitted to the SESCon 28 February 1996.This draft was ballotedon
21 August 1996.

Participants

This guidewas writtenby the IEEEGuidefor a Conceptof Operations Document Working Group,whichis part of the
IEEE Computer Society. The following three individuals are the authors of this guide:

Richard H. Thayer
Richard E. Fairley
Per Bjorke

Other individuals who supported the development of this guideare:

Jed Bartlett MerlinDorfman RandyPaul


Boris I. Cogan RajkoMilovanovic Jane Radatz

The following persons wereon the balloting committee:

Mikhail Auguston PeterA. Berggren Alan L. Bridges


RobertE. Barry H. Ronald Berlack Kathleen L. Briggs
Mordechai Ben-Menachem AudreyC. Brewer ThomasG. Callaghan

111
Stuart Ross Campbell UmeshP. Hiriyannaiah Mike Ottewill
Leslie Chambers FabrizioImelio Donald J. Pfeiffer
Keith Chan GeorgeJackelen John G. Phippen
John P. Chihorek Vladan V. Javonovic Peter T. Poon
S. V. Chiyyarath Frank V. Jorgensen Margaretha W. Price
Antonio M. Cicu William S. Junk Kenneth R. Ptack
Theo Clarke George X. Kambic Andrew P. Sage
Darrell Cooksey David W. Kane Stephen R. Schach
W. W. Geoff Cozens Judith S. Kerner Norman F. Schneidewind
GregoryT. Daich RobertJ. Kierzyk Gregory D. Schumacher
Hillary Davidson Motti Y. Klein Robert W. Shillato
Neil Davis DwayneL. Knirk Richard S. Sky
Bostjan K. Derganc Shaye Koenig Alfred R. Sorkowitz
Michael P. DeWalt Thomas M. Kurihara Donald W. Sova
Dave Dikel J. Dennis Lawrence Fred J. Strauss
Charles Droz Michael Lines Michael Surratt
John W. Fendrich Dieter Look Douglas H. Thiele
Julian Forster David Maibor Booker Thomas .
Eva Freund Philip P. Male Patricia Trellue
'uan Garbajosa-Sopena Tomeo Matsubara Richard D. Tucker
Julio Gonzalez-Sanz Scott D. Matthews Theodore J. Urbanowicz
L. M. Gunther Patrick McCray Glenn D. Venables
John Harauz Bret Michael Camille S. White-Partain
. Rob Harker Alan Miller Charles D. Wilson
William Hefley Millard Allen Mobley Paul R. Work
Manfred Hein James W. Moore Weider D. Yu
Mark Heinrich Kartik C. Mujamdar Janusz Zalewski
Mark Henley Peter F. Zoll

The followingindividuals were part of the Life Cycle Data Harmonization working group for IEEE Std 13618-1998:

Leonard L. Tripp, Chair

Edward Byrne Dennis Lawrence Terry Rout


Paul R. Croll David Maibor Richard Schmidt
Perry DeWeese Ray Milovanovic Norman F. Schneidewind
Robin Fralick James Moore David Schultz
Marilyn Ginsberg-Finner Timothy Niesen Basil Sherlund
John Harauz Dennis Rilling Peter Voldner
Mark Henley Ronald Wade

The followingpersons were on the ballotingcommitteefor IEEE Std 13618-1998:

EduardoW. Bergamini GeoffreyDarnton Roger U. Fujii


H. Ronald Berlack Taz Daughtrey Marilyn Ginsberg-Finner
Richard E. Biehl Bostjan K. Derganc Julio Gonzalez-Sanz
Juris Borzovs Perry R. DeWeese Lewis Gray
David W. Burnett Leo Egan L. M. Gunther
Michael Caldwell Jonathan H. Fairclough David A. Gustafson
Antonio M. Cicu Richard E. Fairley John Harauz
FrancoisCoallier John W. Fendrich Rob Harker
Virgil Lee Cooper Jay Forster William Hefley
W. W. Geoff Cozens Kirby Fortenberry Debra Hemnann
Paul R. Croll Eva Freund Umesh P. Hiriyannaiah

112
DavidJohnson DonaldJ. Ostrom Lynn J. Simms
Frank V. Jorgensen Lalit M. Patnaik Carl A. Singer
William S. Junk Mark Paulk Fred J. Strauss
Ron S. Kenett John G. Phippen Toru Takeshita
Judith S. Kerner Alex Polack RichardH. Thayer
Robert J. Kierzyk PeterT. Poon DouglasH. Thiele
Thomas M. Kurihara Kenneth R. Ptack BookerThomas
John B. Lane Larry K. Reed PatriciaTrellue
J. Dennis Lawrence AnnE. Reedy Glenn D. Venables
Mary Leatherman DonaldJ. Reifer John W. Walz
William M. Lively AnnetteD. Reilly Camille S. White-Partain
Stan Magee AndrewP. Sage Scott A. Whitmire
David Maibor HelmutSandmayr P. A. Wolfgang
RobertA. Martin StephenR. Schach Paul R. Work
Patrick D. McCray Nonnan F. Schneidewind Janusz Zalewski
James W. Moore David J. Schultz GeraldineZimmennan
Pavol Navrat Robert W. Shillato Peter F. Zoll
DavidM. Siefert

When the IEEE-SAStandardsBoardapproved this standardon 19 March 1998, it had the following membership:

Richard J. Holleman, Chair


DonaldN.Heirman, Vice Chair
Judith Gorman, Secretary

Satish K. Aggarwal James H. Gurney L. Bruce McClung


Clyde R. Camp Jim D. Isaak: Louis-Francois Pau
JamesT.Carlo Lowell G. Johnson RonaldC. Petersen
Gary R. Engmann RobertKennelly Gerald H. Peterson
Harold E. Epstein E. G. "AI" Kiener John B. Posey
Jay Forster* Joseph L. Koepfinger* Gary S. Robinson
Thomas F. Garrity StephenR. Lambert Hans E. Weinrich
Ruben D. Garzon Jim Logothetis Donald W. Zipse
DonaldC. Loughry

*MemberEmeritus

Kim Breitfelder
IEEE Standards Project Editor

113
Contents

1. Scope 1

2. References ~ 1

3. Definitions 2

4. Elements of a ConOps document 4

4.1 Scope (Clause 1 of the ConOps document) 5


4.2 Referenced documents (Clause 2 of the ConOps document) 6
4.3 Current system or situation (Clause 3. of the ConOps document) 7
4.4 Justification for and nature of changes (Clause 4 of the ConOps document) 9
4.5 Concepts for the proposed system (Clause 5 of the ConOps document) 11
4.6 Operational scenarios (Clause 6 of the ConOps document) 14
4.7 Summary of impacts (Clause 7 of the ConOps document) 15
4.8 Analysis of the proposed system (Clause 8 of the ConOps document) 16
4.9 Notes (Clause 9 on the ConOps document) 16
4.10 Appendices (Appendices of the ConOps document) 16
4.11 Glossary (Glossary of the ConOps document) 16

Annex A (Informative) IEEFlEIA 12207.1-1997 Compliance Statement. 17

114
IEEE Guide for Information Technology-
System Definition-Concept of
Operations (ConOps) Document

1. Scope

This guide prescribes the formatand contents of the conceptof operations (ConOps) document. A ConOps is a user-
orienteddocument that describes systemcharacteristics of the to-be-delivered systemfrom the user's viewpoint. The
ConOps document is usedto communicate overall quantitative andqualitative systemcharacteristics to the user,buyer,
developer, and otherorganizational elements (e.g.,training, facilities, staffing, and maintenance). It describes the user
organization(s), mission(s), and organizational objectives from an integrated systems pointof view.

This guide may be applied to all types of software-intensive systems: software-only or softwarelhardwarelpeople
systems. The concepts embodied in this guidecouldalso be usedfor hardware-only systems, but this modeof use is
not addressed herein. The size, scope, complexity, or criticality of the software productdoes not restrict use of this
guide.This guideis applicable to systems that willbe implemented in all formsof productmedia, including firmware,
embedded systems code,programmable logicarrays, and software-in-silicon. This guidecan be appliedto any and all
segments of a systemlife cycle.

This guide identifies the minimal set of elements that should appear in all ConOps documents. However, users of this
guide may incorporate other elements by appending additional clausesor subclauses to their ConOps documents. In
any case, the numbering schemeof the required clauses and subclauses shouldadhere to the formatspecified in this
guide. Various clausesand subclauses of a ConOps document may be included by directincorporation or by reference
to other supporting documents.

2. References

This guide shall be used in conjunction with the following publications. In particular, the standards on requirements
and plans shouldbe consulted in preparing the ConOps. When the following standards are superseded by an approved
revision, the revision shall apply.
IEEEStd 610.12-1990, IEEEStandard Glossary of Software Engineering Terminology!

lIEEEpublications are available fromthe Institute of Electrical and Electronics Engineers, 445 Hoes Ln., P.O.Box 1331, Piscatlway, NJ08855-
1331, USA.

Copyright C 1998 IEEEAll Rights Reserved

115
IEEE Std 1362·1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY·-SYSTEM DEFINITION

IEEE Std 828-1998,IEEE Standardfor SoftwareConfiguration Management Plans.

IEEE Std 830-1998,IEEE Recommended Practicefor Software Requirements Specifications.

IEEE Std 1058-1998, IEEE Standardfor Software Project Management Plans.

IEEE Std 1058.1-1987 (Reaff 1993),IEEE Standardfor SoftwareProject ManagementPlans.

IEEE Std 1061-1992, IEEE Standardfor SoftwareQuality Metrics Methodology.

IEEE 1062, 1998 Edition, IEEE Recommended Practicefor SoftwareAcquisition.

IEEE Std 1074-1997, IEEE Standardfor Developing Software Life Cycle Processes.

IEEE 1233, 1998 Edition, IEEE Guide for Developing System Requirements Specifications.

IEEFJEIA 12207.0-1996, IEEFJEIA Standard-Industry Implementation of ISO/IEC 12207: 1995, for Information
Technology- Softwarelife cycle processes.

IEEFlEIA 12207.1-1997, IEEFJEIA Guide for Information Technology- Software life cycle processes-Ufe cycle
data.

3. Definitions

The definitions listed here establish meanings within the context of this guide. Definitions of other terms that may be
appropriate within the context of this guide can be found in IEEE Std 610.12-1990.

3.1 analysis: The process of studying a system by partitioning the system into parts (functions, components, or
objects) and determininghow the parts relate to each other.
3.2 buyer: (A) An individual or organization responsiblefor acquiring a product or service (for example, a software
system) for use by themselves or other users. See also: customer. (B) The person or organization that accepts the
system and pays for the project.
3.3 concept analysis: The derivationof a system concept through the applicationof analysis. See also: analysis.
3.4 concept of operations (ConOps) document: A user-oriented document that describes a system's operational
characteristics from the end user's viewpoint. Synonym: operational concept description (OCD).
3.5 constraint: An externallyimposedlimitationon systemrequirements, design,or implementationor on the process
used to developor modify a system.
3.6 contract: In project management, a legally binding document agreed upon by the customer and the hardware or
software developer or supplier; includes the technical, organizational, cost, and/or scheduling requirements of a
project.
3.7 customer: (A) An individual or organization who specifiesthe requirementsfor and formally accepts delivery of
a new or modified hardwareor softwareproduct and its documentation; the customer mayor may not be the ultimate
user of the system. There are potentially many levels of customers, each with a different level of requirements to
satisfy. The customer may be internal or external to the development organization for the project. See also: user. (B)
An individual or organization who acts for the ultimate user of a new or modified hardware or software product to
acquire the product and its documentation. See also: buyer.
3.8 developer: An organization that develops software products; "develops" may include new development,
modification, reuse, reengineering, maintenance, or any other activity that results in software products, and includes
the testing, quality assurance, configuration management, and other activities applied to these products. Synonym:
supplier.

Copyright C 1998IEEEAll RightsReserved

116
CONCEPTOF OPERATIONS (CONOPS) DOCUMENT IEEE Sid 1362-1998

3.9 environment: The circumstances, objects, and conditions that surrounda system to be built; includes technical,
political, commercial, cultural, organizational, and physical influences as well as standards and policies that govern
what a system must do or how it will do it.
3.10 functionality: The capabilitiesof the various computational, user interface,input, output,data management, and
other features providedby a product. .
3.11 mode: A set of related features or functional capabilities of a product, (e.g., on-line, off-line, and maintenance
modes).
3.12 N2 diagram: A system engineering or software engineering tool for tabulating, defining, analyzing, and
describingfunctional interfacesand interactionsamongsystemcomponents. The N'- diagramis a matrixstructurethat
graphically displays the bidirectional interrelationships between functions and components in a given system or
structure.
3.13 operational concept description (OCD): See: concept of operations (ConOps) document.
3.14 priority: A rank order of status,activities, or tasks. Priorityis particularly importantwhenresourcesare limited.
3.15 problem domain: A set of similar problems that occur in an environment and lend themselves to common
solutions.
3.16 request for proposal (RFP): A requestfor services,research,or a productpreparedby a customerand delivered
to prospective developers with the expectation that prospective developers will respond with their proposed cost,
schedule,and development approach.
3.17 scenario: (A) A step-by-step description of a seriesof eventsthat may occurconcurrently or sequentially. (B)An
account or synopsisof a projectedcourse of eventsor actions.
3.18 software-intensive system: A systemfor whichsoftwareis a majortechnical challengeand is perhapsthe major
factor that affects system schedule,cost, and risk. In the most general case, a software-intensive system is comprised
of hardware,software,people,and manual procedures.
3.19 software life cycle: The system or product cycle initiated by a user need or a perceived customer need and
terminated by discontinued use of the product. The software life cycle typically includes a concept phase,
requirements phase, design phase, implementation phase, test phase, installationand checkout phase, operation and
maintenancephase, and, sometimes, retirementphase.These phasesmay overlapin time or may occur iteratively.
3.20 software system: A software-intensive system for which software is the only component to be developed or
modified. See also: software-iDtensive system.
3.21 solution domain: The environment in whicha solutionor set of solutionsresides. Seealso: problem domain.
3.22 supplier: See: developer.
3.23 system: (A) A collection of interacting components organized to accomplish a specific function or set of
functions withina specificenvironment, (B)A groupof people,objects,and procedures constitutedto achievedefined
objectives of some operational role by performing specified functions. A complete system includes all of the
associated equipment, facilities, material, computer programs, firmware, technical documentation, services, and
personnel required for operations and support to the degree necessary for self-sufficient use in its intended
environment.
3.24 traceability: The identification and documentation of derivation paths (upward) and allocation or flowdown
paths (downward) of work productsin the workproducthierarchy. Importantkinds of traceability include: to or from
externalsources to or from systemrequirements; to or from systemrequirements to or from lowestlevelrequirements;
to or from requirements to or from design; to or from designto or from implementation; to or from implementation to
test; and to or from requirements to test.
3.25 user: (A) An individual or organization who uses a software-intensive system in their daily work activities or
recreational pursuits.(B) The person (or persons) whooperatesor interactsdirectly with a software-intensive system.
3.26 user need: A user requirementfor a system that a user believes wouldsolve a problemexperienced by the user.

Copyright C 1998 IEEEAll Rights Reserved

117
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY-SYSTEM DEFINITION

4. Elements of a ConOps document

This clause describes each of the essential elements of a ConOps document. These elements should be ordered in the
sequenceof clauses and subclausesshownin Table 1. Each versionof a ConOpsdocument based on this guide should
contain a title and a revision notice that uniquely identifies the document. Revision information may include the
project name, versionnumber of the document,date of release,approval signatures,a list of subclauses that have been
changed in the current version of the document, and a list of version numbers and dates of release of all previous
versionsof the document.The approvedConOpsdocumentshould be placed under configuration control.

As indicated in Table 1, the preface of a ConOps document provides information that the writer wants the reader to
know prior to reading the document. The preface should include the purpose of the document, the scope of activities
that resulted in its development, who wrote the document and why, the intended audience for the document, and the
expectedevolution of the document.

A table of contents, a list of figures, and a list of tables should be included in every ConOps document, as indicated in
Figure 1.

Copyright C 1998 IEEE All Rights Reserved

118
CONCEPTOF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362-1998

Title page
Revision chart
Preface
Table of contents
List of figures
List of tables
1. Scope
1.1 Identification
1.2 Documentoverview
1.3 System overview
2. Referenced documents
3. Current system or situation
3.1 Background, objectives,and scope
3.2 Operational policies and constraints
3.3 Descriptionof the current system or situation
3.4 Modes of operation for the current system or situation
3.5 User classes and other involved personnel
3.6 Supportenvironment
4. Justificationfor and nature of changes
4.1 Justication of changes
4.2 Descriptionof desired changes
4.3 Priorities among changes
4.4 Changes considered but not included
5. Conceptsfor the proposed system
5.1 Background, objectives,and scope
5.2 Operationalpolicies and constraints
5.3 Descriptionof the proposed system
5.4 Modes of operation
5.5 User classes and other involved personnel
5.6 Support environment
6. Operationalscenarios
7. Summary of impacts
7.1 Operationalimpacts
7.2 Organizational impacts
7.3 Impacts during development
8. Analysis of the proposed system
8.1 Summaryof improvements
8.2 Disadvantages and limitations
8.3 Alternativesand trade-offs considered
9. Notes
Appendices
Glossary

Figure 1-ConOps document outline

4.1 Scope(Clause 1 of the ConOpa document)

Clause 1 providesan overviewof the ConOpsdocumentand the system to which it applies.

Copyright@1998 IEEE All Rights Reserved

119
IEEE Sid 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

4.1.1 Indentlflcatlon (1.1 of the ConOps document)

This subclause contains the identifying number, title, and abbreviation (if applicable) of the system or subsystem to
which this ConOps applies. If related ConOps documents for an overall system have been developed in a hierarchical
or network manner, the position of this document relative to other ConOps documents should be described.

4.1.2 Document overview (1.2 of the ConOps document)

This subclause summarizes and expands on the purposes of motivations for the ConOps document. The intended
audience for the document should also be mentioned. In addition, this subclause describes any security or privacy
considerations associated with use of the ConOps. This subclause also outlines the remaining parts of this guide.

The purposes of a ConOps document will, in most cases, be:

To communicate the user's needs for and expectations of the proposed system to the buyer and/or developer;
or
To communicate the buyer's or developer's understanding of the users' need and how the system shall operate
to fulfill those needs.

However,a ConOps document might also serve other purposes, such as building consensus among several user groups,
among several buyer organizations, and/or among several developers.

The audience of a ConOps document can be a variety of people.

Users might read it to determine whether their needs and desires have been correctly specified by their
representative or to verify the developer's understanding of their needs.
Buyers might read it to acquire knowledge of the user's needs and/or developer's understanding of those
needs.
Developers will typically use the ConOps document as a basis for system development activities, and to
familiarize new team members with the problem domain and the system to which the ConOps applies.

4.1.3 System overview (1.3 of the ConOps document)

This subclause briefly states the purpose of the proposed system or subsystem to which the ConOps applies. It
describes the general nature of the system, and identifies the project sponsors, user agencies, development
organizations, support agencies, certifiers or certifying bodies, and the operating centers or sites that will run the
system. It also identifies other documents relevant to the present or proposed system.

A graphical overview of the system is strongly recommended. This can be in the form of a context diagram, a top-level
object diagram, or some other type of diagram that depicts the system and its environment.

Documents that might be cited include, but are not limited to: the project authorization, relevant technical
documentation, significant correspondence, documents concerning related projects, risk analysis reports, and
feasibility studies.

4.2 Referenced documents (Clause 2 of the ConOps document)

This clause lists the document number, title, revision, and date of all documents referenced in the ConOps document.
This clause should also identify the source for all documents not available through normal channels.

Copyright@ 1998IEEEAll Rights Reserved

120
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEE SId 1362-1998

4.3 Current system or situation (Clause 3 of the ConOps document)

Clause 3 describes the system or situation (either automated or manual) as it currently exists. If there is no current
system on which to base changes, this subclausedescribes the situation that motivatesdevelopmentof the proposed
system. In this case, the followingsubclauseswill be tailored as appropriateto describe the motivating situation.

This clause also provides readers with an introduction to the problem domain. This enables readers to better
understandthe reasons for the desired changes and improvements.

4.3.1 Background, ObJectives, and scope (3.1 of the ConOps document)

This subclauseprovidesan overviewof the current system or situation,includingas applicable,background,mission,


objectives,and scope. In addition to providingthe background for the current system, this subclause should provide a
brief summary of the motivation for the current system. Examples of motivations for a system might include
automation of certain tasks or counteringof certain threat situations. The goals for the current system should also be
defined, together with the strategies,solutions,tactics, methods,and techniques used to accomplish them. The modes
of operation, classes of users, and interfaces to the operational environmentdefine the scope of the proposed system,
which are summarizedin this clause and definedin greater detail in subsequentclauses.

4.3.2 Operational policies and constraints (3.2 of the ConOps document)

This subclause describes any operational policies and constraints that apply to the current system or situation.
Operational policies are predetermined management decisions regarding the operations of the current system,
normally in the form of general statements or understandings that guide decision making activities. Policies limit
decision-making freedom but do allow for some discretion. Operational constraints are limitations placed on the
operations of the current system. Examplesof operational constraintsinclude the following:

A constrainton the hours of operationof the system, perhaps limited by access to secure terminals
A constrainton the number of personnel availableto operate the system
A constraint on the computer hardware(for example,must operate on computer X)
A constrainton the operationalfacilities, such as officespace

4.3.3 Description of the current system or situation (3.3 of the ConOps document)

This subclause will contain the major portion of the descriptionof the current system. It provides a description of the
current system or situation, includingthe following, as appropriate:

a) The operationalenvironmentand its characteristics;


b) Major system componentsand the interconnection among those components;
c) Interfacesto external systems or procedures;
d) Capabilities,functions,and features of the current system;
e) Charts and accompanying descriptions depicting inputs, outputs, data flows, control flows, and manual and
automatedprocesses sufficientto understand the current system or situationfrom the user's point of view;
f) Cost of system operations;
g) Operational risk factors;
h) Performancecharacteristics, such as speed, throughput, volume,frequency;
i) Quality attributes, such as: availability, correctness, efficiency, expandability, flexibility, interoperability,
maintain-ability, portability, reliability, reusability, supportability, survivability, and usability;and
j) Provisionsfor safety,security,privacy, integrity, and continuityof operations in emergencies.

Copyright C 1998 IEEEAll RightsReserved

121
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

Since the purpose of this clause is to describe the current system and how it operates, it is appropriate to use any tools
and/or techniques that serve this purpose. It is important that the description of the system be simple enough and clear
enough that all intended readers of the document can fully understand it. It is also important to keep in mind that the
ConOps document shall be written using the users' terminology. In most cases, this means avoidance of terminology
specific to computers (i.e., "computer jargon").

Graphical tools should be used whereverpossible, especially since ConOps documents should be understandable by
several different types of readers. Useful graphical tools include, but are not limited to, work breakdown structures
(WaS), N2 charts, sequence or activity charts, functional flow block diagrams, structure charts, allocation charts, data
flow diagrams (DFD), object diagrams, context diagrams, storyboards, and entity-relationship diagrams.

The description of the operational environment should identify, as applicable, the facilities, equipment, computing
hardware, software,personnel,and operationalproceduresused to operate the existing system. This description should
be as detailed as necessary to give the readers an understanding of the numbers, versions, capacity, etc., of the
operational equipment being used. For example, if the current system contains a database, the capacity of the storage
unit(s) should be specified, provided the information exerts an influence on the users' operational capabilities.
Likewise, if the system uses communication links, the capacities of those links should be specified if they exert
influence on factors such as user capabilities, response time, or throughput.

Those aspects of safety, security, and privacy that exert influenceon the operation or operational environment of the
current system should be described.

The author(s) of a ConOps document should organizethe informationin this subclause as appropriate to the system or
situation, as long as a clear description of the existing system is achieved. If parts of the descriptions are voluminous,
they can be included in an appendix or incorporatedby reference.An example of material that might be included in an
appendix would be a data dictionary. An example of material to be included by reference might be a detailed manual
of operational policies and procedures for the current system.

4.3.4 Modes of operation for the current system or situation (3.4 In the ConOps document)

This subclause describes the various modes of operation for the current system or situation (e.g., operational,
degraded, maintenance, training, emergency, alternate-site, peacetime, wartime, ground-based, flight, active, and idle
modes). All of the modes that apply to all classes of users should be included. Important modes to include are
degraded, backup, and emergency modes, if such exist. This is especially true if these modes involve different
geographical sites and equipment that have significant impacts on the operational aspects of the system.

This subclause can be further divided into lower-level subclauses, one for each mode described. System processes,
procedures, and capabilities or functions should be related to each mode, as appropriate, perhaps using a cross-
reference matrix.

4.3.5 User classes and other Involved personnel (3.5 of the ConOps document)

A user class is distinguished by the ways in which users interact with the system. Factors that distinguish a user class
include common responsibilities,skill levels, workactivities,and modes of interaction with the system. Different user
classes may have distinct operational scenarios for their interactions with the system. In this context, a user is anyone
who interacts with the existing system, includingoperational users,data entry personnel,system operators, operational
support personnel, software maintainers, and trainers.

This subclause can beorganized further, as follows, if it is helpful in communicating the content.

4.3.5.1 Organizational structure (3.5.1 of the ConOps document)

This subclause describes the existing organizational structures of the various user groups and user classes that are
involvedwith the current system. Organizational charts are useful graphic tools for this purpose.

Copyright e 1998IEEEAll Rights Reserved

122
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEE SId 1362-1998

4.3.5.2 Profiles of user classes (3.5.2 of the ConOps document)

This subclause provides a profile of each userclass for the currentsystem. If some usersplay several roles, each role
should be identified as a separate user class.

Each user class for the current system, including operators and maintainers, should be described in a separate
subclause. Each of these should provide a description of the user class, including responsibilities, education,
background, skill level,activities, and modesof interaction with the currentsystem.

4.3.5.3 Interactions among user classes (3.5.3 of the ConOps docu~ent)

This subclause describes interactions among the various user classes involved with the current system. In particular,
interactions among user groups, operators, and maintainers should be described. Interactions that occur among the
users of the system, and between users and non-users, both within the organization and across organizational
boundaries, if theyare relevant to the operation of the existing system, shouldbe described. Informal as wellas formal
interactions should be included. .

4.3.5.4 Other Involved personnel (3.5.4 of the ConOps document)

This subclause describes other personnel who willnot directlyinteractwiththe system,but who havean influence on,
and are influenced by,the presentsystem. Examples includeexecutive managers, policymakers, and the user's clients.
Although theseindividuals do not havehands-on interaction withthe system,they may significantly influence, and be
influenced by,the new or modified system.

4.3.6 Support environment (3.6 of the ConOps document)

This subclausedescribes the supportconcepts and supportenvironment for the current system,including the support
agency or agencies; facilities; equipment; support software; repair or replacement criteria; maintenance levels and
cycles;and storage,distribution, and supplymethods.

4.4 Justification for and nature of changes (Clause 4 of the ConOps document)

Clause 4 of the ConOps document describes the shortcomings of the current system or situation that motivate
development of a new systemor modification of an existing system. This clauseprovides a transition from Clause3 of
the ConOps,whichdescribes the currentsystemor situation, to Clause5 of the ConOps, whichdescribes the proposed
system. If there is no current system on which to base changes, this subclause should so indicate and provide
justificationfor the featuresof the new system.

4.4.1 Justification for changes (4.1 of the ConOps document)

This subclauseshould:

a) Briefly summarize new or modified aspectsof the user needs,missions, objectives, environments, interfaces,
personnel, or other factorsthat requirea newor modified system;
b) Summarize the deficiencies or limitations of the currentsystemor situation that makeit unableto respondto
new or changedfactors; and
c) Providejustification for a new or modified system.
1) If the proposedsystem is to meet a new opportunity, describe the reasons why a new system should be
developed to meet this opportunity.
2) If the proposed system improves a current operation, describe the rationale behind the decision to
modifythe existingsystem(e.g., to reducelife cyclecosts or improve personnel efficiency).
3) If the proposedsystemimplements a newfunctional capability, explainwhy this function is necessary.

Copyright@ 1998IEEEAll Rights Reserved

123
IEEE Std 1362-1998 IEEEGUIDEFOR INFORMATION TECHNOLOGY-SYSTEM DEFINITION

4.4.2 Description of desired changes (4.2 of the ConOps document)

This subclause summarizes new or modified capabilities, functions, processes, interfaces, and other changes needed to
respond to the factors identified in 4.1. Changes should be based on the current system described in Clause 3 of the
ConOps document If there is no existing system on which to base changes, this subclause should summarize the
capabilities to be provided by a new system. This description should include the following, as appropriate:

a) Capability changes. Description of the functions and features to be added, deleted, and modified in order for
the new or modified system to meet its objectives and requirements.
b) System processing changes. Description of the changes in the process or processes of transforming data that
will result in new output with the same data, the same output with new data, or both.
c) Interface changes. Description of changes in the system that will cause changes in the interfaces and changes
in the interfaces that will cause changes in the system.
d) Personnel changes. Description of changes in personnel caused by new requirements, changes in user classes,
or both.
e) Environment changes. Description of changes in the operational environment that will cause changes in the
system functions, processes, interfaces, or personnel and/or changes that should be made in the environment
because of changes in the system functions, processes, interfaces, or personnel.
f) Operational changes. Description of changes to the user's operational policies, procedures, methods, or daily
work routines caused by the above changes.
g) Support changes. Description of changes in the support requirements caused by changes in the system
functions, processes, interfaces, or personnel and/or changes in the system functions, processes, interfaces, or
personnel caused by changes in the support environment.
h) Other changes. Description of other changes that will impact the users, but that do not fit under any of the
above categories.

4.4.3 Priorities among changes (4.3 of the ConOps document)

This subclause identifies priorities among the desired changes and new features. Each change should be classified as
essential, desirable, or optional. Desirable and optional changes should be prioritized within their classes. If there is no
existing system on which to base changes, this subclause should classify and prioritize the features of the proposed
system.

a) Essential features. Features that shall be provided by the new or modified system. The impacts that would
result if the features were not implemented should be explained for each essential feature.
b) Desirable features. Features that should be provided by the new or modified system. Desirable features
should be prioritized. Reasons why the features are desirable should be explained for each desirable feature.
c) Optional features. Features that might be provided by the new or modified system. Optional features should
be prioritized. Reasons why the features are optional should be explained for each optional feature.

Classifying the desired changes and new features into essential, desirable, and optional categories is important to guide
the decision making process during development of the proposed system. This information is also helpful in cases of
budget or schedule cuts or overruns, since it permits determination of which features must be finished, and which ones
can be delayed or omitted.

4.4.4 Changes considered but not Included (4.4 of the ConOps document)

This subclause identifies changes and new features considered but not included in 4.2 of the ConOps document, and
the rationale for not including them. By describing changes and features considered but not included in the proposed
system, the authors document the results of their analysis activities. This information can be useful to other personnel
involved with system development, whether it be users, buyers, or developers should they want to know if a certain

Copyright C 1998 IEEE All Rights Reserved

124
CONCEPTOF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362·1998

change or feature was considered, and if so, why it was not included. In software especially, there are few, if any,
outward signs of what has been changed, improved or is still unsafe or unsecure (e.g., in certain scenarios or
workarounds).

4.4.5 Assumptions and constraints (4.5 of the ConOps document)

This subclausedescribes any assumptions or constraints applicableto the changesand new features identifiedin this
clause. This shouldincludeall assumptions and constraints that will affect users during development and operationof
the newor modified system.An assumption is a conditionthat is takento be true.An exampleof an assumptionis that
the system workload will double over the next two years, thus a new system with higher performanceis required. A
constraint is an externallyimposedlimitationplaced on the new or modified system or the processes used to develop
or modify the system. Examples of constraints include external interface requirements, and limits on schedule and
budget.

4.5 Concepts for the proposed system (Clause 5 of the ConOps document)

This clause describes the proposedsystem that results from the desired changes specified in Clause 4 of the ConOps
document.This clause describes the proposedsystem in a high-level manner, indicatingthe operational features that
are to be provided without specifying design details. Methodsof description to be used and the level of detail in the
description will depend on the situation. The level of detail should be sufficient to fully explain how the proposed
system is envisioned to operate in fulfilling users' needs and buyer's requirements.

In some cases, it may be necessary to provide some level of design detail in the ConOps. The ConOps should not
contain design specifications, but it may contain some examples of typical design strategies, for the purpose of
clarifyingoperational details of the proposedsystem.In the eventthat actualdesign constraintsneed to be includedin
the description of the proposed system, they shall be explicitly identified as required to avoid possible
misunderstandings.

NOTE - If someof the features of the proposed system are the sameas the features of the original system,then the comment'no
change"shouldappearafter the subclause numberand name.

4.5.1 Background, ObJectives, and scope (5.1 of the ConOps document)

This subclause providesan overview of the new or modified system, including,as applicable, background, mission,
objectives,and scope. In add)tionto providing the background for the proposedsystem,this subclauseshouldprovide
a brief summaryof the motivation for the system.Examples of motivations for a system might include automationof
certain tasks or taking advantage of new opportunities. The goals for the new or modified system should also be
defined, together with the strategies, solutions, tactics, methods, and techniques proposed to achieve those goals. The
modes of operation, classes of users, and interfaces to the operational environment define the scope of the proposed
system, which are summarizedin this subclauseand defined in greaterdetail in subsequent subclauses.

4.5.2 Operational policies and constraints (5.2 of the ConOps document)

This subclausedescribesoperational policies and constraints that apply to the proposedsystem. Operational policies
are predetermined management decisionsregarding the operationof the newor modified system,normallyin the form
of general statements or understandings that guide decision-making activities. Policies limit decision-making
freedom, but do allow for some discretion. Operational constraints are limitations placed on the operations of the
proposed system. Examples of operational constraints includethe following:

A constraint on the hours of operationsof the system,perhapslimited by access to secure terminals;


A limiting constraint on the numberof personnel available to operate the system;
A limiting constrainton the computerhardware (e.g., must operate on computer X); and
A limiting constrainton the operational facilities, such as officespace.

CopyrightC 1998 IEEE All Rights Reserved

125
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

4.5.3 Description of the proposed system (5.3 of the ConOps document)

This subclause will contain the major portion of the description of the proposed system. It provides a description of the
proposed system, including the following, as appropriate:

a) The operational environment and its characteristics;


b) Major system components and the interconnections among these components;
c) Interfaces to external systems or procedures;
d) Capabilities or functions of the proposed system;
e) Charts and accompanying descriptions depicting inputs, outputs, data flow, and manual and automated
processes sufficient to understand the proposed system or situation from the user's point of view;
t) Cost of systems operations;
g) Operational risk factors;
h) Performance characteristics, such as speed, throughput, volume, frequency;
i) Quality attributes, such as: reliability, availability, correctness, efficiency, expandability, flexibility,
interoperability, maintainability, portability, reusability, supportability, survivability, and usability; and
j) Provisions for safety, security, privacy, integrity, and continuity of operations in emergencies.

Since the purpose of this subclause is to describe the proposed system and how it should operate, it is appropriate to
use any tools and/or techniques that serve that purpose. It is important that the description of the system be simple
enough and clear enough that all intended readers of the document can fully understand it. It is important to keep in
mind that the ConOps shall be written in the user's language. In most cases, this means avoidance of terminology
specific to computers-in other words, "computer jargon."

Graphics and pictorial tools should be used wherever possible, especially since ConOps documents should be
understandable be several different types of readers. Useful graphical tools include, but are not limited to, was,
N2 charts, sequence or activity charts, functional flow block diagrams, structure charts, allocation charts, DFDs, object
diagrams, storyboards, and entity relationship diagrams.

The description of the operational environment should identify, as applicable, the facilities, equipment, computing
hardware, software, personnel, and operational procedures needed to operate the proposed system. This description
should be as detailed as necessary to give the readers an understanding of the numbers, versions, capacity, etc., of the
operational equipment to be used. For example, if the proposed system contains a database, the capacity of the storage
units should be specified, provided that information influences the users' operational capabilities. Likewise, if the
system uses communication links, then the capacities of those links should be specified if they exert influence on user
capabilities or response time.

Those aspects of safety, security, and privacy that exert influence on the operation or operational environment of the
proposed system should be described.

The author(s) of a ConOps document should organize the information in this subclause as appropriate to the system or
situation, as long as a clear description of the proposed system is achieved. If parts of the description are voluminous,
they can beincluded in an appendix or incorporated by reference. An example of material that might be included in an
appendix would be a data dictionary. An example of material to be included by reference might be a detailed manual
of operation policies and procedures for the proposed system.

Copyright © 1998 IEEE All Rights Reserved

126
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362·1998

4.5.4 Modes of operation (5.4 of the ConOps document)

This subclause describes the various modes of operation for the proposes system (for example, regular, degraded,
maintenance, training, emergency, alternate-site, peacetime, wartime, ground-based, flight, active, and idle modes).
Include all of the modes that apply to all user classes. Important modes to include are degraded, backup, and
emergency modes, if such exist. This is especially true if these modes involve different geographical sites and
equipment that have significant impacts on the system.

This subclause can be further divided into lower-level subclauses, one for each mode described. System processes,
procedures, and capabilities or functions should be related to each mode.

4.5.5 User classes and other Involved personnel (5.5 of the ConOps document)

A user class is distinguished by the ways in which the users interact with the system. Factors that distinguish a user
class include responsibilities, skill level, work activities, and mode of interaction with the system. Different user
classes may have distinct operational scenarios for their interactions with the system. In this context, a user is anyone
who will interact with the proposed system, including operational users, data entry personnel, system operators,
operational support personnel, software maintainers, and trainers.

This subclause can be further divided into lower-level subclauses if it is helpful in communicating the content.

4.5.5.1 Organizational structure (5.5.1 of the ConOps document)

This subclause describes the organizational structures of the various user groups and user classes that will be involved
with the proposed system. Organizational charts are useful graphic tools for this purpose.

4.5.5.2 Profiles of user classes (5.5.2 of the ConOps document)

This subclause provides a profile of each user class for the proposed system. If some users play several roles, each role
should be identified as a separate user class.

Each user class for the proposed system, including operators and maintainers, should be described in a separate
subclause. Each subclause should provide a description of the user class, including responsibilities, education,
background, skill level, activities, and envisioned modes of interaction with the proposed system.

4.5.5.3 Interactions among user classes (5.5.3 of the ConOps document)

This subclause describes interactions among the various user classes that may be involved with the proposed system.
In particular, interaction among user groups, operators, and maintainers should be described. Interactions that will
occur among the users of the proposed system, and between users and non-users, both within the organization and
across interfacing organizations, if they are relevant to the operation of the proposed system, should be described.
Informal as well as formal interactions should be included.

4.5.5.4 Other Involved personnel (5.5.4 of the ConOpa document)

This subclause describes other personnel who will not directly interact with the system, but who have an influence on,
and are influenced by, the present system. Examples include executive managers, policy makers, and the user's clients.
Although these individuals do not have hands-on interaction with the system, they may significantly influence and be
influenced by, the new or modified system.

Copyright C 1998IEEEAll Rights Reserved

127
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

4.5.6 Support environment (5.6 of the ConOpa document)

This subclause describes the support concepts and support environment for the proposed system, including the support
agency or agencies; facilities; equipment; support software; repair or replacement criteria; maintenance levels and
cycles; and storage, distribution, and supply methods.

4.6 Operational scenarios (Clause 6 of the ConOps document)

A scenario is a step-by-step description of how the proposed system should operate and interact with its users and its
external interfaces under a given set of circumstances. Scenarios should be described in a manner that will allow
readers to walk through them and gain an understanding of how all the various parts of the proposed system function
and interact. The scenarios tie together all parts of the system, the users, and other entities by describing how they
interact. Scenarios may also be used to describe what the system should not do.

Scenarios should be organized into clauses and subclauses, each describing an operational sequence that illustrates the
roles of the system, its interactions with users, and interactions with other systems. Operational scenarios should be
described for all operational modes and all classes of users identified for the proposed system. Each scenario should
include events, actions, stimuli, information, and interactions as appropriate to provide a comprehensive
understanding of the operational aspects of the proposed system. Prototypes, storyboards, and other media, such as
video or hypermedia presentations, may be used to provide part of this information.

In most cases, it will be necessary to develop several variations of each scenario, including one for normal operation,
one for stress load handling, one for exception handling, one for degraded mode operation, etc.

Scenarios play several important roles. The first is to bind together all of the individual parts of a system into a
comprehensible whole. Scenarios help the readers of a ConOps document understand how all the pieces interact to
provide operational capabilities. The second role of scenarios is to provide readers with operational details for the
proposed system; this enables them to understand the users' roles, how the system should operate, and the various
operational features to be provided.

Scenarios can also support the development of simulation models that help in the definition and allocation of derived
requirements, identification, and preparation of prototypes to address key issues.

In addition, scenarios can serve as the basis for the first draft of the users' manual, and as the basis for developing
acceptance test plans. The scenarios are also useful for the buyer and the developer to verify that the system design will
satisfy the users' needs and expectations.

Scenarios can be presented in several different ways. One approach is to specify scenarios for each major processing
function of the proposed system. Using this approach, this clause would contain one subclause for each process. Each
subclause would then contain several more lower-level subclauses, one for each scenario supported by that process. An
alternative approach is to develop thread-based scenarios, where each scenario follows one type of transaction type
through the proposed system. In this case, each subclause would contain one scenario for each interaction type, plus
scenarios for degraded, stress loaded, and back-up modes of operation. Other alternatives include following the
information flow through the system for each user capability, following the control flows, or focusing on the objects
and events in the system.

Scenarios are an important component of a ConOps, and should therefore receive substantial emphasis. The number of
scenarios and level of detail specified will be proportional to the perceived risk and the criticality of the project.

Copyright CO 1998IEEEAll Rights Reserved

128
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEEStd 1362·1998

4.7 Summary of Impacts (Clause 7 of the ConOps document)

This clausedescribes the operational impacts of the proposed systemon the users, the developers, and the supportand
maintenance organizations. It also describes the temporary impacts on users, buyers, developers, and the supportand
maintenance organizations duringthe periodof time whenthe newsystem is beingdeveloped, installed, or trainedon.

This information is provided in orderto allow all affected organizations to prepare for the changes that will be brought
aboutby the newsystemand to allowfor planning of theimpacts on the buyeragency or agencies, usergroups, andthe
supportmaintenance organizations duringthe development of, and transition to the new system.

4.7.1 Operational Impacts (7.1 of the ConOps document)

This subclause should be furtherdivided into lower-level subclauses to describe the anticipated operational impacts on
the user, development, and supportor maintenance agency or agencies duringoperation of the proposed system. These
impactsmay includethe following:

Interfaces with primary or alternatecomputer operating centers;


Changes in procedure;
Useof new data sources;
Changes in quantity, type, and timingof data to be inputinto the system;
Changes in data retention requirements;
New modesof operation basedon emergency, disaster, or accident conditions;
New methods for providing input data if the required data are not readilyavailable;
Changes in operational budget; and
Changes in operational risks.

4.7.2 Organizational Impacts (7.2 of the ConOps document)

This subclause shouldbefurtherdivided intolower-level subclauses to describe the anticipated operational impacts on
the user, development, and supportor maintenance agency or agencies duringoperation of the proposed system. These
impactsmay includethe following:

Modification of responsibilities; responsibilities;


Addition or elimination of job positions; positions;
Training or retraining users; users;
Changes in numbers, skill levels, position identifiers, or locations of personnel; personnel; and
Numbers and skill levels of personnel needed for contingency operation at one or more alternate sites
following an emergency, disaster, or accident

4.7.3 Impacts during development (7.3 of the ConOps document)

This subclause shouldbe furtherdivided into lower-level subelauses that describe the anticipated impactson the user,
development, and supportor maintenance agency or agencies during the development projectfor the proposed system.
These impacts may includethe following:

Involvement in studies,meetings, and discussions priorto awardof the contract;


Userand supportinvolvement in reviews and demonstrations, evaluation of initialoperating capabilities and
evolving versions of the system, development or modification of databases, and required training;
Parallel operation of the newand existing systems; and
Operational impactsduringsystemtestingof the proposed system.

Copyright C 1998IEEEAll RightsReserved

129
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

4.8 Analysis of the proposed system (Clause 8 of the ConOps document)

This clause provides an analysis of the benefits, limitations,advantages,disadvantages,and alternatives and trade-offs
considered for the proposed system.

4.8.1 Summary of Improvements (8.1 of the ConOps document)

This subclause provides a qualitative(and to the extent possible, quantitative) summary of the benefits to be provided
by the proposed system.This summary should include the below items, as applicable. In each case, the benefits should
be related to deficiencies identifiedin 4.1 of the ConOps.

New capabilities. Additional new features or functionality.


Enhancedcapabilities. Upgradesto existing capabilities.
Deletedcapabilities. Unused,obsolete, confusing, or dangerous capabilities removed.
Improved performance. Better response time, reduced storage requirements, improved quality, etc.

4.8.2 Disadvantages and limitations (8.2 of the ConOps document)

This subclause provides a qualitative (and to the extent possible, quantitative) summary of the disadvantages and/or
limitations of the proposed system. Disadvantages might include the need to retrain personnel, rearrange work spaces,
or change to a new style of user interface; limitations might include features desired by users but not included,
degradation of existing capabilities to gain new capabilities,or greater-than-desired response time for certain complex
operations.

4.8.3 Alternatives and trade-ofts considered (8.3 of the ConOps document)

This subclause should describe major alternatives considered, the trade-off's among them, and rationale for the
decisions reached. In the context of a ConOps document, alternatives are operational alternatives and not design
alternatives,except to the extent that designs alternativesmay be limited by the operational capabilities desired in the
new system. This information can be useful to determine, now and at later times, whether a given approach was
analyzed and evaluated, or why a particular approach or solution was rejected. This information would probably be
lost if not recorded.

4.9 Notes (Clause 9 on the ConOps document)


This clause should contain any additional information that will aid understandingof a particular ConOps document.
This clause should include an alphabeticallisting of all acronymsand abbreviations,along with their meanings as used
in this document, and a list of any terms and definitionsneeded to understand the document.

4.10 Appendices (Appendices of the ConOps document)


To facilitate ease of use and maintenanceof the ConOps document, some information may be placed in appendices to
the document. Charts and classifieddata are typical examples. Each appendix should be referenced in the main body
of the document where that information would normally have been provided. Appendices may be bound as separate
documents for easier handling.

4.11 Glossary (Glossary of the ConOpa document)

The inclusion of a clear and concise definitionof terms used in the ConOps document (but that may be unfamiliar to
readers of the ConOpsdocument) is veryimportant.A glossary should be maintainedand updated during the processes
of concept analysis and developmentof the ConOps document. To avoid unnecessary work due to misinterpretations,
all definitionsshould be reviewedand agreed upon by all involvedparties.

Copyright @ 1998 IEEE All Rights Reserved

130
CONCEPTOF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362-1998

AnnexA
IEEElEIA 12207.1-1997 Compliance Statement
(Informative)

A.1 Overview

The Software Engineering Standards Committee (SESC) of the IEEE Computer Society has endorsed the policy of
adopting international standards. In 1995, the international standard, ISO/IEC 12207, Information technology-
Software life cycle processes, was completed. That standard establishes a common framework for software life cycle
processes, with well-defined terminology, that can be referenced by the software industry.

In 1995SESC evaluatedISO/IEC 12207and decided that the standard should be adopted and serve as the basis for life
cycle processes within the IEEE Software EngineeringCollection. The IEEE adaptation of ISO/IEC 12207 is IEEFJ
EIA 12207.0-1996. It contains ISOIIEC 12207and the followingadditions: improvedcompliance approach, life cycle
process objectives,life cycle data objectives,and errata.

The implementationof ISOIIEC 12207 within the IEEE also includes the following:

lEEFJEIA 12207.1-1997, IEEFJEIA Guide for Information Technology-Software life cycle processes-
Life cycle data;
lEEFJEIA 12207.2-1997, IEEFJEIA Guide for Information Technology-Software life cycle processes-
Implementationconsiderations;and
Additions to 11 existing SESC standards (i.e., IEEE Stds 730, 828, 829, 830, 1012, 1016, 1058, 1062, 1219,
1233,and 1362)to definethe correlation betweenthe data produced by existing SESC standards and the data
produced by the application of IEEFJEIA 12207.1-1997.
NOTE - Although IEEE/EIA 12207.1-1997 is a guide, it also contains provisions for application as a standard with specific
compliance requirements. This annextreatsIEEE/EIA 12207.1-1997 as a standard.

In order to achieve compliance with both this standard and IEEFJEIA 12207.1-1997, it is essential that the user review
and satisfy the data requirementsfor both standards.

When this standard is directly referenced, the precedence for conformance is based upon this standard alone. When
this standard is referenced with the IEEFJEIA 12207.xstandard series, the precedencefor conformanceis based upon
the directly referenced IEEFlEIA 12207.xstandard, unless there is a statement that this standard has precedence.

A.1.1 Scope and purpose


Both this standard and IEEFJEIA12207.1-1997 place requirementson a ConOpsdocument.The purpose of this annex
is to explain the relationship between the two sets of requirements so that users producing documents intended to
comply with both standards may do so.

COpyright C 1998IEEEAll Rights Reserved

131
IEEE SId 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY -SYSTEM DEFINITION

A.2 Correlation

This clause explains the relationship between this standard and IEEFJEIA 12207.0-1996 in the following areas:
terminology, process, and life cycle data.

A.2.1 Terminology correlation

Both this standard and IEEFJEIA 12207.0-1996 have similar semantics for the key terms of change, constraints,
environment, modes of operation, policy, and system.

A.2.2 Process correlation

This standard places no requirements on process.

A.2.3 Life cycle data correlation and concept of operations documents

The information required in a ConOps document by this standard and the information required in a ConOps document
by IEEFJEIA 12207.1-1997 are similar. It is reasonable to expect that a single document could comply with both
standards. Both documents use a process-oriented context to describe the content of a ConOps document.

A.2.4 Life cycle data correlation between other data In IEEElEIA 12207.1·1997 and this standard

This sublause correlates the life cycle data other than a ConOps document between IEEFJEIA 12207.1-1997 and this
standard. It provides information to users of both standards.

Table A-1-Llfe cycle data correlation between other data In IEEElEIA 12207.1-1997
and IEEE Std 1362-1998
Information item IEEFJEIA 12207.8- Kind IEEFJEIA 12207.1- IEEEStd 1362-1998
19" subclause 1997 subclause subclause
System architectureand 5.3.3.1, 5.3.3.2 Description 6.25 4.5.3
requirementsallocation description

A.3 Document compliance

This clause provides details bearing on a claim that a ConOps document complying with this standard would also
achieve "document compliance" with the ConOps document described in IEEFJEIA 12207.1-1997. The requirements
for document compliance are summarized in a single row of Table 1 of IEEFJEIA 12207.1-1997. That row is
reproduced in Table A.2.

Copyright C 1998 IEEE All Rights Reserved

132
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362-1998

Table A-2-Summary of requirements for a ConOps document excerpted from


Table 1 of IEEElEIA Std 12207.1-1997.
Information IEEElEIA Kind IEEElEIA References
item(s) 12207.8-199' 12207.1-1997
subclause subclause
ConOps 5.1.1.1 Description 6.3 IEEEStd 1362-1998
ElAllEEEJ-STD-016, F.2.1
Also see the following for guidance
on the use of notations:
ISO5806: 1984
ISO5807: 1985
ISO 8631: 1989
ISO 8790: 1987
ISO 11411: 1995

The requirements for document compliance are discussed in the following subclauses:

A.3.1 discusses compliance with the information requirements notedin column 2 of TableA.2 as prescribed
by Clause5.1.1.1 of IEEFJEIA 12207.0-1996.
A.3.2discusses compliance withthe genericcontentguideline (the"kind"of document) notedin column3 of
TableA.2 as a "description." The genericcontentguidelines for a "description" appear in 5.1 of IEEFJEIA
12207.1-1997.
A.3.3 discusses compliance with the specific requirements for a ConOps document noted in column 4 of
TableA.2 as prescribed by 6.3 of IEEPJEIA 12207.1-1997.
A.3.4 discusses compliance with the life cycle data objectives of Annex H of IEEFJEIA 12207.0-1996 as
described in 4.2 of IEEFJEIA 12207.1-1997.

A.3.1 Compliance with Information requirements of IEEElEIA 12207.0-1996


The information requirements for a ConOps document are thoseprescribed by 5.1.1.1 of IEEFJEIA 12207.0-1996. In
this case, those requirements are substantially identical withthoseconsidered in A.3.3 of this standard.

A.3.2 Compliance with generic content guidelines of IEEElEIA 12207.1-1997

The generic content guidelines for a "description" in IEEFJEIA 12207.1-1997 are prescribed by 5.1 of IEEFJEIA
12207.1-1997. A complying description shallachieve the purposestatedin 5.1.1 and includethe information listed in
5.1.2 of IEEFJEIA 12207.1-1997.

The purposeof a description is:


IEEFJEIA 12207.1-1997, subclause 5.1.1: Purpose: Describe a planned or actual function, design,
performance, or process.
A ConOps document complying withthis standard wouldachieve the statedpurpose.

Any description complying with IEEFJEIA 12207.1-1997 shall satisfy the genericcontentrequirements provided in
5.1.2 of that standard. TableA.3 of this standard lists the genericcontentitemsand, whereappropriate, references the
subclause of this standard thatrequires the sameinformation. The thirdcolumnlists information that shallbe addedin
order to complywith the genericcontentrequirements.

Copyright C 1998 IEEE All RightsReserved

133
IEEE Std 1362-1998 IEEE GUIDE FOR INFORMATION TECHNOLOGY-SYSTEM DEFINITION

Table A-3-Coverage of generic description requirements by ConOps document listed In


IEEE Std 1362-1998
IEEFJEIA 12207.1-1997 Corresponding subclauses of Additions to requirements of
generic content IEEE Std 1362-1998 IEEE Std 1362-1998
a) Date of issue and status Date of issue and status should be provided in the
Revision Chart or as an additionalclause after the
Glossary,Configuration management.
b) Scope 4.1 Scope (Clause 1 of the ConOps
document)
c) Issuingorganization Issuingorganizationshould be identified and referenced
in the Revision Chart or as an additional clause after the
Glossary,Configuration management.
d) References 4.2 Referenced documents (Clause2 of -
the ConOpsdocument)
e) Context 4.3 Currentsystem or situation -
(Clause 3 of the ConOpsdocument)
t) Notationfor description - The definitionof, or appropriatereferencesto a definition
of, the notationused for the system overview graphics
should be includedin 1.3of the ConOps document if the
system graphicsare included.
g) Body 4.4 Justificationfor and natureof
changes(Clause4 of the ConOps
document)
4.5 Conceptsfor the proposedsystem
(Clause5 of the ConOpsdocument)
4.6 Operational scenarios(Clause6 of
the ConOpsdocument)
4.7 Summaryof impacts(Clause7 of
the ConOpsdocument)
h) Summary 4.8 Analysisof the proposed system
(Clause 8 of the ConOpsdocument)
i) Glossary 4.11 Glossary(Glossaryof the ConOps -
document)
j) Change history Changehistoryfor the ConOpsdocument should be
providedor referencedin an additionalclause after the
Glossary, Configuration management.

A.3.3 Compliance with specific content requirements of IEEElEIA 12207.1-1997

The specific contentrequirements for a ConOps document in IEEFJEIA 12207.1-1997 are prescribedby 6.3 of IEEFJ
EIA 12207.1-1997. A complying ConOps document shall achieve the purpose stated in 6.3.1 and include the
information listed in 6.3.3 of IEEFJEIA 12207.1-1997.

The purposeof the ConOpsdocument is:

IEEFlEIA 12207.1-1997, subclause 6.3.1: Purpose: Describe, in users' terminology, how the system should
operateto meet the users' needsfor the system.

A ConOps documentcomplying withIEEFlEIA 12207.1-1997 shallsatisfythe specific contentrequirements provided


in 6.3.3 of that standard. TableA.4 of this standard lists the specific content items and, whereappropriate, references
the subclause of this standard that requires the same information. The third column lists information that shall be
added in order to comply with the specific contentrequirements.

Copyright@ 1998IEEEAll Rights Reserved

134
CONCEPT OF OPERATIONS (CONOPS) DOCUMENT IEEE Std 1362·1998

Table A-4-Coverage of specific ConOps document requirements by requirements by ConOps


document listed In IEEE Std 1362-1998
IEEFJEIA Std 12207.1·1997 specific Corresponding subelauses of IEEE Std 1362- Additions to requirements of
content 1998 IEEE Std 1362-1998
a) Genericdescription information 4.1 Scope(Clause 1 of the ConOps document) See TableA.2
b) Description of currentsituation or 4.3 Currentsystemor situation (Clause3 of the -
system ConOps document)
c) Justification for and natureof 4.4 Justification for and natureof changes -
changes (Clause4 of the ConOps document)
d) Concepts of the proposed system. 4.5 Concepts for the proposed system(Clause 5 -
of the ConOps document)
e) Operational scenarios 4.6 Operational scenarios (Clause6 of the -
ConOps document)
f) Summary of impacts 4.7 Summary of impacts (Clause 7 of the -
ConOps document)
g) Analysis of the proposed system 4.8Analysis of theproposed system(Clause8 of -
the ConOps document)
h) Priorities, assumptions, constraints, 4.8.1 Summary of improvements -
advantages, limitations, alternatives, 4.8.2 Disadvantages and limitations
and trade-offs considered 4.8.3Alternatives and tradeoffs considered

A.3.4 Compliance with life cycle data characteristics

In addition to the content requirements, life cycle data shall be managedin accordance with the objectives provided
in Annex H of IEEFlEIA 12207.0-1996.

NOTE - The information itemscovered by thisstandard includeplansand provisions for creatingsoftware life cycledata relaed
to the basic types "requirements data" and "user data" in 8.4 of IEEFJEIA 12207.0-1996. Requirements data provides
for the following: expected functionality, operational context, performance constraints and expectations, basis for
qualification testing, and key decision rationale. User data provides the following: software overview, system access
information, commands and responses, errormessages, operational environment, and key decision rationale.

A.4 Conclusion

The analysis suggeststhat any ConOpsdocumentcomplying with this standardand the additionsshownin TableA.3
and TableA.4 will comply with the requirements of a ConOpsdocumentin IEEFJEIA 12207.1-1997. In addition,to
comply with IEEFJEIA 12207.1-1997, any documentshall supportthe life cycle data objectives of Annex H ofIEEFJ
EfA 12207.0-1996.

Copyright C 1998 IEEE All RightsReserved

135

You might also like