Está en la página 1de 38

Ambientes de Ingeniería

de
Software

Desarrollo 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.

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.
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
Modelo de niveles de un SEE

WorhBench Aplications

Framework Services

PlatForm Services
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
Desarrollo plataforma central-
remota
Host system

SEE running on a
workstation network

Network link Network link

Target Target
computer 1 computer 2
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
Un modelo de referencia de SEE
Data repository services
Data integration services

Tool
slots

Task management services Message


User interface services services
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.
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
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.
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
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.
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
Modelo de referencia de la
interface de usuario
Application

Dialogue

Presentation

Toolkit

Toolkit intrinsics
Base window system interface
(X-lib)
Da ta stream encoding
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
Integración de herramientas

Semi-detached Integr ated


tools tools

Foreign Framework
tools services

Platform
services
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.
NetBeans

Propósito

Swing es la tecnología para interfaces gráficas que trae


la plataforma Java. Swing es el sucesor de AWT que era
la tenología en versiones previas de Java.

Existen diversas alternativas para el desarrollo de


interfaces gráficas en Java. Para elegirlas hay que tener
en cuenta la calidad del la interfaz producida, la
productividad y consistencia al generar y mantener la
interfaz.
Historia

 NetBeans comenzó como un proyecto estudiantil en Republica Checa


(originalmente llamado Xelfi), en 1996 bajo la tutoría de la Facultad de
Matemáticas y Física en la Universidad Carolina en Praga. La meta era
escribir un entorno de desarrollo integrado (IDE) para Java parecida a la
de Delphi. Xelfi fue el primer entorno de desarrollo integrado escrito en
Java, con su primer pre-release en 1997-.

 Xelfi fue un proyecto divertido para trabajar, ya que las IDEs escritas en
Java eran un territorio desconocido en esa época. El proyecto atrajo
suficiente interés, por lo que los estudiantes, después de graduarse,
decidieron que lo podían convertir en un proyecto comercial. Prestando
espacios web de amigos y familiares, formaron una compañía alrededor
de esto. Casi todos ellos siguen trabajando en NetBeans.

 Tiempo después, fueron contactados por Roman Stanek, un empresario


que ya había estado relacionado con varias iniciativas en la Republica
Checa. Estaba buscando una buena idea en la que invertir, y encontró
en Xelfi una buena oportunidad. Así, tras una reunión, el negocio surgió.
Historia
 El plan original era desarrollar unos componentes JavaBeans para redes. Jarda
Tulach, quien diseñó la arquitectura básica de la IDE, propuso la idea de llamarlo
NetBeans, a fin de describir este propósito. Cuando las especificaciones de los
Enterprise JavaBeans salieron, decidieron trabajar con este estándar, ya que no
tenía sentido competir contra él, sin embargo permaneció el nombre de NetBeans.

 En la primavera de 1999, Netbeans DeveloperX2 fue lanzado, soportando Swing. Las


mejoras de rendimiento que llegaron con el JDK 1.3, lanzado en otoño de 1999,
hicieron de NetBeans una alternativa realmente viable para el desarrollo de
herramientas. En el verano de 1999, el equipo trabajó duro para rediseñar
DeveloperX2 en un NetBeans más modular, lo que lo convirtió en la base de
NetBeans hoy en día.

 Algo más ocurrió en el verano de 1999. Sun Microsystems quería una herramienta
mejor de desarrollo en Java, y comenzó a estar interesado en NetBeans. En otoño de
1999, con la nueva generación de NetBeans en Beta, se llegaría a un acuerdo.
NetBeans Hoy
 Con NetBeans 3.5 se mejoró enormemente en desempeño, y con la
llegada de NetBeans 3.6, se reimplementó el sistema de ventanas y
la hoja de propiedades, y se limpió enormemente la interfaz.
NetBeans 4.0 fue un gran cambio en cuanto a la forma de funcionar
del IDE, con nuevos sistemas de proyectos, con el cambio no solo de
la experiencia de usuario, sino del reemplazo de muchas piezas de
la infraestructura que había tenido NetBeans anteriormente.
NetBeans IDE 5.0 introdujo un soporte mucho mejor para el
desarrollo de nuevos módulos, el nuevo constructor intuitivo de
interfaces Matisse, un nuevo y rediseñado soporte de CVS, soporte a
Sun ApplicationServer 8.2, Weblogic9 y JBoss 4.
Descripción
Net beans es un IDE (Integrated Developer Environment)
multiplataforma para programar en Java. Es de uso
libre para aplicaciones no comerciales.

Net beans tiene una vista de diseño WYSIWYG (What You


See Is What You Get), también tiene un boton de
'preview' que muestra el panel diseñado en un JFrame
provisional.
Descripción
 Es excelente si se va a desarollar la aplicación en éste ambiente
pues la vista de diseño está bien integrada con el editor de código,
además el manejo de propiedades, las opciones de generación y el
manejo de eventos son completos y fáciles de usar.
 Aunque se desarrolle la interfaz gráfica en net beans no se queda
atado a este IDE genera código Java estándar.
Una desventaja es que no permite mover componentes en la vista
de diseño usando 'drag and drop', sino a traves del customizer.
La Plataforma NetBeans

La Plataforma NetBeans es una base modular y


extensible usada como una estructura de integración
para crear aplicaciones de escritorio grandes. Empresas
independientes asociadas, especializadas en desarrollo
de software, proporcionan extensiones adicionales que
se integran fácilmente en la plataforma y que pueden
también utilizarse para desarrollar sus propias
herramientas y soluciones.
 La plataforma ofrece servicios comunes a las aplicaciones de
escritorio, permitiéndole al desarrollador enfocarse en la lógica
específica de su aplicación. Entre las características de la
plataforma están:

 Administración de las interfaces de usuario (ej. menús y barras de


herramientas)

 Administración de las configuraciones del usuario

 Administración del almacenamiento (guardando y cargando


cualquier tipo de dato)

 Administración de ventanas

 Framework basado en asistentes (diálogos paso a paso)


Interface
Resumen
 El IDE NetBeans es un IDE - una herramienta para programadores
pensada para escribir, compilar, depurar y ejecutar programas.
Está escrito en Java - pero puede servir para cualquier otro
lenguaje de programación. Existe además un número importante
de módulos para extender el IDE NetBeans. El IDE NetBeans es un
producto libre y gratuito sin restricciones de uso.

 El NetBeans IDE es un IDE de código abierto escrito


completamente en Java usando la plataforma NetBeans. El
NetBeans IDE soporta el desarrollo de todos los tipos de
aplicación Java (J2SE, web, EJB y aplicaciones móviles). Entre sus
características se encuentra un sistema de proyectos basado en
Ant, control de versiones y refactoring.

También podría gustarte