Você está na página 1de 5

ASSIGNMENT

TECHNOLOGY PARK MALAYSIA

CT077-3-2 DSTR

DATA STRUCTURES

UC2F1605CS / UC2F1605SE / UC2F1605IS

HAND OUT DATE: 21 NOVEMBER 2016

HAND IN DATE: 20 FEBRUARY 2017

WEIGHTAGE: 60%

INSTRUCTIONS TO CANDIDATES:

1 Submit your assignment at the administrative counter

2 Students are advised to underpin their answers with the use of


references (cited using the Harvard Name System of Referencing)

3 Late submission will be awarded zero (0) unless Extenuating


Circumstances (EC) are upheld

4 Cases of plagiarism will be penalized

5 The assignment should be bound in an appropriate style (comb bound


or stapled).

6 Where the assignment should be submitted in both hardcopy and


softcopy, the softcopy of the written assignment and source code
(where appropriate) should be on a CD in an envelope / CD cover and
attached to the hardcopy.

7 You must obtain 50% overall to pass this module.

Version 1.2 UCTI AssCv 2007-10-23


Data Structures Individual Assignment Page 1 of 4

EASY READING BOOKSTORE PURCHASING SYSTEM

Easy Reading Bookstore is a bookstore that is located in Kuala Lumpur, Malaysia. The
bookstore sells academic reference books, special edition books, music CDs, games, and
DVDs. A computer application is needed for their customer service personnel to process
purchases that require delivery to their customers.
Assume that youre a freelance software developer that has been approached by Easy
Reading Bookstore to develop a prototype for their purchasing system. You are required
to write a C++ program for Easy Reading Bookstores Purchasing System. The following
are the functionalities of the purchasing system:

a) The system should contain (at least) the following options:


Create a new purchase
Search for a purchase
i. Delete a purchase
ii. Modify a purchase
View purchases (most recent purchase must be viewed first)
i. Fulfill purchase
View delivery list (express delivery must be viewed first)

b) The following data is required when creating a new purchase: receipt number,
item code(s), item type(s) (ie. book, CD, DVD, and etc.), quantity, cost per item,
delivery information (see part c) for more information), payment method (see part
d) for more information), fulfilled purchase (assigned N by default and denotes
that the purchase has not been fulfilled), and total cost of the purchase (including
delivery charges). Note that a single purchase may contain multiple items.

c) There are two types of delivery methods: standard delivery or express delivery.
Standard delivery takes between 3 10 days for the item(s) to be delivered and
the charge for a standard delivery is 5% of the cost of the item(s) purchased.
Express delivery takes between 1 2 days for the item(s) to be delivered and the
charge for a standard delivery is 10% of the cost of the item(s) purchased.
Therefore, the delivery information for a new purchase should also contain the
following information: recipient name, address, telephone number, delivery type,
and delivery charges.

d) There are two types of payment methods: cash or credit card. If the payment
method is cash, then the new purchase should also contain the following
information: amount received and change given. However, if the payment method
is by credit card, the new purchase should contain the following information:
credit card number, type of card (Visa or Mastercard), name on card, issuing bank,
and CVV number.

e) The customer service personnel should be able to search for a particular purchase
by:
Receipt number
Recipient name
Once the purchase is found, the customer service personnel should be given the
option to modify the data for a particular attribute (data field), or to delete a

Degree Level 2 Asia Pacific University of Technology and Innovation 2016/7


Data Structures Individual Assignment Page 2 of 4

purchase. Note that only the recipient name, address and/or telephone number
attributes may be modified.

f) When viewing purchases, the most recent purchase (based on receipt number)
must be displayed (and stored) first. The customer service personnel should then
fulfill the purchases (in sequence starting from the most recent purchase) by
updating the fulfilled purchase field to F. Note that the customer service
personnel should not be allowed to skip a purchase when fulfilling the purchases.
The fulfilled purchase will then be sent to the delivery list and automatically
removed from the purchases list.

g) The view delivery list should display the most recent fulfilled purchase last.
However, do note that purchases that require express delivery should be viewed
(and stored) before the purchases that require standard delivery.

h) Include all validations required for the system and use good programming
practices (eg. indentation, meaningful identifier names, comments, and etc.).

Assignment Requirements
You are required to submit a hardcopy as well as a softcopy of assignment report and
source code. The report should contain:
- Detailed explanation of the data structures and classes created, with proper
justification on your decisions (include source code defining classes, data members,
and method headers only).
- Brief explanation about the algorithms used to implement the functionalities stated
above (include code snippets of important parts of implementation).
- Source code of the main function, with screenshots showing programs input and
output interactions.
You have to present your assignment solution and answers to the lecturer during a
Q&A session that will be conducted after the hand-in date.
If you use some code which has been taken or adapted from another source (book,
magazine, internet, forum, etc.) then this must be cited and referenced using Harvard
Referencing Style within your source code, and this must be mentioned explicitly in the
report. Failure to reference code properly will be treated as plagiarism.
Automated tools for checking code similarities among submissions will be used, and
all detected cases will be treated as cheating.

Assessment marks are divided as follows:


Implementation Quality Documentation Presentation
Marks % 60% 10% 30%

Degree Level 2 Asia Pacific University of Technology and Innovation 2016/7


Data Structures Individual Assignment Page 3 of 4

What You Need to Hand In?

1. You are required to hand in the individual assignment report on or before the due
date mentioned on the cover sheet of the assignment.

2. The attached CD should include a softcopy of the report, in addition to the C++
files of the programs. The organization of files and folders must adhere to the
following instructions precisely:
A folder named StudentFirstName-StudentID-Asmnt should contain the
report file (Microsoft Word), and the C++ (*.cpp / *.h) files ONLY. All
additional project files (especially if you use Visual Studio) should be removed.
Make sure to DELETE all non-source-code files, including executables (*.exe).

3. You should present an executable solution during Q&A session to demonstrate


program execution, the working of the data structure, your understanding of the
code, and ability to modify / fix it.

4. You have to submit your assignment with Coursework Submission and Feedback
Form (CSFF) attached.

Marking Criteria:

The program submitted will be evaluated according to the following performance criteria:

Distinction (75% and above)


Program compiles and executes perfectly
At least 75% of the required functionalities are correctly implemented
Efficient data structures and\or algorithms are used in the implementation
Clear coding style and structure, and code is properly commented
Functionalities are fully tested/validated in program execution

Credit (65% 74%)


Program compiles and executes
Between 65% and 74% of the required functionalities are correctly implemented
Implementation uses a data structure or algorithm that is not most efficient
Clear coding style, and code is properly commented
Functionalities are not fully tested/validated in program execution

Pass (50% - 65%)


Program compiles perfectly and executes
Between 50% and 65% of the required functionalities are correctly implemented
Implementation uses inefficient data structures or algorithms
Unclear coding style, or code is not properly commented
Functionalities are not full tested/validated in program execution, or produce
errors in some cases

Degree Level 2 Asia Pacific University of Technology and Innovation 2016/7


Data Structures Individual Assignment Page 4 of 4

Marginal Fail (40% - 49%)


Program does not compile or run, but coding logic is almost correct
Between 40% and 49% of the required functionalities are correctly implemented
Implementation uses inefficient data structures or algorithms
Unclear coding style, and no comments provided
Functionalities are not tested/validated in program execution

Fail (below 39%)


Program is not given
Program does not compile or run
Less than 40% of the required functionalities are implemented
Implementation uses very inefficient data structures or algorithms
No proper code structure and no comments provided

Degree Level 2 Asia Pacific University of Technology and Innovation 2016/7

Você também pode gostar