Paraula llana

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en catalán con un tamaño de 20,17 KB

Diagrames d’interacció:


L’execució d’un programari orientat a objectes és una seqüència d’operacions i canvis d’estat d’objectes. Els diagrames d’interacció s’utilitzen per descriure els casos d’ús en termes d’objectes i missatges entre objectes.

Interaccions:

Interacció és com funciona un cas d'ús o operació en termes de missatges entre objectes. Aquests missatges són peticions o senyals i la seqüència d'aquests mensajes es diu fil d'execució.

Col·laboració:

estructura que relaciona diferents objectes en una interacció. Això inclou papers, classificadors i associacions entre objectes. La col·laboració garanteix la coherència entre el model estàtic i les accions específiques en els casos d'ús. Es pot definir a partir de classificadors o instàncies. En algunes ocasions, es pot desitjar representar un grup d'objectes que tenen el mateix paper en una associació, i que aquest paper té una multiplicitat més gran que 1. Això significa que hi ha més d'un objecte que ocupa aquest paper en aquesta associació. En aquest cas, es pot utilitzar un multi objecte per representar aquest conjunt d'objectes amb el mateix paper en una associació. UML ofereix 3 diagrames per representar interaccions i col·laboracions:


-

El diagrama de comunicació: Posa l’èmfasi en la descripció de la col·laboració.


-

El diagrama de seqüència, que posa l’èmfasi en la successió temporal de missatges en una interacció.

-

El diagrama d’activitats, que serveix per a descriure els estats d’una activitat.

Diagrama de seqüència:

Són una forma de representar la interacció entre diferents objectes o classes en un sistema. A diferència dels diagrames de col·laboració, no mostra explícitament el paper de les associacions, però sí que representa el pas del temps i la durada dels missatges. El temps es representa cap avall i no està necessàriament a escala. Els diferents papers dels classificadors es representen en franges successives en horitzontal. Els missatges circulen d'esquerra a dreta i les respostes a l'inrevés. La línia de vida simbolitza l'existència del paper en un determinat període de temps, i es representa per una línea vertical discontinua que va desde la creació fins a la destrucció de l'objecte. La destrucció d'un objecte es representa posant una X al final de la línia de vida. Un objecte durant la seva vida pot tenir diferents constructors en funció de les condicions. Les activacions són moments en els quals un objecte o altres objectes realitzen accions en resposta a un missatge enviats. Aquests missatges són representats en el diagrama de col·laboració amb fletxes. Les crides reflexives són representades amb un requadre desplaçat.L'ordre d'execució es mostra en el temps, de dalt a baix.


-

No s'indiquen els números de seqüència perquè estan implícits.


-

Poden sortir dues fletxes d'un mateix punt d'activació si s'envien dos missatges alhora.


-

Els missatges de retorn es representen amb una línia discontínua. Els diagrames de casos d'ús, ens presenten una vista externa del sistema. Els diagrames d’interacció, que inclouen els de seqüència, descriuen com els casos d'ús es realitzen (es fan realitat) com a interacció entre conjunts d’objectes. Els diagrames de seqüència mostren la comunicació entre diferents objectes a través del temps. Es representa l'ordre en què es produeixen els missatges i el temps és una dimensió explícita en el diagrama. Cada objecte es representa amb una línia vertical diferent. Els diagrames de seqüència són una vista gràfica d'un escenari d'interacció entre objectes en un ordre temporal, i es poden crear a partir d'un cas d'ús descrit. 

Elements del diagrama:


Actors i objectes →

Elements que es comuniquen. Com que tant els actors com els objectes són instàncies, es fa servir la nomenclatura d’objecte amb els dos punts i el nom subratllat.
Línies de vida → són una representació gràfica de la vida dels objectes o actors en un diagrama. Mostren el temps des de dalt cap avall, i es fan gruixudes en el moment en què l'objecte està executant una operació. Quan un objecte deixa d'existir, es posa una aspa al final de la línia per indicar aquest punt. 

Missatges →

Es representen amb fletxes que van de emissor a receptor i estan etiquetades amb el missatge que s'envien. La recepció d'un missatge fa que l'objecte inici la seva activitat. El retorn de la crida s'indica amb una fletxa a traços. Només és necessari posar-ho si volem fer explícit què es retorna. Si no, es pot suposar que retorna quan la zona activa del receptor acaba. 

Estructura de control:

Els diagrames de seqüència permeten fer servir algunes estructures de control. Quan fem servir estructures de control no estem representant només un escenari, ho estem generalitzant. 

