Lenguaje de modelado



Descargar 78,72 Kb.
Fecha de conversión21.08.2017
Tamaño78,72 Kb.
Programación Orientada a objetos (UML)


Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.




Diagramas


Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:



  • Diagrama de clases

  • Diagrama de componentes

  • Diagrama de objetos

  • Diagrama de estructura compuesta (UML 2.0)

  • Diagrama de despliegue

  • Diagrama de paquetes

Los Diagramas de Comportamiento enfatizan en lo que debe suceder en el sistema modelado:

Los Diagramas de Interacción son un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado:

  • Diagrama de secuencia

  • Diagrama de comunicación, que es una versión simplificada del Diagrama de colaboración (UML 1.x)

  • Diagrama de tiempos (UML 2.0)

  • Diagrama global de interacciones o Diagrama de vista de interacción (UML 2.0)

Modelado y Programación Orientada a Objetos (UML)

El modelado, o modelo de objetos, describe los conceptos principales de la orientación a objetos: las estructuras estáticas y sus relaciones. Las principales estructuras estáticas son los objetos y clases, los cuales están compuestos

de atributos y operaciones, mientras que las principales relaciones entre objetos y entre clases corresponden a las ligas y asociaciones, respectivamente. Estos temas y otros serán descritos en este capítulo, en término de los objetos, clases, atributos, operaciones, asociaciones, composición, herencia y módulos.

4.1 Objetos

Los objetos son las entidades básicas del modelo de objeto. La palabra objeto proviene del latín objectus, donde ob significa hacia, y jacere significa arrojar; o sea que teóricamente un objeto es cualquier cosa que se pueda arrojar.

Ejemplo: Una pelota o un libro se pueden arrojar, por lo tanto estos son objetos.

Los objetos son más que simples cosas que se puedan arrojar, son conceptos pudiendo ser abstractos o concretos.

Ejemplo: Una mesa es un objeto concreto, mientras que un viaje es un objeto abstracto.

Los objetos corresponden por lo general a sustantivos, pero no a gerundios.

Los objetos deben ser entidades que existen de forma independiente. Se debe distinguir entre los objetos, los cuales

contienen características o propiedades, y las propias características.

Ejemplo: El color y la forma de una manzana no se consideran propiamente objetos, sino propiedades del objeto

manzana. El nombre de una persona se considera una propiedad de la persona.

Programación orientada a objetos y diagramas UML

Una recopilación de como construir clases en PHP junto a un diagrama de la relación UML. Útil para ir obteniendo nociones sobre el modelado del código.



Herencia

Indica que una clase hereda todos los atributos y métodos de otra, hay que tener en cuenta que en el diagrama UML el triangulo toca al padre:

class Senior {
}

class Junior extends Senior {


}



Agregación

Es cuando una clase puede es parte de otra, con lo cual esta primera clase tendrá acceso a los métodos de la segunda. Al haber sido instanciada fuera de la segunda, aunque esta muera la primera seguira viviendo. Se les conoce como clases “Data Access”, y se dice que la primera clase controla parte de la segunda. Se relacionan con un diamante que toca la clase controlada

class Dao {

function getSomething() {

}

}

class Model {



var $dao;

function Model (& $dao) {

$this->dao=& $dao;

}

function doSomething () {



$this->dao->getSomething();

}

}



$dao=new Dao;

$model=new Model($dao);

$model->doSomething();

Composición

Es cuando una clase instancia a otra, esta segunda instancia moriria con la primera, esto significa que la primera clase controla a toda la segunda, se representa con un solido diamante tocando a la clase controlada.

class LinkWidget {

}

class View {



var $linkWidget;

var $page;

function View () {

$this->linkWidget=new LinkWidget;

}

function renderPage () {



$this->page=$this->linkWidget->display()

}

}




Mensajes

Es cuando una clase comunica a otra que está controlando una instancia suya. En php suele emplearse el operador scope. Que sirve para hacer referencias a métodos de clases que no estan instanciadas.

class HtmlUtils {

function unHtmlEntities ($str) {

$trans_tbl =

get_html_translation_table (HTML_ENTITIES);

$trans_tbl = array_flip ($trans_tbl);

return strtr ($str, $trans_tbl);

}

}

class View {



function renderPage {

$text=HtmlUtils::unHtmlEntities($text);

}

}


Existe otra variante de esta relación, donde el mensaje se envia mutuamente entre las dos clases, un ejemplo de código:

class Debug {

function display () {

echo ($this->errorMsg);

}

}



class SomeClass {

var $errorMsg='This is an error message';

function someFunction () {

if ( DEBUG == 1 ) {

Debug::display();

}

}



}

define ('DEBUG',1);



$someClass= &new SomeClass;

$someClass->someFunction();


Compartir con tus amigos:


La base de datos está protegida por derechos de autor ©absta.info 2019
enviar mensaje

    Página principal