Complejidad De La Ingenieria Del Software
La tecnología orientada a objetos y la ingeniería de software ante
la complejidad inherente al software
Como sugiere Brooks. “la complejidad del soft-
co completo, ya sea para administrar una empresa,
ware es una propiedad esencial, no accidental”[1]. La
para controlar un proceso industrial, o para uso do-
complejidad de los sistemas informáticos hace a ve-
méstico, elsoftware es lo que marca la diferencia . El
ces necesario el desarrollo de proyectos software de
desarrollo de software no es una tarea fácil, su com-
decenas de miles de líneas de código. Esto no puede
plejidad inherente se deriva de cuatro elementos: la
ser abordado directamente, empezando a programar
complejidad del dominio del problema, la dificultad
sin más. Es necesarioanalizar qué es lo que tenemos
de administrar el proceso de desarrollo, la flexibilidad
que hacer, cómo lo vamos a hacer, cómo se van a
que se puede alcanzar a través del software y los pro-
coordinar todas las personas que van a intervenir en
blemas que plantea la caracterización del comporta-
el proyecto y cómo vamos a controlar el desarrollo del
miento de sistemas discretos[2].
mismo de forma que al final obtengamos los resulta-
El desarrollo de software es una actividad muy re-
dos esperados. Las metodologías convencionales de
ciente (apenas tiene 50 años), comparada con otras
Ingeniería de Software tienen mecanismos robustos
actividades de ingeniería (vgr. la ingeniería civil o in-
para hacer un análisis de necesidades y diseño de los
clusola ingeniería eléctrica). Es aún más reciente la
sistemas, poco han evolucionado con la tecnología en
Ingeniería de Software, disciplina que se encarga de es-
lo relacionado con el diseño computacional. Este tra-
tablecer un método en el desarrollo de sistemas. Exis-
bajo propone la inclusión de la tecnología orientada
ten métodos de desarrollo de software como el clásico,
aobjetos, en todas las etapas del ciclo de desarrollo
espiral, cascada, etc., sin embargo, en los últimos
del sistema, para disminuir la complejidad. Al llegar
años la tecnología orientada a objetos se ha desarro-
a la implementación, los resultados obtenidos se
llado en diferentes segmentos de la ciencia de la com-
transcriben al lenguaje de programación elegido, cam-
putacióncomo un medio para manejar la complejidad
biando la sintaxis en que se expresa el modelo, mas
inherente a los sistemas de muy diversos tipos. La pre-
no la semántica.
gunta es , ¿Cómo puede ayudar la tecnología orien-
Introducción.
tada a objetos a disminuir la complejidad inherente
al software?.
La situación actual en los sistemas informáticos se
caracteriza por una rápidaevolución de los compo-
Complejidad del dominio del problema
nentes del hardware, que incrementan continuamen-
Cuando los problemas del mundo real se desean
te su potencial e incluso disminuyen sus precios,
resolver con modelos de sistemas computacionales,
junto con una fuerte tendencia a la estandarización
trae consigo una cantidad indefinida de requisitos que(computadoras personales, estaciones de trabajo con
compiten entre sí y algunas veces se contradicen. Dar
sistema operativo UNIX, sistemas distribuidos funcio-
funcionalidad a un sistema es difícil e incluso com-
nando sobre plataformas heterogéneas, etc.). Hoy en
prender los requerimientos como: facilidad de uso,
día existe una gran diversidad de marcas y modelos
rendimiento, costo,capacidad de supervivencia, fia-
con atributos y precios similares. En este escenario,
bilidad, son parte de la complejidad externa que in-
el potencial de las grandes computadoras de las dé-
fiere determinantemente en la complejidad interna
cadas pasadas está hoy disponible en una minicom-
del sistema.
putadora e incluso en una computadora personal. El
software es el...
Regístrate para leer el documento completo.