Sie sind auf Seite 1von 5

Software System Engineering: A Tutorial

Dr. Richard Hall Thayer


Software Management Training LLC

Applying system-engineering principles specifically to the development of large, complex software systems provides a pow-
erful tool for process and product management. Software engineering has its early roots in system engineering which is reflect-
ed in their many common terms. This article discusses a merger between system engineering and software engineering called
software system engineering. System engineering looks at controlling the total system development including software.
Software engineering looks at controlling just software development. (System engineers would call software engineering com-
ponent engineering.) The application of system engineering to the development of software gives a large measure of control

A
software development.
pplying system engineering principles common goal of safely delivering an air- the tools the technical management task
specifically to the development of craft from takeoff to landing. Software requires.
large, complex software systems provides a provides the systems major technical The application of system engineering
powerful tool for process and product complexity. principles to the development of a comput-
management. This process is called soft- Because of this increase in size and complex- er software system produces activities, tasks,
ware engineering. Dr. Winston Royce, ity, the vast majority of large software sys- and procedures called software system engi-
father of the Waterfall chart, points out tems do not meet their projected schedule neering (SwSE). Many practitioners consid-
that software engineering was developed or estimated cost, nor do they completely er SwSE to be a special case of system engi-
from system engineering, and he argued for fulfill the system acquirers expectations1. neering and others consider it to be part of
calling the union software system engineer- This phenomenon has long been known software engineering. However, it can be
ing. Unfortunately, this did not stick, and as the software crisis [1]. In response to argued that SwSE is a distinct and powerful
software engineering and software system this crisis, software developers have intro- tool for managing the technical develop-
engineering can be viewed as separate duced different engineering practices into ment of large software projects.
processes. Software systems have become product development. This tutorial integrates the definitions
larger and more complex than ever. We can As large system solutions become and processes from the Institute of
attribute some of this growth to advances increasingly dependent on software, a sys- Electrical and Electronics Engineers
in hardware performance advances that tem engineering approach to software (IEEE) software engineering standards [2]
have reduced the need to limit a software development can help avoid the problems into the SwSE process.
systems size and complexity as a primary associated with the software crisis.
design goal. Microsoft Word is a classic Simply tracking a development pro- Systems and System
example: A product that would fit on a jects managerial and technical status Engineering
360-kilobyte diskette 20 years ago now resources used, milestones accomplished, A system is a collection of elements related
requires a 600-megabyte compact disc. requirements met, and tests completed in a way that allows a common objective
But there are other reasons for does not provide sufficient feedback to be accomplished. In computer systems,
increased size and complexity. Specifically, about the projects health. Instead, we these elements include hardware, soft-
software has become the dominant tech- must manage the technical processes as well as ware, people, facilities, and processes.
nology in many if not most technical sys- its products. System engineering provides System engineering is the practical appli-
tems. It often provides the cohesiveness Figure 1: Software Ties the System Together
and data control that enable a complex
system to solve problems.
Figure 1 is a prime example of this
Separation Assurance

concept. In an air traffic control system,


Conflict alert
Minimum safe altitude X

software connects the airplanes, people,


warning
Weather Data

radar, communications, and other equip-


Central weather processor

ment that successfully guide an aircraft to


Low-level wind shear alert system

its destination. When the Federal Aviation


Administration systems were upgraded to
Air Traffic Management
Traffic management system

automation back in the 1960s, the much


En route metering

larger systems could handle many more


Terminal
(Tower/TRANCON) Surveillance

aircraft over a larger terrain. However,


En route date link
Airport surveillance

these larger systems continued to use


radar (ASR-terminal) VORTAC Navigational Aids
Microwave landing systems

much of the earlier 1950s hardware; it was


Next-generation weather
radar Very High Frequency

the software that enabled larger groups of


Radio Omni-Directional Radio Range
Transmit Tactical Air Navigation Aid

hardware to work together towards the


Receiver (VORTAC)

Flight Service Communication


Automation System National airspace data interchange network
Portions of this article appeared in Computer, Flight plan file Ground data link
Apr. 2002. 2003 IEEE. Reprinted with permis- Weather briefings Tower communication switching system
sion from Computer, Vol.35, Issue 4, pp. 68-73, Pilot reports Voice switching communication system
Credit: Logicon Inc. and Roger U. Fujii
Apr. 2002. ( 2002 IEEE)

