E N D
A01: Ingeniería del Software y UML Ing. Maverich Rojas Arévalo maverichrojas@Hotmail.com
S1 Introducción al Ciclo de Vida y fases - Servicios ITIL
S1 Introducción al Ciclo de Vida y fases - Servicios ITIL CONTENIDO • Definición • Capas • Proceso de desarrollo • Modelos • Metodología
A01: Ingeniería del Software y UML INGENIERÍA DE SOFTWARE - DEFINICIÓN • Es una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software • Los Ingenieros de Software adoptan un enfoque sistemático cabo su trabajo y utilizan las herramientas y técnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles. para llevar a
A01: Ingeniería del Software y UML INGENIERÍA DE SOFTWARE - CAPAS Fomentan una cultura continua de mejoras de procesos que conduce al desarrollo de enfoques cada vez más robustos para la ingeniería del Sw. A Proporcionan un soporte automático o semi-automático para el proceso y los métodos, a estas herramientas se les llama herramientas CASE. B Indican cómo construir técnicamente el software. Abarcan una gran gama de tareas que incluyen análisis de requisitos, diseño, construcción de programas, pruebas y mantenimiento. C Define un marco de trabajo para un conjunto de áreas clave, las cuales forman la base del control de gestión de proyectos de software y establecen el contexto en el cual: se aplican los métodos técnicos, se producen resultados de trabajo, se establecen hitos, se asegura la calidad y el cambio se gestiona adecuadamente D
A01: Ingeniería del Software y UML DESARROLLO SW- FASES GENERALES
A01: Ingeniería del Software y UML DESARROLLO SW- DEFINICIÓN Y DESARROLLO Que? Como? Información a procesar Diseñar las estructuras de datos Implementar las funciones Función y rendimiento deseados Comportamiento del sistema Caracterizar las interfaces Validar el producto (pruebas, verificación) Restricciones de diseño Traducir el diseño a programación Interfaces establecidas
A01: Ingeniería del Software y UML DESARROLLO SW- MANTENIMIENTO • Cambio para facilitar el cambio A • Corregir los defectos B • Modificaciones por cambio externo C • Ampliar los requisitos funcionales originales, a petición del cliente. D
A01: Ingeniería del Software y UML MODELO DE PROCESOS - DEFINICIÓN • Es una plantilla, patrón o marco que define el proceso a través del cual se crea software. • Son instancias de un modelo de proceso • Una organización podría variar su modelo de proceso para cada proyecto, según:
A01: Ingeniería del Software y UML PROCESOS - CARACTERÍSTICAS conceptos Grado en que las actividades del proceso proporcionan resultados Grado en que los desarrolladores aceptan y usan el proceso Visibilidad Soportable Aceptabilidad Fiabilidad Robustez Mantenible Rapidez Entendible Capacidad de evitar o detectar errores antes de que sean defectos Por herramientas CASE Continuidad del proceso a pesar de los problemas Capacidad de evolución para adaptarse Velocidad en que el proceso puede proporcionar un sistema a partir de una especificación
A01: Ingeniería del Software y UML MODELOS GENÉRICOS Transformación de una especificación formal a lo largo de varias representaciones • Cascada • Prototipado • Desarrollo Evolutivo • En espiral • Basado en componentes • Métodos Formales Basado en la mentalidad de línea de ensamblaje (cartesiano) Se usa un prototipo para dar al usuario una idea concreta de lo que va a hacer el sistema Son iterativos: construyen versiones de software cada vez más completas Es bastante adecuado para la gestión de riesgos Adaptación a “alta velocidad” de la cascada. Equipos trabajando en paralelo
A01: Ingeniería del Software y UML MODELO DE CAPACIDAD DE MADUREZ Nivel 1: Inicial. A. El proceso empleado depende del caso, e incluso a veces se realiza en forma caótica. Pocos procesos de gestión son definidos, y el éxito depende del esfuerzo individual. B. Se establecen procesos de gestión para hacer un seguimiento de costos, de planificación y de la funcionalidad. Se tiene la capacidad para repetir éxitos anteriores en aplicaciones similares. C. Las actividades de gestión y de Ingeniería son documentadas, estandarizadas e integradas dentro de un proceso definido de desarrollo de software. D. Se recopilan medidas detalladas del proceso de desarrollo así como de la calidad del producto a través del uso de métricas. E. Existe una retroalimentación para mejorar el proceso a partir de las mediciones realizadas. Capacidad de comparar resultados obtenidos con un nuevo proceso o una nueva herramienta con relación al mismo proyecto llevado a cabo anteriormente utilizando otro tipo de herramienta o proceso. Nivel 2: Repetible. Nivel 3: Definido. Nivel 4: Gestionado. Nivel 5: Optimizado.
A01: Ingeniería del Software y UML MODELOS EN CASCADA Conceptualización • Se determina la arquitectura de la solución (división del sistema en subsistemas) Análisis de requisitos •Definen los requisitos funcionales y de rendimiento Diseño •Representación de la aplicación que sirve de guía a la implementación Implementación •Transforma el diseño en código Prueba •Validación e integración de software y sistemas
A01: Ingeniería del Software y UML MOD. EN CASCADA – Ventajas y Desventajas • Sirve cuando el personal esté poco cualificado (Sencillo) • No se ve un producto hasta muy tarde en el proceso. Un error grave detectado en las últimas fases puede ser letal • Impone una estructura de gestión de proyectos. Fases muy rígidas • Las revisiones de proyectos de gran complejidad son muy difíciles. • Aplicable cuando el problema es estable y cuando se trabaja con técnicas conocidas.
A01: Ingeniería del Software y UML Prototipado • Se aplica cada vez más cuando la rapidez de desarrollo es esencial • Prototipado evolutivo: • Prototipado desechable:
A01: Ingeniería del Software y UML Prototipado • Definen los objetivos globales del Sw. • Identifican los requisitos conocidos y más definidos. Recolección de requisitos (Cliente y desarrolladores) • Centrado en los aspectos visibles para el cliente Diseño rápido • Refinar los requisitos Evalúa el cliente
A01: Ingeniería del Software y UML PROTOTIPADO – Ventajas y Desventajas • Permite incrementalmente. • El cliente no entiende por qué hay que desechar el prototipo. Si simplemente ha pedido unos ajustes...(¿?) • Permite probar desarrolladores • Tiene una alta visibilidad tanto clientes como desarrolladores ven resultados rápidamente • Riesgo de software de baja calidad identificar los requisitos alternativas a los
A01: Ingeniería del Software y UML MODELOS EVOLUTIVOS • Fácil adaptación a los cambios • Son iterativos • Versiones mas completas del software en cada interacción. Aplica repetidamente el modelo Lineal Secuencial.
A01: Ingeniería del Software y UML MODELO INCREMENTAL
A01: Ingeniería del Software y UML MODELO INCREMENTAL • ____Es interactivo: Con cada incremento se entrega al cliente un producto operacional al cliente, que puede evaluarlo • ____ Personal : Permite variar el personal asignado a cada iteración • ____ Gestión riesgos técnicos: Por ejemplo, disponibilidad de hardware específico • ____ La primera iteración puede plantear los mismos problemas que en un modelo lineal secuencial
A01: Ingeniería del Software y UML MODELO ESPIRAL • Tratar primero las áreas de mayor riesgo • Múltiples iteraciones sobre varias regiones de tareas • Vuelta a la espiral: ciclo • Número de iteraciones predeterminadas o calculadas dinámicamente
A01: Ingeniería del Software y UML MODELO ESPIRAL – Ventajas y desventajas • ____Requiere identificación de riesgos • ____ Enfoque realista • ____ Gestión explícita de riesgos • ____Centra su atención en la reutilización de componentes y eliminación de errores en información descubierta en fases iniciales • ____ Los objetivos de calidad son el primer objetivo • ____Integra desarrollo con mantenimiento. • ____ Convencer cliente enfoque controlable • ____ Requiere refinamiento para uso generalizado de experiencia en la
A01: Ingeniería del Software y UML MODELO BASADO EN COMPONENTES • Modelo espiral (evolutivo+iterativo) + Tecnologías de objetos • Adapta la reusabilidad
A01: Ingeniería del Software y UML MODELO BASADO EN COMPONENTES • ____ Uso de nueva tecnología • ____ Alto grado de interoperabilidad con sistemas existentes • ____ Rapidez • ____ Válido para aplicaciones lido modularizables • ____ Exige conocer bien los requisitos y delimitar el ámbito del proyecto • ____ Número de personas • ____ Clientes y desarrolladores comprometidos • ____ Gestión riesgos técnicos altos
QUESTIONS And ANSWERS 25
A01: Ingeniería del Software y UML ACTIVIDAD • EC01: Análisis de conceptos – Realice un esquema (mapa conceptual, semántico, pictográfico…) de los conceptos fundamentales del tema desarrollado “conceptos generales del análisis de sistemas” Definición Capas Proceso de desarrollo Modelos Metodología
INV – ADS01 • Realice un informe de: • Metodología ágiles. • En la bibliografía definir las referencias de su investigación: • ApellidoDelAutor, PrimeraInicial. (Día Mes, Año). TítuloDelArtículo [Tipo]. Recuperado de http://PáginaWeb • Rusiñol, J. (02 de diciembre, 2016). Urkullu quiere someter el nuevo Estatuto a una consulta legal previa. Recuperado de http://www.lavanguardia.com/politica/201 61202/412333125505/urkullu-someter- estatuto-consulta-legal.html 27
A01: Ingeniería del Software y UML BIBLIOGRAFÍA • CAMPDERRICH FALGUERAS, BENET (2003), Ingeniería del software, Editorial UOC • PINO CORREA, FRANCISCO JOSÉ PIATTINI VELTHUIS, MARIO FERNÁNDEZ SÁNCHEZ, CARLOS MANUEL (2014), Modelo de madurez de ingeniería del software, AENOR - Asociación Española de Normalización y Certificación