ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Dicc De Datos


Enviado por   •  2 de Agosto de 2014  •  2.728 Palabras (11 Páginas)  •  142 Visitas

Página 1 de 11

La complejidad de los sistemas de software

Según Grady Booch, la complejidad de los sistemas de software se deriva de cuatro elementos:

• Complejidad del dominio del problema: Los problemas que se intentan resolver son inherentemente complejos, con una gran cantidad de requisitos que compiten entre sí. Por ejemplo esto se produce cuando el cliente trata de explicar al desarrollador del sistema lo que el necesita, ya que los dos hablan lenguajes diferentes. el cliente le cuesta mucho dar con precisión los requerimientos que el necesita al programador. En casos muy extremos, el cliente tiene una débil idea de lo que quiere que contenga el software.

• La dificultad de gestionar el proceso de desarrollo: Los desarrolladores de software enfrentan el reto de dar a los usuarios la impresión de simplicidad, esto es reducir al mínimo la complejidad externa. Este reto les obliga a incrementar el tamaño de los sistemas, a inventar mecanismos ingeniosos, o a reutilizar diseños y código ya existentes. La escritura del software o el desarrollo del software requiere de una escritura amplia, en grandes cantidades, y si hay un software anterior mucho mejor ya no mas se toman las bases del mismo, pero para poder realizar esto se necesita a varios programadores que intervengan en el desarrollo, pero también se necesita que este equipo de desarrolladores sea lo más pequeño posible, porque después vienen las complicaciones.

• La posible flexibilidad a través del software: La elaboración de software es una actividad muy laboriosa porque empuja al desarrollador a construir por sí mismo prácticamente todos los bloques fundamentales sobre los que se apoyan las abstracciones de más alto nivel. Esto es propiciado, en gran medida, por la existencia de pocos estándares para el control de calidad. El software desarrollado debe ofrecer flexibilidad para poder expresar cualquier tipo de abstracción. Los sistemas orientados a objetos ofrecen esta flexibilidad, además rendimiento y la funcionalidad requerida para la implementación práctica.

• Los problemas de caracterizar el comportamiento de sistemas discretos: Los comportamientos de la mayoría de los objetos se representan por sistemas analógicos en los que, a través de funciones continuas, pequeños cambios en las entradas siempre producen pequeños cambios en las salidas.

Por el contrario, puesto que el software se ejecuta en computadoras digitales, se tienen sistemas con un número finito de estados discretos. En sistemas grandes, este número puede crecer a cantidades enormes. Como no existen herramientas matemáticas para modelar el comportamiento completo de los grandes sistemas discretos, se debe aceptar la pérdida de cierto grado de confianza en cuanto a que las salidas sean correctas.

Recursos de Software de sistemas complejos

Blanchard considera que un sistema es “una combinación de recursos (como seres humanos, materiales, equipos, software, instalaciones, datos, etc.) integrados de forma tal que cumplan una función específica en respuesta a una necesidad designada de un usuario”. No sólo incluye los recursos utilizados directamente en el cumplimiento de la misión (esto es, equipo principal, software operativo, personal usuario), sino también los diferentes elementos del apoyo (como por ejemplo: equipos de apoyo y prueba, repuestos y requisitos relacionados de inventario, personal de mantenimiento e instalaciones). Esta es una definición genérica que incluye todo tipo de sistemas. Desde sistemas en los que no existen «recursos software» hasta aquellos otros en los que ésos son los elementos fundamentales para conseguir la funcionalidad pretendida. Llamamos recurso software a un programa o conjunto de programas ejecutables que proporcione algunas de las funciones requeridas por el sistema.

Desde esta perspectiva tan amplia, un sistema se considerará como sistema de software cuando sus recursos software constituyan su elemento básico y la fuente de su funcionalidad básica. Dicho de otro modo, cuando en el proceso de desarrollo sean los recursos software los que determinan el proceso general de desarrollo de todo el sistema y cuando su ejecución pueda realizarse sobre una plataforma hardware genérico. La complejidad de un sistema tal y como queda descrito a partir de la definición de Blanchard depende no sólo de las múltiples interacciones entre los recursos de que consta sino también de la forma en la que puede evolucionar en respuesta a las necesidades del entorno. Pues bien, el control de la complejidad de un sistema depende generalmente de las funciones dependientes de sus recursos software y de como éstas se adapten al mundo externo.

En este caso se trata sobre los sistemas de software complejos entendidos como aquellos cuyo desarrollo no es abordable por una única persona y en los que no existe seguridad absoluta de que se han implementado fielmente los requisitos exigidos por el usuario ni de que se ejecuta correctamente. La ingeniería de sistemas de software pretende, justamente, incrementar esta seguridad durante el proceso de desarrollo hasta alcanzar un nivel de confianza similar al existente en otras ingenierías.

Características de los sistemas de Software complejos

Las características más relevantes de los sistemas de software complejos son las siguientes:

a) Tamaño: Intuitivamente todos suponemos que el tamaño condiciona el desarrollo de un sisma. Más difícil es acotar el concepto de tamaño y caracterizar en función de él los sistemas actuales.

La primera decisión reside en determinar en que se aplica el concepto de tamaño. Durante mucho tiempo y aun este concepto se aplica al código fuente (escrito en un lenguaje de programación utilizado por el implementador).

El tamaño final del sistema de software ha sido también empleado para conocer los requisitos de infraestructura de ejecución o comunicación y por comparación con otros sistemas, aspectos de presentaciones en tiempos de ejecución.

No obstante lo anterior, en el desarrollo de un sistema de software en el que hayan empleado generadores de código (programas especializados que, a partir de una especificación de muy alto nivel de lo que el usuario desea, son capaces de generar código fuente en lenguaje de programación convencional) en el proceso de construcción el tamaño no puede emplearse como una medida relativa del esfuerzo necesario. Si el código es parcialmente generado de forma automática, el esfuerzo del diseñador se desplaza hacia el diseño o la especificación de requisitos del sistema.

b) Vida útil: Aun hoy día, muchos

...

Descargar como (para miembros actualizados)  txt (18 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com