联系方式

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

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

日期:2021-12-15 10:26

CPT109 C Programming and Software Engineering 1 – ASSESSMENT 3

Assessment Number 3

Contribution to Overall Marks 35%

Issue Date 08/11/2021

Submission Deadline 17/12/2021 at 17:00 (5pm)

Assessment Objective

This assessment aims to evaluate students’ ability to develop a significant software solution to a realworld

problem by working as a member of a team. Your team will be given a vague specification and

is expected to deliver a software product in the C programming language, which meets the

specifications before the due date. This size and type of the project is suitable for development in

modular format and so teams are encouraged to devise program structures that allow various parts of

the code to be developed independently by each team member. Being a team player means you are

expected not only to apply the knowledge gained during the lectures, laboratory classes and

assignments to specify, design, implement, test and document your own code, but also to cooperate

with your teammates so that the whole project will be delivered on time with good quality.

Grouping

There are 360 students enrolled in this module, and you will be divided into groups consisting of 5

students (i.e. 72 groups). Groups will be formed in two stages as follows: Firstly, students will be

given the option to choose their own group members. Students failing to form a group will then be

randomly assigned to a group. Randomly formed groups will contain students with a range of ability

based on their performance in previous assignments. Each group will then be randomly assigned one

of 5 projects. Students wishing to form their own group should submit a hardcopy of the form

provided (The group formation form is part of the Assessment 3 download package) having all

details filled in and having been signed by all group members.

Final Deliverables

Each group should submit the following (only 1 submission per group):

1. A report (PDF file), based on the Software Development Process applied throughout this

semester:

a) Problem Statement (Specification: formulate the problem generally) (10%).

b) Analysis: interpret the vague software requirements provided by your design brief and

determine a very clear specification for your software design. (10%)

c) Design: explain how your program is structured in terms of functional blocks and describe

what each block does. A flow diagram may be useful here showing how functions interconnect

and what data is passed between them. (10%)

d) Testing: explain how the program has been tested and verified. Ensure any usernames or

passwords required to test the program are listed in a table. (10%)

2

2. All C source code (.c files) and the final executable demonstration file (.exe). The source code

must be appropriately commented. Include any data files needed for execution. (50%)

3. Contribution form (The contribution form is part of the Assessment 3 download package). The

group should agree on the percentage of contribution of each member to each section and submit

one copy of the form signed by all members.

NOTE: This may lead to different marks for different members of the same group. If necessary, the

module leader may call group members for a short oral test.

Submission Procedure

All the above-mentioned files/deliverables (report, source code, executable, manual, contribution

form, must be compressed into a single file (.rar, .zip or .7z). The group leader (identified on the

group formation form) must submit this single compressed file on Learning Mall using his/her

account.

NOTE: Each group should only submit ONE copy on Learning Mall. Make sure your report has a

title page and ensure ALL group members’ names and ID numbers are on it.

Marking Scheme

The general marking scheme is shown as follows:

Documentation (50%)

Overall Report Quality 10%

Problem Specification 10%

Analysis 10%

Algorithm Design 10%

Testing 10%

Coding (50%)

Implementation/coding style 40%

Robustness 10%

Please refer to the file “CPT109 Marking Guidelines for Assignment 3” in the Assessment 3

download package on Learning Mall for details on marking descriptions.

Important notes:

University late submission policy will be applied.

University Academic Integrity policy will be applied rigorously.

You can find information relating to both of these in ebridge.

3

General Guidelines

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 would) to:

1. Analyse and formalise the customer specifications (at this stage, the various design choices and

the software features can be subject to the group’s creativity).

2. Design and decompose the functional and programmatic aspects of the problem and allocate

constituent tasks to each group member. You are expected to use a top-down design which can

then be modularised so that the tasks for each member can be clearly determined.

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

re-evaluate the agreed courses of action.

4. Implement test procedures, debug and correct the program. Each program module should be

independently testable. Testing of each module and the program as a whole should be performed.

5. Finalise the deliverables.

The specifications are only basic and most of the design choices should be made in your 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.

Assessment will be based on whether the product/program offers reasonable functionality and

features (for the group size, allocated time and project difficulty), its design quality, flexibility,

robustness, software bugs and other stated deliverables.

If the group cannot implement all of the system features mentioned, it is better to have a few features

fully working without run-time crashes than none of the required features working properly due to

bugs or disrupting ripple effects between modules in the project. However, the corresponding marks

deduction will be applied depending on the missing features.

If any group issues arise during the project, it is important to raise these with the module leader as

soon as they do so that resolutions can be found quickly. It is important to work with your group, and

to share the work accordingly. All group members should be responsible for some of the coding.

Individuals may not produce your own work for submission independent of the group.

4

Project A: Bank Information System

Overall description:

Your team is employed by a bank to implement a system to manage the banking affairs.

Customer specifications:

The implementation of the banking system should be able to provide facilities to:

? Register a new customer and store details such as name, address, telephone number, 6-digit

personal identification number (PIN) (security code for using the card) as well as some extra

information e.g., type of identification presented for joining the bank, etc.