Creació i destrucció

A vegades un objecte pot crear o eliminar un altre objecte. Això cal representar-ho com a missatges especials. Un missatge de creació no apunta a una zona activa de la línia de vida, sinó que apunta a l'objecte mateix (ha d'estar més avall que els altres). El missatge de destrucció apunta cap a una aspa al final de la línia de vida que representa el final de la vida de l'objecte. 

Diagrames de Seqüència vs. Col·laboració

El diagrama de col·laboració és, com el diagrama de seqüència, una altra realització dels casos d'ús. Són una combinació dels diagrames d'objecte i els de seqüència.


Diagrama d’activitats:


El diagrama d'activitats és una eina utilitzada per descriure els estats d'una activitat, que són les accions seqüencials o concurrents que poden implicar diferents classificadors. Aquest diagrama comparteix elements amb altres tipus de diagrams com els de col·laboració, estats i interacció. Alguns dels elements específics que es poden incloure en un diagrama d'activitats són: 

- Estats d'acció - Flux d'objectes - Estats de flux d'objectes - Estats de subactivitat - Swimlanes - Icones de control.

Els diagrames d'activitats són utilitzats per capturar els fluxos d'activitats i les seqüències de decisions. Són útils per representar el comportament intern d'un mètode, un cas d'ús o un procés de negoci. Es poden considerar com una extensió dels diagrames d'estats, però inclouen altres elements com punts de decisió, camins d'execució concurrents, senyals amb punts d'enviament i recepció explícits, i objectes afectats per les accions. 

Activitats i transicions:

En un diagrama d'activitats, les activitats estan connectades per transicions automàtiques. Quan una activitat acaba, es desencadena el pas a la següent activitat de manera automàtica. Les activitats no tenen transicions internes ni transicions desencadenades per esdeveniments. El diagrama d'activitats representa una màquina d'estats en la qual els estats són l'execució d'accions o subactivitats i les transicions es disparan per la finalització d'aquestes. Així, el diagrama d'activitats representa la màquina d'estats d'un procediment. 

Ramificacions i fusions

Una ramificació en un diagrama d'activitats és una divisió en dos fils alternatius del fluxe d'activitats. La decisió sobre quin fil seguir es basa en una condició especificada en cada connexió sortint de la ramificació. La fusió és la uníó de dos fils alternatius en un sol fil. Les ramificacions i les fusions es representen amb un rombus buit en el diagrama d'activitats. 

Divisions i unions

Les barres de sincronització en un diagrama d'activitats permeten dividir el fluxe d'activitats en diversos fils i després ajuntar-los de nou, però a diferència de les ramificacions i fusions, aquests fils són concurrents en lloc de ser alternatius. Això significa que sempre s'executaran els dos fils al mateix temps. Les barres de sincronització són útils per representar activitats que ocorren de manera concurrent en el diagrama d'activitats. 

Carrils o swimlanes →

En un diagrama d'activitats serveixen per separar les activitats que realitzen diferents objectes o actors. Les línies gruixudes divideixen el diagrama en carrils i a cada carril s'hi posen només les activitats que farà l'actor o objecte a qui pertany el carril. 

Flux d'objectes: entrades i productes →

Aquests objectes es poden afegir al diagrama amb les convencions del diagrama d'objectes i es poden relacionar amb les activitats utilitzant fletxes que indiquen el flux d'objecte.


Diagrama de cas d’ús:


Serveixen per mostrar les funcions d’un sistema de programari des del punt de vista de les seves interaccions amb l’exterior i sense entrar en la implementació detallada de les funcions en qüestió. S’utilitzen en la recollida de documentació i en la fase d’anàlisi.

Actors:

La finalitat d’un programari és proporcionar informació a persones, màquines o dispositius externs en general. Un actor és un conjunt de papers d’una entitat exterior en relació amb el sistema de programari considerat. Per ser actor, una entitat exterior ha de complir dues condicions: - Ser autònom respecte el programari - Tenir relació directa amb el programari. Un actor és classificador. Si un conjunt d’entitats exteriors fan el mateix paper les representarem amb un mateix actor. Els actors poden tenir relacions de especialització o generalització mitjançant herència (Un actor A és una especialització d’un actor B si fa almenys tots els papers de B).

Cas d’ús:

