You are on page 1of 17

Ingeniería en Desarrollo de software

Semestre 4

Unidad 1. Herramientas para el modelado de software

Actividades de aprendizaje

Clave:
Licenciatura
TSU
15142420 / 16142420

Universidad Abierta y a Distancia de México

Definir visión general de la arquitectura. Sustituye las XX por las dos primeras letras de tu primer nombre. Diseñar la solución preliminar. Copia las tablas en un archivo de texto. Envía el archivo a tu Docente en línea para recibir retroalimentación mediante la herramienta Tarea. 3. la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido. Capacitar a los usuarios. De la lista de actividades resumida de un proyecto real y que se enlistan de manera desordenada. Fases del proceso RUP Propósito: Distinguir actividades que se realizan en un proyecto real siguiendo la metodología RUP para la elaboración y finalización de un proyecto. identifica cuál de las 4 fases del modelo RUP es la adecuada para comenzar su ejecución. Instrucciones: 1. FASE E E E T C T E C I . Guarda la actividad con el nombre DMMS_U1_A2_XXYZ. Desarrollar la arquitectura base del sistema. 4. Desarrollar la especificación de los casos de uso. Ajustar los errores y defectos encontrados en las pruebas de aceptación. Realizar las mejoras del proyecto. Coloca tus respuestas en la columna de la derecha y redacta brevemente el porqué de tus respuestas.Actividad 2. FASES DEL PROCESO RUP LETR A I E C T NOMBRE DE FASE INICIO ELABORACION CONSTRUCCION TRANSICION/CIE RRE LISTA DE ACTIVIDADES EN DESORDEN Orden 1 2 3 4 5 6 7 8 9 ACTIVIDAD Clarificar los requisitos pendientes. 2. Para eso coloca la letra que identifica a la fase en el lado derecho (columna fase) de la actividad que le corresponde. 5. Verificar que el producto cumple con las especificaciones involucradas en el proyecto.

17.8.13.6. Asegurar la disponibilidad del software para los usuarios. C E C E T E I T I .16. Proveer soporte técnico.18.- Completar la funcionalidad de la iteración. Definir casos de uso de la arquitectura base del sistema.11. Definir la viabilidad del proyecto.10 11 12 13 14 15 16 17 18 1.4.3.7. Identificar riesgos.14.9.15. Definir el plan de las fases e iteraciones siguientes de desarrollo.10. Definir el alcance del proyecto.5.2.12. Administrar los cambios de las evaluaciones realizadas por los usuarios.

Repasemos: En un breve párrafo menciona todas las ideas. Herramientas para el modelado de software Autorreflexiones. . conceptos o características que conozcas sobre UML. RUP y modelado de procesos.Carrera: Desarrollo de software Semestre 04 Programa de la asignatura: Métodos y modelos de desarrollo de software Unidad 1.

anidados dentro del componente primario. 4 Dependencia 5 Parte Un fragmento reutilizable de funcionalidad del sistema. se usa con todos los métodos de desarrollo. Un elemento se usa en el diseño interno de su componente primario. mantener y controlar la información sobre tales sistemas. etapas del ciclo de vida. Para crear un elemento de un nuevo tipo. cuyo tipo suele ser otro componente. el componente solo existe como artefacto de diseño. El puerto tiene una interfaz como su tipo. Puede ocultar o mostrar los elementos internos de un componente mediante el control expandir y contraer. dominios de aplicación y medios. El componente está diseñado para acoplarse a componentes que proporcionan al menos estas operaciones. Los elementos se muestran gráficamente. Las dependencias también se pueden usar de manera más general entre los elementos del modelo para mostrar que el diseño de uno depende del diseño del otro. Se usa para entender. En tiempo de ejecución. Para crear un elemento de un tipo de componente existente. Se puede usar para identificar una interfaz necesaria en un componente. diseñar. Si es valor true (predeterminado). ¿Qué es UML y para qué es utilizado? El lenguaje unificado de modelado (UML). 3 Puerto de la interfaz necesaria. construir y documentar artefactos de un sistema de software. Un puerto es una propiedad de un componente que tiene una interfaz como su tipo. Is Indirectly Instantiated. se puede satisfacer mediante una interfaz proporcionada por otro. configurar. ¿Cuáles son los componentes de UML? Descríbelos brevemente. es un lenguaje de modelado visual que se usa para especificar. FORMA ELEMENTO DESCRIPCIÓN 1 componente 2 Puerto de la interfaz proporcionada.1. haga clic en la herramienta . Representa un grupo de mensajes o llamadas que implementa el componente y que pueden usar otros componentes o sistemas externos. hojear. Representa un grupo de mensajes o llamadas que envía el componente a otros componentes o sistemas externos. Un atributo de un componente. Un componente proporciona y consume el comportamiento a través de interfaces y puede usar otros componentes. 2. Captura de decisiones y conocimiento sobre los sistemas que se deben construir. arrastre el componente desde el Explorador de modelos UML hasta el componente propietario. visualizar.

