Project Management Tool: Department of Computer Science, SUNY Albany
Project Management Tool: Department of Computer Science, SUNY Albany
Project Management Tool: Department of Computer Science, SUNY Albany
Author(s):
Evan Lord (el594437)
Project Management Tool Requirements Specification
Revision History
Table of Contents
1. Introduction......................................................................................................................4
2. The Purpose of the Product..............................................................................................4
2.1 Goals of the Project....................................................................................................4
2.2 Scope of the Project...................................................................................................5
3. Mandated Constraints......................................................................................................5
3.1 Solution Design Constraints......................................................................................5
3.2 Implementation Environment of the Current System................................................6
4. The Scope of the Work....................................................................................................7
4.1 Context of the Work...................................................................................................7
4.2 Work Partitioning.......................................................................................................8
5. The Scope of the Product.................................................................................................9
5.1 Product Boundary......................................................................................................9
6. Functional and Data Requirements................................................................................10
6.1 Functional Requirements.........................................................................................10
6.1.1 Requirement Shell: Manager Login................................................................10
6.1.2 Requirement Shell: Start a New Project..........................................................10
6.1.3 Requirement Shell: Select Processes for the Project.......................................11
6.1.4 Requirement Shell: Open Process Dependency Graph (manager)..................11
6.1.5 Requirement Shell: Add or Remove Processes...............................................12
6.1.6 Requirement Shell: Dependency Inconsistencies............................................12
6.1.7 Requirement Shell: Team Member Login.......................................................13
6.1.8 Requirement Shell: Open Process Dependency Graph (team member)..........13
6.1.9 Requirement Shell: View Process Details.......................................................14
6.1.10 Requirement Shell: Update Process Details .................................................14
1. Introduction
Project management involves planning, organizing, and managing resources in
order to successfully meet project goals and objectives. This is accomplished
through the use of processes, which are discrete units of work that are required for
the completion of a project. A process is defined in terms of its inputs, its tools
and techniques, and its outputs. Inputs and outputs include, but are not limited to,
documents, plans, and designs. Tools and techniques are the mechanisms applied
to the inputs that result in the outputs of a process. There are 44 possible
processes over five Process Groups and each individual project is composed of a
subset of these processes. Dependencies exist among many of the processes in
that the output of one process is often required as the input of another.
Our task is to develop a web-based application that will allow for the management
of a project through the maintenance of a database that will contain each of the
processes required for the project as well as the inputs and outputs of each of the
processes. Furthermore, the application will provide the users with a visual
representation of the processes used in the project as well as the dependencies
among those processes.
2. The Purpose of the Product
2.1 Goals of the Project
The Project Management Tool project has the following goals:
1. Provide users with an interface through which they may log into the
system.
2. Provide project managers with an interface through which they may
initialize a new project.
3. Provide project managers with an interface through which they may
dynamically add or remove processes from a particular project.
4. Provide project managers with a system alerting them of inconsistencies in
process dependencies among the processes chosen for a project.
5. Provide project managers as well as team members with an interface
through which they may view all of the processes for a project in the form
of a dependency graph.
6. Provide project managers as well as team members with an interface
through which they may update the inputs, outputs, and status of a
process.
7. Obtain information from and make changes to the database quickly and
accurately.
8. Provide an intuitive and convenient GUI to maximize ease of use.
2.2 Scope of the Project
The scope of the project will cover the following:
1. Elicit the product requirements from the client and refine the requirements
into a detailed specification document.
2. Prepare high level as well as detailed design documents describing the
system.
3. Prepare test plan including test cases.
4. Implement the various modules described in the design documents.
5. Perform all types of testing (unit, integration, system, regression).
6. Deliver product to client and follow up on acceptance testing.
3. Mandated Constraints
3.1 Solution Design Constraints
The following are the mandated technologies for use in this project:
1. The product will be developed for Java Runtime Environment 6.0.
2. The product will be developed using the Spring framework.
3. The front-end presentation tier will be implemented using Java Server
Pages (JSPs).
4. The application tier will be implemented using Java Servlets.
5. The back-end database will be designed using MySQL Server 5.0.
6. The interface between the application tier and the data tier will be the
JDBC driver Connector/J 5.1
7. The application will be deployed using Apache Tomcat 5.5
8. The graphical representation of the process dependency graph will be
generated using Graphviz.
3.2 Implementation Environment of the Current System
Three-Tier
Implementation Environment
Presentation Tier
Java Server Pages
Application Tier
Java Servlets
Data Tier
MySQL Server
4. The Scope of the Work
4.1 Context of the Work
Project
Manager
Select
Project
Team
Member
4.2 Work Partitioning
5. The Scope of the Product
5.1 Product Boundary
1.
Manager login 3.
Select processes
for project
2.
Start a new project 5.
Manager Add or remove
processes
4.
Open project process
dependency graph
7.
Select process to
view details
6.
Open project process
dependency graph
8.
Team Member 9. Update process
Team Member login details
6. Functional and Data Requirements
6.1 Functional Requirements
6.1.1 Requirement Shell: Manager Login
Requirement #: 1 Requirement Type: Use Case #: 1
Description: The product shall only allow registered project team managers to log into
the system in the manager role using a unique username and password.
Rationale:
To allow managers access to only their own accounts and to prevent non-manager users
from having access to functions specific to the manager role.
Source: Managers
Fit Criterion:
Registered managers shall have access to project management functions including
starting new projects, viewing project process dependency graphs, viewing the details of
individual processes, updating the details of individual processes, and adding and
removing processes.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: None Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.2 Requirement Shell: Start a New Project
Requirement #: 2 Requirement Type: Use Case #: 2
Description: The product shall provide to a registered project team manager the option to
start a new project.
Rationale:
To allow a manager to use the product for a specific project as well as to allow the
product to be scalable to handle multiple projects.
Source: Managers
Fit Criterion:
The product shall create unique database table entries for the inputs, outputs, and status
of processes for the new project.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 1 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.3 Requirement Shell: Select Processes for the Project
Requirement #: 3 Requirement Type: Use Case #: 3
Description: The product shall provide to a registered project team manager the option to
select the processes required for a new project.
Rationale:
To allow a manager to select only those processes that are applicable or relevant to a
particular project.
Source: Managers
Fit Criterion:
Registered managers shall have access to all of the 44 processes used in project
management and shall be able to select any subset of the 44 processes. The database
shall be updated to contain only the processes selected for the project.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 1, 2 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.4 Requirement Shell: Open Process Dependency Graph (manager)
Requirement #: 4 Requirement Type: Use Case #: 4
Description: The product shall provide to a registered project team manager the option to
view the process dependency graph of an existing project.
Rationale:
To allow a manager access to the processes used in the project as well as to allow the
manager to visualize the dependencies among those processes.
Source: Managers
Fit Criterion:
The product shall render a graphical representation of the processes used in the project as
well as the dependencies that exist among those processes.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 1 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.5 Requirement Shell: Add or Remove Processes
Requirement #: 5 Requirement Type: Use Case #: 5
Description: The product shall provide to a registered project team manager the option to
dynamically add processes to or remove processes from a project.
Rationale:
To allow a manager to make changes to an existing project in response to changes in
client needs, project requirements, budget, or schedule.
Source: Managers
Fit Criterion:
Registered managers shall have the ability to select processes from the process
dependency graph to remove from the project. Registered managers shall also have the
ability to select any unused processes to add to the project. The database shall be
updated to reflect the changes made.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 1, 4 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.6 Requirement Shell: Dependency Inconsistencies
Requirement #: 6 Requirement Type: Use Case #: 3, 5
Description: The product shall notify the user of any inconsistencies in the process
dependency graph.
Rationale:
To make the manager aware of inconsistencies so that he or she is able to make decisions
to deal with those inconsistencies.
Source: Managers
Fit Criterion:
The product shall automatically check for inconsistencies when a project is initialized
and when processes are added to or removed from an existing project. In addition to
displaying the project process dependency graph, the product shall also display a list of
the processes involved in dependency inconsistencies.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 1, 4 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.7 Requirement Shell: Team Member Login
Requirement #: 7 Requirement Type: Use Case #: 9
Description: The product shall only allow registered project team members to log into
the system in the team member role using a unique username and password.
Rationale:
To allow team members access to only the functions specific to the team member role.
Source: Team Members
Fit Criterion:
Registered team members shall have access to project management functions including
viewing project process dependency graphs, viewing the details of individual processes,
and updating the details of individual processes.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: None Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.8 Requirement Shell: Open Process Dependency Graph (team member)
Requirement #: 8 Requirement Type: Use Case #: 6
Description: The product shall provide to a registered project team member the option to
view the process dependency graph of an existing project.
Rationale:
To allow a team member access to the processes used in the project as well as to allow
the team member to visualize the dependencies among those processes.
Source: Team Members
Fit Criterion:
The product shall render a graphical representation of the processes used in the project as
well as the dependencies that exist among those processes.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 7 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.9 Requirement Shell: View Process Details
Requirement #: 9 Requirement Type: Use Case #: 7
Description: The product shall allow project team managers and team members to view
the details of any process in the process dependency graph.
Rationale:
To allow managers and team members access to information regarding the state of a
particular process.
Source: Managers, Team Members
Fit Criterion:
Users shall be able to view the inputs, outputs, and status of any process in the process
dependency graph.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 4, 8 Conflicts: None
Supporting Materials:
History: Created March 10, 2008
6.1.10 Requirement Shell: Update Process Details
Requirement #: 10 Requirement Type: Use Case #: 8
Description: The product shall allow project team managers and team members to make
changes to the details of any process in the process dependency graph.
Rationale:
To allow managers and team members the ability to update the details of a process to
reflect its current state.
Source: Managers
Fit Criterion:
Users shall be able to change the inputs, outputs, and status of any process in the process
dependency graph. The database shall be updated to reflect the changes to the processes.
Customer Satisfaction: 5 Customer Dissatisfaction: 5
Dependencies: 9 Conflicts: None
Supporting Materials:
History: Created March 10, 2008