首页 > > 详细

辅导 Building a Project Management Application讲解 C/C++编程

Task(s)

Part 1: Building a Project Management Application (70 Marks)

In this project, you must apply knowledge of C++ object-oriented programming to design and

implement a console-based Project Management application that allows users to manage projects,

tasks, team members, vendors and clients.

The program should meet the following requirements:

1. Project Class:

a. Create a Project class with attributes such as project name, description, start date, end

date, and status (e.g., "Not Started", "In Progress", "Completed").

b. Implement methods to add, update, and delete projects.

2. Task Class:

a. Create a Task class with attributes such as task name, description, start date, end date,

and status (e.g., "Not Started", "In Progress", "Completed").

b. Implement methods to add, update, and delete tasks.

c. Each task should be associated with a project.

d. A task may have one level of sub-tasks. Each main task may have multiple sub-tasks.

3. Team Member Class:

a. Create a TeamMember class with attributes such as team member name, role, and

contact information.

b. Implement methods to add, update, and delete team members.

c. Each team member should be associated with a project.

4. Vendor Class:

a. Create a Vendor class with attributes such as company name, company type (what

resource does this vendor provide e.g. IT services, cabling, software coding etc.), and

contact person(s).

b. A project may have multiple vendors.

c. Vendors can also be assigned to a task.

d. Implement methods to add, update, and delete vendors.

5. Client Class:

a. Create a Client class with attributes such as company name, company type (which

industry are they in like finance, banking, IT, construction, plantation etc.), and contact

person(s).

b. A project may have multiple clients.

c. Implement methods to add, update, and delete clients.

6. Project Management System Class:

a. Create a ProjectManagementSystem class that manages projects, tasks, and team

members.

b. Implement methods to display project details, task details, and team member details.

c. Implement methods to assign tasks to team members and update task status.

7. Menu-Driven Interface:

a. Create a menu-driven interface that allows users to interact with the Project

Management Application. The menu should include options to:

i. Add, update, and delete projects

ii. Add, update, and delete tasks

iii. Add, update, and delete team members

iv. Add, update, and delete vendors

v. Add, update, and delete clients

vi. Assign tasks to team members

vii. Update task status

viii. Display project details, task details, and team member details

8. Additional functions – include 2 relevant additional functions (not described in this assignment)

that will further demonstrate your ability to use object-oriented programming (OOP) concepts.

9. Code Standard

a. You must demonstrate your ability to use as many OOP concepts as possible for your

project. Use classes and objects, composition, inheritance, and polymorphism where

necessary. At least one static function must also be applied in your program.

b. Your projectshould have one main.cpp source file, multiple header files, and text file(s).

c. All data should be saved into text files preferably in CSV format.

d. Use exception handling to handle possible input errors.

e. Use suitable STLs.

Part II: Project Documentation (30 Marks)

Create a project documentation that covers the following details:

1. A set of UML diagrams that shows the functionalities, relationship between classes, and the

workflow of your project management application. Use appropriate UML tools and

diagramming techniques.

2. Explain why the STLs you used to develop the project management application is suitable

based on this project context.

3. Explain the rationale of using inheritance and polymorphism you implemented in your project.

For example, you may clarify why a class should inherit from another class(es) and how you

enabled polymorphism in your program codes.

4. Explain the rationale for using the static function in your program.

5. Explain the 2 additional functions you implemented in your program and the OO concepts that

you implemented in the 2 additional functions.



联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!