Normalmente. frontRight: Wheel. Vincula un puerto a una interfaz de uno de los elementos del componente. en * para indicar que el elemento es una colección de estancias del tipo especificado o en cualquier expresión que pueda evaluar en un intervalo de números. Los elementos conectados deben tener el mismo componente primario. La implementación de un ensamblado de elementos puede variar de un componente a otro. Multiplicidad: el valor predeterminado 1. Más de un elemento puede tener el mismo tipo y componentes diferentes pueden tener elementos del mismo tipo. Una conexión entre los puertos de la interfaz necesaria de un elemento y los puertos de la interfaz proporcionada de otro elemento. a continuación. La implementación de un ensamblado de elementos puede variar de un componente a otro. backLeft: Wheel. Los elementos y las interfaces se heredan. Por ejemplo.1 para indicar que el elemento puede tener valor null. etc. . que se define en otra parte del modelo.6 Part Assembly 7 Delegación Generalizaion 9 Control Contraer o expandir comentario Componente y. Úselo para mostrar u ocultar los elementos internos de un componente. un componente Car tiene los elementos engine: CarEngine. Los elementos conectados deben tener el mismo componente primario. Indica que los mensajes enviados al componente son administrados por el elemento o que los mensajes enviados desde el elemento se envían desde el componente primario. Puede establecerlo en 0…. el tipo es otro componente. Una conexión entre los puertos de la interfaz necesaria de un elemento y los puertos de la interfaz proporcionada de otro elemento. Puede vincular un comentario a cualquier número de elementos del diagrama mediante la herramienta Conector. Para obtener notas adicionales. haga clic en el componente propietario. Tipo: el tipo de elemento. Indica que un componente hereda de otro componente.

. Es siempre una abstracción a un cierto nivel. no es posible representar todas las restricciones dentro del modelo. En el caso de una empresa que se dedica al desarrollo de software. que es un modelo? Es un generador de potenciales configuraciones del sistema. el desarrollo de sistemas de software es algo muy complejo. sin embargo. A veces. ¿Cómo define el Autor Booch. los cuales por lo general involucran la utilización de sistemas de software. Variaciones a la interpretación 5. los posibles sistemas son sus extensiones. Especificación frente a implementación Descripción frente a estancia. se requieren procesos que abarquen desde la creación de un sistema de software hasta su mantenimiento. o valores. Es también una descripción de la estructura genérica y del significado de un sistema. Captura los aspectos esenciales de un sistema y omite algunos de los detalles. Tiene los siguientes aspectos: Abstracción frente a detalle. todas las configuraciones consistentes con el modelo deberán ser posibles. Las descripciones son su objetivo o significado.3. En general. Todo esto es conocido como el ciclo de vida del software. ¿Qué es un proceso de desarrollo de software? Un proceso está definido como una serie de acciones u operaciones que conducen a un fin. 4. una empresa u organización requiere de uno o más procesos para lograr sus objetivos. De lo contrario todos haríamos siempre software perfecto Un aspecto básico para manejar la complejidad inherente en los sistemas de software es contar con un modelo de proceso a seguir. Idealmente. Define y describe los siguientes conceptos: Objeto .

