Tuesday, 25 August 2020

Service-oriented Architectures

 






University of Leicester

SOA: Service-oriented Architectures

Winter 2020


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 programmes

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, scenarios

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:

1. Create a reduced class diagram containing only the elements relevant to this task.

[basic, 5 marks]

2. 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]

Student

name: String

sid: Integer

Module

code: String

registeredFor

*

Programme

name: String

academicYear: String

enrolledIn

* 1

*

*

*

3. Create the JSON object following the structure of your JSON-specific class diagram.

[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 getAllRegistrationsForProgramme(“

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.

4. Create a reduced class diagram containing only the elements relevant to this task. Justify

your choices. [basic, 10 marks]

5. Create an XML-specific class diagram and justify the chosen document structure using

the requirements from the scenario. [basic, 10 marks]

6. Derive the DTD and justify the style of mapping you have chosen for the attributes.

[basic, 10 marks]

7. Is the mapping from the class diagram in 5 to the DTD data preserving? Please justify

your answer. In particular

a. If the mapping does not extend data capacity, provide a valid object diagram

as counterexample and explain why there is no corresponding valid XML instance.

b. If the mapping does not reflect data capacity, provide a valid XML instance as

counterexample and explain why there is no corresponding valid object diagram.

[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 integrated

model, i.e., both mappings from the given models to the integrated model

should extend the data capacity.

• The integrated model should be free of redundancy in the sense that every concept

should only be represented once.

• The integrated model should be able to represent consistent individual timetables

across several terms of up to five academic years.

Proceed along the following steps:

8. Identify the conceptual overlaps and conflicts between the two models in an itemised

list.

[moderate, 10 marks]

9. For each overlap or conflict you identified, explain it in a single sentence and say how

you chose to resolve it in the integrated model.

[advanced, 10 marks]

10. Create an integrated class diagram following the choices made under 9.

[advanced, 10 marks]

Submission and Mark Distributions

Submit by 4pm on Thursday, 27th February through via the module’s BlackBoard site. Upload

a single pdf document containing all your answers with the completed coursework cover

sheet as first page. This is individual work for 20% of the overall module mark. No hand-written

solutions please - use editors for diagrams and text.

The assignment contains a mix of basic, advanced and challenging questions. Jointly the

basic elements allow a pass mark of 50%. The advanced question are open-ended, requiring

your own judgment and reflection on the properties of different solutions.

Enjoy!

Room

building: String

number: String

Module

code: String

Session

weekday: Day

time: Time

InRoom

*

ofModule

1

1

*

Term

start: Date

end: Date

duringTerm

*

1

UK assignment helper

Author & Editor

We are the best assignment writing service provider in the UK. We can say it with pride that we tend to perceive our client’s requirements better than any other company. We provide assignment writing service in 100+ subjects.

0 comments:

Post a Comment