isidro ramos polytechnic university of valencia -spain-

38
IWWOST’01 Valencia June 01 User Interface Modeling User Interface Modeling and Specification in an and Specification in an Object Oriented Object Oriented Environment for Automatic Environment for Automatic Software Development Software Development Isidro Ramos Polytechnic University of Valencia -SPAIN-

Upload: pilar

Post on 05-Feb-2016

46 views

Category:

Documents


0 download

DESCRIPTION

User Interface Modeling and Specification in an Object Oriented Environment for Automatic Software Development. Isidro Ramos Polytechnic University of Valencia -SPAIN-. Contents :. Motivation. Introduction. User Interface Development Environments. State of the Art. Generic Architecture. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Modeling and User Interface Modeling and Specification in an Object Specification in an Object Oriented Environment for Oriented Environment for

Automatic Software Automatic Software Development Development

User Interface Modeling and User Interface Modeling and Specification in an Object Specification in an Object Oriented Environment for Oriented Environment for

Automatic Software Automatic Software Development Development

Isidro Ramos

Polytechnic University of Valencia

-SPAIN-

Page 2: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Contents :Contents :Contents :Contents :

Motivation. Introduction. User Interface Development Environments. State of the

Art. Generic Architecture. IDEAS: Interface Development Environment within

OASIS. Ontological Model of IDEAS. Conclusions.

Page 3: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Motivation:Motivation:Motivation:Motivation:

Fill the existing gap in most of the current software development methodologies.

Incorporate a user-oriented development.

User Interface Generation within a methodological and formal support.

Page 4: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Introducción II:Introducción II:Introducción II:Introducción II:

Development Process integrated in an object oriented software development environment:

OASIS: Object oriented Model UML: Object oriented Methodology.

IDEAS: Enriches the model by integrating a specific model for user interface generation.

This approach includes graphical diagrams to represent the different aspects of the user interface.

Page 5: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Introduction:Introduction:Introduction:Introduction:Main Goal: Present a formal and methodological approach for the specification of user interfaces integrated in the software development process.

Object-Oriented approach which covers the phases of

ImplementationDesign Analysis

User Interface Model:

1) Task Model

2) User Model

3) Domain Model

4) Dialog Model

* Object-Oriented Specification Language OASIS-UI

5) Presentation Model

* Model-Based Code Generation

Page 6: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Development User Interface Development Environments. State of the Environments. State of the

Art.Art.

User Interface Development User Interface Development Environments. State of the Environments. State of the

Art.Art. User Interface Software Tool.Classification:

Language-Based Tools: Require to program in a special purpose language.

Interactive Graphic Specification Tools: They allow an interactive user interface design.

Model-Based Generation Tools: They use a model or high-level specification to generate the UI automatically.

Main Features: Use of Declarative Models to describe all the aspects related to the

user-system interaction. Automatic Generation of the UI starting from the models.

Model: Declarative Specification of the structure and behavior of a software element.

Declaratives because they do not contain procedural code but descriptions with high level of abstraction.

Page 7: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Development User Interface Development Environments. State of the Environments. State of the

Art II.Art II.

User Interface Development User Interface Development Environments. State of the Environments. State of the

Art II.Art II. Advantages of the Model-Based approach:

User-centered development process.

Centralised UI specification.

Design tools for an interactive and automated development.

UI design reuse.

Criteria for a UI tool to be considered a Model-based development environment:

(1) It must include a high level, abstract and explicitly represented (declarative) model about the system under development.

(2) It must clearly establish a technologically well supported relation between (1) and the final running UI.

Page 8: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Generic Architecture:Generic Architecture:Generic Architecture:Generic Architecture:

UI Model

Task, Domainand UserModels

Dialog,PresentationModels

Abstract andConcrete UserInterface

Specifications

InteractiveDevelopment

ModellingTools

DesignProcess

AutomaticGenerationTool

AutomatedDevelopment

KnowledgeBases

DesignKnowledge

Styleguides

Guidelines

ApplicationCode

Compiler /Linker

Executable UICode

FinalApplication

UI Developer

ApplicationDeveloper

