software design
report作业 | java | assignment – 本题是一个利用java进行软件设计的代做, 对软件设计的流程进行训练解析, 是有一定代表意义的report/java等代写方向, 这个项目是assignment代写的代写题目
Module Name: Contemporary Topics in Software Engineering
Module Code: ITP
assignment Number: One
Weighting of This Assignment: 50% of the End of Module Assessment
This assignment must be done by individual only. Plagiarism will be treated seriously. Any assignments that are found involved wholly or partly in plagiarism (no matter the assignments are from the original authors or from the plagiarists) will score Zero mark. Late submission will NOT be accepted.
Task Specification
Super Coffee House is a trading company in Hong Kong. The company focus on trading coffee-related items. Currently, only two products coffee powder and coffee candy are available. The company plans to source different coffee products around the world to expand the business. Coffee House will develop a system to maintain inventory records, say Coffee inventory management system (CIMS). A simplified class diagram of existing data is shown below:
As a system analyst of the company, you are required to design and develop CIMS. You are reminded that the design of the existing classes: CoffeeProduct, CoffeeCandy and CoffeePowder must be kept unchanged.
CIMS should provide the following functions:
- Add a CoffeeProduct record with zero quantity (CoffeeCandy or CoffeePowder or any new kind of CoffeeProduct in the coming future).
- Show CoffeeProduct details (such as productNo, name, qty and related Information) by a given productNo (input code=* to show all records)
- Update CoffeeProduct when the product is received from vendor
- Update CoffeeProduct when the product is sent to the customer
- Undo last command
- Redo the last undone command
- Show undo/redo list
Your system design should conform to the Open Closed Principle so that your design should easily be extended to support new functions (e.g. change of name of CoffeeProduct) and Coffee Products, for example, creation of Coffee mug which is a subclass of Coffee Product.
You MUST apply the following design patterns for your new system Command pattern to provide the create product, show product, receive product, deliver product, undo, redo and display undo/redo list functions Factory pattern or Abstract Factory Pattern to create different Command objects and CoffeeProduct objects (e.g. Coffee Candy object, Coffee Powder object, etc.) Memento pattern to provide Undo and Redo functions
Assignment report In addition to the system development, you are required to write up a Short Report covers the following sections:
- Assumptions regarding the problem context
- Application design with class diagram
- Discussion and explanation on each of the design patterns applied to the application
- User Guide
- Test Plan and Test Cases
- Well documented Source Code
Mark Allocation Your assignment work will be marked according to the following criteria. Work Mark Allocated System Coding and Implementation a) Implementation of the system and coding style (Hard-coded output will result in zero mark.)
30%
b) Demonstration *
(Hard-coded output will result in zero mark.)
15%
c) User Guide 5 %
d) Test Plan and Test Cases
(Will be used in testing your own application.)
5%
System Analysis and Design, and Discussion
e) Design of your system and correct use of design patterns 20%
f) Application design with class diagram 10%
g) Discussion and explanation on each of the design patterns
applied to the application
15%
Total (^) 100% Note: * Please note that you will be asked to recompile all you java classes during demonstration, and to answer questions regarding your implementation.
Submission of Assignment Work
- The front page of your submission should include the programme title, module title, student identity number(s), student name(s), and group number.
- Submit a hard copy of all your following work to Collection Boxes outside Room C 326 and submit a zip file of all your work to the modules Moodle website (https://moodle1920.vtc.edu.hk/): Well documented Source Code of your program. Store the Source Code files in Folder source code\ of your zip file. Store compiled class files and the run.bat file for executing the program in Folder bin\ of your zip file. Report for analysis, design, discussion, user guide, test plan and test cases of your following work. Store the report in Folder report\ of your zip file. A. The assumption made during analysis and design of the application B. System design on your application with class diagram C. Discussion on the design patterns that applied on your program D. User Guide and Test Plan with Test Cases (describe how your program works and develop different test cases for testing each functionality of your program please include all the required screen dumps).
- Submit according to the guideline on the top part of cover page. Late submission will NOT be accepted.
Extra Reference This sample run is served for reference only. You are free to design your own user interface.
Sample Run of assignment You may follow the design of user interface shown in this sample run in DOS command prompt.
Users inputs are in bold face.
- Add a Coffee Product Record (a) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
a Enter Coffee type (cc=Coffee Candy/cp=Coffee Powder): cc Enter product Id, name, number of candy and calories per candy: 1001 , Premium Coffee Candy, 50, 15 New product record created.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
a Enter Coffee type (cc=Coffee Candy/cp=Coffee Powder): cp Enter product Id , name and weight(g): 2001 , Colombia Coffee, 250 New product record created.
- Show one CoffeeProduct record (v) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
v Enter product Id. (* to show all): 1001
Product information ID: 1001 Name: Premium Coffee Candy Quantity: 0 Number of candies per package: 50 Calories Per candy: 15
Show all records (v) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
v Enter product Id. (* to show all):
Coffee Product information ID Name Quantity Other Info 1010 Premium Coffee Candy 0 50 candy per package (15 calories each) 2010 Colombia Coffee 0 250g
- Collect Product (c) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
c Enter code: 1001 Quantity to receive: 150 Received 150 packs of Premium Coffee Candy. Current quantity is 150.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
c Enter code: 2001 Quantity to deposit: 100 Received 100 packs of Colombia Coffee. Current quantity is 2 00.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
v Enter code (* to show all):
Coffee Product information ID Name Quantity Other Info 1001 Premium Coffee Candy 150 50 candy per package (15 calories each) 2001 Colombia Coffee 100 250g
- Send Coffee Product (s) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
s Enter code: 1001 Quantity to ship: 50 Shipped 50 packs of Premium Coffee Candy. Current quantity is 150.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
s Enter code: 2001 Quantity to ship: 20 Shipped 20 packs of Colombia Coffee. Current quantity is 8 0.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
v Enter code (* to show all):
Coffee Product information ID Name Quantity Other Info 1001 Premium Coffee Candy 100 50 candy per package (15 calories each) 2001 Colombia Coffee 80 250g
Distributing an invalid quantity (current balance < distributing quantity) from ProductItemn will display a warning message. Note that this invalid operation should not be shown in Undo List afterward. Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
s Enter code: 1001 Quantity to ship: 200 Invalid quantity (current balance is less than required quantity). Try again!!!
- Show the Undo/Redo List (sl) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
sl
Undo List: Add 1001 Premium Coffee Candy Add 2001 Colombia Coffee Received 150 Premium Coffee Candy (1001) Received 100 Colombia Coffee (2001) Shipped 50 Premium Coffee Candy (1001) Shipped 20 Colombia Coffee (2001)
Redo List: Empty
- Undo Last Command in the Undo List (u) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
u undo completed.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
sl
Undo List: Add 1001 Premium Coffee Candy Add 2001 Colombia Coffee Received 150 Premium Coffee Candy (1001) Received 100 Colombia Coffee (2001) Shipped 50 Premium Coffee Candy (1001)
Redo List: Shipped 20 Colombia Coffee (2001)
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
u undo completed.
Undo List: Add 1001 Premium Coffee Candy Add 2001 Colombia Coffee Received 150 Premium Coffee Candy (1001) Received 100 Colombia Coffee (2001)
Redo List: Shipped 20 Colombia Coffee (2001) Shipped 50 Premium Coffee Candy (1001)
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
v Enter code * to show all):
Coffee Product information ID Name Quantity Other Info 1001 Premium Coffee Candy 150 50 candy per package (15 calories each) 2001 Colombia Coffee 100 250g
- Redo the last undo command (r) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
sl
Undo List: Add 1001 Premium Coffee Candy Add 2001 Colombia Coffee Received 150 Premium Coffee Candy (1001) Received 100 Colombia Coffee (2001)
Redo List: Shipped 20 Colombia Coffee (2001) Shipped 50 Premium Coffee Candy (1001)
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
r redo completed.
Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system s Enter code (* to show all):
Coffee Product information ID Name Quantity Other Info 1001 Premium Coffee Candy 100 50 candy per package (15 calories each) 2001 Colombia Coffee 100 250g
Coffee Inventory Management System
Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
sl
Undo List: Add 1001 Premium Coffee Candy Add 2001 Colombia Coffee Received 150 Premium Coffee Candy (1001) Received 100 Colombia Coffee (2001) Shipped 50 Premium Coffee Candy (1001)
Redo List: Shipped 20 Colombia Coffee (2001)
- Exit the System (x) Coffee Inventory Management System Please enter command: [a | v | c | s | u | r | sl | x] a = add product, v = view products, c = collect product, s = ship product, u = undo, r = redo, sl = show list undo/redo, x = exit system
x
Thanks for using Coffee Inventory Management System!!
End of Sample Run
*** END ***