Sunteți pe pagina 1din 5

1

COTS
Jaramillo Rojas Ronny Xavier1 , Miño Figueroa Lenin David2 ,
Román Cabrera Bolı́var Andrés3 , Sanango Simbaña Edison Ubaldo4
1−2−3−4
Facultad de Ingenierı́a de Sistemas, Ingenierı́a en Sistemas Informáticos y de Computación
Escuela Politécnica Nacional, Quito, Ecuador.
{1 ronny.jaramillo, 2 lenin.miño, 3 bolivar.roman, 4 edison.sanango}@epn.edu.ec

Abstract—The present report deals with COTS components COTS son generales, no existen versiones personalizadas. Por
that through investigations in adequate sources, it was come tanto, no existe un detalle de requerimientos arduo, más bien,
to define and interpret its global definition. On the other se trata de implementar algo genérico.
hand, adding relevant concepts for this report as ’Component’,
’Implementation’ among others, give the guidelines to enter the
world of COTS. COTS components, in short and in computer Por razones como estas han sido aceptados dentro de la
or software areas, deal with all those software products or industria y comercialización, incluso se han podido adoptar a
services that are offered for sale but in a very accessible way exigencias gubernamentales y militares, esto se evidencia en
to the client, that is, they can interact with those who provide breves rasgos dentro de MIL-COTS. En MIL-COTS se hace
these products or services. These components, as is normal
in most software products and services, offer advantages and uso del mismo concepto de COTS normal pero aplicado al
disadvantages. Aspects that were very well interpreted by some campo militar.
multinational companies that adopted this way of marketing and
producing software. Finally, as a conclusion it was established, Por tal razón, este informe pretende ofrecer información
probable cases in which COTS components can cause a great resumida acerca de los componentes COTS, detallando
impact in the market or when it can provide profits.
aspectos sobre la forma en que este concepto opera a nivel de
productos y servicios de software. Por otra parte, se involucra
Index Terms—Componentes COTS, Comercialización de Soft-
conceptos que han sido desarrollados a través del tiempo,
ware, Productos y Servicios Software, Software fácil de acceder,
Software Engineering Institute, Clemens Szyperski, Componente, para brindar más ideas y soporte a este trabajo.
Término COTS, Hadware y Software, Crystal Group, rugerizan,
MIL, Trading, Calidad McCall, ISO, Arquitectra Software. Los temas mencionados anteriormente como su posterior
desglose y, la introducción a nuevos y necesarios conceptos
como ¿Qué es un componente? , las caracterı́sticas de COTS,
I. I NTRODUCCI ÓN
incluso aspectos como calidad y ventajas y desventajas de
Paulatinamente, con el desarrollo de la industria y en los mismos, se abordan más detalladamente en la sección de
especial la industria de software, los programas que se marco teórico. Posteriormente, se detallarán dos ejemplos de
creaban estaban enfocados en resolver problemas especı́ficos. empresas que se han enfocado en crear productos basados en
Desde antiguas computadoras con tamaños que cubrı́an COTS como son Microsoft y Tally.
habitaciones por completo hasta máquinas desarrolladas
para descifrar códigos de guerra. Por ende, se ha tratado
de implementar diferentes técnicas para crear una fácil y II. M ARCO T E ÓRICO
productiva forma de comercializar sus productos.
A. Definición de Componente
De igual manera, la comercialización de los productos, La definición de un componente por parte de Software
servicios y sistemas software ha sido un tema de debate. Engineering Institute (SEICMU) nos indica que es un
Surgieron importantes cuestionamientos acerca del modo de componente de software que responde a las siguientes
venta y de adquisición de los mismos. Por tal motivo, surgió caracterı́sticas: vendido, cedido o licenciado al público
COTS (Commercial Off-The-Shelf) o en español Componente general; ofrecido por un vendedor que trata de obtener un
o producto sacado del estante. Esto significa que cualquier provecho a partir de él; apoyado y evolucionado por el
producto, en este caso productos y servicios software, son vendedor, que retiene los derechos; disponible en numerosas
comercializados directamente en tiendas pequeñas, minoristas copias idénticas; usado sin modificación del código fuente [5].
y que en se encuentran al alcance del usuario.
Se tiene otra definición de Componente de Clemens
Últimamente, se ha realizado ventas en lı́nea. Esta forma de Szyperski el cual nos dice:
comercio de los productos y servicios posibilitan al usuario Un componente es una unidad binaria de composición de
final acceder a dichos productos ya que, es un método que está aplicaciones software, que posee un conjunto de interfaces y
al alcance inmediato. COTS también es interpretado como un un conjunto de requisitos, y que ha de poder ser desarrollado,
’producto fácil de usar’ esto debido a su forma de desarrollo adquirido, incorporado al sistema y compuesto con otros
y producción. Al momento, en que se lanza al mercado los componentes de forma independiente, en tiempo y espacio
2

