INGENIERÍA DEL SOFTWARE
INGENIERÍA DE SOFTWARE 1 Sesión No. 9 Nombre: Diagramas de casos de uso Contextualización Cómo modelar las funciones del sistema? Las funciones del sistema se modelan por medio de diagramas de diferentes tipos, dependiendo a quien va orientada esa información, hay que tomar en cuenta todos los factores, eternos, recursos, restricciones, tiempos, costos, etc. Los diagramas son un elemento importante de la estructuración de información que debe cumplir con las características principales a desarrollar, es decir la representación que se da en los diagramas es solamente para el código que contendrá, no es para el desarrollo de la interfaz, para esta se requiere de una representación diferente que puede ser un framework o algún otro marco en el que se puede diseñar el uso de botones, la distribución de espacios y la ubicación de cada elemento visual que la compone.
INGENIERÍA DE SOFTWARE 2 Introducción al Tema Cómo indicar a crear diagramas de software? Una vez que definimos las funciones que se van a moldear se procede a crear los diagramas, para iniciar debemos conocer que parte del sistema queremos representar y cual diagrama, por ejemplo, con el equipo de desarrollo se crearan los diagramas de clases y objetos, con el equipo de análisis de requerimientos se crearan los casos de uso, y si con cada uno se crea el diagrama de su especialidad, no sin antes tener en claro que es sugerirle tener a varios integrantes del equipo que ejercen diferentes funciones en las creaciones de diagramas, ya que cambia la percepción y esto nos ayuda a detectar fallas o mejoras del sistema.
INGENIERÍA DE SOFTWARE 3 Explicación Diagramas de casos de uso Los diagramas de caso de uso sirven para documentar el comportamiento de un sistema visto por el usuario. Los elementos principales de éstos son; Actores: éstos representan a un tipo de usuario del sistema, un usuario es un elemento externo el cual puede modificar o crear acciones en los entornos internos de un sistema, no siempre se define como humano, puede ser un elemento informático de control a distancia o de control de sesiones remotas. El actor de un diagrama de caso de uso representa un rol importante, puede haber elementos independientes que utilizan el sistema de formas diferentes. Caso de uso: ésta es una tarea que debe poder llevarse a cabo con la ayuda del sistema en desarrollo, pero sin importar de qué se trate, siempre debe detallarse cada uno de los casos mediante una descripción textual. Asociaciones: ésta se da entre los actores y los casos, por tanto cuando interactúan entre sí determinan el caso en el que lo hacen, ya sea realizando una función específica o de uso de alguna herramienta. Los diagramas de caso de uso se determinan para cualquier situación de la vida cotidiana, pues es posible cambiarlas y programarlas, es decir, casi cualquier hecho real, puede ser codificado y representado de manera gráfica o numérica mediante una computadora, pero es importante contar con los diagramas que la estructuran y definen sus funciones, dependiendo del caso será la extensión del diagrama, cuando es un caso pequeño, el diagrama no es complejo pero cuando las situaciones cambian e integran un mayor número de elementos, estos diagramas pueden ser muy extensos e incluso manejar uno dentro de otro.
INGENIERÍA DE SOFTWARE 4 Figura 1. Microsoft Developer Network. Diagramas de casos de uso de UML. Recuperado de: https://msdn.microsoft.com/es-es/library/dd409432.aspx Modelado del contexto de un sistema Este medio trata de definir los elementos existentes que pueden haber dentro de una representación como un sistema, para poder expresar los principales atributos es importante contar con; Identificar los actores entorno al sistema, se consideran los grupos que requieren ayuda del sistema para poder llevar las tareas a cabo. Identificar qué grupos son necesarios para lograr la ejecución de funciones de los sistemas que se manejan. Determinar los grupos que interactúan con el hardware de forma interna y externa. Se deben organizar los actores en jerarquías de generalización. Introducir actores al diagrama de casos de uso y se especifican las vías de comunicación de cada actor y cada elemento de uso del sistema.
INGENIERÍA DE SOFTWARE 5 Estos elementos sirven para crear un entorno funcional y una pieza de software útil para los usuarios que requieren de una solución para los sistemas que maneja, ya sea de forma personal o empresarial. Se deben determinar varios de los elementos más importantes y funcionales que determinan las características de uso para cada usuario, estos modelados se pueden hacer de forma independiente, pues no todas las aplicaciones que se desarrollan son de uso comercial, sino que pueden determinar variables importantes y de uso exclusivo y desconocido por empresas que mantienen la privacidad de los datos lejos del conocimiento público, lo que ayuda a determinar sistemas más robustos, como los que se utilizan con comandos de voz, control mediante el movimiento corporal, sistemas Business Inteligencie, etc. Cómo modelar el contexto del sistema? En la ingeniería de software, existe un diagrama conocido como diagrama de contexto del sistema, éste representa los límites entre el sistema y su entorno, mostrando las entidades que interactúan con él, su objetivo es representar los factores externos y eventos que se pueden considerar como restricciones o requerimientos del sistema.
INGENIERÍA DE SOFTWARE 6 Figura 2. INSICO. Sistema de gestión documental [Diagrama de contexto]. Recuperado de: http://www.insico.cl/interior_productos_municipales.php?id=28 Modelado de los requisitos de un sistema Ésta es una característica de diseño, es decir; es una propiedad o comportamiento del sistema sobre el cual se refiere la creación de modelos, la modificación de elementos o el trabajo. Al determinar los requisitos necesarios de un sistema se establece un contrato de los elementos externos del sistema con los propios que se manejan de forma interna. La expresión de los requisitos se puede realizar de diferentes maneras, puede ser desde texto hasta el uso de un lenguaje formal para determinar elementos principales e importantes dentro del mismo, los elementos del sistema puede expresar los casos de uso y los diagramas de uso UML, pues son fundamentales para el uso y expresión de los requisitos: Se establece el contexto del sistema identificando a los actores a su alrededor.
INGENIERÍA DE SOFTWARE 7 Considerar el comportamiento que cada actor espera del sistema Se deben renombrar comportamientos y casos de uso comunes dentro de los sistemas. Se factoriza el comportamiento común en nuevos casos de uso, los cuales pueden ser utilizados dentro de otros. Se factoriza el comportamiento en otros casos de uso de extensión en los flujos principales. Se hace el uso de notas enunciando los requisitos no funcionales y los funcionales al sistema global. Figura 3. García, J., Ortín, M., Moros, B., Nicolás, J., & Toval, A. Procesos del Negocio a los Casos de Uso [Relaciones de trazabilidad entre los modelos de negocio y de requisitos]. Recuperado de: http://www.cyta.com.ar/ta0604/v6n4a1.htm
INGENIERÍA DE SOFTWARE 8 Interacciones en el sistema Las interacciones en el sistema como se ha mencionado en algunos temas anteriores, se dan cuando los elementos internos y externos pueden comunicarse entre sí, es decir puede que los elementos internos tengan relación con los mismos internos y los externos solo con los externos, pero también puede que los internos tengan relación con los de exterior y se establezca una comunicación, recordemos que los elementos externos pueden ser usuarios o algún sistema que maneja desde una sesión remota o cualquier otro sistema de control cercano. Las interacciones que se dan deben ser compatibles, pues de lo contrario pueden crear errores en un sistema o en algunos de los elementos que manejan la información primordial de éste. Cuando no se conocen los elementos, los requerimientos o la forma en que estos interactúan puede que no se lleve a cabo. Se pueden representar las interacciones mediante diagramas o medios visuales en papel expresando las ventajas, desventajas y componentes con los que se cuentan y los atributos que pueden manejar en un lapso de tiempo determinado. Figura 4. Canales, A., Peredo, R., Balladares, L., Peredo, I., & Sossa, J.H., (2009) Arquitectura de sistemas tecnológicos para la educación basada en Web [Interacciones entre las entidades del sistema]. Recuperado de: http://www.scielo.org.mx/scielo.php?pid=s1405-77432009000200006&script=sci_arttext
INGENIERÍA DE SOFTWARE 9 Diagramas de secuencia Los diagramas de secuencia son elementos con los cuales podemos visualizar las interacciones dentro del sistema, es decir son una representación gráfica con la cual se puede apreciar de una forma lógica lo que sucede dentro del sistema gracias a los códigos que se ejecutan en el ambiente determinado. Éstos pueden mostrar una aplicación a través de tiempo y modela los usos de un sistema. Estos diagramas se utilizan por cada caso de uso que se tenga, los detalles de los diagramas dependen de la fase en que se encuentre el desarrollo y los medios que se deseen demostrar con el diagrama. Cuando la fase es avanzada, se está en el procedimiento de diseño del programa y se deben dejar los detalles entre los desarrolladores, pues estos dependen de la información para crear las etapas y el uso de clases. Figura 12. Oscar. (2011) Metodología de Sistemas. [Diagrama de Secuencias]. Recuperado de diagrama-de.html http://utnsimocametodologia.blogspot.mx/2011/10/aprendiendo-uml-hora-9-
INGENIERÍA DE SOFTWARE 10 Conclusión Los requisitos de un sistema son difíciles de determinar de una simple vista, por lo que se utiliza el modelado de requisitos permitiendo que se puedan establecer parámetros generales de recursos y atributos que el sistema que controlará la aplicación deberá tener disponibles. No se debe dejar a un lado ningún elemento por muy pequeño que sea, pues cuando no se determinan esos elementos pueden ocasionar problemas en los sectores principales o de arranque, volviendo el problema en una pérdida de información o de mal funcionamiento en el software principal que es la plataforma que soporta las aplicaciones y el que se ha desarrollado para ofrecer soluciones.
INGENIERÍA DE SOFTWARE 11 Para aprender más Sistemas para educación en web. Canales, A., Peredo, R., Balladares, L., Peredo, I., & Sossa, J.H. (2009). Arquitectura de sistemas tecnológicos para la educación basada en Web. Ingeniería, investigación y tecnología, 10(2), 145-157. Recuperado en 24 de octubre de 2015. Sitio web: http://www.scielo.org.mx/scielo.php?pid=s1405-77432009000200006&script=sci_arttext Modelado de requisitos con UML. Pereñiguez, P. [portalucam]. (2013, Nov 23).Ingeniería del Software II - Modelado de requisitos con UML (Casos de Uso) - Fernando Pereñiguez.[Archivo de video].recuperado de: https://youtu.be/5ezwoj0k02k
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 al menos 4 diagramas de flujo, el diagrama de contexto y el diagrama de interacciones 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 Los diagramas solicitados Bibliografía
INGENIERÍA DE SOFTWARE 13 Bibliografía Popkin Software and Systems. (s.f.) Modelado de sistemas con UML. Sitio web: http://es.tldp.org/tutoriales/doc-modelado-sistemas-uml/doc-modeladosistemas-uml.pdf Valero Gómez, A. (s.f.), Introducción a los casos de uso. Sitio web: http://iearobotics.com/alberto/lib/exe/fetch.php?media=teaching:caso s_de_uso.pdf