• No se han encontrado resultados

CAPÍTULO II. MARCO TEÓRICO

2.1 TALENTO HUMANO

2.3.3 Modelos de Sistemas de Información

A través de la historia del software se han ido definiendo un sinnúmero de modelos que nos guían o enseñan cómo solucionar las necesidades de una empresa o institución mediante un Sistema de Información, a continuación mencionaremos algunos de los modelos existentes pero para nuestro objeto de estudio nos referiremos a los más conocidos y utilizados que son Secuencial y Espiral.

2.3.3.1 Modelo lineal secuencial

El modelo lineal secuencial sugiere un enfoque sistemático, secuencial del desarrollo del software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. Modelado según el ciclo de ingeniería convencional o clásico, el modelo lineal secuencial acompaña a las actividades siguientes:

23

Ilustración 1. Modelo Cascada Autor: Jonathan Encarnación

Fuente: http://jhondavid1992.blogspot.com/2012/06/ejemplos-de-modelos-de-desarrollo-del.html

a) Análisis de los requisitos del software.- es la reunión de requisitos necesarios

para comprender la naturaleza del software, para esto el ingeniero («analista») del software debe comprender el dominio de información del software, así como la función requerida, comportamiento, rendimiento, e interconexión.

b) Diseño.- es realmente un proceso de muchos pasos que se centra en cuatro

atributos distintos de un programa: estructura de datos, arquitectura del software, representaciones de interfaz y detalle procedimental (algoritmo).

c) Generación de código o Desarrollo.- en esta fase el diseño realizado en la fase

anterior se traduce a una forma legible por la máquina. Si se lleva a cabo el diseño de una forma detallada, la generación de código se realiza mecánicamente.

d) Pruebas.- la realización de las pruebas para la detección de errores y el sentirse

seguro de que la entrada definida produzca resultados reales de acuerdo con los resultados requeridos.

e) Mantenimiento.-el software indudablemente sufrirá cambios después de ser entregado al cliente. Se producirán cambios porque se han encontrado errores, porque el software debe adaptarse para acoplarse a los cambios de su entorno externo, o porque el cliente requiere mejoras funcionales o de rendimiento.

El modelo lineal secuencial es el modelo más antiguo y más utilizado en la ingeniería del software. Sin embargo, la crítica ha puesto en duda su eficacia. Entre las desventajas que rara vez se encuentran en el modelo secuencial tenemos.

1. Los proyectos reales no siempre siguen el modelo secuencial.

2. A menudo es difícil que el cliente exponga explícitamente todos los requisitos al empezar el proyecto.

3. El cliente debe tener paciencia, una versión de trabajo o sistema informático no estará disponible hasta que el proyecto esté muy avanzado.

4. Los responsables del desarrollo del software siempre se retrasan innecesariamente, llegando a estados de bloqueo en el que algunos miembros del equipo del proyecto deben esperar a otros miembros para completar tareas dependientes. En efecto, el tiempo que se pasa esperando puede sobrepasar el tiempo que se emplea en el trabajo productivo.

Cada una de estas desventajas es real, sin embargo, el ciclo de vida clásico tiene un lugar definido e importante en el trabajo de la ingeniería del software. Proporciona una plantilla en la que se encuentran métodos para el análisis, diseño, codificación, pruebas y mantenimiento.

El ciclo de vida clásico sigue siendo el modelo de proceso más extensamente utilizado por la ingeniería del software pese a tener debilidades.

25

2.3.3.2 Modelo evolutivo espiral

Mediante la práctica y la experiencia se ha determinado que los sistemas complejos evolucionan o cambian durante el ciclo de vida de un sistema.

Los modelos evolutivos son iterativos: se caracterizan por la forma en que permiten a los

ingenieros del software desarrollar versiones cada vez más completas del software.

5“El modelo en espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que acompaña la naturaleza interactiva de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial, se proporciona el potencial para el desarrollo rápido de versiones incrementales del software, en este modelo, el software se desarrolla en una serie de versiones increméntales, las primeras versiones pueden ser un modelo en papel o un prototipo. Las últimas versiones cada vez son más completas a nivel de ingeniería del sistema.”

El modelo en espiral se divide en un número de actividades estructurales también llamadas regiones de tareas. Generalmente, existen cuatro regiones de tareas.

a) Planificación.- determinación de objetivos, alternativas y restricciones, también

establecer comunicación entre el desarrollador y el cliente.

b) Análisis de Riesgos.- Se determina las tareas necesarias para evaluar riesgos

técnicos y de gestión.

c) Ingeniería.- Se define las tareas necesarias para construir, probar, instalar y

proporcionar soporte al usuario de una o más representaciones de la aplicación.

5

d) Evaluación del Cliente.- Se determina las tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software creadas durante la etapa de ingeniería e implementada durante la etapa de instalación.

Autor: Jonathan Encarnación

Fuente: http://jhondavid1992.blogspot.com/2012/06/ejemplos-de-modelos-de-desarrollo-del.html

En la figura durante la primera vuelta alrededor de la espiral se definen los objetivos, alternativas, restricciones y se analizan e identifican los riesgos. Si el análisis de riesgo indica que hay una incertidumbre en los requisitos, se puede usar la creación de prototipos en el cuadrante de ingeniería para dar asistencia tanto al encargado de desarrollo como al cliente.

Este evalúa el trabajo de ingeniería (cuadrante de evaluación de cliente) y sugiere modificaciones sobre la base de los comentarios del cliente, se produce la siguiente fase de planificación y de análisis de riesgo. En cada bucle alrededor de la espiral, la culminación del análisis de riesgo resulta en una decisión de "seguir o no seguir".

Con cada iteración alrededor de la espiral (comenzando en el centro y siguiendo hacia el Ilustración 2: Modelo evolutivo espiral

27

exterior), se construyen sucesivas versiones del software cada vez más completa y al final, al propio sistema operacional.

El paradigma del modelo en espiral para la ingeniería de software es actualmente el enfoque más realista para el desarrollo de software y de sistemas a gran escala. Utiliza un enfoque evolutivo para la ingeniería de software, permitiendo al desarrollador y al cliente entender y reaccionar a los riesgos en cada nivel evolutivo.

Utiliza la creación de prototipos como un mecanismo de reducción de riesgo, pero, lo que es más importante permite a quien lo desarrolla aplicar el enfoque de creación de prototipos en cualquier etapa de la evolución.

A diferencia del modelo de proceso clásico que termina cuando se entrega el software, el modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software.

Documento similar