1. curso unal cap1
Upcoming SlideShare
Loading in...5
×
 

1. curso unal cap1

on

  • 482 views

 

Statistics

Views

Total Views
482
Views on SlideShare
482
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    1. curso unal cap1 1. curso unal cap1 Document Transcript

    • Ingeniería de Software Objetivosu Diseño, construcción y mantenimiento de sistemas de u Definir la Ingeniería de Software y explicar su software grandes. importancia. u Discutir los conceptos de producto de software y proceso de software. u Explicar la importancia de la visibilidad delos procesos. u Introducir la noción de responsabilidad profesional. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Tópicos Ingeniería de Softwareu Productos de Software. u Las economías de los países desarrollados dependen enu El proceso de Software. gran parte del software.u El modelo de Espiral de Boehm. u Mas y más sistemas son actualmente controlados poru La visibilidad de los procesos. software.u Responsabilidad profesional. u La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software. u El gasto en La Ingeniería de Software, representa un alto porcentaje del PIB de los países desarrollados. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Costos del Software Productos de Softwareu Los costos del software a menudo dominan al costo del u Productos genéricos. sistema. El costo del software en un PC es a menudo mas l Productos que son producidos por una organización para ser vendidos al caro que la PC. mercado.u Cuesta mas mantener el software que desarrollarlo. Para u Productos hechos a medida. l Sistemas que son desarrollados bajo pedido a un desarrollador específico. sistemas con una larga vida, este costo se multiplica. u La mayor parte del gasto del software es en productosu La Ingeniería de Software concierne a un desarrollo genéricos, pero hay más esfuerzo en el desarrollo de los efectivo en cuanto a costes del software. sistemas hechos a medida. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 1
    • Características de los Productos de Importancia de las características del productoSoftwareu Mantenibles. u La importancia relativa de las características depende en el l Debe ser posible que el software evolucione y que siga cumpliendo con tipo de producto y en el ambiente en el que será utilizado. sus especificaciones.u Confiabilidad. u En algunos casos, algunos atributos pueden dominar. l El software no debe causar danos físicos o económicos en el caso de l En sistemas de seguridad críticos de tiempo real, los atributos clave fallos. pueden ser la confiabilidad y la eficiencia.u Eficiencia. u Los costos tienden a crecer exponencialmente si son l El software no debe desperdiciar los recursos del sistema. requeridos altos niveles de alguna característica.u Utilización adecuada. l El software debe contar con una interfaz de usuario adecuada y su documentación. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Costes de Eficiencia. El Proceso de Software u Conjunto estructurado de actividades requeridas para Costos desarrollar un sistema de software. l Especificación. l Diseño. l Validación. l Evolución. u Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. u Debe estar explícitamente modelado si va a ser bien administrado. Eficiencia Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Características del proceso Características del procesou Entendible u Confiable l Se encuentra el proceso bien definido y es entendible ?. l Los errores del proceso son descubiertos antes de que se conviertan en errores del producto ?.u Visible l El proceso es visible al exterior ?. u Robusto l Puede continuar el proceso a pesar de problemas inesperados ?.u Soportable l Puede el proceso ser soportado por herramientas CASE ?. u Mantenible l Puede el proceso evolucionar para cumplir con los objetivosu Aceptable organizacionales ?. l El proceso es aceptado por aquellos involucrados en el ?. u Rapidez l Que tan rápido puede producirse el sistema ?. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 2
    • Modelo de Ingeniería del Proceso Problemas en el Modelo del Procesou Especificación - establecer los requerimientos y u Normalmente, las especificaciones son incompletas o restricciones del sistema anómalasu Diseño - Producir un modelo en papel del sistema u No existe una distinción precisa entre la especificación, elu Manufactura - construir el sistema diseño y la manufacturau Prueba - verificar que el sistema cumpla con las u Solo hasta que el sistema se ha producido se puede probar especificaciones requeridas u El software no se puede remplazar siempre durante elu Instalación - entregar el sistema al usuario y asegurar su mantenimiento operacionalidadu Mantenimiento - reparar fallos en el sistema cundo sea descubiertos Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Modelos Genéricos de Desarrollo de Software Modelo de Cascada (gráfica) Definición deu Modelo de Cascada Requerimientos u Separar en distintas fases de especificación y desarrollo.u Desarrollo Evolutivo Diseño del Software y del Sistema u La especificación y el desarrollo están intercalados.u Prototipado Implementación y u Un modelo sirve de prototipo para la construcción del sistema final. Prueba de unidadesu Transformación Formal Integración y Prueba u Un modelo matemático del sistema se transforma formalmente en la del Sistema implementación.u Desarrollo basado en Reutilización Operación y Mantenimiento u El sistema es ensamblado a partir de componentes existentes. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Fases del Modelo de Cascada Desarrollo Evolutivo Actividades Concurrentesu Análisis de requerimientos y definición.u Diseño del sistema y del software. Versión Especificación Inicialu Implementación y prueba de unidadesu Integración y prueba del sistema. Descripciónu Operación y mantenimiento. del sistema Desarrollo Versiones Intermediasu La dificultad en esta modelo reside, en la dificultad de hacer cambios entre etapas. Versión Validación Final Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 3
    • Desarrollo Evolutivo Prototipadou Problemas u Prototipado exploratorio l Poca visibilidad en el proceso l El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a l Los sistemas están pobremente especificados partir de una especificación inicial. Se debe comenzar con unas l Se requieren habilidades especiales. especificaciones bien entendidas.u Aplicabilidad u Prototipado de “throw-away”. l Para sistemas interactivos pequeños o medianos. l El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas. l Para partes de sistemas grandes (p.ej. la interfaz de usuario). l Para sistemas de corta vida. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Problemas y Riesgos con los Modelos. Manejo de Riesgosu Cascada. u La tarea principal del administrador consiste en minimizar l Alto riesgo en sistemas nuevos debido a problemas en las especificaciones riesgos. y en el diseño. l Bajo riesgo para desarrollos bien comprendidos utilizando tecnología u El “riesgo” inherente en una actividad es se mide en base a conocida. la incertidumbre que presenta el resultado de esa actividad.u Prototipado. u Las actividades con alto riesgo causan sobre-costes en l Bajo riesgo para nuevas aplicaciones debido a que las especificaciones y cuanto a planeación y costos el diseño se llevan a cabo paso a paso. u El riesgo es proporcional al monto de la calidad de la l Alto riesgo debido a falta de visibilidad información disponible. Cuanto menos información, mayoru Evolutivo. el riesgo. l Alto riesgo debido a la necesidad de tecnología avanzada y habilidades del grupo desarrollador. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Modelos de Procesos Híbridos Modelo de Proceso de Espiral Evalúe alternativas, Determine objetivos identifique y resuelvau Los sistemas grandes están hechos usualmente de varios alternativas y restricciones Análisis de riesgos subsistemas. Riesgos Análisis de Riesgosu No es necesario utilizar el mismo modelo de proceso para Análisis de todos los subsistemas. Riesgos Prototipo Prototipo Operacional Análisis Prototipo 3u El prototipado es recomendado cuando existen REVISIÓN de Proto 2 Riesgos tipo 1 especificaciones de alto riesgo. Simulaciones, modelos y benchmarks Plan de requerimientos Concepto deu El modelo de cascada es utilizado en desarrollos bien Plan del ciclo de vida Operación Requeri mientos de Diseño Diseño comprendidos. Plan de Validación de SW del Detallado Producto Codificación Desarrollo Requerimientos Prueba de Plan de Integración Diseño Unidades Prueba de y Prueba V &V Planea la Prueba de Integración Aceptación Desarrolla y verifica siguiente fase el siguiente nivel Servicio del producto Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 4
    • Fases del Modelo de Espiral Plantilla para una ronda del espiralu Planteamiento de Objetivos u Objetivos. l Se identifican los objetivos específicos para cada fase del proyecto. u Restricciones.u Identificación y reducción de riesgos. u Alternativas. l Los riesgos clave se identifican y analizan, y la información sirve para minimizar los riesgos. u Riesgos.u Desarrollo y Validación. u Resolución de riesgos. l Se elige un modelo apropiado para la siguiente fase del desarrollo. u Resultados.u Planeación. u Planes. l Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral. u Garantías (commitments). Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Mejoramiento de la Calidad en el Mejoramiento de la CalidadModelo de Espiral.u Objetivos u Riesgos. l Mejorar significativamente la calidad del software. l No existen mejoras en el software baratas.u Restricciones. l Las mejoras en la calidad pueden incrementar los costos excesivamente l Dentro de los 3 primeros años. l Los nuevos métodos pueden causar bajas en el personal. l Sin que se produzcan grandes inversiones de capital. u Solución de riesgos. l Sin que se lleven a cabo grandes cambios organizacionales. l Estudio de la literatura existente.u Alternativas. l Proyecto piloto. l Reutilizar software certificado existente. l Búsqueda de todos los componentes reutilizables potenciales. l Introducir especificaciones formales y verificación. l Identificación del soporte disponible de herramientas l Invertir en herramientas de prueba y validación. l Entrenamiento al personal y seminarios motivacionales. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 Modelo de Espiral para la elaboración deMejoramiento de la Calidad un catálogo.u Resultados. u Objetivos l La experiencia en métodos formales es limitada - es muy difícil l Desarrollar un catálogo de componentes de software cuantificar las mejoras. u Restricciones. l Limitado el soporte en herramientas para sistemas de desarrollo de la compañía. l A un ano. l Existencia de componentes reutilizables, pero poco soporte de l Debe soportar los tipos de componentes existentes. herramientas de reuso. l Costo total menor.u Planes. u Alternativas. l Explorar la opción de la reutilización a mas detalle. l Comprar software de captura de información. l Desarrollar herramientas prototipo para reutilización. l Comprar bases de datos y desarrollar el catálogo utilizando la BD. l Explorar el esquema de certificación de componentes. l Desarrollar catálogo de propósito especial.u Garantías. l Explorar los siguientes 18 meses. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 5
    • Mejoramiento de la Calidad Mejoramiento de la Calidadu Riesgos. u Resultados. l Puede ser imposible satisfacer las restricciones. l Los sistemas de captura de información son inflexibles. Los l La funcionalidad del catálogo puede ser inapropiada. requerimientos no pueden cumplirse. l El prototipo que utiliza la BD puede mejorarse para completar el sistema.u Solución de riesgos. l El desarrollo de un catálogo de propósito específico no es costeable. l Desarrolla un prototipo del catálogo (utilizando lenguajes de cuarta generación 4GL y una BD existente) para clarificar los requerimientos. u Planes. l Relaja restricciones de tiempo. l Desarrolla el catálogo utilizando una BD existente mejorando el prototipo y la interfaz de usuario. u Garantías. l Explorar los siguientes 12 meses. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Flexibilidad en el modelo de Espiral Ventajas del Modelo de Espiralu Para sistemas bien comprendidos utiliza el Modelo de u Centra su atención en la reutilización de componentes y Cascada. La fase de análisis de riesgos es relativamente eliminación de errores en información descubierta en fases fácil. iniciales.u Con requerimientos estables y sistemas de seguridad u Los objetivos de calidad son el primer objetivo. críticos, utiliza modelos formales. u Integra desarrollo con mantenimiento.u Con especificaciones incompletas, utiliza el modelo de u Provee un marco de desarrollo de hardware/software. prototipado.u Pueden utilizarse modelos híbridos en distintas partes del desarrollo. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Problemas con el Modelo de Espiral Visibilidad de Procesosu El desarrollo contractual especifica el modelo del proceso u Los sistemas de software son intangibles por lo que los y los resultados a entregar por adelantado. administradores necesitan documentación para identificaru Requiere de experiencia en la identificación de riesgos. el progreso en el desarrollo.u Requiere refinamiento para uso generalizado. u 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. u El modelo de cascada es aún el modelo basado en resultados mas utilizado. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 6
    • Documentos del Modelo de Cascada Visibilidad del Modelo Actividad Documentos Producidos Modelo de Proceso Visibilidad del Proceso Análisis de Requerimientos Documento de Requerimientos Modelo de Cascada Buena visibilidad, cada actividad produce un Definición de Requerimientos Documento de Requerimientos. documento o resultado Especificación del Sistema. Especificación Funcional, Plan de Pruebas Desarrollo Evolutivo Visibilidad pobre, muy caro al producir de Aceptación. docuementos en cada iteración. Diseño Arquitectural Especificación de la Arquitectura, y Plan de Modelos Formales Buena visibilidad, en cada fase deben Pruebas del Sistema producirse documentos. Diseño de Interfaces Especificación de la Interfaces y Plan de Desarrollo orientado a la reutilización Visibilidad moderada. Importante contar con pruebas de Integración. documentación de componentes reutilizables. Diseño Detallado Especificación del diseño y Plan de prueba Modelo de Espiral Buena visibilidad, cada segmento y cada de Unidades. anillo del espiral debe producir un Codificación Código de Programa documento. Prueba de Unidades Reporte de prueba de unidades Prueba de Módulos Reporte de prueba de módulos Prueba de Integración Reporte de prueba de integración y Manual de usuario final Prueba del Sistema Reporte de prueba del sistema Prueba de Aceptación Sistema final mas la documentación. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Responsabilidad profesional Aspectos Éticosu Los Ingenieros de software no solo deben considerar u Confidencialidad. aspectos técnicos. Deben tener una visión mas amplia, en u Competencia. lo ético, social y profesional. u Derechos de propiedad intelectual.u No existe estatutos para ninguno de estos aspectos. u Mal uso de la computadora. l Desarrollo de sistemas militares. l Piratería. l Que es mejor para la profesión de Ingeniero de Software. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1Resumen Resumenu La Ingeniería de software concierne a las teorías, métodos u El modelo de cascada considera cada actividad del proceso y herramientas para el desarrollo, administración y como una actividad discreta. evolución de productos de software. u El modelo de desarrollo evolutivo considera actividadesu Los productos de software consisten de programas y del proceso en forma concurrente. documentación. Los atributos de los productos son, u El modelo de espiral se basa en análisis de riesgos. mantenabilidad, dependabilidad, eficiencia y usabilidad. u La visibilidad del proceso involucra la creación deu El proceso de software consiste en aquellas actividades documentos o resultados de las actividades. involucradas en el desarrollo de software. u Los Ingenieros de software deben tener responsabilidades éticas, sociales y profesionales. Ingeniería de Software, Capitulo 1 Diapositiva 1 Ingeniería de Software, Capitulo 1 Diapositiva 1 7