31
2.1
Software breakdown structure
2.1
Software breakdown structure
To truly grasp the meaning or nature of a software product its structure must be
understood. Software, as a product, should not be thought of as a sequence of
lines of code that provides instructions to a computer processor or data process-
ing systems. Lines of code represent the medium by which software products are
implemented, much like a house is constructed by lumber, bricks, pipes, and wire.
A house is a product that must be architected and designed before it is built.
Software is a revolutionary form of product since its medium is electronic in nature.
This makes software intangible, meaning it “cannot be touched.”
1
This does not
eliminate the need for a software product to be designed, implemented, and tested
before it is made available for deployment or operation. Using a house again as
a point of reference, the house design is generated by an “architect” trained in
the planning, design, and oversight of the construction of buildings. The architect
understands the engineering challenges associated with the construction of a house,
and utilizes certain materials in its design to accommodate the structural and natu-
ral forces that bear on the structure. Upon the completion of the engineering draw-
ings, the architect prepares a “bill of materials,” which is a list of the raw materials
and building products, and the quantities of each needed to build the house.
Most human-made products are comprised of multiple assemblies, components,
or parts. The bill of material for a house provides an itemized list of supplies and
building products needed for the house to be constructed. Therefore, it is reasonable
to apply this concept to a software product. However, because software is intangible,
it is intimately associated with the particular computing environment or data process-
ing system it is designed to perform with. Therefore, it is not possible to distinguish
a software product from its computing environment, as depicted in
Figure 2.1
. As the
software breakdown is expanded it will provide a basis for discussing the software
development framework.
The concern of software engineering is the further composition of the soft-
ware product. There have been many terms used to identify the building blocks
or elements that comprise software products, including
function
,
procedure
,
rou-
tine
,
subroutine
,
application
, and
object
. These terms stem from the individual or
FIGURE 2.1
First layer of a software breakdown.
1
See
http://en.wikipedia.org/wiki/Computer_software
.
Do'stlaringiz bilan baham: |