Engineering Environment
Definition
An
engineering environment is any
development environment that is primarily used by a
project
team to develop the
software components of one or more
applications.
The typical objectives of the engineering environment are
to:
- Improve developer efficiency.
- Improve work product quality.
- Provide the necessary infrastructure to support the
engineering tasks of the following teams during development:
The typical benefits of the engineering environment
include:
- An integrated engineering environment improves developer
efficiency.
- A complete engineering environment minimizes work product
defects prior to integration and system testing.
The typical contents of the engineering environment are:
-
Hardware Components:
- Developer workstations or laptops (typically powerful
PCs running Windows NT)
- Configuration management server (for storing work
products under configuration control)
- Local area network with network connection devices
(e.g., firewall, router)
-
Software Tools:
Stakeholders
The typical stakeholders of an engineering environment
are:
- Producers:
- Evaluator:
- Approvers:
- Maintainer:
- Users:
-
Architecture Team, which uses the engineering
environment to perform architecting.
-
Change Control Board, which uses the engineering
environment to perform configuration control.
-
Configuration Management Team, which uses the
engineering environment to perform configuration
management.
-
Database Team, which uses the engineering environment
to perform database architecting, design, and
implementation.
-
Environments Team, which uses the engineering
environment to perform environments engineering.
-
Hardware Development Team, which uses the engineering
environment to perform hardware design, implementation,
initial testing, and initial integration.
-
Independent Test Team, which uses the engineering
environment to prepare for system testing.
-
Metrics Team, which uses the engineering environment
to perform metrics engineering.
-
Process Team, which uses the engineering environment
to perform process engineering.
-
Quality Team, which uses the engineering environment
to perform quality engineering.
-
Requirements Team, which uses the engineering
environment to perform security engineering.
-
Security Team, which uses the engineering environment
to perform security engineering.
-
Software Development Team, which uses the engineering
environment to perform software design, implementation,
initial testing, and initial integration.
The engineering environment can typically be started if the
following preconditions hold:
The typical inputs to the engineering environment
include:
- Work Products:
- Stakeholders:
-
Project Team, which uses the engineering environment
to develop and maintain the application and its
associated documentation.
-
Process Team, which must ensure that the engineering
environment supports the project process.
- Base the engineering environment software on a standard
software toolkit.
- The engineering environment must have access to and be
accessible to the reuse, multimedia, integration, test, and
staging environments.
- Distributed development requires the existance of
multiple engineering environments, which may have differing
objectives and contents.
The engineering environment is typically constrained by the
following conventions:
-
Engineering Environment Inspection
Checklist