project plan document.docx - kelly...

24
1 PROJECT PLAN Faculty Organization Committee Planning Tool Date of Issue: February 18, 2013 K.B Brobbey, Kelly Brown, Rebecca Wright

Upload: lephuc

Post on 04-Feb-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

1

PROJECT PLAN Faculty Organization Committee Planning Tool

Date of Issue: February 18, 2013K.B Brobbey, Kelly Brown, Rebecca Wright

Page 2: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

2

Table of Contents

1. Introduction...........................................................................................................31.1. Purpose...........................................................................................................31.2. Overview of the Remainder of the Document..............................................3

2. General Project Description.................................................................................32.1. Product Scope.................................................................................................32.2. Major Software Functions .............................................................................42.3. Assumptions …...............................................................................................62.4. Performance ...................................................................................................62.5. Limitations ......................................................................................................72.6. Constraints ….................................................................................................7

3. Project Schedule...................................................................................................73.1. Functional Decomposition…........................................................................73.2. Tasks & Timeline ............................................................................................83.3. Milestones …...................................................................................................123.4. Deliverables …................................................................................................143.5. Risk Analysis...................................................................................................15

4. Appendices…….....................................................................................................154.1.Glossary...........................................................................................................15

Page 3: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

3

1. Introduction1.1 Purpose

The purpose of this document is to outline a project plan for the Faculty

Organization Committee Planning Tool software that our team is developing for

the Faculty Organization Committee at the University of Mary Washington. This

document will provide a general overview of the project and break the

development process into specific tasks, estimating the time required to complete

each task and the project as a whole.

1.2 Overview of the Remainder of the DocumentThis document will cover the performance of the software and any

limitations or constraints that the system will have. In addition, the programmer’s

task assignments will be laid out allowing everyone involved with the designing

and creation of the software to know who was responsible for the different

aspects. This will also allow the involved parties follow up with the programmer

with any specific questions related to the task or the aspect of the program that

they tackled. Following the task assignments, the schedule and the projected

timeline will be discussed. Next we will discuss the different milestones and

deliverables for the system. Details regarding these progress markers will be

provided as necessary. Lastly, there will be a brief discussion of the possible

risks that may affect or hinder the progress of this project.

2. General Project Description2.1 Product Scope The client for the Faculty Organization Committee Planning Tool is Dr.

Anewalt, on behalf of Dr. Zeis and the Faculty Organization Committee. Based

on requirements gathered from the client, and previously presented in the

Requirements Document, this system will maintain a database that will store

information about each committee and faculty member at Mary Washington.

Page 4: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

4

This system will help the chair of the Faculty Organization Committee determine

which faculty members are eligible to be placed on a committee and through the

use of a Graphical User Interface, or GUI, will allow the chair to add, modify, and

delete information in the database.

2.2 Major Software FunctionsThe major software functions of the software are as follows:

1. Ability to search for committees: a) The client should be able to search for committees by name.

b) If the committee exists, the client will be able to proceed on with

further actions on the committee page.

c) If the committee does not exist, an alert message will inform the

client that such a committee does not exist.

2. Ability to search for members of UMW faculty: a) The client should able to enter the first name or last name of faculty

members.

b) If the name of the faculty member is valid and it is in the database,

the client should be able to view that person's profile. The profile will

include previous and current positions in the organization and his/her

interests.

c) If the name of the faculty member is not valid and is not found in the

database, an alert box will pop up informing the client that the person

searched is not on the database.

3. Ability create and delete new committees a) The client will be able to create a new committee that does not exist

in the database

Page 5: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

5

■ If the name of committee is same as an existing committee an alert

message will inform the client to pick a new name for the

committee.

b) The client will be able to delete existing committees that are already

in the database

■ The client can even delete all of the committees in the database.

4. Ability to add and remove members from a committee a) The client will be able to add new members to a committee

■ New members that are added to a committee will fill up open

positions in a committee.

■ New members that are added to a committee are usually

recommended to join the committee based on their previous

committee positions and if they have not been on a faculty

committee or in the Faculty Senate for the last year.

b) The client will be able to delete members from a committees

■ Members that are deleted from a committee have usually served

