COMPLEXIVO Bases Conceptuales-Ingeniería de Software El presente documento presenta las bases conceptuales necesarias para optar por el examen complexivo de Ingeniería de Software en la Universidad Técnica Particular de Loja, el mismo se basa en el estándar ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software – Ingeniería de Software y Sistemas. Esto permitirá evaluar de manera integral a los estudiantes que opten por esta opción de titulación, en base a un esquema de contenidos avalado por una organización internacional. La siguiente figura muestra la curricula específica que el postulante deberá manejar para sustentar, trabajos, exámenes y disertación disertaci ón en el examen complexivo. Procesos de Co ntexto del Sis tema Procesos de Acuerdo
Procesos de Proyectos
Procesos Técnicos
Proceso de Adquisiciones
Proceso de Planificación del Proyecto
Proceso de Proveedores
Procesos de Habilitación de Proyectos Organizacionales Proceso de gestión del Modelos de Ciclo de Vida Proceso de Gestión de Infraestructura Proceso de Gestión del Portafolio de Proyectos Proceso de Gestión de Recursos Humanos Proceso de Gestión de la Calidad
Procesos Es pecíficos del Soft ware Procesos de Implementación-SW
Procesos de Soporte del Software
Proceso de Definición de Requerimientos de Stakeholders
Proceso de Implementación del Software
Proceso de Gestión de Documentación
Proceso de Evaluación y Control del Proyecto
Proceso de Análisis de Requerimientos del Sistema
Proceso de Análisis de Requerimientos del SW
Proceso de Gestión de la Configuración del SW
Proceso de Gestión de Desiciones
Proceso de Diseño Arquitectónico del Sistema
Proceso de Diseño Arquitectónicos del SW
Proceso de Aseguramiento de la Calidad del Software
Proceso de Gestión de Riesgos
Proceso de Implementación
Procesos de Diseño Detallado del Software
Proceso de Verificación del Software
Proceso de Gestión de la Configuración
Proceso de Integración de Sistemas
Proceso de Construcción del Software
Proceso de Validación del Software
Proceso de Gestión de la Información
Proceso de Pruebas de Calificación del Sistema
Proceso de Integración del Software
Proceso de Revisión del Software
Proceso de Medición
Proceso de Instalación del Software
Proceso de Pruebas del Software
Proceso de Auditoria del Software Proceso de Resolución de Problemas del Software
Proceso de Soporte para la Aceptación del Software Proceso de Operación del Software Proceso de Mantenimiento del Software Proceso de Retiro del Software
Procesos de Reutilización del Software Proceso de Ingeniería del Dominio
Procesos de Gestión del Programa de Reutilización
Proceso de Gestión de Activos Reutilizables
OBJETO La vida útil de un sistema o producto de software puede modelarse mediante un modelo de ciclo de vida compuesto por etapas. Los modelos se pueden usar para representar toda la vida desde el concepto hasta la eliminación o para representar la parte de la vida correspondiente al proyecto actual. El modelo del ciclo de vida se compone de una secuencia de etapas que pueden superponerse o repetirse, según corresponda para el alcance, la magnitud, la complejidad, las necesidades cambiantes y las oportunidades del proyecto. Cada etapa se describe con una declaración de propósito y resultados. Los procesos y actividades del ci clo de vida se seleccionan y emplean en una etapa para cumplir con el propósito y los resultados de esta. Diferentes organizaciones pueden emprender diferentes etapas en el ciclo de vida. Sin embargo, cada etapa es conducida por la organización responsable de esa etapa con la debida consideración de la información disponible sobre los planes del ciclo de vida y
las decisiones tomadas en las etapas anteriores. Del mismo modo, la organización responsable de esa etapa registra las decisiones tomadas y registra las suposiciones con respecto a las etapas posteriores en el ciclo de vida. Usted no requerirá el uso de ningún modelo de ciclo de vida particular. Sin embargo, es preferible que utilice un ciclo de vida con el cual este familiarizado o que haya utilizado en sus proyectos. La aplicación del modelo de ciclo de vida le proporcionarán los medios para establecer la secuencia necesaria para la gestión del proyecto.
Procesos de Contexto del Sistema Procesos de Acuerdo Estos procesos definen las actividades necesarias para establecer un acuerdo entre dos organizaciones.
Proceso de Adquisición, proporciona los medios para realizar negocios con un proveedor de productos que se suministran para su uso como un sistema operativo, de servicios en apoyo de un sistema operativo o de elementos de un sistema que está siendo desarrollado por un proyecto. Proceso de suministro, proporciona los medios para llevar a cabo un proyecto en el que el resultado es un producto o servicio que se entre ga al adquirente.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Project Management Body of Knowledge (PMBoK) Software Engineering Body of Knowledge (SWEBoK)
Procesos de Habilitación de Proyectos Organizacionales Los Procesos de Habilitación de Proyectos Organizacionales administran la capacidad de la organización para adquirir y suministrar productos o s ervicios a través de la iniciación, soporte y control de proyectos. Proporcionan los recursos y la infraestructura necesarios para apoyar proyectos y asegurar la satisfacción de los objetivos de la organización y los acuerdos establecidos. No están destinados a ser un conjunto integral de procesos comerciales que permitan la administración de los negocios de la organización. Los Procesos de Habilitación del Proyecto Organizacional que usted debe considerar son los siguientes: a. b. c. d. e.
Proceso de gestión del modelo de ciclo de vida; Proceso de gestión de la infraestructura; Proceso de gestión de la cartera de proyectos; Proceso de gestión de recursos humanos; Proceso de gestión de calidad.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Software Engineering Body of Knowledge (SWEBoK) Project Management Body of Knowledge (PMBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingenieria de Software - Enfoque para Practicantes- Roger Pressman
Procesos de Gestión de Proyectos Un proyecto describe los procesos relacionados con la planificación, la evaluación y el control. Los principios relacionados con estos procesos se pueden aplicar en cualquier área de la administración de una organización. Hay dos categorías de procesos de proyecto. Los procesos de gestión de proyectos se utilizan para planificar, ejecutar, evaluar y controlar el progreso de un proyecto. Los Procesos de Soporte de Proyectos apoyan objetivos de gestión especia lizados. Ambos se describen a continuación. Los procesos de gestión de proyectos se utilizan para establecer y desarrollar planes de proyectos, evaluar los logros reales y el progreso en relación con los planes y controlar la ejecución del proyecto hasta su cumplimiento. Se pueden invocar en cualquier momento del ciclo de vida y en cualquier nivel en una jerarquía de proyectos, según lo exijan los planes del proyecto o eventos imprevistos. Los procesos de gestión de proyectos se aplican con un nivel de rigor y formalidad que depende del riesgo y la complejidad del proyecto. Los principales procesos son: a. b.
Proceso de planificación del proyecto Proceso de evaluación y control del proyecto
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Project Management Body of Knowledge (PMBoK) Software Engineering Body of Knowledge (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingenieria de Software - Enfoque para Practicantes- Roger Pressman
Los procesos de soporte de proyectos proporcionan un conjunto específico de tareas enfocadas para realizar un objetivo de gestión especializado. Todos ellos son evidentes en la gestión de cualquier empresa, desde una organización completa hasta un único proceso de ciclo de vida y sus tareas. Los procesos a tomar en consideración son: c.
Proceso de gestión de decisiones;
d. Proceso de gestión de riesgos; e. proceso de gestión de la configuración; f. Proceso de gestión de la información; g. Proceso de medición.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Project Management Body of Knowledge (PMBoK) Software Engineering Body of Knowledge (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingeniería de Software - Enfoque para Practicantes- Roger Pressman
Procesos Técnicos Los procesos técnicos se utilizan para definir los requisitos de un sistema, para transformar los requisitos en un producto efectivo, para permitir la reproducción consistente del producto donde sea necesario, para usar el producto, para proporcionar los servicios requeridos, para mantener la prestación de esos servicios, y para deshacerse del producto cuando se retira del servicio. Los Procesos Técnicos definen las actividades que permiten que las funciones de la organización y del proyecto optimicen los beneficios y reduzcan los riesgos que surgen de las decisiones y acciones técnicas. Estas actividades permiten que los productos y servicios posean oportunidad y disponibilidad, rentabilidad y funcionalidad, confiabilidad, facilidad de mantenimiento, productividad, usabilidad y otras cualidades requeridas por las organizaciones compradoras y proveedoras. También permiten que los productos y servicios se ajusten a las expectativas o requisitos legales de la sociedad, incluidos los factores de salud, seguridad, protección y medio ambiente. A continuación se detallan los principales procesos a tener en consideración: a. b. c. d. e. f. g. h. i. j. k.
Definición de los requisitos de las partes interesadas Análisis de los requisitos del sistema Diseño arquitectónico del Sistema Proceso de implementación Proceso de integración del sistema Proceso de prueba de calificación del sistema Proceso de instalación del software Proceso de soporte de aceptación de software Proceso de operación del software Proceso de mantenimiento del software Proceso de retiro de software
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE std 12207-2008 - Procesos del Ciclo de Vida del Software Cuerpo de Conocimiento de la Ingeniería de Software (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingeniería de Software - Enfoque para Practicantes- Roger Pressman
Procesos Específicos del Software Procesos de Implementación del Software Los procesos de implementación de software se utilizan para producir un elemento de sistema específico (elemento de software) implementado en el software. Esos procesos transforman el comportamiento, las interfaces y las limitaciones de implementación especificados en acciones de implementación, lo que da como resultado un elemento del sistema que satisface los requisitos derivados de los requisitos del sistema. El proceso de implementación de software tiene varios procesos de nivel inferior específicos del software: a. b. c. d. e. f.
Proceso de análisis de requisitos de software; Proceso de diseño arquitectónico de software; Proceso de diseño detallado del software; Proceso de construcción de software; Proceso de integración de software; Proceso de prueba de calificación de software.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software ISO/IEC 42010 Descripción Arquitectónica Cuerpo de Conocimiento de la Ingeniería de Software (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingeniería de Software - Enfoque para Practicantes- Roger Pressman Bass&Clemens
Procesos de Soporte del Software Los procesos de soporte de software proporcionan un conjunto específico de actividades enfocadas para realizar un proceso de software especializado. Un proceso de soporte ayuda al Proceso de Implementación del Software como una parte integral con un propósito distinto, que contribuye al éxito y la calidad del proyecto de software. Hay ocho de estos procesos: a. Proceso de gestión de documentación de software; b. Proceso de gestión de la configuración del software; c. proceso de garantía de calidad del software;
d. proceso de verificación de software; e. proceso de validación del software; f. Proceso de revisión de software; g. Proceso de auditoría de software; h. Proceso de resolución de problemas de software.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Cuerpo de Conocimiento de la Ingeniería de Software (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingeniería de Software - Enfoque para Practicantes- Roger Pressman Bass&Clemens
Procesos de Reutilización del Software El Grupo de procesos de reutilización de software consta de tres procesos que respaldan la capacidad de una organización para reutilizar elementos de software a través de los límites del proyecto. Estos procesos son únicos porque, por su naturaleza, operan fuera de los límites de cualquier proyecto en particular. Los procesos de reutilización de software son: a. b. c.
Proceso de Ingeniería de Dominio; Proceso de gestión de activos de reutilización; Proceso de gestión del programa de reutilización.
Bibliografía: ISO/IEC/IEEE std 15288-2015 Procesos del Ciclo de Vida de Sistemas ISO/IEC/IEEE Std 12207-2008 Procesos del Ciclo de Vida del Software Cuerpo de Conocimiento de la Ingeniería de Software (SWEBoK) Ingeniería de Software - Un enfoque Practico – Ian Somerville Ingeniería de Software - Enfoque para Practicantes- Roger Pressman