1. Instituto Universitario Politécnico
“Santiago Mariño”
Extensión Puerto Ordaz
47 Ingeniería de Sistemas
Sistemas I
Mayo del 2021
Alumna:
Angélica Solís
C. I: 27.514.385
Modelos de procesos del
software
2. Modelos de Procesos del Software
Es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. De esta manera los modelos
pueden incluir actividades que son parte de los procesos y productos de software y el papel de las personas involucradas en la
ingeniería del software.
Cada uno de los modelos es una descripción de un proceso de software que se presenta desde una perspectiva particular. En
muchas ocasiones se usan los términos de ciclo de vida y Modelo de ciclo de vida.
Los modelos describen una sucesión de fases y un encadenamiento entre ellas, según las fases y el modelo en que produzca este
encadenamiento, tenemos diferentes modelos de procesos.
Cabe destacar que existen diferentes tipos de modelos.
3. Características generales de los modelos de procesos del software
- Planificación: La importante tarea a la hora de crear un producto de software es obtener los
requisitos o el análisis de los requisitos. Los clientes por general tienen una idea abstracta del
resultado final, pero no sobre funciones que debería cumplir el software.
- Implementación, pruebas y documentación: La implementación es parte del proceso en el que los ingenieros programan el
código para el proyecto de trabajo que está en relación de las demandas del software, en esta etapa se realizan las pruebas
de caja blanca y caja negra.
Las pruebas del software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de
detectar los errores de software lo antes posible.
La documentación del diseño interno del software tiene el objetivo de facilitar su mejora, y su mantenimiento se realiza a lo
largo del proyecto.
- Despliegue y mantenimiento: El despliegue comienza cuando el código ha sido suficientemente probado, se da su liberación
y ha sido distribuido en el entorno de producción.
El mantenimiento o mejora del software con problemas recientemente desplegado, puede requerir más tiempo que el
desarrollo inicial del software.
4. Tipos de Modelos: Espiral
Fue propuesto por Boehm en 1988 en su artículo “A Spiral Model of Software Development and Enhancement” (Un modelo en
espiral de desarrollo y mejora de software).
Objetivo y Determinación Alternativa: Los objetivos
se determinan conjuntamente con el cliente. Al mismo
tiempo se discuten posibles alternativas y se
especifican las condiciones marco.
Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. El desarrollo en
espiral es genérico y puede combinarse con otros métodos de desarrollo clásicos y ágiles, por lo que también se denomina
modelo o desarrollo de segundo orden.
Ciclos o cuadrantes del Modelo
Análisis y Evaluación de Riesgos: Se identifican y
evalúan los riesgos potenciales. En este ciclo,
existen varios prototipos como plantillas de diseño
o componentes funcionales.
Desarrollo y Prueba: Los prototipos se amplían y se añaden
funcionalidades. El código real es escrito, probado y migrado a un
entorno de prueba varias veces hasta que el software pueda ser
implementado en un entorno productivo.
Planificación del siguiente ciclo: El siguiente ciclo se
planifica al final de cada etapa. Si se producen errores, se
buscan soluciones, y si una alternativa es una mejor
solución, se prefiere en el siguiente ciclo.
5. Tipos de Modelos: Espiral
Ventajas
Puede adaptarse y aplicarse a lo largo
de la vida del software de
computadora.
Es un enfoque realista del desarrollo
de sistemas y de gran escala.
Como el software evoluciona a
medida que progresa el proceso el
desarrollador el cliente comprende y
reacciona mejor ante riesgos en cada
uno de los niveles evolutivos.
Utiliza la construcción de prototipos
como mecanismos de reducción de
riesgos.
Desventajas
Suele ser difícil convencer a grandes
clientes de que el enfoque evolutivo
es controlable.
Requiere una consideración de
habilidad para la evaluación del
riesgo.
No se ha utilizado tanto como los
paradigmas lineales secuenciales o de
construcción de prototipos.
6. Ventajas
También llamado ciclo de vida clásico o lineal secuencial, sugiere un enfoque sistemático y
secuencial para el desarrollo del software, que comienza con la especificación de los
requerimientos por parte del cliente y avanza a través de planeación, modelado,
construcción y despliegue, para concluir con el apoyo del software terminado.
El modelo de cascada es el paradigma más antiguo de la ingeniería de software, es por esto que en el momento de utilizarlo
aparecen ciertos problemas.
Tipos de Modelos: Cascada
Desventajas
Modelo y planificación fácil y sencillos.
Sus fases son conocidas por los desarrollares.
Los usuarios lo pueden comprender fácilmente.
En la vida real, un proyecto rara vez sigue una
secuencia lineal, esto crea una mala
implementación del modelo, lo cual hace que lo
lleve al fracaso.
El proceso de creación del software tarda
mucho tiempo ya que puede debe pasar por el
proceso de prueba y hasta que el software no
esté completo no se opera.
7. Tipos de Modelos: Cascada
Fases del modelo
Análisis
Esta es la etapa de preparación del
proyecto. De esta fase surge una
memoria llamada SRD (documento de
especificación de requisitos), que
contiene la especificación completa
de los que debe hacer el sistema sin
entrar en detalles internos.
Diseño del Sistema
Se descompone y organiza el sistema
en elementos que puedan elaborarse
por separado, aprovechando las
ventajas del desarrollo en equipo.
Surge el SDD (Documento de Diseño
del Software), que contiene la
descripción de la estructura relacional
global del sistema y la especificación
de lo que debe hacer cada una de las
partes.
Diseño del Programa
Se realizan los algoritmos
necesarios para el cumplimiento
de los requerimientos del
usuario así como también los
análisis necesarios para saber
que herramientas usar.
Codificación
Se implementa el código fuente,
haciendo uso de prototipos así
como de pruebas y ensayos para
corregir errores.
Verificación
El usuario final ejecuta el sistema,
para ello el o los programadores ya
realizaron pruebas previas para
comprobar que el sistema no falle.
Pruebas
Los elementos ya programados, se
ensamblan para componer el sistema y
se comprueba que funciona
correctamente y que cumpla con los
requisitos. Antes de ser entregado al
usuario final.
Mantenimiento
Etapa más critica, ya que se destina un 75% de
los recursos, es el mantenimiento del software
ya que al utilizarlo como usuario final puede
ser que no cumpla con todas las expectativas.
1 2 3
5
4
7
6
8. Tipos de Modelos: Proceso Incremental
Hay muchas situaciones en las que los requerimientos iniciales del
software están razonablemente bien definidos, pero el alcance general
del esfuerzo de desarrollo imposibilita un proceso lineal.
Además, tal vez haya una necesidad imperiosa de dar rápidamente cierta funcionalidad limitada de software a los usuarios y
aumentarla en las entregas posteriores de software. En tales casos, se elige un modelo de proceso diseñado para producir el
software en incrementos.
Ventajas Desventajas
Mediante este modelo se genera software operativo
de forma rápida y en etapas tempranas del ciclo de
vida del software.
Es flexible, por lo que se reduce el coste en el cambio
de alcance y requisitos.
Fácil de probar y depurar en una iteración más
pequeña.
Gestiona Riesgos.
Cada fase de una iteración es rígida y no se superponen
con otras.
Pueden surgir problemas referidos a la arquitectura del
sistema porque no todos los requisitos se han reunido, ya
que supone que todos fueron definidos al inicio.
9. Tipos de Modelos: Proceso Incremental
Requerimientos
Objetivos centrales y específicos
que persigue el proyecto.
Fases del modelo
Entrega del Producto
Cuando el producto en su conjunto ha sido validado se confirma su correspondencia con
los objetivos iniciales, se procede en su entrega final.
Validación de Incremento
Los responsables de la gestión del
proyecto deben dar por buenos los
incrementos que cada una de ellas
ha arrojado. Si no son los
esperados se retrocede al paso
anterior.
Diseño de los incrementos
Cada iteración debe superar a la
que se ha precedido. Esto es lo que
se denomina incremento.
Definición de las tareas y las
iteraciones
Se realiza una lista de tareas y se
agrupan en las iteraciones que
tendrán el proyecto.
Integración de Incrementos
Una vez validados, se
denomina la línea
incremental o evolución del
proyecto en su conjunto.
Desarrollo del Incremento
Posteriormente se realizan las
tareas previstas y se desarrollan
los incrementos establecidos en la
etapa anterior.
10. Tipos de Modelos: Proceso Unificado
Es una metodología de desarrollo de software que está basado en componentes e
interfaces bien definidas, y junto con el Lenguaje Unificado de Modelado (UML),
constituye la metodología estándar más utilizada para el análisis, implementación y
documentación de sistemas orientados a objetos.
Un proceso define “quién” está haciendo “qué”, “cuándo” y “cómo” para alcanzar un
determinado objetivo.
RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y
necesidades de cada organización.
Fases
Concepción o Inicio
Define la visión, los objetivos y el alcance del
proyecto, tanto desde el punto de vista funcional
como del técnico, obteniéndose como uno de los
principales resultados una lista de los casos de uso y
una lista de factores de riesgos del proyecto.
Elaboración
Tiene como principal objetivo completar el análisis
de los casos de usos y definir la arquitectura del
sistema, además se obtiene una aplicaciones
ejecutable que responde a los casos de uso que la
comprometen.
Construcción
Compuesta por un ciclo de varias iteraciones, en las
cuales se van incorporando sucesivamente los casos
de uso, de acuerdo a los factores de riesgo del
proyecto.
Transición
Se inicia con una versión beta del sistema y culmina
con el sistema en fase de producción.
11. Tipos de Modelos: Proceso Unificado
Ventajas Desventajas
Coste del riesgo a un solo incremento.
Reduce el riesgo de no sacar el producto en el
calendario previsto.
Acelera el ritmo de desarrollo.
Se adapta mejor a las necesidades del cliente.
El modelo es comprensible.
Adaptabilidad del desarrollo a nuevos requisitos o
nuevos cambios.
Se define una arquitectura sólida en etapas tempranas
del desarrollo.
Progreso visible en las primeras etapas.
Requiere costos de dedicación altos por lo que no es
conveniente usarlo en procesos de un proyecto pequeño.
Es un proceso pesado.
Una cantidad sustancial de tiempo se gasta en tratar de
adecuar el Proceso Unificado a cada proyecto.
Requiere una gran previsión sobre lo que va a ocurrir.
Genera abundante trabajo adicional de documentación y
comunicación.