use case meta-model - university of pretoriaespresso.cs.up.ac.za/publications/karelvdwalt.pdf ·...

30
Use Case Meta-Model Karel van der Walt

Upload: ngotruc

Post on 13-Mar-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

Use Case Meta-Model

Karel van der Walt

Page 2: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 2

of

300

Object vs Meta-language

• ‘This sentence is false’

true/false ?

Page 3: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 3

of

300

Liar’s Paradox

• Paradox arose because we did not , when reasoning about the truth of statements in a language (the object language), use another language in which to reason (the meta language)

Page 4: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 4

of

300

Object vs Meta-language

Therefore A implies C by transitivity

∴∴∴∴A ���� C

B implies CB ���� CA implies BA ���� B

Meta language (natural language) to reason about formulae

Object language of mathematical formulae

Page 5: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 5

of

300

4-Layer Meta-model Architecture

������������

�������������

����������

������������

��������

��

Page 6: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 6

of

300

OMG UML Meta-model

����������� �������� �‘����������’��‘REGISTERED’

�����������������������

��� �� �!�"���

������������������#����������������������

���������������

$������� ������!�� ������

$�������

����������������%��������

�&�$'�

�(���������

���$���������� ���������!�� ����

�)����

����!�"���*�����+��!*

������%��������

&�,���

Page 7: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 7

of

300

W3C XML Meta-model

<Applicant BureauNumber=“B000000013></Applicant>

Instance of Domain Model

M0 User Objects.xml

Applicant, ApplicantStatusInstance of MetaModel

M1 Domain Model.xsd Schema

Entities AttributesInstance of a Meta-MetaModel

M2 MetaModelSchemaOfSchemas

HasFacetAndPropertyXml (reserved attributes and entities)Xsi (reserved attributes)

AxiomsAttribute Schema

M3 Meta-MetaModelhasFacetAndProperty

Level

Page 8: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 8

of

300

Eclipse Model

Say java CodeInstance of Domain Model

M0 User Objects

Instance of MetaModel

M1 Domain ModelEMF Model

Instance of a Meta-MetaModel

M2 MetaModelEMF

EClass EAttributeAxiomsM3 Meta-MetaModelEcore

Level

Page 9: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 9

of

300

Models of computation• Imperative/Procedural

Variables, Assignment statementIterationEg. C-family

• Functional/ApplicativeAbsence of variablesRecursionEg. Lisp-family

• Declarative/LogicalPure whatRecursionEg. Prolog, SQL, XSLT

• Generative/MetaHigher OrderEg. STL

Page 10: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 10

of

300

M0, M1, M2 and computational Models

• Imperative – M0

• Declarative – M0, M1

• Generative – M1, M2

Page 11: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 11

of

300

Model to Meta-Model

Page 12: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 12

of

300

The domain 2b modeled

Page 13: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 13

of

300

Meta-model deficiencies

• OmissionsContext/Boundary, Step/Action

• Absent behaviourClosure, Refactoring, Estimation

Page 14: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 14

of

300

Use Case behaviour

• Use Case refactoring

• Use Case estimation

• Use Case closure

Page 15: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 15

of

300

One systems actor is another system with this system as actor

Registration System

Register for Term

StudentBil ling System

Bill ing System

Bill Student

Student

Registrar

Registration System

Page 16: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 16

of

300

Use Case Points

• Function Points (Albrect)

• Effort/Size

• Duration/Rate of ProgressSchedule

• Gustav Karner 1993 Objectory AB, Rational

Page 17: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 17

of

300� ���������� �����������

� ���� ������ �����

� ���������

� ���� ��� ����� ����� �� ����� � !������

�� ������"�!

� ��#

� ��� ��� ����� ����� �� ����$ ��%�%�%&

' (�#

Size of Context

Page 18: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 18

of

300� ���������� ���� �����

� �������)�������

� ����� �*��* �������*+�* ∈ ,�+�-�

∈ ,�+��'�'�'�'����-

� ���������� ���'��

� ������ ��*���* ��������*+��* ∈ ,�+�-�

∈ ,�+�....����-

Adjusting for Technical & Environmental Complexity

Page 19: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 19

of

300

Technical Factors

1End UserT3

2PerformanceT2

2DistributedT1

WeightDescription

Page 20: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 20

of

300

Environmental Factors

1OO experienceE3

0.5Application experienceE2

1.5Familiar Development process

E1

WeightDescription

Page 21: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 21

of

300

Duration/Rate of Progress/��0�*%�������� ����� ����������� �����

������ ����������� �����

������ ����������� ����

����� ����

� ���∈ ,���1���+�'��1���-

≈ $��1���

Page 22: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 22

of

300

Use Case Closure

• Span/Cover/BaseCreate all scenarios

Page 23: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 23

of

300

ER model with Temporal Entities

1,1

0,n

0,n 1,1

1,1 0,n 0,n1,1

Patient

SAIDNameSurnameDOBGender

<pi><pi><pi>

A13A35A35DA1

<M><M><M>

MemberPrivate

Dependent

MedicalAid

AidName <pi> A35 <M>

NonDependent

PostalAddressLine1PostalAddressLine2SuburbPostalCodeTitleAccountNr <pi>

A35A35A35A4A4A6

<M>

<M><M>

<M>

<<Temporal>>

Dependence

<<Temporal>>MemberShip

AidNumber A15 <M>

Page 24: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 24

of

300

Object model with Concrete suclasses

1..10..* 0..*1..1

1..10..* 0..*1..1

Patient{abstract}

+++++

SAIDNameSurnameDOBGender

: String: String: String: Date: String

MemberPrivate

Dependent

MedicalAid+ AidName : String

NonDependent{abstract}

++++++

PostalAddressLine1PostalAddressLine2SuburbPostalCodeTitleAccountNr

: String: String: String: String: String: String

Dependence

MemberShip+ AidNumber : String

Page 25: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 25

of

300

STD patientChange Dependence

Change Membership

Gain Membership

Loose Membership

Loose Dependence

Gain Dependence

Gain Dependence

Gain Membership

Private

Dependent

Member

Page 26: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 26

of

300

Simplified

Gain Membership Loose Membership

Loose Dependence

Gain Dependence

Member

Private

Dependent

Page 27: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 27

of

300

Use Case DiagramPractice

<<extend>>

<<extend>> <<extend>>

<<extend>>

<<include>>

<<include>>

MedicalAid

Gain Dependence

Loose Dependence

Loose Membership

Gain Membership

Maintain Patient

Information

Reception

Patient

nonDependent

Page 28: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 28

of

300

Test Cases

Consultation

Gain Membershio Loose Membershio Gain Dependence Loose Dependence

Consultation Consultation Consultation

Page 29: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 29

of

300

Use Case Refactoring

• Small• Behaviour preserving• Inverse

• Relax small, perfect inverse

• Behaviour preservingSize (UCP)Closure

Page 30: Use Case Meta-Model - University of Pretoriaespresso.cs.up.ac.za/publications/KarelVDWalt.pdf · W3C XML Meta-model

©M

enta

lArr

ow -

All

Rig

hts

Res

erve

d 30

of

300

Use Case Refactoring• Context refactoring :

Partition context with use cases : Fold contexts

• Use Case Refactoring : Steps to included use case : Fold included Use CaseConditional steps to extended Use case : Fold extensionCondition to exception (extension to exception handler) : Exception handler to extension