INGENIERIA DE SOFTWARE

Documentos relacionados
El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL

Ingeniería de Software: Y eso qué es?

CICLO DE VIDA DEL SOFTWARE

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Fuente: Ian Sommerville. Ingeniería del Software, Séptima Edición

Tema II Ciclo de Vida del Software

El Proceso de Ingeniería Web. Rogelio Ferreira Escutia

INGENIERÍA N DEL SOFTWARE

MODELOS PRESCRIPTIVOS

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Definición de Ingeniería del Software

Modelos de Proceso. Modelos Prescriptivos. Nilda M. Pérez Otero

PROGRAMA ANALÍTICO DE ASIGNATURA

Procesos de Software

Computación I. Unidad III. Sistemas de Información. Ing Angela Galea

Modelos de desarrollo de sistemas

06/10/2009. Qué es el Ciclo de Vida del SW? La norma Modelos de desarrollo

Tests de examen de CDGSI ACTUALIZADO FEB TEMA 5 DESARROLLO E IMPLANTACIÓN DE SISTEMAS DE INFORMACIÓN

Ingeniería en Desarrollo de Software 3 er semestre. Programa de la asignatura: Introducción a la ingeniería de software

Perfil Profesional en formato de la SETEC

SISTEMAS II CICLO DE VIDA

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

Tecnología hardware y software

Pontificia Universidad Javeriana Ingeniería de Software. Profesora: Olga Roa. Cali

Desarrollo Orientado a Objetos

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

Matriz de Competencias THEME Mecatrónica con Competencias Parciales/ Unidades de Resultados de Aprendizaje

Programación Orientada a Objetos

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

METODOLOGÍAS DE DESARROLLO DE SOFTWARE SEMANA 01 INTRODUCCIÓN - PARADIGMAS DE DESARROLLO DE SOFTWARE

Ingeniería del Software 2

Fundamentos de la Ingeniería del Software

Unidad V: Temas Avanzados de Ingeniería de Software

GESTIÓN DE PROYECTOS

Procesos del software

Ingeniería de Software

Clasificación de las Herramientas CASE

ALLSOFT S.A. de C.V. Monterrey, N.L.

Unidad I: Fundamentos de Ingenieria de Software

Implementacion y prueba de unidades. Figura 2.1. El ciclo de vida del software. 1

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Modelos de Procesos de desarrollo de Software I NGENIERIA D E S O F T WA R E P R I MAVERA

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

octubre de 2007 Arquitectura de Software

CICLOS DE VIDA Y METODOLOGIAS

INGENIERÍA DE SOFTWARE I CICLO DE VIDA ING. VÍCTOR ANCAJIMA MIÑÁN

MODULO III. Análisis y Diseño de Sistemas de Información INF-162 III. RUP. 3.1 Introducción. Facilitador: Miguel Cotaña 26 de Abril

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Desarrollo Rápido de Software. Objetivos

Computación Avanzada. Ing. Daniel Capriles M.

Introducción a la Ingeniería de Software. Tema 2: Modelos de Proceso

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

FACULTAD DE INGENIERÍA

Nombre del formato: Instrumentación Didáctica del Periodo Código: ITSAL-AC-PO

Atributos de Calidad del Software

INGENIERÍA DE SOFTWARE. Sesión 8: Tipos de diagramas

Qué es RUP? RUP es un proceso de desarrollo de software: Objetivos: Es también un producto:

Transcripción:

INGENIERIA DE SOFTWARE Es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software... Zelkovitz Es la aplicación n práctica el conocimiento científico en el diseño o y construcción n de programas de computadora y la documentación n asociada requerida para desarrollar, operar y mantenerlos... Bohem

INGENIERIA DE SOFTWARE Trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales... Bauer Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación (funcionamiento) y mantenimiento del software --- IEEE

