project plan document.docx - kelly...
TRANSCRIPT
1
PROJECT PLAN Faculty Organization Committee Planning Tool
Date of Issue: February 18, 2013K.B Brobbey, Kelly Brown, Rebecca Wright
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
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.
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
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
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
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
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
9
description of each task, its dependencies, and reasoning behind our scheduling
estimates.
Figure 1. Project Task List
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
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.
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.
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.
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.
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
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.