Representa una interacció entre el programari i un actor o més. La interacció ha de ser una funció autònoma dins del programari. Són un cas particular de classificadors, poden tenir atributs i operacions. Entre casos d’us i actors hi ha associacions que representen el paper de l’actor. L’actor principal és qui demana la funció del programari. Hi ha tres tipus de relacions: -

Relació d’extensió →

El cas dús A estén al B si dins de B s’executa A, quan es compleix una condició determinada. -

Relació d’inclusió →

Un cas d’ús A està inclòs dins dels casos d’ús B, C, …, si és una part de procés comuna a tots aquests. El cas d’ús A no és autònom (no té actor primari) i sempre s’engega des d’un altre cas d’ús. Permet la reutilització.

- Relació de generalització i especialització →

Un cas d'ús A és una especialització d’un B si A fa tot el que fa B, més algún procès específic. Normalment no s’utilitzen els símbols de classificadors. Els estereotips extends i include s’utilitzen per les relacions d’extensió i d’inclusió respectivament:

Diagrama de casos d’ús (cas d’ús + actors):

Podem crear les associacions convenients entre actors i casos d’ús: En el cas que representem tots els casos d’ús d’un sistema, els podem emmarcar amb un quadrat i un títol o bé amb un oval, pel sistema contenidor dels casos d’ús.

Diagrames d’estat:


Anàlisi i disseny Orientat a Objectes:

Fem  servir conceptes i notacions UML. Els diagrames UML es poden classificar en 3 grups:

- Model estàtic →

Descriu l’estructura de classes i objectes. -

Model dinàmic →

Defineix les interrelacions entre objectes.     

- Model d’implementació →

Descriu el programari en termes de comportament i la seva ubicació.

Introducció:

Quan el comportament d’un objecte varía diem que aquest objecte té estats. Aquest diagrama és molt important per exemple en les aplicacions en temps real.

Conceptes: -

Els objectes i sistemes a cada instant están en un estat concret. - L’estat actual d’un objecte determina el seu comportament futur. - Els canvis d’estats en UML es diuen transicions. - La transició entre estats és deguda a un esdeveniment.
- Els diagrames serveixen per modelar el comportament d’objectes i sistemes. - Els diagrames de Harel a UML permeten que un objecte o sistema pugui estar en dos estats a la vegada.

Notació:

En un diagrama d’estat, els estats es representen per rectangles arrodonits. Els noms dels estats no es poden repetir, ha de ser únic. Aquests rectangles poden tenir tres compartiments: - Nom de l’estat. - Valors característics. - Accions que s’executen a l’entrar, mentres està o al sortir de l’estat. Estat inicial (rodona negre), estat final (rodona blanca y negre).

- Transicions →

Fletxes que van d’un estat a l’altre: OJ39YEMYbiSX4sVx-3rkOaiaCgxy1f42mPcF7yt8RBtfZ3YNoozM0jYjphW2QS3s2lsvIxBarkG-TKir1MYjgbNi7WsYs8wBd9i5buz0_ElTiHWD7PMx5tHPERomga310MgK6N1MJpgDkvtDsgxBLLw - Els noms dels esdeveniments que disparen les transicions s’escriuen al costat de les fletxes: i9RktDe8bS5yTzoqhAynRhbXrtFr7hnBJbLCylPbPCbxQMyRB5U0M2ylxHrXt_POn65NPxhdxGc5EfSw7xCYS-vFpNFSXF9b6BjtpBeEDUU6bGV9qim-AQIYy5dqx5_bNemCyTQBsLqJ8zJZvMBFpDA     - Pot ser que una transició comporti una acció, que s’indica per /acció: E85pDNBcc78Pib34PkuxKbwjhWp4RBJH2lv4Kx3eDpNVWG3sHuhV62FRApE0E3kH2Hhv0iDHWD5bT6mY_6t5WTYq8UibKpo6_HXcvJB9YB85oX0fM7d09nvj8ob-m5YdEO-RAHDMnYc-bHRryyjP0Tg- Una acció pot anar precedida d’una  condició de guarda, es representa així: DrTg-4Y-02sNQNUAin7PQJ4dNpxRPGY1at55M4HyRuaaWiS89l7Yk9EeQo1cBjyR-ZeSHtNnJfFRuKYD-BHFZWjWfnMXLi4slSFRf8Nc4EGcE1BcPHWMSCMRXXKkv-JQFl3G3rAkZ8ZwsNrGMBidmgsPodem tenir una, diverses o cap accions, l’ordre d’aquestes especifica l’ordre d’execució.