PRINCIPIOS DE LA INGENIERIA DE SOFTWARE 1. HAZ DE LA CALIDAD LA RAZON DE TRABAJAR 2. ES POSIBLE SOFTWARE DE ALTA CALIDAD 3. UNA BUENA GESTION ES MAS IMPORTANTE QUE UNA BUENA TECNOLOGIA 4. LAS PERSONAS Y TIEMPO NO SON INTERCAMBIABLES 5. IMPORTANTE SELECCIONAR EL MODELO ADECUADO 6. ENTREGAR PRODUCTOS AL USUARIO LO MAS PRONTO POSIBLE 7. DETERMINAR EL PROBLEMA ANTES DE ESCRIBIR LOS REQUISITOS 8. EVALUAR LAS ALTERNATIVAS DEL DISEÑO 9. DISEÑAR SIN DOCUMENTACION ES NO DISEÑAR

PRINCIPIOS DE LA INGENIERIA DE SOFTWARE 10. MINIMIZAR LA DISTANCIA INTELECTUAL 11. USAR FORMALISMOS DISTINTOS PARA LAS DISTINTAS FASES 12. LAS TECNICAS SON ANTERIORES A LAS HERRAMIENTAS 13. INSPECCIONAR EL CODIGO 14. PRIMERO HAZLO CORRECTO, DESPUES HAZLO RAPIDO 15. LA GENTE ES LA CLAVE DEL ÉXITO 16. INTRODUCE LAS MEJORAS CON CUIDADO 17. ASUMIR CADA QUIEN SU RESPONSABILIDAD 18. LA ENTROPIA DEL SOFTWARE ES CRECIENTE

CAPAS DE LA INGENIERIA DE SOFTWARE HERRAMIENTAS: proporciona un enfoque para el proceso y métodos, es soporte, se llama CASE HERRAMIENTAS METODOS PROCESO CALIDAD METODOS: indican cómo construir técnicamente el software PROCESO: la ingeniería de software se fundamente en el proceso, es la unión que mantiene juntas las capas de tecnología UN ENFOQUE DE CALIDAD: cualquier enfoque debe apoyarse sobre un compromiso de organización de calidad

CAPAS DE LA INGENIERIA DE SOFTWARE La estrategia para el desarrollo de software se le llama MODELO DE PROCESO o PARADIGMA DE INGENIERIA DE SOFTWARE

PARADIGMAS DEL SOFTWARE Cada paradigma es un intento de ordenar las actividades de ayudar al contro y coordinación de los proyectos de software

PARADIGMA 1: CICLO DE VIDA CLASICO ó MODELO LINEAL SECUENCIAL Demanda un acercamiento secuencial y sistemático que coordine las siguientes actividades Ing. de Sistemas o de Información ANALISIS DISEÑO CODIGO PRUEBA

INGENIERIA DE SISTEMAS: es el establecimiento de requisitos y de las partes que se necesitan para el desarrollo del sistema ANALISIS: conocimiento de la información, funciones, relaciones, comportamiento, rendimiento e interconexión DISEÑO: Se centra en la estructura de datos, arquitectura del software, representaciones de interfaz y detalle procedural

GENERACION DE CODIGO: realización en un lenguaje de programación PRUEBAS: internas de lógica y externas de funcionalidad MANTENIMIENTO: correctivo, adaptativo y perfectivo

POR QUE FALLA? Causa confusión al inicio ( requerimientos ) Es difícil el cliente exponga todos los requisitos El cliente debe tener paciencia hasta que el proyecto termine o este avanzado

PARADIGMA 2: CONSTRUCCION DE PROTOTIPOS Consiste en crear modelos del software que se va a construir CONSTRUIR Diseño Rápido ESCUCHAR AL CLIENTE MAQUETA Recolección de Requisitos CLIENTE PRUEBA MAQUETA Evaluación por el cliente

POR QUE FALLA? No se ha tenido en cuenta la calidad del software Querra hacer del prototipo un producto final EFECTIVO SI: Se definen las reglas al comienzo Cliente y desarrollador se ponen de acuerdo que el prototipo es un mecanismo para definir los requerimientos

