Ingeniería de Software

Documentos relacionados
u Explicar la importancia de la visibilidad delos procesos. u Introducir la noción de responsabilidad profesional. u Productos genéricos.

ESCUELA DE INGENIERÍA - Ingeniería Ejecución en Informática. Administración de Recursos Informáticos. Temario de la clase

Productos de Software. El proceso de Software. El modelo de Espiral de Boehm. La visibilidad de los procesos. Responsabilidad profesional.

Desarrollo Rápido de Software. Objetivos

Ingeniería de Software. Diseño, construcción y mantenimiento de sistemas de software grandes.

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

Ingeniería de Requerimientos. requiere de un Sistema de Software.

Conceptos Básicos de Ingeniería del Software

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

FICHA PÚBLICA DEL PROYECTO

El Ciclo de Vida del Software

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

Proceso Unificado (Iterativo e incremental)

Departamento Administrativo Nacional de Estadística

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

MODELO INCREMENTAL (introducción) Propuesto por Mills en 1980.

ISO 9001 Auditing Practices Group Guidance on:

Requerimientos de Software

TEMA 4. PROCESO UNIFICADO

CONTROL DE CALIDAD DEL SOFTWARE. Garantía de calidad del software

ELECTIVA III. Entregables Minimos

PROGRAMA DE ESTÍMULOS A LA INNOVACIÓN

PRONÓSTICO DE VENTAS CORTO PLAZO MÓDULO COLABORATIVO DE CONTROL DE METAS DE VENTAS

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software

Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín

Calidad y Reutilización de Software. Dr. Cuauhtémoc Lemus Olalde. Centro de Investigación en Matemáticas (CIMAT) Febrero, 2003

LICENCIADO EN SISTEMAS COMPUTACIONALES. Este programa educativo se ofrece en las siguientes sedes académicas de la UABC:

1.- DATOS DE LA ASIGNATURA Nombre de la asignatura : DIRECCIÓN ESTRATÉGICA DE LA DISTRIBUCIÓN. Carrera : INGENIERÍA EN GESTIÓN EMPRESARIAL

La duración del curso es de cinco (5) días, ocho horas diarias, 60% de terrosa y 40% de ejemplos prácticos.

Administración de Proyectos de TI

De Desempeño De Conocimiento SABERES ESENCIALES CONTENIDOS RUTA FORMATIVA Saber Conocer Nociones, Proposiciones, Conceptos Categorías

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

BUENAS PRACTICAS EN DESARROLLO DE SOFTWARE APUNTES DE UNA EXPERIENCIA

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2006.

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Control de Calidad del Software

6.6 DESARROLLAR EL CRONOGRAMA

Desacoplamiento De Los Ciclos De Vida De Productos Y Procesos

Normalmente interactúa con personas o entes externos a DHL como representantes de los clientes, proveedores o grupos industriales

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

NECESIDAD DE VERIFICACIÓN Y PRUEBAS A PCB S

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Maestría en Ingeniería Énfasis en Sistemas y Computación

Fundamentos de Ingeniería de Software [Etapas II]

Proceso Software. Una visión general. Nilda M. Pérez Otero

Ingeniería de Software II. SETEPROS Plan de pruebas. Versión 1.0

INNOVACIÓN : CAMBIO Y CREACIÓN

Anexo 10. Pruebas verificadas

Metodología para implantación de AZDigital

NIMF n. 7 SISTEMA DE CERTIFICACIÓN PARA LA EXPORTACIÓN (1997)

Cómo asegurar la calidad de los proyectos de desarrollo? Por César Villarreal, Northware Global Project Manager

Microsoft Project Professional

Capítulo III: MARCO METODOLÓGICO

PLANIFICACION DE UN PROYECTO DE SOFTWARE

TEMA 7: INGENIERIA DEL SOFTWARE.

Aseguramiento de Calidad en el Desarrollo de Software Libre


Ciclo de vida del Software

Calidad: Grado en que un conjunto de características inherentes cumple con los requisitos

PANADERIA. Taller de Analisis y Diseño de Sistemas. Orientador:

DEPARTAMENTO DE VINCULACION 1

PROGRAMA DE ESTÍMULOS A LA INNOVACIÓN

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

M. C. Felipe Santiago Espinosa

Formación de Auditores Internos para Organismos de Certificación de Personas

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE ADMINISTRACIÓN DE PROYECTOS DE T.I.

Corporación para el Desarrollo Sostenible del Sur de la Amazonia. Código: Formato: F-GDO-006 Versión: Elaboró: ORLANDO DIAZ AGUIRRE

Arquitectura de Software El Rol del Arquitecto de Software

