UML and WSDL for JISC e-Learning Projects Major Practical Richard Hopkins NeSC Training Team Member
JISC UML/WSDL – Introduction, 9 th Nov Organisation Two Teams – AB
JISC UML/WSDL – Introduction, 9 th Nov STAGE 1 : 9.00 – Introduction to the day Low level service definitions Each team develops specifications of four of low-level services. Based on outline requirements provided The same set of services for both teams. The output of the design is class diagrams, put into Poseidon plus any additional text documentation if this is considered necessary Exchange of definitions Teams Exchange their definitions, via stick This is during coffee break
JISC UML/WSDL – Introduction, 9 th Nov STAGE 2 : – – Service Definition study and WSDL Each team studies the specifications it has received from the other team In order to find any areas where clarification is needed – In stage 3, team A will use Team Bs low-level service definition in constructing a high level service Vice versa This is focussed by each team producing WSDL definitions for the received class diagram specifications Within a team, probably each team member does one definition (up to you) Lunch Break, any time from – End of Stage 2
JISC UML/WSDL – Introduction, 9 th Nov STAGE 3 : – Service Definition Clarification Meetings Team B discusses with Team A any points of clarification needed in the specifications received from Team A Likewise teams D and C This might result in modifications to the class diagrams and WSDL Two simultaneous meetings each with two from team A, two from team B Clarification of team As specifications – As home area Clarification of team Bs specifications – Bs home area Aim to restrict the clarification discussions to this half-hour period (no inter-team talking over lunch!!)
JISC UML/WSDL – Introduction, 9 th Nov STAGE 4 : … – Coffee. high level services outline provided High Level Service Definition – end of day ( whenever!) Both teams are provided with an outline requirements for a high level service Which should be realisable in terms of the low-level services. Same for both teams Each team develops a specification for that service. use-case diagrams class diagrams possibly state diagrams any additional documentation deemed necessary And a realisation design a collection of sequence diagrams showing how the high level service operations are realised in terms of invocations of the low-level services
JISC UML/WSDL – Introduction, 9 th Nov Stage 5: 9.00 – –Introduction to the day Small group discussions Two simultaneous meetings each with two from team A, two from team B Within each group Team A gives brief presentation of its work from stage 4 –Including any low-level service extensions required Team B gives brief presentation of its work from stage 4 Whole group discusses differences General discussion – of the previous day's practical Coffee
JISC UML/WSDL – Introduction, 9 th Nov REST OF DAY – Class Diag – WSDL Re-vamped practical – WSDL styles – lecture – Additional UML - Lecture – Discussion of whole course …. - Lunch
JISC UML/WSDL – Introduction, 9 th Nov Now -STAGE Low level service definitions Each team develops specifications of four of low-level services. Based on outline requirements provided The same set of services for both teams. The output of the design is class diagrams, put into Poseidon plus any additional text documentation if this is considered necessary Exchange of definitions Teams Exchange their definitions, This is during coffee break – Stage 2
JISC UML/WSDL – Introduction, 9 th Nov Low Level Services - Outlines Person Service Provides a means to manage basic information about people, such as names and contact information. Group Service Supports access to information about groups, including courses, seminar groups, teams and departments. Member Service Supports the management of membership of persons in groups, such as student enrolments on modules. Forum Service Supports the use of asynchronous collaborative messaging, as offered by Web forums and message boards. Repository Service Enables access to, and management of, a repository. The repository may contain any type of content specifically an item in the repository can be defined to be a collection of other items in the repository.
JISC UML/WSDL – Introduction, 9 th Nov Person Service Details An example fuller definition, to give a flavour of what the definitions might be Shows one way of documenting the structure – Not necessarily best Operations createPerson deletePerson readPerson updatePerson You can modify/extend this if it seems appropriate Including, modifying data definitions -
JISC UML/WSDL – Introduction, 9 th Nov Person Service – Class Diagrams Person Service createPerson (in data : personData, out id : PersonId) Status deletePerson (in id :PersonId) Status readPerson (in id : PersonId, out pData : PersonData) Status updatePerson (in id : PersonId, in data : personData) Status Person Data Model Person PersonData 1 1 PersonId 1 1 Common Definitions A person service provides a repository for information about entities who are assumed to be actual persons. When a person is created, s/he is allocated an identifier, unique within the service, for use in subsequent operations. People : Person [*] Status
JISC UML/WSDL – Introduction, 9 th Nov Person Data Model – Class Diagram Person PersonData 1 1 PersonId 1 1 Common Definitions Identifier String SurName FirstName Name Address AddressLine *
JISC UML/WSDL – Introduction, 9 th Nov Common Defns. – Class Diagram Identifier String Name Address AddressLine Status OkStatus WarnStatus FailStatus OperationNotImplemented IdentiferNotRecognised...
JISC UML/WSDL – Introduction, 9 th Nov THE REST IS NOT RELEASED TILL 3.15
JISC UML/WSDL – Introduction, 9 th Nov STAGE 4 : … Coffee high level services outline provided High Level Service Definition – end of day ( whenever!) Both teams are provided with an outline requirements for a high level service Which should be realisable in terms of the low-level services. But may need - LL service enhancements Same for both teams Each team develops a specification for that service. use-case diagrams class diagrams possibly state diagrams any additional documentation deemed necessary And a realisation design a collection of sequence diagrams showing how the high level service operations are realised in terms of invocations of the low-level services
JISC UML/WSDL – Introduction, 9 th Nov The Learning Group Service Supports the concept of a collaborative-learning group – a group of students collaboratively studying a module of e- learning material. It provides (at least) facilities for creating a collaborative-learning module as a sequencing of pre-existing modules creating a collaborative-learning group for a specific pre-existing collaborative-learning module with an associated forum for student discussion and a means for group members to annotate the modules a prospective student to: discover what collaborative-learning groups exist; discover for a particular collaborative learning group –Its collaborative-learning module –the set of students who are part of the group; join and leave a collaborative-learning group.
JISC UML/WSDL – Introduction, 9 th Nov Modifying the Functionality You can extend/modify functionality But this is an exercise in UML modelling Not in e-learning services If you want to modify – Consider functionality that might be difficult to express in UML/WSDL If you really need extensions to the Low Level services – define these and assume that their provision can be agreed