UML Diagrams
This model describes the data held by a module registration system. Programmes (such as Advanced Computer Science) have modules to which students enrolled on these pro- grammes can be registered.
INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS
Coursework 2: From UML to XML and JSON
This model describes the data held by a module registration system. Programmes (such as Advanced Computer Science) have modules to which students enrolled on these pro- grammes can be registered.
Operations
getModuleRegistrations(sid: Int): Student
Pre: Assumes sid of an enrolled student.
Post: Returns all module registrations of student matching sid including the student’s details.
getAllRegistrationsForProgramme(name: String): Programme
Pre: assumes name of an existing programme.
Post: Returns all module registrations of all students of the matching programme.
Assignment
The problems in Part A, B and C are independent of each other. While they use some of the same class models and requirements, they are concerned with different operations, scenar- ios and target languages. Therefore, your design choices to A, B and C can be different, too.
Part A: JSON – based on Part 2.5
Create a sample JSON object that could be returned as a result of invoking
getModuleRegistrations (12345678) as specified above, in the following steps:
- Create a reduced class diagram containing only the elements relevant to this
[basic, 5 marks]
- Create a class diagram defining the structure you want to use to represent the data in JSON. This is analogous to an XML-specific class diagram, except that the target language is JSON. What is the structure of the mapping you have to use?
[basic, 5 marks]
- Create the JSON object following the structure of your JSON-specific class
[basic, 10 marks]
Part B: XML – based on Part 2.1 - 4
Design a DTD that could support the data returned by an invocation of getAllRegistra- tionsForProgramme(“Advanced Computer Science”) as specified above, following the steps below. Take care to create a solution that minimises redundancy to ensure a compact representation of the data.
- Create a reduced class diagram containing only the elements relevant to this task. Justify your [basic, 10 marks]
- Create an XML-specific class diagram and justify the chosen document structure using the requirements from the scenario. [basic, 10 marks]
- Derive the DTD and justify the style of mapping you have chosen for the
[basic, 10 marks]
- Is the mapping from the class diagram in 5 to the DTD data preserving? Please justify your answer. In particular
- If the mapping does not extend data capacity, provide a valid object diagram as counterexample and explain why there is no corresponding valid XML in- stance.
- If the mapping does not reflect data capacity, provide a valid XML instance as counterexample and explain why there is no corresponding valid object dia- gram.
[moderate, 20 marks]
Part C: Data Integration – based on Part 3.2
The class diagram below defines the data held by a timetabling system, allocating sessions for modules held during a certain term, at certain times of the week, in certain rooms.
A personal timetable allocates to each student the timetabled sessions for the modules they are registered in. To create such a personal timetable we need to integrate the data models of the timetabling system and the module registration system.
The integration should satisfy the following requirements:
- All data representable with the two given models should also be covered by the inte- grated model, i.e., both mappings from the given models to the integrated model should extend the data
- The integrated model should be free of redundancy in the sense that every concept should only be represented
- The integrated model should be able to represent consistent individual timetables across several terms of up to five academic
Proceed along the following steps:
- Identify the conceptual overlaps and conflicts between the two models in an itemised list.
[moderate, 10 marks]
- For each overlap or conflict you identified, explain it in a single sentence and say how you chose to resolve it in the integrated
[advanced, 10 marks]
- Create an integrated class diagram following the choices made under
[advanced, 10 marks]
Related Questions
. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java
CS 340 Milestone One Guidelines and Rubric
Overview: For this assignment, you will implement the fundamental operations of create, read, update,
. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class
Retail Transaction Programming Project
Project Requirements:
Develop a program to emulate a purchase transaction at a retail store. This
. The following program contains five errors. Identify the errors and fix them
7COM1028
Secure Systems Programming
Referral Coursework: Secure
. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer
CS 340 Final Project Guidelines and Rubric
Overview The final project will encompass developing a web service using a software stack and impleme