FORMACIÓN EN BUENAS PRÁCTICAS DE PROGRAMACIÓN CON PERSONAL SOFTWARE PROCESS (PSP)

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

TÉRMINOS DE REFERENCIA

Curso Microsoft SharePoint Server 2010 Designing and Developing Applications (10232)

Tema 1 Introducción a la Ingeniería de Software

Conceptos básicos de Ingeniería de Software

Administración del riesgo en las AFP

Caracterización de los Procesos de Negocio

Capítulo 9 Fase de Integración y prueba del sistema. 9.1 Fase de Integración y prueba del sistema: objetivos, actividades y productos.

CAPÍTULO V LA PROPUESTA

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

Comparación con COBIT 4.1 Mayo de 2012 Presentación realizada por Carlos Francavilla

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE

ESPECIFICACIONES TÉCNICAS LICITACIÓN PÚBLICA MIGRACIÓN DE SOFTWARE SISTEMA DE GESTIÓN DE VESTUARIO

Figure 14-1: Phase F: Migration Planning

PROCESOS DE LA DIRECCIÓN DE PROYECTO I N G. C R U C E S H E R N A N D E Z G U E R R A U N I V E R S I D A D A L A S P E R U A N A S

RETOS Y OPORTUNIDADES DE LA IMPLEMENTACIÓN DEL SISTEMA DE GESTION EFICIENTE DE LA ENERGIA

OBJETIVO DE PRODUCTO OBJETIVO DE EQUIPO

CURSO DE INTELIGENCIA DE FUENTES ABIERTAS

PMP Test C05_ El sistema de codificación de la Estructura de Desglose de Trabajo permite al equipo de proyecto:

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Temario. Requerimientos de Software. Requerimientos. Análisis de Requerimientos. Requerimientos Tipos de Requerimientos

METODOLOGIA DE DIRECCION DE PROYECTOS. Ministerio de Agricultura y Desarrollo Rural Jorge Rodriguez Gerente de Proyectos OTICs Marzo 10 de 2016

Análisis y Diseño de Sistemas

DIPLOMADO. Evaluación de la Calidad de la práctica docente para la implementación del Nuevo Modelo Educativo en Escuelas de Ingeniería del I.P.N.

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Proceso Software y Ciclo de Vida

NOMBRE DE LA ASIGNATURA: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE INTEGRANTES DEL EQUIPO: RAFAEL VALLE CASTELÁN JUAN DE DIOS RAMÍREZ VIVAR

SECUENCIA DIDÁCTICA. Módulo IV

Procedimiento para Mantenimiento de Centrales de Generación

ESTÁNDAR INTERNACIONAL DE OTROS SERVICIOS DE ASEGURAMIENTO

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

Transcripción:

Ingeniería de Software u Diseño, construcción y mantenimiento de sistemas de software grandes. Diapositivas Traducidas por: Dr. Pedro Mejía Alvarez. CINVESTAV-IPN, México

Objetivos u Definir la Ingeniería de Software y explicar su 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.

Tópicos u Productos de Software. u El proceso de Software. u El modelo de Espiral de Boehm. u La visibilidad de los procesos. u Responsabilidad profesional.

Ingeniería de Software u Las economías de los países desarrollados dependen en gran parte del software. u Mas y más sistemas son actualmente controlados por software. 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.

Costos del Software u Los costos del software a menudo dominan al costo del sistema. El costo del software en un PC es a menudo mas caro que la PC. u Cuesta mas mantener el software que desarrollarlo. Para sistemas con una larga vida, este costo se multiplica. u La Ingeniería de Software concierne a un desarrollo efectivo en cuanto a costes del software.

Productos de Software u Productos genéricos. l Productos que son producidos por una organización para ser vendidos al mercado. u Productos hechos a medida. l Sistemas que son desarrollados bajo pedido a un desarrollador específico. u La mayor parte del gasto del software es en productos genéricos, pero hay más esfuerzo en el desarrollo de los sistemas hechos a medida.

Características de los Productos de Software u Mantenibles. l Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. u Confiabilidad. l El software no debe causar danos físicos o económicos en el caso de fallos. u Eficiencia. l El software no debe desperdiciar los recursos del sistema. u Utilización adecuada. l El software debe contar con una interfaz de usuario adecuada y su documentación.

Importancia de las características del producto u La importancia relativa de las características depende en el tipo de producto y en el ambiente en el que será utilizado. u En algunos casos, algunos atributos pueden dominar. l En sistemas de seguridad críticos de tiempo real, los atributos clave pueden ser la confiabilidad y la eficiencia. u Los costos tienden a crecer exponencialmente si son requeridos altos niveles de alguna característica.

Costes de Eficiencia. Costos Eficiencia

El Proceso de Software u Conjunto estructurado de actividades requeridas para 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.

