联系方式

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

您当前位置:首页 >> Algorithm 算法作业Algorithm 算法作业

日期:2024-05-31 05:25

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.

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 assessmentshall 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%

Customerspec.

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%

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.

(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.

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.

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.

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.

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.







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

python代写
微信客服:codinghelp