The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Ingeniería del Software - 5ta Edición - Roger S. Pressman

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Marvin's Underground Latino USA, 2018-09-02 15:06:47

Ingeniería del Software - 5ta Edición - Roger S. Pressman

Ingeniería del Software - 5ta Edición - Roger S. Pressman

hwttwp:w//li.berlesroial-uucniiovenrasirtiaor.ian.ebltogspot.com
.

INGENlERfA DEL SOFTWARE. UN ENFOQUE PRÁCTICO

compañía. El objetivo primordial de las herramientas El análisis y gestión de riesgos se hato www.elsolucionario.net
de esta categoría consiste en representar objetos de datos en el Capitulo 6.
de negocio, sus relaciones y la forma en que fluyen estos
objetos de datos entre distintas zonas de negocio en el Herramientas de gestión de proyectos. La planifi-
seno de la compañía. cación del proyecto y el plan del proyecto deberán ser
rastreados y monitorizados de forma continua. Además,
Lo mgerikía de procesos de negociosse trato el gestor deberá utilizar las herramientas que recojan
en el Capítulo 1O. métricas que en Última instancia proporcionen una indi-
cación de la calidad del producto del software. Las herra-
Modelado de procesos y herramientas de gestión. mientas de esta categoría suelen ser extensiones de
Si una organización trabaja por mejorar un proceso de herramientas de planificación de proyectos.
negocio (o de software) lo primero que debe hacer es
entenderlo. Las herramientas de modelado de procesos El seguimientoy lo monitorización se trotan
(llamadas también herramientas de tecnologiu de pro- en el Capitulo 7.
cesos) se utilizan para representar los elementos clave
del proceso de manera que sea posible entenderlomejor. Herramientas de seguimiento de requisitos.
Estas herramientastambién pueden proporcionar víncu- Cuando se desarrollan grandes sistemas, las cosas «se
los con descripcionesde procesos que ayuden a quienes derrumban». Es decir, el sistema proporcionado suele
estén implicados en el proceso de comprender las tareas no satisfacer los requisitos especificados por el cliente.
que se requieren para llevar a cabo ese proceso. Además, El objetivo de las herramientas de seguimiento es pro-
las herramientas de gestión de procesos pueden propor- porcionar un enfoque sistemático para el aislamiento de
cionar vínculos con otras herramientas que proporcionan los requisitos, comenzando por el RFP del cliente o por
un apoyo para las actividades de proceso ya definidas. la especificación. Las herramientas típicas de segui-
miento de requisitos combinan una evaluación de tex-
los dementosde procesos del &are se haton tos por interacción humana, con un sistema de gestión
en el Capítulo 2. de bases de datos que almacena y categoriza todos y
cada uno de los requisitos del sistema que se «analizan»
Herramientas de planificación de proyectos. Las a partir de la RFP o especificación original.
herramientas de esta categoría se centran en dos áreas
primordiales: estimación de costes y de esfuerzos del Los métodos de ingenieríode requisitosse haton
proyecto de software y planificación de proyectos. Las
herramientas de estimación calculan el esfuerzo esti- en el Capitulo 1O.
mado, la duración del proyecto y el número de perso-
nas recomendado para el proyecto. Las herramientas Herramientas de métricas y de gestión. Las métri-
de planificación de proyectos hacen posible que el ges- cas del software mejoran la capacidad del gestor para
tor defina todas las tareas del proyecto (la estructura controlar y coordinar el proceso de ingeniería del soft-
de desglose de tareas), que cree una red de tareas (nor- ware y la capacidad del ingeniero para mejorar la cali-
malmente empleando una entrada gráfica), que repre- dad del software que se produce. Las métricas o
sente las interdependencias entre tareas y que modele herramientas de medidas actuales se centran en caracte-
la cantidad de paralelismo que sea posible para ese rísticas de procesos y productos. Las herramientasorien-
proyecto. tadas a la gestión se sirven de métricas específicas del
proyecto (por ejemplo, LDC/persona-mes, defectos por
los técnicas de estimación se presentan en el Capitulo 5. punto de función) que proporcionan una indicación glo-
los métodos de planificaciónse tmton en el Capítulo 7. bal de productividad o de calidad. Las herramientas con
orientación técnica determinan las métricas técnicas que
Herramientas de análisis de riesgos. La identifi- proporcionan una mejor visión de la calidad del diseño
cación de posibles riesgos y el desarrollo de un plan o del código.
para mitigar, monitorizar y gestionar esos riesgos tiene
una importancia fundamental en los proyectos grandes. Los rnéhtas se presentan en ios Capítulos 4, 19 y 24.
Las herramientas de análisis de riesgos hacen posible
que el gestor del proyecto construya una tabla de ries- Herramientas de documentación. Las herramien-
gos proporcionando una guía detallada en la identifica- tas de producción de documentos y de autoedición pres-
ción y análisis de riesgos.

562

www.elsolucionario.net

.

CAPfTULO 3 1 INGENIERfA DEL SOFTWARE ASISTIDA P O R COMPUTADORA

tan su apoyo a casi todos los aspectos de la ingeniería Herramientasde gestión de configuración de soft- www.elsolucionario.net
del software, y representan una importante oportunidad ware. La gestión de configuraciónde software (GCS) se
de «aprovechamiento» para todos los que desarrollan encuentra en el núcleo de todos los entomos CASE. Las
software. La mayoría de las organizaciones dedicadas herramientas pueden ofrecer su asistencia en las cinco
al desarrollo de software invierten una cantidad de tareas principalesde G C S -identificación,control de ver-
tiempo considerable en el desarrollo de documentos, y siones, control de cambios, auditoría y contabilidad de
en muchos casos el proceso de documentación en sí estados-. La base de datos CASE proporciona el meca-
resulta bastante deficiente. Es frecuente que una orga- nismo de identificartodos los elementos de configuración
nización de desarrollo de software invierta en la docu- y de relacionarlocon otros elementos;el proceso de con-
mentación hasta un 20 o un 30 por lOO-de su esfuerzo trol de cambios se puede implementar con ayuda de las
global de desarrollo de software. Por esta razón, las herramientasespecializadas;un acceso sencillo a los ele-
herramientas de documentación suponen una oportuni- mentos de configuración individuales facilita el proceso
dad importante para mejorar la productividad. de auditona; y las herramientas de comunicación CASE
pueden mejorar enormementela Contabilidad de estados
l o documentación se estudia a lo largo de todo el (ofreciendo información acerca de los cambios a todos
libro. En SepoWeb se presentan más datos. aquellos que necesiten conocerlos).

Herramientas de software de sistema. CASE es
una tecnología de estaciones de trabajo. Por tanto, el
entorno CASE deberá adaptarse a un software de sis-
tema en red de alta calidad, al correo electrónico, a los
tablones de anuncios electrónicos y a otras posibilida-
des de comunicarse.

Consulte los Capítulos27,28 y 29 poro un estudio Herramientas de análisis y diseño. Las herra-
mientas de análisis y diseño hacen posible que el inge-
limitado de estos temas. niero del software cree modelos del sistema que vaya a
construir.Los modelos contienen una representación de
Herramientas de control de calidad. La mayor los datos, función y comportamiento(en el nivel de aná-
parte de las herramientas CASE que afirman tener lisis), así como caracterizaciones del diseño de datos,
como principal interés el control de calidad son en rea- de arquitectura, a nivel de componentes e interfaz'. Al
lidad herramientas de métricas que hacen una audito- efectuar una comprobación de consistencia y validez de
ría del código fuente para determinar si se ajusta o no los modelos, las herramientas de análisis y diseño pro-
a ciertos estándares del lenguaje. Otras herramientas porcionan al ingeniero del software un cierto grado de
extraen métricas técnicas (Capítulos 19 y 24) en un visión en lo tocante a la representación del análisis, y
esfuerzo por extrapolar la calidad del software que se le ayudan a eliminar errores antes de que se propaguen
está construyendo. al diseño, o lo que es peor, a la propia implementación.

GCS se presenta en el Copítulo 8. Elanálisiisy el diseñose estudon en las Partes
Tercera y Cuartode este libro.

Herramientas de gestión de bases de datos. El soft- HerramientasPROISIM. Las herramientas PRO/SIM
ware de gestión de bases de datos sirve como funda- (de construcción de prototipos y simulación) [MCW]pro-
mento para establecer una base de datos CASE porcionan al ingeniero del software la capacidad de pre-
(repositorio),que también se denominará base de datos decir el comportamiento de un sistema en tiempo real
del proyecto. Dada la importanciade los objetos de con- antes de llegar a construirlo. Además, también le capaci-
figuración,las herramientas de gestión de bases de datos tan para desarrollar simulaciones del sistema de tiempo
para CASE pueden evolucionar a partir de los sistemas real, lo que permitirá que el cliente obtenga ideas acerca
de gestión de bases de datos relacionales (SGBDR) para de su funcionamiento, comportamientoy respuesta antes
transformarse en sistemas de gestión de bases de datos de la verdadera implementación.
orientadas a objetos (SGBDOO).

I La herramientas de diseño y de análisis orientado a objetos pro-
porcionan representaciones análogas.

563

www.elsolucionario.net
.

INGENIERfA DEL SOFTWARE. UN ENFOQUE PRACTICO

lo tonhiccibn de prototiposy la simuiocidn Herramientas de integración y pruebas. En el
se estudian brevementeen el Capitulo 1O. directorio de herramientas de pruebas de software del
Software Quality Engineering [SQE95], se definen las
Herramientasde desarrolloy disenode interfaz.Las categorías de herramientas de pruebas siguientes:
herramientas de desarrolloy diseño de interfaz son en rea-
lidad un conjunto de herramientas de componentes de pro- adquisición de datos: herramientas que adquieren
gramas (clases) tales como menús, botones,estructurasde los datos que se utilizarán durante la prueba;
ventanas, iconos, mecanismos de desplazamiento de la medida estática: herramientas que analizan el código
pantalla, controladores de dispositivos, etc. Sin embargo, fuente sin ejecutar casos de prueba;
estos conjuntos de herramientas se están viendo sustitui-
dos por herramientas de construcciónde prototiposde inter- La comprobag6ndel &.vare se estudia
faz que permiten una rápida creación en pantalla de
interfaces de usuario sofisticadas,que se ajustan al están-
dar de interfaz que se haya adoptado para el software.

los elementosdel diseño de interfaz de uurorio medida dinámica: herramientas que analizan el www.elsolucionario.net
se presentan en el Copíiulo 15. código fuente durante la ejecución;
simulación: herramientas que simulan las funciones
Herramientas de construcción de prototipos. Se del hardware o de otros elementos externos;
puede utilizar toda una gama de herramientas de cons- gestión de pruebas: herramientas que prestan su asis-
trucción de prototipos.Los generadores de pantallas per- tencia en la planificación, desarrollo y control de las
miten al ingeniero del software definir rápidamente la pruebas;
disposición de la pantalla para aplicacionesinteractivas. herramientas de funcionalidad cruzada: se trata de
Otras herramientas de prototipos CASE más sofisticadas herramientas que atraviesan los límites de las cate-
permiten la creación de un diseño de datos, acompañado gorías anteriores.
por diseños e informes de la pantalla. Muchas herra-
mientas de análisis y diseño son más extensas y propor- Debería tenerse en cuenta que muchas de las herra-
cionan opciones de construcción de prototipos. Las mientas de prueba poseen características que abarcan
herramientas PRO/SIM generan un diseño esquemático dos categorías o más de las anteriormentemencionadas.
de código fuente en Ada y C para las aplicaciones de inge-
niería (en tiempo real). Por último, una gama amplia de Herramientasde análisis estático.Las herramientas
herramientasde cuarta generaciónposeen también carac- de análisis estático prestan su asistencia al ingeniero del
terísticas de construcción de prototipos. software a efectos de derivar casos prácticos. En la indus-
tria se utilizan tres tipos distintos de herramientas estáti-
l o construcciónde prototiposse estudio cas de prueba: herramientas de prueba basadas en código;
en los Copítulos 2 y 11. lenguajes de prueba especializados y herramientas de
prueba basadas en requisitos. Las herramientasde prueba
Herramientas de programación. La categoría de basadas en código admiten un código fuente (o LDP)
herramientas de programación abarca los compilado- como entrada, y llevan a cabo varios análisis de los que
res, editores y depuradores disponibles para apoyar a la se obtiene la generación de casos de prueba. Los lengua-
mayoría de los lenguajes de programación convencio- jes de prueba especializados(por ejemplo,ATLAS) hacen
nales. Además, en esta categoría también residen los posible que el ingeniero del software escriba especifica-
entomos de programación orientados a objetos (00), ciones de prueba detalladas para describir todos los casos
los lenguajes de cuarta generación, los entomos de pro- de prueba y la logística de su ejecución. Las herramien-
gramación gráfica, los generadores de aplicaciones y tas de prueba basadas en requisitos aíslan los requisitos
los lenguajes de consulta de bases de datos. del usuario y sugieren los casos de prueba (o clases de
prueba) que ejercitaránesos requisitos.
Herramientas de desarrollo de Webs. Las activi-
dades asociadas a la ingeniería Web están apoyadas por Los métdos de comprobaciin de cap negra
una variedad de herramientas de desarrollo de WebApps. se estudian en el Capítulo 17.
Entre estas herramientas se incluyen las que prestan
ayuda en la generación de texto, gráficos, formularios, Herramientas de análisis dinámico. Las herra-
guiones, applets y otros elementos de una página Web. mientas de análisis dinámico interactúan con el pro-
grama que se esté ejecutando, prueban la cobertura de
rutas, prueban las afirmaciones acerca del valor de varia-
bles específicas e instrumentan por otro lado el flujo de

564

www.elsolucionario.net
.CAPtTULO 31 INGENIERfA DEL SOFTWARE ASISTIDA POR COMPUTADORA

ejecución del programa. Las herramientas dinámicas la pruebaC/S seestvdio en el www.elsolucionario.net
pueden ser intrusivas, o no intrusivas. Las herramien-
tas intrusivas modifican el software que hay que com- Herramientas de reingeniería. Las herramientas
probar mediante la inserción de sondas (instrucciones para el software heredado abarca un conjunto de activi-
adicionales) y que efectúan las actividades menciona- dades de mantenimiento que actualmente absorben un
das anteriormente.Las herramientas de prueba no intru- porcentaje significativode todo el esfuerzo relacionado
sivas utilizan un procesador hardware por separado que con el software. La categoría de herramientas de rein-
funciona en paralelo con el procesador que contiene el geniería se puede subdividiren las funciones siguientes:
programa que se está probando.
herramientas de ingeniería inversa para producir
Herramientas de gestión de pruebas. Las herra- especificaciones: se toma el código fuente como
mientas de gestión de pruebas se utilizan para controlar entrada y se generan modelos gráficos de análisis y
y coordinar las pruebas del softwarepor todos y cada uno diseño estructurados,listas de utilización y más infor-
de los pasos principales de las pruebas. Las herramien- mación sobre el diseño;
tas de esta categoría gestionan y coordinan las pruebas
de regresiones,efectúan comparacionesque determinan los métodosde reingeniefía se estudwn
las diferencias entre la salida real y la esperada y reali- en el Capítulo 30.
zan pruebas por lotes de programas con interfaces hom-
bre-máquina interactivas. Además de las funciones herramientas de reestructuración y análisis de
indicadas anteriormente, muchas herramientas de ges- código: se analiza la sintaxis del programa, se genera
tión de pruebas sirven también como controladores de una gráfica de control de flujo y se genera automá-
pruebas genéricos. Un controlador de pruebas lee uno o ticamente un programa estructurado; y
más casos de prueba de algún archivo de pruebas, aplica
formato a los datos de prueba para que se ajusten a las herramientas de reingeniería para sistemas on-
necesidades del software que se está probando, e invoca line: se utilizan para modificar sistemas de bases
entonces al software que es preciso probar. de datos on-line (por ejemplo, para convertir archi-
vos IDMS o DB2 en un formato de entidades y
Las estrategiasde prueba se estudion relaciones).
en el Capítulo 18.
Muchas de las herramientas anteriores se ven limi-
Herramientas de pruebas cliente/servidor. El tadas a lenguajes de programación específicos (aunque
entorno C/S exige unas herramientas de pruebas espe- abarcan la mayoría de los lenguajes principales) y
cializadas que ejerciten la interfaz gráfica de usuario requieren un cierto grado de interacción con el inge-
y los requisitos de comunicacionesen red para el cliente niero del software.
y el servidor.

Aunque se pueden obtener beneficios individualmen- ¿Cuáles son los beneficios
te de las herramientas CASE que abarcan actividades de CASE integradas?
de ingeniería del software por separado, la verdadera
potencia de CASE solamente se puede lograr median- Ahora bien, 1-CASEtambién expone a desafíos sig-
te la integración. Entre los beneficios del CASE inte- nificativos. En cada acción exige unas representaciones
grado (1-CASE) se incluyen: (1) una transferencia consecuentes de la información de la ingeniería del
regular de información (modelos, programas, docu- software; unas interfaces estandarizadas entre las herra-
mentos, datos) entre una herramienta y otra, y entre mientas, un mecanismo homogéneo para la comuni-
un paso de ingeniería y el siguiente; (2) una reducción cación entre el ingeniero del software y todas sus
del esfuerzo necesario para efectuar actividades glo- herramientas, y un enfoque efectivo que hará posible
bales tales como la gestión de configuración de soft- que 1-CASE se desplace a lo largo de distintas plata-
ware, el control de calidad y la producción de formas de hardware y distintos sistemas operativos. Los
documentos; ( 3 ) un aumento del control del proyecto entomos 1-CASE generales han comenzadoa surgir más
que se logra mediante una mejor planificación, moni- lentamente de lo que inicialmente se esperaba. Sin
torización y comunicación; (4) una mejor coordina- embargo, los entornos integrados sí que existen, y con
ción entre los miembros del personal que estén el paso de los años se van haciendo más poderosos.
trabajando en grandes proyectos de software.

565

www.elsolucionario.net

INGENiERfA DEL SOFTWARE. UN ENFOQUE PRÁCTICO .

".c%V E permitir un acceso directo y no secuencia1 a cual- www.elsolucionario.net
quier herramienta del entorno;
l a integraciónde las herramientas CASE exige uno base
de datos que contenga las representacionesconsecuentes establecer un apoyo automatizado para el modelo de
de la información de la ingenieríodel softwore. procesos de software que se haya seleccionado,inte-
grando herramientas CASE y elementos de configu-
El término integración implica tanto combinación ración del software en una estructura estándar de
como cierre. 1-CASEcombina toda una gama de herra- desglose de trabajo;
mientas e información distintos de tal modo que hace
posible el cierre de la comunicación entre las herra- permitir que los usuarios de cada una de las herra-
mientas, entre personas y entre procesos de software. mientas puedan experimentar con el aspecto e inte-
Las herramientas se integran de tal manera que la infor- racción de la interfaz hombre-máquina;
mación de ingeniería del software esté disponible para
todas las herramientas que se necesiten; la utilización los tema relacionados con los procesos se estudion
se integra de tal modo que se proporciona un aspecto y en los Capítulos2,4 y 7. Los ECs se presentan
una interacción común para todas las herramientas; y en el Copítulo 9.
se integra una filosofía de desarrollo que aplica prácti-
cas modernas y métodos ya probados. dar soporte a la comunicación entre ingenieros del
software; y
Para definir la integración en el contexto del proce-
so del software, es necesario establecer un conjunto de recoger métricas tanto técnicas como de gestión que
requisitos para 1-CASE [FOR89a]. Un entorno CASE se puedan utilizar para mejorar el proceso y el pro-
integrado debería: ducto.

proporcionar un mecanismo para compartir la infor- Para alcanzar estos ob.jetivos, cada uno de los blo-
mación de la ingeniería del software entre todas las ques de construcción de una arquitectura (CASE
herramientas dentro del entorno; -Fig. 3 1.1-) deberá encajar con los demás sin nin-
gún tipo de limitación. Los bloques de construcción
hacer posible que un cambio de un elemento de infor- fundamentales -arquitecturadel entorno, plataforma
mación se siga hasta los demás elementos de infor- hardware y sistema operativo- deberán «unirse» a
mación relacionados; través de un conjunto de servicios de portabilidad a un
marco de referencia de integración que alcance los
proporcionar un control de versiones y una gestión objetivos indicados anteriormente.
de configuracióngeneral para toda la información de
la ingeniería del software;

