Task Management System Client xx Team Member 1 Member 2 Member 3 This is not a real project, but a student project carried out for a system requirements course at American University.
Feb 18, 2016
Task Management System
Client xxTeam
Member 1Member 2Member 3
This is not a real project, but a student projectcarried out for a system requirements course
at American University.
Agenda
• System Concept– BPM– Context Diagram
• Use Cases– Use Case Diagram– Elaborated Use Case
• Data Model– Key Tables– CRUD Matrix
• Conclusions
System Concept
• “An electronic checklist system to facilitate deployment”
• Current project: Facilitate ERP deployment for the U.S. Army
• Replaces an Excel “readiness” checklist
• “Reusable” electronic system to handle task management– Allow stakeholders to understand their roles during deployment– Provide an automated system of reminders– Track deployment progress
System Features
• Set-up
• Management
• Execution
• Notification
• Reporting
• “Dashboard”
System Actors
• Administrator Set-up
• Project Manager Review and approval
• Task Manager Assign tasks
• Assignee Complete tasks
• Viewer Read-only
• Template Manager Manage Task Templates
System Actor
Business Process Model
Task Management System
Set
-Up
Exe
cutio
n an
d M
anag
emen
tC
lose
-out
ViewerAssigneeTask Manager Project ManagerTemplate ManagerAdministrator
Start
New Task List?
Create users / set
permissions
Import external
tasks
Template or
external?
Select Operation
Search templates
Template exists?
Create template
from existing project
Modify template?
Apply template to
project
Create new task
Assign (reassign)
task
Approve?
Review readiness
report
All tasks complete?
Close-out project
End
Update task?
Mark task complete
Modify task
Delete task
Review readiness
report
Review readiness
report
Approve?
Modify template
Approve?
Yes
No
External
Template
Yes
No
Yes No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Create template?
Create template Yes
No
BPM: Set-Up Phase
Task Management System
Set
-Up
ViewerAssigneeTask Manager Project ManagerTemplate ManagerAdministrator
Start
New project?
Create users / set
permissions
Import external
tasks
Template or
external?
Search templates
Template exists?
Create template
from existing project
Modify template?
Apply template to
project
Modify template
Yes
No
External
Template
Yes
No
Yes No
BPM: Management Phase
Task Management System
Exe
cutio
n an
d M
anag
emen
t
ViewerAssigneeTask Manager Project ManagerTemplate ManagerAdministrator
Select Operation
Create new task
Assign (reassign)
task
Approve?
Review readiness
report
Update task?
Mark task complete
Modify task
Delete task
Review readiness
report
Review readiness
report
Approve?
Approve?
Yes
No
Yes
No
Yes
No
Yes
No
BPM: Close-Out Phase
Task Management System
Clo
se-o
ut
ViewerAssigneeTask Manager Project ManagerTemplate ManagerAdministrator
All tasks complete?
Close-out project
End
Yes No
Template?
Create Template Yes
No
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Context Diagram
Task ManagementSystem
Administrator
Template ManagerProject Manager
Assignee
Task Manager Viewer
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Assignee Information Flows:* Receives notification of task assignment.* Completes, modifies, or deletes tasks.* Receives readiness reports.
Task Manager Information Flows:* Creates new tasks.* Assigns tasks.* Receives notification of task completion.* Approves (or rejects) task completion.* Receives readiness reports.
Project Manager Information Flows:* Receives notification of updates to project tasks.* Approves (or rejects) updates to project tasks.* Assigns/reassigns task manager.* Receives readiness reports.
Administrator Information Flows:* Creates users.* Sets permissions.* Imports external project tasks.* Assigns/reassigns project manager, task manager.* Closes out project.
Template Manager Information Flows:* Creates templates from prior project tasks.* Modifies templates.* Searches templates.* Applies templates to projects.
Viewer Information Flows:* Accesses (read-only) project tasks.* Receives readiness reports.
Use Cases
• UC-001: Create Users and Set Permissions• UC-002: Import External Tasks• UC-003: Search Templates• UC-004: Create Template from Existing Project Tasks• UC-005: Modify Template• UC-006: Apply Template to Project• UC-007: Create New Task• UC-008: Assign (Reassign) Task• UC-009: Complete Task• UC-010: Modify Task• UC-011: Delete Task• UC-012: Send Readiness Reports• UC-013: Close-Out Project• UC-014: Reassign Manager• UC-015: Send Reminders
Use Case Diagram
Task Management System
Create Users andSet Permissions
Administrator
Viewer
Project Manager Assignee
Import ExternalTask List
Create New Task
Assign [Reassign]Task
Complete Task
Modify Task
Delete Task
Close-out Task List
Send ReadinessReportsTask Manager
Template Manager
Create Template fromExisting Task List
Modify Template
Search Templates
Apply Template toProject
Assign/ReassignManager
Send Reminders
Representative Use Case
Use Case ID UC-008
Use Case Assign (Reassign) Task
Actors P: Task Manager, S: Assignee
Pre-conditions A task has been created in the system
Flow of Events 1.The Task Manager selects an existing task or group of tasks.
2.The Task Manager enters a date for the task to be completed.2.1 The date must be greater than today’s date. If the Task Manager enters a date prior to today’s date, the system will display an error message and prompt the Task Manager to enter a different date.
3.The Task Manager selects an Assignee in the system.3.1 To assign a task, the Assignee must exist in the system. If the Assignee does not exist in the system, the Task Manager must contact the Administrator.
4.The Task Manager assigns the task to the Assignee.4.1 If the task already has been assigned to another Assignee, the system displays a message notifying the Task Manager that the task already has an Assignee and asks the Task Manager to confirm the action.
4.1.1 If the Task Manager does not confirm, the system prompts the Task Manager to select another task (go to flow 1.1).4.1.2 If the Task Manager confirms, the system assigns the task to the Assignee.
5.The system notifies the Assignee that a task has been assigned.5.1 If the notification subsystem does not notify the Assignee, the task still displays on the dashboard.
6.The system designates the task as “outstanding.”6.1 If the tasks are being monitored manually, the Task Manager is responsible for notifying all Assignees of their new and current tasks.
Post-conditions
Assignee has notification of the new task in the system and the task is denoted “outstanding” in the system.
Data Model
Permissions
PK PermissionID
PermissionDescription
Users
PK UserID
UserNameFK1 PermissionID
Roles
PK RoleIDPK,FK2 TaskIDPK,FK1 UserID
RoleDescription
Tasks
PK TaskID
TaskName TaskDescriptionFK1 CategoryIDFK2 StatusIDFK3 TemplateIDFK4 ProjectID
ActionHistory
PK ActionDate
FK1 TaskIDFK2 ActionID Comments
TaskActions
PK ActionID
ActionDescriptionFK1 NotificationID
Notifications
PK NotificationID
NotificationType
TaskCategory
PK CategoryID
CategoryDescription
Status
PK StatusID
StatusDescriptionFK1 ReminderID
Reminders
PK ReminderID
ReminderDescription
Templates
PK TemplateID
TemplateInfo TemplateTasks
PK TaskID
TaskName TaskDescriptionFK2 CategoryIDFK1 TemplateID
Projects
PK ProjectID
ProjectDescriptionFK1 ClientIDFK2 UserID DateOpened DateClosed
Clients
PK ClientID
ClientName ClientAddress ClientCity ClientState ClientZip
Permissions
PK PermissionID
PermissionDescription
Users
PK UserID
UserNameFK1 PermissionID
Roles
PK RoleIDPK,FK2 TaskIDPK,FK1 UserID
RoleDescription
Tasks
PK TaskID
TaskName TaskDescriptionFK1 CategoryIDFK2 StatusIDFK3 TemplateIDFK4 ProjectID
ActionHistory
PK ActionDate
FK1 TaskIDFK2 ActionID Comments
TaskActions
PK ActionID
ActionDescriptionFK1 NotificationID
Notifications
PK NotificationID
NotificationType
TaskCategory
PK CategoryID
CategoryDescription
Status
PK StatusID
StatusDescriptionFK1 ReminderID
Reminders
PK ReminderID
ReminderDescription
Templates
PK TemplateID
TemplateInfo TemplateTasks
PK TaskID
TaskName TaskDescriptionFK2 CategoryIDFK1 TemplateID
Projects
PK ProjectID
ProjectDescriptionFK1 ClientIDFK2 UserID DateOpened DateClosed
Clients
PK ClientID
ClientName ClientAddress ClientCity ClientState ClientZip
Key tables
Core Tables• Tasks• Users• Projects
Support Tables• Roles• Status• Reminders• Notifications• ActionHistory• Clients• Permissions
CRUD Matrix
Legend: CRUD Matrix Acronym C Create: The use case (row) creates records in the
corresponding table (column). U Update: The use case (row) updates records
in the corresponding table (column). R Read: The use case (row) reads records in the
corresponding table (column). D Delete: The use case (row) deletes records
in the corresponding table (column).
Legend: Use Cases UC No. Title UC No. Title UC-001 Create Users and Set Permissions UC-009 Complete Task UC-002 Import External Project Tasks UC-010 Modify Task UC-003 Search Templates UC-011 Delete Task UC-004 Create Template from Existing Project UC-012 Send Readiness Reports UC-005 Modify Template UC-013 Close-out Project UC-006 Apply Template to Project UC-014 Assign/Reassign Manager UC-007 Create New Task UC-015 Send Reminders UC-008 Assign (Reassign) Task
CRUD Matrix
Data Objects Use
Cases Users Roles Permissions Templates Template Tasks Projects Tasks
UC-001 C,U U R UC-002 C,U C,U UC-003 R R UC-004 C,U U R R UC-005 U U,D UC-006 R R C UC-007 R C,U UC-008 R U UC-009 R U UC-010 R U UC-011 R D UC-012 R R UC-013 U UC-014 R U UC-015 R
CRUD Matrix
Data Objects – Cont’d
Use Cases
Task Categories
Task Actions
Action History Status Reminders Notifications Clients
UC-001 UC-002 UC-003 UC-004 UC-005 UC-006 R UC-007 R R C R R R UC-008 R C R R R UC-009 R C R R R UC-010 R C R R R UC-011 R C R R R UC-012 R UC-013 UC-014 R R UC-015 R R
Conclusion
Complete: - Requirements- BPM- Context Diagram- Use Cases- CRUD- Data Model
Next Steps: - Development- Testing- Training- Documentation- Pilot- Deployment
Questions?