AutomaticGenerationTool

AutomaticGenerationTool

Page 9: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Development User Interface Development Environments. State of the Art III.Environments. State of the Art III.

User Interface Development User Interface Development Environments. State of the Art III.Environments. State of the Art III.

Task Domain User Dialogue Presentation

UIDE

Clases C++

ADEPT

MASTERMIND CORBA IDL

MECANO

MOBI-D

Modelo ObjetualMIMIC

TRIDENT Modelo E-R

AME

Modelo OO

GENIUS

Modelo E-R

FUSE

EspecificaciónAlgebraica

JANUS

Modelo OO

TADEUS Modelo OO

IDEAS Modelo OO

Page 10: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

IDEAS: IDEAS: IInterface nterface DDevelopment evelopment

EEnvironment within Onvironment within OASASISIS

IDEAS: IDEAS: IInterface nterface DDevelopment evelopment

EEnvironment within Onvironment within OASASISIS

Page 11: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Domain Modelling Solution Specification

DEVELOPMENT PROCESS

Domain Model (ARCA)Task

Analysis

User

Interface

Model

Task Model

Dialog Model

Presentation Model

System Design

(OASIS)

Application Code

Generation

User Interface Design

(OASIS+IU)

Final Application

User Interface Code

Generation

Use

Cases

User Model

Page 12: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Model TraceabilityModel TraceabilityModel TraceabilityModel Traceability

refine

Verticalstructuring

Abstractionlevel i

Abstractionlevel i+1

viewi

viewj viewk

Horizontalstructuring

Model Development

Page 13: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The development processThe development process

AbstractModel

AbstractSpecification

DesignModel

DesingSpecification

traceability reification

Methodological Approach Formal Support(Oasis)

Page 14: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Model ArchitectureModel ArchitectureModel ArchitectureModel Architecture

implements to

entitiesactions /actors

actandsbussiness

policies

bussinessobjects

abstractsyncronization

abstractvaluations

bussinessrules

designobjects

designsyncronization

designvaluations

desingrules

Formalsupport

Designlevel

requirementlevel

Structuralview

Dynamicview

Functionalview

Deonticview

Ontologicalmodel

Abstractmodel

Designmodel

Semanticalmodeling

STD ,CCS dinamiclogic

deonticlogic

implements to

analysislevel

Page 15: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

REQUIREMENTS MODELREQUIREMENTS MODELREQUIREMENTS MODELREQUIREMENTS MODEL

Page 16: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Models :User Interface Models :User Interface Models :User Interface Models :

Domain Model:

It represents the system entities, its attributes, methods and relationships.

Model used by Object Oriented Methodologies to describe the Information System.

Strong relation with UI Models.

Page 17: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The OntologyThe OntologyThe OntologyThe Ontology What is an ontology?

The specification of a conceptualization (knowledge sharing) A “ set of terms of interest in a particular information domain (T) and the

relationships (R) among them” (ontological commitments) T = {t1,t2,...tn} ; R = {r1,r2,...rn}

ti = (tti, teri); tti TT ;

ri = (tri, tii tfi) and tri T R;

TT = {predicator thing, action, actor, rule} TR = {execute, actand, use, extend, etc.}

FRISCO + UML ( extended use case)

Page 18: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The Task/Domain ModelThe Task/Domain ModelRequirements LevelRequirements Level

Example: Rent a CarExample: Rent a Car

The Task/Domain ModelThe Task/Domain ModelRequirements LevelRequirements Level

Example: Rent a CarExample: Rent a Car

Rent a Car

Agency Administrator

Client

Car

TopNumberOf CarsClient

Rent

<< extends >>

Page 19: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Page 20: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Models I:User Interface Models I:User Interface Models I:User Interface Models I:

Task Model:

It defines the ordered set of activities and actions the user has to perform to achieve a concrete purpose or goal.

Artifact: essential for task development. Artifact: modeled as objects and represented in the domain model. Strong relation between the task model and the domain model.

Task Description: Objective. Ordered set of actions necessary to achieve the goal. Artifacts involved in the task.

