El documento describe diferentes tipos de software utilizados en áreas de trabajo. Explica el modelo en cascada, el modelo evolutivo e iterativo, el modelo exploratorio y el modelo basado en componentes. Cada modelo representa un enfoque distinto para el desarrollo de software.
2. ¿QUE ES EL SOFTWARE?
Se conoce como software al equipo lógico o soporte
lógico de un sistema informático, que comprende el conjunto
de los componentes lógicos necesarios que hacen posible la
realización de tareas específicas, en contraposición a los
componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros,
las aplicaciones informáticas; tales como el procesador de
texto, que permite al usuario realizar todas las tareas
concernientes a la edición de textos; el llamado software de
sistema, tal como el sistema operativo, que básicamente
permite al resto de los programas funcionar
adecuadamente, facilitando también la interacción entre los
componentes físicos y el resto de las aplicaciones, y
proporcionando una interfaz con el usuario.
3.
4. MODELO EN CASCADA
En Ingeniería de software el desarrollo en cascada, también
llamado modelo en cascada (denominado así por la posición de
las fases en el desarrollo de esta, que parecen caer en
cascada “por gravedad” hacia las siguientes fases), es el enfoque
metodológico que ordena rigurosamente las etapas del proceso
para el desarrollo de software, de tal forma que el inicio de cada
etapa debe esperar a la finalización de la etapa anterior. Al final
de cada etapa, el modelo está diseñado para llevar a cabo una
revisión final, que se encarga de determinar si el proyecto está listo
para avanzar a la siguiente fase. Este modelo fue el primero en
originarse y es la base de todos los demás modelos de ciclo de
vida.
La versión original fue propuesta por Winston W. Royce en 1970 y
posteriormente revisada por Barry Boehm en 1980 e Ian Sommerville
en 1985.
5. UN EJEMPLO DE UNA METODOLOGÍA DE
DESARROLLO EN CASCADA ES:
Análisis de requisitos.
Diseño del Sistema.
Diseño del Programa.
Codificación.
Pruebas.
Verificación.
Mantenimiento.
De esta forma, cualquier error de diseño detectado en la etapa de
prueba conduce necesariamente al rediseño y nueva
programación del código afectado, aumentando los costos del
desarrollo. La palabra cascada sugiere, mediante la metáfora de la
fuerza de la gravedad, el esfuerzo necesario para introducir un
cambio en las fases más avanzadas de un proyecto.Si bien ha sido
ampliamente criticado desde el ámbito académico y la industria,
sigue siendo el paradigma más seguido al día de hoy.
6.
7. MODELO DE DESARROLLO
EVOLUTIVO
Los evolutivos son modelos iterativos, permiten desarrollar
versiones cada vez más completas y complejas, hasta llegar
al objetivo final deseado; incluso evolucionar más allá,
durante la fase de operación. Los modelos “Iterativo
Incremental” y “Espiral” (entre otros) son dos de los más
conocidos y utilizados del tipo evolutivo.
La idea detrás de este modelo es el desarrollo de una
implantación del sistema inicial, exponerla a los comentarios
del usuario, refinarla en N versiones hasta que se desarrolle el
sistema adecuado. Una ventaja de este modelo es que se
obtiene una rápida realimentación del usuario, ya que las
actividades de especificación, desarrollo y pruebas se
ejecutan en cada iteración.
8.
9. MODELO DE DESARROLLO
EXPLORATORIO
Un modelo de desarrollo es una representación
abstracta de un proceso de software, cada modelo
representa el proceso de desarrollo de software de una
manera en particular. A pesar de estar definidos
claramente, no representan necesariamente la realidad
de cómo se debe desarrollar el software, sino que
establece un enfoque común. Un modelo puede ser
modificado y adaptado de acuerdo a las necesidades
del software en desarrollo.
En forma general podemos clasificar los modelos de
desarrollo en 3 grupos
10.
11. MODELO DE DESARROLLO BASADO
EN COMPONENTES
En esencia, un componente es una pieza de código preelaborado
que encapsula alguna funcionalidad expuesta a través de interfaces
estándar . Los componentes son los "ingredientes de las aplicaciones",
que se juntan y combinan para llevar a cabo una tarea. Es algo muy
similar a lo que podemos observar en el equipo de música que
tenemos en nuestra sala. Cada componente de aquel aparato ha sido
diseñado para acoplarse perfectamente con sus pares, las conexiones
son estándar y el protocolo de comunicación está ya preestablecido.
Al unirse las partes, obtenemos música para nuestros oídos.
El paradigma de ensamblar componentes y escribir código para hacer
que estos componentes funcionen se conoce como Desarrollo de
Software Basado en Componentes. El uso de este paradigma posee
algunas ventajas:
Reutilización del software. Nos lleva a alcanzar un mayor nivel de
reutilización de software.
12. Simplifica las pruebas. Permite que las pruebas sean
ejecutadas probando cada uno de los componentes
antes de probar el conjunto completo de componentes
ensamblados.
Simplifica el mantenimiento del sistema. Cuando existe
un débil acoplamiento entre componentes, el
desarrollador es libre de actualizar y/o agregar
componentes según sea necesario, sin afectar otras
partes del sistema.
Mayor calidad. Dado que un componente puede ser
construido y luego mejorado continuamente por un
experto u organización, la calidad de una aplicación
basada en componentes mejorará con el paso del
tiempo.