|
Contents
Introduction 2
Project
Overview 2
Project
Deliverables 3
Evolution of
the Software Management Plan 3
Reference
Materials 3
Definitions and
Acronyms 4
Project Organization 4
Process Model 4
Organizational
Structure 5
Organizational
Boundaries and Interfaces 5
Project
Responsibilities 6
Managerial Process 6
Management
Objectives and Priorities 6
Assumptions,
Dependencies, and Constraints 6
Risk
Management 7
Monitoring and
Controlling Mechanisms 8
Technical Process 8
Methods, Tools,
and Techniques 8
Software
Documentation 9
Project Support
Functions 9
Work Packages 10
Work
Packages 10
Dependencies 10
Resource
Requirements 10
Schedule 11
Additional Components 12
Introduction
Project Overview
Objectives
The object of the WebShell project is to produce a product that
satisfies all of our customers requirements and deliver it on time.
Product
to be delivered
The product to be delivered is called WebShell. It combines the
functionality of a WWW browser, like Netscape or Internet Explorer,
with the features of a shell, like a UNIX shell or a Telnet terminal.
Activities
The activities
involved with the WebShell include:
-
Detailed
Design
-
Implementation
-
Testing
-
Integration
-
Maintenance
Work
Products
The work
products produced by the above activities include:
Milestones
-
SPMP
complete.
-
Detailed
design complete.
-
Implementation
complete.
-
Alpha
complete.
-
Beta
complete.
-
Pre-release
version complete.
-
Delivery to
customer complete.
Required
Resources
3 Experienced software engineers.
3 UNIX work-stations.
3 Installations of Java JDK 1.2.
1 Solaris compatible printer.
Master
Schedule
03 / 02 /
1999 ............................................. SPMP
03 / 04 /
1999 ............................................. Detailed Design
03 / 08 /
1999 ............................................. Alpha
03 / 14 /
1999 ............................................. Beta
03 / 17 /
1999 ............................................. Pre-release
version
3 / 18 /
1999 ............................................. Delivery to
customer
Master
Budget
Students work
for free (almost):
|
Development
costs
|
$0.00
|
|
Anti-Depressants
|
$200.00
|
|
Alcohol
|
$500.00
|
|
Caffeine
|
$100.00
|
|
Entertainment
Expenses
|
$1,000.00
|
|
Total (cash
please)
|
$1,300.00
|
Project Deliverables
The WebShell product ............................... 03 / 18 / 1999
A JAR package named webshell SlothWare.jar
containing all of the classes necessary to run the WebShell product.
This JAR package will contain the core class Sloth.
Evolution of the Software Management
Plan
If a member of the engineering teams feels that the SPMP needs to be
revised he/she must call a meeting with all the members of the
engineering team. At this meeting the validity of the revision will
be discussed and decided upon. If the revision is approved the
engineer who called the meeting shall revise the SPMP. After doing so
another meeting will be called with all the members of the
engineering team. The correctness of the revision will be discussed
and decided upon. If the revision is approved the new SPMP will be
given a new incremented version number. If the revision is not
approved the engineer may rewrite the revision and call another
correctness approval meeting.
Reference Materials
WebShell:
Project Description (Versions 1.0 - 1.2)
WebShell: Object
Oriented Analysis (Versions 1.0 - 1.1)
WebShell:
Specification (Versions 1.0 - 1.1)
Definitions and Acronyms
MRV = Most
Recently Visited Queue
HTTP = Hyper Text Transfer Protocol
URL = Universal Resource Locator
CRC = Class Responsibilities Collaborators
I/O = Input / Output
OOA = Object Oriented Analysis
SPMP = Software Project Management Plan
GUI = Graphical User Interface
SQA = Software Quality Assurance
JAR = Java ARchive
JDK = Java Development Kit
FoNoACM = Founder of the Nation of the ACM
ACM = Association of Computing Machinery
IEEE = Institute Electrical and Electronics Engineers
CSIL = Computer Science Instructional Laboratory
Project Organization
Process Model
Activities
-
Product
development
The project will be divided into three areas. Mihai will be
responsible for the control components, Mike will be responsible
for the command line components, and Don will be responsible for
the GUI components and the executable class.
Mihai will be the lead integration engineer since all components must
are controlled by his components. Mike and Don will assist in the
integration.
Functions
-
Software
Quality Assurance: since our group is extremely small, SQA will be
done as a group managed by Mike.
-
Code
reviewer: Mihai will lead the code review due to his greater
familiarity with Java. Mike and Don will participate as well.
Organizational Structure
The group will be split in sub-groups, working independently on
project modules as described in product development. Each sub-group
is self-managed. The management of different aspects of the product
are defined in Organizational Boundaries and Interfaces below.
Organizational Boundaries and
Interfaces
Due to the size of our software group, management will be divided in
the following manner: The Product Manager is Mihai. Mike and Don
will follow Mihai's direction of the product. The Documentation
Manager is Don. All documentation created by Mihai and/or Mike will
be reviewed by Don. The SQA Manager is Mike. All organizational
decisions, that involve SQA, will be at Mike's direction. The
software engineers are Mihai, Mike and Don. The areas of software
development responsibility will be determined by the Product Manager
with input by the Documentation and SQA Managers. Interfacing with
the customer may be done by any software engineer, but a report of
the meeting will be shared with the engineers not present.
Project Responsibilities
-
|
Product
Manager
|
Mihai
Christodorescu, FoNoACM
|
|
Documentation
Manager
|
Donald Paul
Adams, Monsignor
|
|
SQA Manager
|
Michael
Robert Weaver, Esquire
|
|
Development
|
Mihai
Christodorescu, FoNoACM
|
|
|
Michael
Robert Weaver, Esquire
|
|
|
Donald Paul
Adams, Monsignor
|
|
Unit Testing
|
Mihai
Christodorescu, FoNoACM
|
|
|
Michael
Robert Weaver, Esquire
|
|
|
Donald Paul
Adams, Monsignor
|
|
Integration
Engineer
|
Mihai
Christodorescu, FoNoACM
|
|
Technical
Writer
|
Donald Paul
Adams, Monsignor
|
|
Global
Visionary
|
Michael
Robert Weaver, Esquire
|
|
Entertainment
Board of Directors
|
Mihai
Christodorescu, FoNoACM
|
|
|
Michael
Robert Weaver, Esquire
|
|
|
Donald Paul
Adams, Monsignor
|
|
Computational
Historian
|
Donald Paul
Adams, Monsignor
|
|
Guru of
Paradigms
|
Mihai
Christodorescu, FoNoACM
|
Managerial Process
Management Objectives and Priorities
Philosophy
Producing great software while maintaining the utmost level of
harmony between coworkers and with the client.
Goals
To produce the best possible product within the given constraints.
Priorities
-
Customer
satisfaction
-
Employee
education
-
Employee
happiness
Assumptions, Dependencies, and
Constraints
Assumptions
The product will be run on a UNIX or Windows95/98/NT platform. There
will be no support for "sound" files.
Dependencies
The product will be developed with JDK 1.2. The browser supported by
the product is Netscape due to CSIL limitations.
Constraints
A
successfully tested version must be shippable by March 18th, 1999.
Design has to be kept open for multiple platforms, but implementation
only for UNIX and Windows95/98/NT using Java and Swing.
A porting document needs to name all platform dependent classes and
methods. The document will include only those will have to be changed
for a different platform.
Risk Management
Risk
Factors
-
Missing
deadlines
The Product
Manager will have overall responsibility for seeing that all
deadlines will be met. If a deadline will not be met, the Product
Manager will, after discussion with the engineers involved, will
attempt to correct the situation and/or handle resulting
communications with the client.
-
Not meeting
clients requirements
The
SQA Manager will have overall responsibility for assurance of
meeting the requirements. If the SQA manager feels that the
requirements are not being met, he will inform the Product Manager.
The Product Manager, after consulting the software engineers
involved, will attempt to correct the requirements problem.
-
Degradation
of development quality due to outside pressures
(i.e. other
classes, real jobs, mental and physical health, etc...)
The
Product Manager will have overall responsibility for managing this
risk factor. All software engineers are required to inform the
Product Manager as soon as possible if development is threaten by
outside pressures. The Product Manager will, after discussion with
the engineers involved, will attempt to correct the situation and/or
handle resulting communications with the client.
-
Unsatisfactory
communication with the client
The
Documentation Manager will have the first responsibility for
insuring that communications with the client are satisfactory. If a
problem does arise, the Documentation Manager will inform the
Product Manager and the Product Manager, after consulting the
software engineers involved, will attempt to correct the
communication problems.
Monitoring and Controlling Mechanisms
E-mail
updates
The primary source of communication and documentation of
communications will be e-mail. It is the responsibility of all
SlothWare employees to inform, by e-mail, all other employees of any
communication about the product.
Peer
review
The Product Manager will be responsible for conducting review of the
software engineers when necessary.
Grades
on assignments
Grades on assignments will be used as yardsticks to gauge client
satisfaction upon meeting a milestone.
Communication
with the client
Communication the the client will another source of monitoring the
client's satisfaction.
Technical Process
Methods, Tools, and Techniques
Tools
Windows 9x/NT
Dual-Intel Pentium Xeon 450 MHz
128 MB RAM
Java Development Kit 1.2 (Java 2)
Solaris 2.6
Intel Pentium 166 MHz
48 MB RAM
Java 2
Visual J++ 6.0
Notepad
XEmacs 20.12
JDK 1.2
Java
Nada
Methods
JavaDoc
Object-Oriented
Booch OOA
Design Patterns
Java Code
Conventions by JavaSoft
(http://www.javasoft.com/docs/codeconv/html/CodeConventionsTOC.doc.html)
Techniques
Code Coverage
Black Box
Software Documentation
Baseline
Milestones
The first milestone is the completion of the SPMP. Then the
completion of the detailed design. After that at least three reviews
of the JavaDoc output, the SPMP, and the detailed design will take
place. These reviews will take place after each of the following
project milestones are met: Alpha, Beta, and Pre-Release.
Project Support Functions
Configuration
Management
Configuration Management will be done by the Product Manager. He will
inform all software engineers when a change needs to be made. All
software engineers are responsible for informing the Product Manager
when they are requesting a updated files to be added to the Product.
Quality
Assurance
Quality Assurance will be managed by the SQA Manager as described in
Organizational Boundaries and Interfaces.
Testing
Plans
Testing plans
will be conducted as described in Product testing.
Work Packages
Work Packages
GUI
Tree display
functional module
File display
functional module
Console
Command
interpreter
History module
Alias table
Environment
Variable table
Control
Document tree
module
MRV module
File system
module
Web
HTML parser
HTTP connect
module
Dependencies
The GUI and Console modules depend on the Control module. The Command
interpreter depends on the History module, the Alias table and the
Environment variable table. The Control module depends on the Web
module, and the Document tree module.
Resource Requirements
CSIL
at UCSB
Subject to
posted hours.
Hardware
Will use PCs.
printers and other devices provided in CSIL.
Software
Will use
software provided in CSIL.
Software
Engineers
Will use
engineers that are employees of SlothWare.
Management
Will use
engineers that are employees of SlothWare.
Human
resources usage chart
(please
see next page)
|
Time and Task
|
Utilization
|
|
Mihai
|
Mike
|
Don
|
|
02/28/1999 -
03/02/1999
|
|
|
|
|
SPMP
|
50.00%
|
50.00%
|
90.00%
|
|
SQA
|
50.00%
|
50.00%
|
10.00%
|
|
|
|
|
|
|
03/02/1999 -
03/04/1999
|
|
|
|
|
Detailed Design
|
50.00%
|
50.00%
|
90.00%
|
|
SQA
|
50.00%
|
50.00%
|
10.00%
|
|
|
|
|
|
|
03/04/1999 - 03/17/1999
|
|
|
|
|
Implementation
|
70.00%
|
25.00%
|
50.00%
|
|
Unit Testing
|
25.00%
|
15.00%
|
20.00%
|
|
SQA
|
5.00%
|
60.00%
|
30.00%
|
|
|
|
|
|
|
03/18/1999
|
|
|
|
|
Delivery
|
100.00%
|
100.00%
|
100.00%
|
|
|
|
|
|
|
03/19/1999 - 03/24/1999
|
|
|
|
|
Maintenance
|
100.00%
|
100.00%
|
100.00%
|
Schedule
|
Activity
|
Deadline
|
|
Tree display
|
3/2/99
|
|
Command
interpreter
|
|
MRV module
|
|
File display
|
3/4/99
|
|
History
module, alias table
|
|
File system
module
|
|
GUI module
integration
|
3/6/99
|
|
Environment
Variable table
|
|
Document
tree module
|
|
HTTP connect
module
|
3/8/99
|
|
Alpha
version demo
|
|
Web module
integration
|
3/10/99
|
|
Control
integration
|
3/11/99
|
|
Product
integration
|
3/12/99
|
|
Beta version
demo
|
3/14/99
|
|
Product
testing and fixing
|
3/17/99
|
|
Pre-release
|
|
Delivery
|
3/18/99
|
|
Maintenance
|
3/24/99
|
Additional Components
De Nada
component, as specified above.
|