[11]. de productos (hardware y software) [9].

Cheesman y Daniels nos ayudan en tener visiones diferentes Por lo que los militares en ese entonces necesitaron de
en las que puede encontrarse el término componente [9]. tecnologı́a para avanzar. Emplearon tecnologı́a de PC’S y
teléfonos móviles, ya que se fue militarizando. Empezaron
adaptar los estándares MIL y a una gran cantidad de normas
asociadas al entorno militar. Esta labor es el que realmente
se hace desde el Crystal Group, que “rugerizan” los elemen-
tos COTs hasta hacer que estos puedan ser empleados sin
problemas en entornos más complejos y que poseen unas
peculiaridades muy especı́ficas.

C. Partes de un Componente
En el Desarrollo Software Basado en Componentes, pueden
identificarse varias tareas especı́ficas para la construcción de
aplicaciones utilizando componentes COTS [7]:

• La búsqueda (trading) de componentes que satisfagan


los requisitos impuestos tanto por el cliente como por la
arquitectura de la aplicación.

• La evaluación de los componentes candidatos para


seleccionar los más idóneos.
Fig. 1. Formas en las que puede presentarse el término componente

• La adaptación y/o extensión de los componentes


• Especificación de Componente: seleccionados para que se ajusten a los requisitos
Representa la especificación de una unidad software que anteriores; y
describe el comportamiento de un conjunto de ”objetivos
de componente” y define una unidad de implementación. • La integración, configuración e interconexión de dichos
componentes para construir la aplicación final.
• Interfaz de Componente:
Es una definición de un conjunto de comportamientos
Con esto, se puede dar paso a comprender lo que son
que pueden ser ofrecidos por un componente.
realmente los componentes COTS.
• Implementación de Componente:
COTS es descrito como software que:
Es la realización de una especificación de componente
que puede ser implantada, instalada y reemplazada de 1) Existe a priori, posiblemente en repositorios.
forma independiente en uno o más archivos y puede 2) Está disponible al público en general.
depender de otros componentes. 3) Puede ser comprado o alquilado.

• Componente Instalado: D. Caracteristicas


Es una copia instalada de una implementación de El Componente COTS tiene una gran diversidad de
componente. parámetros que lo caracteriza, pero existen dos que son los
más tomados en cuenta [9]:
• Objeto Componente:
Es una instancia de un ”Componente Instalado”. Es
• No es posible modificar o tener acceso al código.
un objeto con su propio estado e identidad única y
que lleva a cabo el comportamiento implementado. Un
• Se puede instalar en distintos lugares y por distintas
”Componente Instalado” puede tener múltiples ”Objetos
organizaciones, pero ninguna puede tomar el control
Componente” o uno solo.
sobre la evolución del componente Software .

La calidad de un componente COTS, visto como un


B. Término COTS producto software, la tenemos que referenciar en los
El término COTS, surge desde el Ministerio de Defensa estándares ISO-9126 e ISO-14598. El estándar ISO/IEC 9126
de los Estados Unidos. En los años 90, en junio de 1994 el proviene desde el modelo establecido en 1977 por McCall y
secretario William Perry, ordenó hacer el máximo uso posible sus colegas, los cuales propusieron un modelo para especificar
de especificaciones y estándares comerciales en la adquisición la calidad del software. El modelo de calidad McCall está
3

organizado sobre tres tipos de Caracterı́sticas de Calidad [5]: durante la fase de diseño de la arquitectura software [4].

• Factores (especificar): Por otro lado, desde el punto de vista de la arquitectura


