La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software. Agenda Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas Ética y Responsabilidad El Software Participantes.

Presentaciones similares


Presentación del tema: "Ingeniería de Software. Agenda Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas Ética y Responsabilidad El Software Participantes."— Transcripción de la presentación:

1 Ingeniería de Software

2 Agenda Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas Ética y Responsabilidad El Software Participantes en el Desarrollo Pasos en el desarrollo del Sw. Ingeniería de Software y de Sistemas. Cambios y Tendencias Mitos del Software El Proceso

3 Relación con otras disciplinas Ingeniería: Construcción de artefactos cumpliendo con restricciones Arte más que Ciencia (hacer más que saber) Plazo, Costo, Calidad, Otras Administración Proyectos, Recursos Humanos

4 Etica y responsabilidad Repercusiones de fallas en el software: pérdidas financieras riesgo a la seguridad Más allá de las fallas: Impacto social Calidad de vida Cuestiones legales

5 Calidad del Software Problemas: Plazo Costo respecto a presupuesto Utilidad Requerimientos oscuros o cambiantes Fallas Rigidez Alto costo de mantenimiento Riesgos

6 Exactitud Fiabilidad Eficiente Integridad Facilidad de uso Mantención Pruebas Flexibilidad Portabilidad Reusabilidad Interoperabilidad Completitud Trazabilidad Consistencia Precisión Tolerancia a errores Efic. En la ejecución Efic. en almacenamiento Control de acceso Verificación de acceso Operabilidad Entrenamiento Hab. En comunicación Simplicidad Concisión Instrumentación Autodescripción Facil expansión Generalidad Modularidad Independencia del Sis. Independencia del hw Stand. En comunicac. Stand. De datos

7 El Software Características del Software -Se desarrolla, no se fabrica. -No se estropea. -Construcción a medida Aplicaciones -Software de sistemas, Tiempo Real -Gestión, Empotrados, Web, IA.

8 El Software Atributos de un buen software Mantenible Confiable Eficiente Usabilidad

9 ¿Quiénes participan? CLIENTE Patrocina el desarrollo del sistema USUARIO Usa el sistema DESARROLLADOR Construye el sistema Obligación contractual $$$, necesidades Sistema de software Necesidades

10 Mantenimiento Diseño del Sistema Análisis y Definición de Requerimientos Diseño del programa Implementación del programa Prueba Unitaria Prueba de Integración Prueba del Sistema Liberación del Sistema Paso en el Desarrollo de Software Roles de los Desarrolladores Analista Diseñador Programador Tester Capacitador

11 Ingeniería de Sw - Sistemas Un conjunto de componentes interrelacionados trabajando conjuntamente para un fin común. El sistema puede incluir software, dispositivos mecánicos y eléctricos, hardware, y ser operado por gente. Los componentes del sistema son dependientes de otros componentes. Las propiedades y el comportamiento de los componentes del sistema están interrelacionados de forma compleja.

12 Tendencias Tiempo para salir al mercado Inversión de relación de costo entre HW y SW Desktop computing Interconexión en Redes Tecnología de Objetos Problemas con Modelo en Cascada Interfaces Gráficas CAMBIOS EN INGENIERIA DE SOFTWARE

13 Mitos del Software Mito1: Tenemos un libro con estándares Realidad1: ¿Es conocido? Mito2: Hay herramientas avanzadas y pcs poderosos Realidad2: ¿Se utilizan? Mito3: Agregamos más gente si nos atrasamos Realidad3: Se atrasa más [brooks]. Mito4: Declarando generalmente los objetivos, estamos listos para programar Realidad4: Mala definición = fracaso

14 Mitos del Software Mito5: Los requisitos cambian pero es fácil acomodarse, ya que el software es flexible Realidad5: El impacto varía según el momento donde se introduzcan los cambios.

15 El Proceso del Software ¿Qué es? Proceso, Métodos y Herramientas

16 Definición El proceso de desarrollar software (organización y disciplina en las actividades) contribuyen a la calidad del software y a la velocidad con que se desarrolla. Significado del Proceso - seguir, escribir Modelos de Proceso de Software Herramientas y Técnicas Modelado en la Práctica

17 Definición Conjunto ordenado de tareas como Proceso: serie de pasos con actividades, restricciones y recursos que producen una salida de cierto tipo. Proceso + construcción de un producto, se menciona como Ciclo de Vida (del producto).

18 Siguiendo un proceso….. Un proceso es un conjunto de procedimientos (receta), organizado para construir productos que satisfacen una seria de objetivos y estándares. Los procesos son importantes porque imponen consistencia y estructura en un conjunto de actividades. Sabemos cómo hacer algo bien y queremos forzar que otros lo hagan de la misma forma.

19 El proceso (escribiendo…..) Escribir todas las actividades principales. Usa recursos sujeto a restricciones. Puede estar compuesto de subprocesos. Cada actividad tiene un criterio de entrada y otro de salida. Las Actividades están organizadas en una secuencia. Establecer los objetivos de cada actividad.

20 Proceso, Métodos y Herramientas Proceso establece un framework Métodos ¿Cómo? Herramientas CASE

21 El Proceso del Software Marco de Trabajo Actividades del Marco de trabajo Conjunto de Tareas Tareas Hitos, entregas SQA

