1. Project Description
1.1 Historical Perspective
In
today’s world of increasing technology, an overwhelming majority of
organizations recognize the benefits of software solutions for managing
resources. Therefore, various
categories of management software have become common place in the
workforce. These applications organize
projects and provide functional information to project leaders and
management. To make available these
details, software of this nature uses a
resource-based approach to perform its actions. For this reason, these applications treat staff members strictly
as a resource. In other words, staff
assigned to a project are considered in the same manner one may regard a
workstation.
Upon
completion of a vigorous study of available applications, results show that
existing management software lacks sophisticated staff assignment and
administration. For example, no
obtainable applications offer any ability to locate one or more employees who
may possess particular qualifications required by an individual role in a
specific project. Although businesses
which maintain a relatively small number of employees may not necessitate such
sophisticated software, organizations which sustain a sizeable employee base
stand to benefit significantly. Project
managers spend valuable time, as well as a generous amount of effort,
struggling to identify the most qualified individual for a given task. One must consider several focal points, such
as availability, educational background, and experience within the company
while selecting project staff.
Moreover, in cases where organizations have increasing staff and project
volume, project managers must dedicate exuberant amounts of time probing
through individual’s records to recognize appropriate team members.
In
order for organizations to capitalize on project manager performance, an
effective solution, which administers staff in the aforementioned manner must
be utilized. Automating the process of
staff selection, or simply producing a software package that possess ability to
recommend staff placement, has the potential to allocate project leaders
additional time to concentrate on other assignment related issues. Furthermore, appropriate staff appointments
increase overall efficiency within an organization by exploiting employee
assets.
1.2 Product Overview
Manage
2000 is designed to provide project managers with an effective, efficient way
to address problems regarding staff placement.
In order to achieve this solution, Manage 2000 intelligently surveys individual
employee traits, provides staff recommendations based on project position
requirements, and dynamically updates database information as personnel
complete tasks. Additionally, Manage
2000 opens a more effective channel of communication with upper-level
management. For instance, project
leaders are obligated to routinely report project progress and or complications
to upper-level management. While it is
necessary for a project leader to have a good understanding of the various
details regarding project staff, upper-level management usually maintain a less
significant role with respect to specific project information. To help bridge this information gap between
project level staff and higher management, Manage 2000’s structure permits
information about a specific project to quickly be retrieved and relayed to
upper management. Manage 2000 executes
this by storing information about positions available within a project with
regard to skills considered necessary to complete tasks delegated to each position.
As
a result of the staff tracking abilities, Manage 2000 yields yet another
benefit without the system having to perform any additional work.
While
submitting bids or contract proposals, many companies feel compelled to
validate that they retain the necessary skills within their employee base to
accomplish the project. As opposed to
gathering resume material from each employee, Manage 2000 already contains the
essential information about potential project workers. Consequently, Manage 2000 provides instant
knowledge about employees and the skills that each holds. Due to dynamic refresh module, information
stored within Manage 2000 will be the most up to date information available
about each employee. As well as
assisting larger corporate organizations, the dynamic refresh module appeals to
associations which maintain less staff.
For this reason, Manage 2000 inherently increases its own marketability.
In
summation, Manage 2000's design will assist project managers by performing the
following:
·
Tracking employee statistics relevant to project
related domains
·
Analyzing database records with supplied input and
providing staff placement recommendations
·
Dynamically refreshing employee database information
upon task completion
·
Providing an employee skills index corresponding
with furnished project requirements
·
Preparing resume affiliated employee information and
statistics
1.3 Solution Approach
Manage 2000’s information is sub-divided into three domains:
·
Staff indexing
·
Qualification class (Educational background,
Experience, Experience within the company, etc)
·
Skills indexing (An index of all skills known within
the scheme)
1.3.1 Staff listing
Manage
2000 maintains a master index of employees.
Within this index, each employee harvests various skills. Furthermore, each of these skills is
associated with a corresponding qualification class. Therefore, it is possible for an employee to possess two or more
different listings for similar skills.
For example, a staff member who has successfully taken three Java
programming courses and has accumulated two years of work experience, Manage
2000 provides a method for distinguishing between these two
classifications. Accordingly,
categorizing staff ability in this manner allows Manage 2000 to prepare staff
recommendations based on what project managers feel is more significant for the
task at hand.
1.3.2 Qualification Classes
Manage
2000 harbors various classes of qualifications. Include within these groups are educational background, previous
work related experience satisfied through other organizations, experience
obtained within the company, etc.
Depending on the type of work, particular qualification classes may be
more substantial than others. For this
reason, Manage 2000 provides optimum staffing recommendations by distinguishing
between qualification classes.
1.3.3 Skills listing
Manage
2000 collects employee skills and stores them within a master index. Without this index, project managers may
inadvertently duplicate skills or facts listed under a slightly different
names. In such cases, Manage 2000
prompts project managers when an undefined skill has been submitted and
provides users with a register of possible skill equivalencies. As a result, Manage 2000 allows users to
avoid duplicate entries as well as provides a way of submitting new skills to
the database when necessary.
1.4 Internal Structure
Additionally,
functional aspects divide Manage 2000’s internal structure into independent
modules. Developmental aspect
necessitate these divisions with Manage 2000:
1. Information
storage / retrieval module
2. User
interface module
3. Data
management module
4. Staff
selection module
5. Dynamic
refresh module
6. Report
Generator
7.
Profile Update Request Module
8.
Profile Update Verification Module
1.4.1
Information
Storage / Retrieval Module
Manage 2000 requires several procedures dedicated to file
storage and
retrieval. These procedures are entailed in various
classes of information
to be stored with the
database. Manage 2000 must maintain
staff
information, skills indexes,
project characteristics, corporate structure,
and current schedule
information. Manage 2000 must also be
able to examine
files from the host
programs' database, which is Microsoft Project.
Furthermore, Manage 2000
must utilize this information and create its' own
file set pertaining to
that particular project. These actions
must be
treated as individual
sections within the file handling system for two
reasons. First, this permits programmers to easily
upgrade Manage 2000's
program code as new versions
of supported software are released.
Moreover,
this allows programmers to
update
Manage 2000's code so that
it will include support for program maintenance.
Secondly, it permits elementary development, debugging, and design
analysis by breaking down
the file sub-system into separate sections.
I. Functional requirements
A. What it will do
i. retrieve data from
Microsoft Project
ii. process
information from various files
B. What it will not do
i. create, revise,
update, or delete Microsoft Project files
II. Inputs
i. files / fields from Microsoft Project
ii. files related to
internal procedures of Manage 2000
iii. files containing
stored information processed by Manage 2000
III. Processing
Files from Microsoft Project will be retrieved and various data
fields
will be processed and
potentially stored for current and future use.
IV. Outputs
Software interface Microsoft Project
Performance
requirements
Speed of storage and
retrieval depends on database size, number of files to
be processed, various
internal computer features, and other potential
current database
operations.
1.4.2 User Interface Module
A quintessential aspect of
Manage 2000 is its ease of use. Manage
2000’s graphical user interface (GUI) is designed to alleviate several
issues. GUI software is specifically
designed to provide information to the user through a quick and easy
manner. Furthermore, a GUI module allows
users to retrieve necessary information without having to guess which data must
be provided to the program. Manage
2000’s GUI will make the information exchange between the user and the
application as efficient as possible, without being unnecessarily complex.
With the above issues in
mind, Manage 2000 is designed to provide users a windowed system that is split
into three main areas. Staff, project
management, and skills tracking are the accounted main areas.
The
first of these, the staff area, is the section of the interface devoted to
information about the current staff.
Within this section, managers will be able to view, print, update, add,
and delete both information about the staff members and the actual database
entry for the employee as well. The
employees will be able to view a report of their currently stored information,
print, and update information to a temporary file later approved by the manager
for the final change.
The
second area, the project manager area, serves as a control area for
projects. Here, projects can be viewed,
printed, updated, modified based on changes made to the host program’s files
(altered files in MS Project), added, and deleted. Project managers may also replace individuals or reallocate
individuals from one project to another within this area, as well as add new
staff members to projects.
Once a project has begun, Manage 2000 traces the availability of all the assigned individuals. The availability of the staff members will be represented through a color code displayed in the recommendations for staff placement. For ease of remembering the color code, an analogy of a stoplight is being used. Output displayed in red text identifies an employee allocated to another project which is not currently available to be replaced. This decision is up to the manager, but Manage 2000 uses red text to advise against replacement of this individual. Output displayed in yellow text identifies an employee who is currently allocated to another project, but occupies a role that is capable of being replaced by another staff member. Once again, the project manager decides to reallocate the employee or not. Green text output identifies currently inactive employees which are freely available to reside on the project team.
The
third area, the skills tracking area, allows a project manager the ability to
view skill characteristics, add a skill, and remove a skill should there be a
faulty or out of date entry. The
information viewed about a skill is primarily a summary of the skill as well as
its applications. These skills pertain
to each qualification class preferences, such as education, technical
schooling, current job experience, previous job experience, etc.
I.
functional requirements
A.
capabilities - What it will do?
i.
provides users with an efficient and easy to follow
windowed GUI
ii.
staff area
a.
managers
(i.) update,
view, and print information on staff members
(ii.)
add and delete employee entries
b.
employees
(i.) view
and print information on themselves
(ii.)
update to a temp file later finalized by manager
iii. project
management area
a.
project information
(i.) view
and print
(ii.)
update and modify
(iii.)
add and delete
b.
availability of individuals
(i.) place
a color code to each employee for availability
(ii.)
view the availability of employees
iv.
skills tracking area
a.
view skill characteristics
b.
add or delete a skill
B.
constraints - What it will not do?
i.
will not be able to access this information from
Project’s pull down menu
ii.
employees will not be able to manipulate their files
directly
iii. Manage
2000 will not automatically add the top chosen person to each project part
necessary
C.
inputs
i.
Managers
a.
employee information such as name, social security
number, etc.
b.
skill categories such as c++, java, etc.
ii.
employees
a.
change in personal information such as address, etc.
b.
updates in skill such as taking a class at ODU on
c++, etc.
D.
processing
E.
outputs
i.
any views or print-outs requested from managers or
employees
ii.
color text for each employees availability
iii. change
of information to the database
***Future example forms
will be placed here. They are still
being worked on***
1.4.3
Data Management Module
1.4.4 Staff Selection Module
Another primary segment
within Manage 2000 is the staff selection module. Housed within this section of Manage 2000 are the algorithms
necessary for identifying key employees. Manage 2000's selection algorithm
utilizes presented information about a project to resolve
which employees would best
fill available positions. This
selection module must consider several aspects of the project, such as
necessary skills, priority levels, and qualification class preferences prior to
identifying staff members for a particular position. Manage 2000 employs a weighted system while selecting staff based
on the needs of the project involved.
I. Functional requirements
A. What it will do
i. take the weighting scale and apply it to data stored about
employees.
ii. generate a list of qualified employees ranked by level of
qualification
for this particular position.
B. What it will not do
i. assign a permanent rank to each person in the company. The
ranking is done dynamically for every available position.
II. Inputs
i. position to be filled
ii. requirements the person has to fill
iii. weighting of those requirements to determine which is an
important requirement and which is just desired
III. Processing
The database is queried for people who fulfill all the
requirements and the weighting is applied to the skills stored for the
employee. (E.g. an employee with 5 years programming experience will have a
higher number assigned in that field than an employee with just 3 years
experience.)
Dynamically, all qualifying employees are ranked based on the
numbers calculated; SUM(weight * skill level) summed up over the requirements.
IV. Outputs
A list of candidates sorted by their resulting number. From that
list the program manager can chose the employee to fill the position.
User interface
Will be windows based. Desired requirements can be chosen from a
list of skills that the database holds.
Software interface
Interfaces with the database in which the employee information is
stored.
Performance requirements
Speed of the search depends on processor speed, size of the
database, and number of requirements.
1.4.5
Dynamic Refresh Module
1.4.6
Report Generator
Report Generator
Since the placement in
project teams will be determined by the information stored in the database, the
employees will want to check if the information in the database is correct and
up to date, just like one wants to see a credit report. In order to do that,
employees will be able to log on to the system with read only rights to their
own information. They will be able to view and print their list of skills.
I. Functional requirements
A. What it will do
i. allow employee read access to his/her own information
ii. allow employee to print this information
B. What it will not do
i. allow employees to read everybody's information
ii. allow employee to edit information
II. Inputs
i. employee ID
ii. password
III. Processing
Simple select on the database containing information about
employee with employee ID used in login.
select * from employee_skill_table where employee_ID = 1234567;
A report will be generated from the result of the select which
will show only the skills an employee has, not the ones where the value is
null.
IV. Outputs
The report created from the output of the select statement. it
will be a list of skills and qualifications.
User interface
Will be windows based.
Software interface
Interfaces with the database in which the employee information is
stored.
Performance requirements
Speed of the search depends on processor speed, size of the database, and number of requirements.
The accuracy of the Manage 2000 database is of the utmost importance. If the information stored within Manage 2000 does not accurately describe the employees, then in no way can Manage 2000 perform its tasks; every action from the simplest automated employee resume to the selection of the correct personnel for a given task is rendered undoable. In addition to this, employee confidence in the correctness of the database must remain high. If the employees are not satisfied with the correctness of Manage 2000’s database, then the effects of Manage 2000 can be counter productive, lowering morale as well as productivity of the employees as a whole.
In order to solve this
issue, Manage 2000 requires two additional modules. The first of these modules is the Profile Update Request Module
(PURM). When logged into Manage 2000, a
normal user can view the information stored within his / her profile. If there is an error within the data, the
user is presented with the option to request that the information about one or
more of the listed qualification ratings be changed, or they can request that a
new skill be added into their listing.
The PURM handles all requests for data modifications made by an
employee. It stores the requested
changes in a temporary database which is later accessed by the Profile Update
Verification Module (PUVM) the next time the Manager logs in.
Inputs:
-Current employee’s skills
listing.
-Requested changes
(provided by employee).
Processing
-Assurance that requested
changes are valid (no mismatch of data types).
-Location of correct
manager for information verification (notification of the proper person).
Outputs
-Requested changes are
provided to the temporary database of the manager in charge of the employee for
later verification.
External Interfaces:
-Module is called by the
GUI and retrieves information from it.
-Interaction between
Information Storage / Retrieval Module for extracting current employee data and
storage of request.
Performance Requirements
-Not an issue (areas of
concern deal with the information storage and retrieval, not this module as it
is not processor intensive nor is it data management intensive).
Design Constraints
-Does not store the data
itself (uses Information Storage / Retrieval Module).
-Uses GUI Module for user
provided information access, as well as the display of information to the user.
-Temporary Database entries detailing user requests (Provided by Information Storage / Retrieval Module)
-Manager responses to
requests (Provided via GUI).
Processing
-Information checked for
verified status
Output
-Verified information
saved to Manage 2000 database (via Information Storage / Retrieval Module).
-Removal of Processed
Request from manager’s temporary database (via Information Storage / Retrieval
Module).
External Interfaces
-Interacts with GUI for
information presentation and retrieval from the manager.
-Interacts with
Information Storage / Retrieval Module to update the necessary database
information.
Performance Requirements
-Not relevant to this
section (not a processor intensive nor time consuming section of Manage 2000).
Design Constraints
-Will not directly
interface with user or database, will make calls to the GUI and Information
Storage / Retrieval Modules for information management.