Você está na página 1de 21

MethodScience

Applying the UML to Enhance Quality of Web Services


OMG Workshop

Success Through Practical Discipline

Presented By: Bhuvan Unhelkar, PhD, FACS


Profile: www.unhelkar.com bhuvan@cit.uws.edu.au +61 (0) 413-821-454

Agenda
!Introduction !Quality-Modelling Context !Positioning the UML for Web-Services !The Three Modeling Spaces:
!Problem, Solution and Background

!Quality Checks: Syntax, Semantics and Aesthetics !Examples with some UML diagrams in each of the Modeling Spaces
www.MethodScience.com
2

Presenter Profile
! Bhuvan UNHELKAR (BE, MDBA, MSc, PhD) ! University of Western Sydney ! Principal of MethodScience.com ! Author of 5 Books ! Detailed Profile on: www.unhelkar.com
3

www.MethodScience.com

Quality in Web Services: Context..


! Understanding Elusive Software Quality ! Additional Issues in Web Services
! Packaging of Web-service Offerings Registering of Web-Services (Standardization) Creation of Sufficient momentum at Cluster/Industry Level
www.MethodScience.com
4

Quality in Web Services: Context


Primary roles operating in a slice of the triangle. Relevant quality roles such as Tester and Auditor will accompany the primary roles.

So cio log y

Quality Environment

ger na a ty M ali Qu tM jec Pro

od olo gy

r age an

Management Process Quality Model Quality

Te ch no log y

Code Quality Data Quality

er ine ng sE t es roc itec P rch ,A er del Mo er mm ra ser rog ,U P er nag a ta M Da

Me th

www.MethodScience.com

Quality in Web-Services: Further


! Quality of Models
! Creation and Packing of Services

! ! ! !

Testing of Services Registration of Services (Yellow Pages) Maintenance of Services Security as Ongoing Initiative

www.MethodScience.com

Basics of Internet Systems

Internet

Actor

Client

Server

The Internet Replaces the Physical (Secured and dedicated) connection of a Client-Server Architecture by an Internet Cloud.
7

www.MethodScience.com

Web-Service Basics
Major Ingredients of a Web-based System
Hypertext Markup Language HTML
Scripts

Infrastructure
CORBA, IIOP

Browsers
Graphics, Multimedia

Client Machines Java XML


eXtended Markup Language

www.MethodScience.com

Servers & Databases

The UML: Not a Process, Not a Tool, Just excellent and standard Modelling Technique

Quality Software Process


A Software Process

XP RUP AM QSP

(standard set of (standard set of notations and diagrams; notations and diagrams; CASE tool support) CASE tool support)

UML UML

OPEN
Other Processes
9

www.MethodScience.com

The three major modeling spaces

ANALYSIS

DESIGN + CODE

ARC HIT ECT URE

SOLUTION TO REAL-WORLD PROBLEMS

www.MethodScience.com

10

Primary UML Diagrams in MOPS


Customer
< <b u sine s s> > Ad d s C lie n tD e ta ils

Account

AcceptHomeInsur anceProposal

A1 0 -Ac c o u n t E xe c u tiv e

A2 0 -C lie n t

< <b u sine s s> > C h a n g e s C lie n tD e ta ils

ValidateProposal Details

Obtain Underwriter Approval

Saving

Cheque

Use Case Diagrams


CoverRejected

Activity Diagrams
John : Client L101 : Loans

detailsValid CoverCommences

Class Diagrams (Domain Model)


This state chart diagram describes the various states in which the Client can be.

RegisterforLoan
Business Logic Database Current paysPremiumInstalment( amount )

PolicyHolder GUI makesClaim( claimAmount )[ accident ] Claimant

Package Diagrams Sequence Diagrams State Chart Diagrams

www.MethodScience.com

11

Primary UML Diagrams in MOSS


P o lic y
3 : d is p la yF o rm ( ) 7 : v a lid a te C la im

< < id > > P o lic yId e n tifie r : In te g e r = 0 0 < < d a ta > > Am o u n tIn s u re d : C u rre n c y = 0 0 < < d a ta > > S ta rtD a te : D a te = 0 1 / 0 7 / 1 9 8 4 < < d a ta > > F in is h D a te : D a te = 0 0 / 0 0 / 0 0 0 0 < < d a ta > > P re m iu m Am o u n t : C u rre n c y = 5 0 0 0 < < fla g > > S ta tu s : B yte = 0 < < b u s in e s s > > g e tAm o u n tIn s u re d (P o lic y Id e n tifie r : P o lic y) : B o o le a n < < b u s in e ss > > s e tS ta rtD a te (P o lic y Id e n tif ie r : In t e g e r, S ta rtD a te : D a te ) : B o o le a n < < b u s in e s s > > s e tF in is h D a te () : B o o le a n < < b u s in e ss > > c a lc P re m iu m ( P o lic yId e n tifie r : I n te g e r, P re m iu m Am o u n t : B o o le a n ) : B o o le a n
1 : s ub m it sC la im D e ta ils ( ) : A 1 0 -Ac c o u n t E xe c u tiv e 6 : g e tC la im T yp e D e s c r( ) 8 : C re a te C la im R e c o rd ( )

U n d e rw rite rD e ta ils n a m e O fU n d e rw rite r u n d e rw rite rT yp e g e tU n d e rw rite rT yp e () o b ta in U n d e rw rite rAp p ro v a l()


