információs környezetek a szervezésben és a tervezésben

29
www.xsys.hu Információs környezetek a szervezésben és a tervezésben Vég Csaba [email protected]

Upload: cyrus-rosa

Post on 02-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Információs környezetek a szervezésben és a tervezésben. Vég Csaba [email protected]. I. A probléma. OO?. Pont és Egyenes osztály? Illeszkedés vizsgálat: Pont osztályban? Egyenes osztályban? statikus metódus?. Kör és Egyenes metszéspontjai?. OO?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Információs környezetek a szervezésben és a tervezésben

Vég [email protected]

Page 2: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

I. A probléma

Page 3: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

OO?

Pont és Egyenes osztály?

Illeszkedés vizsgálat:Pont osztályban?Egyenes osztályban?statikus metódus?

Kör és Egyenes metszéspontjai?

Page 4: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

OO?

Játékprogram: szobában felrobbanó bomba megsérti a játékost

1. Játékos ellenőrzi, hogy hat-e rá valami2. A Bomba kezdeményez:

Bomba.robban: játékosok megkeresése Játékos.sérülés: hatás felvétele

Hogyan lehet módosítani/szűrni a hatást (varázsszoba)?

Page 5: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

OO?

Készítsünk olyan programot, amelyben egy billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált.Készítsünk olyan programot, amelyben két billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált. Ütközés?

Készítsünk olyan programot, amelyben tetszőleges számú billiárdgolyó halad egy téglalapban, és az oldalaknál irányt vált. Ütközés?

Page 6: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Információs környezet

Információs környezet: Pont, Egyenes, Kör: Sík Játékos, Bomba: Szoba Biliárdgolyók: Biliárdasztal

Legalapvetőbb jellemzők ismerheti a tulajdonságait ismerheti az elemek viszonyait felelős a hatások átviteléért: közeg ismerheti a benne elhelyezkedő elemeket

Page 7: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Információs környezet

„design pattern”

tradícionális OO egyszerű kiegészítése

szemlélet: OO: alkalmazás széttöredezése objektumokra Információs környezetek: viszonyokban való

gondolkodás

Page 8: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Példák

JavaScript: „külső”-„belső” objektumok

Java belső osztályok: elérik a külső objektum attribútumait és műveleteit

BeanContext: a környezetek szolgáltatásokat definiálhatnak

Page 9: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

II. Jellemzők

Page 10: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

A szerkezet…

a csomag-hierarchiákhoz hasonlóak, de változókkal és műveletekkel („szolgáltatásokkal”) is rendelkeznek Java csomag: nem alkalmas

általában hierarchikus, ritkább esetben „dag” szerkezetet alkotnak JScript: hierarchikus objektum-rendszer

az alkörnyezet eléri a tartalmazó „szülő” környezet(ek)et JScript

egyetlen elem is tekinthető környezetként külső környezet elérhetőségének biztosítása

Page 11: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Viszonyok...

A környezet definiálhatja az objektumok közötti viszonyokatstatikus metódus: „konstans” viszonynem statikus metódus (szűrési lehetőség):

átdefiniálhatókörnyezeti változók/más elemek

Egyetlen elem adott tulajdonsága

Page 12: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Attribútumok…

a környezeteknek lehetnek aktuális értékeik, pl. az aktuálisan kezelt üzleti objektumok

a környezetek alapértelmezésként elérik a külső környezet aktuális értékeit, ill. átdefiniálhatják azokat

Page 13: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Műveletek…

A környezeteken keresztül elérhetők szolgáltatások (műveletek) A környezethez kapcsolódó szolgáltatásnak célszerű

transzparensnek lenni: a környezetben meg kell ismételni a műveletet és a hívást delegálni kell

Az alkörnyezet elérheti a külső szolgáltatásait az alkörnyezetben célszerű megismételni a műveletet és a

hívást delegálni kell

Az alkörnyezet újabb szolgáltatásokat definiálhatAz alkörnyezet átdefiniálhatja a külső szolgáltatásait

Page 14: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Származtatás-tartalmazás…

