Reference no: EM132141049
Introduction
To show your ability to create an object-oriented program, you will construct the Java application as detailed in this document.
Your work will be assessed not only on the basis of how well the program works, but also on how closely you have fulfilled the specification, how well you have structured your code. You are advised to spend some quality time in team discussions to determine a suitable design.
1 Assignment Requirement
Your solution should demonstrate the following. You would each be individually assessed on your solution and would be required to establish your learning and understanding of the items stated in this section with adequate theoretical/technical explanations and demonstration of codes and other artefacts during your presentation;
Req-1: Strong understanding of Programming concepts
a. Appropriate and correct use of language (java) constructs
b. Efficient development of algorithms and optimal use of looping constructs
c. Proper structured code using static methods, constants and libraries
d. Creation of appropriate classes based on case study description
Req-2: Create solution design based on case study specifications described here
a. Evidence of your analysis of the case description to derive appropriate design specifications using class diagrams and other UML notations.
b. Define classes in java that would demonstrate accessors, modifiers, instance methods, constructors
Req-3: Comprehensive Solution Development
a. System building using concepts of aggregation of classes.
b. Based needs demonstrate the use of appropriate collections (eg: arraylist, hashmap, iterators etc.)
c. Craft reusable method signatures with appropriate arguments and return values using wrapper classes.
d. Demonstrate aggregative operations on collection using build in libraries
Req-4: Advanced OOP concepts
a. Build class hierarchies with OO inheritance and interfaces
b. Use of appropriate over-riding and over-loading of methods
c. Demonstrate polymorphic class behaviour and late binding
Req-5: UI principles
a. Use of appropriate visual components
b. Event driven programming with exception handling.
Req-6: Competence in Advanced concepts
a. Use of generics
b. Identification and use of design patterns
c. Practices for error free coding including exception handling, error messaging through unit and system level testing.
1.2 Deliverables and Structure
You will deliver the following:
1. A ZIP file named MITS_XXX.zip whereXXX is student ID. The ZIP file will have the following folders:
• \srcfolder which will contain the full set of working source files for this application, i.e. the *.java files, arranged hierarchically into folders according to their path. The system must compile and run without errors.
• \classes folder for the compiled classes. This will be empty (i.e. class files must not be provided in the ZIP file).
• \docs folder which will contain the Project Report (report_XXX.doc)
a. \data folder which will contain the data files (see later sections).
Note: You should use NetBeans IDE for this Assignment. But make sure that the batch files work.
2. A Project Report named report_XXX.doc, placed in the \docs folder of the ZIP file. The report cover must clearly show the name of your team and a list of members. The report must contain:
i. UML class diagrams showing the domain classes (most important classes) of your software. The diagrams may be drawn using tools of your choice (e.g. WhiteStarUML, MS Word diagrams, scanned hand drawings, Rational Rose tool diagrams, etc.). They must show classes, their main attributes and methods (including key parameters), their relationships with roles and multiplicity, uses of inheritance, etc. No text explanation is required for the UML class diagrams.
1.3 Software Restrictions
i. You may use Standared JDK version used in class only
ii. Use JUnit 4.0
iii. Use Swing APIs for building the GUI
iv. Use Java IO APIs for manipulating data from files.
(You may only use text or binary format files. Use of any database or other APIs such as XML etc. is not permitted)
1.4 How to score high.
i. Follow the specification carefully, make the software do what it is supposed to!
ii. Ensure the application works smoothly. Fix the bugs!
iii. Make sure it's installable: once you've built your ZIP file, try unpacking it on a different system, in a folder with a different name, with a JDK at a different location, and verify the batch files work properly.
iv. If you think you know how to make this application more impressive, enhance it as appropriate.
v. Participate in the IVLE forums and help others with their questions.
vi. Do not copy code. You will lose marks for direct use of code from solutions you find elsewhere, and for sharing solutions with other teams.
vii. Write test case classes for as many important classes. Test important classes thoroughly.
viii. Ensure that you create ample data to demonstrate your system
2. System Requirements
You are assigned to implement a simple point-of-sale system for automating the University Souvenir Store.
The system, operated by the store keeper, will provide facilities to make payment, replenish stock, check inventory, member registration. The present system is GUI-based, with flat files to store data.
The design of your system should be flexible enough to cater to new requirements and/or changes in the requirements.
Attachment:- java assignment.rar