October 2007 www.stsc.hill.af.mil 17


cation of scientific, engineering, and man- demonstration, analysis, examination, uct.
agement skills necessary to transform an and inspection. Necessary documentation to use,
operational need into a description of a System engineering provides the base- operate, and maintain it.
system configuration that best satisfies line for all project development, as well as SwSE is not a job description. It is a
that need. It is a generic problem-solving a mechanism for defining the solution space. process that many people and organiza-
process that applies to the overall technical The solution space describes the product tions perform: system engineers, managers,
management of a system development at the highest level before the system software engineers, programmers, and
project. This process provides the mecha- requirements are partitioned into the not to be ignored acquirers and users.
nism for identifying and evolving a sys- hardware and software subsystems. Software developers often overlook
tems product and process definitions. This approach is similar to the soft- system engineering and SwSE in their pro-
IEEE Std. 1220-1998 describes the ware engineering practice of specifying jects. They consider systems that are all
system engineering process and its appli- constraints as late as possible in the devel- software or that run on commercial off-
cation throughout the product life cycle opment process. The further into the the-shelf (COTS) computers to be just
[3]. System engineering produces documents, not process a project gets before defining a software projects, not system projects.
hardware. These documents are associated constraint, the more flexible the imple- Ignoring the systems aspects of software
with the developmental processes within mented solution will be. development contributes to our long-run-
the projects life-cycle model. They also ning software crisis.
define the expected process environments, What Is SwSE?
interfaces, products, and risk management The term software system engineering dates SwSE and Software
tools throughout the project. from the early 1980s and is credited to Dr. Engineering
System engineering involves five func- Winston Royce [4], an early leader in soft- Early in my software engineering career, I
tions: ware engineering. SwSE is responsible for was informed that software engineering
Problem definition determines the needs the overall technical management of the was the engineering of software copied
Assurance through analyzing the
and constraints system and the verification of the final from the hardware engineers (e.g. electri-
requirements and interfacingX with the system products. As with system engineer- cal engineers, mechanical engineers, and
Separation

acquirer. ing, SwSE produces documents, not com-


Conflict alert

so forth). I was well acquainted with the


Minimum safe altitude

Solution analysis determines the set of ponents. This differentiates Central weatherit from soft- mechanics of software engineering which
warning
Weather Data

possible ways to satisfy the require- ware engineering, Low-level whichwind produces com- made it different from computer science.
processor

ments and constraints, analyzes the puter programs and user manuals.
shear alert system

The following are examples of what


possible solutions, and selectsAir Trafficthe opti- SwSE begins after the system require- makes the mechanics of software engi-
mum one. ments have been partitioned into hard- neering different than computer science:
Management

ProcessTerminalplanning determines the tasks to ware and software subsystems. SwSE


Traffic management system

Dividing the project into phases such


En route metering

be done, the size and effort to route date link establishes the baseline for all project soft-
En develop
as life-cycle development methods.
(Tower/TRANCON) Surveillance

the product, the precedence between ware VORTAC


development. Like Aids software engi- Managing software as a separate pro-
tasks, and the potential risks to the weather neering, it is both Microwave
a technical landingand a man-
Airport surveillance

ject.
radar (ASR-terminal) Navigational

project. agement process.Omni-Directional


The SwSE Radiotechnical
systems

Using intermediate products (specifi-


Next-generation
Very High Frequency

Process control determines the methods process is the analytical effort necessary to
radar

cations), e.g., requirements specifica-


Radio Range

for controlling the project and the transform user operational needs into the
Transmit Tactical Air Navigation Aid

tions, design specifications.


Receiver (VORTAC)

process, measures progress, reviews following: Reviewing, testing, and auditing.


intermediate
Flight plan file products, and takes Ground cor- data linkA software system description.
Flight Service Communication

Using configuration management and


Automation System National airspace data interchange network

rective action when necessary. Tower Software system requirements and quality (process) assurance.
Product evaluation determines the quality design specifications.
Weather briefings communication switching system