Características del proceso u Entendible l Se encuentra el proceso bien definido y es entendible?. u Visible l El proceso es visible al exterior?. u Soportable l Puede el proceso ser soportado por herramientas CASE?. u Aceptable l El proceso es aceptado por aquellos involucrados en el?.

Características del proceso u Confiable l Los errores del proceso son descubiertos antes de que se conviertan en errores del producto?. u Robusto l Puede continuar el proceso a pesar de problemas inesperados?. u Mantenible l Puede el proceso evolucionar para cumplir con los objetivos organizacionales?. u Rapidez l Que tan rápido puede producirse el sistema?.

Modelo de Ingeniería del Proceso u Especificación - establecer los requerimientos y restricciones del sistema u Diseño - Producir un modelo en papel del sistema u Manufactura - construir el sistema u Prueba - verificar que el sistema cumpla con las especificaciones requeridas u Instalación - entregar el sistema al usuario y asegurar su operacionalidad u Mantenimiento - reparar fallos en el sistema cundo sea descubiertos

Problemas en el Modelo del Proceso u Normalmente, las especificaciones son incompletas o anómalas u No existe una distinción precisa entre la especificación, el diseño y la manufactura u Solo hasta que el sistema se ha producido se puede probar u El software no se puede remplazar siempre durante el mantenimiento

Modelos Genéricos de Desarrollo de Software u Modelo de Cascada u Separar en distintas fases de especificación y desarrollo. u Desarrollo Evolutivo u La especificación y el desarrollo están intercalados. u Prototipado u Un modelo sirve de prototipo para la construcción del sistema final. u Transformación Formal u Un modelo matemático del sistema se transforma formalmente en la implementación. u Desarrollo basado en Reutilización u El sistema es ensamblado a partir de componentes existentes.

Modelo de Cascada (gráfica) 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

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

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

Desarrollo Evolutivo u Problemas l Poca visibilidad en el proceso l Los sistemas están pobremente especificados l Se requieren habilidades especiales. u 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.

Prototipado u 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 entendidas. u Prototipado de throw-away. l El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.

Problemas y Riesgos con los Modelos. u Cascada. l Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseño. l Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida. u Prototipado. l Bajo riesgo para nuevas aplicaciones debido a que las especificaciones y el diseño se llevan a cabo paso a paso. l Alto riesgo debido a falta de visibilidad u Evolutivo. l Alto riesgo debido a la necesidad de tecnología avanzada y habilidades del grupo desarrollador.

Manejo de Riesgos u La tarea principal del administrador consiste en minimizar riesgos. u El riesgo inherente en una actividad es se mide en base a la incertidumbre que presenta el resultado de esa actividad. u Las actividades con alto riesgo causan sobre-costes en cuanto a planeación y costos u El riesgo es proporcional al monto de la calidad de la información disponible. Cuanto menos información, mayor el riesgo.

Modelos de Procesos Híbridos u Los sistemas grandes están hechos usualmente de varios subsistemas. u No es necesario utilizar el mismo modelo de proceso para todos los subsistemas. u El prototipado es recomendado cuando existen especificaciones de alto riesgo. u El modelo de cascada es utilizado en desarrollos bien comprendidos.

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

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

Plantilla para una ronda del espiral u Objetivos. u Restricciones. u Alternativas. u Riesgos. u Resolución de riesgos. u Resultados. u Planes. u Garantías (commitments).

Mejoramiento de la Calidad en el Modelo de Espiral. u Objetivos l Mejorar significativamente la calidad del software. u Restricciones. l Dentro de los 3 primeros anos. l Sin que se produzcan grandes inversiones de capital. l Sin que se lleven a cabo grandes cambios organizacionales. u Alternativas. l Reutilizar software certificado existente. l Introducir especificaciones formales y verificación. l Invertir en herramientas de prueba y validación.

Mejoramiento de la Calidad u Riesgos. l No existen mejoras en el software baratas. l Las mejoras en la calidad pueden incrementar costes excesivamente l Los nuevos métodos pueden causar bajas en el personal. u Solución de riesgos. l Estudio de la literatura existente. l Proyecto piloto. l Búsqueda de todos los componentes reutilizables potenciales. l Identificación del soporte disponible de herramientas l Entrenamiento al personal y seminarios motivacionales.

Mejoramiento de la Calidad u Resultados. l La experiencia en métodos formales es limitada - es muy difícil cuantificar las mejoras. l Limitado el soporte en herramientas para sistemas de desarrollo de la compañía. l Existencia de componentes reutilizables, pero poco soporte de herramientas de reuso. u Planes. l Explorar la opción de la reutilización a mas detalle. l Desarrollar herramientas prototipo para reutilización. l Explorar el esquema de certificación de componentes. u Garantías. l Explorar los siguientes 18 meses.