Diagrames d’estat i modelat d’objectes:

L’estat d’un objecte està determinat pels valors dels seus atributs. Aquests diagrames serveixen per especificar tots els estats pels quals pot passar un objecte. La dinàmica d’un sistema està determinada per: - Tots els possibles estats que poden tenir els objectes. - Totes les seqüències dels esdeveniments possibles. -Totes les transaccions possibles d’un estat a un altre, conseqüències dels esdeveniments que afecten els objectes. Podem fer servir un diagrama d’estat per a modelar la dinàmica d’un sistema.

Estat →

Situació determinada de la vida d’un objecte, durada d’una interacció durant la qual es compleix una condició, es duu a terme alguna acció o s’espera algun esdeveniment. -

Transició simple →

Consisteix en què un objecte o interacció passa d’un estat a un altre (estat d’origen → estat destinació). La transició es dona quan hi ha un esdeveniment més d'una condició. Poden tenir d’entrada i de sortida.


 
- Transició interna → pseudo transicions en les quals no hi ha canvis d’estat. Serveixen per especificar accions que s’han d’executar en resposta a esdeveniments que no provoquen cap canvi d’estat.  -
Acció → És l’especificació d’un procès atòmic (que s’executa totalment o no s’executa). D’una transició una acció o més. Es poden descriure mitjançant procediments. -

Senyal →

Els objectes poden rebre peticions d’operacions o senyals. Les senyals no fan cap procés i només poden produir esdeveniments a diferència de les operacions. Els esdeveniments provoquen transicions què són capaces de cridar accions: senyal → esdeveniment → transicions → accions -

Esdeveniments →

Fets que quan es produeixen provoquen transicions d’un estat a un altre. També es poden donar determinades accions. Cada esdeveniment té nom i paràmetres. Han de ser tractats a no ser que es declari diferit. Poden ser síncron o asíncron. -

Tipus d’esdeveniment: - De crida →

Es produeixen quan es crida una operació d’un objecte. -

De senyal →

Es produeix quan es rep una senyal. -
De canvi → És una notificació que una determinada condició ha esdevingut certa. -

De temps →

Representa que ha passat un determinat temps o que és una determinada hora. - Hi ha uns esdeveniments anomenats interns que són falsos esdeveniments perquè estan connectats a un estat en lloc d'una transició. Serveixen per iniciar accions que no estan relacionades amb cap canvi d'estat. Entrada, sortida o acció.

- EI.Entrada:

Es produeixen quan l'objecte entra en l'estat corresponent. No tenen paràmetres ni condicions, i es reconeixen amb la paraula "entry".

- EI.Sortida:

Es produeixen quan l'objecte surt de l'estat i es reconeixen amb la paraula "exit".

- EI.Acció:

Es produeixen les accions que es generen quan s'arriba a un estat determinat, i desapareixen en el moment de sortir d'ell. Es declaren amb la paraula "do". 

Sintaxi: -

La signatura de l’esdeveniment, dependrà del seu tipus: -

Crida/Senyal:

nom_esdeveniment (nom_parametre: exp_tipus, …)

- De temps (1):

after(expressio_de_temps) on after és la durada. 

Condició de guarda:

Expressió que pot prendre el valor de cert o fals, determina quan es compleix l’esdeveniment. -

Tramesa:

Pren la forma destinació ‘.’’missatge’(‘argument’,’...’), on destinació pot ser un o més objectes i missatge és una operació de l’objecte de destinació o una senyal. Per definir una senyal, ho podem fer com una clase que no té operacions ni relacions i que només té com a atribut els paràmetres de senyal.

Exemple d’esdeveniment:

introduïr_targeta [targeta=valida] / obrir_porta ^ registrar_entrada. IntroduÏr_targeta[targeta=valida] / defer obrir_porta ^ registrar_entrada (ho deixa per més endavant: diferit).

Transicions complexes:

Un objecte o interacció pot tenir més d'un estat al mateix temps, i hi pot haver més d'una transició sortint d'un estat i més d'una transició arribant a un estat. Per fer això, s'utilitza un estat fals anomenat sincronització o bifurcació. 

Estats compostos:

Un estat compost és com un estat amb moltes parts dins seu. Aquestes parts poden ser estats simples o altres estats compostos.
Els estats compostos tenen un dibuix amb les parts dins seu, que poden ser al mateix temps (concurrents) o una després de l'altra (seqüencials). Es representa com un estat simple però amb dos compartiments.

Entradas relacionadas: