Conceptos Básicos de Ingeniería del 24/09/2013 de Conceptos Básicos de Ingeniería del Grupo de Ingeniería del y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla septiembre 2012 Conceptos Básicos de Ingeniería del Objetivos del tema de Revisar los conceptos básicos de la Ingeniería del : Proyecto software Causas de éxito y fracaso de proyectos software Entregables en proyectos software Ciclos de vida de los proyectos software Revisar los niveles de gestión de un sistema de información. 1 Ingeniería de Requisitos 1
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del El concepto de proyecto software de Esfuerzo temporal acometido para crear un único producto o servicio software. Es realizado por personas. Debe ser limitado en tiempo y coste. Debe ser planificado, ejecutado y controlado. 2 Conceptos Básicos de Ingeniería del Roles en un proyecto software de Director de proyecto Ingeniero de requisitos Equipo de desarrollo Equipo de calidad Cliente Usuario Responsable de la ejecución del proyecto con capacidad ejecutiva para tomar decisiones sobre el mismo de acuerdo con el cliente. También denominado analista. Responsable de interactuar con clientes y usuarios para obtener sus necesidades y de desarrollar y gestionar los requisitos. Conjunto de personas implicadas en el desarrollo del software: arquitecto software, diseñador de IU, programador, responsable de pruebas, administrador de BD, etc. Conjunto de personas responsables de la calidad de los productos obtenidos, tanto documentación como software. Suelen ocuparse también de la calidad de los procesos. Responsable de la financiación del proyecto con capacidad ejecutiva para tomar decisiones sobre el mismo. Suele tener una visión global del modelo de negocio. Usuario potencial del software a desarrollar en el proyecto con una visión detallada, aunque puede que parcial, del modelo de negocio. Responsable TIC del Cliente Responsable del entorno tecnológico del cliente, sobre el que se debe integrar el sistema a desarrollar. 3 Ingeniería de Requisitos 2
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del El informe CHAOS (1996 2008) de Factores de éxito Implicación de los usuarios Apoyo de los directivos Enunciado claro de los requisitos Planificación adecuada Expectativas realistas Hitos de proyecto pequeños Personal competente Sentimiento de propiedad Visión y objetivos claros Trabajo duro y personal concentrado 4 Conceptos Básicos de Ingeniería del El informe CHAOS (1996 2008) de Causas de problemas Falta de información por parte de los usuarios Especificaciones y requisitos incompletos Especificaciones y requisitos cambiantes Falta de apoyo de los directivos Incompetencia tecnológica Falta de recursos Expectativas no realistas Objetivos poco claros Plazos temporales no realistas Nueva tecnología 5 Ingeniería de Requisitos 3
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del El informe CHAOS (1996 2008) de Causas de fracasos Requisitos incompletos Falta de implicación de los usuarios Falta de recursos Expectativas no realistas Falta de apoyo de los directivos Especificaciones y requisitos cambiantes Falta de planificación Ya no lo necesito Falta de gestión de TIC Desconocimiento de la tecnología 6 Conceptos Básicos de Ingeniería del Coste de un cambio en un proyecto de inicio tiempo Detectar los problemas al comienzo de los proyectos ahorra mucho dinero 7 Ingeniería de Requisitos 4
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del como producto de ingeniería de El conjunto de productos que deben desarrollarse y entregarse al cliente durante un proyecto se denominan entregables. 8 Conceptos Básicos de Ingeniería del Productos previos al comienzo del proyecto Petición de Propuestas (Request for Proposals) de Pliego de Prescripciones Técnicas (AA. PP.) Oferta Contrato Deben dejar claro Las necesidades a satisfacer por el sistema. Los entregables del proyecto. El presupuesto y plazo de ejecución. Restricciones técnicas. Penalizaciones por retrasos. 9 Ingeniería de Requisitos 5
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del Entregables habituales de un proyecto Plan de proyecto de Informes de seguimiento Especificación de requisitos Documento de diseño Plan de pruebas Código fuente ejecutable Manuales de usuario 10 Conceptos Básicos de Ingeniería del Qué es el ciclo de vida del software? de El ciclo de vida de un proyecto especifica el enfoque general del desarrollo, indicando los procesos, actividades y tareas que se van a realizar y en qué orden, y los productos que se van a generar, los que se van a entregar al cliente y en qué orden se van a entregar. 11 Ingeniería de Requisitos 6
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del El ciclo de vida evolutivo de Obtener todos los requisitos al comienzo es prácticamente imposible. Las necesidades de clientes y usuarios evolucionan durante el desarrollo. Ciclos requisitos-desarrollo-evaluación. El resultado de la evaluación permite evolucionar hacia la siguiente versión. Versiones Dr. Barry Boehm Creador del modelo espiral Evaluación 12 Conceptos Básicos de Ingeniería del Ciclo de vida en los métodos ágiles de 13 Ingeniería de Requisitos 7
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del Ciclo de vida en los métodos ágiles de Requisitos Son ciclos de vida evolutivos con iteraciones de corta duración para favorecer la comunicación con clientes y usuarios. En cada iteración se incorporan nuevas peticiones de clientes y usuarios (requisitos). Análisis Análisis Análisis Diseño Diseño Diseño Implementación Implementación Implementación Pruebas Pruebas Pruebas Versión 1 Requisitos Versión 2 Requisitos Versión 3 Iteración 1 Iteración 2 Iteración 3 14 Conceptos Básicos de Ingeniería del El modelo en V de Asocia un tipo de pruebas a cada producto de cada fase según su nivel de abstracción. Requisitos de Cliente Requisitos validan validan Pruebas de Aceptación Pruebas de Sistema Diseño Arquitectura validan Pruebas de Integración Implementación Componentes validan Pruebas Unitarias 15 Ingeniería de Requisitos 8
Conceptos Básicos de Ingeniería del 24/09/2013 Conceptos Básicos de Ingeniería del Niveles de gestión de una organización Un sistema de información ayuda a de Tomar decisiones estratégicas de competitividad. Tomar decisiones tácticas de negocio. Llevar a cabo los procesos de negocio y sus operaciones asociadas. Fuente: O Brien and Marakas, Introduction to Information Systems, 15th edition, 16 Conceptos Básicos de Ingeniería del Niveles de gestión de una organización El software para sistemas de información de Es el que más se desarrolla a medida Es al que se orientan casi todas las metodologías Es en el que más importancia tienen los requisitos Fuente: O Brien and Marakas, Introduction to Information Systems, 15th edition, 17 Ingeniería de Requisitos 9