Page 21: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Task Model: Template (Example: Car Rental)Task: Rent a car. GENERAL FEATURES:

GOAL: The administrator rents a car to the client.PRECONDITION: - The car is available.

- The car is in good conditions. - The client has not more cars than permitted

SUCCESS CONDITIONS: - The administrator checks the car’s availability and state. - The administrator brings the client´s state up to date. - The client receives the solicited car.

FAILURE CONDITIONS: - The car is not available. - The client already has remted the maximum number of cars permitted.

PRIMARY ACTORS: Client, Car.SECONDARY ACTORS: Administrator.TRIGGER ACTION: The client request to rent a car.

NORMAL SCENARIO:.The client request to rent a car..The administrator checks the state and the availability of the requested car ..The administrator checks that the client has not rented the top number of cars permitted..The administrator gives the client the car..The client receives the requested car.

VARIANTS:.The car is not available..The car is not in good state..The client already has the top number of cars permitted to rent.

RELATED INFORMATION:Priority: HighDuration: 15 mins.Frequency: 10/day.

Page 22: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Interface Models III:User Interface Models III:User Interface Models III:User Interface Models III:

User Model:

It describes the characteristics of the different types of users. Purpose: Support the creation of individual and personalised User

Interfaces. Adapted UI: The user model represents the different roles of a

user (supervisor, administrator, employee). Adaptative UI: Depends on the type of user (child, adult,

handicapped). User characteristics:

Application Independent (child, adult, handicapped). Application Dependent (supervisor, administrator, employee).

Page 23: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

User Model II:

For each kind of user, the set of tasks he/she can perform is established.

For each kind of user in relation with a concrete task, a projection /specialitation on the actions within the task that he/she can perform is established.

Depending on the user’s particular characteristics (child, adult, etc.), the information and the interaction established by the Dialog Model to show the information contained in the Domain Model is adapted to the user.

User Interface Models III:User Interface Models III:User Interface Models III:User Interface Models III:

Page 24: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

USER MODEL

Scenarios(Tasks):

e1=a11 ... a1n1 AI ={aij , i={1..m} j={1 ..nm} }

e2=a21 ... a2n2 ei A*

.... E={e1, ..., em} A*

em=am1 ... amnm A*={aij , ai1j1, ... aikjk / a A}

: A* A* A*

(A) = {, {a11}, {a12}, ... , {a11, a12},...}

(E) = {, {e1}, ... , {en}, ... , {e1,e2},... {e1, ..., em} }

Users: U = {u1, ... , uk }

User Model:

(1)- R: U (E) P. Ej.: R(U1) = {e1, e2}; R(U2) = ; R(U10) = {e1, ... , em}

(2)- ei = ai1 , ... , aini

P (A) : E Ex.: P (A) ( ) =

P (A) (a Re) = if a (A) then a P (A) (Re) else P (A) (Re)

(3)- User Type : MDial.(str.)

: MDial.(behav.) R’: U View (MDom.)

MDom.(str.)

E

A*

Page 25: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

ANALYSIS MODELANALYSIS MODELANALYSIS MODELANALYSIS MODEL

Page 26: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The Interface Model The Interface Model (Analysis level)(Analysis level)

collaboration viewcollaboration view11

Communication protocol with the user

Request Car

ReturnCar

administrator

aRental:RentalCar

If ¬(totalContract < nrocarClient)

“Client exceeds top of cars”

Page 27: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The Interface ModelThe Interface Model Analysis Level: (X,P)- Analysis Level: (X,P)-

analysisanalysiscollaboration viewcollaboration view22

The Interface ModelThe Interface Model Analysis Level: (X,P)- Analysis Level: (X,P)-

analysisanalysiscollaboration viewcollaboration view22

aClient:Client

aCar:Car01

RequestCar

ReceiveCar

administrator

GiveCar

ChargeToAccount

aRental:RentalCar

ReturnCar

DischargeCar

responsabilities of the object community for achiving the task

Page 28: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Page 29: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

The Interface Analysis Model: The Interface Analysis Model: (A,alfa)-analysis (A,alfa)-analysis

role viewrole view11