Prototyping and the reuse of existing


Pilot reports Voice switching communication system

and quantity of the delivered product Necessary procedures to verify, test, components.
Credit: Logicon Inc. and Roger U. Fujii

and accept the finished software prod-


( 2002 IEEE)

through evaluation planning, testing, Later, I had an opportunity to mingle


Figure 2: Engineering Relationships with a number of engineers from a con-
ventional engineering discipline, and I
asked them about some of our software
engineering processes such as those listed
A T

above. Most had no idea what I was refer-


ring to.
System
Sy

Then by chance, I had an opportunity


Integrated

to work for a company that used system


Sys
Sy
ystem Engineeri
rin
ing Testing

engineering. I then realized that I had


Software (SW) SwSE
SW m

found the source of software engineering


Requirements T

processes: It was system engineering.


Analysis

Both SwSE and software engineering


SW on

are technical and management processes,


S n

but software engineering produces soft-


ware components and their supporting
SW Engineeri
rin
ing SW Engineering
Det W W tem

documentation. Specifically, software


engineering is the following:
The practical application of computer
Code
d and d

science, management, and other sci-


Unit Test
( 2002 IEEE)

18 CROSSTALK The Journal of Defense Software Engineering October 2007


Software System Engineering: A Tutorial

ences to the analysis, design, construc-


tion, and maintenance of software and Project Management
its associated documentation.
An engineering science that applies the
Planning

concepts of analysis, design, coding,


Organizing

testing, documentation, and manage-


Staffing

ment to the successful completion of


Directing

large, custom-built computer pro-


Controlling

grams under time and budget con-


straints.
The systematic application of meth-
ods, tools, and techniques that achieve
SWSE Software Engineering

a stated requirement or objective for an Problem definition Software design


effective and efficient software system. Solution analysis Coding
Figure 2 illustrates the engineering Process planning Unit testing
relationships between system engineering,
Process control Software subsystem
SwSE, and software engineering.
Product evaluation integration
Traditional system engineering does initial
analysis and design as well as final system Figure 3: Management Relationships
( 2002, IEEE)

integration and testing. software requirements specification or ware requirements, software develop-
During the initial stage of softwareTable both. Software requirements include capa-to SwSE. ment standards, and software quality
Figure 3. Management Relationships

development, SwSE is responsible for bilities that a user needs to solve a problem assurance standards.
1. System Engineering Functions Correlated

software requirements analysis and archi-System or achieve an objective as well as capabili- Quality attributes specify the degree to
tectural design. SwSE also manages theEngineering
ties that a system or component needs to which software possesses attributes that
SwSE SwSE Function Description

final testing of the software system compo-Function


satisfy a contract, standard, or other for- affect quality, such as correctness, relia-
Function

nent engineering. mally imposed documentDetermine


[6]. bility, maintainability, and portability.
Project Management
We can categorize software require- Planning Softwaresoftware.
requirements analysis begins after
Problem Requirements needs and constraints by analyzing

SwSE and Project ments as follows [7]: system engineering has defined the acquir-
Definition Analysis system requirements allocated to
Solution Software Determine ways to satisfy requirements and

Management Functional requirements specify functions er and user system requirements. Its func-
Analysis Design
Organizing
constraints, analyze possible solutions, and select the

The project management process involvesProcess that a system or system


Determine product development tasks,identification
component tions include precedence, of all or as
optimum one. Staffing

assessing the software systems risks and must be capable of performing. many as possible software system
Process Directing

Performance
costs, establishing a schedule, integratingProcess requirementsDetermine perfor- forrequirements,
specify methods andandits conclusion marks
Planning Planning and potential risks to
the Controlling
project.

the various engineering specialties andControl mance Control characteristics process,


that a system
measureorprogress,the established requirements baseline,
Process controlling project

system component must possess such sometimes called the allocated baseline.
and take corrective
design groups, maintaining configurationProduct
as speed, accuracy, and frequency.
action where necessary.

control, and continuously auditing theEvaluation


effort to ensure that the project meets External interface requirements specify Software Design
Verification, Evaluate final product and documentation.
Validation, andSWSE Software Engineering
costs and schedules and satisfies technical hardware, software,
Problemor database ele- Software design is the process of selecting
Testing (V V&T)

