350 likes | 842 Views
Ambientes de Ingeniería de Software. Ambientes integrados para soportar Desarrollo de Software a gran escala. Objetivos. Discutir las ventajas y desventajas de los ambientes de ingeniería de software
E N D
Ambientes de Ingeniería de Software • Ambientes integrados para soportar Desarrollo de Software a gran escala.
Objetivos • Discutir las ventajas y desventajas de los ambientes de ingeniería de software • Definir la infraestructura de soporte básica proporcionada por los ambientes de ingeniería de software • Describir un modelo arquitectural para los ambientes de ingeniería de software y los servicios asociados con el modelo de referencia • Introducir PCTE, un área de trabajo estándar propuesta para ambientes de ingeniería de software
Tópicos • Ambientes integrados • Servicios de plataforma • Servicios del area de trabajo • PCTE
La evolución de los ambientes • La noción de un ambiente de ingeniería de software fue propuesto en 1980 en las propuestas de un ambiente de soporte para programación en ADA (APSE) • Modelo de tres niveles • Las facilidades del las extensiones del kernel APSE proporcionan una infraestructura básica de soporte • APSE mínimo proporciona facilidades de tablas comparativas de programación para ADA • APSE completo proporciona un completo ambiente de ingeniería de software.
Organización de un APSE • Reemplazar con diapositiva vertical
Ambiente de uso • Las propuestas de APSE fueron planeadas a futuro pero los ambientes no fueron de uso común • Dificultad para definir e implementar un kernel para ambiente estandar • Computadoras de bajo costo propiciaron la producción de CASE simples • Integración de información de requerimientos fue poco entendida • Imposible desarrollar una interfaz de usuario por los cambios en la tecnología de hardware • Beneficios CASE menores de los esperados • Cambios geopolíticos en los 80’s significo que menos defensa fuera encontrada
Ambientes integrados • Un ambiente de ingeniería de software (SEE) es un conjunto de herramientas de hardware y software las cuales actúan en combinación de una manera integrada para proporcionar soporte a todos los procesos de software desde la especificación inicial pasando por las pruebas y hasta la liberación del sistema. • Aun es una necesidad para SEE’s en grandes proyectos. Estos probablemente estén basados en un área de trabajo estándar
Características de SEE • Las facilidades del ambiente son integrados - deberán proporcionar plataforma, datos, presentación, control e integración de procesos • El ambiente esta diseñado para soportar actividades de equipo. La Administración de configuración es fundamental. • Facilidades son proporcionadas para soportar una amplia gama de actividades de software
Modelo de servicio de un SEE • Un arquitectura de niveles de SEE ordena al sistema como un numero de niveles donde cada uno proporciona algunos servicios a otros niveles • El nivel de plataforma proporciona archivos básicos, manejo de procesos y servicios de red • El nivel de área de trabajo proporciona manejo de datos, mensajes y servicios de interfaces de usuario
Perspectiva del ambiente • Desarrolladores de software miran al ambiente como un conjunto de comparaciones CASE • Integradores de SEE conjunto servicios comunes y herramientas las cuales deben estar integradas en un contexto particular • Desarrolladores de herramientas,como un conjunto de servicios comunes llamados por las herramientas. • Desarrrolladores de áreas de trabajo, como un conjunto de servicios el cual debe ser implementado
Plataforma central y remota • El SEE corre en una plataforma central pero el software es con frecuencia desarrollado en una computadora remota • El software podría estar para una maquina que no tiene facilidades de desarrollo. • La maquina remota podría ser una aplicación orientada(procesador paralelo) y no de una a la medida para correr sistemas CASE • La maquina remota podría ser usada por alguna otra aplicación la cual tomara prioridad
Servicios de plataforma • Servicios de archivos • Manejo de procesos • Servicios de red • Servicios de comunicación • Manejo de ventanas • Servicios de impresión • Estos son usualmente proporcionados por una red se estaciones de trabajo distribuida
Servicios del área de trabajo • Estos servicios extienden los servicios de la plataforma y proporcionan soporte especializado para SEE • Pueden ser discutidos en términos de un modelo de referencia , el cual identifica 5 conjuntos de servicios • Servicios de repositorio de datos • Servicios de integración de datos • Servicios de manejo de tareas • Servicios de mensajes • Servicios de interfaces de usuario
Repositorio de datos • El repositorio proporciona un sistema de manejo de objetos (OMS) para nombrar y manejar entidades y establecer relaciones entre entidades • La granularidad del repositorio refleja el mínimo tamaño de la entidad que podría ser almacenada y manipulada • La granularidad gruesa del repositorio usualmente maneja entidades tales como archivos • Granularidad fina puede manejar declaraciones individuales y partes de programas o diseños • sistemas de granularidad fina típicamente requiere muchos mas accesos de BD que los de granularidad gruesa.
Integración de datos • Extiende los servicios básicos del repositorio para proporcionar servicios específicos para desarrollo software • Estos servicios podrían ser usados como base para una manejo de configuración integrada del sistema • Servicios de Meta-datos que permiten sub-ambientes para ser creados, estos permitiendo diferentes proyectos para trabajar en su propio ambiente
Manejo de Tareas • Se refiere a soporte proporcionado para integración de procesos • Operaciones proporcionados para definir y ejecutar modelos de procesos • Servicios menos bien definidos en el modelo de referencia del SEE por la inmadurez del campo
Manejo de mensajes • Permiten a las herramientas y servicios del area de trabajo comunicarse • Dos servicios definidos en el modelo de referencia del SEE • Servicios de entrega de mensajes. Soporta paso de mensajes herramienta- herramienta, servicio-servicio, herramienta-servicio y área-área de trabajo. • Servicios de registro de herramientas. Permite a una herramienta registrase con el servidor de mensajes y recibir mensajes • Implementadas en productos comerciales como HP SoftBench
Servicio de interfaces de usuario • Soporte de integración de interpretación. Basado en el modelo X para interacción con el usuario • Los altos niveles del modelo no están bien definidos, así que no permite la comparación de los ambientes. • Pareciera estar basado en la suposición de que los servicios de plataforma serán proporcionados en una maquina UNIX. Esto no es el caso necesariamente
Herramientas del ambiente • Herramientas integradas • Herramientas que manejan todos los datos usando los servicios del área de trabajo e implementando sus estructuras de datos en un sistema de manejo de objetos • Herramientas semi-aisladas • Herramientas menos integradas. Manejan sus propios datos pero los archivos en los cuales están almacenados son manejados usando servicios del área de trabajo. • Herramientas foráneas • Herramientas las cuales corren en la misma plataforma que el SEE pero solamente usan servicios de plataforma
Migración de herramientas • Relativamente fácil de migrar existiendo herramientas de SEE’s como herramientas foráneas y para tablas de comparaciones abiertas, como herramientas semi-aisladas • El poder del ambiente puede solo ser liberado cuando la mayoría de las herramientas son herramientas integradas • Sin embargo, para integrar herramientas, se necesita un área de trabajo pero NO comprara ningún área de trabajo hasta que haya herramientas integradas
PCTE • PCTE (Portable Common Tool Environment) es el candidato mejor desarrollado para un sistema de area de trabajo de SEE • Proporciona repositorio de datos y servicios de integración de datos que serán combinados con otros sistemas (p.e SoftBench y Process Weaver) para proporcionar a amplio rango de servicios del ambiente
Resumen • Un SEE proporciona soporte para una amplia gama de actividades de procesos • SEE deben proporcionar los 5 niveles de integración herramientas y tablas de comparación la cual ha sido discutida • SEE son generalmente para trabajo plataforma central-remota • Servicios de plataforma los cuales son proporcionados incluyen archivos, manejo de procesos, red, comunicación, ventanas y servicios de impresión.
Resumen • Herramientas que son parte de un SEE podrían ser herramientas foráneas(integradas por medio de los servicios de plataforma), herramientas semi-aisladas(integradas por la granularidad gruesa de objetos) o herramientas integradas(integradas por granularidad fina de objetos) • ECMA PCTE han sido aceptados como una potencial área de trabajo para SEE’s