22 El Proceso del Software Fase de Definición Análisis de Sistema: Entendimiento, soluciones y qué debe hacer el SW. Planificación del proyecto: Plan de trabajo, hitos, tareas, estimación. Requisitos: Especificación - limitaciones de diseño.

23 El Proceso del Software Fase de Desarrollo Diseño del software: traducción de requisitos en estructuras de datos, arquitectura, procedimientos, algoritmos e interfaces. Codificación: traducción de algoritmos a un lenguaje de programación Prueba del SW: Pruebas funcionales, lógicas, de implementación, etc.

24 El Proceso del Software Fase de Mantenimiento Mantenimiento correctivo (corregir defectos) Mantenimiento adaptativo (modificaciones en relación al entorno exterior) Mantenimiento evolutivo (más allá de los requisitos funcionales originales).

25 Modelos de Procesos del SW Cascada Prototipo Espiral Evolutivo RAD Basado en Componentes Incremental / Iterativo (PU) Entrega por etapas

26 En la realidad……… ANALISIS DE REQUERIMIENTOS DISEÑO DEL SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA PRUEBA DE INTEGRACION PRUEBA DEL SISTEMA LIBRAR AL USO MANTENIMIENTO

27 Cascada Definición de Requerimientos Diseño del Software y del Sistema Implementación y Prueba de unidades Integración y Prueba del Sistema Operación y Mantenimiento

28 Cascada (2) Análisis de requerimientos y definición. Diseño del software. Implementación y prueba de unidades Integración y prueba del sistema. Operación y mantenimiento. La dificultad en esta modelo reside, en la dificultad de hacer cambios entre etapas.

29 Prototipo LISTA DE REVISIONES LISTA DE REVISIONES LISTA DE REVISIONES PROTOTIPAR REQUERIMIENTOS PROTOTIPAR DISEÑO PROTOTIPAR SISTEMA PRUEBA SISTEMA LIBERADO REQUERIMIENTOS DEL SISTEMA (a veces informales o incompletos) revisar prototipo revisión de usuario/ cliente

30 Prototipo (2) Prototipado exploratorio l El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de una especificación inicial. Se debe comenzar con unas especificaciones bien claras. Prototipado de throw-away. l El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.

31 Espiral Determine objetivos alternativas y restricciones Evalúe alternativas, identifique y resuelva riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Planea la siguiente fase Desarrolla y verifica el siguiente nivel del producto Prototipo Operacional Prototipo 3 Prototipo 2 Proto tipo 3 Plan de requerimientos Plan del ciclo de vida REVISIÓN Plan de Desarrollo Plan de Integración y Prueba Concepto de Operación Simulaciones, modelos y benchmarks Requeri mientos de SW Validación de Requerimientos Diseño V &V Servicio Prueba de Aceptación Prueba de Integración Prueba de Unidades Codificación Diseño Detallado Diseño del Producto

32 Espiral (2) Planteamiento de Objetivos l Se identifican los objetivos específicos para cada fase del proyecto. Identificación y reducción de riesgos. l Los riesgos clave se identifican y analizan, y la información sirve para minimizar los riesgos. Desarrollo y Validación. l Se elige un modelo apropiado para la siguiente fase del desarrollo. Planeación. l Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral.

33 Evolutivo Descripción del sistema Versión Inicial Versión Final Versiones Intermedias Especificación Desarrollo Validación Actividades Concurrentes

34 Evolutivo (2) Problemas l Poca visibilidad en el proceso l Los sistemas están pobremente especificados l Se requieren habilidades especiales. Aplicabilidad l Para sistemas interactivos pequeños o medianos. l Para partes de sistemas grandes (p.ej. la interfaz de usuario). l Para sistemas de corta vida.

35 RAD Fuerte uso de componentes reutilizables. Componentes: Modelado de Gestión Modelado de datos Modelado del Proceso Generación de aplicaciones Pruebas y entrega

36 Iterativo e Incremental Apoyo al Desarrollo de Software Conjunto de mejores Práctica y Herramientas Basado en Equilibrio de Función y Arquitectura Desarrollo a través de Mini Proyectos Incrementables El Proceso Unificado

37 Entrega por Etapas Etapa 1: Diseño detallado, codificación, depuración, prueba y entrega Etapa 2: Diseño detallado, codificación, depuración, prueba y entrega Etapa n: Diseño detallado, codificación, depuración, prueba y entrega Diseño Global Análisis de Requerimientos Concepto

38 Visibilidad del Proceso Los sistemas de software son intangibles por lo que los administradores necesitan documentación para identificar el progreso en el desarrollo. Esto puede causar problemas.. l El tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar una actividad. l La necesidad de producir documentos restringe la iteración entre procesos. l El tiempo para revisar y aprobar documentos es significativo.

39 El proceso (conclusiones) Proceso débil = producto final sufrirá. Producto y Proceso van de la mano. La dependencia obsesiva del proceso es peligroso (Margaret Davis)

40


Descargar ppt "Ingeniería de Software. Agenda Surgimiento Definiciones Solución de Problemas Relación con otras disciplinas Ética y Responsabilidad El Software Participantes."

Presentaciones similares


Anuncios Google