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]
Attachments:
Related Questions
. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
. 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. The LineItem class will represent an individual
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
1
Project 1
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of
. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
1
Project 2
Introduction - the SeaPort Project series
For this set of projects for the course, we wish to simulate some of the aspects of a number of