6. Ingeniería de Software ¿Qué es Ingeniería? ¿Qué es software? Conjunto de conocimientos y técnicas científicas. Elemento lógico del sistema. Disciplina de la informática ¿Qué es Ingeniería de Software? Desarrollar y mantener software de calidad conocimientos técnicas métodos ofrece para
7. UN ENFOQUE DE CALIDAD PROCESO MÉTODOS HERRAMIENTAS Ingeniería de Software como Tecnología Multicapa
8. Proceso de Software Conjunto de etapas cuyo objetivo es obtener un Software de calidad. Ciclo de Vida del Software. FASES GENÉRICAS presenta es un conocido como DEFINICIÓN (QUÉ) DESARROLLO (CÓMO) MANTENIMIENTO (CAMBIO) Fallos de definición Errores Modificaciones y adaptaciones
9. Modelo de Proceso de Software Estrategia de desarrollo aplicado por ingenieros de software. Abstracción de un proceso real de desarrollo de software. Metodología : “ Quién debe hacer Qué , Cuándo y Cómo debe hacerlo”. Seleccionar el modelo de proceso de software apropiado para la ingeniería de software que debe aplicar el equipo del proyecto. cuál es el problema? es una define una
10. Modelos de Proceso de Software Mantenimiento Análisis Diseño Prueba Código Escuchar al cliente El cliente prueba la maqueta Construir y revisar la maqueta
11. RUP ( Rational Unified Process ) Proceso de ingeniería de software orientado a objetos . Conjunto de actividades necesarias que transforman los requerimientos del usuario en el sistema de software . Diversos tipos de software de sistemas, diversas áreas de aplicación, diferentes tipos de organizaciones y diferentes tamaños de proyectos. especializado para es un define un El mejor estándar de modelado: UML . trabaja con
12. RUP Mejores prácticas Desarrollo Iterativo Modelamiento Visual Control de Cambios Administración de Requisitos Arquitectura basada en Componentes Verificación Continua de la Calidad
15. Fases Definir el alcance y objetivos del proyecto. Elaborar el Plan del proyecto, Especificación de características y Arquitectura base del sistema. <------------------------------------Tiempo------------------------------------> Inicio Elaboración Construcción Metas Principales Transición Trasladar el producto a la comunidad del usuario. Construir y operar el producto.
18. Modelamiento Visual Plantilla del sistema que permite entender la estructura y comportamiento del mismo . Capturar las partes esenciales de un sistema. Preciso Consistente Fácil de comunicar Fácil de cambiar Legible características provee una ayuda a
19. UML (Lenguaje Unificado de Modelado) Lenguaje estándar Artefactos del sistema software visualizar especificar documentar que permite construir LOGRO ↑ Productividad, ↓ Ciclo de vida del Sw, ↑ Calidad del Sistema
21. Especificaciones de UML Especificaciones OCL y para el Intercambio de Diagramas Especificaciones de Infraestructura y Superestructura 13 diagramas Inicialmente Se agregaron 14 diagramas 9 diagramas
22. Elementos principales de UML Bloques básicos de construcción : Elementos , Relaciones y Diagramas . Reglas sintácticas y semánticas . Mecanismos comunes Especificaciones Adornos Divisiones comunes : dicotomía clase/objeto, interfaz/implementación y tipo/rol Mecanismos de extensibilidad : estereotipos, valores etiquetados y restricciones .
30. Modelo de Vistas 4+1 Logical View Implementation View Programmers Software management Process View Performance Scalability System integrators Deployment View System topology Delivery, installation Communication System engineering Use Case View Vista Lógica Diseño de Funcionalidades del Sistema Vista de Procesos Aspectos de concurrencia y sincronización Vista de Implementación Organización de elementos físicos que se implementa en el sistema (código) Vista de Despliegue Arquitectura física del sistema Vista de Casos de Uso Comportamiento del Sistema percibido por usuarios finales, analistas y encargados de las pruebas End-user Functionality
31.
32.
Notas del editor
Aquí se va mostrando cada modelo de proceso de software y cuya descripción está en el manual (Explicar brevemente).
Es una descripción de enfoques comprobados comercialmente para el desarrollo de software.
ROL Define las responsabilidades de un individuo. Es como un “ sombrero ” que la persona usa durante el proyecto en un momento dado. ACTIVIDAD Unidad de trabajo que se asigna a un rol. Dura entre un par de horas y un par de días e involucra un sólo rol y un número pequeño de artefactos. ARTEFACTO Elementos de información producidos, modificados o usados por el proceso. Usados por los roles para realizar nuevas actividades y son el resultado de esas actividades.
En el curso vamos a desarrollar las dos primeras disciplinas: Modelado de negocio y Captura de requisitos. LAS DISCIPLINAS O FLUJOS DE TRABAJO SE LLEVAN A CABO EN MAYOR O MENOR PROPORCIÓN EN CADA FASE. Cada fase en RUP puede descomponerse en iteraciones (miniproyectos). Una iteración es un ciclo de desarrollo completo que genera como resultado una entrega de producto ejecutable.
Existen varias categorías generales de roles. En cada una de ellas, subcategorías. Aquí se muestra las actividades y artefactos para el Rol Analista de procesos de negocio (categoría: Analista).
El modelamiento visual provee una plantilla del sistema. El visualizar esta plantilla, ayuda a entender el sistema que se crea y cómo quisiera crearse, permite entender la estructura o comportamiento del mismo, sirve de guía durante el proceso de construcción del SW y nos permite documentar las decisiones que se toman. Un modelo se considera como útil si presenta las siguientes características:
UML 1.0 se ofreció para su estandarización al OMG en enero de 1997. Luego de varios años y varias modificaciones, OMG adoptó la versión oficial de UML 2.0 a principios del año 2005. Los documentos de la especificación actual de UML se encuentran en la página web de OMG: http://www.omg.org/spec/UML/index.htm
A partir de UML 2.0, la especificación de UML se dividió en dos especificaciones complementarias: Infraestructura y Superestructura . La especificación de la infraestructura de UML define las construcciones del lenguaje fundacional necesarias para UML 2.2. Que se complementa con la superestructura de UML, que define el nivel de usuario necesarios para la construcción de UML 2.2. Las dos especificaciones complementarias constituyen una especificación completa para el lenguaje de modelado UML 2. En el cuadro se muestra los lanzamientos oficiales (por OMG) de UML. Las especificaciones de las versiones de UML se encuentran en: http://www.omg.org/spec/UML/index.htm Los cambios se encuentran en los tipos de diagramas que se pueden implementar. EL CURSO CONTEMPLARÁ LA DESCRICPCIÓN DE LOS 13 DIAGRAMAS DE UML2.0
Para mayor información, revisar el libro “El lenguaje Unificado de Modelado - UML 2.0” por los 3 amigos: Booch, Jacobson y Rumbaugh., CAP. 2, pag 20-34. Bloques básicos de construcción Elementos (abstracciones relevantes en un modelo): Estructurales, de comportamiento, de agrupación y de anotación. Relaciones (conexiones entre elementos): Dependencia, asociación, generalización y realización. Diagramas (proyección o vista resumida de los elementos que constituyen un sistema. Agrupan elementos y relaciones): Vistos en la Taxonomía (diapositiva anterior). Reglas sintácticas y semánticas que definen cómo pueden combinarse los bloques básicos . Mecanismos comunes Especificaciones: Proporciona una explicación textual de la sintaxis y semántica de un bloque de construcción. Adornos: Detalles gráficos o textuales del símbolo básico de un elemento. Por ejemplo los iconos que distinguen la visibilidad de atributos de una clase. Divisiones comunes: Tipos de dicotomía, tales como: Clase y objeto. Clase es una abstracción y objeto es una manifestación concreta de esa abstracción respectivamente. Interfaz e implementación. La interfaz declara un contrato y una implementación representa una realización concreta de ese contrato. Tipo y rol. Tipo declara la clase de una entidad y rol describe el significado de una entidad en un contexto. Mecanismos de extensibilidad, tales como: Estereotipo. Extiende el vocabulario de UML, permitiendo crear nuevos tipos de bloques de construcción. Valor etiquetado. Extiende las propiedades de un estereotipo, permitiendo añadir nueva información en la especificación de un estereotipo. Restricción. Extiende la semántica de un bloque de construcción, permitiendo añadir nuevas reglas o modificar las existentes.
Obtenido de la especificación de Superestructura de UML 2.0
Obtenido de la especificación de Superestructura de UML 2.2
Son diagramas que no serán tratados en los cursos de ADS.
En 1995, Philippe Kruchten diseña el modelo de 4+1 vistas para describir la arquitectura de un sistema. Tal como se muestra en la Figura, cada vista se refiere a un conjunto de intereses de diferentes stakeholders del sistema. Con UML, las vistas son descritas mediante diagramas. Las vistas interactúan entre sí, pues por ejemplo: Los nodos de la vista de despliegue contienen componentes de la vista de implementación, que a su vez, representan la realización física de las clases, interfaces, colaboraciones y clases activas de la vista de diseño y de procesos. Para mayor información, revisar el libro “El lenguaje Unificado de Modelado - UML 2.0” por los 3 amigos: Booch, Jacobson y Rumbaugh., CAP. 2, pag 35. Bloques básicos de construcción