Top Banner
The OO-H method The OO-H method C. Cachero, J. Gómez, A. Párraga, C. Cachero, J. Gómez, A. Párraga, O. Pastor O. Pastor DLSI. Universidad de Alicante DLSI. Universidad de Alicante DSIC. Universidad Politécnica de DSIC. Universidad Politécnica de Valencia Valencia June 2001 Valencia
27

The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

The OO-H method The OO-H method

C. Cachero, J. Gómez, A. Párraga, O. PastorC. Cachero, J. Gómez, A. Párraga, O. Pastor

DLSI. Universidad de Alicante DLSI. Universidad de Alicante

DSIC. Universidad Politécnica de Valencia DSIC. Universidad Politécnica de Valencia

SPAIN SPAIN

June 2001Valencia

Page 2: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 2

OO-H Objetives

• Definition of new views that provide existing software engineering approaches (UML-compliant models) with interface modelling capabilities.

• Inclusion of reuse mechanisms in the model refinement process.

Page 3: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 3

OO-H is not...

• An Application Modelling Tool BUT an Interface Modelling Tool.

• A methodology for developing web sites BUT a method to model and integrate high quality interfaces with preexisting business logic modules.

Page 4: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 5

Pattern Catalog

OO-H: an overview

Page 5: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 6

OO-H Design Process

refinementsrefinements

Class DiagramClass Diagram

Customer

Order

ScheduledDelivery

Product

Salesperson

NAD’sNAD’s

BillCustomer

UpdateMarketing

Inventory

AuthorizeCredit

OrderEntry

ScheduleDelivery

APD’s APD’s

htmlxmlwml

aspjsp

pyth

1..N1..N1..N1..N

DESIGN PROCESSDESIGN PROCESS

1. Start from Class Diagram and 1. Start from Class Diagram and Use Case DiagramUse Case Diagram

2. Create a NAD instance2. Create a NAD instance

3. Generate a Default APD3. Generate a Default APD

4. Apply refinements to APD4. Apply refinements to APD

5. Generate deliverables5. Generate deliverables

PatternCatalog

Use Case DiagramUse Case Diagram

Main risks:- Lack of support in the case for filters and connection with logic- Upload of files not supported- Too short a schedule for developing the system

ManageConferenceInfo

DetectInterestConflicts

AssignPapers2PCMembers

Accept/RejectPapers

Pre-registerPC

AssignPapers2PCReviewers

ChangeConferenceStatus

ChangePaperTrack

ChangePaperSubjects

Login

ManageTracks/SubjectsViewReviewersEvaluation

ViewReviews

ViewStatistics

PC Chair

ViewAssignmentStatus

1..N1..N

Page 6: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 7

NAD (I): ConstructsModelling Constructs:

Decorators:

• Collections

• Navigation Classes

• Visibility (V|R|H)• Perspectives (P)

• Navigation Targets

• Meta attributes • Patterns (Pt)• Filters (F)

• Navigation Links

MANAGE CONFERENCE

Menu PCChair

Lr: "Entry point"

Ls: "Login"

Lres:"Valid User"

Conference: Conference

Track: Track Subject: Subject

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

name(V)description(V)

newTrack

name(V)description(V)

newSubject

newConferencechangeConferenceStatuschangeConferenceData

Conference: Conference

Track: Track Subject: Subject

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

name(V)description(V)

newTrack

name(V)description(V)

newSubject

newConferencechangeConferenceStatuschangeConferenceData

SS

S

To transpas.PRE-REGISTER PROGRAM COMMITTEE.PCMember

Li:"Tracks" Li:"Subjects"

ExP:"Go 2 Conference Site"

Lt:"Pre-register Program Committee"Lr:"Manage Conference"

Ls: "Create Conference"Ls: "Change Conference Status"

Ls: "Change Conference Data"

SLs: "Create Track" S

Ls: "Create Subject"

Page 7: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 8

NAD (II): Navigation Links

• Six types: I-Links, T-Links, R-Links, X-Links, S-Links, Sr-Links

• Metamodel attributes:• Visualization• User Interaction• Application Scope

• Activation Links

Page 8: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 9

NAD (III): Patterns & Filters

PATTERNS • Indexing • Navigation

FILTERS• In origin (Fo)• In destination (Fd)

• User-defined• Domain-dependent • $, $$

Page 9: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 10

NAD (IV): Parameter Interaction

• Defined inside the Service Links

• 5 Introduction Modes• Hidden• Constant• Immediate• Selection• Navigation

• They have an associated Response Link

Associated Expression

Page 10: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 11

Review System Class Diagram

writes

reviewReassigned2Reviewer

Track

AssignmentPreferences

Paper

PCMember

1..1

0..*

namedescription

title

typestatusurlurlCameraReady

interestDegree

