La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software

Presentaciones similares


Presentación del tema: "Ingeniería de Software"— 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 Modelo de Calidad de McCall
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 Modelo de Calidad de McCall

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? Patrocina el desarrollo CLIENTE del sistema $$$,
USUARIO Usa el sistema DESARROLLADOR Construye el sistema Obligación contractual $$$, necesidades Sistema de software Necesidades

10 Paso en el Desarrollo de Software
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 CAMBIOS EN INGENIERIA DE SOFTWARE Tecnología de Objetos
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 pc’s 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 MANTENIMIENTO DISEÑO DEL
SISTEMA DISEÑO DE PROGRAMAS IMPLEMENTACION DE PROGRAMAS PRUEBA UNITARIA PRUEBA DE INTEGRACION PRUEBA DEL LIBRAR AL USO MANTENIMIENTO

27 Cascada Operación y Mantenimiento 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 PROTOTIPAR REQUERIMIENTOS DISEÑO SISTEMA
PRUEBA LIBERADO DEL SISTEMA (a veces informales o incompletos) revisar prototipo revisión de usuario/ cliente

30 Prototipo (2) Prototipado exploratorio 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”. El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.

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

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

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

34 Evolutivo (2) Poca visibilidad en el proceso
Problemas Poca visibilidad en el proceso Los sistemas están pobremente especificados Se requieren habilidades especiales. Aplicabilidad Para sistemas interactivos pequeños o medianos. Para partes de sistemas grandes (p.ej. la interfaz de usuario). 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
El Proceso Unificado 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

37 Análisis de Requerimientos
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.. El tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar una actividad. La necesidad de producir documentos restringe la iteración entre procesos. 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 FIN


Descargar ppt "Ingeniería de Software"

Presentaciones similares


Anuncios Google