Software Project Management Plan

OWL Project

15-413 Software Engineering
Fall 96
Carnegie Mellon University
Pittsburgh, PA 15213

 


 




Revision History: 

Version 1.0 03/16/97 Bernd Bruegge. Created by Ricardo Pravia


Preface: 
This document describes the managerial aspects and technical aspects of the OWL project. 


Target Audience: 
Project management, team members 


OWL Members: 
Bernd Bruegge, Sjeongu, Truman Fenton, Benedict Fernandes, Tae, Ricardo Pravia, Aseem Sharma 

Location of machine-readable file: 
http://cascade1.se.cs.cmu.edu/15-499/ 


1. Introduction

The central goal of the Center for Building Performance and Diagnostics is to design workplaces that offer healthy, productive environments for these workers, and that are energy effective and environmentally sustainable additions to the built environment. The Intelligent Workplace (IW), a project that evolved from these goals, is a testbed of advanced building products and systems. The OWL (Object-Oriented Workplace Laboratory) project described in this document is to be used by personnel for facility management, building control and maintenance of the Intelligent Workplace. 

1.1 Project Overview

This document is intended for the members of the OWL project describing the managerial aspects and technical aspects.The document is intended for planning and scheduling purposes, and serves as a summary document of the deliverables expected from each of the teams. 

The schedule with project phases and milestones is shown below in Table 1. Each phase results in a baselined document. (A baselined document is placed under configuration management). 

1.2 Project Deliverables

The OWL project will a produce a running system that works in a platform independent environment using a Netscape based user interface. The system must also pass the acceptance suit test as described in the requirements analysis document. 

