Download Web-Based Project Management System for Lower-Level Managers - Prof. Songhwai Oh and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity! Project Abstract Project management is a problem faced by any person responsible for managing a project with more than 2 people involved. The market currently contains a wide variety of project management software, none of which provides the appropriate amount of detail for lower-level managers - some provide too much, while others don't provide enough. Our product will be primarily project- and task-based. It consists of a system, primarily to be used by Supervisors and Managers (but not by higher levels of management) in highly bureaucratic corporations, that simplifies the process of managing projects. It will enable users to input their projects and resources and assign tasks to them. Built-in calendaring, notification, and cost management features will allow managers to keep tabs on their projects. A dependency view allows managers to quickly determine where the bottlenecks in a given project are and apply the appropriate resources to the necessary tasks to resolve the problem. The system will be entirely web-based, allowing for users of any platform or device to use it, so long as they have access to the web server. Document Revision History Rev. 1.0 2007-09-23 – initial version Customer The customer for this Project Management System will be any company or corporation that has subdivided its employee workforce. The project management system will be ideal for project team leads and supervisors with small teams. The specific customer found for this project who has met with us about the specifications and will continue to support the team until the end of the semester is IBM WebSphere Education. The team at IBM has at least three team leads interested in using the system. David Swanger, IBM WebSphere eLearning Program Manager, will be in direct contact with the team throughout the project and is excited to use the system for both his operational and technical team leads. Competitive Landscape In the enterprise world projects span over months or years and involve dozens if not hundreds or thousands of workers. Consequently a lot of software has already been developed to address the issue of managing them. These solutions greatly vary in size, features offered, complexity, price, platforms supported, etc. Since one of the main requirements of our customer is simplicity, many existing solutions are actually not well received. These solutions are generally complex and feature rich, though many users find it a hassle to deal with them all. We want to improve the customer experience here by making something far more intuitive than the current options. Another requirement of our customer is that the system needs to run on Windows. This means that solutions that do not support Windows are insufficient for our customer’s needs. Finally, some current systems are not “team-oriented”, meaning that content cannot easily be shared among a team with the notion of access rights. This proves incompatible with our customer’s requirements and the team environment in which they wish to use the product. Again, we can fill these needs by providing something which can be accessed by the entire team, as privileges dictate. This being said, the three closest competitors from our pool are ProjectPier, dotProject and Microsoft Project. ProjectPier ProjectPier is the simplest software on our list of competitors, which gives it an advantage over the larger systems. Furthermore, ProjectPier makes it very easy to have different views depending on the role of a person in a company. This allows a worker to see his tasks and a manager to follow the course of a whole project. Last, ProjectPier is web-based and hence inherently portable across all platforms. However, ProjectPier has several major shortcomings: • ProjectPier does not support Gantt diagrams, nor can it produce reports • ProjectPier has not been around for a long time and is still in alpha version, which means lots of potential bugs and lack of assurance concerning the project’s future. dotProject dotProject is a very serious competitor that complies with a lot of our requirements: • It is a PHP web application (which makes it portable on virtually any platform) released open source and free of charge. • dotProject is not intended solely for the manager to plan the tasks for which he is responsible; it provides the workers with tasks, appointments and summaries. • dotProject can produce Gantt diagrams for a project, as well as short reports. dotProject also provides functionalities beyond those required by the client, like forums to exchange opinions and ideas, file hosting, calendars, problem tracking system, etc. However, dotProject has a few shortcomings, the main one being that task dependencies are only partially handled. In addition, dotProject provides a lot of peripheral functionalities that our customer does not need, and that may eventually bloat the user interface and hamper the ease of use of the software. The most striking a. # of new tasks b. # of Active Tasks c. # of People awaiting tasks you’re assigned to 2. Summary of Resources a. Resources available to you / being used by you 3. Summary of Deadlines a. Task Deadlines b. Resource Expiration ii. Task View 1. Access to functions a. Assign People b. Assign Resource c. Update Task d. Remove Task e. Setting permissions or special notifications 2. List of Tasks a. Select from a list and use Task Action Button Bar iii. Calendar View 1. Month / Year Navigation Buttons iv. Gantt Chart View 1. Week / Month / Year granularity v. Timeline Use Cases Name Create User (Must have) Actors System Administrator Triggers Click the create user button Events • Click the create user button • Enter in user login and password information • Submit the new information to the database Exit Condition Submit new user information or cancel request Post- conditions A new user is created and can now log on to the management system Acceptance Test The system administrator creates a new user account. This user should be able to log on to the management system. Name Login (Must have) Actors Worker, Supervisor, Manager, System Administrator Triggers Enter login webpage Events • Enter login webpage • Enter in user name and password • Click submit • Wait and see if access is granted Exit Condition Click the submit button Post- Allow user access to management system if user/password conditions combination accepted, else deny access Acceptance Test User should be able to login. Depending on hierarchical permissions access, some users should have more control over features than others, such as managers. Name Logout (Must have) Actors Worker, Supervisor, Manager, System Administrator Triggers Click the logout button Events • Click the logout button • Logs user out of the management system Exit Condition Click the logout button Post- conditions User is logged out of the management system Acceptance Test User should be completely logged out. When trying to enter the management system again, the login webpage should be loaded. Name Password Reset (Useful) Actors System Administrator Triggers Click password settings button Events • Click password settings button • View a list of all active users (cannot view a list passwords) • Reset a selected user’s password or cancel reset Exit Condition Reset password or cancel reset Post- conditions Resets a user’s password in case the user forgets the password Acceptance Test Password should be reset and allow the user to pick a new password for access to the management system. Name View Projects (Must have) Actors Worker, Supervisor, Manager Triggers Click on the projects button Events • Click on the projects button • Brings user to a welcome page with a list of projects, deadlines etc. Exit Condition Navigate to another link Post- conditions Returns user to the main page with a list of projects Acceptance Test User should be able to view a welcome page and get a general idea of all projects, tasks, and deadlines. Name Set Notifications (Useful) Actors Worker, Supervisor, Manager Triggers Click on the set notifications button Events • Click on the set notifications button • Edit notification settings to the user’s preference by editing a form • Save settings or cancel settings Exit Condition Save settings or cancel settings Post- conditions Sets user preferences for notifications on completed tasks, projects, etc. Acceptance Test User should be able to set a notification for when a project finishes. When the project does finish, a notification should be sent. Name Create Project (Must have) Actors Manager Triggers Click on the create project link Events • Click on the create project link • Create a new project by filling out a form • Submit new project or cancel request Exit Condition Save a new project or cancel new project request Post- conditions Creates a new project that users can view and to which they can assign tasks, resources, deadlines etc. Acceptance Test User should be able to create a project and immediately view and start editing the project. Other users should be able to view the project and changes. Name Add Task/People/Resource (Must have) Actors Supervisor, Manager Triggers Click on the add task/people/resource button Events • Click on the add task/people/resource button • Add a task to a project, assign a person to a project or task, assign a resource to a project or task • Submit new task/people/resource information or cancel submission Exit Condition Submit new information or cancel request Post- conditions Adds new tasks/people/resources to projects Acceptance Test User should be able to add tasks, people, and resources and these changes should be viewable by all users with access rights to the project. Name Generate Reports (Useful) Actors Worker, Supervisor, Manager Triggers Click on the generate reports button Events • Click on the generate reports button After clicking on a project, on the same page will pop up additional details about that project, such as the warning thresholds that have been set, its description, dependences of its tasks, the human and non-human resource lists, and more (Figure 4). All this information can be edited from here. All the human and non-human resources listed are contained within this project. And logically, a human resource that is assigned to a project, with the exception of a manager, and not directly assigned to any task under that project will be considered as an idle worker. From these resource lists, additional resources can be added to the project, as well as the ability to remove one or many resources at the same time from the project. One of the columns of information is the ranking of the human resource. The system differentiates between rank and position, as for example, a supervisor can also be a programmer. If the user wishes to go one level lower and view the tasks contained within a project, s/he can expand it by clicking on the plus sign button. Once that is clicked, all the tasks within a project will be instantly displayed, with the same available schemas present to the projects (Figure 5). And naturally, the ability to remove one or many tasks at the same time is now present too. Basically, all the features that were available for the projects are now available for the tasks. After clicking on a task, the same type of additional details that popped up for a project will also pop up here (Figure 6). The main difference now is that the information will relate only to the task as oppose to the entire project it is under. For example, all the resources that only belong to the task will be displayed with the same similar features that were given from a project’s view. The last of the core of our user interface will be when a resource is clicked on, in this case a human resource from a task’s popup details, although it is important to note that a resource can also be directly clicked from a project’s popup details. It will first display all the relevant information regarding this person and this task only, such as cost so far, description of duty, and more (Figure 7). A general information section on this person will also be displayed thereafter, giving the person’s background information. A spreadsheet list similar to the ones we have seen will also be displayed as it’s fed from the database, showing all the other projects and tasks this person is currently working under. Main (Figure 1)
Logout | Message system
Welcome back, Farshad.
Last logged in September 5, 2007 @ 15:23
‘You have 14 notifications!
Project Management Software
on atc
previous 10 next 10 >>
From: System Project B ---> Task C
Subject: Project A deadline! Project B ---> Task D ---> Human A
From: System Project C
Subject: Project B ---> Task D deadline! Project A ---> Task F
From: System Human D
Subject: Project D done! Human A
From: System Project B ---> Human C
Subect: Project E ---> Task F added! Project A ---> Task A
From: System Project A ---> Human B
Subject: Project C ---> Task E cost! Project D ---> Task > Human D
Projects List (Figure 2)
Logout | Message system
Welcome back, Farshad.
Last logged in September 5, 2007 @ 15:23
‘You have: 14 notifications!
Add task
Remove:
Add project | View: List or Calendar or Timeline or Graph.
Name Elapsed time Deadline Cost so far Status
Project A Expanded (Figure 5)
‘Welcome back, Farshad.
Last logged in September 5, 2007 @ 15-23
‘You have: 14 notifications!
Add task
Remove:
Add project | View: List or Calendar or Timeline or Graph.
Name Elapsed time Deadline Cost so far Status
Task A (Figure 6)
Oe
Oe
oe
Logout | Message system
Welcome back, Farshad.
Last logged in Sepleabes 5, 2007 @ 15.23
‘You have 14 notifications!
Add task
Remove
‘Add project | View: List or Calendar or Timeline or Grap’
Name Elapsed time Deadline Cost so far Status
ject 8 2 months, 3 days 71S{08 $20,183 Tn progress
Task A 24 days 7/408 $2,012 In progress
Task B 1 month, 2 days 6/29/08 $5,328 Done
Task ¢ 29 days 6/29/08 $857 Tn progress
ject 8 months, 23days 2/11/09 $100,342 bone
ject C year, 8 months 10/3/07 $504,342 Done
Project D 10 days 2/3/10 $5,000 Idle workers
Project 8 months, 20days 5/08/08 $283,674 In progress
ject Amonths, 30days 6/23/08 $733,543 Pone
® Hide details
Name: Task A
Elapsed time: 24 days
Deadline: //4/08 [Warning: On, threshold: 1/2/08]
Cost so far: $3,012 [Warning: Off]
Status: In progress
Remaining funds: $6,542
Max cost allocated: $9,554
Description: To build the file structure of the operating system.
Dependencies:
ask A
Task B
Task C ---> Task A and Task F
Task D
Task E ---> Task C
Task F ---> Task D
>> Edit information
Remove
Assign human to this task
Human Rank Task cost so far Position
) Human a Supervisor $568 Programmer
) Humen 8 Worker $375 Programmer
) Human c Worker $5,563 Programmer
Remove
Assign non-human resource to this task
Non-human resource Task cost so far
o
30 computers $1,054
Person A (Figure 7)
Logout | Message system
Welcome back, Farshad.
Last logged in September 5, 2007 @ 15:23
‘You have 14 notifications!
Person A’s information regarding Task A
Date hired: 5/2/06
Cost so far: $5,012 [Waming: Off]
Cost rate: $512/month
Rank: Supervisor
Position: Programmer
Job description: Work on directory structure.
>> Edit information | Remove person from task
Person A’s general information
Date hired: 3/12/04
Cost so far: $200,238
Cost rate: $6,034/month
Qualifications: C, C++, Java, Python, Scheme, Verilog, MIPS
Gender: Male
Address: 12345 Telegraph Ave, Berkeley, CA 94720
Other working areas:
View info regarding resource
Remove
Name Rank Cost so far Position
© [1 ® Project A Supervisor $1,012 Programmer
on Project B Supervisor $875 Graphics designer
eon Project C Worker $3,821 Sound editor
>> Edit information | Remove person from system
Specification
Actors in the syste’ Two main classes System User and System Administrator Under
System User there are Manager Supervisor and Worker
‘System Administeatar
Manager Supervisor Worker
Use case diagram of networking and system activities These mostly allow and determine
access to the system itself
Create User
System User System Administrator
janager Projed)
Uset
Manager
faanager Resource
Uses
Reporting Uses
“Ss
‘Worker Project Uses
‘Worker ‘Worker Task Uses
Once a user is authorized he or she can access different use cases inside the
systerr This describes groups of use cases and which actors have access to therr
Notifications Change Notification Settings View Notifications «extends» «extends» Worker Project Uses Manager Project Uses View Project Details Add ProjectRemove Project Update Project «extends» «extends» «extends» «extends» Find Project «uses» «uses» «uses» Manager Supervisor Worker * * * * * * * * * * Worker Task Uses Supervisor Task Uses Update Task «extends» Assign Task Deassign Task «extends» «extends» View Task «extends» Add Task Delete Task «extends» «extends» Find Task «uses» «uses» «uses» «uses» «uses» Manager Supervisor Worker * * * * * * * * * * Detailed use case diagram showing the composition of use task groups * * * *