the maximum term on a committee, have gone on leave, or have

been appointed to the Faculty Senate.

5. Ability to add or remove a new position a) The client will be able to add new positions within a committee if

there is a demand for such positions.

■ The name of the new position will be unique from other positions in

the committee.

■ If the new position has the same name as another position, an alert

message will inform the user to pick a unique new name.

b) The client will be able to delete positions in a committee if the

positions are no longer needed or fit the purpose of the committee

6. Ability to view members eligible for a new position

Page 6: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

6

a) Members that are eligible for a new position have to be inactive on a

faculty committee for a year.

b) Client can recommend these members to the new positions based on

their interests.

7. Profile for the client a) The software will store the name, password, user name, and a

security question of the client for security purposes in the database.

8. Information and Appearancea) All information about the client, committees, and members of

committees will be stored in a MySQL database server on a local

machine.

b) The appearance and the interface of the software will be GUI based.

2.3 Assumptions○ The software will only run on Windows based machines.

○ The current chair of the committee shall be the only intended user of the

software.

○ Old versions or installations of the software do not need to be accounted

for or deleted from previous chair’s computers since the new chair would

be the one keeping the updated information.

○ The application will be used heavily for a couple of weeks when

committees are being scheduled, but most of the time it will be dormant.

Therefore, support of the application will not be too strenuous.

2.4 Performance Getting everything done within our time allotment will be a challenge

because we are all students and we are also working on other class projects

apart from this project. In addition, we have a small time to work on this project

Page 7: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

7

to begin with. If we are able to complete all of our tasks on schedule, we do not

believe that the time limitation will affect the final performance of our project.

Other than that, we believe the client’s expectations are very reasonable and do

not anticipate any problems delivering the functionalities the client desires.

2.5 LimitationsThe performance of this software is based on several different supporting

features. The first feature is an up-to-date SQL server, preferably Xampp. The

performance of Xampp is contingent upon its level of PHP and version of

Apache. The requirement that will affect the performance of the software is the

hosting computer’s ability to run a Visual Basic application, e.g. it must run a

Windows operating system. If other features are added to this software, then any

supporting plug-ins, applications, or libraries that are related to or required by

Xampp must be up-to-date and in place.

2.6 ConstraintsThe only management constraint we anticipate is the fact that we are all

students and must manage this project on time along with balancing work from

all of our other classes. Our main technical constraint, is that our group believes

Visual Basic will provide the best resources for building a user-friendly GUI;

however, our team members have limited experience with using Visual Basic and

the learning curve may be steeper than we anticipate. Other than that, if there is

no power outage till the shipping date of the project then there will be no other

technical constraints.

3. Project Schedule3.1 Functional Decomposition

The coding of the project will be broken down in three different phases.

The first phase will be connecting the MySQL server with the local host and the

second phase will be the building of the tables and the GUI interface. The third

Page 8: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

8

phase will be writing the SQL queries for the database then connecting them with

the Visual Basic GUI.

The first phase, will be the most important part of the coding because it is

what the database heavily relies on. The code for connecting the MySQL server

to the local machine will be done by first downloading the server on the computer

then sourcing it in a terminal with a MySQL syntax to make sure it works.

In phase two, the codes for the tables in the database will be written in

MySQL syntax and it will be independent of the of the codes for the GUI, which

will be written in Visual Basic. Therefore, they can be written concurrently. We

have decided to divide the work for the second phase. Two members will write

the code for the tables and they will source all of the different tables to make sure

that they will work and at the same time another member will also write the GUI

and that person will be compiling the source code for the GUI to make sure it

works. Once both of these tasks are done and are completely working, we will

move on to phase three.

Phase three, will be a combination of the elements of phase one and

phase two – GUI and database tables. We will write multiple SQL queries for the

tables in the database and integrate them into the Visual Basic GUI through the

use of DataGridView controls. This will cause the interaction between the

database and the GUI to work in unison.

3.2 Tasks & TimelineFigure 1, below, provides a task list for this project broken down into

duration, start and finish date, predecessors, and which members of the team will

be primarily working on which tasks. We shall refer to each task by the ID

number found in the first column. Figure 2, also below, is a dependency diagram

