UML and WSDL for JISC e-Learning Projects Major Practical Richard Hopkins

advertisement
UML and WSDL
for JISC e-Learning Projects
Major Practical
Richard Hopkins
rph@nesc.ac.uk
NeSC Training Team Member
Organisation
Two Teams –
A
JISC UML/WSDL – Introduction, 9th Nov. 2004
B
2
STAGE 1 : 9.00 – 11.00
09.00 - Introduction to the day
09.10 -
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
11.00 - Exchange of definitions
Teams Exchange their definitions,
via stick
This is during coffee break
JISC UML/WSDL – Introduction, 9th Nov. 2004
3
STAGE 2 : 11.30 – 14.30
11.30 – 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 B’s 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 12.30
14.30 – End of Stage 2
JISC UML/WSDL – Introduction, 9th Nov. 2004
4
STAGE 3 : 14.30 – 15.00
14.30 - 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 A’s specifications – A’s home
area
Clarification of team B’s specifications – B’s home
area
Aim to restrict the clarification discussions to this
half-hour period (no inter-team talking over lunch!!)
JISC UML/WSDL – Introduction, 9th Nov. 2004
5
STAGE 4 : 15.00 - …
15.00 – Coffee. high level services outline provided
High Level Service Definition
15.30 – end of day (17.30 - 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, 9th Nov. 2004
6
Stage 5: 9.00 – 10.30
09.00 –Introduction to the day
09.10 - 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
10.00 - General discussion –
of the previous day's practical
10.30 - Coffee
JISC UML/WSDL – Introduction, 9th Nov. 2004
7
REST OF DAY
11.00 – Class Diag – WSDL
Re-vamped practical
11.30 – WSDL styles – lecture
12.00 – Additional UML - Lecture
12.30 – Discussion of whole course
….
- Lunch
JISC UML/WSDL – Introduction, 9th Nov. 2004
8
Now -STAGE 1
09.10 -
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
11.00 - Exchange of definitions
Teams Exchange their definitions,
This is during coffee break
11.30 – Stage 2
JISC UML/WSDL – Introduction, 9th Nov. 2004
9
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, 9th Nov. 2004
10
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, 9th Nov. 2004
11
Person Service – Class Diagrams
Person Service
People : Person [*]
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
1
1
1
1
PersonData
Common
Definitions
PersonId
Status
JISC UML/WSDL – Introduction, 9th Nov. 2004
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.
12
Person Data Model – Class Diagram
Person
1
1
1
1
PersonId
PersonData
1
Common
Definitions
Identifier
1
1
1
String
SurName
0..*
FirstName
AddressLine
Name
2..4
1
1
Address
JISC UML/WSDL – Introduction, 9th Nov. 2004
13
Common Defns. – Class Diagram
AddressLine
Identifier
Status
2..4
1
Address
OkStatus
String
WarnStatus
Name
OperationNotImplemented
FailStatus
IdentiferNotRecognised
...
JISC UML/WSDL – Introduction, 9th Nov. 2004
14
THE REST IS NOT
RELEASED TILL
3.15
JISC UML/WSDL – Introduction, 9th Nov. 2004
15
STAGE 4 : 15.00 - …
15.00 - Coffee high level services outline provided
High Level Service Definition
15.30 – end of day (17.30 - 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, 9th Nov. 2004
16
The Learning Group Service
Supports the concept of a collaborative-learning group –
a group of students collaboratively studying a module of elearning 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, 9th Nov. 2004
17
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
JISC UML/WSDL – Introduction, 9th Nov. 2004
18
Download