Documente Academic
Documente Profesional
Documente Cultură
1
MODELOS DEL PROCESO DEL SOFTWARE
2
MODELOS DEL PROCESO DEL SOFTWARE
Introduccin
El lenguaje UML
4
MODELOS DEL PROCESO DEL SOFTWARE
MODELADO VISUAL
Tal como indica su nombre, UML es un lenguaje de modelado. Un modelo es
una simplificacin de la realidad. El objetivo del modelado de un sistema es
capturar las partes esenciales del sistema. Para facilitar este modelado, se
realiza una abstraccin y se plasma en una notacin grfica. Esto se conoce
como modelado visual.
HISTORIA DE UML
El lenguaje UML comenz a gestarse en octubre de 1994 [1], cuando
Rumbaugh se uni a la compaa Rational fundada por Booch (dos reputados
investigadores en el rea de metodologa del software). El objetivo de ambos
era unificar dos mtodos que haban desarrollado: el mtodo Booch y el OMT
(Object Mode-lling Tool ). El primer borrador apareci en octubre de 1995. En
esa misma poca otro reputado investigador, Jacobson, se uni a Rational y se
incluyeron ideas suyas. Estas tres personas son conocidas como los "tres
amigos". Adems, este lenguaje se abri a la colaboracin de
otras empresas para que aportaran sus ideas. Todas estas colaboraciones
condujeron a la definicin de la primera versin de UML.
5
MODELOS DEL PROCESO DEL SOFTWARE
Qu es UML?
El Lenguaje Unificado de Modelado preescribe un conjunto de notaciones y
diagramas estndar para modelar sistemas orientados a objetos, y describe
la semntica esencial de lo que estos diagramas y smbolos significan.
Mientras que ha habido muchas notaciones y mtodos usados para el diseo
orientado a objetos, ahora los modeladores slo tienen que aprender una nica
notacin.
Las objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
Visualizar: UML permite expresar de una forma grfica un sistema de forma
que otro lo puede entender.
Especificar: UML permite especificar cules son las caractersticas de un
sistema antes de su construccin.
Construir: A partir de los modelos especifica-dos se pueden construir los
sistemas diseados.
Documentar: Los propios elementos grficos sirven como documentacin del
sistema desarrollado que pueden servir para su futura re-visin.
Aunque UML est pensado para modelar sistemas complejos con gran
cantidad de software, el lenguaje es los suficientemente expresivo como para
modelar sistemas que no son informticos, como flujos de trabajo (workflow )
en una empresa, diseo de la estructura de una organizacin y por supuesto,
en el diseo de hardware.
Un modelo UML est compuesto por tres clases de bloques de construccin:
Elementos: Los elementos son abstracciones de cosas reales o ficticias
(objetos, acciones, etc.)
Relaciones: relacionan los elementos entre s.
Diagramas: Son colecciones de elementos con sus relaciones.
DIAGRAMAS UML
Un diagrama es la representacin grfica de un conjunto de elementos con sus
relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar.
Para poder representar correctamente un sistema, UML ofrece una amplia
6
MODELOS DEL PROCESO DEL SOFTWARE
7
MODELOS DEL PROCESO DEL SOFTWARE
8
MODELOS DEL PROCESO DEL SOFTWARE
UML no es un Mtodo
Aun as, UML no preescribe un proceso o mtodo estndar para desarrollar un
sistema. Hay varias metodologas existentes; entre las ms populares se
incluyen las siguientes:
Catalysis: Un mtodo orientado a objetos que fusiona mucho del trabajo
reciente en mtodos orientados a objetos, y adems
ofrece tcnicas especficas para modelar componentes distribuidos.
Objetory: Un mtodo de Caso de Uso guiado para el desarrollo, creado por
Ivar Jacobson.
Shlaer/Mellor: El mtodo para disear sistemas de tiempo real, puesto en
marcha por Sally Shlaer y Steven Mellor en dos libros de 1991, Ciclos de vida
de Objetos, modelando el Mundo en Estados y Ciclos de vida de Objetos,
Modelando el mundo en Datos (Prentice Hall). Shlaer/Mellor continan
actualizando su mtodo continuamente (la actualizacin ms reciente es el
OOA96 report), y recientemente publicaron una gua sobre cmo usar la
notacin UML con Shlaer/Mellor.
Fusion: Desarrollado en Hewlett Packard a mediados de los noventa como
primer intento de un mtodo de diseo orientado a objetos estndar. Combina
OMT y Booch con tarjetas CRC y mtodos formales.
(www.hpl.hp.com/fusion/file/teameps.pdf)
OMT: La Tcnica de Modelado de Objetos fue desarrollada por James
Rumbaugh y otros, y publicada en el libro de gran influencia "Diseo y
Modelado Orientado a Objetos" (Prentice Hall, 1991). Un mtodo que propone
anlisis y diseo "iterative", ms centrado en el lado del anlisis.
Booch: Parecido al OMT, y tambin muy popular, la primera y
segunda edicin de "Diseo Orientado a Objetos, con Aplicaciones" (Benjamin
Cummings, 1991 y 1994), (Object-Oriented Design, With Applications), detallan
un mtodo ofreciendo tambin diseo y anlisis "iterative", centrndose en el
lado del diseo.
9
MODELOS DEL PROCESO DEL SOFTWARE
10
MODELOS DEL PROCESO DEL SOFTWARE
con respecto al sistema, y las clases con las que necesitan colaborar para
completar sus responsabilidades.
Diagramas de Estado
El comportamiento en tiempo real de cada clase que tiene comportamiento
dinmico y significativo, se modela usando un Diagrama de Estado. El
diagrama de actividad puede ser usado tambin aqu, esta vez como una
extensin del diagrama de estado, para mostrar los detalles de las acciones
llevadas a cabo por los objetos en respuesta a eventos internos. El diagrama
de actividad se puede usar tambin para representar grficamente las acciones
de mtodos de clases.
Implementando el diseo
La implementacin del sistema trata de traducir informacin desde mltiples
modelos UML en cdigo y
estructura de bases de datos. Cuando se modela un sistema grande, es til
fragmentar el sistema en su capa "business" (incluyendo los objetos de la
interfaz de usuario), su capa de aplicacin (incluyendo los objetos de
implementacin), y su capa de datos (incluyendo la estructura de la base de
datos y el acceso a objetos).
Implementando la aplicacin
11
MODELOS DEL PROCESO DEL SOFTWARE
El Diagrama de Clase se usa para generar una estructura base del cdigo en el
lenguaje escogido.
Informacin de los diagramas de interaccin, estado, y actividad, puede ofrecer
detalles de la parte procedimental del cdigo de implementacin.
13
MODELOS DEL PROCESO DEL SOFTWARE
14
MODELOS DEL PROCESO DEL SOFTWARE
Diagramas de Secuencia
El Diagrama de Secuencia es uno de los diagramas ms efectivos para
modelar interaccin entre objetos en un sistema. Un diagrama de secuencia se
modela para cada caso de uso. Mientras que el diagrama de caso de uso
permite el modelado de una vista "business" del escenario, el diagrama de
secuencia contiene detalles de implementacin del escenario, incluyendo los
objetos y clases que se usan para implementar el escenario, y mensajes
pasados entre los objetos.
Tpicamente uno examina la descripcin de un caso de uso para determinar
qu objetos son necesarios para la implementacin del escenario. Si tienes
modelada la descripcin de cada caso de uso como una secuencia de varios
pasos, entonces puedes "caminar sobre" esos pasos para descubrir qu
objetos son necesarios para que se puedan seguir los pasos.
Un diagrama de secuencia muestra los objetos que intervienen en el escenario
con lneas discontinuas verticales, y los mensajes pasados entre los objetos
15
MODELOS DEL PROCESO DEL SOFTWARE
Diagramas de Colaboracin
El Diagrama de Colaboracin presenta una alternativa al diagrama de
secuencia para modelar interacciones entre objetos en el sistema. Mientras que
el diagrama de secuencia se centra en la secuencia cronolgica del escenario
que estamos modelando, el diagrama de colaboracin se centra en estudiar
todos los efectos de un objeto dado durante un escenario. Los objetos se
conectan por medio de enlaces, cada enlace representa una instancia de una
asociacin entre las clases implicadas. El enlace muestra los mensajes
enviados entre los objetos, el tipo de mensaje (sincrnico, asincrnico, simple,
blanking, y "time-out"), y la visibilidad de un objeto con respecto a los otros.
16
MODELOS DEL PROCESO DEL SOFTWARE
17
MODELOS DEL PROCESO DEL SOFTWARE
18
MODELOS DEL PROCESO DEL SOFTWARE
Diagramas de Actividad
El Diagrama de Actividad es un diagrama de flujo del proceso multi-propsito
que se usa para modelar el comportamiento del sistema. Los diagramas de
actividad se pueden usar para modelar un Caso de Uso, o una clase, o
un mtodo complicado.
19
MODELOS DEL PROCESO DEL SOFTWARE
diagrama de actividad.
20
MODELOS DEL PROCESO DEL SOFTWARE
21
MODELOS DEL PROCESO DEL SOFTWARE
Proceso de desarrollo
22
MODELOS DEL PROCESO DEL SOFTWARE
XL (lenguaje de programacin)
XL significa lenguaje eXtensible. Es el primer y hasta ahora el nico lenguaje
de programacin diseado para apoyar la programacin de conceptos . [1]
Idioma
XL se define en cuatro niveles diferentes:
Utilizar XL.TEXT_IO
WriteLn "Hola Mundo"
Importar IO = XL.TEXT_IO
IO.WriteLn "Hola Mundo"
0! -> 1
NORTE! -> N * (N - 1).
Sintaxis
La sintaxis se define en el nivel XL0. La fase XL0 del compilador se puede
configurar utilizando un archivo de descripcin de sintaxis, en el que se definen
propiedades como la representacin de texto y la precedencia de los
operadores. Un archivo de sintaxis bsico define anotaciones matemticas
comunes, como + para sumar, con el orden de operaciones
generalmente aceptado.
24
MODELOS DEL PROCESO DEL SOFTWARE
A = B + "Hola"
Se analiza como:
Infijo ("=",
Smbolo ("A"),
Infijo ("+",
Smbolo ("B"), texto ("Hola")))
Semntica de XL
La fase XL se define como una secuencia de operaciones en el rbol de
anlisis de XL0. Estas operaciones son proporcionadas por varios plug-ins del
compilador, que se activan en funcin de la forma del rbol de anlisis.
25
MODELOS DEL PROCESO DEL SOFTWARE
Traduccin ZeroRemoval
cuando
'X' + 0
entonces
Devolver X
cuando
'X' * 0
entonces
Regresar parse_tree (0)
Tipo de sistema
Un tipo genrico validado es un tipo genrico donde una condicin indica cmo
se puede utilizar el tipo. Tales tipos no necesitan parmetros genricos. Por
26
MODELOS DEL PROCESO DEL SOFTWARE
27
MODELOS DEL PROCESO DEL SOFTWARE
Tales formas escritas pueden tener ms de dos parmetros. Por ejemplo, una
transformacin lineal de la matriz se puede escribir como:
28
MODELOS DEL PROCESO DEL SOFTWARE
Iteradores [ editar ]
Importar IO = XL.UI.CONSOLE
Ancestry
29
MODELOS DEL PROCESO DEL SOFTWARE
Semntica
XLR es un lenguaje dinmico, originalmente pensado como un back-end para
el compilador XL1, de ah el nombre, que significa tiempo de ejecucin
XL. Comparte la sintaxis bsica de XL0 con XL1, pero su comportamiento es
mucho ms cercano a un lenguaje funcional, mientras que XL1 est destinado
a buscar principalmente como un lenguaje imperativo. XLR tiene prcticamente
slo un operador incorporado, "->", que denota una reescritura. La notacin a la
izquierda de la reescritura se transforma en la notacin a la derecha de la
reescritura.
30
MODELOS DEL PROCESO DEL SOFTWARE
Modelo RUP
31
MODELOS DEL PROCESO DEL SOFTWARE
Caractersticas
Dirigido por Casos de Uso: Los casos de uso son los artefactos
primarios para establecer el comportamiento deseado del sistema
Centrado en la Arquitectura: La arquitectura es utilizada para
conceptualizar, construir, administrar y evolucionar el sistema en desarrollo
Iterativo e Incremental:
Maneja una serie de entregas ejecutables
Integra continuamente la arquitectura para producir nuevas versiones
mejoradas
Conceptualmente amplio y diverso
En evolucin continua
Adaptable
Repetible
Permite mediciones:
Estimacin de costos y tiempo, nivel de avance, etc.
32
MODELOS DEL PROCESO DEL SOFTWARE
Inicio (Inception)
Elaboracin
Construccin
Transicin.
Conclusiones
33
MODELOS DEL PROCESO DEL SOFTWARE
Bibliografa
34