<<enumeration>>InterestDegree

conflictnoInterestmoderateInterest

<<enumeration>> PaperType

fullshortposter

<<enumeration>>PaperStatus

acceptedrejectedtoBeDiscussed

<<enumeration>>ReviewStatus

undefineddraftfinalvalidated

assignPaperToPCMembers()

paperID

abstract

submitPaperFile()

assignPaper2Track()

3..*

0..*

strongInterest

0..*

0..*

1..*

0..* 0..*

<<singleton>> Conference

Subject

0..*

0..*

0..* 0..* confirmRegistration()

inh_login()

modifyPreferredSubjects()modifyPreferredTracks()

loginpasswd

changeReviewStatus()

ov_modify()

namedescription

$newTrack()

$newSubject()

inh_nameinh_affiliationinh_contactInfoinh_email

reassign2Reviewer()

registered

addInterestDegree()addPaperConflict()

/numberOfReviews

$newPaper()

assignPaper2Subjects()assignPaper2Authors()calculatePaperID()

changePaperStatus()

newConference()

nameabstractSubmissionDL

reviewDLnotificationDL

paperSubmissionDL

processStatuscameraReadyDL

conferenceDateconferenceURL

changeConferenceStatus()changeConferenceData()

$register()

assignPCMember2Papers()

/minRating/maxRating/avgRating

/totalPapersTrack/totalPapersAccepted/totalPapersRejected

/$acceptanceRate

isAssignedPaperhasInterest

Page 11: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 12

PCChair Use Case Diagram

Main risks:- Lack of support in the case for filters and connection with logic- Upload of files not supported- Too short a schedule for developing the system

Confirm Registration

Reassign Paper Review

Review Papers

View Review Process Data

Declare Interest

ManagePreferredTopics/Subjects

ValidateFinalReviewerEvaluation

AssignPapers2PCReviewers

ViewProcessStatus/Statistics

ViewAccepted/Rejected Papers

RegisterPCReviewers

ConfirmRegistration

ReadArticle ViewMyReviews

ModifyReview

ReviewArticleViewOtherReviews

IntroPaperInterest

IntroConflicts

PC member

Login

ManageConferenceInfo

DetectInterestConflicts

AssignPapers2PCMembers

Accept/RejectPapers

Pre-registerPC

ChangeConferenceStatus

ChangePaperTrack

ChangePaperSubjects

Login

ManageTracks/SubjectsViewReviewersEvaluation

ViewReviews

ViewStatistics

PC Chair

ViewAssignmentStatus

Manage Conference

Pre-register Program Committee

Assign Papers

Evaluate Papers

View Process Data

Page 12: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 13

PCChair NAD (level 0)

Menu PCChair

DN3ASSIGN ARTICLES

DN4PRE-REGISTER

PROGRAM COMMITTEE

DN8EVALUATE ARTICLES

DN2MANAGE CONFERENCE

DN11VIEW

PROCESS DATA

PCChair: PCChair

login(V)

login SLs: "Login"

Lres:"Valid User [Fo: login.result==true]"

Lr: "Entry point"

(View prototype)

Page 13: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 14

NAD (V): Final NAD

aConference: Conference

aTrack: Track

aSubject: Subject

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

name(V)description(V)

newTrack

name(V)description(V)

newSubject

newConferencechangeConferenceStatuschangeConferenceData

SS

S

To transpas.PRE-REGISTER PROGRAM COMMITTEE.PCMember

Li:"Tracks [Fd: self.tracks->includes(aTrack)]"Li:"Subjects [Fd: self.subjects->includes (aSubject)]"

ExP:"Go 2 Conference Site"

Lt:"Pre-register Program Committee [Fd: self.pcMember->includes(aPCMember)]"

Lr:"Manage Conference" (ShowAll)

Ls: "Create Conference [Fo: conference->size()=0]"Ls: "Change Conference Status"

Ls: "Change Conference Data [Fo: conference.size()>0]"

SLs: "Create Track"

SLs: "Create Subject"

(View APD)

(View NC pt)

(View CD pt)(View TS pt)

Page 14: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 15

• Abstract pages = XML documents.

• A different template definition (DTD) for each dimension of the interface: tStruct, tForm, tFunction, tLink, tWidget, tLayout, tLocation, tStyle, TExternal(*), TLogic(*). Facilitates Reuse

• Automatic derivation of a default APD out of the NAD.

• Refined by means of patterns and its corresponding transformation rules.

APD (I): General Concepts

Page 15: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 16

XMLTEMPLATESXMLTEMPLATES

TFORM TFORM

TLINK TLINK

TWIDGET TWIDGET

TLAYOUT TLAYOUT

TLOCATION TLOCATION

TSTYLE TSTYLE

TSTRUCT TSTRUCT

TEXTERNAL TEXTERNAL