The Interface Analysis Model: The Interface Analysis Model: (A,alfa)-analysis (A,alfa)-analysis

role viewrole view11

Clientidentificationtotalcontrats

ReceiveCarReturnCar

Car01registrationNumberfarestateconditionsGiveCarReturnCar

0,1RentalClient

0,* RentalObject

- Abstract action vocabulary- Class by aspect (role)

Page 30: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Page 31: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Page 32: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Role Object StructureRole Object Structure(object role pattern)(object role pattern)

Role Object StructureRole Object Structure(object role pattern)(object role pattern)

Car

Rental Object

Active

Sale Object

class

ClassCore

ClassRole1 ClassRole2

ClassRole

Instance of

Instance of

TaxPayment

RentalCar

SaleCar

Page 33: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Abstract SpecificationAbstract SpecificationAbstract SpecificationAbstract Specification

An activivity class

Several resource classes

Page 34: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

OASIS class templateOASIS class templateOASIS class templateOASIS class template

a) Type

( A, X, alfa, P )

A : AttributesX : Eventsalfa : cuasi-functions (dynamic logic)P : Process

a) Type

( A, X, alfa, P )

A : AttributesX : Eventsalfa : cuasi-functions (dynamic logic)P : Process

Page 35: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Activity Type Class SpecificationActivity Type Class Specification

Class AlquilarVehiculo

participants

c: Cliente as alquilador ;

v: Vehiculo01 as objeto_alquiler;

constants attributes

plazoLimAlquiler : nat;

nroVehCliente : nat;

events

solicitarVehiculo(nroDias) calling with members

c.cargarVehiculo(); v.entregarVehiculo(nroDias);

recibirVehiculo(fechaEntrega) calling with members

c.descargarVehiculo();

v.devolverVehiculo(fechaEntrega);

preconditions

solicitarVehiculo if (c.totalContrato < nroVehCliente)

exception(“Cliente excede tope de vehiculos ”);

end class AlquilarVehiculo

participants c: Cliente as alquilador ; v: Vehiculo01 as objeto_alquiler;

Page 36: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Resources Class Type Resources Class Type SpecificationSpecification

Resources Class Type Resources Class Type SpecificationSpecification

Class Vehiculo01 played by Class Cliente Vehiculo (objetoAlquiler) identification

identification nit : (nit);codigo : (codigo); constant attributes

constant attributes nit :nat;codigo : nat; nombre : stringmodelo : nat; variable attributesmarca : String; totalVehiculos : nat(0);

variable attributes eventstarifa : nat; cargarVehiculo( );disponible : bool(true); descargarVehiculo( );estadoActual : string; valuations

events [cargarVehiculo] totalVehiculos += 1; entregarVehiculo( ); [descargarVehiculo] totalVehiculos += -1; devolverVehiculo( ); end class Cliente

valuations[entregarVehiculo] disponible = ‘false’;

[devolverVehiculo] disponible = ‘true’end Class Vehiculo01

Class Vehiculo01 played by Class Cliente Vehiculo (objetoAlquiler) identification

identification nit : (nit);codigo : (codigo); constant attributes

constant attributes nit :nat;codigo : nat; nombre : stringmodelo : nat; variable attributesmarca : String; totalVehiculos : nat(0);

variable attributes eventstarifa : nat; cargarVehiculo( );disponible : bool(true); descargarVehiculo( );estadoActual : string; valuations

events [cargarVehiculo] totalVehiculos += 1; entregarVehiculo( ); [descargarVehiculo] totalVehiculos += -1; devolverVehiculo( ); end class Cliente

valuations[entregarVehiculo] disponible = ‘false’;

[devolverVehiculo] disponible = ‘true’end Class Vehiculo01

Class Vehiculo01 played byVehiculo(objetoAlquiler)

Page 37: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Page 38: Isidro Ramos Polytechnic University of Valencia -SPAIN-

IWWOST’01 Valencia June 01

Design Phase :Design Phase :Design Phase :Design Phase :

Dialog Model

OASIS+IU Specification

Interface Model

- Analysis -

- Design -

Object Oriented User Interface Specification Language