COMPLEJIDAD DE LOS SISTEMAS DE SOFTWARE Y MODELOS DE CICLO DE VIDA
Enviado por diliaros • 2 de Febrero de 2014 • 6.829 Palabras (28 Páginas) • 2.229 Visitas
INTRODUCCIÓN
La presente monografía servirá como guía para orientarnos a entender un poco la complejidad de los sistemas de software, si bien existen diversos sistemas, el sistema software se hace diferenciar debido a su complejidad, muchas personas que carecen de conocimientos en la materia podría interactuar con estos sistemas, ver sus resultados, saber lo que hacen, pero difícilmente podrían entender como lo hace, ni la interrelación de sus componentes para llevar a cabo distintas tareas. Por consiguiente veremos como el manejo adecuado de niveles de abstracción y la capacidad de moverse de un nivel a otro dentro de una tecnología de software constituye la base que le permite a los sistemas de software complejos su desarrollo. Antes de entrar al desarrollo del presente trabajo debemos saber que no existe un modelo de ciclo de vida único que el tipo, orden y actividades en cada fase pueden cambiar adaptándose a las necesidades del producto a realizar y a la estructura de la organización que lo desarrolla a partir de las posibilidades que ofrece la tecnología de software empleada. Más adelante veremos algunos modelos de desarrollo de siclos de vida de forma más detallada.
ÍNDICE
PÁG.
INTRODUCCIÓN ………………………………………………………………. 2
COMPLEJIDAD DE LOS SISTEMAS DE SOFTWARE…………………….
EL PAPEL DE LOS RECURSOS SOFTWARE EN SISTEMAS
COMPLEJOS…………………………………………………………………….
INGENIERÍA DE SISTEMAS DE SOFTWARE……………………………...
MODELOS DE CICLO DE VIDA ……………………………………………..
Modelo En Cascada………………………………………………………
Modelo Incremental………………………………………………………
Modelo Basado en Prototipos Desechables……………………………..
Modelo Basado en Prototipado Incremental…………………………...
Meta-modelo en espiral………………………………………………….
Modelo De Síntesis Automatizada
CONCLUSIÓN………………………………………………………………….
BIBLIOGRAFÍA………………………………………………………………..
COMPLEJIDAD DE LOS SISTEMAS DE SOFTWARE
EL PAPEL DE LOS RECURSOS SOFTWARE EN SISTEMAS COMPLEJOS
Blanchard define un sistema como: 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 [1].
Desde una perspectiva más 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érica. Un sistema de software Implica una interacción con el contexto al que sirve que constituye el referente básico de su utilidad. Un sistema de software posee programas ejecutables pero también otros tipos de recursos (ficheros de datos, de documentación, etc.).
Debemos tener claro lo que son recursos software y la definición de programas ya que estos están inmersos en lo sistemas de software. Llamamos recurso software a un programa o conjunto de programas ejecutables que proporcione algunas de las funciones requeridas por el sistema. Como definición de programa tenemos que un programa es un algoritmo codificado junto con unas estructuras de datos. Algunas veces se emplea el término paquete ejecutable para referirse a un conjunto de programas que se necesitan mutuamente durante la ejecución del sistema y que deben distribuirse conjuntamente al usuario final.
La complejidad de un sistema 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.
La ingeniería de sistemas de software pretende, justamente, incrementar la seguridad absoluta de que se han implementado fielmente los requisitos exigidos por el usuario y de que el sistema se ejecuta correctamente, esta seguridad debe existir durante el proceso de desarrollo hasta alcanzar un nivel de confianza similar al existente en otras ingenierías.
Desde el punto de vista del diseñador y operador humano se conjugan, por tanto, dos propiedades que actúan como una espada de Damocles durante toda su vida útil: la incertidumbre de lo que realmente harán y la ignorancia en cómo lo consiguen. Reducirlas y dominarlas ha constituido la directriz básica en la evolución de la Ingeniería Software durante el último cuarto de siglo.
INGENIERÍA DE SISTEMAS DE SOFTWARE
La ingeniería de sistemas se define en Blanchard como la aplicación efectiva de esfuerzos científicos y de ingeniería para transformar una necesidad operativa en una configuración definida de un sistema mediante el proceso iterativo de análisis de requisitos, la selección del concepto, y asignación, síntesis, soluciones de compromiso y optimización del diseño, prueba y evaluación [1]. Entre sus características se incluye su estructura de arriba-abajo que ve el sistema como un todo; una orientación del ciclo de vida que considera todas las fases desde el diseño conceptual hasta la retirada del sistema; un enfoque interdisciplinar «en equipo» que incluya todas las disciplinas adecuadas de diseño de forma oportuna y concurrente; y la necesaria integración para asegurar que todos los objetivos de diseño se han cumplido de forma efectiva y eficaz. Está orientada al «proceso» e incluye las provisiones esenciales de realimentación y control.
Deseamos introducir aquí una definición clásica de ingeniería de sistemas de software como contrapunto a la anterior. Pressman la define enfatizando aspectos concretos de calidad: "establecimiento y uso de principios de ingeniería robustos, orientados a obtener software económico que sea fiable y funcione de manera eficiente sobre máquinas reales" [2].
Pressman
...