Next: Project Goals
Up: General Information
Previous: Staffing and Scheduling
The goals of this course will be to
-
simulate project-oriented software development
(e.g. as might be seen in a small company),
-
provide exposure to some major issues in
large-scale software development,
-
make us aware of the certain areas of concern
and investigation in software engineering,
-
provide an appreciation for the needs and
motivations that drive software engineering,
-
sample a few techniques in current use
and (possibly) assess their strengths and weaknesses.
We will attempt to reach these goals by
forming equal-sized teams (as nearly as can be done)
and carrying out the design, implementation,
documentation, and maintenance of a small software
system.
Each team will work on its own version of the
system; i.e., each team will act for most of the
term as a company in competition against other
companies in getting a product to market.
In a final phase of work, systems will be
reassigned to different teams, and each team will act as
the maintenance department in a larger corporation
assigned to enhance the product in a certain way.
In order for this to be a success, standardization
will be required (just as in real life).
In practical terms for this course this will mean
-
a required programming language,
-
a required compiler,
-
a required coding style,
-
a required make facility,
-
a required version control facility,
-
a required code documentation system,
-
required documents.
All work delivered to the
``customer'' and to the ``maintenance department''
must conform to required standards.
Mon Sep 9 09:16:07 EDT 1996