2 : s ta rtC la im ( ) 4 : s u b m itC la im ( ) a F o rm : C la im _ F o rm 9 : b e e pSu c c e ss( ) 5 : C re a te C la im ( ) : C la im

: C la im _ T a b le : A 2 0 -C lie n t

P o lic y-Life C o v e r

: C la im T yp e

P o lic y-H o m e In s u ra n c e

b a s ic In te rn a lVa lid a tio n () P li C ()

: A2 1 -In te rn e tC lie n t : P o lic y-H o m e In s u ra n c e

Class Diagram (Advanced)


1 : g e tAm o u n tIn s u re d (P o lic yId e n tifie r : P o lic y)

Collaboration Diagram

This state chart diagram describes the various states in which the Client can be.

A/c C1001
Current

Sequence Diagram (Advanced)


Cust101 A/c D202

paysPremiumInstalment( amount )

PolicyHolder

makesClaim( claimAmount )[ accident ]

A/c C3003

Claimant

Object Diagram

www.MethodScience.com

State Chart Diagram (Advanced) 12

Primary UML Diagrams in MOBS


< < e n tity> > P e rs o n N a me S u rn a m e D a te O fB irth P hone < < d a ta b a s e > > c re a te P e rs o n () a d d N a m e () a d d D a te O fB irth () c h a n g e P e rs o n () c a lc u la te Ag e () g e tP e rs o n D e ta ils ()
Insurance Database Server SQL Server <<LAN>>

< < T a b le > > P e rs o n D e ta ils T a b le


Web Application Server Printer RegionalServer.exe <<VPN>> <<VPN>>

1, Suburban Branch Client Machine

324, Station Branch Client Machine

Class Diagrams (Advance Database)

InsuranceClient.exe
C lie n t (fro m U s e C a s e Vie w )

InsuranceClient.exe

v a lid a te C lie n tD e ta ils ()

Deployment Diagrams

P o lic yF o rm

P o lic yC o n tro l

B u s in e s s Lo g ic

Robustness Diagrams

D a ta b a s e
P o lic y-H o me In s u ra n c e

< < m id d le w a re > > CO M

b a s ic In te rn a lVa lid a tio n () P li C ()

GUI

Account

Tax

Component Diagrams

Package Diagrams (Advanced)

www.MethodScience.com

13

MOBS Background Space Modeling and Quality of Web Services


! Creation of Packages ! Modeling System Architecture:
! Detailed consideration to Components ! Use of Design Patterns ! Use of Reusable In-house Patterns

! Considering Deployment
! Hardware and Operating System related issues ! Bandwidth and Security

! Registration of Services
14

www.MethodScience.com

UML and Quality: Syntax, Semantics, Aesthetics

(Based on Unhelkar, 2003, Process QA for UML-based Projects, Addison-Wesley, Boston)

Aesthetics Semantics
Region of concrete skills: knowledge helps.

Region of abstract skills: experience helps.

Syntax

www.MethodScience.com

15

MOPS Problem Space Modeling and Quality of Web Services


Aesthetics: Web Processes are in Balance especially with the infrastructure Number of Activities & Swimlanes Number of Diagrams representing Services

AcceptHomeInsur anceProposal

ValidateProposal Details

Obtain Underwriter Approval

Activity Diagrams

CoverRejected

Semantics: Meaning understood by Business of the daigram Parallel processes, Decision points

detailsValid CoverCommences

Syntax: Dependencies of Activities Start and End points

www.MethodScience.com

16

MOSS Solution Space Modeling and Quality of Web Services


Aesthetics: Number of Classes, relationships Cohesiveness of Classes on a diagram Semantics: Internal processes computed Interface of Services offered (Methods) Registration of Methods Syntax: Naming of Class, Methods, Attributes Typing as per Language/DB
17

Policy <<id>> PolicyIdentifier : Integer = 00 <<data>> A ountInsured : Currency = 00 m <<data>> StartDate : Date = 01/07/1984 <<data>> FinishDate : Date = 00/00/0000 <<data>> Prem A ount : Currency = 5000 ium m <<flag>> Status : Byte = 0 <<business>> getA ountInsured(PolicyIdentifier : Policy) : Boolean m <<business>>setStartDate(PolicyIdentifi r: Integer, StartDate : Date) : Boolean e <<business>> setFinishDate() : Boolean <<business>>calcPrem (PolicyIdentifier : Integer, Prem A ount : Boolean) : Boolean ium ium m UnderwriterDetails nam eOfUnderwriter underwriterType getUnderwriterType() obtainUnderwriterA pproval()

Class Diagram (Advanced)


Policy-LifeCover Policy-Hom eInsurance

basicInternalV alidation() P li C ()

www.MethodScience.com

MOBS Background Space Modeling and Quality of Web Services


Aesthetics: Size and Cohesiveness of Package Coupling between Packages Semantics: Business Concept Represented Relationship with Language / DB packages Syntax: Notation, Interface Direction of Message flow

B u s in e s s Lo g ic D a ta b a s e < < m id d le w a re > > CO M

GUI

Package Diagrams (Advanced)

www.MethodScience.com

18

Standards and Regos:


! www.uddi.org ! www.omg.org

www.MethodScience.com

19

Conclusions & Future Directions


! Web Services Modeling Requires UML ! Application to Mobile Internet ! Standardization is Key to Availability and Use

Do you see what I see?


www.MethodScience.com
20

THANK YOU !!

www.MethodScience.com www.unhelkar.com

www.MethodScience.com

21

Você também pode gostar