for our tasks list and shows which tasks must be completed before other tasks.

Based on the time we estimated each task would take and Figure 2, we were

able to determine what tasks needed to be scheduled on which days. Figure 3,

the Gantt chart shows our estimated timeline for completion of the project based

on the dependencies outlined in Figure 2. Following these Figures, we provide a

Page 9: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

9

description of each task, its dependencies, and reasoning behind our scheduling

estimates.

Figure 1. Project Task List

Page 10: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

10

Figure 2. Dependency Diagram

Figure 3. Gantt Chart

Since we will be using Visual Basic to develop this project, the first task of

this project will be for group members to install Visual Basic on their computer

and familiarize themselves with the layout of the software. This task will be done

prior to the end of spring break, so actual coding can begin when the group

returns from break on March 11.

The second task is to create the MySQL database. We have allotted two

hours to create the database, tables, and columns within the database. After this

task is complete on the first day of coding, our third task is to parse the list of

faculty and committees from the University of Mary Washington website to fill the

tables. We have allotted two days for this to allow for problems parsing the data

correctly. Group members K.B. and Rebecca will be primarily working on these

two tasks.

The fourth task, creating the basic GUI layout, will happen simultaneously

with the second and third tasks and Kelly will be responsible for this task. Due to

Page 11: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

11

the nature and complexity of this task, we have scheduled three days to

complete it.

The fifth task, connecting the database to the GUI so we can run queries,

is dependent on the completion of the database (Task 3) and the GUI (Task 4).

Because of limited past experience with Visual Basic and a MySQL database, we

have allotted two days for this task. This needs to be completed by the end of

the first week so the second week can focus on connecting the SQL queries with

the GUI.

The next task, Task 6, is to write the query to search faculty in the

database. The GUI will have a textbox where the user can enter a faculty

member’s name, and when they click the search button, this query will retrieve all

of the faculty member’s information and display it in a DataGridView on the GUI.

Since this is our first query, we have allotted one day to get this to work.

Tasks 7 and 8, queries to delete and modify faculty members are

dependent on the completion of Task 6. Once a user has searched for a faculty

member, it will be simple to execute a query delete or modify that faculty

member, so we have allotted one hour each for these tasks.

Task 9, a query to add new faculty members to the database, will get

information from text entry forms in the GUI, and is contingent on connection of

the database to the Visual Basic application. Once the database is connected to

the application, we do not anticipate it will be difficult to include this query so we

have allotted one hour to complete this task.

Incorporating the query to search a committee is Task 10, and is also

contingent on the completion of Task 5. Since this query is similar to Task 6, we

have allotted one hour for completion. Task 11, the query to add committees will

be a modification of Task 9 and is estimated to take an hour as well. As Tasks 7

and 8, deleting and modifying faculty depended on the ability to search faculty,

Tasks 12 and 13, modifying and deleting committees are dependent on the ability

to search committees. They will be a modification of the queries for Tasks 7 and

8 and so are scheduled to take one hour each.

Page 12: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

12

Task 14, is a query for the user to view open positions on the committees.

This will require the ability to search all committees, and thus is dependent on the

completion of Task 10. This is a more complex query than adding or deleting,

and so we have scheduled two hours for its completion.

Task 15 is a query to identify faculty that are eligible for going on a

committee, based on when they last served on a committee or are serving on the

Faculty Senate. Because there are several factors involved in eligibility, we have

allotted four hours for this query. This task is dependent on the completion of

Task 6, the ability to search faculty.

The ability to assign faculty to a position on a committee, Task 16 is

dependent on the completion of Tasks 14 and 15 and is scheduled to take two

hours once those tasks are completed, as this will be a variation on previous

queries.

After all the queries have been written and connected to the Visual Basic

application (Tasks 6-16), we have scheduled a day to finalize our GUI to make

sure it is user friendly and all of our queries display the information in the format

desired.

Next, we will spend a day working on Task 18, a transfer method to

provide the capability to pack up the software and prepare it for installation on

another computer, as this will be need to be done yearly.

Finally, we have allotted two days to write a user’s guide to explain to

future users of the program ways in which they can interact with the software.