The following items will be produced by the OWL System: 
  • A Software Project Management Plan defining the technical and managerial processes necessary for the development and delivery of the OWL system.
  • A Project Agreement between client and developers, representing a contract between the client and the developers of what is going to be delivered.
  • A Requirements Analysis Document describing the functional and global requirements of the system as well as 4 models - the use case model, the object model, the functional model and the dynamic model. This document is created in interaction with the application domain experts.
  • A System Design Document describing the design goals, trade-offs made between design goals, the high level decomposition of the system,concurrency identification, hardware/software platforms, data management, global resource handling, software control implementation and boundary conditions. This document forms the basis of the object design. This document is read by the analyst as well as the object designer.
  • A Object Design Document describing the system in terms of refined object models, in particular the chosen data structures and algorithms as well as full signatures for all public methods. this document results in the detailed specification of each class used by the programmers during the implementation phase.
  • A Test Manual describing the unit and system tests performed on the OWL system before delivery along with expected and actual results. This document is used by the developers and maintainers
  • A User Guide describing the client acceptance test of the OWL System
  • Source code for all subsystems of the OWL System.



  • The OWL System documentation will describe the principles of operation. The delivery consists of a presentation of the system, a demonstration of the working system and the successful passing of the acceptance test.The client expects the above scenario to be successfully demonstrated in a field trial in the Intelligent Workplace, Margaret Morrison Hall on Dec. 5, 1996, at 3:00pm-4:20pm. A set of documents and files will be provided on a CD-ROM. 

    1.3 Evolution of the Software Project Management Plan

    The software project management plan is under version control. Proposed changes and new versions of the plan are announced on the course home page and are made available to all the project members. 

    1.4 Reference Materials

    The following technical documentations are used by the project: 

    [Rumbaugh 91] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen: Object-Oriented Modeling and Design, Prentice Hall 1991, ISBN 0-13-629841-9 
    [Gamma 96] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns, Addison-Wesley, 1996, ISBN 0-201-63361-2 
    [Jacobson 92] Ivar Jacobson, Magnus Christerson, Patrik Jonsson, Gunmar Övergaard, Object-Oriented Software Engineering, Addison Wesley, 1992, SB 0-201-54435-0 
    [Flanagan 96] David Flanagan, Java in a Nutshell, O'Reilly & Associates, Inc., ISBN 1-56592-183-6 
    [Booch 91] Grady Booch, Object-Oriented Design with Applications, Benjamin Cummings, 1991. 
    [Graham 91] Ian Graham, Object Oriented Methods, Addison Wesley, 1991. 
    [Otte 1996] Understanding CORBA, The Common Object Request Broker Architecture, Prentice Hall 
    [Kayser 90] T. A. Kayers, Mining Group Gold, Serif Publishing, 1990 
    [Pfleeger 91] Sharie Pfleeger, Software Engineering: The Production of Quality Software, MaxMillan Publishing Company, 1991 
    [Schach 96] Stephen R. Schach, Classical and Object-Oriented Software Engineering, 3rd Edition, Richard Irwin Company, 1996 
    [Yourdon 92] Edward Yourdon, Rise & Resurrection of the American Programmer, Yourdon Press, 1992 
    [IEEE 828] IEEE Standard for Software Configuration ManagementPlans, ANSI/IEEE Std. 828-199 
    [IEEE 1058] IEEE Standard for Software Project Management ANSI/IEEEStd.1058.1-1987 
    [IEEE 1074] IEEE Standard for Developing Software Life CycleProcesses, ANSI/IEEE Std. 1074-1991 

    1.5 Definitions and Acronyms

    SPMP - Software Project Management Plan 

    OOSE - Object Oriented Software Engineering 

    RCS - Revision Control System 

    OTE - Object Team Enterprise 

    JDK1.1 - Java Development Kit version 1.1

    GUI - Graphical User Interface

    UI - User Interface

    2. Project Organization

    2.1 Process Model

    The project is initiated on Jan 22, 1996 and terminated with the end of the semester on May 5, 1996. 

    The project uses an object-oriented design methodology for the development of the software and is organized in several activities. At the end of each activity each team submits documents describing the achievement of the activity. The individual documents produced by each activity are considered to be part of the software development documentation. 

    There are three major activities in the OWL project. These are:  Resource Analysis, System Engineering, and  System Integration & Testing. These activities are separate because they must be executed in the order in which they were mentioned since every activity depends on the outcome of the previous one. 

    The  fourth activity is the Prototype activity. This activity is always present during the other three activities. It is an acitivity that influences all of the activities, in particular, it has great impact on System Engineering. This activity starts with the Resource Analysis and ends with System Testing. 

    In this process model the intention is to perform as many activities in parallel as is possible. The first three activities are the only activities which cannot be performed concurrently. In the description of each activity, great care is taken to paralellize as many sub-activities as possible.

    During the system integration activity the system is tested as a whole and the individual documents are integrated into a project binder. The system documentation will also be made available on a floppy disk. The activities and milestones are described in the next following sections. 

    2.1.1 Resource Analysis

    This activity is responsible for researching, testing and documenting all available resources for the project. This activity has two sub activities: Technology Survey and Software Archaelogy. The former is responsible to researching new technologies which might be important for the OWL project; the latter consists of recovering the Design and Implementation of the previous OWL project in order to determine what canbe reused.

    Both of these activites will be perfomed concurrently since they do not depend on each other. Furthermore, since the Prototype activity is part of every activity, each of these two activities should produce prototypes that demonstrate the necessary functionality.

    This activity will have been performed by Feb 18.

    2.1.2 System Engineering

    The system engineering phase is responsible for the actual design and implementation of the system. This activity consists of the classic Software Engineering activities: Requirements Analysis, System Design, Object Design, and Implementation. Nevertheless, some of these activities will be performed concurrently as follows: It is important note that this model inherently encourages iterations in the design because of the prototyping involved. 

    The current prototypes know for this activity are:

    - LUXMATE Server Adaptor Prototype: Finished
    - LUXMATE Server Final Adaptor: March 23
    - Remote Control Applet Prototype: Finished
    - Remote Control Full Applet Prototype: March 23 (Earliest time: March 20)
    - Full Communication Infrastructure Demo (to the extent possible): April 8 or 10

    In addition, every subsystem defined in the SDD is encouraged to rapid prototype as soon as possible.

    2.1.3 System Integration and Testing

    For the OWLproject, we intend to perform sandwich testing and integration. The system integration and testing phase consists of the following activities: unit integration and system integration. Unit integration is the first activity performed in this phase followed later by System integration. This activity may have some overlap with the previous activity, that is, it may start before the formal start of this phase which is: April 25.

    It is known that System Integration and Testing can become severe bottlenecks for Software Development with great potential for crisis. Due to this fact, the OWL project should start integration as soon as is possible. To this end, a prototype has been scheduled for April 8 or 10 which will consist of a stubbed out integration of as many systems as possible. This means that by the time this demo is performed the basic services provided by each subsystem will be known and the implementation of its framework almost completed. Thus, Unit and/or System Integration may begin as early as April 8 with the full Communication Infrastructure demo. 

    The systems integration activity also includes all user and test manuals. 

    2.1.4 Prototype Activity

    This activity is the generic activity that is present during the entrire OWL project. This activity is responsible for slowly producing prototypes for the OWL system that will eventually lead to the Deliverable.

    2.4 Project Responsibilities

    The limitations on the OWL project and the requirement for fast implementation require a very flat management hierarchie. Therefore, management of the OWL System is done with the following roles: project management, team leaders, configuration manager, and webmaster. 

    2.4.1 Project Management

    The project management function has the following responsibilities: 

    The Project Manager for the OWLproject is Bernd Bruegge.

    2.4.2 Configuration Manager

    The responsibilities of the configuration manager in each team are: 

    This role should be distributed among the project members, however, the top person responsible for this is Benedict Fernandes.

    2.4.3 WebMaster

    The WebMaster for the OWLproject is Aseem Sharma.


    2.4.4 Team Leaders
    For every subsystem described and planned to be implemented in theSDD, there is a key member responsible for that group

    Secondary Activity:




    4.1 Methods, Tools and Techniques

    Our development methodology is based on a combination of use cases (from the OOSE methodology) [Jacobsen 92] combined with the OMT methodology [Rumbaugh 1991].The following tools are available to support the management and development of the OWL project: 

    OTE A case tool for the preparation of object models. 

    Netscape Navigator and Communicator Internet browser used for electronic communication. 

    JDK1.1 Java Development Kit version 1.1

    Adobe PageMill 2.0 Beta WYSWYG html page editor (for Macintosh). 

    Claris Home Page 1.0b.1 WYSWYG html page editor (for Macintosh). 

    FrontPage WYSWYG html page editor (for PC) 

    Now Contact Personal Management Assistant (for PC and Macintosh). 

    ObjectTeam Enterprise CASE tool for OMT by Cayenne (Cadre). 

    Framemaker 5.1 Word processor (for Unix, PC and Macintosh). 

    Word 6.01 Word processor (PC and Macintosh). 

    Adobe Acrobat 2.1 Portable Document Formatter (PC and Mac). 

    Adobe Acrobat Reader (Unix, PC and Mac). 

    Powerpoint 4.0 Presentation program (PC and Mac). 

    WebCamToo Live Video Streamer

    4.2 Software Documentation

    The following activities result in a project deliverable: 

    5 Critical Subsystems

    These are the subsystems that are critical to the development of the OWL project and should therefore rapid prototype sooner than any other system:


    This page is hosted by the Chair for Applied Software Engineering of the Technische Universität München.
    Imprint (Impressum)