? Store and manage customer account information. Customers can have one or more accounts and

each account is uniquely identifiable by an account number generated by the system.

? Collect and display bank statistical information for the bank manager e.g. number of customers,

number of accounts.

? Allow the following banking activities:

o Display current account balance

o Allow withdrawals from an account.

o Register a deposit

System Users

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

? Manager who will be able to:

o View banking statistics (as described above).

? Bank clerk who will be able to:

o Add/delete/edit accounts for an existing customer.

o Make deposits to a customer’s account.

? Customer who will be able to:

o Access their account information and perform banking activities except the deposit of money.

o All banking activities require the customer to enter their PIN number.

5

Project B: Parking Management System

Overall description:

Your team is employed for the implementation of a parking payment system in a university car-park.

The parking space consists of:

? A 12x12x5 multi-story carpark, where each of the 5 floors is a 12x12 rectangular grid of car

parking spaces.

? A 30x2 grid of e-bike parking spaces each with an electrical recharge plug is provided.

? A 30x4 grid of e-bike parking spaces with no recharge facility (cost should be lower than that for

a recharging space).

Customer specifications:

The implemented parking system should be able to provide facilities to:

? Maintain a database of registered customers including their personal details: name, university ID

number, phone number, account balance and staff or student status.

? Registered customers should be able to pre-pay for their parking or to accumulate charges (up to

a pre-set amount).

System Users

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

? Administrator who will be able to:

o Add/delete/edit customer’s personal details

o Add money to a customer’s account

o Set parking charges

? Entry/Exit system worker who will be able to:

o Record the entry of a registered customer.

o Allocate a randomly chosen parking space to each car as it enters. For an e-bike, the customer

should be asked if they would like a space with/without recharging and then a randomly chosen

space is allocated.

o View current car-park occupation and number of free spaces.

o Free a previously allocated slot

o Charge the leaving customer accordingly.

6

Project C: Library Information System

Overall description:

The university library needs a new electronic rental system and your team is employed to build it.

Customer specifications:

The implemented system should be able to handle the basic operations of a library including the

following features:

? Catalogue the library books; they should be stored in an indexed order e.g. by author name or

shelf-mark.

? The information about each book title should include: author(s), title, ISBN, subject, loan type

(normal, short loan, no-take-out), shelf-mark, loan status, number of copies, etc.

? Provide search functionality so that any user can find a book

System Users

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

? Administrator who should be able to:

o Add and edit book information

o Register new library users including name, university ID number, phone number, staff or

student status, book loans, charges.

o Record the return of a book from a borrower and calculate any charges

? Borrower (Staff or Student) who should be able to:

o Ability to borrow books

o Ability to edit their personal details

o Ability to renew their current loans for a pre-set number of times.

7

Project D: Coffee Shop Ordering System

Overall description:

Your team is employed by a new coffee shop to develop the software for an in-store terminal where

customers can order their drinks.

Customer specifications:

The implemented ordering system should be able to provide facilities to:

? Allow the various coffee based drinks on the menu (e.g. latte, mochaccino etc.) to be ordered

where each coffee can be customised by: coffee bean type, milk type, hot/ice and has additional

options including extra shot of coffee and number of sugars.

? Determine the cost of the drink ordered.

? Register and edit customer accounts, identifiable by a unique account number, which can be precharged

with money. Customer information should include name, telephone, order history,

available balance.

System Users

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

? Shop manager who will be able to:

o Edit the drinks and options menus.

o Set/alter charges for each drink/option.

o Add/remove/edit customer information.

o Provide statistics related to coffee sales.

? Customer Self Service will be able to:

o Login to account and place an order.

o Review order history.

o Deposit money on the account.

8

Project E: Hotel Management Information System

Overall description:

Your team is employed by the conference centre hotel to implement a software system responsible

for the overall management of room booking and customer records.

Customer specifications:

The implemented hotel systems should be able to provide facilities to:

? Manage bookings for 60 rooms (10 per floor) and three classes of room (**, ***, ****). Each

room is assigned a single price class.

? Manage customer accounts. Customer accounts are identifiable by a unique account number.

? Offer hotel business statistics e.g. numbers of hotel guests.

System Users

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

? Manager who will be able to:

o Set/amend classes for each room and the price per class.

o Manage a customer database (add/edit/remove customers)

o View hotel business statistics e.g. number of rooms booked, total income.

? Receptionist who will be able to:

o Register a booking.

o Edit booking details e.g. period of stay or room class.

o Check-out customers by calculating charges.

9

CPT109 Assessment 3 - Group Formation

Please fill the table below, put a cross ‘x’ in the final column to indicate the team leader. Ensure all

members have signed the form.

Submit to the Red Box outside EE514 before 5pm on Friday 5th Nov. 2021

ID Number Name (English only) Email Address Indicate team leader

Signed by all members:

10

CPT109 Assessment 3 - Contribution Form

Group Number:

Signed by all members:

Name ID Number Specification &

Analysis (%) Design (%) Coding (%) Testing (%) Report (%)


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

python代写
微信客服:codinghelp