. Clases de objetos Herencia Se refiere al mecanismo por el que se comparten atributos y operaciones usando la relación de generalización. Es una desahogo del sistema de tipos. Tipo de dependencia que relaciona dos elementos que representan el mismo concepto en diferentes niveles de abstracción. la esencia que comparten los objetos. Un objeto no es una clase. Abstracción Acto de identificar aquellas características esenciales de una cosa que la distinguen del resto de las cosas. que abarca el código que se ofrece en la interface de la clase. que encapsulan el estado y el comportamiento. Polimorfismo. Un objeto es un ejemplo de una clase. Visión interna (implementación). parámetro o declaración local o elemento de un vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas (hijas. la clase muestra: Visión externa de comportamiento (interface). con límites bien definidos y con identidad. De esta forma. que enfatiza la abstracción escondiendo su estructura y secretos de comportamiento. y una clase no es un objeto.Entidades discretas.…). se dice también de las estancias de una clase. de tal manera que una referencia a una clase (atributo. Clase representa una abstracción. nietas. Las clases actúan como intermediarias entre una abstracción y los clientes que pretenden utilizar la abstracción. Clases Clases Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes.

Este diagrama cabe aclarar que cuenta con objetos y enlaces. En este diagrama se modelan las instancias de las clases del Diagrama de Clases. En estos diagramas también es posible encontrar las clases para tomar como referencia su instanciación. Los Diagramas de Objetos son realmente útiles para modelar estructuras de datos . Describen un uso del sistema y como éste interactúa con el usuario. es por ello que se ve desde el punto de vista del usuario.5. ¿Cuáles son los tipos de diagramas que incluye UML y cuál es su objetivo? Tipos de diagrama objetivo grafica Casos de uso Estos diagramas muestran operaciones que se esperan de una aplicación o sistema y como se relaciona con su entorno. en donde se intentan conformar el diagrama conceptual de la información que se manejará en el sistema. De objetos Forma parte de la vista estática del sistema. De clases Estos diagramas son utilizados durante el proceso de análisis y diseño de los sistemas informáticos. Muestra un conjunto de objetos y sus relaciones en un momento concreto.

Como característica de estos diagramas siempre cuentan con dos estados especiales. en otras palabras es un escenario que representa un camino dentro de un diagrama. .De comportamientos: De estados. con la particularidad que este diagrama puede tener solo un estado inicial pero varios estados finales. De actividad. el inicial y el final. complejas Diagrama de estados engloba todos los mensajes que un objeto puede enviar o recibir. Es una variación del Diagrama de Estados UML donde los estados representan operaciones y las transiciones representan las actividades que ocurren cuando la operación es completa.

6. representan a un bloque de construcción al modelar aspectos físicos de un sistema. De Colaboración. Básicamente este tipo de diagrama se utiliza para modelar el Hardware utilizado en la implementación del sistema y las relaciones entre sus componentes. . Un Diagrama de Secuencias muestra una interacción ordenada según la secuencia temporal de eventos y el intercambio de mensajes.De interacción: De secuencia. Los diagramas de secuencia ponen especial énfasis en el orden y el momento en el que se envían los mensajes a los objetos. Se refiere a las proyecciones tanto en el modelo semántico como en la notación visual. Normalmente contiene componentes. Clasificación: Vista de Casos de Uso: Nos facilita información sobre el comportamiento y funcionalidad del sistema. Vista de Diseño: Nos proporciona información del vocabulario y la funcionalidad del sistema. Dentro de UML ¿Qué son las vistas y cuál es su clasificación? Vistas: Proyección de un modelo. es decir. De Despliegue. que se ve desde cierta perspectiva o punto de observación y emite aquellas entidades que no son relevantes para esa perspectiva. De Implementación: De componentes. interfaces y relaciones entre ellos. Los componentes perteneces a un mundo físico.

Vista de Despliegue: Nos permite establecer la topología del sistema. ¿Qué es un caso de uso? Vista de Es una operación/tarea específica que se realiza tras una orden de algún agente externo. Vista de Implementación: Establece el ensamblado del sistema y la gestión de la configuración. la escalabilidad del mismo y la capacidad de procesamiento necesaria. sea desde una petición de un actor o bien desde la invocación desde otro caso de uso. Dentro de los casos de uso ¿Qué significa: Asociaciones. 7. Dicha relación se denota con una flecha simple. . generalización y relaciones?  Relaciones: o Asociación Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). 9. su distribución y las pautas para su instalación.Vista de Interacción: Nos da información sobre el rendimiento del sistema.

o Generalización Este tipo de relación es uno de los más utilizados. se instancia (se crea). De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases. en la cual una clase depende de otra.  Imprimir un recibo cuando el usuario lo solicita: a. El sistema debe controlar y/o aceptar:  Registrar el número de ítems ingresados. Ejemplo: Como ejemplo está el caso de una Máquina Recicladora: Sistema que controla una máquina de reciclamiento de botellas. tarros y jabas. Este tipo de relación está orientado exclusivamente para casos de uso (y no para actores). en donde está la duda clásica de usar o heredar.o Dependencia o Instanciación Es una forma muy particular de relación entre clases. cumple una doble función dependiendo de su estereotipo. que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>). Dicha relación se denota con una flecha punteada. es decir. El valor de cada ítem c. Extends: Se recomienda utilizar cuando un caso de uso es similar a otro (características). Uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica. Total . Describe lo depositado b.

