Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

CSI 668: Topics in Systems Architecture

Department of Computer Science, SUNY Albany

Project Management Tool


Requirements Specification

Author(s):
Evan Lord (el594437)
Project Management Tool Requirements Specification

Revision History

Date Version Description Author


3/8/2008 1.0 Initial Draft Evan Lord

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 2
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 3
Project Management Tool Requirements Specification

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.

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 4
Project Management Tool Requirements Specification

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.

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 5
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 6
Project Management Tool Requirements Specification

4. The Scope of the Work
4.1 Context of the Work
Project
Manager

Manager View Process Update Process


Login Inputs, Outputs, Inputs, Outputs,
and Status and Status

Display Display Process


Project List Inputs, Outputs,
and Status

Select
Project

View Project Process


Dependency Graph
Project
Management Member
Login
Display Process
Dependency Graph Tool
Display
Create New Project List
Project
Select
Show Process Project
Choices
Display Process
Select Processes Dependency Graph
for Project
View Process
Inputs, Outputs,
Add/Remove and Status
Processes
Display Process
Inputs, Outputs,
Display Dependency and Status
Inconsistencies
Update Process
Inputs, Outputs,
and Status

Team
Member

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 7
Project Management Tool Requirements Specification

4.2 Work Partitioning

Event Inputs &


Description Outputs
1 Manager logs in. Manager Login (in)
Display Project List (out)
2 Manager selects a project to work Select Project (in)
on. Display Process Dependency Graph (out)
3 Manager chooses to select processes Create New Project (in)
to create a new project. Show Process Choices (out)
4 Manager creates new project by Select Processes for Project (in)
selecting appropriate processes. Display Dependency Inconsistencies (out)
Display Process Dependency Graph (out)
5 Manager adds or removes processes Add/Remove Processes (in)
for a particular project. Display Dependency Inconsistencies (out)
Display Process Dependency Graph (out)
6 Manager chooses to view the details View Proc. Inputs, Outputs, & Status (in)
of a process (inputs, outputs, status). Display Proc. Inputs, Outputs, & Status (out)
7 Manager chooses to update the Update Proc. Inputs, Outputs, & Status (in)
details of a process
8 Team member logs in. Member Login (in)
Display Project List (out)
9 Team member selects a project to Select Project (in)
work on. Display Process Dependency Graph (out)
10 Team member chooses to view the View Proc. Inputs, Outputs, & Status (in)
details of a process. Display Proc. Inputs, Outputs, & Status (out)
11 Team member chooses to update the Update Proc. Inputs, Outputs, & Status (in)
details of a process

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 8
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 9
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 10
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 11
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 12
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 13
Project Management Tool Requirements Specification

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

CSI 668: Topics in Systems Architecture


Department of Computer Science, SUNY Albany Page 14

You might also like