Marco Teórico - SOFTWARE
Enviado por jz3lada • 9 de Noviembre de 2014 • 14.879 Palabras (60 Páginas) • 337 Visitas
1. Marco Teórico
1.1. Modelo de procesos Prescriptivos
1.1.1. Modelo de Cascada
Es un enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior, quizás el más ampliamente utilizado. De esta forma, se reduce mucho la complejidad de la gestión, ya que basta con no dar por terminada una etapa hasta que haya cumplido totalmente con sus objetivos. De esta forma, la siguiente puede apoyarse con total confianza en ella. A la hora, por ejemplo, de fijar plazos, se podrían establecer planes de una forma totalmente secuencial, quedando perfectamente delimitadas las responsabilidades de los equipos que desarrollen cada etapa.
En la realidad la aplicación de este modelo no suele ser tan radical. Aunque se intenta conseguir la mayor secuencialidad posible, es difícil evitar las "vueltas atrás". Si después de la terminación de alguna etapa los resultados no son los esperados, en la práctica es muy posible que el problema esté en la mala realización de una etapa anterior. Y esto es así porque no sabemos cómo decidir con total certidumbre que una etapa ha sido perfectamente desarrollada hasta que se observan las consecuencias, quizás varias etapas y bastante tiempo después de que fue "cerrada". En estos casos, habrá que volver a ella, refinando el producto de una forma iterativa hasta que se considere que tiene la calidad deseada.
El modelo de ciclo de vida cascada, captura algunos principios básicos
Planear un proyecto antes de embarcarse en el.
Definir el comportamiento externo deseado del sistema antes de diseñar su arquitectura interna.
Documentar los resultados de cada actividad
Diseñar un sistema antes de codificarlo
Testear un sistema después de construirlo.
El modelo de cascada está basado en el ciclo convencional de una ingeniería, el paradigma del ciclo de vida abarca las siguientes actividades:
Ingeniería y Análisis del Sistema: Debido a que el software es siempre parte de un sistema mayor el trabajo comienza estableciendo los requisitos de todos los elementos del sistema y luego asignando algún subconjunto de estos requisitos al software.
Análisis de los requisitos del software: el proceso de recopilación de los requisitos se centra e intensifica especialmente en el software. El ingeniero de software (Analistas) debe comprender el ámbito de la información del software, así como la función, el rendimiento y las interfaces requeridas.
Diseño: el diseño del software se enfoca en cuatro atributos distintos del programa: la estructura de los datos, la arquitectura del software, el detalle procedimental y la caracterización de la interfaz. El proceso de diseño traduce los requisitos en una representación del software con la calidad requerida antes de que comience la codificación.
Codificación: el diseño debe traducirse en una forma legible para la máquina. El paso de codificación realiza esta tarea. Si el diseño se realiza de una manera detallada la codificación puede realizarse mecánicamente.
Prueba: una vez que se ha generado el código comienza la prueba del programa. La prueba se centra en la lógica interna del software, y en las funciones externas, realizando pruebas que aseguren que la entrada definida produce los resultados que realmente se requieren.
Mantenimiento: el software sufrirá cambios después de que se entrega al cliente. Los cambios ocurrirán debido a que hayan encontrado errores, a que el software deba adaptarse a cambios del entorno externo (sistema operativo o dispositivos periféricos), o debido a que el cliente requiera ampliaciones funcionales o del rendimiento.
CARACTERISTICAS
Es el más utilizado.
Es una visión del proceso de desarrollo de software como una sucesión de etapas que producen productos intermedios.
Para que el proyecto tenga éxito deben desarrollarse todas las fases.
Las fases continúan hasta que los objetivos se han cumplido.
Si se cambia el orden de las fases, el producto final será de inferior calidad.
VENTAJAS
La planificación es sencilla.
La calidad del producto resultante es alta.
Permite trabajar con personal poco cualificado.
DESVENTAJAS
No refleja realmente el proceso de desarrollo del software
Se tarda mucho tiempo en pasar por todo el ciclo
Perpetua el fracaso de la industria del software en su comunicación con el usuario final
El mantenimiento se realiza en el código fuente
Las revisiones de proyectos de gran complejidad son muy difíciles
Impone una estructura de gestión de proyectos
1.1.2. Modelo de Proceso incremental
El modelo incremental fue propuesto por Harlan Mills en 1980. Surgió el enfoque incremental como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema.
Este modelo se conoce también bajo las siguientes denominaciones:
• Método de las comparaciones limitadas sucesivas.
• Ciencia de salir del paso.
• Método de atacar el problema por ramas.
El Modelo Incremental combina elementos del modelo en cascada. Lo lleva a cabo en forma iterativa, aplicando secuencias lineales de manera escalonada conforme avanza el proyecto. Esto permite ir aumentando gradualmente las capacidades del software.
Como se muestra en la Figura 1, el modelo incremental aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada secuencia lineal produce un incremento del software.
El primer incremento generalmente es un producto esencial denominado núcleo.
En una visión genérica, el proceso se divide en 4 partes:
• Análisis
• Diseño
• Código
• Prueba
Para la producción del Software, se usa el principio de trabajo en cadena o Pipeline. Con esto se mantiene al cliente en constante contacto con los resultados obtenidos en cada incremento. Es el mismo cliente el que incluye o desecha elementos al final de cada incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso se repite hasta que se elabora el producto completo. De esta forma el tiempo de entrega se reduce considerablemente.
Es de naturaleza interactiva brindando al final de cada
...