Describen la visión externa del software, como es visto software y dada la gran relación que con ella tienen los
por los usuarios. componentes, es destacable el tratamiento que da Bass [2]
a los atributos de calidad dentro de la arquitectura software.
• Criterios (construir): Desde el punto de vista de los componentes podemos
Describen la visión interna del software, como es visto pensar si un atributo está relacionado con un componente
por el desarrollador. como entidad independiente, o bien, está relacionado con la
arquitectura software.
• Métricas (controlar):
Se definen y se usan para proveer una escala y método Bass divide los atributos de calidad en los que son aplicables
para la medida. al sistema en ejecución (p.e. rendimiento, usabilidad); los que
son aplicables a las tareas de desarrollo o mantenimiento,
ISO/IEC 14598 provee métodos para las mediciones y es decir, durante el ciclo de vida (p.e. Mantenibilidad,
evaluaciones de la calidad de un producto de software. portabilidad); los que tienen relación con el entorno
No describen ni los métodos para evaluar los procesos de comercial del producto (p.e. coste, tiempo de vida previsto
producción del software ni los métodos de predicción de del sistema); y, los que se aplican a la arquitectura software
costos. Además dan una vista de los procesos de evaluación directamente (p.e. integridad conceptual, construibilidad) [3].
de un producto de software, proveen guı́as y requisitos de
evaluación y dan una explicación de cómo el modelo de Algunos autores discuten algunas de estas caracterı́sticas,
calidad puede ser aplicado en la evaluación de un producto por ejemplo Basili y Boehm (2001) consideran que incluso si
de software [10]. las copias no son idénticas, hablamos de componentes COTS
[6].
En concreto, la norma ISO 9126 define un modelo
general de calidad basado en seis caracterı́sticas principales
(funcionalidad, fiabilidad, facilidad de uso, eficiencia, III. D ESARROLLO
Mantenibilidad y portabilidad), que a su vez se refinan en En definitiva, un sistema basado en COTS cambia
21 sub-caracterı́sticas [1]. Aunque este modelo de calidad el enfoque de la ingenierı́a de software en cuanto a la
es bastante completo, presenta dos problemas principales. especificación y construcción de un sistema tradicional
El primero es la falta de precisión en la definición de tales hacia uno que requiere diversas consideraciones de manera
caracterı́sticas, mientras que el segundo se debe a que no simultánea dependiendo del contexto del sistema, de las
todas esas caracterı́sticas y sub-caracterı́sticas son aplicables capacidades de productos en el mercado, de diseños y de
a componentes software [8]. arquitecturas viables. En estos sistemas:

• El comprador no tiene acceso al código fuente del pro-


E. Ventajas ducto.
1) El software es desarrollado con la idea que va ser • El desarrollador y/o vendedor tiene control sobre el
aceptado por el cliente tal cual se lo crea. desarrollo del producto.
2) Es más barato comprar un producto comercial, que • No hay una base no trivial instalada, es decir, existe más
desarrollar desde cero un producto Software. de un comprador y más de una copia del producto.
3) Es posible integrar más fácil nuevas tecnologı́as y
nuevos estándares. Como ejemplo de este tipo de software están: servicios
de correo electrónico como Gmail, Microsoft Outlook, etc.
F. Desventajas Aplicaciones software para contabilidad tales como Sage,
Tally, etc. Antivirus de paga disponible para el público en
1) Los desarrolladores no pueden modificar el código
general tales como Norton Security o ESET NOD32. En fin,
fuente, para cambiar la funcionalidad del componente.
existe una gran cantidad de sistemas software basados en
2) No tiene alianzas con ninguna especificación de inter-
COTS disponibles en el mercado. A continuación se discute
faces, comportamiento, de los protocolos de interacción
uno de los productos software basados en COTS cuyo uso se
con otros componentes.
ha extendido a lo largo de los años: Microsoft Office.

G. Discusión Microsoft Office es una suite de aplicaciones desarrolladas


Jan Bosch en el ámbito de la arquitectura software, y publicada por Microsoft. La primera versión publicada
propone incluir la valoración de los requisitos de calidad para por Microsoft salió a la luz el 19 de Noviembre de 1990
una arquitectura, y no sólo la valoración de los requisitos conteniendo las siguientes aplicaciones:
funcionales. Estos requisitos de calidad se deben valorar
4