APD (II): Page Taxonomy

TFUNCTION TFUNCTION

TLOGIC TLOGIC

Page 16: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 17

Change_Conference_Data

PCMember

Track

Subject

PCChair

ConferenceMenu_PCChair

Login_resp

Change_Conference_Status_resp Create_Conference_resp

Change_Conference_Data

Change_Conference_Data_resp

Create_Track_resp

Create_Subject_resp

Pre-register_Program_Committee

Tracks

Subjects

Manage_Conference

Valid_User

APD (III): Default APD (View NAD)

Page 17: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 18

Example of Template: TLink

Page 18: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 19

APD Refinements (I) Two types:

• Pattern-driven refinements

• Designer-dependent refinements

OO-H Patterns: Transformation Rules• Python scripts easily integrated in the tool.

• They can affect every construct of the APD.

• The effects don’t necessarily appear on the diagram.

Page 19: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 20

Identification Pattern Command Control PatternsPopulation Filtering Pattern Static Navigation Patterns Command Observer Pattern

Cycle Flow Patterns Jump Patterns Confirmation PatternTree Index Annotation Pattern

Sequence Guided Tour Chooser PatternSplit-Join Index Guided Tour Navigation Observer PatternDynamic Showall Navigation Selector Pattern

Navigation PatternsInteraction Patterns

Information Patterns

Dynamic Navigation Patterns

Active Agent Observer Pattern

User Schema Evolution PatternsMultiview Pattern

Location PatternInterface State PatternSystem State Pattern

Destination Announcement PatternError Pattern

Success PatternHelp Pattern

Population Observer Pattern

Interface Behavior Pattern Catalog

Page 20: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 21

Final step: the CLD

• It affects the XML content of tExternal, tLayout, tWidget, tLocation and tStyle (pure visualization).

• ‘Multiview pattern’ is supported by means of different layouts.

• The appearance specification is adapted (not lost) when the APD structure changes: design reuse.

Page 21: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 22

Menu PCChair

DN3ASSIGN ARTICLES

DN4PRE-REGISTER

PROGRAM COMMITTEE

DN8EVALUATE ARTICLES

DN2MANAGE CONFERENCE

DN11VIEW

PROCESS DATA

PCChair: PCChair

login(V)

login SLs: "Login"

Lres:"Valid User [Fo: login.result==true]"

Lr: "Entry point"

Generated Prototype (I)

Page 22: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 23

aConference: Conference

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

newConferencechangeConferenceStatuschangeConferenceData

S

S

Lr:"Manage Conference" (ShowAll)

Ls: "Create Conference [Fo: conference->size()=0]"

Ls: "Change Conference Status"

Generated Prototype (II)

Page 23: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 24

aConference: Conference

aTrack: Track

aSubject: Subject

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

name(V)description(V)

newTrack

name(V)description(V)

newSubject

newConferencechangeConferenceStatuschangeConferenceDataS

SS

Li:"Tracks [Fd: self.tracks->includes(aTrack)]"Li:"Subjects [Fd: self.subjects->includes (aSubject)]"

Ls: "Change Conference Data [Fo: conference.size()>0]"

Ls: "Create Track"Ls: "Create Subject"

Generated Prototype (III)

Page 24: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 25

aConference: Conference

aTrack: Track

aSubject: Subject

name(V)abstractSubmissionDL(V)paperSubmissionDL(V)reviewDL(V)notificationDL(V)cameraReadyDL(V)conferenceDate(V)conferenceURL(V)

name(V)description(V)

newTrack

name(V)description(V)

newSubject

newConferencechangeConferenceStatuschangeConferenceData

S

S

Li:"Tracks [Fd: self.tracks->includes(aTrack)]"

Li:"Subjects [Fd: self.subjects->includes (aSubject)]"

Ls: "Create Track"

Ls: "Create Subject"

Generated Prototype (IV)

Page 25: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 26

Main Contributions• Modelling constructs for the definition of user-service interaction

• Taxonomy of XML templates tackling the different perspectives involved in interface definition

• Notion of Transformation Rule for Pattern implementation

• Case Tool to support the OO-H design process, with shortcuts for the construction of the different diagrams

Page 26: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 27

Future Work • Detection of new Patterns and inclusion of correspoding TR in the CASE tool

• Inclusion of Frameworks, with the same TR philosophy

• Inclusion of Advanced Personalization Features

• Event Modelling

• Client Logic Modelling

• ...

Page 27: The OO-H method C. Cachero, J. Gómez, A. Párraga, O. Pastor DLSI. Universidad de Alicante DSIC. Universidad Politécnica de Valencia SPAIN June 2001Valencia.

Valencia June 2001 28

For further comments...

THANKS FOR YOUR ATTENTION!!!

[email protected]

[email protected]

[email protected]

[email protected]