Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
Ingeniería de Software II
Metodologías ágiles.
Fundamentos de Diseño de Software INFT.1
Metodologías de desarrollo
Ingeniería de Software
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
2. Diseño y Desarrollo del Producto
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Modelos de Proceso del Software
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
Administración de Procesos de Pruebas
Ingeniería del Software
Versión 2004 Enrique Bañuelos Gómez
M.S.C. Ivette Hernández Dávila
HERRAMIENTAS CASE.
Ingeniería de Software
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Ingeniería de Software
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Ingeniería de Software
Las etapas de un proyecto
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Ingeniería de Software
Ciclo de Vida del Software
Tema 1: Introducción al análisis y diseño de aplicaciones software
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Modelos de desarrollo de Software
Técnicas de Programación
Ingeniería de Requerimiento
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
I NTRODUCCIÓN A LA I NGENIERÍA DEL S OFTWARE Ing. Sonia Godoy H Informática empresarial Ing-Sonia Godoy H.
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
Planificación del ciclo de vida de un producto de software
Ximena Romano – Doris Correa
Tema 1: Introducción a la Ingeniería de Software
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Pruebas y La Vida del Ciclo de Desarrollo del Software
El rol de SQA en PIS.
¿Qué es la Ingeniería del Software?
INGENIERIA DE SOFTWARE
Alexander Aristizabal Ángelo flores herrera
Capitulo 1 Roger S. Presman
Procesos de Desarrollo de Software
Roles de Open UP.
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Ingeniería del Software I
Ciclo de Vida del Software
De Informaciòn Gerencial Lcda. Oly Mata.
Proceso de desarrollo de Software
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Fundamentos de Computación
Software de Comunicaciones
Modelo de procesos de software
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Junio, 2013.
Transcripción de la presentación:

Ingeniería de Software

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

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

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

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

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

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.

El Software Atributos de un buen software Mantenible Confiable Eficiente Usabilidad

¿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

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

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.

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

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

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.

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

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

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).

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.

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.

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

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

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.

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.

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).

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

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

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

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.

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

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.

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

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.

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

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.

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

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

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

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.

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)

FIN