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

Ingeniería de software aspectos fundamentales

Mike14kTrabajo29 de Mayo de 2020

4.104 Palabras (17 Páginas)111 Visitas

Página 1 de 17

[pic 1]

[pic 2][pic 3]


ÍNDICE

INTRODUCCIÓN…………………………………………………………………………………...............2

COMPLEJIDAD DEL SOFTWARE…………………………………………………………..............3

  • COMPLEJIDAD DEL DOMINO DEL PROBLEMA………………………………………………3
  • LAS LIMITACIONES DE LA CAPACIDAD HUMANA………………………………...........4
  • LA POSIBLE FLEXIBILIDAD DEL SISTEMA……………………………………………….......4
  • EL COMPORTAMIENTO DE LOS SISTEMAS DISCRETOS………………………..........4
  • DIFICULTAD DE GESTIONAR EL PROCESO DE DESARROLLO………………………4

RECURSOS DE SOFTWARE EN SISTEMAS COMPLEJOS…………………………..........5

CARACTERISTICAS RELEVANTES DE UN SISTEMA DE SOFTWARE……….........6

  • TAMAÑO…………………………………………………………………………………………………............6
  • VIDA ÚTIL…………………………………………………………………………………………………..........6
  • INFORMACIÓN MANIPULADA……………………………………………………………………7
  • ESTRUCTURA INTERNA…………………………………………………………………………............7
  • PRESTACIONES………………………………………………………………………………………............8

INGENIERÍA DE LOS SISTEMAS DE SOFTWARE………………………………………………8

MODELOS DE CICLO DE VIDA: ÁNALISIS COMPARATIVO……………………………9

  • MODELO EN CASCADA…………………………………………………………………….......9
  • MODELO INCREMENTAL………………………………………………………………........11
  • MODELO DE SÍNTESIS AUTOMÁTICA………………………………………….........13
  • MODELO EN ESPIRAL……………………………………………………………………………14

CONCLUSIÓN……………………………………………………………………………………………………17

BIBLIOGRAFIA………………………………………………………………………………………...........18

INTRODUCCIÓN

Actualmente la palabra software está en boca de muchas personas en muchos ámbitos laborales e industriales. Software es algo que está presente en computadores, teléfonos inteligentes, en todo equipo electrónico que tenga que procesar información para realizar una tarea específica y que conlleve a la resolución un problema o problemas específicos.

Pero ¿qué es software?, es un conjunto de programas, instrucciones y reglas informáticas que permiten ejecutar distintas tareas en el hardware de un computador, el software vendría siendo el equipamiento intangible del computador.

Software significa literalmente “partes blandas”, este despliega para su uso en un hardware que su significado viene del inglés que significa “partes duras”. Cuando empieza su funcionamiento en el hardware podemos apreciar un producto software.

La sociedad actual es dependiente del software para llevar a cabo la realización de sus labores. La tarea de un desarrollador de software es dar la impresión de simplicidad al cliente-usuario, algo así como “presione este botón y sus problemas estarán solucionados” cuando en realidad detrás de ese simple proceso de apretar un botón existen procesos y protocolos de gran complejidad.

En este informe se muestra información acerca de lo que es la complejidad y las limitaciones que acarrea para los desarrolladores de software, un vistazo acerca de las características de un sistema de software además de los modelos de ciclo de vida del mismo.

Deseo que este escrito sea informativo y de utilidad.  

LA COMPLEJIDAD DEL SOFTWARE

El software es complejo de forma innata, (propia, natural, congénita, no adquirida) la complejidad del software es una propiedad esencial, no accidental.

La complejidad de los sistemas excede frecuentemente la capacidad intelectual humana. La complejidad toma a menudo formas de una jerarquía y ésta, y otras propiedades, nos ayudan a atacar la complejidad. Cuanto más complejo sea un sistema, más abierto está al derrumbamiento total. Si no dominamos la complejidad, podemos llegar a:

  • Proyectos retrasados.
  • Excesos en el presupuesto.
  • Productos deficientes respecto a los requerimientos fijados.
  • Desperdicio de recursos humanos.

Los 5 problemas propios de la complejidad de los sistemas de software son:

  1. La complejidad del dominio del problema.
  2. Las limitaciones de la capacidad humana.
  3. La posible flexibilidad a través del software.
  4. El comportamiento de los sistemas discretos.
  5. La dificultad de gestionar el proceso de desarrollo.

1-La complejidad del dominio del problema.

Los problemas que se intentan resolver presentan una cantidad muy grande de requisitos que compiten entre sí e incluso se contradicen. Existen problemas cuya funcionalidad incluso es difícil de comprender como es el caso del sistema operativo de un avión multimotor o un robot autónomo. La complejidad surge de las grandes dificultades que tienen los usuarios de poder expresar con precisión sus necesidades y los desarrolladores de no conocer el dominio del problema. Una complicación adicional es que los requisitos de un sistema software cambian frecuentemente (ley del cambio continuo, ley de la complejidad creciente) durante su desarrollo (volatilidad de requisitos) y es preciso seguir su evolución.

2-Las limitaciones de la capacidad humana.

Experimentos realizados por psicólogos, tales como los de Miller, sugieren que el número máximo de piezas de información que un individuo puede comprender al mismo tiempo es del orden de siete, más o menos dos. Esta capacidad de canal parece estar relacionada con la capacidad de la memoria a corto plazo.

Según Simon, la velocidad de procesamiento es un factor limitante: la mente toma unos 5 segundos para aceptar una nueva pieza de información.

3-La posible flexibilidad del software.

Mientras que la industria de la construcción tiene códigos y estándares para la calidad de las materias primas de construcción uniforme, existen pocos de esos estándares en la industria del software. Como resultado, el desarrollo de software sigue siendo una empresa de trabajo intensivo.

4-El comportamiento de los sistemas discretos.

Dentro de una aplicación grande, puede haber cientos o incluso miles de variables, así como más de un hilo de control. Toda la colección de estas variables, sus valores actuales y su dirección actual y la pila de llamadas de cada proceso dentro del sistema constituyen el estado actual de la aplicación.

 Por desgracia, es absolutamente imposible para una sola persona realizar un seguimiento de todos estos detalles por lo complicado y laborioso que es.

Este es el problema de la caracterización del comportamiento de los sistemas complejos.

5-La dificultad de gestionar el proceso de desarrollo.

Es tarea del equipo de desarrollo de software ofrecer al usuario la ilusión de simplicidad, esto es, permitir realizar una función al usuario de manera simple ocultando los mecanismos reales complejos que conlleva la realización de dicha función.

El tamaño no es una gran virtud para un sistema de software. Se hace lo posible por escribir menos código mediante la invención de mecanismos ingeniosos y potentes que dan esta ilusión de simplicidad.

Sin embargo, a veces es imposible eludir el inmenso volumen de los requerimientos de un sistema y se plantea la obligación de o bien escribir una enorme cantidad de nuevo código o bien reusar código existente y aquí está la dificultad ya que es muy difícil tener en cuenta en todo momento los requerimientos y llevar el control de todas las líneas de código que puede llegar a tener el código.

RECURSOS DE 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. 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

...

Descargar como (para miembros actualizados) txt (30 Kb) pdf (406 Kb) docx (549 Kb)
Leer 16 páginas más »
Disponible sólo en Clubensayos.com