Attribútumok: a környezetek alapértelmezésként elérik a külső

környezet aktuális értékeit, ill. átdefiniálhatják azokat

Szolgáltatások: Az alkörnyezet elérheti a külső szolgáltatásait Az alkörnyezet újabb szolgáltatásokat definiálhat Az alkörnyezet átdefiniálhatja a külső

szolgáltatásait

Page 15: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Elemek és hatások…

Ismerhetik az elemeket

A környezetek alkalmasak a hatások átvitelére, ill. esetleges szűrésére

EseménykezelésBubbling: DOM2

Page 16: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

III. Információs környezetek a fejlesztésben

Page 17: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Ipari minőségű szoftver

környezetek: architektúra vázlépéssorozategzakt,egyszerűen alkalmazható

áttekinthető technológiafüggetlen rétegskálázható design

Page 18: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

ApplicationService

Service

Service

ModuleModule Service

Service

Model

UIModel

UI

Model

UI ServiceModule

Page 19: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Alkalmazás ("videon")

VideonBase

VideonData Service

Service

Videon

VideonBaseTools

.sql.VideonData

VideonSqlData facade

működtetés

Business rules/procs

Service

Service

Page 20: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Alkalmazás - kliens

VideonBase

VideonData Service

Service

Videon

VideonClientTools

.ejb.VideonData

Videon Service

Service

Page 21: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Működtetés

Alkalmazás/ModulokElérik a felsők definícióit

Model (konkrét)EseménykezelésAktuális értékek (property-change jellegű)

Model

UI

Model

UI

Service

Page 22: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

ApplicationService

Service

Service

ModuleModule Service

Service

Model

UI

Model

UI

Model

UI

ServiceModule

Page 23: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Business Facade:Business Rules

Környezetek alapján elhelyezésData Acces Facade

Data Facade + Data ItemTechnológiafüggetlen elérés + Scalable Design

Page 24: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

import xsys.*;

public interface Casette extends Entity {

public String getCode(); public void setCode( String code );

public Date getBorrowDate(); public void setBorrowDate( Date borrowDate ); public Movie getMovie(); // Kapcsolat! public void setMovie( Movie movie );

public Customer getCustomer(); // Kapcsolat! public void setCustomer( Customer customer );}

Page 25: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

public interface Movie extends xsys.Entity { public String getTitle(); public void setTitle(String title);

public String getOriginalTitle(); public void setOriginalTitle(String originalTitle);

public String getDistributor(); public void setDistributor(String distributor);

public int getReleaseDate(); public void setReleaseDate(int releaseDate); public String getReleaseDateString(); public void setReleaseDate(String releaseDate);

public String getDirector(); public void setDirector(String director);

public String getActors(); public void setActors(String actors);

public Casette eachCasette(); // több multiplicitás

public Advance eachAdvance(); // több multiplicitás}

Page 26: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

public interface Entity extends java.util.Iterator { public Object id(); // id public void save();

public int size(); // Collection-like public boolean isEmpty(); public void removeAll(); public void add(Object data); public void remove(Object data);

public boolean hasNext(); // Iterator/Cursor public Object next(); public void remove();}

Page 27: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Használat

Movie movie=videon.getMovie(movieId);//for(Movie movie=videon.eachMovie(); movie.hasNext(); ){ movie.next(); ... if(…) movie.remove(); … } //movie.eachCasette().add( videon.createCasette( code ) );//movie.eachCasette().removeAll();//customer.eachCasette().isEmpty()

Page 28: Információs környezetek  a szervezésben és a tervezésben

www.xsys.hu

Data Access Facade Teljes: összes strukturális művelet Kiterjesztés elemi adatokra ( Values ) Legalapvetőbb nyelvi eszközök Minimális redundancia! Tiszta („elvi”) kép a kliens/BusinessLayer felé Scalable Design

közvetlen adatelérés (JDBC) távoli adatelérés (RMI) J2EE EJB

Page 29: Információs környezetek  a szervezésben és a tervezésben

[email protected]

Köszönöm a figyelmet!