• Microsoft Word: Se denota como un procesador/editor Al igual que Microsoft Office, este producto software
de texto, aunque ya habı́a sido publicado en conjunto con también se distribuye al público mediante el cobro de
sistemas operativos desarrollados por Microsoft, fue con licencias según las necesidades de los clientes. Entre estas se
el lanzamiento de Office que su uso se extendió. incluyen: plata el cual está destinado para el uso del producto
• Microsoft Excel: Concebida como una hoja de software en un único computador para un único usuario y
cálculo que permite realizar una serie de operaciones oro el cual está destinado para el uso del producto software
matemáticas, al igual que Microsoft Word, se habı́an pub- por parte de múltiples usuarios en múltiples computadores
licado versiones previas en conjunto con ciertos sistemas mediante el uso de una red LAN.
operativos de Microsoft.
• Microsoft PowerPoint: Aplicación empleada para la Los usuarios pueden gestionar los aspectos financieros
creación de presentación con base en la secuenciación de la organización en múltiples computadores de manera
de diapositivas conformadas por texto, imágenes, etc. simultánea.
Según la documentación del software Tally.ERP 9, este posee
diversas caracterı́sticas de entre las cuales se encuentran:
Este producto de Microsoft es uno de los ejemplares más
reconocidos a nivel mundial a dı́a de hoy. Esto en parte
por ser un sistema basado en COTS conjuntamente con los • Simplicidad: Su instalación y usos son sencillos.
sistemas operativos que Microsoft ha producido a lo largo de Únicamente requiere conocimiento del campo financiero
los años aumentando su disponibilidad y accesibilidad para e inglés.
usuarios en general. • Rapidez: Permite gestionar la productividad de la em-
presa y generar reportes de manera instantánea.
Este producto se adapta a las necesidades de una gran • Poder: Permite al usuario mantener múltiples empresas
cantidad de usuarios quienes únicamente tienen acceso al y con niveles ilimitados de clasificación y capacidades de
producto para su uso práctico sin la posibilidad de acceder al agrupación.
código fuente dado que, al ser un producto basado en COTS, • Flexibilidad: Proporciona flexibilidad para generar in-
Microsoft conserva los derechos de propiedad intelectual del formes instantáneos para cualquier perı́odo dado.
mismo. Está disponible tanto para uso doméstico, es decir, • Escalabilidad: Se adapta a cualquier estilo de necesi-
usuarios y público en general, para empresas u organizaciones dades empresariales y elimina la necesidad de que una
y para el ámbito educativo. empresa cambie su estilo de operación.
• Procesamiento en tiempo real: Permite la publicación
inmediata y actualización de libros de cuentas tan pronto
Actualmente, el coste para la adquisición de este producto
como las transacciones se introducen, facilitando de este
se rige en función del tipo de usuario por lo que Microsoft
modo las declaraciones instantáneas y los informes.
ofrece diversos planes según el adquisidor. El uso extensivo
de Microsoft Office ha permitido que la compañı́a desarrolle
muchas más versiones desde su lanzamiento inicial dado Como los sistemas basados en COTS son aquellos
que, basándose en COTS, tanto los requerimientos, mercado, que dominan el mercado comprendido por el público en
arquitectura y diseño convergen en una misma definición. general, los proveedores de productos existentes trabajan
para diferenciar su producto de los de los competidores.
Esto conduce a un mercado caracterizado por una amplia
Algunas caracterı́sticas han cambiado para que tanto
gama de productos y declaraciones de productos, calidad
usuarios como vendedores amplien sus posibilidades de
extrema y diferencias de capacidad entre productos y muchas
uso. Su evolución ha sido tal que Microsoft Office no
incompatibilidades de productos, incluso cuando pretenden
cuenta únicamente con las tres aplicaciones mencionadas
adherirse a los mismos estándares.
anteriormente, sino que actualmente, la suite está conformada
por más de siete aplicaciones entre las cuales se encuentran:
Para las organizaciones que diseñan e implementan un sis-
Microsoft Access, Microsoft Outlook, Microsoft OneNote,
tema basado en COTS, o que actualizan un sistema heredado
Microsoft Publisher, Microsoft Project, Microsoft Teams y
con componentes COTS, el estado actual del mercado presenta
Microsoft Visio.
varios desafı́os por lo cual estos sistemas pueden concebirse
como unos de los más riesgosos y/o complejos.
Otro sistema basado en COTS es Tally.ERP 9. Este
software, desarrollador por la empresa india Tally Solutions,
es un gestor de inventario, contabilidad, manejo de impuestos IV. C ONCLUSIONES
y demás elementos comprendidos dentro del campo contable Después de haber analizado las diferentes caracterı́sticas
y financiero de una organización. Tally Solutions, al tener de los sistemas basados en componentes COTS, se puede
los derechos de propiedad intelectual, proveen a los usuarios decir que la construcción de este tipo de software se orienta
únicamente del producto software dado que es la misma al mercado y a venderse masivamente, y esto puede ser una
empresa desarrolladora la que se encarga de dar soporte a los gran ventaja o desventaja, ya que los usuarios del mismo
usuarios. producto cuentan con interfaces estandarizadas, mientras que
los usuarios de otros productos de software van a enfrentarse
5

