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 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.
Valencia June 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.
Valencia June OO-H proposal Design Process Pattern Catalog Navigation view Presentation view OO-H CASE tool
Valencia June Pattern Catalog OO-H: an overview
Valencia June OO-H Design Process refinements Class Diagram NAD’s Bill Customer Update Marketing Inventory Authorize Credit Order Entry Schedule DeliveryAPD’s html xml wml asp jsp pyth 1..N 1..N DESIGN PROCESS 1. Start from Class Diagram and Use Case Diagram 2. Create a NAD instance 3. Generate a Default APD 4. Apply refinements to APD 5. Generate deliverables Pattern Catalog Use Case Diagram 1..N
Valencia June NAD (I): Constructs Modelling Constructs: Decorators: Collections Navigation Classes Visibility (V|R|H) Perspectives (P) Navigation Targets Meta attributes Patterns (Pt) Filters (F) Navigation Links MANAGE CONFERENCE
Valencia June 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
Valencia June NAD (III): Patterns & Filters PATTERNS Indexing Navigation FILTERS In origin (Fo) In destination (Fd) User-defined Domain-dependent $, $$
Valencia June 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
Valencia June Review System Class Diagram
Valencia June PCChair Use Case Diagram
Valencia June PCChair NAD (level 0) (View prototype)
Valencia June NAD (V): Final NAD (View APD) (View NC pt) (View CD pt) (View TS pt)
Valencia June 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
Valencia June XMLTEMPLATES XMLTEMPLATES TFORM TLINK TWIDGET TLAYOUT TLOCATION TSTYLE TSTRUCT TEXTERNAL APD (II): Page Taxonomy TFUNCTIONTLOGIC
Valencia June APD (III): Default APD (View NAD)
Valencia June Example of Template: TLink
Valencia June 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.
Valencia June Interface Behavior Pattern Catalog
Valencia June 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.
Valencia June Generated Prototype (I)
Valencia June Generated Prototype (II)
Valencia June Generated Prototype (III)
Valencia June Generated Prototype (IV)
Valencia June 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
Valencia June 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...
Valencia June For further comments... THANKS FOR YOUR ATTENTION!!!