ii. Como una primera aproximación identificamos a los actores que interactúan con el sistema: Luego. . b. b. Información asociada a ítems. tenemos que un Cliente puede Depositar Ítems y un Operador puede cambiar la información de un Ítem o bien puede Imprimir un informe: Además podemos notar que un ítem puede ser una Botella. Ítem se atora. No hay más papel.  El operador debe además poder cambiar: a. Cuantos ítems han sido retornados en el día. Dar una alarma en el caso de que: i. El usuario/cliente presiona el botón de comienzo  Existe un operador que desea saber lo siguiente: a. un Tarro o una Jaba. Al final de cada día el operador solicita un resumen de todo lo depositado en el día.

Su meta es asegurar la producción de software de muy alta calidad que satisfaga las necesidades de los usuarios finales. ¿Qué significa RUP? El Proceso Unificado de Desarrollo de Software (RUP) Introducción El Proceso Unificado es un proceso de software genérico que puede ser utilizado para una gran cantidad de tipos de sistemas de software.Otro aspecto es la impresión de comprobantes. que puede ser realizada después de depositar algún ítem por un cliente o bien puede ser realizada a petición de un operador. el diseño completo del diagrama Use Case es: 10. diferentes tipos de organizaciones. dentro de un calendario y presupuesto predecible. diferentes niveles de competencia y diferentes tamaños de proyectos. Provee un enfoque disciplinado en la asignación de tareas y responsabilidades dentro de una organización de desarrollo. para diferentes áreas de aplicación. Entonces. .

. Una especificación funcional tradicional se concentra en responder la pregunta: ¿Qué se supone que el sistema debe hacer? La estrategia de casos de uso puede ser definida agregando tres palabras al final de la pregunta: ¿por cada usuario? Estas tres palabras tienen una implicación importante. ¿Qué relevancia encontré en los contenidos para enriquecerme como persona y en un futuro como profesional? Encontré que con una buena planeación y análisis se puede facilitar la solución de casi cualquier problema que ocurre en la vida diaria 13. no son elegidos de manera aislada. el uso de UML. Sin embargo. 11. los casos de uso dirigen la arquitectura del sistema y la arquitectura del sistema influencia la elección de los casos de uso. el término usuario representa algo o alguien que interactúa con el sistema por desarrollar. ya lo mencionaba antes. dirigen el proceso de desarrollo. sino a otros sistemas. las cuales agrupan actividades de una manera lógica de acuerdo a su naturaleza. también dirigen su diseño. artefactos y roles. Aún y cuando los casos de uso dirigen el proceso. realizando los pasos convenientes facilitará la realización de proyectos. El término usuario se refiere no solamente a los usuarios humanos. se expresa en términos de fases. Son desarrollados a la par con la arquitectura del sistema. al arquitectura del sistema y los casos de uso maduran conforme avanza el ciclo de vida. para construir un sistema exitoso se debe conocer qué es lo que quieren y necesitan los usuarios prospectos. esto es.• Un eje horizontal que representa el tiempo y muestra los aspectos del ciclo de vida del proceso a lo largo de su desenvolvimiento • Un eje vertical que representa las disciplinas. Por lo tanto. disciplinas. flujos de trabajo. Por lo tanto. esto es. Los casos de uso capturan los requerimientos funcionales. Este modelo reemplaza la tradicional especificación funcional del sistema. los casos de uso no son solamente una herramienta para especificar los requerimientos del sistema. me ayudara bastante cuando necesite programar un código en algún lenguaje de programación como. implementación y pruebas. iteraciones e hitos (milestones). 12. actividades. La primera dimensión representa el aspecto dinámico del proceso conforme se va desarrollando. ¿Qué me aporto esta unidad? Me aporto mucho conocimiento. ¿Para qué nos sirve RUP en el desarrollo de software? Un sistema de software se crea para servir a sus usuarios. En este contexto. Un caso de uso es una pieza en la funcionalidad del sistema que le da al usuario un resultado de valor. Todos los casos de uso juntos constituyen el modelo de casos de uso el cual describe la funcionalidad completa del sistema. La segunda dimensión representa el aspecto estático del proceso: cómo es descrito en términos de componentes del proceso. nos fuerzan a pensar en términos del valor a los usuarios y no solamente en términos de las funciones que sería bueno que tuviera.

uabc.mx/~molguin/as/RUP.html#casosuso .com/es-mx/library/dd409390.microsoft.aspx http://yaqui.htm http://users.Bibliografía: https://msdn.uchile.cl/~psalinas/uml/casosuso.dcc.mxl.