联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2024-05-29 08:38

CPT106 Group Project Final

1

CPT106 C++ Programming and Software Engineering II

Group Project

Contribution to Overall Marks 30%

Release date 20 April 2024

Submission Deadline 2 June 2024, 23:59

How the work should be submitted?

SOFT COPY ONLY !

1. All the files/codes (zipped into a single file) must be submitted from only one designated

member (the group leader) of each group onto Learning Mall.

2. Students can organize a group with 4-5 students, and a group leader should be selected

based on the discussion within the group.

3. The group leader should organize group meeting when necessary and submit report and

source code files of the group project.

4. A report named with the student ID number of the group leader in PDF format should be

submitted to Learning Mall with three sections as follows:

a) A cover page with a contribution table with a breakdown of the roles and responsibilities

of each group member during the duration of the project. The individual contribution

should be based on your actual work and needs to be discussed and agreed upon within

the group with individual signatures in the table. Your contribution to the group will affect

your final individual mark for the group project. The cover page looks like follows:

Group project name: xxxxxxxx

Group leader: xxxxxx

Group members:

Student ID Name Responsibility Contribution Signature

210001

John System analysis, coding 35% student name

210002

Mike Coding 25% student name

210003

Marry Report writing, testing 15% student name

210004

Thomas Coding, testing 25% student name

b) A report based on the Software Development Process, including the problem statement,

analyses, design and testing. CPT106 Group Project Final

2

c) A simple user manual, describing its basic functionality and how to use to its users.

5. C++ source code files of the whole project, the report and the user manual should be zipped

into a single zip or rar file, named with the student ID number of the group leader and

submitted to Learning Mall.

6. Late Submission Policy: 5% of the total marks available for the assessment shall be deducted

from the assessment mark for each working day after the submission date, up to a maximum

of five working days.

Assessment Overview

This assessment requires the routine of code development using the software development process

(SDP). The general marking scheme is shown as follows:

Documentation 50%

Specifications 10%

Overall spec. 2%

Customer spec. 3%

System spec. 5%

Analysis and Design 20%

Management of source code and lifecycle by software tools 10%

Testing 5%

Bugs report 2%

User manual 3%

Coding 40%

Reasonable OOP design pattern(weak coupling, strong cohesion) 10%

Working code 10%

User interface 5%

Data handling 5%

Clarity and readability 10%

Robustness 10%

Code Robust (e.g., checking invalid inputs) 5%

Complete functionality (against system specs) 5%

Module allocation and decoupling 10%


CPT106 Group Project Final

3

General Guidelines

Select one out of the 4 projects on pages 5-8.

System design and coding

(1) The project descriptions are deliberately given in the form of simple customer specifications,

which (as in the real world) are incomplete and often ambiguous, rather than a set of exact

functional specifications. The group members should work methodically together (as the

developers in a real-world software project) to:

Analyse and formalize the customer specifications on pages 4-7(at this stage, the various

design choices and the software features can be subject to the group’s creativity). This should

be different from customer supplication, which should clearly state the features of the

delivered system.

Apply objected-orientated design methodology (encapsulation, inheritance and

polymorphism, if needed), design and decompose the programmatic aspects of the problem

using classes, and allocate constituent development tasks to each group member.

Implement the product with frequent meetings to report progress and decisions to each other

and re-evaluate the agreed courses of action.

Implement test procedures, debug and correct the product.

Finalize the deliverables.

(2) The given customer specifications on pages 5-8 are only basic, and most of the design

choices should be decided in the group meetings. The systems described within the different

projects have a variety of different features, and the disambiguation of the customer

specifications can be based on the student’s logic and real-life experience.

(3) Prioritization for the implementation of the different parts of the system is the group’s

decision; however, for the purposes of demonstration and testing, those parts that manage

and populate the file stores with data such as customers’ details, for instance, are necessary

(4) You should install the Github plugin component (third part component) in Visual Studio to

share, manage and maintain your source code and documents with members in the group.

report

(1) The SDP report should clearly state all the features implemented and the hierarchical chart

of your programme. It is better to have a few features fully working without run-time

crashes than all features with many bugs without working properly or causing disrupting

ripple effects to other subsystems.

(2) In any case, any related decisions and compromises should be included in the report. The

required testing procedures should simply take into account the input of each subsystem

