Learning outcomes tested in this assignment: | |
2. | Design, and implement Object-Oriented programs |
3. | Develop applications with graphical user-interfaces |
4. | Develop technical software solutions as part of MSc/MRes projects |
In this assignment you will design and develop a JavaSE desktop City Guide Application. You may decide the focus of the application, for example it could be for reviewing restaurants or hotels or landmarks or for multiple purposes. The user should be able to add new items (restaurants, hotels etc.) to the guide with a title, location, picture and type. The items should be organised into categories, users should be able to search for, and view items already stored within the system, in addition to being able to add ratings. Items and ratings should be stored in a persistent manner such as a file or SQLite database.
You will first create an OO design for storing items and ratings within the program, and also outline sketches of the user interfaces you intend to create. You will also demo your finished prototype. You must achieve a grade of 50% overall to pass this assignment The weighting will be as follows:
1 | Design | 20% |
2 | Development Task | 60% |
3 | Demo | 20% |
1. Design – 20%
Before implementing your solution you will create an OO design of the underlying Java Objects that you will use. You will use a UML Class diagram to show the classes and relationships between them. It is most important that you consider how to effectively use OO techniques such as inheritance and composition (you may use any suitable program to create your Class diagrams, use a service such as or even hand-draw them). You may add brief textual description to your diagram if you feel this is appropriate. You will also create 2 outline sketches of the user interfaces you intend to create, one for adding an item and one for viewing/rating items. A sketch in this context is just a simple drawing/representation to help you consider the interface you are planning to implement and how you will organize components on screens (hand-drawn sketches are perfectly acceptable). Hand in no more than 3 pages.
2. Development Task – 60%
You will next develop a JavaSE desktop application conforming to your UML class diagram and your UI sketches. You will not loose marks if your final implementation differs from your design but you will expected to explain the reasons for this during the demo. The application should allow addition of items to the guide with a title, location, picture (and any other important information) which the author can allocate to type (restaurants or hotels or landmarks) and a category (e.g. Mexican, Thai, Italian etc). The application should allow the items to be rated multiple times. Data entered should be stored in persistent storage such as a file or an SQLite database.
You will be expected to submit your entire source code. Your code must be commented and you must include a separate document of references to the resources you used in the development of your application (book, web sites, forums etc).
3. Presentation/Demo – 20%
You will give a short demonstration of your prototype, creating an item, then viewing/rating items several times and showing that the data has been stored. You will be expected to describe how closely your final implementation corresponds with you original designs, answer questions on your work and justify design decisions etc.
Marking Criteria
Part 1 – Design (Worth 20% of this Assignment)
To obtain 5% you must have produced a UML class diagram that shows multiple classes relevant to the assignment task, and you must have produced 2 sketches that show UIs as specified in this assignment.
To obtain 10%, in addition to the above, your UML class diagram will show relationships between classes in a logical way and make use of composition. Your sketches will be legible and should feasible UIs based on Java SWING components.
To obtain 15% and over, in addition to the above, you will have produced correctly constructed UML diagrams to a high standard showing correct use of inheritance. Your sketches will be of a high standard and demonstrate consideration of the user.
Part 2 – Development Task (Worth 60% of this Assignment)
To obtain 30% you must have made progress in implementing your design and produced an interactive application providing functionality enabling items to be created and then viewed. It must be possible to store all relevant information pertaining to an item. Data should be stored persistently in a file or SQLite database. You will have produced a document that references the resources you have used in implementing your application.
To obtain 40%, in addition to the above, the user interfaces should have no serious bugs and function correctly. The implementation will make use of composition and inheritance. The implementation should use a range of SWING GUI components and Layout Managers appropriately. The source code will be appropriately organized and commented. It will be possible to rate items and see these rating update on the UI.
To obtain 50% and above, in addition to the above, your application will have been implemented to a high standard in terms of appearance, implementation and reliability. Items and ratings will be stored appropriately and persistently with consideration for the user. The user is able to associate an image with an item. The implementation will make use of composition, inheritance and polymorphism.
Part 3 – Presentation/Demo (20% of this Assignment)
To obtain 5% you must have demonstrated a working and interactive Java SE application conforming to the assignment specification. You must attempt to answer questions.
To obtain 10% and above your demo will work reliably with no serious problems, data storage will be included. Answers to questions will show underlying understanding of the technical elements used and implementation decisions made.
To obtain 15% and above your demo will be of a high quality, the user interface and data storage will function correctly. You will competently answer any questions posed about your work.
Submission of assignment work
Submit all code and documentation in a single .zip file on submission link on elearn.
You do not need to achieve 50% of the marks in of the each sub-parts of the assignment in order to pass.
No comments:
Post a Comment