Software Development Plan

Author: Travis Emmitt
Date: 14-DEC-1998
Version: 3.1

Contents: Software Specification Document
Software Style Guide


Overview

[rgb]

The Software Development Plan forms the basis for allowing the Project Software Manager to conduct tracking and oversight. This plan is managed by the Software Development Plan Manager, with directed changes coming from the Project Software Manager. The Project Software Manager will only direct changes after consulting with the entire project group. This is a working document that will periodically require changes as requirements, specifications, and/or commitments change.


Purpose

The purpose of this project is to provide a physically distributed simulation that illustrates how product structure and process dynamics are related.


Work Products to be Developed

There will be four major stages of development in this project. The first two stages will result in prototypes, with the third stage resulting in a finished product for the customer. The fourth stage will involve lifetime maintenance of the product.


Size, Effort, and Resources

The final deliverable product is estimated to contain 3000 lines of source code. This project will require a moderate effort from the group members, with the understanding that each group member has other commitments in addition to this project. The computer hardware, operating systems, development environments, and software tools are available to all group members. Unix-based tools will be used to develop the Java source code, and browsers are available (Netscape and Explorer) to run the final product.


Schedule

Date Agenda
Wed 28 Oct 11:00 meeting: Fundamental planning
Thu 29 Oct 15:30 class
Fri 30 Oct -
Sat 31 Oct -
Sun 01 Nov -

Mon 02 Nov 11:00 meeting: What we need for build, demonstrations of tech.
Tue 03 Nov 15:30 class
Wed 04 Nov 11:00 meeting: Build, start testing
Thu 05 Nov 15:30 class
Fri 06 Nov 17:00 testing complete
Sat 07 Nov -
Sun 08 Nov -

Mon 09 Nov -
Tue 10 Nov 15:30 class, version 1 due
Wed 11 Nov 11:00 meeting: version 2 planning
Thu 12 Nov 15:30 class
Fri 13 Nov -
Sat 14 Nov -
Sun 15 Nov -

Mon 16 Nov -
Tue 17 Nov 15:30 class
Wed 18 Nov 11:00 meeting - Version 2 code DUE, spec up to date
Thu 19 Nov 15:30 class, start testing version 2
Fri 20 Nov -
Sat 21 Nov -
Sun 22 Nov -

Mon 23 Nov -
Tue 24 Nov 15:30 class - version 2 delivery
Wed 25 Nov BREAK
Thu 26 Nov BREAK
Fri 27 Nov BREAK
Sat 28 Nov BREAK
Sun 29 Nov BREAK

Mon 30 Nov -
Tue 01 Dec 15:30 class, one-on-one code reviews
Wed 02 Dec one-on-one code reviews
Thu 03 Dec 15:30 class, group code review
Fri 04 Dec code due
Sat 05 Dec -
Sun 06 Dec -

Mon 07 Dec -
Tue 08 Dec 9:00 group build, 15:30 class, meet afterwards
Wed 09 Dec 11:00 meeting
Thu 10 Dec 15:30 class, meet afterwards
Fri 11 Dec -
Sat 12 Dec -
Sun 13 Dec -

Mon 14 Dec 11:00 meeting, update docs, tests
Tue 15 Dec meeting, agenda is presentation
Wed 16 Dec 9:00 - 12:00 in-class presentation



Responsibilities

Each module has a primary developer assigned to it:

  ClientApplet           - Travis
  ClientGUI              - Travis
  ClientEngine           - Rob
  ClientRMI              - Miro
  ClientRMIIface         - Miro

  Server                 - Steve
  ServerEngine           - Steve
  ServerThread           - Steve
  ServerRMI              - Miro
  ServerRMItoClientIface - Miro
  ServerRMItoDemonIface  - Miro

  DemonApplet            - Jim
  DemonGUI               - Jim
  DemonEngine            - Rob
  DemonRMI               - Miro
  DemonRMIIface          - Miro

  Node                   - Travis
  Module                 - Travis
  Depend                 - Travis
  Map                    - Travis

  DrawableNode           - Travis
  DrawableModule         - Travis
  DrawableMap            - Travis

  ClientConnectStatus - Rob
  Connections            - Miro

  Exceptions             - Travis
  Stats                  - Travis



Risks

The Project Software Manager, with group input, will manage the list of Top 5 Risks. This list will kept in this document, and will not be changed without consent of the entire group. The list follows:

Original Top 5 Risks

Through the course of the project, these risks were systematically reduced and/or eliminated. Examples of reductions would be GUI (representation of complex and potentially large simulation structure and state, a remaining issue since satisfaction from the visual presentation of the simulation is entirely within the eyes of the customer, whose tastes are potentially mercuric), RMI (we cannot get Netscape and File Writes supported by the same application), and Java programming (we have yet to decide upon an optimal procedure for using exceptions).

Current (December) Top Risks


Revision history:

Version 3.1 - 14-DEC-1998 txe
Updated schedule, responsibilities, risks

Version 3.0 - 30-NOV-1998 txe
Updated schedule and responsibilities for version 3

Version 2.0 - 13-NOV-1998 txe
Updated schedule and responsibilities for version 2

Version 1.3 - 02-NOV-1998
Added responsibility for ClientApplet and ServerApplet.

Version 1.2 - 29-OCT-1998
Rob now in charge of ClientEngine.

Version 1.1 - 29-OCT-1998
Updated Schedule, Risks. Added Responsibilities. Added TOC. Added link to Spec.

Version 1.0 - 21-OCT-1998
Initial creation