and what the output or operation of the software is supposed to do. CPT106 Group Project Final

4

(3) The Github link should be listed at the end of your report. All the source code and related

documents in the Github repository should be shared publically so that the we could check if

Github is used in your project.

Assessment

Assessment will be based on whether the product offers reasonable functionality and features, its

design quality, flexibility, software bugs, and other stated deliverables.

CPT106 Group Project Final

5

Project A: Restaurant Management System

Overall description:

Your team is employed by a restaurant to implement a system for the management of restaurant.

Customer specifications:

The system must be able to store the information of the raw material, dishes and customers. It can

calculate the total fee for a customer according to the dishes he/she ordered. Moreover, the system can

also calculate the gross profit based on the dishes prices and raw material prices.

The system should be able to provide functionality as listed below:

Browse, add, modify and delete the raw material information, menu information and customer

information;

Manager has the highest authority limit to perform all the task;

Chef user can search and browse the raw material information and edit the menus;

While adding a new dish to the menu, make sure the dish ID and name will not be repeated; when

customer is ordering dishes, make sure that’s not repeated either;

Customer user can browse the menu, order dishes and check-out;

Provides different authority to different type of users.

CPT106 Group Project Final

6

Project B: Airways Management System

Overall description:

Your team is employed by an Airways company for the implementation of a computer system

responsible for a large part of the operation of the company.

Customer specifications:

The system must be able to store the information of planes, flights and passengers of the company during

the years of its operation. There are two types of planes P62 & P124 with rectangular arrangements of

62 & 124 seats, respectively. The sources and destinations of the currently available flights of the

company (for simplicity, assume only direct flights) are allocated from a set of city airports which can

be potentially extended. The different passengers can be allocated to specific flights and seats.

The system should be able to provide functionality to the different users listed below:

An administrator who can include new flights, prices, dates, airports and perhaps new planes

for each of the two available types.

A ticket agent who can flexibly search for a specific flight inquired by a customer. When the

customer reserves or books a ticket, then the required details must be stored. Such information

includes flight id, payment details, expiration date of reservation, route, allocated seat, viewing

facilities of the seating plan, etc. Facilities to amend this information must be provided.

A manager who can retrieve statistics about the company’s operation, such as the number of

planes for each type, total passengers per flight, total revenue, etc.

A customer can only book one ticket for himself/herself during the same duration.

The ticket agent can calculate how many tickets he/she sold during a particular duration.

CPT106 Group Project Final

7

Project C: Car Parking System

Overall description:

Your team is employed by a parking lot for the management of parking vehicles.

Customer specifications:

The system must be able to store information of parking spots and customers. The parking lots should

have multiple entry and exit points and multiple floors where customers can enter and exit and park their

cars. Customers can collect a parking ticket from the entry points and can pay the parking fee at the exit

points on their way out.

The system should be able to provide functionalities to the different users listed below:

Allow administrator to browse, add, modify and delete spots and customer information;

The system should not allow more vehicles than the maximum capacity of the parking lot. If

the parking is full, the system should show a message to the customer;

Each parking floor will have many parking spots, and the system should support multiple types

of parking spots, such as compact, handicapped, motorcycle, etc.;

Allow administrator and customer to search for all unoccupied parking spots for a specific type

of vehicle, i.e., car, trunk, van, motorcycle etc.;

Each parking floor should have a display board showing any free spot for each spot type;

The system should support a per-hour parking fee model. For example, the first hour is free,

and customers have to pay $3 for the remaining hours, maximally $50 per day.

CPT106 Group Project Final

8

Project D: Bus Management System

Overall description:

Your team is employed by a bus company for the implementation of a computer system responsible for

a large part of the operation of the company.

Customer specifications:

The system must be able to store the information of buses, drivers and passengers. The sources and

destinations of the currently available buses of the company (for simplicity, assume only direct routes)

are allocated from a set of bus stations in a city which can be potentially extended.

The system should be able to provide functionality as listed below:

 Allow the administrator to browse, add, modify and delete the bus information and driver

information;

 Make sure every bus is driven by one or two drivers;

 Allow passengers to search information of buses for a specified source and/or destination and

display related information;

 Allow passengers to book seats for a specific bus, but the system should not allow more passengers

than the maximum capacity of the bus;

 Register records of traffic violations for drivers. One with more than 3 records should be forbidden

from driving.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp