INGENIERÍA DE SOFTWARE - UNID · INGENIERÍA DE SOFTWARE 1 Sesión No. 10 Nombre: Diagramas de...
Transcript of INGENIERÍA DE SOFTWARE - UNID · INGENIERÍA DE SOFTWARE 1 Sesión No. 10 Nombre: Diagramas de...
INGENIERÍA DE SOFTWARE
INGENIERÍA DE SOFTWARE
1
Sesión No. 10 Nombre: Diagramas de comunicación Contextualización
Los diagramas son parte importante en el desarrollo de aplicaciones pues con
éstos se puede visualizar la forma en que funcionara una aplicación, además de
los elementos básicos que contendrá y la forma de lógica que lo regirá, cuando
el diagrama es muy extenso puede seccionarse para comprender mejor lo que
éste compone, además de esto, sin importa la extensión del mismo pueden
agregarse notas de referencia en las que se indiquen elementos clave de cada
composición si es que no se comprende con facilidad lo que acontece en el
gráfico.
Los diagramas pueden ser básicos o avanzados, es decir, contener elementos
de estructuras simples o compuestos en los que se muestra de una forma más
robusta todo el soporte que contiene y los elementos que lo definen.
INGENIERÍA DE SOFTWARE
2
Introducción al Tema ¿Cómo modelar el código del sistema?
Las funciones del sistema y los módulos en los que va a estructurar son las
piezas clave para los diagramas UML, pero también existe una parte muy
importante que es la parte técnica del sistema, donde se muestran los objetos y
las clases; contamos con el diagrama de clases pero también existe el diagrama
de comunicaciones que nos podrá mostrar la información interpretada de esta
manera.
Sin importar la plataforma para la cual se desarrolla la aplicación se deben
realizar diagramas para comprender el funcionamiento y la manera en que se
relacionaran los elementos o piezas de código con lo demás, es decir la forma
en que las aplicaciones son compatibles o no con ciertos atributos del sistema
en que se ejecutaran, por tanto se deben utilizar complementos como Silverlight
o algún otro más como Java para que las ejecuciones no presenten errores ni
perdidas de información.
Figura 1 Bou-Ghanam, A. & Faulkner, P. (2011). Predictive Real-time Business Intelligence Tool
(PROBIT): Arquitectura y visión de un marco de conocimiento situacional [Arquitectura lógica de
PROBIT]. Recuperado
de: http://www.ibm.com/developerworks/ssa/websphere/bpmjournal/0812_boughannam/
INGENIERÍA DE SOFTWARE
3
Explicación
Diagramas de comunicación
Los diagramas de comunicación muestran la interacción entre los objetos del
sistema, a través de conectores y mensajes. La información es interpretada a
con flechas en dirección al flujo del mensaje.
Los diagramas de comunicación son la forma de expresar de manera gráfica la
forma en que un elemento se entiende con otro, dentro de la comunicación el
diagrama más común es, emisor, mensaje, receptor, pero no es la única forma
en que se puede representar el proceso y no solamente sucede entre personas,
puede funcionar entre humanos y computadoras y se refiere a varios de los
elementos que se encuentran en Internet, como las redes sociales o los sitos de
chat, entre otros elementos web, además de poder hacerlo con entornos, como
los sistemas operativos o cualquier software que requiera la intervención
humana para su ejecución y aplicación.
Figura 2. Daniel. (2012). Iteraciones de Software [Diagrama de Comunicaciones]. Recuperado
de: http://codeoptimizations.com/diagrama-de-comunicaciones/
INGENIERÍA DE SOFTWARE
4
Modelado de flujos de control por ordenación temporal
Este tema se basa en el conocimiento de los objetos existentes dentro de un
sistema, subsistema, operación o clase que se halla desarrollado dentro de un
software o aplicación. Los elementos necesarios para desarrollar un flujo de
control por tiempo se necesita de;
Establecer el contexto de la interacción ya sea por medio de un sistema,
subsistema, operación, clase o un escenario de caso.
Establecer un escenario de interacción en la que se identifican objetos
con una función en la misma.
Se deben organizar los elementos en diagramas de secuencia de
izquierda a derecha colocando los elementos más importantes de
izquierda a derecha.
Establecer línea de vida de cada objeto.
Colocar los mensajes subsiguientes de arriba abajo entre las líneas de
visa.
Mostrar las propiedades de cada mensaje, según sea necesario para
explicar la semántica
De ser necesario se debe anidar cada mensaje o intervalo de tiempo.
Especificar restricciones de tiempo o espacio.
Especificar el flujo de control formalmente, se deben asociar los mensajes.
INGENIERÍA DE SOFTWARE
5
Figura 3.Pressman, R. (2002).Ingeniería de software un enfoque práctico [DFD de nivel I para
Hogar Seguro.] (p.213). Madrid: McGraw-Hill
Modelado de flujos de control por organización
Estos flujos de control por organización existen en un contexto de sistema, una
operación o una clase. Los objetos y roles que participan en un determinado
caso, cualquiera, es considerado como colaboración. Cuando el control de
objetos utiliza un diagrama de interacción muestra el paso de mensajes en el
contexto de esa estructura se utilizan diagramas de colaboración disponibles
para demostrar el funcionamiento y la estructura de la iteración. Para modelar un
flujo de control por medio del control de organización, se utilizan las siguientes
características y/o elementos:
INGENIERÍA DE SOFTWARE
6
Se requiere establecer el contexto de la interacción ya sea de un sistema,
un subsistema, una operación, una clase o un caso de colaboración.
Es necesario establecer un escenario de la interacción, se identifican los
objetos y el rol que juegan.
Los objetos deben organizarse en el diagrama de colaboración como
nodos de grafo.
Etc.
Arquitectura lógica del sistema
La arquitectura lógica del sistema, es la parte que no se puede tocar, ésta
soporta el análisis y especificación d los requisitos funcionales. Cuando
hablamos de un sistema operativo, podemos estipular si su arquitectura es de 32
o 64 bits y dependiendo de eso su estructura es definida. El sistema se
descompone en conjuntos de abstracciones clave tomadas mayormente del
dominio del problema, esto se representa en modos de objetos y clases,
dependientes e independientes. Comúnmente es este aspecto se muestran
diagramas de clases, interacción y objetos, cuenta con dos elementos
principales;
Notación: la más común es UML, dentro se muestran los diagramas de
clase y paquetes.
Estilo: es comúnmente utilizado el Orientado a Objetos para el desarrollo
lógico.
INGENIERÍA DE SOFTWARE
7
Figura 4. Badawi, H. (2001). Decisiones de Arquitectura [Arquitectura lógica del Panel de
Instrumentos de la Huella de Carbono del Empleado]. Recuperado
de: http://www.ibm.com/developerworks/ssa/websphere/techjournal/0904_badawi/0904_badawi.h
tml
Paquetes
Los paquetes son una serie de programas que se ubican dentro de un software,
éstos se desarrollan para varios sistemas principalmente para los más robustos,
pues se les permite el funcionamiento de los paquetes por módulos,
ejecutándose simultáneamente o por selección determinada por los
controladores de los componentes de hardware en la máquina. Dentro de los
atributos y características de los paquetes informáticos encontramos;
Interfaz para un trabajo más cómodo.
Se crean formas de intercambio de ficheros sin pérdida de información y
de fácil ejecución.
Se pueden generar archivos en una aplicación y se puede anidar dentro
de otra.
Algunas herramientas son compartidas por varias aplicaciones.
INGENIERÍA DE SOFTWARE
8
Los paquetes pueden existir varios elementos informáticos, de los cuales se
pueden crear nuevas herramientas, no sólo existen paquetes de un tipo, pues
las ramas de conocimiento aplicado y que pueden funcionar mediante las
computadoras.
Relaciones entre paquetes
Los paquetes pueden ser por módulos de programación o por sistemas que
ofrecen soluciones con aplicaciones informáticas.
Los paquetes que se encuentran dentro de las líneas de código, pueden
funcionar como módulos, es decir, piezas independientes que realizan una
función en común, la cual sin importar si un módulo falla o se desactiva, se
siguen ejecutando las funciones que el usuario determina.
Los paquetes también pueden representarse mediante diagramas y muestra la
forma en que estos se dividen, ya sea en agrupamientos lógicos o por función,
mostrando las dependencias entre éstos.
Figura 5. Cillero, M. Diagrama de Paquetes. [Ejemplo]. Recuperado
de http://manuel.cillero.es/doc/metrica-3/tecnicas/diagrama-de-paquetes
INGENIERÍA DE SOFTWARE
9
Las relaciones que se establecen entre los paquetes pueden ser determinados
por lo fabricantes, pues se usa una base de programación similar que de forma
independiente crea lazos dentro de los códigos de ejecución de éstos. Puede
que en el desarrollo de paquetes con uso de interfaz se apliquen herramientas
que sean compatibles con otro programa del paquete, por ejemplo el uso de
graficas de una hoja de cálculo que se pueda controlar en un procesador de
texto, pues usa una base de programación determinada en el desarrollo y
análisis por el mismo fabricante.
No sólo existe esta relación, también puede haber relación entre los paquetes de
scripts que se ejecutan dentro de los exploradores de Internet, pues en su
desarrollo se establecen códigos compatibles o binarios universales para poder
ser ejecutados por varios fabricantes.
INGENIERÍA DE SOFTWARE
10
Conclusión
Actualmente los paquetes informáticos son muy importantes pues dan
soluciones a corto plazo y pueden ser combinados con aplicaciones adicionales,
no todos los paquetes son de interfaz gráfica, por lo que se debe diferenciar
cada uno de los elementos con que cuenta y las herramientas que ofrece.
Existe una gran variedad de paquetes que se enfocan a las distintas
necesidades del mercado, a la programación, diseño, animación, calculo, 3D, etc.
Permitiendo un gran catálogo de opciones de diferentes fabricantes, que ofrecen
distintos materiales y potencias, dentro de los recursos con que cuenta cada
usuario, desde el más básico, hasta el más avanzado, cubriendo sus
necesidades y ajustándose a los recursos con lo que cuenta.
INGENIERÍA DE SOFTWARE
11
Para aprender más
Interacción entre diagramas de actividades UML y sistemas Workflow.
• Tabares, M., Pineda, J., & Barrera, A. Un patrón de interacción entre
diagramas de actividades UML y sistemas Workflow. Ingeniería,
investigación y tecnología, 10(2), 145-157. Rev.EIA.Esc.Ing.Antioq. 2008,
n.10, pp. 105-120. ISSN 1794-1237. Sitio web:
http://www.scielo.org.co/pdf/eia/n10/n10a09.pdf
Vistas arquitectónicas de software.
• Limón, R. Las vistas arquitectónicas de software y sus correspondencias
mediante gestión de modelos. (Tesis de doctorado inédita) Departamento
de Sistemas Informáticos y Computación. Universidad Politécnica de
Valencia. Sitio Web:
http://www.dsic.upv.es/docs/bib-dig/tesis/etd-10132009-094823/borrador-
tesis-rogelio-2.pdf
INGENIERÍA DE SOFTWARE
12
Actividad de Aprendizaje Instrucciones:
Con la finalidad de aplicar tus conocimientos adquiridos en esta sesión, tendrás
que realizar una actividad la cual consiste en crear los diagramas de
comunicaciones del sistema para la biblioteca escolar.
Puedes apoyarte de alguna de las siguientes herramientas que sirven para el
diseño de estos diagramas:
• Microsoft Visio (Algunas veces está incluido en el paquete de office).
• Visual Paradigm http://www.visual-paradigm.com/
• ArgoUML http://argouml.tigris.org/
Deberás guardarlo en formato JPG, para subirlo a la plataforma de la asignatura.
Recuerda que esta actividad te ayudará a poner en práctica tus conocimientos
acerca del diseño de software y UML.
Para esta actividad se tomará en cuenta lo siguiente:
Título
Datos personales
Ortografía y redacción
Diagramas
Bibliografía
INGENIERÍA DE SOFTWARE
13
Bibliografía
• Jacobson, I., Booch, G., & Rumbaugh, J. (2000). El Proceso Unificado del
Desarrollo de Software. España: Pearson Education
• Fowler, M. (1999). UML gota a gota. México: Pearson Education