PARADIGMA 3: EL MODELO DRA (RAD) Desarrollo Rápido de Aplicaciones Modelo lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto Es una adaptación del lineal utilizando una contrucción basada en componentes

Comprende las siguientes fases: 1 Modelado de Gestión ( que información ) 2 Modelado de Datos (características obj ) 3 Modelado del Proceso ( flujo de información) 4 Generación de aplicaciones ( lenguajes, técnicas) 5 Pruebas y entrega ( pruebas )

POR QUE FALLA? Para proyectos grandes requiere mucho recurso humano Requiere clientes y desarrolladores comprometidos No todas las aplicaciones son apropiadas para DRA No es adecuado cuando los riesgos son altos

PARADIGMA 4: MODELO INCREMENTAL Combina el lineal con el de prototipos Se centra en la entrega de un producto operacional con cada incremento Es util cuando no hay suficiente personal y no alcanza la fecha límite ANALISIS DISEÑO CODIGO PRUEBA Entrega primer incremento ANALISIS DISEÑO CODIGO PRUEBA Entrega segundo incremento ANALISIS DISEÑO CODIGO PRUEBA TIEMPO / CALENDARIZACION

PARADIGMA 5: MODELO ESPIRAL Combina prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial Utiliza la construcción de prototipos como mecanismo de reducción de riesgos por lo tanto demanda una consideración directa de los riesgos

Comunicación con el cliente Planificación Análisis de riesgos 4 3 2 1 Ingeniería Evaluación del cliente Construcción y Adaptación MODELO ESPIRAL

ACTIVIDADES PRINCIPALES: Comunicación con el cliente Planificación ( determinar objetivos, recursos, tiempo, alternativas, restricciones ) Analisis de riesgos Ingeniería ( construir la aplicación ) Construcción y acción ( adaptación, probar, instalar, dar soporte ) Evaluación del cliente ( valoración de resultados )

OBTIENE EN LAS ETAPAS: 1 proyecto de desarrollo de conceptos 2 proyecto de desarrollo de nuevos productos 3 proyecto de mejora de productos 4 proyecto de mantenimiento de productos

POR QUE FALLA? Puede resultar difícil convencere a grandes clientes de que el proceso es controlable Requiere una habilidad para la evaluación del riesgo ( sino se reconocen riesgos surgirán problemas )

PARADIGMA 6: DESARROLLO BASADO EN COMPONENTES Es un modelo de la tecnología de objetos Las clases son reutilizables por las diferentes aplicaciones y arquitecturas del sistema Conduce a la reutilización del software Se basa en el UML

PARADIGMA 7: TECNICAS DE 4TA GENERACION Es software preestablecido para ingeniereos programadores de alto nivel y genera codificaciones específicas Se enfoca en la habilidad de manejar un leguaje lo mas cercano al natural Estas son CASE y generadores de código Ahorra tiempo en proyectos cortos

FASES DE LA INGENIERIA DEL SOFTWARE DEFINICION Qué? Identificar la informacion que ha de ser procesada Su función Rendimiento Comportamiento del sistema Interfaces REQUISITOS Restricciones Criterios de validación

FASES DE LA INGENIERIA DEL SOFTWARE DESARROLLO Cómo? Cómo se diseñan las estructuras de datos Cómo implementarse los procedimientos Cómo caracterizar las interfaces Cómo traducir al lenguaje Cómo realizar las pruebas

FASES DE LA INGENIERIA DEL SOFTWARE MANTENIMIENTO Se centra en el CAMBIO, en la corrección de errores Adaptaciones del software Cambio por las mejoras 4 tipos de cambio: Corrección Adaptación Mejora Prevención

FASES DE LA INGENIERIA DEL SOFTWARE DEFINICION DESARROLLO MANTENIMIENTO ANALISIS PLANIFICACION ANALISIS REQUERIMIENTOS DISEÑO CODIFICACION PRUEBA CORRECTIVO ADAPTATIVO PERFECTIVO