Un equipo de ingeniería del software utiliza herra- ra 31.3. se muestra un modelo sencillo del marco de
mientas CASE, los métodos correspondientes y un referencia que representa únicamente los componen-
marco de referencia de proceso con objeto de crear tes indicados anteriormente.
un conjunto de informaciones de ingeniería del soft-
ware. El marco de referencia de integración facilita Una lista de todos los elementosde información
la transferencia de información desde y hacia ese con- de la ingeniería del software puede encontrarse
junto de informaciones. Para lograr esto, deberán
existir los componentes de arquitectura siguientes: la boio los ECs.
creación de una base de datos (para almacenar la
información); la construcción de un sistema de ges- La capa de interfaz del usuario (Figura 3 1.1) incor-
tión de objetos (para gestionar los cambios efectua- pora un conjunto de herramientas de interfaz estanda-
dos en la información); la construcción de un rizado, con un protocolo de presentación común. El kit
mecanismo de control de herramientas (para coordi- de herramientas de interfaz contiene software para la
nar la utilización de herramientas CASE), y una inter- gestión de la interfaz hombre-máquina, y una bibliote-
faz de usuario que proporcione una ruta consecuente ca de objetos de visualización. Ambos proporcionan un
entre las acciones efectuadas por el usuario y las mecanismo consecuente para la comunicación entre la
herramientas que están dentro del entorno. La mayo-
ría de los modelos (por ejemplo, [FOR90], [SHA95]
del marco de referencia de integración representan a
estos componentes como si fueran capas. En la Figu-

566

hwttpw:/w/lib.erelsrioa-luunciivoenrsaitraiori.an.belot gspot.com
.

CAPfTULO 31 INGENIERfA DEL SOFTWARE ASISTIDA P O R COMPUTADORA

interfaz y las herramientas CASE individuales. El pro- multitarea, coordina el flujo de información desde el
tocolo de presentación es el conjunto de líneas gene- repositorio y el sistema de gestión de objetos a las
rales que proporciona un mismo aspecto a todas las herramientas,realiza las funciones de seguridad y audi-
herramientas CASE. Las convenciones del diseño de toría y recoge métricas acerca de la utilización de herra-
pantalla, nombres y organización del menú, iconos, mientas.
nombres de los objetos, utilización del teclado y del
ratón, y el mecanismo para acceder a las herramientas ’Referencia Web/
se definen todos ellos como parte del protocolo de pre-
sentación. los recursos paro la integraciónde herramientasCASE
y poro los Entornosde Integrodónde Ingeniería
Capa de interfaz de usuario del software se pueden obtener en:
Kit de herramientas de interfaz see.ts.flinder s.edu.au/sew eb/ti/
Protocolo de presentación
La capa de gestión de objetos (CGO) lleva a cabo
1 Servicios de gestión de herramientas w i las funciones de gestión de configuración que se des-
cribían en el Capítulo 8. En esencia, el software de esta
r nI II n capa de la arquitectura de marco de referencia propor-
Herramienta Capa de herramientas ciona el mecanismo para la integración de herramien-
tas. Cada herramienta CASE «se enchufa» en la capa
FIGURA 31.3. Modelo de arquitectura para el marco de gestión de objetos. Al funcionar en conjunto con el www.elsolucionario.net
de referencia de integración. repositorio CASE, la CGO proporciona los servicios de
integración-un conjuntode módulos estándar que aco-
La capa de herramientas incorpora un conjunto de plan las herramientas con el repositorio-. Además, la
servicios de gestión de herramientas con las herra- OML proporciona los servicios de gestión de configu-
mientas CASE en sí. Los servicios de gestión de herra- ración haciendo posible la identificación de todos los
mientas (SGH) controlan el comportamiento de las objetos de configuración, llevando a cabo el control de
herramientas dentro del entorno. Si durante la ejecu- versiones y proporcionando apoyo para el control de
ción de una o más herramientas se emplea la multita- cambios, auditorías y contabilidad de estados.
rea, SGH efectúa la sincronización y comunicación
La capa de repositorio compartido es la base de datos
CASE y las funciones de control de acceso que hacen
posible que la capa de gestión de objetos interactúe con
la base de datos. La integración de datos se logra
mediante las capas de gestión de objetos y de reposito-
rio compartido que se estudian más adelante y con más
profundidad en este mismo capítulo.

El Diccionario Websterdefine la palabra repositoriocomo del software) es interactuar con el repositorio empleando
,«todo objeto o persona considerado centro de acumula- herramientas CASE integradas con él.
ción o almacenamiento».Durante las primeras fases de la
historia del desarrollo del software, el repositorio era en En este libro, se utiliza un determinado número de
realidad una persona -el programador quetenía que recor- términos distintos para hacer alusión al lugar de alma-
dar la ubicación de toda la información relevante para un cenamiento de la información de la ingeniería del soft-
determinadoproyecto de software,que tenía que recordar ware: base de datos CASE, base de datos del proyecto,
información que nunca se había escrito y que tenía que base de datos de entorno de apoyo integrado a proyec-
reconstruirla informaciónque se había perdido-. Triste- to (EAIP),diccionario de requisitos (una base de datos
mente, la utilización de una persona como «centro de acu- limitada) y repositorio, Aunque existen sutiles diferen-
mulación y almacenamiento»(aunquecorrespondacon la cias entre algunos de estos términos todos ellos hacen
definición del diccionario) no funciona demasiado bien. referencia al centro de acumulación y almacenamiento.
En la actualidad,el repositorio es una «cosa»-una base
de datos que actúa como centro tanto para la acumulación 31.6.1. El papel del repositorio en 1-CASE
como para el almacenamientode informaciónde ingenie-
ría del software-. El papel de la persona (del ingeniero El repositorio de un entorno 1-CASE es el conjunto de
mecanismos y de estructuras de datos que consiguen la

567

www.elsolucionario.net

I N G E N I E R ~ ADEL SOFTWARE. UN ENFOQUE PRÁCTICO .

integración entre datos y herramientas, y entre datos y 31.6.2. Características y contenidos www.elsolucionario.net
datos. Proporciona las funciones obvias de un sistema
de gestión de bases de datos, pero, además, el reposito- Las característicasy contenido del repositorio se entien-
rio lleva a cabo o precipita las funciones siguientes den especialmente bien examinándolo desde dos pers-
[FOR89b]: pectivas: ¿Qué es lo que hay que almacenar en el
repositorio, y qué servicios específicos son los que pro-
integridad de datos: incluye funciones para validar porciona el repositorio? En general, los tipos de cosas
las entradas efectuadas en el repositorio, para asegu- que habrá que almacenar en el repositorio incluyen:
rar la consistencia entre objetos relacionados, y para
efectuar automáticamente modificaciones «en cas- el problema que hay que resolver;
cada» cuando un cambioefectuado en un objeto exige
algún cambio en otros objetos relacionados con él; información acerca del dominio del problema;

irformación compartida:proporciona un mecanismo la solución del sistema a medida que va surgiendo;
para compartir información entre múltiples desarro-
lladores y entre múltiples herramientas; gestiona y las reglas e instrucciones relativas al proceso de soft-
controla el acceso multiusuario a los datos, y blo- ware (metodología) que se está siguiendo;
quea/desbloquea objetos para que los cambios no se el plan del proyecto, sus recursos y su historia;
superpongan inadvertidamente;
información acerca del contexto organizativo.
¿Cuales son las funciones que
llevan a cabo los servicios que En la Tabla 31.1 se ha incluido una lista detallada de
se acoplan con el repositorioCASE? tipos de representaciones, documentos y otros produc-
tos que se almacenan en el repositorio CASE.
integración datos-herranzientas:estableceun modelo
de datos al que pueden acceder todas las herramien- Un repositorio CASE robusto proporciona dos cla-
tas del entorno 1-CASE; controla el acceso a los ses distintas de servicios: (1) los mismos tipos de ser-
datos, y lleva a cabo las funciones de gestión de con- vicios que puede uno esperar de cualquier sistema de
figuración adecuadas; gestiórfde bases de datos sofisticados; y (2) servicios
que son específicos del entorno CASE.
integración duros-datos: el sistema de gestión de
bases de datos relaciona los objetos de datos de tal Muchos requisitos del repositorio son iguales a los
manera que se puedan alcanzar las demás funcio- de las aplicaciones típicas que se construyen tomando
nes; como base un sistema de gestión de bases de datos de
comercial (SGBD). De hecho, muchos de los reposito-
imposición de la metodología: el modelo E-R de rios CASE actuales hacen uso de un SGBD (normal-
datos almacenado en el repositorio puede implicar mente relaciona1 u orientado a objetos) como la
un paradigma específico de ingeniería del software; tecnología de gestión de datos básica. Entre las carac-
como mínimo, las relaciones y los objetos definen terísticas de un SGBD que dan soporte a la gestión de
un conjuntode pasos que se llevará a cabo para cons- información de desarrollo del software se incluyen las
truir el contenido del repositorio; siguientes:

estandarizaciónde documentos: la definición de obje- Almacenamiento de datos no redundante. Cada
tos de la base de datos da lugar directamente a un objeto es almacenado sólo una vez, aunque es accesi-
enfoque estándar para la creación de documentos de ble por todas las herramientas CASE siempre y cuando
ingeniería del software. estas lo necesiten.

Para conseguir estas funciones, se define el reposi- Acceso de alto nivel. Se implementa un mecanismo
torio en función de un metamodelo. El metamodelo común de acceso a los datos de tal modo que no sea pre-
determina la forma en que se almacena la información ciso duplicar las funciones de gestión de datos en todas
en el repositorio, la forma en que las herramientas pue- las herramientas CASE.
den acceder a los datos y estos datos pueden ser visua-
lizados por los ingenieros de software, el grado hasta el ¿Cuales son las características
cual se puede mantener la seguridad e integridad de los típicas de los SGBD que dan
datos, y la facilidad con que se puede ampliar el mode- soporte a CASE ?
lo ya existente para admitir nuevas necesidades
[WEL891. Independencia de datos. Las herramientas CASE y
las aplicaciones destino se aíslan del almacenamiento
El metamodelo es la plantilla en la cual se sitúa la físico para que no se vean afectadas cuando la configu-
información de ingenieríadel software. Una descripción ración del hardware se cambie.
detallada de estos modelos va más allá del alcance de este
libro. Para más información, el lector interesado podría Control de trunsacciones. El repositorio implementa
consultar [WEL89], [SHA95] y [GRI95]. bloqueo de registros, admisiones de dos fases, registros
de transacciones y procedimientos de recuperaciónpara
mantener la integridadde los datos cuando existen usua-
rios concurrentes.

568

www.elsolucionario.net
.

CAPfTULO 31 INGENIERfA DEL SOFTWARE ASISTIDA P O R COMPUTADORA

Información de la empresa Construcción www.elsolucionario.net
Estructura organizativa Código fuente; código objeto
Análisis del área de negocios Instrucciones de construcción del sistema
Funciones de negocios Imágenes binarias
Reglas de negocios Dependencias de configuración
Modelos de procesos (escenarios) Información de cambios
Arquitectura de la información
Validación y verificación
Diseño de aplicaciones Plan de comprobación; casos de prueba de los
Reglas de metodología datos
Representaciones gráficas Guiones de comprobación de regresión
Diagramas de sistema Resultados de comprobaciones
Estándares de denominación Análisis estadísticos
Reglas de integridad referenciales Métricas de calidad de software
Estructuras de datos
Definiciones de proceso Información de gestión del proyecto
Definiciones de clase Planes de proyecto
Arboles de menú Estructura de desglose de tareas
Criterios de rendimiento Estimaciones; planificaciones
Restricciones temporales Carga de recursos; informe de problemas
Definiciones de pantalla Soqicitudes de cambios; informes de estado
Definiciones de informes Información de auditoría
Definiciones lógicas
Lógicas de comportamiento Documentación del sistema
Algoritmos Documentos de requisitos
Reglas de transformación Diseños internos/externos
Manuales de usuario
TABLA 31.1. Contenido de un repositorio CASE iFOR89Bl.

Seguridad. El repositorio proporciona mecanismos Almacenamiento de estructuras de datos sofistica-
para controlar quién puede visualizar y modificar la das. El repositorio debe admitir tipos de datos comple-
información contenida en él. jos tales como diagramas, documentos y archivos, así
como sencillos elementos de datos. Un repositorio tam-
Consultas e informes de datos ad hoc. El reposito- bién incluye un modelo de información (o metamodelo)
rio permite acceder directamente a su contenido que describe la estructura, relaciones y semántica de los
mediante una interfaz de usuario cómoda tal como SQL, datos almacenados en él. El metamodelo deberá poder
o mediante un «navegador» (browser)orientado a for- ampliarse para dar cabida a representaciones nuevas y
mularios, haciendo posible un análisis definido por el a una información organizativa únicas. El repositorio
usuario que va más allá de los informes estándar pro- no solamente almacena modelos y descripciones de los
porcionados por el conjunto de herramientas CASE. sistemas en desarrollo, sino que los metamodelos aso-
ciados (esto es, una información adicional que describe
Apertura. Los repositorios suelen proporcionar un la información de ingeniería del software en sí, tal como
mecanismo de importación/exportación sencillo que el momento en que se ha creado un componente de
hace posible las cargas o transferencias de información diseño concreto, su estado actual y la lista de compo-
al por mayor. nentes de los cuales depende).

Soporte multiusuario. Un repositorio robusto deberá ¿Cuáles son las características
permitir que múltiples desarrolladores trabajen en una especiales mostradas en el
aplicación al mismo tiempo. Deberá gestionar el acceso repositorio CASE?
concurrente a la base de datos mediante múltiples
herramientas y por parte de múltiples usuarios, con Imposición de una integridad. El modelo de infor-
arbitraje de accesos y con bloqueos en el nivel de archi- mación del repositorio contiene también reglas, o polí-
vos o registros. Para los entornos basados en redes, el ticas, que describen reglas de negocios válidas y otras
soporte multiusuario implica también que el reposito- restricciones y requisitos acerca de la información que
rio se podrá comunicar mediante interfaz con proto- se inserta en el repositorio (directamente o a través de
colos (agentes de solicitud de objetos) y servicios una herramienta CASE). Es posible emplear un servi-
comunes de red. cio llamado disparador para activar las reglas asocia-
das a un objeto siempre que este sea modificado, lo cual
El entorno CASE también efectúa demandas espe- hace posible verificar la validez de los modelos de diseño
ciales con respecto al repositorio que van más allá de en tiempo real.
lo que está disponibledirectamenteen un SGBD comer-
cial. Entre las características especiales de los reposi-
torios CASE se incluyen las siguientes:

569

www.elsolucionario.net

INGENIERfA DEL SOFTWARE. U N ENFOQUE PRÁCTICO .

’Referencia We6/ El repositorio CASE deberá ser capaz de controlar www.elsolucionario.net
una amplia variedad de tipos de objetos entre los que se
Un manual de aprendizajedetalladoy una lista de incluyen texto, gráficos, mapas de bits, documentos
recursos para repositorios O0 (que se pueden utilizar para complejos y objetos Únicos como definiciones de pan-
talla y de informes, archivos de objetos, datos de com-
entornos CASE) se pueden encontrar en la dirección probación y resultados. Un repositorio maduro rastrea
mini.net/tetus/oo-db-systems_l .html las versiones de objetos con niveles arbitrarios de gra-
nularidad, por ejemplo, se puede rastrear cada defini-
Interfaz de herramientas ricas en términos semánti- ción de datos o agrupamiento de módulos.
cos. El modelo de información del repositorio (el meta-
modelo) contiene una semántica que hace posible que Para dar apoyo al desarrollo paralelo, el mecanismo
toda una gama de herramientas interpreten el signifi- de control de versiones deberá permitir múltiples deri-
cado de los datos almacenados en el repositorio. Por vados (variantes) a partir de un solo predecesor. Así pues,
ejemplo, un diagrama de flujo de datos creado mediante un desanollador podrá estar trabajando al mismo tiempo,
una herramienta CASE se almacena en el repositorio en en dos soluciones posibles para un problema de diseño
un formulario basado en el modelo de información e generadas las dos desde el punto de partida.
independiente de toda representación interna que pueda
utilizar la herramientas en sí. Entonces otra herramienta Seguimiento de dependencias y gestión de cambios.
CASE puede interpretar el contenido del repositorio y El repositorio gestiona una amplia variedad de relacio-
utilizar la información cuando la necesite para su tarea. nes entre los elementos de datos almacenados en é1.
De este modo, la semántica almacenada en un reposi- Entre estas se cuentan las relaciones entre entidades y
torio permite compartir datos entre una gran variedad procesos de la empresa, entre las partes de un diseño de
de herramientas, a diferencia de las conversiones espe- aplicación, entre componentes del diseño y la arquitec-
cíficas entre herramientas, o entre «puentes». tura de la información de la empresa, entre elementos
de diseño y productos, etc. Algunas de las relaciones
Gestión de procesosiproyectos. Un repositorio con- son meramente asociaciones, y algunas son dependen-
tiene información no sólo acerca de la aplicxción de cias o relaciones obligatorias.El mantenimientode estas
software en sí, sino también acerca de las característi- relaciones entre objetos de desarrollo se denomina admi-
cas de cada proyecto en particular, y del proceso gene- nistración de enlaces.
ral de la organización para el desarrollo del software
(fases, tareas y productos). Esto abre posibilidades para %
la coordinación automatizada de la actividad de desa- CUV€
rrollo técnico con la actividad de gestión del proyecto.
Por ejemplo, la actualización del estado de las tareas de l a capacidaddel repositoriopara hacer seguimiento
proyectos se podría efectuar de forma automática o bien de las relacionesentre objetosde la configuración
como un producto derivado de la utilización de herra-
mientas CASE. La actualización de estado resultará muy es una de ols característicosmás importontes. Elimpacto
fácil para los desarrolladores, sin tener que abandonar
el entorno de desarrollo normal. La asignación de tareas del cambio se puede rastrear si se dispone
y consultas también se puede gestionar por correo elec- de esto característica.
trónico. Los informes de problemas, las tareas de man-
tenimiento, las autorizacionesde cambios, y los estados La capacidadde seguir la pista de todas estas relacio-
de reparación se pueden coordinar y monitorizar nes es crucial para la integridad de la información alma-
mediante herramientas que acceden al repositorio. cenada en el repositorioy para la generación de productos
basados en ella,y es una de las contribucionesmás impor-
Las siguientes características del repositorio son abar- tantes que efectúa el concepto de repositoriopara la mejo-
cadas todas ellas por la gestión de configuración del soft- ra del proceso de desarrollo del software. Entre las muchas
ware (Capítulo9). Se vuelven a examinar aquípara hacer funciones que apoya la gestión de enlaces se cuenta la
hincapié en su interrelación con los entornos 1-CASE. capacidad de identificar y estimar los efectos del cambio.
A medida que los diseños evolucionan para satisfacer
Versiones.A medida que avanza un proyecto, se irán nuevos requisitos, la capacidad de identificar todos los
creando muchas versiones de productos individuales. objetos que podrían verse afectadoshace posible una esti-
El repositorio deberá ser capaz de guardar todas estas mación más precisa del coste, del tiempo no operativo,
versiones para hacer posible una gestión efectiva de las y del grado de dificultad.También se ayuda a evitar efec-
versiones de los productos y para permitir que los desa- tos colaterales que en caso contrario dm’an lugar a defec-
rrolladores vuelvan a las versiones anteriores durante tos y a fallos del sistema.
la comprobación y depuración.
La gestión de enlaces ayuda al mecanismo de repo-
¿De qué forma presta ayuda sitorio para asegurar que la información del diseño sea
el repositorioa la GCS? correcta manteniendo sincronizadas las partes de un
diseño.

Por ejemplo, si se modifica un diagrama de flujo de
datos, el repositorio puede detectar si los diccionarios

570

www.elsolucionario.net
.

CAPÍTULO 3 1 INGENlERfA DEL SOFTWARE ASISTIDA POR COMPUTADORA

de datos relacionados,definiciones de pantallas y módu- de una serie de configuraciones que representarán hitos
los de códigos también requieren modificación y pue- específicos del proyecto o de versiones de producción.
dan llamar la atención del desarrollador los componentes La gestión de versiones proporciona las versiones nece-
afectados. sarias, y la gestión de enlaces hace seguimiento de las
interdependencias.
Seguimiento de requisitos. Esta función especial
depende de la gestión de enlaces y proporciona la capa- Seguimientode auditoría. El seguimientode auditoría
cidad de hacer seguimiento de los componentes de establece información extra acerca de cuándo, por qué, y
diseño y de los productos derivados que proceden de por quién son efectuados los cambios. La información
una especificaciónde requisitos específica (seguimiento acercade las fuentes de las modificacionessepueden intro-
progresivo).Además, proporciona la capacidad de iden- ducir en formade atributosde objetosespecíficosdel repo-
tificar cuáles son los requisitos que generaron cualquier sitorio. Un mecanismodisparador del repositorioresultará
producto derivado (seguimiento regresivo). útil para solicitar al desarrollador o a la herramienta que
esté utilizando que inicie la introducción de información
Gestión de configuración. Una función de gestión de de auditoría.(tal como la razón del cambio) siempre que
configuración que trabaja muy cerca de las funciones se modifique un elemento de diseño.
de versiones y gestión de enlaces para hacer seguimiento

Las herramientas de ingeniería del software asistida por por parte de fabricantes que trabajan a la vez, o bien se www.elsolucionario.net
computadora abarcan todas las actividades del proceso puede lograr mediante un software de gestión que se
del software y también aquellas actividades generales proporcione como parte del repositorio.
que se aplican a lo largo de todo el proceso. CASE com-
bina un conjunto de bloques de construcción que La integración entre hombre y computadora se logra
comienzan en el nivel del hardware y del software de mediante estándares de interfaz que se están volviendo
sistema operativo y finalizan en las herramientas indi- cada vez más comunes a lo largo y ancho de toda la
viduales. industria. Para facilitar la integración de los usuarios
con las herramientas,de las herramientas entre sí, de las
En este capítulo se ha tenido en consideración una herramientas con los datos y de los datos con otros datos
taxonomía de herramientas CASE. Las categorías abar- se diseña una arquitectura de integración.
can tanto las actividades de gestión como las técnicas,
e incluyen la mayor parte de las áreas de aplicación del Se ha aludido al repositorio CASE con el nombre de
software. Todas las categorías de herramientas se han «bus de software».La información pasa por él, y va cir-
considerado «soluciones puntuales». culando de herramienta en herramienta a medida que
progresa el proceso de software. Pero el repositorio es
El entorno 1-CASE combina mecanismos de inte- mucho más que un «bus». También se trata de un lugar
gración para datos, herramientas e interacción hombre- de almacenamiento que combina sofisticados mecanis-
computadora.La integración de datos se puede conseguir mos para integrar herramientas CASE mejorando con-
mediante el intercambio directo de información, median- siguientementeel proceso mediante el cual se desarrolla
te estructuras de archivos comunes,mediante datos com- el software. El repositorio es una base de datos relacio-
partidos o interoperabilidad, o a través de la utilización nal u orientada a objetos que es «el centro de acumula-
de un repositorio 1-CASE completo. La integración de ción y almacenamiento»de la información de ingeniería
herramientas se puede diseñar de forma personalizada del software.

[FOR89a] Forte, G., «In Search of the Integrated Environ- [QED89] CASE: The Potential and the Pitfalls,QED Infor-
ment», CASE Outlook, Marzo/Abril de 1989, pp. 5-12. mation Sciences, Inc., Wellsley, MA, 1989,

[FOR89b] Forte, G., «Rally Round the Repository», CASE [SHA95] Sharon, D., y R. Bell, «Tools that Bind: Creating
Outlook, Diciembre de 1989, pp. 5-27. Integrated Environments»,IEEE Sofrware,Marzo de 1995,
pp. 76-85.
[FOR90] Forte, G., dntegrated CASE: A Definitiom, Proc.
3rdAnnual TEAMWORKERS Intl. User's Group Confe- [SQE95] Testing Tools Reference Guide, Software Quality
rence, CadreTechnologies, Providence,IR, Marzo de 1990. Engineering, Jacksonville, FL, 1995.

[GRI95]Griffen, J., «Repositories: Data Dictionary Descen- [WEL89] Welke, R.J. «Meta Systems on Meta Modelsn,
dant Can Extend Legacy Code Investment», Application CASE Outlook, Diciembre de 1989,pp. 35-45.
Development Trends,Abril de 1995, pp. 65-71.

571

hwttwp:/w/li.berelsroial-uucniivoenrasirtaiori.an.beltogspot.com
.
INGENIERfA DEL SOFTWARE. UN ENFOQUE PRÁCTICO

31.1. Haga una lista de todas las herramientas de desarrollo 31.6. ¿Existen situaciones en las cuales las herramientas de www.elsolucionario.net
de software que utilice. Organícelas de acuerdo con la taxo- comprobación dinámicas sean «la Única forma posible»? De
nomía presentada en este capítulo. ser así, ¿cuáles son?

31.2. Empleando las ideas introducidas en los Capítulos 14 y 31.7. Describa otras actividades humanas en las cuales la inte-
16,¿cómo cree usted que deberían de construirse los servicios gración de un conjunto de herramientas haya proporcionado
de portabilidad? un mayor beneficioque la utilización de cada una de esas herra-
mientas de forma individual. No utilice ejemplos de compu-
31.3. Construye un prototipo en papel para una herramienta tación.
de gestión de proyectos que abarque las categorías indicadas
en la Sección 31.3.Utilice la Segunda Parte de este libro para 31.8. Describa lo que quiere decir la integración entre herra-
obtener información adicional. mientas y datos con sus propias palabras.

31.4. Lleve a cabo una investigación acerca de los sistema de 31.9. En diferentes lugares de este capítulo se utilizan los tér-
gestión de bases de datos orientados a objetos. Estudie por qué minos metamodelos y metadatos. Describa lo que significan
un SGBDOO sería ideal para herramientas GCS. estos términos empleando sus propias palabras.

31.5. Recoja la información de productos de al menos tres 31.10.¿Se le ocurre algún elemento de configuración adicio-
herramientas CASE en una categona especificada por su pro- nal que pudiera incluirse entre los elementos del repositorio
fesor. Desarrolle una matriz que compare las características. mostrados en la Tabla 31.l ? Haga una lista.

En los años ochenta y principios de los noventa se publica- entomos de desarrollo de software. Muller y sus colaborado-
ron varios libros sobre CASE en un esfuerzo de sacar provecho res (ComputerAided Software Engineering, Kluwer Academic
del alto grado de interés de la industria en ese momento. Entre Publishers, 1996) han editado una colección de descripciones
las primeras ofertas que todavía disfrutan de valor se encuentran: de investigación CASE a mediados de los noventa. La mejo-
res fuentes de información actual sobre herramientas CASE se
Bergin, T. et al., Computer-Aided Software Engineering: encuentran en Intemet, en publicaciones técnicas periódicas y
Issues and Trendsfor the 1990s and Beyond, Idea Group en boletines informativos de industria.
Publishing, 1993.
El estándar 1209IEEE (Evuluarionand Selection ofCASE
Braithwaite, K.S., Application Development Using CASE Tools)presenta un conjunto de líneas generales para evaluar
Tools,Academic Press, 1990. las herramientas CASE para los <<procesodse gestión de pro-
yectos, procesos de predesarrollo, procesos de desarrollo, pro-
Brown, A. W., D.J. Carney y E.J. Morris, Principles oj cesos de postdesarrollo y procesos integrales». Un informe
CASE Tool Integration, Oxford University Press, 1994. detallado de Wallnau y Feiler (Tool Integration and Envi-
ronment Architectures, Software Engineering Institutc,
Clegg, D., y R. Barker, CASE Method Fast-Track: A RAD CMU/SEI-9 1-TR-11, Mayo de 1991), aunque esté fechado,
Approach, Addison Wesley, 1994. sigue siendo uno de los mejores tratamientos sobre entornos
CASE fácilmente disponibles.
Lewis, T.G., Computer-Aided Sojtware Engineering, Van
Nostrand-Reinhold, 1990. Una amplia variedad de fuentes de información sobre
CASE está disponible en Intemet. Una amplia lista actuali-
Mylls, R., Information Engineering; CASE Practices and zada de referencias a sitios (páginas) web se puede obtener
Techniques,Wiley, 1993. en http:/www.pressrnanS.com.

En la antología de Chifofsky (Computer-Aided Software
Engineering,IEEE Computer Society,2.- Ed., 1992)se encuen-
tra una colección útil de los primeros trabajos sobre CASE y

572

CAPÍTULO www.elsolucionario.net
.

EN los 3 1 capítulos anteriores, se ha ido explorando un proceso de ingeniería del softwa- www.elsolucionario.net
re. Se han presentado procedimientos de gestión y métodos técnicos, principios básicos
y técnicas especializadas, actividades orientadas a personas y tareas adecuadas para su
automatización, notación de papel y lápiz y herramientas CASE. Se ha afirmado que la medi-
da, la disciplina y un especial interés por la calidad darán lugar a un software que va a satisfa-
cer las necesidades del usuario, a un software fiable, a un software mantenible y a un software
mejor. Y, sin embargo, nunca se ha prometido que la ingeniería del software fuera la panacea.

A medida que vamos avanzando hacia el comienzo de un nuevo siglo, la tecnología de soft-
ware y de sistemas siguen siendo un desafío para todo profesional del software y para toda com-
pañía que construya sistemas basados en computadoras. Aunque esto se escribió hace más de
una década, Max Hopper [HOP90] describe el estado actual de los acontecimientos:

Dado que los cambios de la tecnología de la información cada vez se producen más rápidamente y son
implacables, y dado que las consecuencias de quedarse atrás son irreversibles, las compañías tienen que
dominar esta tecnología o morir. Hay que pensar que se trata del molino de la tecnología. Las compañías
tendrán que correr cada vez más deprisa para estar a la altura.

Los cambios de la tecnología de la ingeniería del software son, en efecto, «rápidos e impla-
cables», pero al mismo tiempo el progreso suele ser bastante lento. Pero una vez que se toma
la decisión de adaptar un método nuevo (o una herramienta nueva), la decisión de llevar a cabo
la formación necesaria para comprender su aplicación, y la decisión de introducir la tecnología
en la cultura de desarrollo del software, ya ha surgido algo nuevo (e incluso mejor) y comien-
za de nuevo el proceso.

¿Qué es? El futuro nunca es fácil de pre- ¿por qué las grandes empresas multi- ¿Cuál es e l producto obtenido?
decir: los entendidos y expertos de la nacionales contratan a otras empresas Una visión del término futuro que
industria no se resisten. El futuro esta- asesoras y a grandespensadores paru pueda o no ser correcta.
ba plagado de carcasas de tecnologí- preparar los pronósticos?, ¿por qué un
as nuevas y excitantes que realmente gran porcentaje de lectores están pen- ~Cóigopuedo estar seguro de que
nunca llegaron a ser eso (apesar del dientes de los horóscopos? Queremos lo he hecho correctamente?
bombo que tuvieron), y que adquirie- saber lo que va a ocurrir para estar Predecir el futuro es un arte, no una
ron forma con tecnologías más moder- preparados. ciencia. De hecho, es bastante extra-
nas que de alguna manera modificaron ño cuando se h a hecho u n a predic-
su dirección y extensión. Por lo tanto ¿Cuáles son los pasos? No hay una ción seria, q u e é s t a sea absolu-
no pretendemos predecir el futuro sino fórmula p a r a predecir el futuro. Lo tamente verdadera o inequívoca-
que estudiaremos algunos temas que hemos intentado recogiendo datos y mente errónea (con la excepción,
hay que tener en cuenta para entender organizándolos con el fin d e propor- afortunadamente,d e las prediccio-
los cambios futurosde la ingeniería del cionar una información útil; exami- nes sobre el fin del mundo). Se bus-
software y del mismo software. nando las asociaciones sut,iles para can tendencias y se intenta extra-
extraer el conocimiento y, a partir de polarlas a l futuro. Solamente se pue-
¿Quiénlo hace? Todos. éste, sugerir posibles apariciones de evaluar la corrección d e esta
que predecirán cómo será todo en el extrapolación a medida que pasa el
p o r qué es importante?¿Por qué los futuro. tiempo.
reyes antiguos contrataban adivinos?,

En este capítulo se examinan las tendencias futuras. Nuestro intento no es explorar todas las
áreas de investigación que resulten prometedoras. Tampoco lo es mirar en una «bola de cris-
tal» y pronosticar el futuro, más bien se intentará explorar el ámbito del cambio y la forma en
que el cambio en sí va a afectar al proceso del software en los años venideros.

573

www.elsolucionario.net

INGENIERfA DEL SOFTWARE. UN ENFOQUE PRACTICO .

La importancia del software de computadora se puede de una corporación. El software es crucial para casi todos los www.elsolucionario.net
enunciar de muchas formas. En el Capítulo 1, el soft- aspectos del negocio. Pero de muchas maneras, el software es
ware se caracterizaba como diferenciador. La función también una tecnología oculta. Encontramos el software (fre-
proporcionada por el software es lo que diferencia a los cuentemente, sin darnos cuenta) cuando nos desplazamos has-
productos, sistemas y servicios, y proporciona una ven- tanuestro trabajo,cuandoefectuamos cualquier compra, cuando
taja competitiva en el mercado. Sin embargo, el soft- nos detenemos en el banco, cuando hacemos una llamada tele-
ware es más que un diferenciador. Los programas, fónica, cuando visitamos al médico o cuando realizamos cuai-
documentos y datos que constituyen el software ayu- quiera de los cientos de actividades diarias que reflejan la vida
dan a generar la mercancía más importante que pueda moderna.
adquirir cualquier individuo, negocio o gobierno -la
información-. Pressman y Herron [PRE911 describen El softwareestá en todas partes y, sin embargo,hay muchas
el software de la forma siguiente: personas en puestos de responsabilidadque tienen poca o nin-
guna comprensión de lo que realmente es, como se construye,
El software de computadora es una de las pocas tecnologí- o de lo que significapara las institucionesque lo controlan (y a
as clave que tendrán un impacto significativoen los años 90. las que controla).Y, lo que es más importante,tienen muy poca
Se trata de un mecanismo para automatizar negocios, indus- idea de los peligros y oportunidadesque este software ofrece.
trias y gobiernos, un medio para transferir nuevas tecnologías,
un método para adquirir experiencia valiosa que otras perso- La omnipresencia del software nos lleva a una con-
nas puedan utilizar, un medio para diferenciarlos productos de clusión sencilla: siempre que una tecnología tiene un
una compañía de los productos de los de sus competidores, y impacto amplio -un impacto que puede salvar vidas o
una ventana que permite examinar el conocimiento colectivo ponerlas en peligro, construir negocios o destruirlos,
informar a los jefes de gobierno o confundirlos-, es
preciso «manejarla con cuidado».

Los cambios en la informática durante los últimos 50 Es posible que la influencia de las ciencias no expe-
años han sido controlados por los avances en las «cien- rimentales ayude a moldear la dirección de la investi-
cias experimentales duras»-física,química, ciencia de gación informática en las ciencias experimentales. Por
materiales e ingeniería-. Durante las próximas déca- ejemplo, el diseño del las «computadoras futuras» pue-
das, los avances revolucionarios en la informática serán de que sea dirigido más por un entendimiento de la psi-
dirigidos por las ciencias no experimentales suaves» cología del cerebro que por el entendimiento de la
-psicologíahumana, biología, neurofisiología, socio- microelectrónica convencional.
logía, filosofía y otras-. El período de gestación de las
tecnologías informáticas que se puede derivar de estas Los cambios que afectarán a la ingeniería del soft-
disciplinas es muy difícil de predecir. ware durante la próxima década se verán influenciados
por cuatro fuentes simultáneas: (1) las personas que rea-
es que cada vez llego un dio nuevo. lizan el trabajo; (2) el proceso que aplican; (3) la natu-
raleza de la información, y (4) la tecnología informática
subyacente. En las secciones siguientes, cada uno de
estos componentes -personas,proceso, información y
tecnología-se estudiarán detalladamente.

3 Y LA F O U OUE CO-

El software necesario para los sistemas de alta tecnología ware, es posible que la productividad global del grupo
cada vez son más difíciles a medida que van pasando los sufra. Un método para resolver este problema es crear
años y el tamaño de los programas resultantes incremen- un número de equipos de ingeniería del software, por
ta de manera proporcional.El crecimientorápido del tama- el que se compartimentalicen las personas en grupos de
ño del programa «promedio»nos presentará unos cuantos trabajo individuales. Sin embargo, a medida que el
problemas si no fuera por el simple hecho de que: a medi- número de equipos de ingeniería del software aumen-
da que el programa aumenta, el número de personas que ta, la comunicación entre ellos es tan difícil y larga como
deben trabajar en él también aumenta. la comunicación entre individuos. Es aún peor, la comu-
nicación (entre individuos o equipos) -es decir, es
La experiencia indica que a medida que aumenta el demasiado tiempo el que se pasa transfiriendo poco con-
número de personas de un equipo de proyecto de soft-

574

www.elsolucionario.net CAPfTULO 32 PERSPECTIVAS FUTURAS
.

tenido de información, y toda esta información impor- (o en continentes diferentes) se «encuentren» regular- www.elsolucionario.net
tante suele «perderse entre las grietas»-. mente. Pero el vídeo también proporciona otra ventaja:
se puede utilizar como depósitopara conocimiento sobre
Si la comunidad de ingeniería del software va a tra- el software y para los recién llegados a un proyecto.
tar el dilema de la comunicación de manera eficaz, el
futuro de los ingenieros deberá experimentar cambios La evolución de los agentes inteligentes también
radicales en la forma en que los individuos y los equi- cambiará los patrones de trabajo de un ingeniero del
pos se comunican entre sí. El correo electrónico, los software ampliando dramáticamente las herramientas
tablones de anuncios y los sistemas de videoconferen- del software. Los agentes inteligentesmejorarán la habi-
cia son los lugares comunes como mecanismos de cone- lidad de los ingenieros mediante la comprobación de
xión entre muchas personas de una red de información. los productos del trabajo utilizando el conocimiento
La importancia de estas herramientas en el contexto del específico del dominio, realizando tareas administrati-
trabajo de la ingeniería del software no se puede sobre- vas, llevando a cabo una investigación dirigida y coor-
valorar. Con un sistema de correo electrónico o de tablón dinando la comunicación entre personas.
de anuncios eficaz, el problema que se encuentra un
ingeniero del software en la ciudad de Nueva York, se Finalmente, la adquisiciónde conocimientoestá cam-
puede resolver con la ayuda de un compañero en Tokio. biando profundamente. En Intemet, un ingeniero del soft-
En realidad, los tablones de anuncios y los grupos de ware puede subscribirse a un grupo de noticias centrado
noticias especializados se convierten en los depósitos en áreas de tecnología de inmediata preocupación. Una
de conocimiento que permiten recoger un conocimien- pregunta enviada a un grupo de noticias provoca res-
to colectivo de un grupo grande de técnicos para resol- puestas de otras partes interesadasdesde cualquier lugar
ver un problema técnico o un asunto de gestión. del globo. La World Wide Web proporciona al ingenie-
ro del software la biblioteca más grande del mundo de
individuos trabajos e informes de investigación,manuales, comen-
períodos tarios y referencias de la ingeniería del software'.

El vídeo personaliza la comunicación. Y lo mejor es Si la historia pasada se puede considerar un indicio,
que hace posible que compañeros en lugares diferentes es justo decir que las mismas personas no van a cam-
biar. Sin embargo, las formas en que se comunican, el
entorno en el que trabajan, la forma en que adquieren
el conocimiento, los métodos y herramientas que utili-
zan, la disciplina que aplican, y por tanto, la cultura
general del desarrollo del software sí cambiarán signi-
ficativa y profundamente.

Es razonable caracterizar las dos primeras décadas de del marco de tiempo asignado. Los modelos evolutivos
la práctica de ingeniería del software como la era del hacen hincapié en la necesidad de productos de trabajo
«pensamientolineal». Impulsado por el modelo de ciclo incrementales,análisisde riesgos,planificacióny revisión
vital clásico, la ingeniería del software se ha enfocado de planes, y realimentación que provenga del cliente.
como una actividad en la cual se podían aplicar una serie
de pasos secuenciales en un esfuerzo por resolver pro- ¿Qué actividades deberán de poblar el proceso evo-
blemas complejos. Sin embargo, los enfoques lineales lutivo? A lo largo de la década pasada, el Modelo de
del desarrollo del software van en contra de la forma en madurez de capacidad desarrollado por el Software
que se construyen realmente la mayoría de los sistemas. Engineering Institute (SEI) [PAU93]ha tenido un impac-
En realidad, los sistemas complejos evolucionan de for- to apreciable sobre los esfuerzos por mejorar las prác-
ma iterativa, e incluso incremental. Por esta razón, un ticas de ingeniería del software. El MMC ha dado lugar
gran segmento de la comunidad de la ingenieríadel soft- a muchos debates (por ejemplo, [BOL911 y [GIL96]),
ware se está desplazando hacia modelos evolutivos para y sin embargo proporciona una buena indicación de los
el desarrollo del software.
' El sitio Web SEPA puede proporcionar enlaces electrónicos con las
Los modelos de proceso evolutivos reconocen que la
incertidumbredomina la mayoría de los proyectos; que las materias más importantes que se presentan en este libro.
líneas temporales suelen ser imposibles y cortas; y que la
iteración proporciona la habilidad de dar una soluciónpar-
cial, aunque un producto completo no es posible dentro

575

www.elsolucionario.net

INGENIERfA DEL SOFTWARE. UN ENFOQUE PRÁCTICO .

atributos que deben existir cuando se pone en práctica El crecimiento rápido de las aplicaciones basadas en
una buena ingeniería del software. Web (WebApps) está cambiando tanto en el proceso de
la ingeniería del software como en sus participantes. De
Las tecnologías de objetos,junto con la ingeniería del nuevo, nos encontramos con un paradigma incremen-
software (Capítulo 27) son un brote de la tendencia hacia tal y evolutivo.Pero en el caso de las WebApps, la inme-
los modelos de proceso evolutivos. Ambos tendrán un diatez, seguridad y estética se están convirtiendo en las
impactoprofundo sobre la productividad de desarrollodel preocupaciones dominantes. Un equipo de ingeniería
software y sobre la calidad del producto. La reutilización de Web mezcla técnicos con especialistas de contenido
de componentes proporciona beneficiosinmediatosy con- (por ejemplo, artistas, músicos, videógrafos) para cons-
vincentes. Cuando la reutilizaciónse une a las herramientas truir una fuente de información para una comunidad de
CASE para los prototipos de una aplicación, los incre- usuarios grande e impredecible. El software que ha sur-
mentos del programa se pueden construirmucho más rápi- gido del trabajo de la ingeniería de Web ya ha dado como
damente que mediante la utilización de enfoques resultado un cambio radical tanto económico como cul-
convencionales. La construcciónde prototipos arrastran tural. Aunque los conceptos y principios básicos trata-
al cliente al proceso. Por tanto es probable que clientes y dos en este libro son invariables,el proceso de ingeniería
usuarios se impliquen más en el desarrollo del software. del software deberá adaptarse para llegar a acoplarse a
Esto, a su vez, puede llevar a una satisfacción mayor del la Web.
usuario final y a una calidad mejor del software global.

A lo largo de las dos últimas décadas, se ha producido a Información: www.elsolucionario.net
una sutil transición en la terminología que se utiliza para datos: Asociatividad en un
describir el trabajo de desarrollo de software realizado No hay asociatividad solo contexto
para la comunidad de negocios. Hace treinta años, el
término procesamiento de datos era la frase operativa Conocimiento: Sabiduría:
para describir la utilización de computadorasen un con- Asociatividad Creación de principios
texto de negocio. En la actualidad, el proceso de datos entre contextos generalizados basándose
ha dado lugar a otra frase -tecnologíade la informa- múltiples en el conocimiento
ción-que significa lo mismo pero presenta un sutil procedente de distintas fuentes
cambio de nuestro centro de atención. La importancia
ya no está meramente en procesar grandes cantidades FIGURA 32.1. Un espectro de «información».
de datos, sino más bien en extraer una información sig-
nificativa a partir de estos datos. Evidentemente, éste cuatro puntos de vista de la «información» se han repre-
ha sido siempre el objetivo, pero el cambio de la ter- sentado esquemáticamente en la Figura 32.1.
minología refleja un cambio bastante más importante
en la filosofía de la gestión. Hasta la fecha, la gran mayoría del software que se
ha construido ha tenido como misión procesar datos o
Cuando en la actualidad se describen las aplicacio- información. Los ingenieros de software del siglo vein-
nes de software, las palabras datos e información apa- tiuno seguirán estando reocupados por sistemas que
recen en numerosas ocasiones. La palabra conocimiento procesen conocimiento: El conocimiento es bidimen-
se encuentraen algunas aplicaciones de inteligencia arti- sional. La información recogida acerca de una gama
ficial, pero su utilización es relativamente escasa. Casi amplia de temas relacionados y no relacionados se agru-
nadie describe la sabiduría en el contexto de las aplica- pan para formar un cuerpo de hechos al que se deno-
ciones del software para computadoras. mina conocimiento. La clave es nuestra capacidad para
asociar información de una gama de fuentes distintas
Los datos son información pura -una colección de que puedan no poseer conexiones evidentes entre sí y
hechos que es preciso procesar para que sean significa-
tivos-. La información se deriva asociando los hechos
en el seno de un contexto dado. El conocimiento aso-
cia la información obtenida en un contexto con otra
información obtenida en un contexto distinto. Por Últi-
mo, la sabiduría se produce cuando se derivan unos prin-
cipios generalizados de conocimientos dispares. Estos

E' l creimiento rápido de las tecnologías de minería de datos (daia
mining)y de almacenes de datos (data wurehousing) reflejan este
rápido crecimiento.

576

hwttwp:/w/li.berelsroial-uucniivoenrasirtaiori.an.beltogspot.com
. CAPfIULO 32 PERSPECTIVAS FUTURAS

combinarlas de modo que nos proporcione algún bene- durante la próxima década, el número de alumnos que www.elsolucionario.net
ficio definido. cursarán estudios primarios y secundarios, o la pre-
sión habida sobre los políticos para reducir los impues-
Para ilustrar la progresión desde los datos al cono- tos y limitar por tanto los aumentos de sueldo para los
cimiento, consideraremos los datos del censo que indi- profesores.
can que el número de nacimientos en los Estados
Unidos en 1996 fue de 4,9 millones. Este número Todos estos elementos de información se pueden
representa un valor de datos. Al relacionar este dato combinar para formular una representación del conoci-
con los nacimientos de los cuarenta años anteriores se miento -existirá una presión significativa sobre el sis-
puede extraer un elemento de información útil: aque- tema de educación de los Estados Unidos a principios
llas personas que tuvieron muchos hijos en los años del siglo veintiuno y esta presión proseguirá durante
50 y a principios de los 60, están efectuando un últi- más de una década-. Mediante este conocimiento, pue-
mo esfuerzo por tener niños antes de llegar al final de de aparecer la oportunidad de un negocio. Quizá exis-
sus años fértiles. Esta información se puede conectar tan oportunidadessignificativaspara desarrollár nuevos
entonces con otros elementos de información aparen- modelos de aprendizajeque sean más efectivas y menos
temente no relacionados, por ejemplo, el número actual costosas que los enfoques actuales.
de profesores de escuelas primarias que se retirarán
El futuro del software conduce a sistemas que pro-
cesan el conocimiento. Se ha estado procesando datos
durante cincuenta años y extrayendoinformación duran-
te casi tres décadas. Uno de los desafíos más significa-
tivos a los que se enfrenta la comunidad de la ingeniería
del software consiste en construir sistemas que den el
siguiente paso en el espectro: sistemas que extraigan el
conocimiento de los datos y de la información para que
sea práctica y beneficiosa.

Las personas que construyen y utilizan software, el pro- les) pueden dar lugar a cambios radicales en la clase
ceso de ingeniería del software que se aplica, y la infor- de software que se puede construir y también a cam-
mación que se produce se ven afectados todos ellos por bios fundamentales en nuestro enfoque de la ingenie-
los avances en la tecnología del hardware y software. ría del software. Dado que estos enfoques no tradicio-
Históricamente, el hardware ha servido como impulsor nales siguen estando en el primer segmento del ciclo
de la tecnología de la computación. Una nueva tecno- de quince años, resulta difícil predecir la forma en que
logía de hardware proporciona un potencial. Entonces el mundo del software se modificará para adaptarse a
los constructores de software reaccionan frente a las ellas.
solicitudes de los clientes en un intento de aprovechar
ese potencial. Las tendencias futuras de la ingeniería del softwa-
re se verán impulsadas por las tecnologías de softwa-
Las tendencias futuras de la tecnología del hardware re. La reutilización y la ingeniería del software basada
tienen probabilidades de progresar en dos rutas parale- en componentes (tecnologías que todavía no están
las. En una de las rutas, las tecnologías de hardware maduras) ofrecen la mejor oportunidad en cuanto a
seguirán evolucionando rápidamente. Mediante la mayor mejoras de gran magnitud en la calidad de los siste-
capacidad que proporcionan las tecnologías de hard- mas y se encuentran en el momento de comerciali-
ware tradicionales, las demandas efectuadas a los inge- zarse. De hecho, a medida que pasa el tiempo, el
nieros de software seguirán creciendo. negocio del software puede empezar a tener un aspec-
to muy parecido al que tiene el negocio del hardwa-
Pero los cambios verdaderos de la tecnología de re en la actualidad. Quizá existan fabricantes que
hardware se pueden producir en otra dirección. El construyan dispositivos diferentes (componentes de
desarrollo de arquitecturas de hardware no tradicio- software reutilizables), otros fabricantes que cons-
nales (por ejemplo, máquinas masivamente paralelas, truyan componentes de sistemas (por ejemplo, un con-
procesadores ópticos y máquinas de redes neurona- junto de herramientas para la interacción hombre-
máquina) e integradores de sistemas que proporcio-
nen soluciones para el usuario final.

La ingeniería del software va a cambiar -de eso
podemos estar seguros-. Pero independientemente de
lo radicales que sean los cambios, podemos estar segu-

577

www.elsolucionario.net

INGENIERfA DEL SOFTWARE. UN ENFOQUE PRACTICO .

ros de que la calidad nunca perderá su importancia, y probación competente siempre tendrán su lugar en el
de que un análisis y diseño efectivosjunto con una com- desarrollo de sistemas basados en computadoras.

Ya han pasado 20 años desde que se escribió la prime- los cuales parecen estar preparados a repetir los errores www.elsolucionario.net
ra edición de este libro. Y todavía me acuerdo de cuan- del pasado.
do era un joven profesor sentado en mi mesa y
escribiendo (a mano) el manuscrito de un libro sobre un Para facilitar la transición necesitamos muchas cosas
tema que no preocupaba a muchas personas y que aún -un proceso de software adaptable y sensible, métodos
menos entendían realmente. Recuerdo la cartas de los más eficaces, herramientas más potentes y una acepta-
editores rechazando el libro y argumentando (de forma ción mejor de sus partidarios y soporte de los directores,
educada, pero contundente) que nunca habría mercado y una dosis no pequeña de educación y «publicidad»-.
para un libro sobre «ingeniería del software». Afortu- La ingeniería del software no ha disfrutado de una gran
nadamente, McGraw-Hill decidió intentarlo3, y el res- publicidad, pero a medida que va pasando el tiempo el
to ya es historia. concepto se vende solo. De alguna manera, este libro es
un «anuncio» para la tecnología.
Durante los Últimos veinte años, este libro ha cam-
biado espectacularmente - e n ámbito, tamaño, estilo y Es posible no estar de acuerdo con todos los enfo-
contenido-. Al igual que la ingeniería del software mis- ques descritos en este libro. Algunas de las técnicas y
ma, el libro también ha crecido, y por suerte también ha opiniones son polémicas; otras deberán ajustarse para
madurado durante los Últimos años. trabajar en diferentes entornos de desarrollo de softwa-
re. Sin embargo, mi sincera esperanza es que Zngenie-
Hoy en día un enfoque de ingeniería en el desarro- ría del Software: Un enfoque práctico haya dibujado
llo del software de computadora es una sabiduría los problemas con los que nos enfrentamos; haya demos-
convencional.Aunque continúe el debate sobre el «para- trado las ventajas de los conceptos de la ingeniería del
digma adecuado», el grado de automatización y los software, y haya proporcionado un marco de trabajo de
métodos más efectivos, hoy en día los principios sub- métodos y herramientas.
yacentes de la ingeniería del software se aceptan a tra-
vés de la industria. Entonces, ¿por qué solo hace muy Como empieza un nuevo milenio, el software se
poco tiempo que estamos siendo testigos de su gran ha convertido en el producto más importante de la
adopción? industria y también más importante a nivel mundial.
Su impacto e importancia han recorrido un largo cami-
La respuesta, creo yo, radica en la dificultad de la no. Y, sin embargo, una nueva generación de desa-
transición de la tecnología y el cambio cultural que la rrolladores de software deberán encontrarse con
acompaña. Aunque la mayoría de nosotros apreciamos muchos de los mismos retos con los que se enfrenta-
la necesidad de una disciplina de ingeniería para el soft- ron generaciones anteriores. Esperemos que aquellas
ware, luchamos contra la inercia de la práctica anterior personas que se encuentren con el reto -ingenieros
y nos enfrentamos con nuevos dominios de aplicacio- del software-tengan la sabiduría de desarrollar sis-
nes (y los que diseñan que son quienes trabajan en ellos) temas que mejoren la condición humana.

[BOL911 Bollinger, T., y C. McGowen, «A Critica1Look at [HOP90] Hopper, M.D., «Rattling SABRE, New Ways to
Software Capability Evaluations,» IEEE Software, Julio Compete on Information», Harvard Business Review,
de 1991, pp. 25-41. Mayo-Junio de 1990.

[GIL961 Giig, T., «What is leve1 Six?»,IEEE Sofmure, Ene- PAU931 P a u k M. et al., CaPabilitY MaturitY Modelfor
ro de 1996, pp. 97-98 y 103 Software, SoftwareEngitieering Institute, Camegie Mellon
University, Pittsburgh, PA, 1993.

Realmente los méritos son de Peter Freeman y Eric Munson, que
fueron quienes convencieron a McGraw-Hili de que valdría la pena
intentarlo.

578

www.elsolucionario.net
.

CAPíTULO 32 PERSPECTIVAS FUTURAS

32.1 Consiga una copia de las mejores revistas de negocios y 32.4 Revise el estudio de los modelos de proceso evolutivo
de noticias de esta semana (por ejemplo:Newsweek, Ilme, Busi- del Capítulo 2. Haga una investigación y recoja artículos
ness Week).Haga una lista de todos los artículos o noticias que recientes sobre este tema. Resuma las ventajas e inconvenientes
se puedan utilizar para ilustrar la importancia del software. de los paradigmas evolutivos basados en las experiencias indi-
cadas en los artículos.
32.2 Uno de los dominios de aplicaciones de software más
candentes son los sistemas y las aplicaciones basados en Web 32.5 Intente desarrollar un ejemplo que comience con la
(Capítulo 29). Estudie la forma en que las personas, comuni- recolección de datos puros y dé lugar a la adquisición de
cación y proceso tienen que evolucionar para adoptar el desa- información, después del conocimiento, y finalmente de sabi-
rrollo de WebApps de «próxima generación». duría.

32.3 Escriba una breve descripción del entomo de desarrollo 32.6 Seleccione una tecnología de actualidad «candente» (no
ideal de un ingeniero del software hacia el año 2010. Descri- necesita ser una tecnología de software) que se esté estudian-
ba los elementos del entorno (hardware, software y tecnolo- do en los medios populares y describa la forma en que el soft-
gías de comunicación) y su impacto en la calidad y el tiempo ware posibilita su evolución e impacto.
de comercialización.

Los libros que estudian las tendencias futuras del software tution Press, 1999) han publicado una colección de artículos www.elsolucionario.net
y de la computación abarcan una amplia gama de temas téc- y ensayos sobre el impacto de la tecnología en las estructu-
nicos científicos, económicos, políticos y sociales. Robertson ras sociales, de negocios y económicas. Para aquellos que
(The New Renaissance: Computers and The Next Leve1 of estén interesados en estos temas técnicos, Luryi, Xu y Zas-
Civilization,Oxford University Press, 1998), argumenta que lavsky (Future Trends in Microelectronics, Wiley, 1999) han
la revolución informática puede que sea el Único avance más publicado una colección de artículos sobre las direcciones
probables del hardware de computadora. Hayzelden y Big-
significativo en la historia de la civilización. Dertrouzos y ham (Software Agents for Future Communication Systems,
Gates (What Will Be: How The New World of Information Springer Verlag, 1999) han editado una colección que estu-
WillChange Our Lives, Harperbusiness, 1998)proporcionan dia las tendencias del desarrollo de los agentes de software
un profundo estudio de algunas de las direcciones que las tec- inteligentes.
nologías de la información pueden seguir en las primeras
décadas de este siglo. Bamatt (Valueware:Technology,Huma- Kurzweil (TheAge of Spiritual Machines, When Compu-
ni9 and Organization, Praeger Publishing, 1999)presenta un ters Exceed Humun Intelligence,Vikinflenguin Books, 1999)
estudio intrigante de la «economía de las ideas» y de la for- argumenta que dentro de 20 años la tecnología del hardware
ma en que se creará el valor económico a medida que evolu- tendrá la capacidad de modelar completamente el cerebro
ciona el ciber-negocio. El libro de Negroponte (Being Digital, humano. Borgman (Holding on to Reality: The Nature of
Alfred A. Knopf, Inc., 1995) fue un best seller a mediados de Information at the Turn of the Millenium, University of Chi-
los noventa y continúa proporcionando una visión interesan- cago Press, 1999) ha escrito una historia de información intn-
te de la computación y de su impacto global. gante, haciendo un seguimiento de su papel en la
transformación de la cultura. Devlin (InfoSense: TurningInfor-
Kroker y Kroker (DigitalDeliriurn, New World Perspecti- mation into Knowledge, W.H. Freeman & Co., 1999) trata de
ves, 1997) han publicado una colección polémica de ensayos, dar sentido al constante flujo de información que nos bom-
poemas y humor en donde examinan el impacto de las tecno- bardea día a día. Gleik (Faster:TheAcceleration of Just About
logíasdigitalesen las personas y en la sociedad.Brin (TheTrans- Everything, Pantheon Books, 2000) estudia el ritmo cada vez
parent Society: Will TechnologyForce us To Choose Between más veloz del cambio tecnológico y de su impacto en todos
Privacy and Freedom?, Perseus Books, 1999)repasa el debate los aspectos de la vida moderna. Jonscher (The Evolution of
continuo asociado a la pérdida inevitable de privacidad perso- WiredLife: From the Alphabet to the Soul-Catcher Chip-How
nal que acompaña al crecimiento de las tecnologías de la infor- Information Technologies Change Our World,Wiley, 2000)
mación. Shenk (Data Smog: Surviving the Information Glut, argumenta que el pensamiento humano y la interacción tras-
Harpercollins, 1998) estudia los problemas asociados con la cienden la importancia de la tecnología.
«sociedad infectada de información» que se está produciendo
del volumen de información que producen las tecnologías de Una variedad de fuentes de información sobre las ten-
información. dencias futuras en la informática está disponible en Intemet.
Una lista actualizada de referencias en la red se puede encon-
Miller, Michalski y Stevens ( 2 i s fCentury Technologies: trar en http://www.pressmanS.corn
Promises and Perils of a Dynamic Future, Brookings Insti-

579

www.elsolucionario.net
.

www.elsolucionario.net

APÉNDICE www.elsolucionario.net
.

SIGLAS MÁS COMUNES EN
INGENIERÍA DEL SOFTWARE

Siglas Español / Inglés Término equivalente en Inglés www.elsolucionario.net

Término en Español BAA (Business Area Analysis)
CCA (Change Control Authority)
AAN (Análisis del área del negocio) CBO (Coupling Between Object Classes)
ACC (Autoridad de control de cambio) KPAs (Key Process Areas)
ACO (Acoplamiento entre clases de objetos) LCA (Life Cycle Architecture)
ACPs (Áreas clave de proceso) OODA (Object-Oriented Domain Analysis)
ACV (Arquitectura del ciclo de vida) SA (Strucuired Analysis)
2DGA (Two-dimensional Geometric Analysis)
ADOO (Análisis del dominio orientado a objetos) . 3DGA (Three-dimensional Geometric Analysis)
OOA (Object-Oriented Analysis)
AE (Análisis estructurado) PAD (Public Access to Data members)
AG2D (Análisis geométrico de dos dimensiones) DIT (Depth of the Inheritance Tree)
AG3D (Análisis geométrico de tres dimensiones) API (Application Programming Interface)
A 0 0 (Análisis orientado a objetos) OORA (Object-Oriented Requirements Analysis)
APD (Acceso público a datos miembros) EVA (Eamed Value Analysis)
APH (Árbol de profundidad de herencia) BVA (Boundary Value Analysis)
API (Interfaz de programación de aplicaciones) BDK (Bean Development Kit)
ARO0 (Análisis de los requisitos orientado a objetos) BRO (Branch and Relational operator)
AVG (Análisis de valor ganado)
AVL (Análisis de valores límites) GW (gross.wages)
BDK (Kit de desarrollo Bean)
BRO (Operador relaciona1y de ramificación) C (Certification)
BS (brutos.sueldos)
C (Certificación) Q (Query)
C (Consulta)
C&I (construcción e integración) C&I (Construction and Integration)
C/S (Cliente/servidor) C/S (Ciient/server)
CAD (Diseño asistido por computadora) CAD (Computer-Aided Design)
Cadena DU (cadena de definición-uso) DU chain (Definition-Use chain)
CASE (Ingeniería del software asistida por computadora) CASE (Computer-Aided Software Engineering)
CC (Centralizado controlado) CC (Controlled Centralised)
CCM (Carencia de cohesión en los métodos) LCOM (Lack of Cohesion in Methods)
CEU (Comprobación estadística de utilización) SUT (Statistical Use Testing)
CFD (Cohesiones funcionales débiles) WFC (Weak Function Cohesion)
CFF (Cohesiones funcionales fuertes) SFC (Strong Functional Cohesion)
CGI (Interfaz común de pasarela) CGI (Common Gateway Interface)
CGO (Capa de gestión de objetos) OML (Object Management layer)
CK serie de métricas (Chidamber y Kemerer) CK merrics suire (Chidamber and Kemerer metncs)
CN (Control numérico) NC (Numerical Control)
CO (Complejidad de operación) OC (Operation Complexity)
COCOMO (Modelo constructivo del coste) COCOMO (Constructive Cost Model)
COI (Capacidad operativa inicial) IOC (Initial Operational Capability)
COM (Modelo de objetos para componentes) COM (Component Object Model)
CORBA ?Arquitectura común de distribución de objetos) CORBA (Common Object Request Broker Architecture)
CP (Control de periféricos) PC (Peripheral Control)
CPTP (Coste de presupuestos del trabajo planificado) BCWS (Budgeted Cost of Work Scheduled)
CPTR (Coste de presupuestos del trabajo realizado) BCWP (Budgeted Cost of Work Performed)
CR (Conveniencia de la representación) LA (Layout Appropriateness)
CRC (Clase-responsabilidad-colaboración) CRC (Class-Responsibility-Collaborator)
CRTR (Coste real de trabajo realizado) ACWP (Actual Cost of Work Performed)
CTA (Control de tráfico aéreo) ATC (Air Traffic Control)
CYD (Comerciales ya desarrolladas) COTS (Commercial Off-The-Shelf)
DBC (Desarrollo basado en componentes) CBD (Component-Based Development)
DC (Descentralizado controlado) CD (Controlled Decentralised)
DCBC (Descubrimiento de conocimiento en bases de datos) KDD (Knowledge Discovery in Databases)
DCS (Diagrama de contexto del sistema) SCD (System Context Diagram)
DD (Descentralizado democrático) DD (Democratic Decentralized)
DDE (Desviación deliverada de la especificación) IDS (Intentional Deviation from Specification)
DER (Diagrama de entidad-relación) ERD (Entity Relationship Diagram)
DF (Diseño formal) FD (Formal Design)

58 1

hwttpw:/w/lib.erelsrioa-luunciivoenrsaitraiori.an.belot gspot.com
.

APBNDICE

Término en Español . Término equivalente en Inglés www.elsolucionario.net

DFC (Desplieguede la función de calidad) QFD (Quality Function Deployment)
DFC (Diagrama de flujo de control) CFD (Control Flow Diagram)
DFD (Diagrama de flujo de datos) DFD (Data Flow Diagram)
DFS (Diagramade flujo del sistema) SFD (System Flow Diagram)
DI1 (Documentaciónimprecisa o incompleta) IID (Inaccurate or Incomplete Documentation)
D O 0 (Diseño orientado a objetos) OOD (Object-OrientedDesign)
DPR (Diseño para la reutilización) DFR (Design for Reuse)
DRA (Desarrollorápido de aplicaciones) RAD (Rapid Application Development)
DSED (Desarrollode sistemas estructurados de datos) DSSD (Data Structured Systems Development)
DSJ (Desarrollo de sistemas Jackson ) JSD (Jackson System Development)
DSN (Diseño de sistema de negocio) BSD (Business System Design)
DTE (Diagramade transición de estados) STD (State Transition Diagram)
EAIP (Entorno de apoyo integrado a proyectos) IPSE (Integrated Project Support Environment)
EAT (Estructuras de análisis del trabajo) WBS (Work Breakdown Structure)
EC (Especificación de control) CSPEC (Control Specification)
ECS (Elementos de configuracióndel software) SCI (Software ConfigurationItems)
ED (Elementos de datos) DE (Data Elements)
EDC (Espacio de diseño cuantificado) QDS (Quantity Design Space)
EDE (Elementos de datos de entrada) DEI (Input Data Elements)
EDR (Elementos de datos retenidos) DER (Retained Data Elements)
EDS (Elementos de datos de salida) D E 0 (Output Input Data Elements)
EEC (Especificaciónde estructura de cajas) BSS (Box Structure Specification)
EED (Eficacia de eliminación de defectos) DRE (Defect Removal Efficiency)
EIE (Especificación incompleta o errónea) IES (Incomplete or Erroneous Specification)
EIS (Entorno de ingeniería del software) SEE (Software Engineering Environment)
ELD (Error en la lógica de diseño) EDL (Error in Design Logic)
EP (Especificación de proceso) PSPEC (Process Specification)
ERD (Error en representación de datos) EDR (Error in Data Representation)
ES (Estados) ST (States)
ETRP (Evaluacióny técnica de revisión de programas) PERT (Program Evaluation and Review Technique)
FA (Factor de acoplamiento) CF (Coupling Factor)
FHA (Factor de herencia de atributo) AIF (Attribute Inheritance Factor)
FHM (Factor de herencia de métodos) MIF (Method Inheritance Factor)
FIR (FICA.impuesto.retenido) FTW (FICA.Tax.Withheld)
FP (Factor de polimorfismo) PF (PolymorphismFactor)
FPGC (Facilidadesde presentación gráfica de computadora) CGDF (Computer Graphics Display Facilities)
FURPS (Funcionalidad,facilidad de uso, fiabilidad, FURPS (Functionality,Usability, Reliahility,

rendimiento y capacidad de soporte) Performance and Supportability)
FZ (Fijar zona) ZS (ZoneSet)
GBD (Gestión de base de datos) DBM (Database Management)
GC (Generaciónde código) CG (Code Generation)
GCS (Garantía de calidad del software) SQA (Software Quality Assurance)
GCS (Gestión de la configuración del software) SCM (Software ConfigurationManagement)
GIP (Grupo independientede prueba) ITG (IndependentTest Group)
OCWOPM (Objetivo, cuestión (pregunta),métrica) GQM (Goal, Question, Metric)
GTC (Gestión total de calidad) TQM (Total Quality Management)
HD (Habilitar/deshabilitar) AD (Arm-Disarm)(p. 731)
HIR (Hoja de información del riesgo) RIS (Risk Information Sheet)
HTTP (Protocolo de transferenciade hipertexto) HTTP (Hypertext Transfer Protocol)
IA (Inteligenciaartiñcial) Al (ArtificialIntelligence)
IC (Inspecciónde código) CI (Code Inspection)
1-CASE (CASE integrado) 1-CASE (Integrated CASE)
ICED (Índice de calidad de la estructura de diseño) DSQI (Design Structure Quality Index)
ICMP (Protocolo de mensajes de control de Internet) ICMP (Intemet Control Message Protocol)
IDC (Índice de desarrollo de coste) CPI (Cost Performance Iiidex)
IDL (Lenguaje de definición de interfaces) IDL (Interface Definition Language)
IDP (Índice de desarrollo de planificación) SPI (Schedule Performance Index)
IE (índice de error) E1 (Error Index)
IEC (Informes de estado de la configuración) CSR (ConfigurationStatus Reporting)
IEP (Incumplimientode los estádandares de programación) VPS (Violation of Programming Standards)
IES (índice de especialización) SI (SpecialisationIndex)
IF (Índice de fase) PI (Phase Index)
IGU (Interfaz gráfica de usuario) GUI (Graphical User Interface)
IHM (Interfaz hombre-máquina) HCI (Human-ComputerInterface)
IMI (Interfaz de módulo inconsistente) ICI (Inconsistent Component Interface)
IMS (índice de madurez del software) SMI (Software Maturity Index)

582

www.elsolucionario.net APÉNDICE
.

Término en Español Término equivalente en Inglés

IP (Protocolo de Intemet) IP (Internet Protocol) www.elsolucionario.net
IPN (Ingeniería de proceso de negocio) BPE (Business Process Engineenng)
IS (Ingeniería de sistemas) SE (System Engineering)
ISBC (Ingeniería del software basada en componentes) CBSE (Component-Based Software Engineering)
ISOO (Ingeniería del software orientada a objetos) OOSE (Object-Oriented Software Engineering)
ISOOAC (Ingeniería del software orientada a objetos asistida OOCASE (Object-Oriented Computer Aided Software

por computadora) Engineering)
IU (Interfaz de usuario) U1 (User Interface)
IUSC (Interfaz de usuario y funciones de control) UICE (User Interface and Control Facilities)
IWeb (Ingeniería Web) WebE (Web-Engineering)
KLDC (mil líneas de código) KLOC (thousands lines of code)
LDAs (Lenguajes de descripción arquitectónica) ADLs (Architectural Description Languages)
LDC (Líneas de código) LOC (Lines of Code)
LDP (Lenguaje de diseño de programas) PDL (Program Design Language)
LIM (Lenguaje de interconexión de módulos) MIL (Module Interconnection Language)
LPNI (Límite de proceso natural inferior) LPNL (Lower Natural Process Limit)
LSPN (Límite superior del proceso natural) UNPL (Upper Natural Process Limit)
MACA (Método de análisis de compromiso para la arquitectura) ATAM (Architecture Trade-off Analysis Method)
MAD (Módulos de análisis de diseño) DAM (Design Analysis Modules)
MCC (Mala interpretación de la comunicación del cliente) MCC (Misinterpretation of Customer Communication)
MCC (Método del camino crítico) CPM (Critica1Path Method)
MCM (Modelo de capacidad de madurez) CMM (Capability Maturity Model)
MCP (Marco común de proceso) CPF (Common Process Framework)
MDOO (Métricas para el diseño orientado a objetos) MOOD (Metrics for Object-Onented Design)
MEPS (Mejora estadística del proceso de software) SSPI (Statistical Software Process Improvement)
MMCGP (Modelo de madurez de la capacidad de gestión de person:11) PM-CMM (People Management Capability Maturity Model)
MMGR (Mitigación, monitonzación y gestión del riesgo) RMMM (Risk Mitigation, Monitoring and Management)
Modelo MOI (Motivación, organización, ideas o innovación) MOI Model (Motivation, Organisation, Ideas or innovation)
MOM (Software intermedio orientado a mensajes) MOM (Message Oriented Middleware)
MPC (Métodos ponderados por clase) WMC (Weighted Methods per Class)
NCC (Número de clases clave) NKC (Number of Key Classes)
NCR (Número de clases raíz) NOR (Number of Root Classes)
NDD (Número de descendientes) NOC (Number of Children)
NE (Número de escenarios) NSS (Number of Scenario Scripts)
NN (Nodos de navegación) WoN (Ways of Navigating)
NOA (Número de operaciones añadidas por una subclase) NOA (Number of Operations Added by a subclass)
NOR (Número de operaciones redefinidas para una subclase) N O 0 (Number of Operations Ovemdden by subclass)
NPD (Número de padres directos) FIN (Fanin)
NP,,, (Número de parámetros por operación promedio) NP,,, (Average Number of Parameters per operation)
NSUB (Número de subsistemas) NSUB (Number of Subsystems)
OB (Objetos) OB (Objects)
OCI (Orden de cambio de ingeniería) ECO (Engineering Change Order)
OCV (Objetivos del ciclo de vida) LCO (Life Cycle Objectives)
ODBC (Conectividad abierta de bases de datos) ODBC (Open Database Connectivity)
OLCRS (Sistema interactivo para apuntarse a cursos) OLCRS (On-Line Course Registration System)
OMGlCORBA (Grupo de gestión de objetos/Arquitectura común OMGKORBA (Object Management Group/Common Object

de distribución de objetos) Request Broker Architecture)
O 0 (Orientado a objetos) O 0 (Object-Onented)
ORB (Agente de distribuición de objetos) ORB (Object Request Broker)
P (Prueba) T (test)
P&R (Pregunta y respuesta) Q&A (Question and Answer)
PAT (Presupuesto a la terminación) BAC (Budget At Completion)
PEI (Planificación de la estrategia de información) ISP (Information Strategy Planning)
PEN (Proceso elemental de negocios) EBP (Elementary Business Process)
PF (Puntos de función) FP (Function Points) y
Pfu (Primitivas funcionales) FuP (Functional Primitives)
PIE (Prueba incompleta o errónea) IET (Incomplete or Erroneous Testing)
PMFu (Primitivas modificadas de función manual) FuPM (Modified Manual Function Pnmitives)
P O 0 (Programación orientada a objetos) OOP (Object-Oriented Programming)
POP3 (Protocolo de oficina de correos versión 3) POP3 (Post Office Protocol version 3)
PR (Planificación de prueba) TP (Test Planning)
PPP (Porcentaje público y protegido) PAP (Percent Public and Protected)
PRO/SIM (Construcción de prototipos y simulación) PRO/SIM (PROtotyping and SIMulation)
PrOO (Pruebas orientadas a objetos) OOT (Object-Oriented Testing)
PSI (Procesos secuenciales intercomunicados) CSP (Communicating Sequential Processes)
RE (Relaciones) RE (Relationships)

583

www.elsolucionario.net
.

APÉNDICE

Término en Español Término equivalente en Inglés www.elsolucionario.net

Rei (Conexiones de relación) Rei (Relationship connections)
RFP RFP
Rm (Rangos de movimiento) mR (moving range)
RPC (Respuesta para una clase) RFC (Response for a class)
RPN (Reingeniería de procesos de negocios) BPR (Business Process Reengineering)
RR (Recolección de requisitos) RG (Requirements Gathering)
RTF (Revisión técnica formal) FTR (Formal Technical Review)
SBDOO (Sistemas de bases de datos orientadas a objetos) OODBS (Object-Oriented Database System)
SCCT (Sistema de clasificación de cinta transportadora) CLSS (Conveyor Line Sorting System)
SCE (Salidas/Control/entradas) OCI (Output/Control/Input)
SDIU (Sistemas de desarrollo de la interfaz de usuario) UIDS (User-Interface Development Systems)
SE1 (Instituto de ingeniería de software) SE1 (Software Engineering Institute)
SGBDOO (Sistemas de gestión de bases de datos orientadas a objetos) OODBMS (Object-Oriented Database Management System)
SGBDR (Sistema de gestión de bases de datos relacional) RDBMS (Relational Database Management System)
SGH (Servicios de gestión de herramientas) TMS (Tools management services)
SIG (Sistemas de información de gestión) MIS (Management Information System)
SQA (Gestión de calidad de Software) SQA (Software Quality Assurance
SQE (Ingeniería de Calidad del software) SQE (Software Quality Engineenng)
SQL (Lenguaje de consultas estructurado) SQL (Structure Query Language)
SSRB (Sistema de seguimiento y reparación de baches) PHTRS (Pot Hole Tracking and Repair System)
T4G (Técnicas de cuarta generación) 4GT (Fourth Generation Techniques)
TADE (Técnicas de Análisis y diseño estructurado) SADT (Stmctured Analysis and Design Technique)
TAP (Tabla de activación de procesos) PAT (Process Activation Language)
TC (Tamaño de clase) CS (Class Size)
TC, (Muestras (tokens) de datos) TC, (Data tokens)
TFEA (Técnicas para facilitar las especificaciones de la aplicación) FAST (Facilitated Application Specification Techniques)
TI (Tecnologías de la información) IT (Information technologies)
TLP (Error en la traducción del diseño al lenguaje de programación) PLT (error in Programming Language Translation)
TMC (Tiempo medio de cambio) MTTC (Mean-time-to-change)
TMEF (Tiempo medio entre fallos) MTTF (Mean time to failure)
TMEF (Tiempo medio entre fallos) MTBF (Mean time between failure)
TMO (Técnica de modelado de objetos) OMT (Object Modelling Technique)
TMR (Tiempos medios de reparación) MTTR (Mean time to repair)
TO,,, (Tamaño medio de operación) OS,,, (Average Operation Size)
TR (Transiciones) TR (Transitions)
UML (Lenguaje de modelado unificado) UML (Unified Modelling Language)
USN (Unidad semántica de navegación) SNU (Semantic Navigation h i t )
V&V (Verificación y validación) V&V (Verification and Validation)
VC (Varianza del Coste) CV (Cost Variance)
VC (Verificación de corrección) CV (Correctness Verification)
VP (Varianza de planificación) SV (Schedule Variance)
WebApps (Aplicaciones basadas en Web) WebApps (Web-based Applications)
XML (Lenguaje de marcas extensible) XML (Extensible Mark-up Language)

Siglas Inglés / Espanol Término equivalente en Español

Término en Inglés AGZD (Análisis geométrico de dos dimensiones)
AG3D (Análisis geométrico de tres dimensiones)
2DGA (Two-dimensional Geometnc Analysis) T4G (Técnicas de cuarta generación)
3DGA (Three-dimensional Geometric Analysis) CRTR (Coste real de trabajo realizado)
4GT (Fourth Generation Techniques) HD (Habilitar/deshabilitar)
ACWP (Actual Cost of Work Performed) LDAs (Lenguajes de descripción arquitectónica)
AD (Arm-Disarm) IA (Inteligencia artificial)
ADLs (Architectural Description Languages) FHA (Factor de herencia de atributo)
Al (Artificial Intelligence) API (Interfaz de programación de aplicaciones)
AIF (Attnbute Inbentance Factor) MACA (Método de análisis de compromiso para la arquitectura)
API (Application Programming Interface) CTA (Control de tráfico aéreo)
ATAM (Architecture Trade-off Analysis Metbod) AAN (Análisis del área del negocio)
ATC (Air Traffic Control) PAT (Presupuesto a la terminación)
BAA (Business Area Analysis) CPTD (Coste de presupuestos del trabajo desarrollado)
BAC (Budget At Completion) CPTP (Coste presupuestado del trabajo planificado)
BCWP (Budgeted Cost of Work Performed) BDK (Kit de desarrollo Bean)
BCWS (Budgeted Cost of Work Scheduled)
BDK (Bean Development Kit)

www.elsolucionario.net APÉNDICE
.

Término en Inglés Término equivalente en Español www.elsolucionario.net

BPE (Business Process Engineering) IPN (Ingenieríade proceso de negocio)
BPR (Business Process Reengineering) RPN (Reingenieríade procesos de negocios)
BRO (Branch and Relational operator) BRO (Operador relaciona1y de ramificación)
BSD (Business System Design) DSN (Diseño desistema de negocio)
BSS (Box Structure Specification) EEC (Especificación de estructura de cajas)
BVA (Boundary Value Analysis) AVL (Análisisde valores límites)
C (Certification) C (Certificación)
C&I (Construction and Integration) C&I (construcción e integración)
C/S (Client/Server) C/S (Cliente/servidor)
CAD (Computer-Aided Design) CAD (Diseño asistidopor computadora)
CASE (Computer-Aided Software Engineenng) CASE (Ingenieríadel software asistida por computadora)
CBD (Component-Based Development) DBC (Desarrollobasado en componentes)
CBO (Coupling Between Object Classes) ACO (Acoplamiento entre clases de objetos)
CBSE (Component-Based SoftwareEngineering) ISBC (Ingenieríadel software basada en componentes)
CC (Controlled Centralised) CC (Centralizadocontrolado)
CCA (ChangeControl Authority) ACC (Autoridad de control de cambios)
CD (Controlled Decentralised) DC (Descentralizadocontrolado)
CF (Coupling Factor) FA (Factor de acoplamiento)
CFD (ControlFiow Diagram) DFC (Diagrama de flujo de control)
CG (Ccde Generation) GC (Generación de código)
CGDF (Computer Graphics Display Facilities) FPGC (Facilidadesde presentación gráfica de computadora)
CGI (Common Gateway Interface) CGI (Interfazcomún de pasarela)
CI (Code Inspection) IC (Inspección de código)
CK metrics suite (Chidamber and Kemerer metrics) CK serie de métricas (Chidamber y Kemerer)
CLSS (Conveyor Line Sorting System) SCCT (Sistema de clasificación de cinta transportadora)
CMM (Capability Maturity Model) MCM (Modelo de capacidad de madurez)
COCOMO (Constructive Cost Model) COCOMO (Modelo constructivodel coste)
COM (Component Object Model) COM (Modelo de objetos para componentes)
CORBA (Common Object Request Broker Architecture) CORBA (Arquitecturacomún de distribuciónde objetos)
COTS (Commercial Off-The-Shelf) CYD (Comerciales ya desarrolladas)
CPF (Common Process Framework) MCP (Marco común de proceso)
CPI (Cost Performance Index) IDC (Índicede desarrollo de coste)
CPM (Critica1Path Method) CPM (Métododel camino crítico)
CRC (Class-Responsibility-Collaborator) CRC (Clase-responsabilidad-colaboración)
CS (Class Size) TC (Tamaño de clase)
CSP (Communicating Sequential Processes) PSI (Procesos secuenciales intercomunicados)
CSPEC (Contrpl Specification) EC (Especificación de control)
CSR (Configuration Status Reporting) IEC (Informes de estado de la configuración)
CV (Correctness Verification) VC (Verificación de corrección)
CV (Cost Variance) VC (Varianza del Coste)
DAM (Design Analysis Modules) MAD (Módulos de análisis de diseño)
DBM (Database Management) GBD (Gestión de base de datos)
DD (Democratic Decentralized) DD (Descentralizadodemocrático)
DE (Data Elements) ED (Elementos de datos)
DEI (Input Data Elements) EDE (Elementosde datos de entrada)
D E 0 (Output Data Elements) EDS (Elementos de datos de salida)
DER (Retained Data Elements) EDR (Elementos de datos retenidos)
DFD (Data Flow Diagram) DFD (Diagrama de flujo de datos)
DFR (Design For Reuse) DPR (Diseño para la reutilización)
DIT (Depth of the Inheritance Tree) APH (Árbol de profundidad de herencia)
DRE (Defect Removal Efficiency) EED (Eficacia de la eliminación de defectos)
DSQI (Design Structure Quality Index) ICED (índice de calidad de la estructura de diseño)
DSSD (Data Structured Systems Development) DSED (Desarrollode sistemas estructuradosde datos)
DU chain (Definition-Use chain) Cadena DU (cadena de definición-uso)
EBP (Elernentary Business Process) PEN (Procesoelemental de negocios)
ECO (Engineering Change Order) OCI (Orden de cambio de ingeniería)
EDL (Error in Design Logic) ELD (Error en la lógica de diseño)
EDR (Error in Data Representation) ERD (Error en la representación de los datos)
E1 (Error Index) IE (Índice de error)
ERD (Entity Relationship Diagram) DER (Diagrama de entidad-relación)
EVA (Earned Value Analysis) AVG (Análisisde valor ganado)
FAST (Facilitated Application SpecificationTechniques) TFEA (Técnicaspara facilitar las especificaciones de la aplicación)
FD (Formal Design) DF (Diseño formal)
FIN (Fanin) NPD (Númerode padres directos)
FP (Function Points) PF (Puntos de función)
FTR (Formal Technical Review) RTF (Revisión técnica formal)

585

www.elsolucionario.net
.

APÉNDICE

Término en Inglés Término equivalente en Espafiol

FTW (FICA.tax.withheld) FIR (F1CA.impuesto.retenido) www.elsolucionario.net
FuP (Functional Primitives) Pfu (Primitivas funcionales)
FuPM (Modified Manual Function Primitiva) PMFu (Primitivas modificadas de función manual)
FURPS (Functionality, Usability, Reliability, FURPS (Funcionalidad, facilidad de uso, fiabilidad,

Performance and Supportability) rendimiento y capacidad de soporte)
GQM (Goal, Question, Metric) GQM (Objetivo, cuestión, métrica)
GUI (Graphical User Interface) IGU (Interfaz gráfica de usuario)
GW (gross.wages) BS (brutos.sueldos)
HCI (Human-Computer Interface) IHM (Interfaz hombre-máquina)
HTTP (Hypertext Transfer Protocol) HTTP (Protocolo de transferencia de hipertexto)
1-CASE (Integrated CASE) 1-CASE (CASE integrado)
ICI (Inconsistent Component Interface) IMI (Interfaz de módulo inconsistente)
ICMP (Intemet Control Message Protocol) ICMP (Protocolo de mensajes de control de Internet)
IDL (Interface Deñnition Language) IDL (Lenguaje de definición de interfaces)
IDS (Intentional Deviation from Specification) DDE (Desviación deliverada de la especificación)
IES (Incomplete or Erroneous Specification) EIE (Especificación incompleta o errónea)
IET (Incomplete or Erroneous Testing) PIE (Prueba incompleta o errónea)
IID (Inaccurate or Incomplete Documentation) DI1 (Documentación imprecisa o incompleta)
IOC (Initial Operational Capability) COI (Capacidad operativa inicial)
IP (Intemet Protocol) IP (Protocolo de Intemet)
IPSE (Integrated Project Support Environment) EAIP (Entorno de apoyo integrado a proyectos)
ISP (Information Strategy Planning) PEI (Planificación de la estrategia de información)
IT (Information Technologies) TI (Tecnologías de la información)
ITG (Independent Test Group) GIP (Grupo independiente de prueba)
JSD (Jackson System Development) DSJ (Desarrollo de sistemas Jackson)
KDD (Knowledge Discovery in Databases) DCBC (Descubrimiento de conocimiento en bases de datos)
KLOC (thousands Lines of Code) KLDC (miles de líneas de código)
KPAs (Key Process Areas) ACPs (Áreas clave de proceso)
LA (Layout Appropriateness) CR (Conveniencia de la representación)
LCA (Life Cycle Architecture) ACV (Arquitectura del ciclo de vida)
LCO (Life Cycle Objectives) OCV (Objetivos del ciclo de vida)
LCOM (Lack of Cohesion in Methods) CCM (Carencia de cohesión en los métodos)
LOC (Lines of Code) LDC (Líneas de código)
LPNL (Lower Natural Process Limit) LPNI (Límite de proceso natural inferior)
MCC (Misinterpretation of Customer Communication) MCC (Mala interpretación de la comunicación del cliente)
MIF (Method Inhentance Factor) FHM (Factor de herencia de métodos)
MIL (Module Interconnection Language) LIM (Lenguaje de interconexión de módulos)
MIS (Management Information System) SIC (Sistemas de información de gestión)
MIS (Miscellaneous) VAR (Varios)
MOI Model (Motivation, Organisation, Ideas or Innovation) Modelo MOI (Motivación, organización, ideas o innovación)
MOM (Message Oriented Middleware) MOM (Software intermedio orientado a mensajes)
MOOD (Metrics for Object-Onented Design) MDOO (Métricas para el diseño orientado a objetos)
mR (moving Range) Rm (Rangos de movimiento)
MTBF (Mean Time Between Failure) TMEF (Tiempo medio entre fallos)
MTTC (Mean-Time-To-Change) TMC (Tiempo medio de cambio)
MTTF (Mean Time To Failure) TMF (Tiempo medio de fallos)
MTTR (Mean Time To Repair) TMR (Tiempos medios de reparación)
NC (Numerical Control) CN (Control numérico)
NKC (Number Of key classes) NCC (Número de clases clave)
NOA (Number of Operations Added by a subclass) NOA (Número de operaciones añadidas por una subclase)
NOC (Number of Children) NDD (Número de descendientes)
N O 0 (Number of Operations Overridden by subclass) NOR (Número de operaciones redefinidas para una subclase)
NOR (Number of Root classes) NCR (Número de clases raíz)
NPavg (Average Number of Parameters per operation) NPprom (Número de parámetros por operación promedio)
NSS (Number of Scenario Scripts) NE (Número de escenarios)
NSUB (Number of Subsystems) NSUB (Número de susistemas)
OB (Objects) OB (Objetos)
OC (Operation Complexity) CO (Complejidad de operación)
OCI (OutputKontrolíInput) SCE (Salidas/Dontrol/entradas)
ODBC (Open Database Connectivity) ODBC (Conectividad abierta de bases de datos)
OLCRS (On-line Course Reristration Svstem) OLCRS (Sitema interactivo para apuntarse a cursos)
OMG/CORBA (Object Manigement G;oup/Common Object Request OMG/CORBA (Grupo de gestión de ObjetodArquitectura común

Broker Architecture) de distribución de objetos)
OML (Object Management Layer) CGO (Capa de gestión de objetos)
OMT (Object Modelling Technique) TMO (Técnica de modelado de objetos)
00 (Object-Oriented) 00 (Orientado a objetos)

586

hwttwp:w//l.iberlesroialu-ucniiovenrasritiaor.ian.ebtlogspot.com APÉNDICE
.

Término en Inglés Término equivalente en Español www.elsolucionario.net

OOA (Object-oriented Analysis) A 0 0 (Análisis orientado a objetos)
OOCASE (Object-Oriented Computer Aided Software Engineering) ISOOAC (Ingeniería del software orientada a objetos asistida

OOD (Object-Oriented Design) por computadora)
OODA (Object-Oriented Domain Analysis) D O 0 (Diseño orientado a objetos)
OODBMS (Object-Oriented Database Management System) ADOO (Análisis del dominio orientado a objetos)
OODBS (Object-Oriented Database Systems) SGBDOO (Sistemas de gestión de bases de datos orientadas a objetos)
OOP (Object-Oriented Programming) SBDOO (Sistemas de bases de datos orientadas a objetos)
OORA (Object-Oriented Requirements Analysis) P O 0 (Programación orientada a objetos)
OOSE (Object-Oriented Software Engineering) ARO0 (Análisis de los requisitos orientado a objetos)
OOT (Object-Oriented testing) ISOO (Ingeniería del software orientada a objetos)
ORB (Object Request Broker) PrOO (Pruebas orientadas a objetos)
OSavg (Average Operation Size) ORB (Agente de distribuición de objetos)
PAD (Public Access to Data members) TOprom (Tamaño medio de operación)
PAP (Percent Public and protected) APD (Acceso público a datos miembros)
PAT (Process Activation Language) PPP (Porcentaje público y protegido)
PC (Peripheral Control) TAP (Tabla de activación de procesos)
PDL (Program Design Language) CP (Control de periféricos)
PERT (Program Evaluation and Review Technique) LDP (Lenguaje de diseño de programas)
PF (Polymorphism Factor) PERT (Técnica de evaluación y revisión de programas)
PHTRS (Pot Hole Tracking and Repair System) FP (Factor de polimorñsmo)
PI (Phase Index) SSRB (Sistema de seguimiento y reparación de baches)
PLT (error in Programming Language Translation) IF (índice de fase)
PM-CMM (People Management Capability Maturity Model) TLP (Error en la traducción del diseño al lenguaje de programación)
POP3 (Post Office Protocol version 3) MMCGP (Modelo de madurez de la capacidad de gestión de personal)
PROlSIM (PROtotyping and SIMulation) POP3 (Protocolo de oficina de correos versión)
PSPEC (Process SPECification) PRO/SIM (Construcción de prototipos y simulación)
EP (Especificación de proceso)
Q (query) C (Consulta)
P&R (Pregunta y respuesta)
Q&A (Question and Answer) EDC (Espacio de diseño cuantificado)
QDS (Quantity Design Space) DFC (Despliegue de la función de calidad)
QFD (Quality Function Deployment) DRA (Desarrollo rápido de aplicaciones)
RAD (Rapid Application Development) SGBDR (Sistema de gestión de bases de datos relacional)
RDBMS (Relational Database Management System) RE (Relaciones)
RE (Relationships) Re¡ (Conexiones de relación)
Re¡ (Relationship connections) RPC (Respuesta para una clase)
RFC (Response For a Class) RR (Recolección de requisitos)
RG (Requirements Gathering) HIR (Hoja de información de riesgos)
RIS (Risk Information Sheet) RSGR (Reducción, supervisión y gestión de riesgos)
RMMM (Risk Mitigation, Monitoring and Management) AE (Análisis estructurado)
SA (Structured Analysis) TADE (Técnicas de Análisis y diseño estructurado)
SADT (Structured Analysis and Design Technique) DCS (Diagrama de contexto del sistema)
SCD (System Context Diagram) ECS (Elementos de configuración del software)
SCI (Software Configuration Items) GCS (Gestión de la configuración del Software)
SCM (Software Configuration Management) IS (Ingeniería de sistemas)
SE (System Engineering) EIS (Entorno de ingeniería del software)
SEE (Software Engineering Environment) SE1 (Instituto de ingeniería de software)
SE1 (Software Engineering Institute) CFF (Cohesiones funcionales fuertes)
SFC (Strong Functional Cohesion) DFS (Diagrama de flujo del sistema)
SFD (System Flow Diagram) IES (índice de especialización)
SI (Specialisation Index) IMS (índice de madurez del software)
SMI (Software Maturity Index) USN (Unidad semántica de navegación)
SNU (Semantic Navigation Unit) IDP (Indice de desarrollo de planificación)
SPI (Schedule Performance Index) GCS (Garantía de calidad del software)
SQA (Software Quality Assurance) SQE (Ingeniería de Calidad del software)
SQE (Software Quality Engineering) SQL (Lenguaje de consultas estructurado)
SQL (Structure Query Language) MEPS (Mejora estadística del proceso de software)
SSPI (Statistical Software Process Improvement) ES (Estados)
ST (States) DTE (Diagrama de transición de estados)
STD (State Transition Diagram) CEU (Comprobación estadística de utilización)
SUT (Statistical Use Testing) VP (Varianza de planificación)
SV (Schedule Variance) P (Prueba)
T (test) TCi (Muestras -tokens- de datos)
TCi (Data tokens) SGH (Servicios de gestión de herramientas)
TMS (Tools Management Services) PP (Planificación de prueba)
TP (Test Planning) GTC (Gestión total de calidad)
TQM (Total Quality Management)
587

APÉNDICE www.elsolucionario.net
.
Término en Inglés
Término equivalente en Español
TR (Transitions)
U1 (User Interface) TR (Transiciones)
UICE (User Interface and Control Facilities) IU (Interfaz de usuario)
UIDS (User-Interface Development Systems) IUFC (Interfaz de usuario y facilidades de control)
UML (Unified Modelling Language) SDIU (Sistemas de desarrollo de la interfaz de usuario)
UNPL (Upper Natural Process Limit) UML (Lenguaje de modelado unificado)
V&V (Verification and validation) LPNS (Límite de proceso natural superior)
VPS (Violationof Programming Standards) V&V (Verificación y validación)
WBS (Work Breakdown Structure) IEP (Incumplimientode las estádandaresde programación)
WebApps (Web-basedApplications) EAT (Estructurasde análisis del trabajo)
WebE (Web-Engineenng) WebApps (Aplicacionesbasadas en Web)
WFC (Weak Function Cohesion) IWeb (Ingeniería Web)
WMC (Weighted methods per class) CFD (Cohesiones funcionalesdébiles)
WoN (Ways of navigating) MPC (Métodos ponderados por clase)
XML (Extensible Mark-up Language) NN (Nodos de navegación)
ZS (ZoneSet) XML (Lenguaje de marcas extensible)
FZ (Fijar zona)

www.elsolucionario.net

588

www.elsolucionario.net
.

INDICE

Abstracción, 223-224,423 funcional, 527 www.elsolucionario.net
Acceso público a datos miembros (APD), 429 para ganar valores, 125-126
Ackerman, A.F., 308 de interacción, 527
Acoplamiento, 231,424 de inventario, 545546,554

entre clases objeto (ACO), 426 (maPPing)
común, 231 de las transacciones, 252-255
de contenido, 23 1 de las transformaciones, 247-252
de control, 231
externo, 231 orientado a objetos (AOO), 352, 376
métricas de, 334-335 de componentes genéricos, 366-367
Actividades consistencia, 410-412
de construcción e integración (C&I), 170, 171 enfoque(s)
del marco de trabajo, 25,46 00,362
de modelado de diseño, 171 unificado, 363-364
protectoras, 16, 38 exactitud, 409-410
Actores, 187-188, 368 métodos de, 362-363
Adaptador de objetos, 5 13 proceso, 367-373
Agente de distribución de objetos (ORB), 511 pruebas, 409-410
Agregación, 394-395
Agrupación principios del, 188-192
de datos afines, 505-506 de los requisitos, 20
de objetos, 156
Albretch, A.J., 62 descripción, 182-183
Algoritmos, 61 orientado a objetos (AROO), 344
diseño de, 389-390 para la reutilización, 481-482
Almacén de selección del diseño, 244-245
CASE integrado (1-CASE) de tareas, 264
de valores límite (AVL), 297
características y contenido, 568-571 Aplicaciones basadas en Web (WebApps)
papel, 567-568 atributos de calidad, 523-524
de datos, 239-240,504 características, 523
Almacenamiento estructurado, 480 categorías, 523
Ambigüedades, 436 contenido, 536-537
Ambito, 536 controladas por el contenido, 522
del concepto, 119, 120-121 diseño, 527-532
escalabilidad, 537
.preliminares, 119 evolución continua, 523
intensivas de red, 522
del software, 45 personas, 537
definición, 79 políticas, 537
ejemplo, 80-82 pruebas, 532-533
obtener información, 79-80 tecnologías, 524
vabilidad, 80 Árbol
de decisión, 93-94
Ambler, S., 368 de profundidad de herencia (APH), 425,429
Análisis, 2 16, 563 Áreas de proceso clave (ACP), 14
características, 18
del árbol de fallos, 144 Arnold, R.S., 550
del área de negocio (AAN), 170 Arquitectura(s), 169-170
del código fuente, 550-551 de aplicación, 169-170
de compromiso para la arquitectura, 243-244 del ciclo de vida (ACV), 27
de la configuración, 527 cliente/servidor (C/S), 552-553
del contenido, 527 de control, 243
de contribución, 245 de datos, 169-170,241-242, 243
de coste, 485-486 descripción, 238
de datos, 551 estratificadas, 242,496-497
descripción del, 181, 361 importancia de la, 238-239
del dominio, 364,476-477 de integración, 566-567
de llamada y retorno, 242
orientado a objetos (ADOO), 344 orientadas a objetos, 242
proceso, 365-366 del software, 226
estructurado, 216-217 Asignación de componentes
descripción, 199-200 gestión de datos remota, 5 10
historia, 200
mecanismos, 210-215
de fallos, 56-57

589

fNDlCE DE MATERIAS www.elsolucionario.net
.

Asignación de componentes (Cont.) Capa de www.elsolucionario.net
lógica distribuida, 510 gestión de objetos (CGO), 567
presentación distribuida, 509 interfaz de usuario, 566
remota, 509-510 repositorio compartido, 567

Asociación, 395 Capacidad
de control, 516 de descomposición, 284
de datos, 5 16 de expansión, 325
operativa inicial (COI), 27
Atributos, 202,233-234
especificaciónde, 353 Card, D.N., 332
Cardinalidad, 203
Auditoría de configuración, 158-159 Carencia de cohesión en los métodos (CCM), 426,428
Autodocumentación, 325 CASE integrado (1-CASE), 565-566
Automatización,480 Cashman, M., 351
Autoridad de control de cambio (ACC), 157-158, 159 Caso(s) de

Bach, J., 156 prueba, 4 15
Balzer, R., 194 derivación, 288-290
Base de datos, 166,239,509
USO, 186-188,367-368,374-375,395-397
diseño de, 514-515 Caswell, D.L., 65
estructura, 549-550 Cavano, J.P., 326
objeto de, 516 Certificación, 46 1,468-649
pruebas, 517 Certificadosdigitales, 508
Basili, V., 67 Champeaux, D. de, 347,367
Bass, L., 238, 513 Champy, J., 4
Beizer, B., 282,290 Chapin, N., 276
Belady, L., 219 Charette, R.N., 97
Bennett, S., 383 Chen, P., 204
Berard, E., 421,422 Chidamber, S.R., 427
Berard, E.V., 344,355 Chifovsky,E.J., 544
Bieman, J.M., 334 Christel, M.G., 172
Binder, R.V., 407,428,429 Churcher, N.I., 425
Boal, I., 4 Ciclo de vida clásica. Véase modelo secuencia1lineal
Boehm, B., 25,26,49,91,134,306 Clases, 346,368-369
Boock, G., 355,362,382
Bowan, J.P., 455 clave, 429-430
Breuer, P.T., 549 dependientes, 412
Brooh, J., 4 dispositivo de, 369
Brooks, F., 9,21, 113 identificaciónde, 350-353
Buschmann, E, 385 interacción de, 369
interdependientes, 412
Cadena definición-uso (DU), 292-293 propiedad de, 369
Calidad, 63-64,69,306, 324 Clases-responsabilidades-colaboraciones(CRC), 368-371
consistencia, 410-412
componentesreutilizables, 484-485 estructuras, 371-372
conceptos, 132-134 jerarquías, 371-372
control de variación, 132 subsistemas, 372
de concordancia, 132-133 tarjetas índice, 368, 369, 373,411
de coste, 133 Clasificación
de diseño, 132-133,220,221 de atributos y valores, 484
estándares, 146-147 enumerada, 483
factores por facetas, 483-484
Clements, P.C., 473
externos, 223 Clemm, G.M., 155
internos, 223’ Cliente, 39, 169
ISO, 326 comunicación, 25,46,79-80
de McCall, 234-235 evaluación, 25,46
fallo, 134 ligero, 510
FURPS, 325-326 pesado, 509
medidas de, 94 reacción ante el concepto, 119
métricas, 331-332 Coad, P., 346, 352,362-363,382,386, 387
movimiento, 134-135 Cobertura
prevención, 133 de enlaces, 296
transición a una visión cuantitativa, 326-327 de nodos, 296
valoración, 134 Código fuente, métricas, 336-337
variaciones entre muestras, 132 Cohesión, 230,424
Cambio, 9- 10 accidental, 230
ámbito, 574 lógica, 230
métricas de, 334
temporal, 230

590

www.elsolucionario.net
.

fNDICE DE MATERIAS

Colaboraciones, 368, 370-371 Contradicciones, 436 www.elsolucionario.net
Colección de métricas MDOO, 427 Control
COM de Microsoft, 480
Comercio electrónico cambio@),156-158
formal, 158
arquitectura técnica, 501-502 individual, 158
descripción, 499-500
funciones, 500-501 proceso estadístico, 70-72
tecnologías, 502-508 sincronización, 158
Complejidad, 423 versiones, 155-156
arquitectónica, 245 Controlabilidad, 284
ciclomática, 287-288, 337 Controladores, riesgo, 101
de datos, 333 Conversión (mapping)
métricas, 335 arquitectónica, 245-246
de operaciones, 428 de transacciones, 245-246
Completitud, 325,424,436 de transformaciones, 247-252
Componente(s) Corrección, 64,324
actualizaciónde, 474,475 Coste, 485
adaptación de, 474,475,479 de la calidad, 133-134
de la administraciónde datos, 386-387 empírico, 49
de administraciónde tareas, 386 de presupuesto de trabajo
de aplicación, 509,510-511
clasificación y recuperación de, 482-484 planificado (CPTP), 125-126
composición de, 474,475,480-481 realizado (CPTR), 125-126
cualificaciónde, 193 Counsell, S.J., 428
diseño de datos, 240-241 Criterios de adaptación, 117
de disponibilidad inmediata, 82,474 Cuellos de botella, 505
distribución de, 509-520 Cuestiones de contexto libres, 79-80, 183
de DOO, 385-387 Cumplimiento de las estructuras, 278
estándar, 85
de experiencia Datos, 576-577
agrupar datos afines, 505-506
completa, 82-83
parcial, 474,475,479 Davis,A., 27, 188,331-332
de gestión de recursos, 387 Davis, M., 31
de interfaz de usuario, 386 Decisión hacer-comprar,92-93
JavaBean de Sun, 480-481
N, 154 árbol de decisiones, 93-94
nuevos, 83 subcontratación (outsourcing),94
reutilizables, 193 Defectos,
de riesgo, 100-101 ampliación, 138
Composición, 394-395 impacto del coste, 137-138
Compresión de datos, 506 Definición de objetos, 353
Comprobación de cuenta, 370 DeMarco, T., 42, 199,200,330, 331
Computadora de red, 5 10 Dependencias
Comunicación de compartimiento, 245
del cliente, 46 flujo de, 245
del equipo, 43-44 restrictivas, 245
de procesos, 513-514 Depuración, 318
entre subsistemas, 387-388 consideraciones psicológicas, 319
técnicas, 183-184 enfoques, 320-321
Concentrador de impresión, 439-441 proceso, 319
Concepto de la horda mongoliana, 9 Desarrollo
Concisión, 325 basado en componentes (DBC), 28-29,478-482,524
Condición, 274,275 de conceptos, 25
compuesta, 291 rápido de aplicaciones (DRA), 22-23
de datos, 208 del software, matemáticas, 437
Conectividad, 227 de Webs, 564
Configuración del software, 10 Descomposición, 84
Conjunto de tareas, 16,25,38 de proceso, 47
cálculo del valor de selección, 117-118 de producto, 45
definición, 116-117 técnicas, 85-90
Consistencia,325 Descripción(ones)
Constantine, L., 41,42 de la información, 194
Construcción de sistemas, 574-575 funcional, 195
Contabilidad del estado, 159 de objetos, 388-389
Contenido Descubrimiento de conocimiento en bases de datos
ejecutable, 503-504 (DCBC), 239
de la información, 189-190 Despliegue de la función de calidad (DFC), 186-188
Deutsch, M., 281
Devanbu, P,, 486

591

fNDICE DE MATERIAS hwttwp:w//li.berlesroial-uucniiovenrasirtiaor.ian.ebltogspot.com
.

Dhama, H., 334 enfoque convencional VSP. 00,380-38 I www.elsolucionario.net
Diagrama(s) exactitud, 409
métodos, 382-383
de burbujas, 206 métricas, 423-424
de contexto del sistema (DCS), 176-177 pirámide, 380
de flujo de control (DFC), 208 pruebas, 409-41O
plantillas, 528
creación de, 213-214 principios, 222-223,528
creación de, 210-21 1 de procedimientos. Véase Diseño a nivel de componentes
entidad-relación(DER), 200, 204-205 proceso, 22 1
de espina, 57 de prueba basada en escenario, 4 15-417
de estado, 397 reglas de oro, 528
de flujo para la reutilización, 48 1-482
del sistema, proceso, 384-388
de datos (DFD), 200-201,206-207,208 de sistemas de negocio (DSN), 170
creación, 21 1-2 13 tipos de, 220
del sistema (DFS), 177 visión general, 515-516
de Gantt, 123 Disponibilidad, 143
de transición de estados (DTE), 183,209 Dispositivos
Diccionario de datos, 200, 206,215-216 de detección, 145-146
Dijkistra,E., 273-274 poka-yoke, 145-146
Dimensión, 85 División estructural, 227-228
cambio, 85 Documentación, 166,233, 562-563
componenteestándar, 85 prueba de la, 300
de control, 61 Dominio de la información, 189-190
de datos, 6 1 valores, 60
funcional, 61 Druker, P., 97
lógica difusa, 85
punto de función, 85 Dunn, R.,321
Diseño, 234,563 Duplicación, 5 15
a nivel de componentes, 23
descripción, 273 de datos, 505
métricas, 333-335 paquetes de, 504
arquitectónico,220, 256, 528-530
análisis, 243-245 Ecuación de software, 92
descripción, 237 Eficacia de eliminación de defectos (EED), 64-65
guía cuantitativa para, 244-245 Eficiencia, 325
métricas del, 332-333,337
refinamiento del, 255 de ejecución, 325
de sistemas C/S, 513-514 Eje de punto de entrada del proyecto, 25
calidad de, 132 Ejogu, L., 328
de casos de prueba, 285,30 1 Elemento escalar, 228
entre clases, 417-420 Encapsulamiento, 348,422-423,428
convencional, 414 Encriptación, 507-508
software 0 0 , 412-417 Encubrimiento de caja
conceptos de, 223-229
consistencia/unifonnidaddel, 222 gris, 479
de datos, 220,239-240 negra, 479
a nivel de componente, 240-241 Entidades, 156
descripción, 219 externas, 176
efectivo, 229-231 Entorno
especificación, 154, 233 de desarrollo, 82
evaluación, 225 de ingeniería del software (EIS), 84
para el fallo, 506 prototipos del, 193
formal, 46 I Equipo
heurísticas, 231-232 centralizado y controlado (CC), 41
de usuario, 270 de descentralizado democrático, (DD), 41,42
descentralizado y controlado (DC), 41,42
descripción, 259 de ingeniería Web, 533-534
evaluación, 268-269
modelos, 262-263 administrador, 534
procesos, 263 desarrollador del contenido, 534
reglas de oro, 260-261 editor, 534
métodos de, 527-528 especialista de soporte, 534
de navegación, 530-531 ingeniero, 534
de objetos, proceso, 388-390 proveedores, 534
orientado a objetos (DOO), 344,405 de software
aproximación unificada, 383-384 coordinación/comunicación, 43-44
aspectos, 381-382 organización/estructura, 40-43
consistencia, 410-411 Errores, 311
descripción, 379 detección de, 291-292

592

www.elsolucionario.net
.

INDlCE DE MATERIAS

Errores (Cont.) diseño de, 389-391 www.elsolucionario.net
lógica de, 286 internas, 549
tipográficos de, 286 jerárquicas, 529
lineales, 528-529
Esfuerzo en red, 529
distribución, 115-116 reticulares, 529
personas, 114-116 Evaluación y técnica de revisión de programas (ETRP),
122-123
Espacios, 503 Exactitud, 325
de diseño cuantificado(EDC), 245 Expresión lógica (Booleana), 291-292
n-dimensional, 228-229 Extracción manual, 515

Especificación, 193-195 Facilidad de
algebraica, 450-452 auditoría, 325
de control (EC), 201,208,213-214 comprensión, 284
de datos, 240-241 prueba, 325
diseño, 233 atributos, 284
de la estructura de cajas, 460-461,462 características, 283-284
de estado, 462,463-464
negra, 462,463 Factor de
transparente, 462,464 acoplamiento (FA), 427-428
formal, 193 herencia de métodos (FHM), 427
lenguajes de, 445 polimorfismo (FP), 428
notación matemática, 444-445
funcional, 462-464 Fallo(s), 506
principios, 194 del año 2000,3,4
de proceso (EP), 201,206-207,214-215 dobles, 299
representación, 194 multimodales, 299
de los requisitos del software, 194-195 simples, 299
del sistema, 173, 177
Z , 446-447 Fase de
definición, 15
Espiral WINWIN, 26-27 desarrollo, 15
Esquema del modelado del sistema, 176, 178 soporte, 15
Estabilidad, 284 adaptación, 15
Estado del sistema, 189 corrección, 15
Estándares de Intemet, 524 mejora, 15
Estandarización de prevención, 15

la comunicación, 325 Fecha límite, 112-113
datos, 325 Feigenbaum, E.A., 4
rediseño de datos, 551 Fenton, N., 327,333
Estilos arquitectónicos,241-242 Fiabilidad, 80, 143, 324,326
organización de, 243
refinamiento de, 243 disponibilidad, 143
taxonomía de, 241-243 medidas, 143
Estimación, 78, 84 Firesmith, D.G., 369
automatizada, 84 Firma digital, 508
basada Fleming, Q.W., 125
Flexibilidad, 325
problemas, 86-87 Florac, W.A., 53
procesos, 89 Flujo de
ejemplo basado en procesos, 89-90 control, 208
empírica, 84 datos, 242
Líneas de código (LDC), 85-88
00,299-300 arquitecturas, 242
Puntos de función (PF), 86-87, 88 continuo en el tiempo, 207
Estrategia de prueba, 321 ’ discreto, 207
aspectos, 309-310 grafo de, 206
depuración, 318-321 pruebas, 292-293
descripción, 305 información, 189-190
enfoque, 306-309 modelo, 205-209
integración, 312-315 transacción, 246
organización, 307 transformación, 246
sistema, 317-318 Formación, 325
unidad, 310-312 Fragmentación, 274,515
validación, 316 Freedman, D.P., 137
Estructura(s) de Freeman, P., 237
análisis del trabajo (EAT), 122 Función de
datos, 228-229,239 ayuda
jerárquicas, 228-229 complementaria, 267
la información, 189-190 integrada, 267
programa, 226-227,229

593

fNDICE DE MATERIAS www.elsolucionario.net
.

Función (Cont.) individual, 7 1 www.elsolucionario.net
prueba, 300 rangos en movimiento (Rm), 70
de tiempo, 123-124
caracterización, 477 Grafo, 350
compendio de mensajes, 508 de evolución, 155, 156
FURPS, 325-326 Gran conocimiento del sistema, 505
Grupo independiente de prueba (GIP), 307
Gaffney, J.E., 62 Guiones de escenario, 429
Gamma, E., 379,390
Gane, T., 200 Habilidad de codificar, 279
Garantía de la calidad del software (SQA), 148 Halstead, M., 337
Hammer, M., 5 , 5 4 1, 542
actividades, 136 Hardware, 5, 166
antecedentes, 135-136 Hares, J.S., 170
definición, 135 Harrison, R., 428
descripción, 131- 132 Hatley, D.J., 208
estadística, 141-142 Henderson, J., 460
plan, 147 Henry, S., 333
Garlan, D., 226,238 Herencia, 348-349,423,429
Cause, D.C., 79-80, 183
GCI, 785 múltiple, 349
Generación de Herramientas, 14
código, 461
una aplicación, 22 capa, 567
Generadores de pantallas, 564 dinámico, 564
Generalidad, 325 estático, 564
Generalización, 394
Gestión de desarrollo, 564
de la configuración del software (GCS), 159-160 de gestión ,562

categorías, 152 de pruebas, 565
descripción, 151 de implementación, 268
elementos, 78 de programación, 564
identificación de objetos, 154-155 taxonomía, 561-565
IWeb, 536-537 Herron, R., 574
líneas base, 152-153 Hetzel, W., 301
proceso, 154 Hinchley, M.G., 455
de programas relacionada con el personal, 50 Hindley, P.G., 476
de proyectos, 534-535,562 Hopper, M., 573
basada en métricas, 50 Humphrey, W., 56, 125
descripción, 37 Hutchinson, J.W., 476
expectación/rendimiento, 536
inicio de un proyecto, 535 Identificación de
personal, 38 objetos
proceso, 38 básicos, 154
producto, 38 compuesta, 154
proyecto, 39 requisitos, 183-188
de riesgos formal, 49 inicio del proceso, 183-184
total de calidad (GTC), 135
atarimae hinshitsu, 135 Incertidumbre estructural, 78
kaizen, 135 Incompletitud, 437
miryokuteki hinshitsu, 135 Independencia
Gestor(es)
de bloques, 439,444-445 funcional, 229-230
superiores, 39 del hardware, 325
(técnico) de proyectos, 39 Indicadores de proceso, 55
Gilb, T., 309 Indice de
Glass, R., 332 errores (IE), 142
Gnaho, C., 530 especialización (IE), 427
Goethert, W.B., 53 espectro, 244
Gooldman, N., 194 Información, 576-577
Grado de rigor, 1 17 Informe de
casual, 117 cambio, 157
estricto, 117 estado de configuración, 159
estructurado, 1 17 Ingeniería, 25,45-46
reacción rápida, 117 del software basada en componentes (ISBC), 486
Grady, R.G., 56, 57,65
Gráfico(s) de actividades, 474-475
control, 70 descripción, 473-474
económica de, 484-486

594

www.elsolucionario.net fNDlCE DE MATERIAS
.

Ingeniería (Cont.) objeto, 265-266,515-516 www.elsolucionario.net
proceso, 475 reducir la carga de memoria del usuario, 260-261
de usuario, 550,552-553
de componentes del sistema, 171 Intemet, 3
directa, 547,551-552 Interoperabilidad, 32.5
Invariante de datos, 438
arquitectura 00,553 ISO
ciiente/servidor,552-553 9000-3, 146
interfaces de usuario, 553-554 9001, 146-147
del dominio, 362,366,476-478 9004-2, 146
de información, 20 9126,326
inversa, 546, 547-548 Iteración de1 diseño de procesos, 516
datos, 549-550
interfaz de usuario, 550 Jackman, M., 42
procesamiento, 548-549 Jackson, M.A., 223,227
de proceso de negocio (IPN), 169-170, 178,561-562 Jacobson, I., 187, 362, 382
de producto, 171, 178 Jerarquía(s) de
de requisitos, 171, 172
análisis, 173 clases, 416
especificación, 173 control, 226-227
gestión, 174-175 tipos de objetos de datos, 204
identificación, 172 Juego de herramientas de la interfaz de usuario, 268
modelado, 174
negociaciones, 173 Kafura, D., 333
validación, 174 Kahn, P., 528
de sala limpia, 29,469 Kaizen, 135
características,46 1 Kang, K.C., 172
definición, 3, 14 Kapln, C., 134
descripción, 459 Kautz, K., 72
enfoque, 460-462 Kidd, J., 356,426,427
estrategia, 460-46 1 Kirani, S., 418
futuro, 573-579 Kit de Desarrollo Bean (BDK), 481
importancia, 574 Koppleman, J.M., 125
paradigma, 19
proceso nuevo, 575-576 Kraul, R.,44
pruebas, 467-469
sistemas C/S, 512 Lano, K., 549
visión genérica, 14-16 Larcher, F., 530
de seguridad, 507 Latencia, 506
de sistemas, 178 Legibilidad para la computadora, 278
descripción, 165 Lenguaje(s)
jerarquía, 167-169
del software, 7 de descripción arquitectónica(LDAs),226
asistida por computadora (CASE), 9, 14 de diseño de programas (LDP), 276-277
bloques de construcción, 560-561
descripción, 559 ejemplo, 277-278
taxonomía, 561-565 de interconexión de módulos (LIM), 155
Web (IWeb),537-538 estructurado. Véase Lenguaje de diseño de programas (LDP)
atributos, 522-524 unificado de modelado (UML), 29,363-364,383-384,393-397
descripción, 521-522
estimación, 534-535,536 estudio de un caso, 398-400
marco de trabajo, 525-526 Leveson, N.G., 144
problemas de gestión, 533-537 Levy, J., 336
proceso, 525 Libros en línea, 398-400
subcontratación (outsourcing),534,535-536 Liderazgo
Inspección. Véase Revisiones técnicas formales (RTF)
Instantánea, 5 15 características, 40
Instituto de Ingeniería del Software (SEI), 16, 18, 136 rasgos, 40
libro de guía, 73-74 Límite del proceso natural
Instrumentación, 325 inferior, 71
Integración, 564 superior, 71
Integridad, 64 Líneas de código (LDC), 58,62-63
Interfaz ejemplo de estimación, 87-88
acción, 265-266 estimación, 86-87
construcción consistente, 261 Linger, R.M., 465,466
dar el control al usuario, 260 Lister, T., 42
diseño, 220,266-268, 531-532,564 Localización, 422
gráfica de usuario (IGU), pruebas, 299-300 Lógica en tiempo real, 144
hombre-máquina, 337 Lorenz, M., 356-357,426,427
Lowe, D., 523

595

fNDiCE DE MATERIAS www.elsolucionario.net
.

MACA, 244 desarrollo, 67,69-70 www.elsolucionario.net
Madurez del proceso, 16-18 de diseño 00,423-424
establecimiento de programas para, 72-74
definición, 16-17 etiqueta, 56
gestionada, 17 evaluación, 66
inicial, 17 de integración con objetos, 66
optimización, 17 línea base, 66
repetible, 17 de mantenimiento, 338
Mandel, T., 260-261 del modelo
Mantei, M., 41
Mantenibilidad (capacidad de mantenimiento), 64,278,325,326 de análisis, 329-336
Mantenimiento, 338,544-545 de diseño, 332-336
Marco de proceso común, 16 de organizaciones pequeñas, 72
00,355-356 orientadas a
Matemáticas, 437, 441 clases, 424-428
aplicación, 444-445 funciones, 59-61
conjuntos, 44 1-442 objetos
especificación constructiva, 441-442
sucesiones, 443 características, 422-423
Matrices de grafos, 290 descripción, 421
McCabe, T.J., 335 propósito, 422
McCall, J.A., 324-325, 326 operaciones, 428
McCorduck, P., 4 tamaño, 59
McGlaughlin, R., 221 privadas, 56
McMahon, P.E., 478 de proceso, 55-57,69-70
Medición, 69,74 de producto, 58
calidad, 63-65 de proyecto(s), 58-59
definición, 53,54
descripción, 323-324 00,356-357,428-430
directa, 58 de prueba, 337
indirecta, 58 públicas, 56
principios, 328 punto de función ampliado, 61-62
razones, 53 reconciliación de diferentes enfoques, 62-63
Medida, descripción, 54 de reutilización, 486
Mejora de software sencillo, 72
estadística del proceso de software (MEPS), 56-57 técnicas, 43
del proceso del software, 55-57
Melior, S., 207 marco de trabajo, 327-329
Mensajes, 347-348 reto de, 327
de error, 267-268 de validez estadística, 70-72
Merlo, E., 554 Meyer, B., 225
Método(s), 14, 347 Miller, E., 306
del camino crítico (MCC), 122-123 Mills, H.D., 460
formales, 456 Mitigación, monitorización y gestión del riesgo (MMGR), 102,
105-106, 107
basados en objetos, 447-450 Mitos, 8
conceptos básicos, 436-441 de clientes, 9-10
concurrentes, 452-455 de desarrolladores, 10
descripción, 435 de gestión, 9
los diez mandamientos de, 455-456 Modalidad, 203
futuro, 456 Modelado, 190
modelo, 29 de análisis, 512
preliminares matemáticos, 441-443
ponderados por clase (MPC), 425 actividades del, 171
Métrica(s), 17,426-427 descripción del, 199
acoplamiento, 334-335 elementos del, 200-201
de argumentos a favor, 65-66 del comportamiento, 209-210
atributos, 328-329 de datos, 22, 154, 189
bang, 330-331, 337 cardinalidad, 203
cálculo, 331 elementos, 201-203
basadas en funciones, 329-330 modalidad, 203-204
cálculo, 66 representación gráfica, 204-205
de calidad, 63-65 estructural, 363,477-478
de especificaciones, 331-332 funcional, 190
de código fuente, 336-337 del negocio, 22
de cohesión, 334 de procesos, 22,562
de colección, 66 del sistema, 167-168, 174, 175-177
complejidad, 335 limitaciones, 168
definición, 53,54 preferencias, 168
restricciones, 168
simplificaciones, 168
supuestos, 167-168

596

www.elsolucionario.net fNDICE DE MATERIAS
http://libreria-un. iversitaria.blogspot.com

Modelo(s) descendientes (NDD), 425,429 www.elsolucionario.net
de análisis, 21 escenarios (NE), 429
particionar el, 384-385 operaciones
de caos, 19
de clases, 393-394 añadidas por una subclase (NOA), 427
de comportamiento, 190 redefinidaspara una subclase (NOR), 427
pruebas, 419-420 padres directos (NPD), 429
UML, 363-364 parámetros por operación promedio (NPp,,,), 428
dinámicos, 226 subsistemas (NSUB), 430
de diseño, 222, 233
de estimación Objetivo, pregunta, métrica (OPM), 67-69
COCOMO, 9 1-92 aplicación, 68-69
empíricos, 90-92 entomo, 68-69
estructura, 90 perspectiva, 68-69
estructurales, 226 propósito, 67
fundamental del sistema, 206
de implementación, 364 Objetivos
de intercambio de datos, 480 del ciclo de vida (OCV), 27
de madurez de capacidad (MCM), 16-17 de las pruebas, 282
del marco de trabajo, 226
MOI, 40 Objeto
de objetos, 480 de aplicación, 5 16
identificación de elementos, 350-354 de datos asociativo, 205
comportamiento, 374-376 Z, 447-450
relación, 373-374
recursivo paralelo, 344-345 Objetos, 346
de proceso(s), 19, 226 de datos, 201-202
de prototipos, 2 1-22 distribuidos, 502-503
DRA, 22-23 identificación, 350-352
evolutivo, 23-28
desarrollo concurrente, 27-28 Observabilidad, 283
espiral WINWIN, 26-27 Ocultamiento de información, 229,423
espirales, 24-26 OMG/CORBA, 480
incrementales, 23-24 Operación dibujo, 3.50
secuencia1 lineal, 20-2 1 Operaciones, 347,438
de redes de Petri, 144
catarata. Vkme Modelo de proceso secuencia1 lineal definición, 353-354
de usuario, 363 métricas, 428
Operadores matemáticos
Modularidad, 224-225, 278, 325 de conjuntos, 442-443
Módulos lógicos, 443
Operatividad, 283, 325
de trabajador, 227-228 Orden de cambio de ingeniería (OCI), 157-158
eficaces, 23 1-232 Orientación a objetos (00),358-359
Monarchi, D:E., 366 arquitectura, 553
Monitores de transacciones, 504 conceptos de, 345-350
Musa, J.D., 308 descripción de, 343
Myers, G., 234 enfoque para planificación, 357-358
Myers, W., 80 estimación, 356-358
gestión de proyectos, 354-358
Naisbitt, J., 4 métricas de proyecto, 356-357,429-430
Nannard, M., 527 paradigma, 344-345
Negociación, 26, 173 seguimiento del progreso, 358
Nielsen, J., 336 Originalidad, 424
Nithi, R.V., 428 Osbome, A., 4
Nivel de Osbome, W.M., 544
Ott, L.M., 334
clase, prueba, 4 17-418
referencia del riesgo, 103 Page-Jones, M., 37,200
Notación Paquetes
de diseño
cliente/servidor (C/S), 504
comparación, 278-279 de seguridad, 504
gráfica, 274-276 Paradigma( s)
tabular, 390,527-528, 530 abiertos, 42
de grafo de flujo, 286-287 aleatorios, 4 1
Número de cerrados, 4 I
clases clave de mejora de calidad, 67
(NCC), 429-430 síncronos, 42
(NCR), 429 Paralelismo, 506
Park, R.E., 53
Partición. 190-191

597

INDICE DE MATERIAS www.elsolucionario.net
.

Partición (Cont.) efectividad, 283 www.elsolucionario.net
basada en atributos, 418 exhaustivos, 283
basada en categorias, 418 de menor a mayor, 283
basadas en estados, 418 de Pareto, 283
equivalente, 296-297 planificación, 283
pruebas, 417-418 Seguimiento hasta los requisitos del cliente, 282
W5HH. 49
Participantes, 183 PRO/SIM, 563
Partidario, 39 Problemas
Patrones de diseño, 390,528,530 de alcance, 172
de comprensión, 172
ciclo, 530 volatilidad, 172
contorno, 530 Procedimiento(s), 166
contrapunto, 530 de software, 229
descripción, 390-391 Procesamiento
filtro, 392-393 central (host),492-493
futuro, 393 de datos, 189
Memento, 391-392 Proceso(s), 14,38
mundo de espejo, 530 automático, 278
Singleton, 391 características, 16
tamiz, 530 de comprobación de entrada y salida, 158
vecindario, 530 de desarrollo de software unificado, 29
Peligros, 106 descomposición, 47
Personal, 38, 166, 537,574-575 descripción, 13
equipo de software, 40-43 indicador, 55
jefes de equipo, 40 integración con métricas, 65-66
participantes, 39 secuenciales ihtercomunicados (PSI), 452-455
Petición de cambio, 156 de software personal, 56
Phadke, M.S., 298, 299 Productividad, 485
Phillips,D., 86 Producto, 31, 38
Pirbhai, LA., 208 ámbito, 44-45
Planificación, 25 descomposición, 45
de contingencia, 105-106 Programación
de la comprobación estadística, 461 estructurada, 274-278
de la estrategia de información, (PEI), 170 orientada a objetos (POO), 344,400-403
de incrementos, 460 impacto en pruebas, 414-415
de proyectos, 127 Programas legales, 16
Protocolo(s), 497
decisión hacer-comprar, 92-94 conceptos, 498
descomposición, 85-90 HTTP, 499
descripción, 77 ICMP, 498
estimación, 84 IP, 498
herramientas de estimación automatizadas, 94-95 POP3,498
modelos de estimación empíricos, 90-92 de presentación, 567
objetivos, 79 Prototipo(s), 21-22, 192,543, 564
recursos, 82-83 desechables, 193
NNGR, 107 entomos, 193
en tiempo evolucionario, 193
conceptos básicos, 1 12-114 evolutivo, 193
desarrollo, 536 herramientas, 193
descripción, 111 métodos, 193
detallada, 1 13 selección de enfoque, 158
estimación, 49 Proyección del riesgo, 101
herramientas/técnicas, 122-125 evaluación del impacto, 103
líneas generales, 114 tabla, 1O 1- 103
macroscópico, 113 Proyecto( s)
00,357-358 complejidad, 78
relación personal/esfuerzo, 114-116 desarrollo de aplicaciones nuevas, 1 16
riesgo, 100 de desarrollo de conceptos, 116, 119
seguimiento, 124 ámbito, 119
Polimorfismo, 349-350 evaluación de riesgos de la tecnología, 119
Pollak, W., 477 implementación, 119
Porcentaje público y protegido (PPP), 429 planificación preliminar, 119
Portabilidad, 325, 326 prueba, 119
Powell, T.A., 522 reacción del cliente, 119
Práctica de software crítico, 49-50 enfoque, 48
Pressman, R., 574 indicador, 55
Prieto-Díaz, R., 476
Principio(s)
de las pruebas, 282-283

598

www.elsolucionario.net
.

~ N D I C EDE MATERIAS

Proyecto(s) (Cont.) de recuperación, 317 www.elsolucionario.net
mantenimiento de aplicaciones, 116 de rendimiento, 318
mejoras de aplicaciones, 116 de resistencia (estrés),318
planificación,49 de seguridad, 317-318
reingeniena, 116 del sistema, 301, 317
tamaño, 78
delegación de culpabilidad, 317
Prueba(s), 516,564 recuperación, 317
a nivel de clase, 4 17-418 rendimiento, 318
de agrupamiento,411 resistencia (estrés),318
alfa, 316 seguridad, 317-318
basada(s) en, en tiempo real, 300-301
escenarios, 415-417 del software
fallos, 414-415 descripción, 281-282
grafos, 294-296 fundamentos, 282-284
hilos, 413,420 de la tabla ortogonal, 298-299
usos, 412 tácticas C/S, 5 18
beta, 293 entre tareas, 301
de bucles, 294 de transacciones, 517
anidados, 294 de unidad, 307-308
concatenados, 294 consideraciones, 3i 0-311
no estructurados, 294 contexto 00,410-411
simples, 293 procedimientos, 311-312
de la caja de validación, 316
blanca, 285,286 alfa y beta, 316
negra, 294-299,302 contexto 0 0 , 4 1 1
de camino base, 286 criterios, 316
de ciclo rápido, 309-310 revisión de configuración,316
de clase múltiple, 418-419 Pseudocódigo. Véase Lenguaje de diseño de programas (LDP)
cliente/servidor,300 Puhr, G.I., 366
de comparación, 297-298 Puntos
de comportamiento,301 de características,61
de comunicaciónde redes, 517-51 8 de estructura, 477-478,485-486
de condición, 29 1-292 de fijación, 26
criterios para completar, 308-309 de función (PF), 60-61, 85
documentación, 300 ampliados, 61-62
del dominio, 29 1 ejemplo de estimación, 88
y entrega, 23 estimación, 86-87
estadística de casos prácticos, 467-468 tres dimensiones,
de estrategia C/S, 516-517 Putnam, L., 80
estructura
de control, 291-294 Raccoon, L.B.S., 19
profunda, 4 17 Recolección de requisitos, 460
de superficie,4 17 Recursos
facilidades de ayuda, 300
de función de la aplicación, 5 17 de entorno, 83
herramientas C/S, 565 humanos, 82
Red de tareas, 121-122
IGU, 299-300 Rediseño de datos, 55I
impacto de la programación 0 0 , 4 1 5 Reel, J.S., 48
de integración, 312,413,420 Reestructuración de, 550-55I
código, 546,550-551
ascendente, 313-314 datos, 546-547,551
contexto 0 0 , 4 1 3 documentos, 546
descendente, 312-313 Refinamiento, 224,464-465
estudio, 315 paso a paso, 224
humo, 314-315 Región(ones) de
regresión, 314 defectos, 298
de límites, 311 tareas, 26
de mano a mano, 298 Regla 90-90,48
métricas, 337 Regla (Cont.)
modelo de de zona, 71
AOO, 409-410 Reifer., D.J., 181
DOO, 409-410 Reingeniería
del operador relaciona1y de ramificación (BRO), 292 coste-beneficio, 554
orientadas a objetos (OO), 409-419,420 descripción, 541-542
descripción, 409 economía de la, 554
estrategias, 412 herramientas, 565
métricas, 428-429
de ramificaciones,291

599

INDICE DE MATERlAS www.elsolucionario.net
.

Reingeniería (Cont.) Sarson, C., 200
Sawyer, P., 172
del proceso de negocio (RPN), Sears, A., 335
Seguimiento
creación de prototipos, 543
de defectos, 50
definición del negocio, 543 de errores, 126-127
para ganar valores, 50
descripción, 542 de requisitos, 562
Seguridad, 144,325,524
especificación y diseño de procesos, 543 de calidad estadística, 141- 142
Serie de métricas CK, 425-430
evaluación de procesos, 543 Servicios, 347
de gestión de herramientas (SGH), 567
identificación de procesos, 543 Servidor(ores). Véase también Sistemas cliente/servidor (C/S)
de aplicación, 494
modelo, 543 de archivos, 493
de bases de datos, 493,501-502
principios, 542-543 de conferencia, 501
de correo, 494,501
refinamiento e instanciación, 543 dedicados, 506
de impresión, 494
del software, 544-545, 555 de monitorización, 502
de objeto, 494
modelo de procesos, 545-547 pesado, 509
de software de grupo, 493-494
Relaciones, 202-203,296 Web, 494,501
Shaw, M., 226,238
reflexivas, 296 Shepperd, M.J., 425
Shingo, S., 145
Repetición, 274-275 Shneiderman, B., 259
Shooman, M.L., 305
Representación de Simetría, 296
Similitud, 424
datos, 278 Simplicidad, 284, 325
Simulación del sistema, 168
estados, 375-376 Sistema(s)

Requisitos basados en Web
análisis, 527
directrices de representación, 194 formulación, 526-527

esperados, 186 de bases de datos orientados a objetos (SBDOO), 344 www.elsolucionario.net
de clasificación de cinta transportadora (SCCT), 81, 176-177
innovadores, 186 cliente/servidor (C/S), 27, 5 18. Véase también servidores

normales, 186 categorías, 493-494
componentes software, 509-512
Resolución de problemas, de gestión, 40 descripción, 49 1
diseño, 5 13-5 16
Responsabilidades, 368, 369-370 enlazado, 5 11
ingeniería del software, 5 12
Respuesta para una clase (RPC), 426 modelos, 492-493
pruebas, 300, 5 18,565
Reusabilidad (capacidad de reutilización), 82-83, 325 complejos, 166
de desarrollo de la interfaz de usuario (SDIU), 268
Reutilización, 364,482-484 definición, 166
distribuidos, 492-497
aprovechamiento de, 486
compartimento de recursos, 492
de componentes, 482-484 diseño de, 504
rendimiento, 492
economía, 484-485 tolerancia a fallos, 492
de tiempo real, 207
entorno, 484
extensiones
métricas, 486 Hatleypirbhai, 208-209
Wardbíellor, 207-208
Revisión(ones)
pruebas, 300-301
de configuración, 3 16 Sitaram, P., 27
Sobrecarga, 350
estructurada i & ~ ~ Re e. visiones técnicas formales (RTF) Sockets (Conexiones), 502
Software, 166
técnicas formales (RTF), 10, 137

construcción, 3 10

descripción, 138-139

directrices, 140-141

informe, 140

registro, 140

reunión, 139

Riesgo utilización, 310

\

análisis, 25, 46, 107, 562
características, 98
componentes, 100-101
conocido, 99
controladores, 100-101
definición, 97
estimación, 101-104
evaluación, 100-101, 103-104

de la tecnología, 119
identificación, 99- 101
negocio, 98-99
proyecto, 98
reactivo frente a proactivo, 98
refinamiento, 104
seguridad, 106
del soporte, 101
Rissman, M., 477
Robinson, H., 145
Roche, J.M., 328
Ross, D., 200
Rumbaugh, J., 362,366,373,382,387

600

www.elsolucionario.net
.

fNDlCE DE MATERIAS

Software (Cont.) Técnica@) www.elsolucionario.net
aplicación, 514 de cuarta generación, 30, 193
aplicaciones, 6-8 de modelado de objetos (TMO), 382
basado en Web, 8 para facilitar las especificacionesde la aplicación ( T E A ) ,
calidad, 221 80, 184-186(11.2.2.)
características, 4-6
científico, 8 Tecnología(s),506, 577-578
de computadora personal, 8 infraestructura, 231
desarrollo, 5 de objetos, 28
descripción, 3 del proceso, 31,38
crisis en, 8
curvas de fallos, 6 Tiempo
de deterioro, 5-6 medio de fallo (TMDF), 143
ensamblador, 6 de respuesta del sistema, 267
evolución del diseño, 22 1
historia, 4-6 Tillmann, G., 203
insertado, 7
intermedio (middleware),494-495,509,5 11-512 Toffler, A., 4
ejemplo, 495
de inteligencia artificial, 7 Tolerancia al error, 325
de negocio, 6 Toxinas del equipo, 43
de prueba de errores, 145-146 Transmisión, 504
Quality Engineering (SQE), 564 Trazabilidad, 325
de sistema, 6, 563
en tiempo real, 6 tablas, 175
Tsai, W.T., 418
Sommerville, L., 172
Streeter, L., 44 Ullman, R.,321
Subclase, 346
Subcontratación (outsourcing),94, 534,535 Usabilidad, 64,326
Subsistemas, 387-388,430 Usuario final, 39

aplicación, 509,510-511 Vaguedaz, 437
asignación, 385 Validación, 306
enlazado de software C/S, 5 11
gestión de bases de datos, 509 criterios, 195
interacciÓn/presentaciÓn de usuario, 509 requisitos, 174
Sucesión, 274,275 Valor de selección del conjunto de tareas, cálculo, 117-118
Suficiencia, 424 interpretación, 119
Superclase, 346 Van Vleck, T., 320
Variabilidad, 267
Tabla de Variantes, 155-155
activación de procesos, 209 Verificación, 306,464-467
decisión, 276 de corrección, 461
símbolos, 438-439 de lógica, 278
Visibilidad, 424
Tai, K.C., 292 Visión esencial, 191-192
Talbot, S., 4 Vista
Tamaño del entorno, 364
de implementación, 191-192
clase (TC), 426-427 Volatilidad, 424
medio de operación (Tomedio)5, 28
Tareas Ward, P.T., 207
de adaptación, 25 Warnier-Orr, J., 227
asignación de tiempo, 114 Wasserman, A., 223
compartimentalización, 114 Weinberg, G.M., 79, 137, 183
concurrentes, 385 Weinberg, J., 40
de construcción, 25 Whitmire, S., 423
hitos definidos, 114 Wilkens, T.T., 125
interdependencia, 114 Wirf-Brock, R., 363, 369, 370, 382
productos definidos, 114 Wirth, N., 224
prueba, 300-301
refinamiento, 120-121 Yourdon, E., 4, 311, 346, 352, 362-363,382-386, 387
responsabilidades definidas, 114
selección, 119-120 Zhao, J., 245
validación de esfuerzo, 114
Zultner, R.,70

601

www.elsolucionario.net
http://libreria-unive.rsitaria.blogspot.com

www.elsolucionario.net


Click to View FlipBook Version