CPE 309 Integration Plan
1. Purpose
This document describes the plan by which individual source modules are
assembled into a completed
software product.
Integration is a crucial technical area that can make or break a
project. The implementation manager is responsible for having a
detailed integration plan and the QA manager is responsible for
enforcing conformance to the integration procedure. Don't let
people cheat on the integration procedure! Our integration
procedure will include a team "daily build" which helps avoid the "big
bang" syndrome.
10.1 Integration Procedure
Our integration procedure is based on an Incremental Integration
strategy (see notes).
It assumes the design is complete and the interfaces have been
compiled. The implementation manager creates the Integration
Schedule which lists the order in which modules are written and
integrated.
Developers then write their individual units using the Unit
Developer Procedure. No partial implementations allowed. (See
"Done is Done" pg 203). Individual units are to be compiled and
tested in
isolation. Here is a
suggested incremental development process.
The integration itself occurs during scheduled lab time and follows the
integration
lab
procedure.
10.2 Build Procedure
There must be a regular ("daily") build of the software product. The
build must start at the beginning of the third week of class. The build
must occur at least 4 times a week (suggested SMWF).
The implementation manager is responsible for writing the
specific technical instructions for how to run the build on your
development platform. Include the schedule for when the build
will
be run and procedures for dealing with broken builds..
Here is a ten-step
summary of the steps in the build process.
Here is an example
build procedure from a previous student project.
Here is a REAL
build procedure for Mozilla.
10.3 Daily Build Report
The results from running the daily build are to be posted on the team
web site. Refer to Ch 14. You may want to create a list of
chronological links to a separate page for each build report.
A build report contains
- Date and Time the build was run.
- Optional Build Number.
- Status: Compiled / Broken.
- Which modules were included in the build (Could be CVS log info
for most recent version).
- Computer output from build script.
- A hyperlink to the build itself for testers and developers to
download and run.
Here are example
build reports from a previous student project.
10.4 Software Deployment Plan
A Deployment Plan describes how you intend to get the software
transformed from source code in your team repository to executing bits
on the user's machine. This Implementation Manager is the
logical person to create the plan
with assistance from the QA manager. Here
are issues and considerations in
writing your plan. Place a link to the plan either here or on the
team home page.