Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
SESIÓN 02: MODELOS Y MARCOS DE PROCESOS DE SOFTWARE Pregrado Contenidos Motivación Modelos de proceso software Metodologías Discusión Ingeniería de Sistemas Pregrado I. Motivación Claves en el Desarrollo de SI Herramientas Metodología Notación Ingeniería de Sistemas Pregrado II. Modelos de proceso de software La Ingeniería de Software como disciplina Un modelo de proceso de software es una representación simplificada de un proceso de software que conlleva una estrategia global para abordar el desarrollo de software Modelos de proceso de software: Codificar y corregir (code-and-fix) Desarrollo en cascada Desarrollo evolutivo Desarrollo formal de sistemas Desarrollo basado en reutilización Desarrollo incremental Desarrollo en espiral Ingeniería de Sistemas Pregrado II. Modelos de proceso de software Desarrollo en Cascada [Ingeniería de Software. Sommerville I.., 2002] Ingeniería de Sistemas Pregrado [Ingeniería de Software. Sommerville I.., 2002] II. Modelos de proceso de software Desarrollo evolutivo Ingeniería de Sistemas Pregrado [Balzer R. A 15 Year Perspective on Automatic Programming. IEEE Transactions on Software Engineering, vol.11, núm.11, páginas 1257-1268, Noviembre 1985 ] II. Modelos de proceso de software Desarrollo formal de sistemas Especificación Tranformación Interactiva Transformación Automática Optimización Mantenimiento (pr Validación de Especificación Especificación de alto nivel ototipo) Desarrollo Formal Desiciones Especificación de bajo nivel Código Fuente Especificación Informal Ingeniería de Sistemas Pregrado [Ingeniería de Software. Sommerville I.., 2002] II. Modelos de proceso de software Desarrollo basado en reutilización Ingeniería de Sistemas Pregrado [Ingeniería de Software. Sommerville I.., 2002] II. Modelos de proceso de software Desarrollo incremental Ingeniería de Sistemas Pregrado [Boehm, B. W., A Spiral Model of Software Develpment and Enhancement, IEEE Computer, vol. 21, no.5, Mayo 1988 ] II. Modelos de proceso de software Desarrollo en espiral Ingeniería de Sistemas Pregrado II. Modelos de proceso de software ¿Cuál es el más adecuado? Modelo de proceso Desempeño con requisitos y arquitectura no predefinidos Produce software altamente fiable Gestión de riesgos Permite correcciones sobre la marcha Visión del progreso por el Cliente y el Jefe del proyecto Codificar y corregir Bajo Bajo Bajo Alto Medio Desarrollo En cascada Bajo Alto Bajo Bajo Bajo Desarrollo Evolutivo Alto Medio Medio Alto Alto Desarrollo formal de sistemas Bajo Alto Bajo a Medio Bajo Bajo Desarrollo basado en reutilización Medio Bajo a Alto Bajo a Medio Alto Alto Desarrollo Incremental Bajo Alto Medio Bajo Bajo Desarrollo Espiral Alto Alto Alto Medio Medio Ingeniería de Sistemas Pregrado Requisitos nuevos o modificados Sistema nuevo o modificado Proceso de Desarrollo de Software En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo No existe una metodología de software universal. Las características de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable III. Metodologías ¿Qué es una Metodología? Ingeniería de Sistemas Pregrado III. Metodología Metodologías Estructuradas Los métodos estructurados comenzaron a desarrollar-se a fines de los 70’s con la Programación Estructurada, luego a mediados de los 70’s aparecieron técnicas para el Diseño primero y luego para el Análisis. Enfocados a implementaciones usando lenguajes de 3ra generación Ejemplos de metodologías estructuradas gubernamentales: MERISE (Francia), MÉTRICA 3 (España), SSADM (Reino Unido) Ejemplos de métodos estructurados en el ámbito académico: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco e Information Engineering Ingeniería de Sistemas Pregrado III. Metodología Metodologías OO Su historia va unida a la evolución de los lenguajes de programación orientada a objeto, los más representativos: a fines de los 60’s SIMULA, a fines de los 70’s Smalltalk-80, la primera versión de C++ por Bjarne Stroustrup en 1981 y actualmente Java o C#. A fines de los 80’s comenzaron a consolidarse algunos métodos Orientadas a Objeto En 1995 aparece el Método Unificado, que posteriormente se reorienta para dar lugar al Unified Modeling Language (UML), la notación OO más popular en la actualidad Algunos métodos OO con notaciones predecesoras de UML: OOAD (Booch), OOSE (Jacobson), Coad & Yourdon, Shaler & Mellor y OMT (Rumbaugh) Algunas metodologías orientadas a objetos basadas en UML: Rational Unified Process (RUP), OPEN, MÉTRICA 3 Ingeniería de Sistemas Pregrado III. Metodología Elementos de una Metodología Proceso SW Notación Herramientas Personas Artefactos Roles Actividades Ingeniería de Sistemas Pregrado Especificación de Procesos de Software Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Ingeniería de Sistemas Pregrado Actividades de la Captura de Requisitos Según el RUP, los principales pasos para capturar los requerimientos son: Identificación de Actores y Casos de uso Priorizar Casos de Uso Detallar Casos de Uso Estructurar el MCU Prototipar la interfaz de usuario (GUI). Ingeniería de Sistemas Pregrado Identificación de escenarios ¿Qué tareas necesita el actor que realice el sistema? ¿Qué información consulta el actor? ¿quién crea esos datos? ¿se pueden modificar? ¿quién puede hacerlo? ¿Qué cambios externos necesita informar el actor al sistema? ¿Cuándo y con qué frecuencia? ¿De qué eventos necesita el actor que le informe el sistema? ¿cuándo y con qué frecuencia? Ingeniería de Sistemas Pregrado Identificación de Requerimientos Ingeniería de Sistemas Pregrado Requerimiento Funcional Ingeniería de Sistemas Pregrado Requerimiento No Funcional Ingeniería de Sistemas Pregrado Requerimiento No Funcional Ingeniería de Sistemas Pregrado Identificación de Requerimientos Ingeniería de Sistemas Pregrado Matriz Proceso Requerimientos Ingeniería de Sistemas Pregrado Trazabilidad de Requerimientos con Casos de uso Ingeniería de Sistemas Pregrado Trazabilidad de Requerimientos con Casos de uso Ingeniería de Sistemas Pregrado ¿Por qué Trazabilidad de Requerimientos con Casos de uso? Ingeniería de Sistemas Pregrado Priorización de casos de uso Determinar cuáles son necesarios para el desarrollo en las primeras iteraciones y cuáles pueden dejarse para posteriores iteraciones Cuestiones a tener en cuenta: CU con dificultad de desarrollo CU imprescindibles para la puesta en marcha del sistema Organización del desarrollo incremental Disponibilidad de equipo de desarrollo Se revisa la priorización con el Jefe de Proyecto y se utiliza como entrada para la planificación de cada iteración del proyecto. Ingeniería de Sistemas Pregrado Priorizar requerimientos Formula Generar Visita = 0.2*5+0.3*6+0.4*8+0.1*9 = 6.9 Los valores que se colocan en cada caso de uso van de 1 hasta 10 Ingeniería de Sistemas Pregrado Priorizar requerimientos Formula Tomar Pedido = 0.4*4+0.3*5+0.2*10+0.1*10 = 6.1 Los valores que se colocan en cada caso de uso van de 1 hasta 10 Ingeniería de Sistemas Pregrado Modelo de casos de uso de sistemas Ingeniería de Sistemas Pregrado Ejemplo PROCESO LOGÍSTICO El Gerente de Logística en las entrevista describió los requisitos que debería tener el nuevo sistema. R1. El encargado de compras debe de ingresar al sistema por medio de una pantalla de login. R2. El Encargado de compras debe de registrar la compra en el sistema. 07/03/2022 41 Ingeniería de Sistemas Pregrado Ejemplo PROCESO LOGÍSTICO 1,- Encontrar los actores El Gerente de Logística en las entrevistadescribió los requisitos que debería tener el nuevo sistema. R1. El encargado de compras debe de ingresar al sistema por medio de una pantalla de login. R2. El encargado de compras debe de registrar la compra en el sistema. 07/03/2022 42 Ingeniería de Sistemas Pregrado Actor Ingeniería de Sistemas Pregrado Ejemplo PROCESO LOGÍSTICO 1,- Encontrar los casos de uso El Gerente de Logística en las entrevista describió los requisitos que debería tener el nuevo sistema. R1. El encargado de compras debe de ingresar al sistema por medio de una pantalla de login. R2. El encargado de compras debe de registrar la compra en el sistema. 44 Ingeniería de Sistemas Pregrado Casos de uso Ingeniería de Sistemas Pregrado Diagrama de Casos de Uso 46 Ingeniería de Sistemas Pregrado Detallar los casos de uso Detallar los casos de Uso Objetivo principal: describir su flujo de sucesos en detalle Cómo comienza Cómo termina Cómo interactúan con los actores Se detalla paso a paso la secuencia de acciones del CU Se trabaja estrechamente con los usuarios reales de los CU Resultado: descripción detallada mediante Texto Diagramas Ingeniería de Sistemas Pregrado Documento Plantilla de Caso de Uso Ingeniería de Sistemas Pregrado Documento Plantilla de Caso de Uso Ingeniería de Sistemas Pregrado Documento Plantilla de Caso de Uso Ingeniería de Sistemas Pregrado Plantilla de casos de uso Ingeniería de Sistemas Pregrado
Compartir