This task, Task 19, is contingent on the completion of all other tasks, as it will be

explaining to the user how to use the functionalities of previous tasks.

3.3 Milestones○ Milestone 1:

■ GUI setup: This milestone is the basic GUI setup for the

application. It will include the following pages, although the pages

will not display any actual information until Milestone 3.

Page 13: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

13

● Page for searching faculty and adding the resulting member

to a selected committee.

● Page to search for a committee to which to add a faculty

member.

● Page to generate a report on a faculty member or

committee. The information that will be contained in the

report on a faculty member will include their name, the

committee that they are currently on, the length of time that

they have served on the committee, and the last committed

that they served on. In the event that a faculty member is

currently on a committee, the report must show the reason

for not serving, i.e. a sabbatical or leave of absence. The

information that a committee report will display is the names

of the members that are currently serving on the committee,

the duration that they have been on the committee, and the

date that the member will have served their term.

● Page to parse a .csv file uploaded from the University of

Mary Washington’s Banner web service.

● Login in and logout functionality

● Setting up user credentials

■ Related Tasks: 1,4

■ Estimated Date of Completion: March 13, 2013

○ Milestone 2:

■ Database: The second milestone is the database that will support

the software’s user interface. This milestone will be met once

several requirements have been satisfied. These requirements

include a database connection, a well-designed and populated

database. The database must contain the most basic level of

faculty and committee information. Relationships between the

faculty and the committees are not required at this point.

Page 14: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

14

■ Related Tasks: 2,3,5

■ Estimated Date of Completion: March 15, 2013

○ Milestone 3:

■ Queries: The second milestone is flexible queries that will be used

by the system for creating relationships between the faculty and

committees, updating the database, searching the database, and

extracting information from the database. More specifically, the

queries are: searching and viewing faculty members; searching the

committees, adding new faculty members; editing current faculty

member information; removing faculty from the database; removing

a faculty member from a committee; creating, updating and

removing a committee; identify who is eligible to be on a committee,

view empty committee positions, and conduct a general search of

the database. This will also include a Drag and Drop feature for

adding faculty members to a committee.

■ Related Tasks: 6-16

■ Estimated Date of Completion: March 22, 2013

○ Milestone 4:

■ Method for “packing up” and transferring the software from one

computer to another. This will include packing the database up into

a .sql file which the next user will use for setting the software up on

their computer.

■ Related Task: 18

■ Estimated Date of Completion: March 26, 2013

3.4 Deliverables○ Fully functional and working software: This includes a user friendly

interface that has been integrated with the database containing the faculty

and committee information.

Page 15: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

15

■ Estimated Date of Delivery: March 26, 2013

○ User Guide: The user guide will be available for anyone who needs

assistance in becoming more familiar with how the software works. Topics

covered in the user guide include: installation and setup instructions,

basics for becoming acquainted with the software features, and

instructions for removing and transferring the software from one computer

to another.

■ Estimated Date of Delivery: March 28, 2013

3.5 Risk AnalysisPossible risks to the successful completion of this project are rather

minimal. Of the common risks to any software project, the one’s that seem

applicable or possible include staff illness and specification changes. The impact

that staff illness would have on the project’s delivery is rather minimal as the

possibility that all members of the programming team would be incapacitated and

unable to do any work is very slim. In regards to the risk of specification changes,

it appears that the requirements are well specified for a nicely functioning

system. However, if specification changes are requested, only those that very

important or mandatory will be considered, and may be implemented at the cost

of a lower priority feature.

4. Appendix

4.1 Glossary

● Apache○ HTTP Web server software

● GUI (Graphical User Interface)○ An interface used to navigate and display information on a

computer through images, rather than word commands.● MySQL

■ An open source software database management system used to maintain, store and manage data.

● Visual Basic

Page 16: Project Plan Document.docx - Kelly Brownkellybrown.umwblogs.org/files/2013/04/Project-Plan.docx  · Web viewPage to generate a report on a ... The impact that staff illness would

16

■ An integrated development environment that enables rapid application development of GUIs and provides access to databases.

● Xampp■ Free and open source web server package that consists of Apache

HTTP server and MySQL database.