DCOMS Assignment Question JUNE2013

November 24, 2017 | Author: Armin Amiri | Category: User (Computing), Source Code, Graphical User Interfaces, Menu, Reliability Engineering
Share Embed Donate


Short Description

Disoooadkjadfa f a rfa fr arf a...

Description

ASIA PACIFIC UNIVERSITY COLLEGE OF TECHNOLOGY AND INNOVATION Distributed Computer Systems (DCOMS) Individual Assignment Intake Lecturer Email ID Date Due

: : : :

UC3F1211SE / UC3F1211IT{NC} / UC3F1211IT Dr. Mohd Amril Nurman Mohd Nazir [email protected] TBD

LEARNING OUTCOME Give expert advise on and contribute to the development of distributed applications. Discuss projected future developments in distributed system technology and standards. Utilise appropriate language and system facilities to develop distributed and faulttolerant applications. The purpose of this assignment is to increase your familiarity with distributed programming paradigm, and to give you a chance to gain some implementation experience of distributed systems. Questions Individually, you are required to design & implement online food delivery system using Java RMI technology. This involves writing both the server and the client program(s). Client programs can use either a command line interface or a graphical user interface. The program should have the following features: 1. A new user should be able to register a new account to the online food delivery system. The user should be able to register by using his/her username and password. If the username exists in the system, the user will be notified to enter a different username. (You may use Array, List, Vector, HashTable or any other Java collection as you preferred BUT you are NOT ALLOWED to use any SQL database system). 2. After the user has registered to the online food delivery system, the user should be allowed to log in with username and password he/she registered earlier. 3. When log in, the user should be able deposit money (add money to his/her account), and the online food delivery system should update the cash balance of the user. At any point of time, the user should also be able to inquire current balance of his/her account from online food delivery system. 4. The user should be able to request a list of available food menu from the online food delivery system. The system should return a list of available food menu to the user as the following: 1. Order: Pizza Quantity: 4 Module: DCOMS

Asia Pacific University College of Technology and Innovation

Page 1 of 4

Price: RM12 Total: RM48 2. Order: Satay Quantity: 2 Price: RM10 Total: RM20 (You may create your own examples of the menu list above. To store the food menu detail, you may use HashTable or any other Java collection or external database as you preferred). 5. Based on a list food menu given, the user should be able to purchase food by selecting from the list above. Upon confirmation, the user cash balance from his/her account should be deducted from the food price. It should not be possible to purchase the food if the cash is not sufficient from the user account. If the server crashes during purchasing transaction, what would happen? How would your RMI program handle this problem? 6. Finally, given two users in the system e.g., usernames A and B, User A should be able to transfer cash voucher from his/her account to other user's B account. 7. Implement secure communication between session with the user and the food online system (i) when user purchases food and (ii) when the user performs cash transfer (Hint: use either SSL, SSH or any other security protocols for security needs). 8. What happen if multiple users use the online food system at the same time? What if/she purchases the same food item from the online system at the same time? What issues you might face? How can we resolve the issues? Implement your program to resolve the potential issues. Indicate exactly in the report of the code segment that you have written to resolve the issues and please provide detailed explanations. I have intentionally specified few design details. In this assignment, you are expected to make design choices yourself. Your focus should be on functionalities. Unless you have implemented all the required features, do not spend so much time on GUI interfaces and any other fancy features. I will focus on your use of RMI in grading this portion of the assignment. Assessment and deliverables: Following is the grading criteria for the required report: Programs 50% - Program correctness 40% - Reliability of the program 5% - Readability of the program 5% Documentation 30% - Program Design 10% - Explanations of code 15% - Program Instructions 5% Presentation 20% - Program Design 10% Module: DCOMS

Asia Pacific University College of Technology and Innovation

Page 2 of 4

- Explanations of code

10%

This assignment is due by TBD. Note: Produce the hardcopy of the above report, including segment of source code that specifically address Questions 1-10 above. You will not obtain marks if you did not clearly specify the segment of your source code which addresses Questions 1-8 above. You report should describe the overall program design, a verbal description of "how it works" including the basics of what the system is doing underneath, and design trade-offs considered and made. Also describe possible improvements and extensions to your programs (and sketch how they might be made). Enclose a softcopy of the report together with the program source code in a secondary storage media e.g. CD-ROM. The readme file should briefly describe all submitted files. In the Readme file, you should also provide information about compiling environment, compiling steps, execution instructions etc. You are encouraged to provide as much detailed information as you think that might help me to run your code. However, I should be able to run you program with very little configurations. Failing to do so will lose you some marks. Finally, the report should also describe the tests you have run on your program to convince yourself that it is indeed correct. Also describe any cases for which your program is known not to work correctly. ASSIGNMENT REQUIREMENTS 1. You are required to work individually. You may discuss with others but when it comes to implement code, you must do yourself. 2. As part of project management, you are required to develop a Gantt chart (project plan) that indicates clearly the activities required in order for the project to be a success. 3. The report has to be well presented and should be typed. Submission of reports that are unprofessional in its outlook (dirty, disorganised, inconsistent look, varying coloured paper and size) will not fair well when marks are allocated. 4. Ensure that the report is printed on standard A4 (210 X 297 mm) sized paper. Paper weight of 80 grams and above is highly recommended.

5. The report should have a one (1”) margin all around the page as illustrated below:

Module: DCOMS

Asia Pacific University College of Technology and Innovation

Page 3 of 4

1 inch

1 inch

1 inch

1 inch

1 inch

1 inch

The Typed Text

1 inch

1 inch

6. Every report must have a front cover. A transparent plastic sheet can be placed in front of the report to protect the front cover. The front cover should have the following details:a) Student name. b) Intake code. c) Subject. d) Project Title. e) Date Assigned (the date the report was handed out). f) Date Completed (the date the report is due to be handed in). 7. Plagiarism is a serious offence and will automatically be awarded zero (0) marks. 8. All information, figures and diagrams obtained from external sources must be referenced using the Harvard referencing system accordingly. *IMPORTANT* You have to hand in your assignment hardcopy on time with the Course Work Submission and Feed Back Form.

Module: DCOMS

Asia Pacific University College of Technology and Innovation

Page 4 of 4

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF