









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
A comprehensive coursework brief for the ctec2710 oo design and development module, focusing on the development of a javafx module chooser gui application. It outlines the objectives, specifications, and assessment criteria for the assignment, guiding students through the design and implementation of a user-friendly interface for selecting modules based on their chosen course of study. Detailed instructions on building the application, utilizing mvc architecture, and implementing various functionalities such as profile creation, module selection, and data storage.
Typology: Assignments
1 / 16
This page cannot be seen from the preview
Don't miss anything!
Module name: OO Design and Development Module code: CTEC2 710 Title of the Assignment: JavaFX Module Chooser GUI This coursework item is: (delete as appropriate) Summative This summative coursework will be marked anonymously No The learning outcomes that are assessed by this coursework are:
The objective of this assessment is for you to demonstrate your ability to design and implement an OO system consisting of a set of Java classes, using advanced libraries within the Java SDK. In particular:
Submit your Eclipse project through the submission portal available on LearningZone. You should create a new folder called “CTEC 2710 Assignment”, copy your Eclipse project into this folder, ensuring all of the Java source files (and any other associated files) are in it. Then compress the folder into a .zip file, which you can submit through LearningZone.
Your work will be marked using a predefined LearningZone VLE Rubric grid, which will display your level of achievement and feedback for each of the assessment criteria for this assignment ( shown later in this specification ). The categories within the rubric act as a guide and the 'closest fit' will be selected for each individual piece of work, ensuring the overall result is reflective of the DMU Undergraduate Mark Descriptors.
Please do NOT be tempted to search the internet for an existing solution and then hand this in
You are advised to thoroughly read this guidance and to continually refer to it as a means of helping you design and implement the JavaFX Module Chooser GUI application. Please download ModuleChooser.zip and extract the Java Project, then import it into Eclipse. You will note that it contains a template structure for you to work from including logical packages. Application Loader In the main package you have been given an ApplicationLoader that simply instantiates the model (i.e. StudentProfile) and view (i.e. ModuleChooserRootPane), and passes these to the controller (i.e. ModuleChooserController). This should help you get started. You should clearly showcase the MVC design pattern throughout your implementation. You will be assessed on your ability to sensibly decouple these entities to make a maintainable and reusable solution. The Model You have been provided with the data model for this application - The model contains four classes – StudentProfile, Course, Module, and Name, and an enum Block.
The View In the view package you have been given a root pane, from which you can build your user interface. The GUI is made up of four forms, which should be separated onto different tabs. You have been given the first of these forms (placed onto a tab), along with a menu bar. There are also some methods in these classes to help you get started. The overall GUI should include the following: Create Profile tab Displays a combo box, pre-populated with the two aforementioned second year computing courses, and five text fields for inputting a student P number, first and last name, email, and the submission date. There is also a create profile button. Select Modules tab Should display two list views for selected block 1 and block 2 modules (for the chosen course), and two further list views for unselected and selected block 3/ modules. The accumulated credits for the current module selection should be displayed. There should be add and remove buttons for block 3/4 modules, and an overall reset and submit button. Reserve Modules tab Should display the remaining unselected block 3/4 modules. A reserve module should be chosen (using unselected/selected list views). There should be add and remove buttons, as well as a confirm button. Overview Selection tab Should display an overview of the student’s details, selected modules and reserved module based on their submitted profile and module selection from the previous three tabs. The information should be clear and well-presented across three separate text areas. There should also be a save overview button. Your GUI also has a menu bar: The Menu Bar This Menu bar has two menus: File and Help. The File menu is made up of menu items: “Load Student Data”, “Save Student Data” and “Exit”. The Help menu is made up of a single menu item: “About”. Note : You are strongly advised to decompose the view by separating logical containers into their own top-level classes, enhancing reusability and abstraction. You will also need to provide suitable methods that allow relevant data to be accessed and modified within the view, adhering to principles of encapsulation and forming a clean public interface. You can see the Sample GUI screenshots section at the end of this document to assist in visualising how the GUI should generally look and behave, although you may use this as a guide and be creative where applicable.
The following criteria show how you will be assessed:
These screenshots are provided to help you visualise the core details that the user interface should capture and display. This prototype design is provided as a guide and you do not need to try and replicate the exact layout shown - you may be creative where applicable within the context of the requirements outlined within this specification. Please turn over to view screenshots...
Please turn over…
Using the GUI A profile is created by selecting a course and inputting student details. The details should be stored in the student profile data model. The select modules form should then be loaded. Depending on whether Software Engineering or Computer Science is chosen, associated modules will dynamically populate the select modules form, with the credit amount shown based on the mandatory modules for a given course. You should utilise ListView
The reserve modules form should display remaining unselected modules. The add/remove buttons allow a module to be reserved Once a reserve module has been chosen, the confirm button should store the module in the student profile data model. It should then load the overview selection form. An overview of the user’s details, along with their selected and reserved modules should be displayed
dynamically using three text areas to maximise space. There is also the ability to save this textual information to a file. The menu bar The File menu will allow the data model to be saved to a file in binary form, and restored at a later time, which would load the user interface back to a sensible previous state. Resizing the GUI You may impose a sensible minimum size for the stage, but it should be possible to resize it through expansion both horizontally and vertically - there should be no maximum size. Layout policies should be used to maximize the available space in a sensible fashion. In particular the list views that display modules on the second and third forms should use any spare (horizontal and/or vertical) available space, allowing more information to be seen at a given time. The same applies to the overview shown on the fourth form with respect to the text areas. On the fourth form, the selected and reserved text areas should prioritise space, allowing more modules to be viewed. The screenshots below provide examples of how the application may resize to maximize any available space in accordance with the aforementioned requirements.