Design and implement a software system for catalogue sale

Assignment Help Mathematics
Reference no: EM131110339

1. Problem

In this assignment, you are invited to design and implement a software system for catalogue sale. A catalogue is organised in a tree structure. Each node of the catalogue tree represents either an item for sale or a category. The following is an example of such a catalogue:
Books

Textbooks
Computer Science
Data structures Using C++ Java: How to program
Mathematics
...
Social Science
...

Audiobooks
... Magazines
...
Movies, Music & Games Blue-ray
...
Music
MP3 Downloads
Video Games Home, Garden & Tools
Kitchen & Dining Appliances
...
Sports & Outdoors
Exercise & Fitness
Precor Premium Series 9.31 Treadmill Bike & Scooters
...

There are three roles in the system: sellers, buyers and the Manager. A seller can:
•Traverse the catalogue
•Place a sell item under an existing category
•Create a new subcategory under the root category or any other subcategories

A buyer can:
•Traverse the catalogue
•Buy an item whatever is available in the catalogue

The Manager can:
•Traverse the catalogue
•Create a new category
•Delete an existing category
•Remove a selling item
Input data
Selling items
An item for sale consists of the following information:
ItemName: a string of no more than 50 characters.
ItemKey: the key of the selling item with integer data type. The key should be automatically generated by your program when the seller publishes the item. Different items should have different item keys.
Description: a brief description of the item, a string of no more than 100 characters.
Price: the published price in double.
MaxDiscount: the maximal discount of the published price (value between 0.0% and 100.0%).
For instance, the following is the information of a digital camera: ItemName: Precor Premium Series 9.31 Treadmill ItemKey: 112
Description: Professional-quality treadmill for the home with innovative design that adjusts belt speed to foot speed
Price: $3599.00
MaxDiscount: 10%

Note that any buyer who offers a price higher or equal to $3239.10 will get the item, paying at his/her offer price up to the full price (value between $3239.10 and $3599.00).

Categories

A category consists of the following information:

CategoryName: a string of no more than 50 characters.
CategoryKey: the key of the category with integer data type. The key should be automatically generated by your program when it is created.
Different categories should have different category keys.

Functionalities

Your program should include three components selling, buying and managing for the use of sellers, buyers and the Manager, respectively. Provide a menu for a user to enter each component.

Selling
When a seller has an item to sell, she/he will first check the catalogue to find a suitable category to place the item. Your program should allow the seller to traverse all available categories level by level from the root to the leaves. Giving the above catalogue as an example, the program will first show the following root category:

Catalogue:
1 Books
2 Movies, Music and Games
3 Home, Garden and Tools
4 Sports & Outdoors
5 Add a new category
6 Add a selling item
7 Quit to main menu

If the user chooses Option 1, your program will list the content of subcategory -
Books:

Books:
1 Textbooks
2 Audiobooks
3 Magazines
4 Add a new category
5 Add a selling item
6 Quit to main menu

If a user chooses a number which points to a selling item, your program should show the information of the item (expect for the information of maximal discounts). If a user chooses "Add a new category", the program should ask for the title of the category and add it into the catalogue. If the user chooses "Add a selling item", the program should ask for the information of the item and add the item into the catalogue under the current level.

Note that a category can contain either subcategories, selling items or both. For instance, there could be a selling item under Books, which does not belong to any subcategory under this category.

Buying
When a user enters the system as a buyer, the system will allow the user to travel over the catalogue level by level. Once hit a selling item, the system will prompt a menu for the user to choose either buy the item or back to the up level. If the user chooses to buy, the program will ask the user for an offer price. If the offer price is higher or equals to the sale price (the published price * (1- maximal discount)), the item will be sold at the price either the buyer is offered or the published price if the offer price is higher than the published price. The item is then removed from the catalogue.

Managing
When a user enters as the Manager, the program will allow the user to traverse the catalogue, delete a category or a selling item, and modify a category or selling item.

2. Requirement and Marking Criteria

You are required to implement your program by using C++. You are allowed to use any available data structure ADTs or available programs under the condition of keeping the copyright statement of the programs. You could use any of the standard data structures, including arrays, linked lists, stacks, queues, priority queues, general trees, binary trees, binary search trees, AVL trees, heaps and graphs, or you could invent your own data structures for your solution. You need to explain the reasons of why you choose to use the data structures in your documentation.

Pass Level: If you are targeting a pass grade only, you could implement an item sale system only without the implementation of a full catalogue sale. In other words, you could place all selling items under the root category without any subcategories. However, you have to use a Binary Search Tree to store all selling items. You have to implement at least the following functions and make your program workable:
• Automatically generate item keys for all the selling items
• Provide the functions for sellers to place selling items.
• Provide the functions for buyers to buy items (delete the items that are sold).

Describe the data structures and algorithms you use in your implementation (up to one A4 page exclusive the cover page).

Credit Level: If you are targeting a credit grade, you must implement a system of catalogue sale with multiple levels of categories. You can design your own data structures for storing the catalogue. You have to implement at least the following functionalities:
• Automatically generate item keys and category keys
• Provide the functions for sellers to place selling items and create new categories.
• Provide the functions for buyers to buy items (delete the items that are sold).

Describe the data structures and algorithms you use in your implementation (up to one A4 page exclusive the cover page).

