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
62 & 124 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
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。