The goal of product engineering is to
translate the customer‘s desire for a set of defined capabilities into a
working product. To achieve this goal, product engineering—like business
process engineering—must derive architecture and infrastructure.
The architecture encompasses four
distinct system components: software, hardware, data (and databases), and
people. A support infrastructure is established and includes the technology
required to tie the components together and the information (e.g., documents,CD-ROM,
video) that is used to support the components.
The world view is achieved through
requirements engineering. The overall requirements of the product are elicited
from the customer. These requirements encompass information and control needs,
product function and behavior, overall product performance, design and
interfacing constraints, and other special needs.
Once these requirements are known, the job of requirements engineering is to
allocate function and behavior to each of the four components noted earlier.
Once allocation has occurred, system component engineering commences.
System
component engineering is actually a set of concurrent activities that address
each of the system components separately: software engineering, hardware engineering,
human engineering, and database engineering.
Each of these engineering
disciplines takes a domain-specific view, but it is important to note that the
engineering disciplines must establish and maintain active communication with
one another. Part of the role of requirements engineering is to establish the
interfacing mechanisms that will enable this to happen.
The element view for
product engineering is the engineering discipline itself applied to the
allocated component. For software engineering, this means analysis and design
modeling activities (covered in detail in later chapters) and construction and
integration activities that encompass code generation, testing, and support
steps.
The analysis step models allocated requirements into representations of data,
function, and behavior. Design maps the analysis model into data,
architectural, interface, and software component-level designs.
No comments:
Post a Comment