ICO11_IVONNE MESA BAUTISTA
EL PROCESO: UNA VISIÓN GENERAL
El proceso es un diálogo en el cual el conocimiento que el software debe convertir se conjunta y se materializa en este último, proporciona interacción entre los usuarios y las herramientas en evolución y entre los diseñadores y sus herramientas.
La ingeniería del software es el establecimiento y uso de principios sólidos, la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en máquinas reales. La ingeniería de software es una tecnología estratificada; tiene 5 estratos que hacen que sea utilizable que son los siguientes:
★ Un enfoque de calidad: es la base que soporta la ingeniería de software.
★ Proceso: es el elemento que mantiene juntos los estratos de la tecnología y que permite el desarrollo racional y a tiempo de computadora; así como también forma la base para el control de la gestión de proyectos.
★ Los métodos: abarcan un amplio espectro de tareas que incluyen la comunicación, la realización de pruebas y el soporte.
★ Las herramientas: proporcionan el soporte automatizado o semiautomatizado para el proceso y los métodos.
Un marco de trabajo establece la base para un proceso de software completo al identificar un número pequeño de actividades del marco de trabajo aplicables a todos los proyectos de software, sin importar su tamaño o complejidad.
El marco contiene un conjunto de acciones de ingeniería de software (serie de tareas relacionadas que produce un producto del trabajo de ingeniería de software); cada acción forma tareas de trabajo individuales.
El marco de trabajo del proceso general tiene cinco actividades que son:
★ Comunicación: intensa comunicación y colaboración con el cliente, abarca investigación de requisitos.
★ Planeación: establece un plan de trabajo de ingeniería del software.
★ Modelado: la creación de modelos que permiten al desarrollador y al cliente entender mejor los requisitos del software y el diseño que logra satisfacerlos.
★ Construcción: combina la generación de código y la realización de pruebas necesarias para descubrir errores en el código.
★ Despliegue: el software se entrega al cliente quien evalúa el producto recibido y proporciona información basada en su evaluación.
El diseño abarca tareas de trabajo que crean un modelo de diseño; cada acción de la ingeniería de software representa un conjunto de tareas; las cuales son una serie de tareas de trabajo, productos relacionados, puntos para el aseguramiento de la calidad y fundamentos de proyecto dentro de la ingeniería de software.
Las actividades sombrilla ocurren a lo largo del proceso del software y se enfocan de manera principal en la gestión, el rastreo y el control del proyecto incluye varias tareas como por ejemplo:
★ Seguimiento y control del proyecto de software.
★ Gestión del riesgo.
★ Aseguramiento de la calidad del software.
★ Revisiones técnicas formales.
★ Medición.
★ Gestión de la configuración de software.
★ Gestión de la reutilización.
★ Preparación y producción del producto de trabajo.
La IMCM (modelado total del proceso) define las características del proceso en dos formas diferentes:
★ Como un modelo continuo (describe un proceso en dos dimensiones), cada área se evalúa de manera formal y se clasifica de acuerdo con los siguientes niveles de capacidad.
★ Nivel 0: incompleto. El área del proceso aun no se realiza o todavía no se cumplen las metas y los objetivos definidos para el nivel 1 de capacidad.
★ Nivel 1: Realizado. Todas las metas del área del proceso han sido satisfechas.
★ Nivel 2: Administrado. Todos los criterios del nivel 1 han sido satisfechos y todo trabajo asociado con el área de proceso se ajusta a una política organizacional definida.
★ Nivel 3: Definido. Todos los criterios del nivel 2 han sido satisfechos y el proceso esta adaptado al conjunto de procesos estándar de la organización.
★ Nivel 4: Administrado en forma cuantitativa.
★ Como un modelo discreto.
El proceso del software puede definirse como una colección de patrones que definen un conjunto de actividades, los patrones pueden definirse en cualquier grado de abstracción, los patrones tienen una plantilla que contiene lo siguiente.
★ Nombre del patrón: se le asigna un nombre significativo que describa su función dentro del software.
★ Propósito: se describe con brevedad el objetivo del patrón.
★ Contexto inicial: se describen las condiciones en las cuales se aplica el patrón.
★ Problema: descripción del problema a resolver.
★ Solución: se describe la implementación del patrón.
★ Contexto resultante: descripción de las condiciones que habrá una vez que el patrón haya sido implementado con éxito.
★ Patrones relacionados: se proporciona una lista de todos los patrones de proceso directamente relacionados con este.