Need help with CSYM025 Java Assignment
Question - MSc CSYM025 – Visual Object Software
© Suraj Ajit: November 7, 2013 MSc Computing
CSYM025: Visual Object Software
Due for Issue
(week
commencing):
Thursday, 7th
November 2013 Last Date for
Submission:
Wednesday, 15th
January 2014
Agreed Date for
late submission:
Module Tutor: Suraj Ajit
Student ID:
Aspect (& weighting) Excellent
A
Good
B
Satisfactory
C
Needs much more work
F
Program Design (15%)
Functionality
(including GUI) (45%)
Testing and Error
Handling (15%)
Code Layout and
Documentation (5%)
Code Quality and
Efficiency (10%)
Demonstration (10%)
Specific aspects of the assignmen
...Read More
t that
the marker likes:
Specific aspects of the assignment that need
more work:
Tutor’s Signature: Date: Grade:
The University of Northampton Policy on Plagiarism & Mitigating Circumstances will be strictly
implemented. By submitting this assignment you are asserting that this submission is entirely your
own/individual work.
MSc CSYM025 – Visual Object Software
© Suraj Ajit: November 7, 2013 MSc Computing
Brief:
Design, implement and test a stand-alone grocery shop management system using object-oriented principles
in an object-oriented language (Java). Design should include use cases and class diagrams while Testing
should include unit tests and test logs. Here are the specific requirements:
Assume that the grocery shop sells the following items at the prices included:
Baked Beans £0.35 per tin
Cornflakes £1.75 per packet
Sugar £0.75 per packet
Tea Bags £1.15 per packet
Instant Coffee £2.50 per jar
Bread £1.25 per loaf
Sausages £1.30 per packet
Eggs £0.75 per half dozen
Milk £0.65 per carton
Potatoes £2.00 per kg bag
Basic System Requirements:
The system must:
(i) Allow the user to enter the groceries purchased, e.g. 2 tins of baked beans, 1 loaf of bread, 2
cartons of milk.
(ii) Display the amount due (for this example, £3.25) and prompt the user for payment.
(iii) Accept the payment from the user and display the change if any or an error message if the
payment is insufficient.
(iv) Generate an invoice for the customer (either display on screen or write to a file) and record
details of the purchase to a file
It is up to you to decide how you want the users to input their purchases. A good system should require little
in the form of keyboard input. Note that the items listed above cannot be divided, for instance eggs must be
purchased in multiples of half a dozen and the user cannot have half a loaf.
Enhancements (Functionality):
Additional features that you may include are as follows:
- The system is able to read and load the above list of items and their prices from a file.
- The system allows for various promotional offers on selected items, for instance “buy one get one
free†and “three for the price of twoâ€. The order in which you purchase the items should not affect
these offers.
- The system allows two additional items that can be sold by weight in kg, input separately, for
instance, fresh meat and vegetable items.
- The system allows returns/refund of certain items from the customer.
- The system maintains the stock of all available items in the shop. The stock is updated after each
purchase/refund. The system generates a warning message when stock is low.
- Maintain customer information in a file. Offer 10% discount to customers who have made 3 or more
transactions in the last 30 days (the total amount in each transaction should exceed £15)
- Query facilities to review stock available for any particular item, sales over a period of time (for
instance, quantities of a particular item sold and total income received), retrieve customer
information (e.g. sales history) and so on.
- Login/Security features for the system.
These additional features are only suggestions and are not exhaustive. You may include any other useful
features relevant to this application. Extra marks will be awarded to new useful features. You may make
assumptions regarding any other specifications not detailed in this report.
MSc CSYM025 – Visual Object Software
© Suraj Ajit: November 7, 2013 MSc Computing
Deliverables:
All requirements (A, B and C below) MUST be delivered to achieve a passing grade for this assignment.
A) Technical Report
The report should consist of the following:
ï‚· Standard Front Sheet (Attached to this assignment-DO NOT include whole assignment brief).
ï‚· Table of contents.
ï‚· Introduction/ Problem statement for the task.
ï‚· Analysis of requirements and assumptions for the task.
ï‚· Design of the system expressed in the form of UML class diagrams and use cases.
ï‚· Brief explanation of the overall design (classes, responsibilities and collaborations)
ï‚· A description of the system (main components and functionality). Include screenshots of the
system in different modes of operation. Also, give clear instructions on how to run/use your
system (user guide).
ï‚· Evidence of Testing:
o Test logs providing information of all the tests carried out (including any failed tests for
functionality not implemented, screenshots, unit tests, etc.).
o List of any bugs and/or weaknesses in your system (if you do not think there are any, then say
so). Bugs that are declared in this list will lose you fewer marks than ones that you do not
declare.
ï‚· Conclusion/Recommendations (list of additional features you would have liked to implement)
ï‚· References (use Harvard referencing)
[If you have borrowed some code from elsewhere (e.g. from a book or some resource on the web
you must indicate clearly what they are and include references).
B) Source Code
The source code must be well documented with necessary comments. Consistent and clear indentation of
the code is also important. Source code needs to be submitted in two forms:
(i) As a single ZIP archive (.zip file consisting of all “.java†files, unit tests, data files, executable jar)
(ii) A commented full listing in a separate Word document named “Appendixâ€.
C) Demonstration/Viva
The viva/demonstration for the developed application will be conducted in the regular timetabled session
during the assessment week. This is a compulsory activity, which is considered an essential element of
this assignment – you will not pass the assignment if you do not attend. You will be required to give a
short demonstration and verbally evaluate your work to the module tutor. You may be asked technical
questions related to your assignment.
Submission Procedure:
ï‚· E-Submission of documents through Turnitin on NILE as TWO separate WORD documents.
[Document 1 = Report & Document 2 = Appendix (Full source code listing)]
To do this, go to the NILE site for this module and use the link labelled ‘Submit your work’.
ï‚· E-Submission of a single ZIP archive that contains all the source code files (.java), unit tests, data
files and executable (jar). The archive must be named with your student ID, e.g. 12345678.zip where
12345678 is your student ID. To do this, go to to the NILE site for this module and use the link
labelled ‘Submit your work’. Clicking on the link (SourceCodeEsubmission), will take you into the
submission form, where you can upload your ZIP archive using the ‘Attach File’ button (Browse for
Local File). Finally, click the Submit button.
MSc CSYM025 – Visual Object Software
© Suraj Ajit: November 7, 2013 MSc Computing
Marking Criteria:
The grade for this assignment will form 100% of the overall assignment grade for the module. Marks are
split according to the following scheme. The Standard Front Sheet of the assignment gives an indication of
how the marks are split. In general the following criteria will act as a guide to what you should expect:
A bare pass (C) will require you to produce a working system that incorporates most of the basic
requirements. You must also include all the deliverables (design, evidence of testing, etc.) stated in the
assignment.
A good pass (B) will require you to produce a working system that incorporates all the basic requirements
and some additional features. The code should be well documented (code layout, useful comments, etc.)
with evidence of testing, error handling and error recovery. Adherence to object-oriented principles is a
must.
A very good pass (A) will require you to produce a working system that incorporates all the basic
requirements with many significant additional features. The code should be well documented (code layout,
useful comments, etc.) with evidence of testing, error handling and error recovery. Additionally, the design
and implementation of the system should be of good quality and efficiency with adherence to object-
oriented principles. ...Read Less
Solution Preview - No Solution Preview Available