JAVA Coursework !!! BRIEF !!!
Relationship to Intended Learning Outcomes (ILOs) from the Module Descriptor:
1. Apply UML use-case, activity, sequence and class diagrams to the analysis of programming problems and the design OO solutions.
This assignment exercises methodical analysis and design through the use of the specified UML diagrams applied to an object-oriented programming problem.
2. Implement and execute small OO programs (up to 5 classes)
This assignment requires the implementation and execution of a program using GUIs, constructed from student defined and library classes in Java.
3. Demonstrate the application of common data structures.
This assignment will require the use of data structures such as Arrays, Vectors or HashMaps.
4. Determine the requirements and structure of programs running and communicating across a network.
5. Design and develop and test OO programs that can communicate with each other across a network
This assignment requires a client-server application to be written. The exercise therefore supports ILOs 4 & 5.
Formative feedback on this assignment will be conducted during timetabled tutorial sessions. Every student should archive their group's feedback sheet on a continuous basis by scanning the sheet to PDF and uploading the file through the A2-Feedback link in Topic 1 of the 308SE Moodle web.
Imagine your calculator software from CW#1 is part of a larger online maths tutorial application for school pupils. Reconfigure and extend your CW#1 program into a threaded client-server application. The application will be used by an administrator and any number of pupils. All data processing will be done by the server. The application will require some form of database. This can be either hard-coded into the program or stored in a text or XML file – the choice is yours. The application must include as a minimum, the following features:
• Simultaneous multi-user access through a username and password login.
• In additional to logging in and out, the administrator can:
• Add and delete pupils.
• View a list of pupils.
• View the current number of pupils logged in.
• In additional to logging in and out, a pupil can:
• Use the calculator when logged in.
• At least one additional free-choice feature.
A user is defined by:
• Username (6 characters)
• Password (minimum of 8 characters, maximum of 12)
• Role ('A' = admin, 'P' = pupil)
• Last name (no restrictions)
• First name(no restrictions)
A pupil is a kind of user with, additionally, an ID number (8 digits). When a pupil uses the calculator, their full name and ID number must be displayed in the GUI title bar.
N.B. You are not required to build a maths tutorial application. You are only required to provide the functionality specified above.
Implementation of the solution must be supported by the following analysis and design details:
a) Analysis Details
• Appropriate console diagrams;
• High-level UML use case diagrams for administrator and pupil;
• A high-level interaction UML activity diagram for one major use case for the administrator.
• A model of your database structure using a UML class diagram (names & attributes)
b) Design Details
• A UML sequence diagram (object interaction) for one major use case for the administrator. The model must include a pseudocode narrative on the left-hand side of the diagram;
• A detailed UML class-relationship diagram consistent with the application code.
All diagrams must be produced in their appropriate UML models.