Assignment 2 2024
Unique #:
Due Date: 15 July 2024
Detailed solutions, explanations, workings
and references.
+27 81 278 3372
COS3711 Assignment 2 (DETAILED ANSWERS) 2024 - DISTINCTION GUARANTEED - DISTINCTION GUARANTEED - DISTINCTION GUARANTEED Answers, guidelines, workings and references ...... Question 1 Study the following UML class diagram: The UML class diagram is an initial design of classes for a conference registration application. There are three types of registration allowed for the conference: standard registration, student registration and invited guests registration. The standard registration fee is the standard fee (stored in STANDARD_FEE). For those registered as students, the conference fee is half the price of the standard registration fee. For those registered as guests, the conference fee is 10% of the standard registration fee. An instance of RegistrationList contains a list of Registration*. No two registrations are allowed to have attendees with the same e-mail addresses, unless the names are different. You should be able to query a RegistrationList whether a person (by the name) is already registered for the conference. A RegistrationList can also return the number of attendees that are registered for the conference from an institution. Similarly, you can request the total registration fees for a type (“Registration”, “StudentRegistration”, “GuestRegistration” or “All”) of registration. You are expected to use Qt’s metaobject system to access the type of a Registration in RegistrationList. Downloaded by Corona Virus () lOMoARcPSD| Write a GUI application that allows users to register for a conference. The GUI should display the current list of registrations, including the respective registration fees, in the RegistrationList at all times, using a table widget. The interface should also allow users to request and view the results of the various operations supported by the RegistrationList class. You are allowed to add new features to the classes given in the UML diagram, although you are not allowed to delete or change the given functions. You can decide on the design of the GUI, and it can be done manually or using Qt Designer. You are expected to follow good programming principles. Question 2 Extend the solution in Question 1, to add another class named RegistrationListWriter that produces an XML-formatted RegistrationList using DOM as follows: <registrationlist> <registration type="Registration"> <attendee> <name>..</name> <affliation>..</affliation> <email>..</email> </attendee> <bookingdate>..</bookingdate> <registrationfee>..</registrationfee> </registration> .. .. </registrationlist> Note: .. means data has to be filled in based on the Registration objects in the RegistrationList. Downloaded by Corona Virus () lOMoARcPSD| Modify the GUI in Question 1, to give the user an option to save the registration list. Allow the user to choose the file, using the standard file dialog, where the XML formatted registration list should be saved. Question 3 Add another class to Question 2, named RegistrationListReader, that can parse the XML formatted asset list using SAX, and create and return a list of Registration objects. To test the RegistrationListReader class, modify the GUI in Question 2, to allow the list of Registrations to be read in so that they can be appended to the RegistrationList maintained by the application. Note that the user can request to read in the XML formatted file when there are Registrations, or none, in the RegistrationList. Use the standard file dialog to assist the user in choosing the XML formatted file. Question 4 Implement a factory class (RegistrationFactory) using the Factory method design pattern, which creates and returns a Registration based on an appropriate string argument and other arguments (for initializing concrete Registration objects) provided. Make the RegistrationFactory an implementation of the Singleton pattern. Modify the solution in Question 3, so that the parts of the solution that were creating concrete Registration objects (based on the user input and RegistrationListReader) are replaced by appropriate code to utilise the RegistrationFactory.
Quality you can trust: written by students who passed their exams and reviewed by others who've used these revision notes.
No problem! You can straightaway pick a different document that better suits what you're after.
No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.
“Bought, downloaded, and smashed it. It really can be that simple.”