Você está na página 1de 33

Ambientes de Ingeniería de Software

◆ Ambientes integrados para


soportar Desarrollo de
Software a gran escala.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 1


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 2


Tópicos
◆ Ambientes integrados
◆ Servicios de plataforma
◆ Servicios del area de trabajo
◆ PCTE

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 3


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.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 4


Organización de un APSE
◆ Reemplazar con diapositiva vertical

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 5


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 6


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 7


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 8


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 9


Modelo de niveles de un SEE

Workbench applications

Framework services

Platform services

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 10


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 11


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 12


Desarrollo plataforma central-remota
Host system

SEE running on a
workstation network

Network link Network link

Target Target
computer 1 computer 2

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 13


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 14


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 15


Un modelo de referencia de SEE
Data repository services
Data integration services

Tool
slots

Task management services Message


User interface services services

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 16


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.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 17


Relaciones y entidades de OMS
Language Language
CALL
Pascal Pascal
Procedur e Function

A B
Creator Status

J. Smith Optimised

Language Language
CALL
Ada C
Procedur e Function

C D
Creator Library
IS_EXTERNAL
H. Jones Math-lib

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 18


Servicios del repositorio de datos
Service Description
Data storage Provides support for creating, reading, updating and
deleting entities where entities are named, havea set of
attributes and may participate in relationships.
Relationship Provides support for defining and managing
relationships between environment entities.
Name Provides support forentity naming. Entities also have
a unique identifier which is assigned by the repository
services.
Location Provides supportfor the distribution of entities over a
network of workstations so has associated operations
such as move, copy, replicate, etc.
Data transaction Provides support for atomic transactions which allow
database recovery in the event of a failure.
Concurrency Provides support for multiple simultaneous
transactions.
Process support Provides process operations such as start, stop,
suspend, etc.
Archive Provides support for the off-line storage and recovery
of entities.
Backup Provides support for recovery of data in the event of
system failure.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 19
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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 20


Servicios de integración de datos
Service Description
Version Provides support for the management of multiple
versions of entities.
Configuration Provides support for entity grouping into named
configurations and managed as a composite entity.
Query Provides access and update services to versions.
Meta-data Provides facilities for schema definition and
management.
State monitoring Provides triggering facilities which allow particular
operations to be initiated when a particular database
state is reached.
Sub-environment Provides support forthe definition and management of
subsets of the data and operations in the environment
and to consider them as a separate, named environment.
Data interchange Provides mechanisms to import and export data from
the environment.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 21


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 22


Servicios de manejo de tareas
Service Description
Task definition Provides facilities for task definition including pre and post
conditions, inputs and outputs, resources required and the roles
involved in the task.
Task execution Provides facilities for supporting the execution of tasks. This
may involve specifying task interactions in a process
programming language.
Task transaction Provides support for transactions which involve one or more
task executions over a considerable period of time. Recovery
from failure should be possible without rolling back the
system to its state before the task started.
Task history Provides facilities to record task executions and to query
previous executions.
Event Supports the definition of events ortriggers which cause some
monitoring task to be executed.
Audit and Provides a record of what has been done and what resources
accounting have been used in the environment.
Role Provides facilities to define and manage roles in the
management environment.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 23
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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 24


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 25


Modelo de referencia de la interface de
usuario
Application

Dialogue

Presentation

Toolkit

Toolkit intrinsics
Base window system interface
(X-lib)
Da ta stream encoding

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 26


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 27


Integración de herramientas

Semi-detached Integr ated


tools tools

Foreign Framework
tools services

Platform
services

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 28


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 29


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 30


PCTE y el modelo de referencia de SEE
Services Description
Data repository All data repository services are provided by ECMA
PCTE with the exception of a backup service.
Data integration Provides all data integration services apart from a
general query service. Some services such as state
monitoring and data interchange services are more
limited than those proposed in the reference model.
Task management No task management services are provided apart from
auditing and accounting services.
Message Provides a service for message delivery but no tool
registration service.
User interface It is assumed that PCTE-based environments will use
X-windows for implementing their user interface. No
specific library is mandated.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 31


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.

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 32


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

©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 27 Slide 33

Você também pode gostar