Modelo de Espiral para la elaboración de un catálogo. u Objetivos l Desarrollar un catálogo de componentes de software u Restricciones. l A un ano. l Debe soportar los tipos de componentes existentes. l Costo total menor de $100,000. u Alternativas. l Comprar software de captura de información. l Comprar bases de datos y desarrollar el catálogo utilizando la BD. l Desarrollar catálogo de propósito especial.

Mejoramiento de la Calidad u Riesgos. l Puede ser imposible satisfacer las restricciones. l La funcionalidad del catálogo puede ser inapropiada. u Solución de riesgos. l Desarrolla un prototipo del catálogo (utilizando lenguajes de cuarta generación 4GL y una BD existente) para clarificar los requerimientos. l Relaja restricciones de tiempo.

Mejoramiento de la Calidad u Resultados. l Los sistemas de captura de información son inflexibles. Los requerimientos no pueden cumplirse. l El prototipo que utiliza la BD puede mejorarse para completar el sistema. l El desarrollo de un catálogo de propósito específico no es costeable. u Planes. 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.

Flexibilidad en el modelo de Espiral u Para sistemas bien comprendidos utiliza el Modelo de Cascada. La fase de análisis de riesgos es relativamente fácil. u Con requerimientos estables y sistemas de seguridad críticos, utiliza modelos formales. u Con especificaciones incompletas, utiliza el modelo de prototipado. u Pueden utilizarse modelos híbridos en distintas partes del desarrollo.

Ventajas del Modelo de Espiral u Centra su atención en la reutilización de componentes y eliminación de errores en información descubierta en fases iniciales. u Los objetivos de calidad son el primer objetivo. u Integra desarrollo con mantenimiento. u Provee un marco de desarrollo de hardware/software.

Problemas con el Modelo de Espiral u El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado. u Requiere de experiencia en la identificación de riesgos. u Requiere refinamiento para uso generalizado.

Visibilidad de Procesos u Los sistemas de software son intangibles por lo que los administradores necesitan documentación para identificar el progreso en el desarrollo. 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.

Documentos del Modelo de Cascada Actividad Análisis de Requerimientos Definición de Requerimientos Especificación del Sistema. Diseño Arquitectural Diseño de Interfaces Diseño Detallado Codificación Prueba de Unidades Prueba de Módulos Prueba de Integración Prueba del Sistema Prueba de Aceptación Documentos Producidos Documento de Requerimientos Documento de Requerimientos. Especificación Funcional, Plan de Pruebas de Aceptación. Especificación de la Arquitectura, y Plan de Pruebas del Sistema Especificación de la Interfaces y Plan de pruebas de Integración. Especificación del diseño y Plan de prueba de Unidades. Código de Programa Reporte de prueba de unidades Reporte de prueba de módulos Reporte de prueba de integración y Manual de usuario final Reporte de prueba del sistema Sistema final mas la documentación.

Visibilidad del Modelo Modelo de Proceso Modelo de Cascada Desarrollo Evolutivo Modelos Formales Desarrollo orientado a la reutilización Modelo de Espiral Visibilidad del Proceso Buena visibilidad, cada actividad produce un documento o resultado Visibilidad pobre, muy caro al producir docuementos en cada iteración. Buena visibilidad, en cada fase deben producirse documentos. Visibilidad moderada. Importante contar con documentación de componentes reutilizables. Buena visibilidad, cada segmento y cada anillo del espiral debe producir un documento.

Responsabilidad profesional u Los Ingenieros de software no solo deben considerar aspectos técnicos. Deben tener una visión mas amplia, en lo ético, social y profesional. u No existe estatutos para ninguno de estos aspectos. l Desarrollo de sistemas militares. l Piratería. l Que es mejor para la profesión de Ingeniero de Software.

Aspectos Éticos u Confidencialidad. u Competencia. u Derechos de propiedad intelectual. u Mal uso de la computadora.

Resumen u La Ingeniería de software concierne a las teorías, métodos y herramientas para el desarrollo, administración y evolución de productos de software. u Los productos de software consisten de programas y documentación. Los atributos de los productos son, mantenabilidad, dependabilidad, eficiencia y usabilidad. u El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.

Resumen u El modelo de cascada considera cada actividad del proceso como una actividad discreta. u El modelo de desarrollo evolutivo considera actividades del proceso en forma concurrente. u El modelo de espiral se basa en análisis de riesgos. u La visibilidad del proceso involucra la creación de documentos o resultados de las actividades. u Los Ingenieros de software deben tener responsabilidades éticas, sociales y profesionales.