Escolar Documentos
Profissional Documentos
Cultura Documentos
TAPACHULA
11 DE SEPTIEMBRE DE 2016
INTRODUCION.
El trmino lenguaje ha generado bastante confusin respecto a lo que es
UML. En realidad el trmino lenguaje quizs no es el ms apropiado, ya que no
es un lenguaje propiamente dicho, sino una serie de normas y estndares
grficos respecto a cmo se deben representar los esquemas relativos al
software. Mucha gente piensa por confusin que UML es un lenguaje de
programacin y esta idea es errnea: UML no es un lenguaje de programacin.
Como decimos, UML son una serie de normas y estndares que dicen cmo se
debe representar algo.
La programacin orientada a objetos o POO, como bien sabemos, es un
paradigma de programacin cuyo manejo hoy se considera de los
conocimientos ms importantes para desarrollar software. En resumen, la
tcnica consiste en hacer abstracciones de los conceptos ms importantes de
un problema y representarlos en unidades llamadas objetos. En ellos se
representan las caractersticas de la abstraccin y su comportamiento.
Para desarrollar programas eficientes con esta tcnica, es necesario conocer
algunas reglas importantes al respecto, puesto que no es slo importante
conocer la construccin correcta de los objetos sino tambin la relacin que
tienen entre ellos. Un buen diseo de POO significa que a la hora de darle
mantenimiento al programa, va a ser mucho ms entendible y sencillo adems
de tener alta facilidad para hacer cambios.
Para ayudarnos con estas reglas, el profesional en software Robert Cecil
Martin, ha inventado el acrnimo S.O.L.I.D. que en ingles cada letra representa
un principio de la POO
Vistas:
Las vistas muestran diferentes aspectos del sistema modelado. Una vista no es
una grfica, pero s una abstraccin que consiste en un nmero de diagramas y
todos esos diagramas juntos muestran una "fotografa" completa del sistema.
Las vistas tambin ligan el lenguaje de modelado a los mtodos o procesos
elegidos para el desarrollo. Las diferentes vistas que UML tiene son:
Diagramas:
Los diagramas son las grficas que describen el contenido de una vista. UML
tiene nueve tipos de diagramas que son utilizados en combinacin para proveer
todas las vistas de un sistema: diagramas de caso de uso, de clases, de
objetos, de estados, de secuencia, de colaboracin, de actividad, de
componentes y de distribucin.
Tipos de diagramas:
Diagramas de estructura
2) Diagramas de comportamiento
Anlisis de Requerimientos
UML tiene casos de uso (use-cases) para capturar los requerimientos del
cliente. A travs del modelado de casos de uso, los actores externos que tienen
inters en el sistema son modelados con la funcionalidad que ellos requieren
del sistema (los casos de uso). Los actores y los casos de uso son modelados
con relaciones y tienen asociaciones entre ellos o stas son divididas en
jerarquas. Los actores y casos de uso son descritos en un diagrama use-case.
Cada use-case es descrito en texto y especifica los requerimientos del cliente:
lo que l (o ella) espera del sistema sin considerar la funcionalidad que se
Anlisis
La fase de anlisis abarca las abstracciones primarias (clases y objetos) y
mecanismos que estn presentes en el dominio del problema. Las clases que
se modelan son identificadas, con sus relaciones y descritas en un diagrama de
clases. Las colaboraciones entre las clases para ejecutar los casos de uso
tambin se consideran en esta fase a travs de los modelos dinmicos en
UML. Es importante notar que slo se consideran clases que estn en el
dominio del problema (conceptos del mundo real) y todava no se consideran
clases que definen detalles y soluciones en el sistema de software, tales como
clases para interfaces de usuario, bases de datos, comunicaciones,
concurrencia, etc.
Diseo
En la fase de diseo, el resultado del anlisis es expandido a una solucin
tcnica. Se agregan nuevas clases que proveen de la infraestructura tcnica:
interfaces de usuario, manejo de bases de datos para almacenar objetos en
una base de datos, comunicaciones con otros sistemas, etc. Las clases de
dominio del problema del anlisis son agregadas en esta fase. El diseo resulta
en especificaciones detalladas para la fase de programacin.
Programacin
En esta fase las clases del diseo son convertidas a cdigo en un lenguaje de
programacin orientado a objetos. Cuando se crean los modelos de anlisis y
diseo en UML, lo ms aconsejable es trasladar mentalmente esos modelos a
cdigo.
Pruebas
Normalmente, un sistema es tratado en pruebas de unidades, pruebas de
integracin, pruebas de sistema, pruebas de aceptacin, etc. Las pruebas de
unidades se realizan a clases individuales o a un grupo de clases y son
tpicamente ejecutadas por el programador. Las pruebas de integracin
integran componentes y clases en orden para verificar que se ejecutan como
se especific. Las pruebas de sistema ven al sistema como una "caja negra" y
validan que el sistema tenga la funcionalidad final que le usuario final espera.
Las pruebas de aceptacin conducidas por el cliente verifican que el sistema
satisface los requerimientos y son similares a las pruebas de sistema.
S.O.L.I.D.
Solid es un acrnimo inventado por Robert C.Martin para establecer los
cinco principios bsicos de la programacin orientada a objetos y diseo.
Este acrnimo tiene bastante relacin con los patrones de diseo, en
especial, con la alta cohesin y el bajo acoplamiento.
El objetivo de tener un buen diseo de programacin es abarcar la fase de
mantenimiento de una manera ms legible y sencilla as como conseguir
crear nuevas funcionalidades sin tener que modificar en gran medida
cdigo antiguo. Los costes de mantenimiento pueden abarcar el 80% de
un proyecto de software por lo que hay que valorar un buen diseo.
utiliza y nos pilla ms a mano. En ese momento pensamos "Ya que estamos
aqu, para que voy a crear una clase para realizar esto. Directamente lo
pongo aqu".
El problema surge cuando tenemos la necesidad de utilizar ese mismo
mtodo desde otra clase. Si no se refactoriza en ese momento y se crea
una clase destinada para la finalidad del mtodo, nos toparemos a largo
plazo con que las clases realizan tareas que no deberan ser de su
responsabilidad.
Con la anterior mentalidad nos encontraremos, por ejemplo, con un
algoritmo de formateo de nmeros en una clase destinada a leer de la
base de datos porque fue el primer sitio donde se empez a utilizar. Esto
conlleva a tener mtodos difciles de detectar y encontrar de manera que el
cdigo hay que tenerlo memorizado en la cabeza.
O-Abierto/Cerrado (Open/Closed)
Principio atribuido a Bertrand Meyer que habla de crear clases
extensibles sin necesidad de entrar al cdigo fuente a modificarlo. Es
decir, el diseo debe ser abierto para poderse extender pero cerrado
para poderse modificar. Aunque dicho parece fcil, lo complicado es
predecir por donde se debe extender y que no tengamos que
modificarlo. Para conseguir este principio hay que tener muy claro
como va a funcionar la aplicacin, por donde se puede extender y
como van a interactuar las clases.
El uso ms comn de extensin es mediante la herencia y la
reimplementacin de mtodos. Existe otra alternativa que consiste en
utilizar mtodos que acepten una interface de manera que podemos
ejecutar cualquier clase que implemente ese interface. En todos los
casos, el comportamiento de la clase cambia sin que hayamos tenido
que tocar cdigo interno.
Como ya he comentado llega un momento en que las necesidades
pueden llegar a ser tan imprevisibles que nos topemos que con los
mtodos definidos en el interface o en los mtodos extensibles, no
CONCLUSION.
La finalidad de los diagramas es presentar
diversas perspectivas de un sistema, a las cuales
se les conoce como modelo. Recordemos que un
modelo es una representacin simplificada de la
realidad; el modelo UML describe lo que
supuestamente har un sistema, pero no dice
cmo implementar dicho sistema.
REFERENCIAS:
http://www.teatroabadia.com/es/uploads/docume
ntos/iagramas_del_uml.pdf
http://joaquinoriente.com/2014/07/09/uml-2cuantos-tipos-de-diagramas-existen/
https://www.video2brain.com/mx/tutorial/introdu
ccion-a-principios-solid
http://profesores.fib.unam.mx/carlos/aydoo/uml.html
https://jorgeluispattoni.wordpress.com/2011/08/
22/s-o-l-i-d-los-principios-de-la-programacionorientada-a-objetos/
http://elvex.ugr.es/decsai/java/pdf/3E-UML.pdf