Distinction level: Implement all the functionalities in credit level plus the functionalities for the Manager.

Describe what the data structures and algorithms you use in your implementation and Explain why you choose to use them (up to two A4 pages exclusive the cover page).

High Distinction Level: Implement all the functionalities in Distinction level plus a comprehensive analysis on suitability and efficiency of the data structures and algorithms you use in your implementation. Your documentation should not exceed four A4 pages. Note that your work will be graded according to suitability of your data structures and efficiency of your algorithms.

The weight of the assignment is 20% of the total marks of the subject.

3. Deliverables and submission

Documentation: Submit your report with a cover sheet to the vUWS and hand in a hard copy of your report (not the code) to your tutor when you demonstrate

Source code: You are required to submit your source code, including header files and other accessory files, to vUWS by the due day.

Zip all the files in one file when you submit. No email submission is acceptable (we have no access to your account). Late submissions are allowed with 10% penalty per day up to 11am Wed 2 Nov 2011. Submission after this time will be impossible.

4. Demonstration

You are required to demonstrate your program to your tutor during your practical session in Week 14 on 2 Nov 2011. Print a hard copy of your report and present it to your tutor during your demonstration. You will receive a fail grade if you fail the demonstration. Note that Week 14 is the last week of this semester. If you miss the demonstration time, you will lose the chance of demonstration. It is your responsibility to get the appropriate compiler or IDE to run your program.

Attachment:- LECTURE NOTES.zip

Reference no: EM131110339

Questions Cloud

Effects of innovation and technology on cost of production : What are the effects of innovation and technology on the cost of production? How does technology affect market structure and real-world competition? Which market structure is best suited for technological innovation? Explain your answer. How have tec..
Design the telephone calling interface for a smartphone : Acknowledgment of activity can be as simple as displaying a text message when an event occurs with a component on your interface such as; a button is pressed, a check box or radio button is clicked, a slider is moved or a combo box item is selecte..
Changing to a unix-based operating system : Prior to 2001, the operating system used by Apple for Macintosh desktop computers was completely proprietary. In 2001, Apple introduced a new operating system (OS X) based on Unix.
Collectibility of the lease payments is reasonably : Prepare all of the journal entries for the lessor for 2010 and 2011 to record the lease agreement, the receipt of lease payments, and the recognition of income. Assume the lessor's annual accounting period ends on December 31.
Design and implement a software system for catalogue sale : Design and implement a software system for catalogue sale. A catalogue is organised in a tree structure. Each node of the catalogue tree represents either an item for sale or a category. The following is an example of such a catalogue:
Prepare a cash-basis income statement : Using the transaction data above, prepare a cash-basis income statement and an accrual-basis income statement for the month of January.
Calculate the ratio of exchange and the ratio of exchange : The transaction would require Phylum to swap its shares for those of Taxonomy, which would be paid $60 per share. Calculate the ratio of exchange and the ratio of exchange in market price for this transaction.
Show how this can be implemented : An intuition of how to escape such a trap is that, when the robot hits a wall, it follows the wall until the number of right turns equals the number of left turns. Show how this can be implemented, explaining the belief state, the belief-state tra..
Fresh water supply system : A developer of a housing complex on an off-shore island is considering building a pipeline connecting to the fresh water supply system of the government in replacing the existing desalination plant. Assuming the daily use of water is 240 m3 calculate..

Reviews

Write a Review

 

Mathematics Questions & Answers

  What are the dimensions of your garden

You want to spend $400 and enclose as much area as possible. What are the dimensions of your garden, and what area does it enclose?

  Find the monthly breakeven volume for the company

Find the monthly breakeven volume for the company.

  Find the probability that the twins

The probability getting twins of same gender is 0.4 , if three mother give birth to twins, find the probability that the twins will be of the same gender.

  Explain how many of each type creature landed

There was a total of 91 heads and 124 feet. It was clear that their leader was a purple creature with three heads and four feet. the rest of the space alies each had two heads

  How fast does each bicyclist travel

Kathy bicycles 4 km/h faster than Javier. In the same time, it takes Javier to bicycle 33km, Kathy can bicycle 45km. How fast does each bicyclist travel?

  How much does she have left

Rhonda received her social security check for 1275 she spent 1/3 on rent and 3/5 of the remaining amount on utilities food and transportation. How much does she have left?

  Same viewing window using a square setting

(a) Through the given point and parallel to the given line (b) Through the given point and perpendicular to the given line graph all three equations in the same viewing window using a square setting.

  Find both the width of the square dining room

an architect has allocated a rectangular space of 429 sq ft for a square dining room and a 20 ft wide kitchen. Find both the width of the square dining room and the length of the entire rectangular space

  Which of the would not be a continuous random variable

Which of the following would not be a continuous random variable?

  How teachers really make a difference to effective program

How do teachers really make a difference to an effective program?

  Seven marching bands will perform at a competition

Seven Marching Bands will perform at a competition. The order of the performances is determined at random. What is the probability that the bands will perform in alphabetical order by school name?

  What are the highest and lowest values of its acceleration

The location (as a function of time) of a car, moving in a straight line, is given by the expression x(t)= 2t + sin(2pi t)for [0,1]. What are the highest and lowest values of its acceleration in that time interval?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd