hierarchical project management system - ntutwkchen/courses/ooad/ooad952/re… ·  ·...

22
CSIE/NTUT Object-Oriented Analysis and Design Hierarchical Project Management System The homework #3 for Object-Oriented Analysis Design Course, Spring 2006. Written by Chang, Chuan-Wen (#94419012)

Upload: ngonguyet

Post on 21-Mar-2018

221 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

CSIE/NTUT

Object-Oriented Analysis and Design Hierarchical Project Management System The homework #3 for Object-Oriented Analysis Design Course, Spring 2006.

Written by Chang, Chuan-Wen (#94419012)

Page 2: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized
Page 3: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

OOAD Homework (Spring 2006) 1

Page 4: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

TABLE OF CONTENTS

1. REQUIREMENT DOCUMENT......................................................................................3 1.1 Revision History 3 1.2 Problem Statement 4 1.3 System Context Diagram 5 1.4 Summary of System Features 6 1.5 Use Cases 7

1.5.1 Use Cases Diagram 7 1.5.2 User Authentication and Authorization 8 1.5.3 User Management – Create a User 8 1.5.4 User Management – Delete a User 9 1.5.5 Project Registration 10 1.5.6 Project Management 10 1.5.7 Task Execution Status Feedback 11 1.5.8 Project Information Reporting 12

1.6 Non-Functional Requirements and Constraints 14 1.7 Data Dictionary 15 1.8 Software Environment 16

2. DOMAIN CLASS MODEL...........................................................................................17 2.1 Domain Class Model Showing Only Concepts 17 2.2 Add Associations 18 2.3 Add Attributes 20

OOAD Homework (Spring 2006) 2

Page 5: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1. REQUIREMENT DOCUMENT

1.1 Revision History

Date Major Modifications Summary Measurement

Mar 6, 2006 Problem statement drafted,

Homework #1 published

Total 3 hours

Mar 22, 2006 Document format revised,

System context diagram drafted,

Summary of System Feature drafted,

Use Case Diagram drafted,

Use Case drafted,

Non-functional and constraints drafted,

Data Dictionary drafted,

Software Environment drafted,

Homework #2 published

06/03/19 15:00~ 06/03/19 17:30

06/03/22 13:15~ 06/03/22 15:45

06/03/22 18:30~ 06/03/22 21:00

Total 7.5 hours

Mar 24, 2006 Bug-correct to Use Case Diagram

Homework #2 re-published

06/03/24 12:15 06/03/24 12:30

Total 0.25 hour

Mar 04, 2006

to

Mar 05, 2006

Document format and content revised (recommended by TA)

New Use case (UC-04, UC-05, UC-06) drafted.

Domain Class Model Showing Only Concepts drafted.

Add Associations drafted.

Homework #3 published

06/04/04 15:00 06/04/04 19:30

06/04/04 21:00 06/04/04 22:30

06/04/05 19:00 06/04/05 23:00

Total 10 hours

OOAD Homework (Spring 2006) 3

Page 6: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.2 Problem Statement

Project Management System (PMS) had been widely used in organizations which allow everyone (include Project Manager or Project Member) related to the project can get the most up-to-date information anytime, anywhere. Project Management is not only useful in software development, but also in many mature processes, such as building a house or bridge. Many years ago, the age without software, project management was done through pen and paper. Project Managers wrote down their design and task required in order to finish their final goal, and used traditional way such as getting the project task status by phone or mail. However, it’s hard to get a whole view of the entire project. With the support of IT technology, it is not difficult to implement an online PMS to support those real-time project management activities.

A Project is an information collection which includes general information such as Project Title, Proprietor, Start Date and Finish Date, etc, and a number of related tasks in order to finish the project which planned by a people who is in charge on the project, called Project Manager. A Task usually assign to a people (usually called project members) who is familiar with it. For management purposes, a task usually includes a Task Title which describes the task, a Resource about the team member assigned to the task, a Task Start Date and a Task Finish Date which indicate the time of the task started and finished actually. Other information may also be logged into task information which could aim on advance analysis activities such as process performance analysis to project members.

Compare to most of the PMS available today, this system should provide an extra support on large projects. A large project mentioned here indicates a long-term or multi-phase project which may be controlled by several project managers. Like a normal, regular project, a large project itself will be assigned a project manager for overall project planning. Additionally, the project manager may separate this large project (usually called Parent Project) into some smaller projects (usually called Child Projects) and assign different project managers for those smaller projects. The relationship between the parent project and child projects is called “Hierarchical”. In conclusion, the project separation has already been a practical strategy and adapted in enterprises already but not widely supported by most PMS available today. A major purpose of this Hierarchical Project Management System (HPMS) is designed to provide a system which could handle this situation.

OOAD Homework (Spring 2006) 4

Page 7: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.3 System Context Diagram

Figure 1 shows the System Contet Diagram of this Hierarchical Project Management System.

Figure 1, The System context diagram of the Hierarchical Project Management System

Design the software to support a computerized banking network including both employees workstation (used by project manager and project member) and IT staff’s workstation within coporate network—the corpNet (might be extended to across the Internet in the future). The administrator use it’s workstation (located in MIS department, denoted in “IT staff’s workstation”; Other regular users include project managers and members use their laptop which denoted in “Employee’s Workstation” to access the “Central Management System”, which hosted in headquarter’s server room.

The Central Management System provides central host applications and a storage for PMS system, regular users and administrator access this system through those applications hosted in Central Management System. Each user of this system which identified by their ID and role will got a set of system functions, to support their responsibilities of project amangement.

OOAD Homework (Spring 2006) 5

Page 8: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.4 Summary of System Features

The following system features is identified as following items.

Feature ID Feature Descriptions

FEA-01 All user should identify theirelf in order to use any feature of this system.

FEA-02 Separation of responsibilities. Depends on the the role of current user, only limited functions available could be accessed.

FEA-03 Support Project-Tasks (1 to many) project management relationship

FEA-04 Support Master Project-Child Projects (1 to many) project Management relationship

FEA-05 Provides project-level information reporting for each Project Manager for management and audit purpose.

FEA-06 Web-based system architecture, allow all system users can access this system, anytime, everywhere (within corpNet)

FEA-07 Use text file (XML) as primary storage, no RDBMS is required for this system.

OOAD Homework (Spring 2006) 6

Page 9: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.5 Use Cases

1.5.1 Use Cases Diagram

Figure 2, The Use Case Diagram for Hierarchical Project Management System

Those use cases identified this time are listed in the following table.

Use Case ID Use Case

UC-01 User Authentication and Authorization

UC-02-01 User Management – Create a User

UC-02-02 User Management– Delete a User

OOAD Homework (Spring 2006) 7

Page 10: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

UC-03 Project Registration

UC-04 Project Management

UC-05 Task Execution Status Feedback

UC-06 Task Information Reporting

1.5.2 User Authentication and Authorization

Use Case ID UC-01

Summary A user get authenticated and authorized by his/her id and password, and then could access a predefined function set, depends on his/her role associated.

Primary Actor User

Precondition n/a

Description 1. A user accesses this system through a workstation in the corpNet.

2. The user enters his/her identification to login this system.

3. System logs his/her name, current time into the system access log.

4. System shows a list of functions accessible by the user, determined by this/her role.

Exception 2a: System responses an error message when the identification provided by the user not exists in system’s user database.

Post Condition User is gain access to this system, and can access any function granted by this system.

1.5.3 User Management – Create a User

Use Case ID UC-02-01

Summary A user with administrator permission creates a new user account for the system.

OOAD Homework (Spring 2006) 8

Page 11: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

Primary Actor Administrator

Precondition A user belong to “administrator” role had already login to this system.

Description 1. The administrator accesses the “User Maintenance” function.

2. System shows a user list current exists in the user database.

3. The administrator starts a “Create a User” process.

4. The administrator enters the new user’s name, credential (a unique logon id and password), and the role will be play by the new user.

Exception 4a: System responses an error message when the user id was duplicated with other user in system’s user database.

4b: System responses an error message when the user name, user id had not entered.

Post Condition A new user account will be saved in the system’s user database after this operation success.

1.5.4 User Management – Delete a User

Use Case ID UC-02-02

Summary A user with administrator permission delete a existing user account of the system.

Primary Actor Administrator

Precondition A user belong to “administrator” role had already login this system.

Description 1. The administrator accesses the “User Maintenance” function.

2. System shows a user list current exists in the user database.

3. The administrator selects an exist user in the user list which received in step 2.

4. The administrator deletes this user.

OOAD Homework (Spring 2006) 9

Page 12: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

Exception 4a: System responses an error message when the user id was identical with the current administrator’s id. (a administrator cannot delete himself/herself)

Post Condition The selected user account will be removed from the system’s user database after this operation success.

1.5.5 Project Registration

Use Case ID UC-03

Summary A user with administrator permission registers a new project to the system.

Primary Actor Administrator

Precondition A user belongs to “administrator” role had already login this system.

Description 1. The administrator accesses the “Project Registration” function to start a project registration.

2. The administrator enters a project id, the name, description, started date and finished date of the new project.

3. The administrator may also assign a project manager to this new project. A project manager is a user with “Project Manager” role.

4. The administrator save this new project into system.

Exception 2a: System responses an error message when the project id is duplicated with other project in system’s project database.

2b: System responses an error message when the project id, project name, start date, or end date had not entered.

Post Condition The new project will be registered to the system’s project database after this operation success.

1.5.6 Project Management

OOAD Homework (Spring 2006) 10

Page 13: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

Use Case ID UC-04

Summary A user with project manager permission manages the project which already assign to him/her.

Primary Actor Project Manager

Precondition A user belong to “Project Manager” role had already login this system.

Description 1. The project manager accesses the “Project Management” function to start a project Management.

2. The system returns a list which contains projects which already assigned to him/her.

3. The project manager picks a project.

4. The project manager manages the picked project.

5. The project manager save the process results.

4a. Separation of Projects:

1. The project manager separates this project into some smaller projects. Those smaller projects can be treated as standalone projects (project)

2. Project manger assign a unique project id and name, and a project manager for those new child projects.

4b. Manage Tasks:

1. The project manager divides this project into several tasks.

2. Each task information includes a task name, started date, finished date, and a task owner who associated a project member role.

Exception 2a: System responses an error message and terminates this case when no any project contains in the return list.

Post Condition New child projects or project tasks will be stored into this system after this operation success.

1.5.7 Task Execution Status Feedback

OOAD Homework (Spring 2006) 11

Page 14: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

Use Case ID UC-05

Summary A user with project member permission feedback the task execution status of a task assigned to him/her..

Primary Actor Project Member

Precondition A user belong to “project member” role had already login this system.

Description 1. The project member accesses the “Task Execution Status Feedback” function to start a Status Feedback.

2. The system returns a tasks list grouped by project which already had assigned to him/her, which contains tasks which already assigned to him/her.

3. The project member picks a task.

4. The project member feedback the task execution status to the picked task by enters actual started date, actual finished date, the number of line of code and the number of classes created.

5. The project member saves this task executing status.

Exception 2a: System responses an error message and terminates this case when no any task contains in the return list.

Post Condition The task executing results will be stored into this system after this operation success.

1.5.8 Project Information Reporting

Use Case ID UC-06

Summary A user with project manager permission queries the overall project executing results to the projects which already assigned to him/her.

Primary Actor Project Manager

Precondition A user belong to “Project Manager” role had already login this system.

Description 1. The project manager accesses the “Task Information Reporting” function to start an information reporting.

OOAD Homework (Spring 2006) 12

Page 15: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

2. The system returns a list which contains projects which already assigned to him/her.

3. The project manager picks a project.

4. The system displays all tasks information belongs to the picked project. Those tasks should be sorted by the task start date; if the picked project is a master project, those tasks information should be sorted by child project first, then by the task start date in same child project. Each task information should includes task name, started date, finished date, actual started date, actual finished date, the number of line of code and the number of classes created.

Exception 2a: System responses an error message and terminates this case when no any project contains in the return list.

Post Condition n/a

OOAD Homework (Spring 2006) 13

Page 16: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.6 Non-Functional Requirements and Constraints

The non-functional functional requirements and any constraint identified currently is listed in the follows.

NFR ID Category Description

NFR-01 Security All user’s operation should be logged in system’s access log.

NFR-02 Availability This system should provide non-stop service during 9 to 5 in every regular working days.

NFR-03 Supportability This helpdesk of this system could feedback first response within 1 hour after a request received.

NFR-04 Dev. Tools This system should be developmented based on on Microsoft’s Windows Platform and .Net technology.

NFR-05 Dev. Tools No any RDBMS (such as Microsoft SQL Server) could be used within this system.

OOAD Homework (Spring 2006) 14

Page 17: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.7 Data Dictionary

Term Definition or Description

Administrator Represents a user with administrator role associated. A user with administrator permission usually performs system-wide operations such as user management and project registration.

Child Project See Project

Master Project See Project

Project A project used here is represent a completed work coorsponding to a business contract. A project should be assigned a project manager for task planning, resource planning and progress monitoring. A project could associated with a number of tasks in order to fulfill the contract’s requirements. Sometimes a large project (called Master Project) could separate into some smaller projects (called Child Project) for better manageability.

Project Manager Represents a user with project manager role associated. A user with project manager permission usually performs project-wide operations such as project separation and resource allocation.

Project Member Represents a user with project member role associated. A user with project member permission usually performs task-wide operations such as task execution status feedback.

Role; User Role Role, or User Role represents one of system defined permissions. A role could be associated to a user, this indicates a user is granted a set of permission which defined with the specific role.

There are three system-defined roles including administrator”, project manager and project member.

Task A Task is a unique job to be completed for a specific project.

User A user is a basic concept of valid system users. With some authorization, a user can be associated with one or many system-define roles (see Role) to perform their jobs.

(Listed in alphabetic order)

OOAD Homework (Spring 2006) 15

Page 18: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

1.8 Software Environment

Software Platform: Microsoft Windows Server 2003+

Development language/Tool: Microsoft C# and other Microsoft .Net Technonology (such as ASP.Net) will be used, and the major development tool will be Microsoft Visual Studio.Net.

OOAD Homework (Spring 2006) 16

Page 19: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

2. DOMAIN CLASS MODEL

2.1 Domain Class Model Showing Only Concepts

Figure 3, HPMS Classes identified

Figure 4, Eliminateing unnecessary classes

OOAD Homework (Spring 2006) 17

Page 20: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

2.2 Add Associations

Verb phases

System generates List of Functions

List of Functions contains Functions

System generates Project List

System generates Task List

System generates User List

User List consists of Administrators, Project Managers, and Project Members

An Administrator creates other Administrators, Project Managers, and Project Members

Administators, Project Managers, and Project Members read List of Functions

An Administrator creates Projects

Project Manager manages projects

A Project (master project) separates into some projects (child project)

A Project contains some tasks

Task have a Task Execution Result

Project Manager feedbacks Task Execution Result

Project Manager read Project related information

Figure 5, Associations of classes identified

OOAD Homework (Spring 2006) 18

Page 21: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

Consist of

Consist of

Consist of

Create

Manage

Contains

Separate

Contains

Contains

Feedback

Have

Consist of

Generate

Generate

GenerateGenerate

Create

Create

Create

Read

Read

Project ManagerUser List

Project List

Project Member

Function

Administrator

Task List

System

List of Functions

Task

Task Executing Result

Project

1

1

1 *

1

1

1

1

1

*

1

*

*

*

11

1

*

*

1

1

*

1

*

1

*

1

1

1 * 1*

1

1

1

*

ReadRead

Read

1 11

1

1

1

1

1

Figure 6, Class model with associations

OOAD Homework (Spring 2006) 19

Page 22: Hierarchical Project Management System - NTUTwkchen/courses/ooad/ooad952/re… ·  · 2018-03-02Hierarchical Project Management System ... Design the software to support a computerized

2.3 Add Attributes

Figure 7, Class model with associations and attributes

OOAD Homework (Spring 2006) 20