requirements [5]. ments with which a system or compo- and documenting the most effective
Coding and
definition Software design

Figure 3 illustrates the managementTable 2.nent must interface,


Processor set forth con- efficient system elements that Unittogether
( 2002, IEEE)
Solution analysis

relationships between project manage- straints on formats, timing, or other will implement the software system
planning
Process Planning Versus Project Planning.
testing

ment, SwSE, and software engineering. factors caused by such an interface. requirements [8]. The design represents
integrationa
Process control Software subsystem

Project management has overall manage- SwSE Design constraints affect or constrain the Management
specific, logical approach to meet the soft-
Product evaluation

design of a software system or soft- ware requirements.


Project Planning

ment responsibility for the project and the


Planning Activities

waretasks
system
to becomponent, for example, Software design
to do is
thetraditionally parti-
Activities ( 2002, IEE

authority to commit resources. SwSEDetermines


language requirements, physical hard- tioned into two components:
done. Determines skills necessary

determines the technical approach, makesEstablishes order of precedence between Establishes schedule for completing the
Figure 3. Management Relationships tasks.

technical decisions, interfaces with thetasks. Table 1: System Engineering Functions Correlated project. to SwSE
Table 1. System Engineering Functions Correlated to SwSE.
technical acquirer, and approves the finalDetermines size of the effort.
software product. Software engineering is
Determines cost of the effort (in staff

responsible for developing the software


System SwSE SwSE time).Function Description
Determines technical approach to solving Determines managerial approach to
design, coding the design, and developingSelectsFunction
Engineering Function
the problem. monitoring the projects status.

software components.
analysis and design tools. Selects planning tools.
Problem Requirements Determine needs and constraints by analyzing

The Functions of SwSE


Determines technical risks.
Definition Analysis Determines management risks.
system requirements allocated to software.
DefinesSolution
process model.Software Defines process
Determine ways tomodel.
satisfy requirements and
Table 1 lists the five main functions ofdevelopment environment change.
UpdatesAnalysis
plans when theDesign
requirements or constraints, analyze
Updates plans whenpossible solutions, and select the
the managerial

system engineering correlated to SwSE,


optimum one.and environment change.
conditions

along with a brief general description of


Process Process Determine product development tasks, precedence,

each SwSE function.


( 2002, IEEE)
Planning Planning and potential risks to the project.
Process Process 2
Determine methods for controlling project and

Requirements Analysis
Control Control process, measure progress, and take corrective

The first step in any software development


action where necessary.

activity is to determine and document the


Product Verification, Evaluate final product and documentation.

system-level requirements in either a sys-


Evaluation Validation, and
Testing (V V&T)
tem requirements specification (SRS) or a ( 2002, IEEE)

October 2007 Table 2. Process Planning Versus Project Planning. www.stsc.hill.af.mil 19


( 2002, IEEE)

Systems
TableEngineering
2. Process Planning Versus Project Planning.

measures performance and results against


plans, notes deviations, and takes correc-
tive actions to ensure conformance
SwSE Planning Activities Project Management Planning
Activities
between plans and actual results.
Process control is a feedback system
Determines tasks to be done. Determines skills necessary to do the

for how well the project is going. Process


tasks.
Establishes order of precedence between Establishes schedule for completing the
tasks. project.
control asks questions such as the follow-
Determines size of the effort. Determines cost of the effort (in staff
ing: Are there any potential problems that
will cause delays in meeting a particular
time).
requirement within the budget and sched-
Determines technical approach to solving Determines managerial approach to

ule? Have any risks turned into problems?


the problem. monitoring the projects status.

Is the design approach still doable?


Selects analysis and design tools. Selects planning tools.

Control must lead to corrective action


Determines technical risks. Determines management risks.
Defines process model. Defines process model.
either bringing the status back into con-
Updates plans when the requirements or Updates plans when the managerial formance with the plan, changing the
development environment change. conditions and environment change.
plan, or terminating the project.
Project control also has two separate
Table 2: Process Planning Versus Project Planning components: control that project manage-
( 2002, IEEE)

ment accomplishes and control that soft-


Architectural design is equivalent to sys- objectives and the strategies, policies,
2
ware systems engineering accomplishes.
tem design, during which the develop- plans, and procedures for achieving them.
Table 3 shows an example partitioning of
er selects the system-level structure It defines in advance what to do, how to
control functions for a software system
and allocates the software require- do it, when to do it, and who will do it.
project.
ments to the structures components. Planning a software engineering pro-
Architectural design sometimes ject consists of SwSE management activi-
VV&T
called top-level design or preliminary design ties that lead to selecting a course of
The VV&T effort determines whether
typically defines and structures com- action from alternative possibilities and
the engineering process is correct and the
puter program components and data, defining a program for completing those
products are in compliance with their
defines the interfaces, and prepares actions.
requirements [9]. The following critical
timing and sizing estimates. It includes There is an erroneous assumption that
definitions apply:
information such as the overall pro- project management performs all project
Verification determines whether the
cessing architecture, function alloca- planning. In reality, project planning has
products of a given phase of the soft-
tions (but not detailed descriptions), two components one accomplished by
ware development cycle fulfill the
data flows, system utilities, operating project management and the other by
requirements established during the
system interfaces, and storage SwSE and the bulk of project planning
previous phase. Verification answers
throughput. is an SwSE function. (This is not to say
the question, am I building the product
Detailed design is equivalent to compo- that project managers might not perform
right?
nent engineering. The components in both functions.)
this case are independent software Validation determines the correctness
Table 2 shows an example partitioning
modules and artifacts. of the final program or software with
of planning functions for a software sys-
The methodology proposed here allocates respect to the users needs and require-
tem project.
architectural design to SwSE and detailed ments. Validation answers the ques-
design to software engineering. Process Control tion, am I building the right product?
Control is the collection of management Testing is the execution of a program or
Process Planning activities used to ensure that the project partial program, with known inputs
Planning specifies the project goals and goes according to plan. Process control and outputs that are both predicted
and observed for the purpose of find-
Table 3: Process Control Versus Project Control ing errors. Testing is frequently consid-
Table 3. Process Control Versus Project Control.
ered part of validation.
Verification and Validation (V&V) is a
continuous process of monitoring system
SwSE Control Activities Project Management Control

engineering, SwSE, software engineering,


Activites

and project management activities to deter-


Determines the requirements to be met. Determines the project plan to be

mine that they are following the technical


followed.

and managerial plans, specifications, stan-


Selects technical standards to be followed, Selects managerial standards to be

dards, and procedures. V&V also evaluates


for example, IEEE Std. 830 [7]. followed, for example, IEEE Std. 1058 [5].

the software engineering projects interim


Establishes technical metrics to control Establishes management metrics to

and final products. Interim products


progress, for example, requirements control progress, for example, cost growth
growth, errors reported, or rework. schedule slippage, or staffing shortages.
include requirements specifications, design
descriptions, test plans, and review results.
Uses peer reviews, in-process reviews, Uses joint acquirer-developer (milestone)

Final products include software, user man-


software quality assurance, VV&T, and reviews and software configuration
audits to determine adherence to management to determine adherence to
uals, training manuals, and so forth.
requirements and design. cost, schedule, and progress.

Any individual or function within a


software development project can do V&V.
Re-engineers the software requirements Replans the project plan when necessary.
when necessary.
( 2002, IEEE) SwSE uses V&V techniques and tools to

20 CROSSTALK The Journal of Defense Software Engineering October 2007


Software System Engineering: A Tutorial

evaluate requirements specifications, design neering. Management of Software


descriptions, and other interim products of Acquisition. Fort Belvoir, VA: Defense COMING EVENTS
the SwSE process. It uses testing to deter- Systems Management College, 1981-
mine if the final product meets the project 1988. October 2-3
requirements specifications. 5. IEEE. Standard for Software Project
The last step in any software develop- Management Plans. Std. 1058-1998.
Department of Homeland Security
ment activity is to validate and test the final Piscataway: IEEE Press, 1998. Department of Defense Software
software product against the software 6. IEEE. Standard Glossary of Software Assurance Forum
requirements specification and to validate Engineering Terminology. Std. 610.
and test the final system product against 12-1990. Piscataway: IEEE Press,
Tysons Corner, VA

the SRS. System engineering and SwSE are 1990.


https://buildsecurityin.
disciplines used primarily for technical 7. IEEE. Recommended Practice for
us-cert.gov/daisy/bsi/events.html
planning in the front end of the system life Software Requirements Specifica-
cycle and for verifying that the plans were tions. Std. 830-1998. Piscataway: IEEE November 4-7
met at the projects end. Unfortunately, a Press, 1998.
project often overlooks these disciplines, 8. IEEE. Recommended Practice for
AYE 2007
especially if it consists entirely of software Software Design Descriptions. Std.
Amplifying Your Effectiveness
or runs on COTS computers. 1016-1998. Piscataway: IEEE Press, Phoenix, AZ
1998.
Summary and Conclusions 9. IEEE. Standard for Software Verifi-
www.ayeconference.com/

Ignoring the systems aspects of any soft- cation and Validation. Std. 1012-1998.
conference.html
ware project can result in software that will Piscataway: IEEE Press, 1998.
not run on the hardware selected or will November 8-9
not integrate with other software systems. Note
Conducting software engineering without
Static Analysis Summit II
1. This article uses the definitions from
conducting SwSE puts a project in jeop- IEEE/EIA 12207.0-1997, where
Fairfax, VA
ardy of being incomplete or having com- acquirer is used for customer and sup-
https://buildsecurityin.
ponents which do not work together, plier is used for developer or contrac- us-cert.gov/daisy/bsi/events.html
and/or exceeding the projects scheduled tor.
budget. November 12-16
Software engineering and SwSE are About the Author
primarily disciplines used in the front end
ICSPI 2007
of the system life cycle for technical plan- Richard Hall Thayer,
Orlando, FL
ning and at the very late part of the life
Ph.D., is a senior lectur-
cycle to verify if the plans have been met.
www.icspi.com

A review of the emphasis in this article er for Software Manage-


ment Training, LLC, and November 14-16
will show that much of the work of plan-
ning and SwSE is done during the top- is a professor emeritus in The 10 IEEE High Assurance Systems
th

level requirements analysis and top-level software engineering at


California State University, Sacramento.
Engineering Symposium
design phases. The other major activity of
SwSE is the final validation and testing of He is a retired Air Force colonel and
Dallas, TX
the completed system. managed many of the Air Forces soft-
http://hase07.utdallas.edu
Software engineering principles, activi- ware engineering projects. Thayer is also
ties, tasks, and procedures can be applied a consultant in software engineering and November 19-21
to software development. This article has project management and a visiting
summarized, in broad steps, what is nec-
The 11 International Conference on
th

researcher and lecturer at the University


essary to implement SwSE on either a
Software Engineering and Applications
hardware-software system (that is primari- of Strathclyde, Glasgow, Scotland. He
has written more than 50 papers and
Cambridge, MA
ly software) or on an almost total software
books on software engineering, includ-
www.iasted.org/conferences/
system. SwSE is not cheap, but it is cost
effective. ing two software engineering standards.
cfp-591.html.

Thayer received his doctorate in electri-


References May 2008
cal engineering from the University of
1. Gibbs, W.W. Softwares Chronic California at Santa Barbara and a mas-
Crisis. Scientific American Sept. 1994: ters and bachelors in engineering
86-95. degrees from the University of Illinois at
2. IEEE. Software Engineering Stand- Champaign/Urbana.
ards Collection. Vol. 1-4. Piscataway: Systems and Software
IEEE Press, 1999.
Software Management
Technology Conference
3. IEEE. Standard for Application and
Training, LLC
Management of the System Engineer-
www.sstc-online.org

ing Process. Std. 1220-1998, Piscata- 6540 Chiquita WY COMING EVENTS: Please submit coming events that
are of interest to our readers at least 90 days
way: IEEE Press, 1998. Carmichael, CA 95608 before registration. E-mail announcements to:
4. Royce, W.W. Software Systems Engi- E-mail: r.thayer@computer.org nicole.kentta@hill.af.mil.

October 2007 www.stsc.hill.af.mil 21

Das könnte Ihnen auch gefallen