con este problema, y no se podrán hacer colaboraciones entre [5] Lisa Brownsword, Patricia Oberndorf, and Carol A.
distintas empresas que implementen diferentes componentes Sledge. “Developing New Processes for COTS-Based
debido a la diferencia en la implementación a nivel de sistema Systems”. In: Software, IEEE 17 (Aug. 2000), pp. 48
de cada componente. –55. DOI: 10.1109/52.854068.
[6] Selección De Componentes, Juan Pablo Carvallo, and
Además, los productos que son comerciales hacen a un lado Xavier Franch. OFF-THE-SHELF.
la implementación de funciones especı́ficas de los usuarios, [7] C Dean, Cd Dr, and Mark Vigder. “System Implemen-
haciendo que el software personalizado sea muchı́simo más tation Using Commercial Off-The-Shelf Software”. In:
costoso, a nivel empresarial, esto puede representar cierto (Mar. 2002).
beneficio ya que todos los usuarios van a contar con los [8] Wilfred J Hansen. “A generic process and terminology
mismos estándares. for evaluating COTS software”. In: Proceedings of
TOOLS. Vol. 30. 1999, pp. 547–551.
Debido a la envergadura de los sistemas comerciales, sus [9] Urquı́a Sigcha and Marı́a Gabriela. “Uso de compo-
licencias reducen el costo porque se venden a un sinnúmero nentes comerciales cots en el desarrollo de aplicaciones
de usuarios representando severas ganancias para las empresas de software”. B.S. thesis. QUITO/EPN/2006, 2006.
desarrolladoras de software. [10] I.O.F.O.R. STANDARDIZATION. International Stan-
dard ISO/IEC 14598-1: Information Technology - Soft-
Al ser este tipo de sistema propuesto por el Departamento ware Product Evaluation - Part 1: General Overview.
de Defensa de los Estados Unidos, se buscó la estandarización 1999. URL: https : / / books . google . com . ec / books ? id =
de los sistemas de software gubernamentales con la finalidad ecHvZwEACAAJ.
facilitar los procesos internos del gobierno, intención que se [11] Clemens Szyperski. Component Software: Beyond
extendió a través del tiempo a las empresas de software que Object-Oriented Programming. 2nd. Boston, MA, USA:
nacı́an en ese tiempo. Addison-Wesley Longman Publishing Co., Inc., 2002.
ISBN : 0201745720.
Existen varias implicaciones del uso de sistemas basados
en COTS, ya que cuando existen fallas de seguridad
absolutamente toda la información que contiene el sistema
se verá comprometida, y probablemente esta información sea
inherente a una organización completa.

Por lo que a través del tiempo se ha propagado esta


información haciendo que los sistemas pierdan su popularidad
y únicamente se usen para información no tan sensible,
volviendo a sistemas que no manejan información sensible
como Microsoft Office. También se pueden tener implica-
ciones de seguridad por parte de las empresas que producen
los componentes de software, ya que al ser los únicos que
manejan el código fuente de los productos de software puede
que existan filtraciones de seguridad por parte de los creadores.

R EFERENCES
[1] Motoei Azuma. “SQuaRE: the next generation of the
ISO/IEC 9126 and 14598 international standards series
on software product quality”. In: ESCOM (European
Software Control and Metrics conference). sn. 2001,
pp. 337–346.
[2] Len Bass, Paul Clements, and Rick Kazman. Software
architecture in practice. Addison-Wesley Professional,
2003.
[3] Manuel F Bertoa, José M Troya, and Antonio Vallecillo.
“Aspectos de calidad en el desarrollo de software basado
en componentes”. In: Capı́tulo do livro: Calidad en el
desarrollo y mantenimiento del software (2002).
[4] Jan Bosch. Design and use of software architectures:
adopting and evolving a product-line approach. Pearson
Education, 2000.

S-ar putea să vă placă și