METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.010 CONCEPTOS GENERALES - Metodología - Técnica - Herramienta - Tarea - Procedimiento - Producto METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.020 DESARROLLO CONVENCIONAL L Los resultados finales son impredecibles L No hay forma de controlar lo que está sucediendo en el Proyecto L Los cambios organizativos afectan negativamente al proceso de desarrollo METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.030 DESARROLLO ESTRUCTURADO þ Programación estructurada þ Diseño estructurado þ Análisis estructurado þ Especificaciones funcionales: ý Gráficas ý Particionadas ý Mínimamente redundantes METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.040 RELACION HISTORICA DE LAS PRINCIPALES METODOLOGIAS AÑO 1968 1974 1975 1977 1978 1981 1985 1986 1987 1989 1990 1993 1995 METODOLOGÍA Conceptos sobre la programación estructurada de DIJKSTRA Técnicas de programación estructurada de WARNIER y JACKSON Primeros conceptos sobre diseño estructurado de MYERS y YOURDON Primeros conceptos sobre análisis estructurado GANE y SARSON Análisis estructurado: DEMARCO y WEINBERG Nace MERISE SSADM (versión inicial) Information Engineering (versión inicial) Análisis y Diseño estructurado para sistemas de tiempo real de WARD y MELLOR SSADM Versión 3 Análisis y Diseño estructurado para sistemas de tiempo real de HATLEY y PIRHBAY METRICA (versión inicial) SSADM Versión 4 METRICA Versión 2 METRICA Versión 2.1 METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.050 DESARROLLO ORIENTADO AL OBJETO METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.060 IMPACTO DE LA METODOLOGIA EN EL ENTORNO DE DESARROLO ENTORNO DE DESARROLLO DE SOFTWARE ORGANIZACION DE DESARROLLO DE SOFTWARE EQUIPO DE DESARROLLO DE SOFTWARE Dan una estructura visible Seleccionan las herramientas PROCEDIMIENTOS DE GESTION Da informes a la dirección Coordinan y guían METODOLOGIA DE DESARROLLO soportan métodos SOPORTE AUTOMATIZADO TECNICAS determinan las herramientas necesarias METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.070 CARACTERISTICAS DESEABLES DE UNA METODOLOGIA J Existencia de reglas predefinidas J Cobertura total del ciclo de desarrollo J Verificaciones intermedias J Planificación y control J Comunicación efectiva J Utilización sobre un abanico amplio de proyectos J Fácil formación J Herramientas CASE J Actividades que mejoren el proceso de desarrollo J Soporte al mantenimiento J Soporte de la reutilización de software METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.080 CLASIFICACION DE LAS METODOLOGIAS ENFOQUE TIPO DE SISTEMA FORMALIDAD ESTRUCTURADAS * Orientadas a Procesos * Orientadas a Datos GESTIÓN NO FORMAL - Jerárquicos - No jerárquicos * Mixtas ORIENTADAS A OBJETOS TIEMPO REAL FORMAL METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.090 METODOLOGIAS ESTRUCTURADAS METODOLOGIAS ORIENTADAS A PROCESOS • Especificación estructurada: 3Diagramas de Flujo de Datos 3Diccionario de Datos 3Especificaciones de procesos METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.100 METODOLOGIAS ESTRUCTURADAS METODOLOGIAS ORIENTADAS A PROCESOS FASES DEL ANALISIS ESTRUCTURADO Método de DeMarco Método de Gane y Sarson 1. Construir el modelo físico actual (DFD físico actual) 2. Construir el modelo lógico actual (DFD lógico actual) 3. Crear un conjunto de modelos físicos alternativos 4. Estimar los costes y tiempos de cada opción 5. Seleccionar un modelo 6. Empaquetar la especificación 1. Construir el modelo lógico actual (DFD lógico actual) 2. Construir el modelo del nuevo sistema: elaborar una especificación estructurada y construir un modelo lógico de datos en tercera forma normal que exprese el contenido de los almacenes de datos. 3. Seleccionar un modelo lógico 4. Crear el nuevo modelo físico del sistema 5. Empaquetar la especificación METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.110 METODOLOGIAS ESTRUCTURADAS METODOLOGIAS ORIENTADAS A PROCESOS • Metodología de Yourdon/Constantine 3Realizar los DFD del sistema 3Realizar el diagrama de estructuras 3Evaluar el diseño 3 Preparar el diseño para la implantación METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.120 METODOLOGIAS ESTRUCTURADAS METODOLOGIAS ORIENTADAS A DATOS JERARQUICOS • La estructura de control del programa debe ser jerárquica y se debe derivar de la estructura de datos del programa • El proceso de diseño consiste en definir primero las estructuras de los datos de entrada y salida, mezclarlas todas en una estructura jerárquica de programa y después ordenar detalladamente la lógica procedimental para que se ajuste a esta estructura • El diseño lógico debe preceder y estar separado del diseño físico METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.130 METODOLOGIAS ESTRUCTURADAS METODOLOGIAS ORIENTADAS A DATOS NO JERARQUICOS • Metodología Ingeniería de la Información 3 Planificación: construir una arquitectura de la Información y una estrategia que soporte los objetivos de la organización 3Análisis: comprender las áreas del negocio y determinar los requisitos del sistema 3 Diseño: establecer el comportamiento del sistema deseado por el usuario y que sea alcanzable por la tecnología 3Construcción: construir sistemas que cumplan los tres niveles anteriores METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.140 METODOLOGIAS ORIENTADAS A OBJETOS 5 “Revolucionarios” o “puros” 5 “Sintetistas” o “evolutivos” METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.150 METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL + Manejo de interrupciones + Comunicación y sincronización entre tareas + Gestión de procesos concurrentes + Respuesta oportuna ante eventos externos + Datos continuos o discretos METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.160 PRINCIPALES METODOLOGIAS DE DESARROLLO METODOLOGIA MERISE NIVELES CONCEPTUAL ORGANIZATIVO FÍSICO DATOS Modelo Conceptual de Datos TRATAMIENTOS Modelo Conceptual de Tratamientos Modelo Lógico de Datos Modelo Organizativo de Tratamientos Modelo Físico de Datos Modelo Operativo de Tratamientos METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.170 PRINCIPALES METODOLOGIAS DE DESARROLLO METODOLOGIA SSADM Estudio completo Administración y Control Construcción y Pruebas Diseño Físico Especificación Lógica del Sistema Especificación de Requisitos Análisis de Requisitos Planificación Estratégica Estudio de Viabilidad SSADM Desarrollo Producción METODOLOGIAS DE DESARROLLO DE SOFTWARE 4.180 PRINCIPALES METODOLOGIAS DE DESARROLLO METODOLOGIA METRICA þ FASE 0: Plan de Sistemas de Información þ FASE 1: Análisis de Sistemas þ FASE 2: Diseño de Sistemas þ FASE 3: Construcción de Sistemas þ FASE 4: Implantación de Sistemas