Está en la página 1de 26

MODELOS DEL

PROCESO
DE SOFTWARE
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Para resolver los problemas reales de una


industria, un ingeniero del software o un
equipo de ingenieros debe incorporar una
estrategia de desarrollo que acompae al
proceso, mtodos y capas de herramientas.

Esta estrategia se llama modelo de


proceso o paradigma de ingeniera del
software.
Se selecciona un modelo de proceso para
la ingeniera del software segn la
naturaleza del proyecto y de la aplicacin,
los mtodos y las herramientas a
utilizarse, los controles y entregas que se
requieren.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Todo el desarrollo del software se puede caracterizar


como bucle de resolucin de problemas en el que se
encuentran cuatro etapas distintas:
DEFINICION
DE
PROBLEMAS

DESARROL
ESTADO
LO
ACTUAL
TECNICO

INTEGRACI
ON DE
SOLUCIONE
S
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
ESTADO ACTUAL (STATUS QUO):
representa el estado
actual de sucesos.

DEFINICIN DE PROBLEMAS:
identifica el problema especfico a
resolverse; el

DESARROLLO TCNICO :
resuelve el problema a travs de la
aplicacin de alguna tecnologa

INTEGRACIN DE SOLUCIONES:
ofrece los resultados (por ejemplo:
documentos,
programas, datos, nueva funcin comercial,
nuevo producto)
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

con independencia del modelo de proceso que se


seleccione para un proyecto de software, todas las
etapas coexisten simultneamente en algn nivel de
detalle. las cuatro etapas tratadas anteriormente se
aplican igualmente al anlisis de una aplicacin
completa y a la generacin de un pequeo segmento
de cdigo.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

MODELO LINEAL SECUENCIAL


Llamado algunas veces ciclo de vida bsico o
modelo
en cascada, el modelo lineal secuencial sugiere un
enfoque sistemtico, secuencial, para el desarrollo
del
software que comienza en un nivel de sistemas y
progresa
con el anlisis, diseo, codificacin, pruebas y
mantenimiento
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Anlisis de los requisitos del software.


Para comprender la naturaleza del (los) programa(s) a
construirse, el ingeniero (analista) del software debe
comprender el dominio de
informacin del software, as como la funcin requerida,
comportamiento, rendimiento de interconexin.
Diseo.
se centra en cuatro atributos distintos de programa:
estructura de datos, arquitectura de software,
representaciones de interfaz y detalle
procedimental (algoritmo).

Generacin de cdigo.
El diseo se debe traducir en una forma legible por la
mquina. El paso de generacin de cdigo lleva a cabo
esta tarea. Si se lleva a cabo el diseo de una forma
detallada, la generacin de
cdigo se realiza mecnicamente.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Pruebas.
Una vez que se ha generado el cdigo, comienzan las
pruebas del programa. deteccin de errores y asegurar
que la entrada definida produce resultados reales de
acuerdo con los resultados requeridos.
Por qu algunas veces falla el modelo lineal?
A menudo es difcil que el cliente exponga
explcitamente
todos los requisitos. El modelo lineal
secuencial
lo requiere y tiene dificultades a la hora de
acomodar la incertidumbre natural al comienzo
de
muchos proyectos.
El cliente debe tener paciencia. Una versin
de trabajo
del (los) programa(s) no estar disponible
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Modelo de
Construccin
El paradigma de construccin de prototipos comienza
De Prototipos
con la recoleccin de requisitos. El desarrollador y el
cliente encuentran y definen los objetivos globales
para el software, identifican los requisitos conocidos y
las reas del esquema en donde es obligatoria ms
definicin.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
El diseo rpido se centra en una representacin de
aspectos del software que sern visibles para el
usuario/cliente (enfoques de entrada y formatos de salida).
El diseo rpido lleva a la construccin de un prototipo.
En la mayora de los proyectos, el primer sistema construido
apenas se puede utilizar y se tiene que tirar, porque incluso
la mejor planificacin no es omnisciente como para que est
perfecta la primera vez.
La iteracin ocurre cuando el prototipo se pone a punto
para satisfacer las necesidades del cliente, permitiendo al
mismo tiempo que el desarrollador comprenda mejor lo
que se necesita hacer.
la construccin de prototipos puede ser problemtica
por las siguientes razones:
El cliente ve una versin de trabajo del software, sin saber
que con la prisa de hacer que funcione no se ha tenido en
cuenta la calidad del software global o la facilidad de
mantenimiento a largo plazo.
Se puede utilizar un sistema operativo o lenguaje de
programacin inadecuado simplemente porque est
disponible
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Modelo
Modelo
DRA
DRA
El Desarrollo Rpido de Aplicaciones (DRA)es un modelo de
proceso del desarrollo del software lineal secuencial que
enfatiza un ciclo de desarrollo extremadamente corto. Es una
adaptacin a alta velocidad del modelo lineal secuencial en
el que se logra el desarrollo
rpido utilizando una construccin basada en componentes.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Si se comprenden bien los requisitos y se limita el mbito del
proyecto, el proceso DRA permite al equipo de desarrollo
crear un sistema completamente funcional dentro de
perodos cortos de tiempo (por ejemplo: de 60 a 90 das)

Modelado de Gestin. El flujo de informacin entre las


funciones de gestin se modela de forma que responda a las
siguientes preguntas: Qu informacin conduce el proceso
de gestin? Qu informacin se genera? Quin la genera? A
dnde va la informacin? Quin la procesa?
Modelado de datos. Se definen las caractersticas
(llamadas atributos) de cada uno de los objetos y las
relaciones entre estos objetos.

Modelado del proceso. Los objetos de datos definidos


en la fase de modelado de datos quedan transformados para
lograr el flujo de informacin necesario para implementar una
funcin de gestin. Las descripciones del proceso se crean
para aadir, modificar, suprimir, o
recuperar un objeto de datos.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Generacin de aplicaciones. En lugar de crear


software con lenguajes de programacin de tercera
generacin, trabaja para volver a utilizar componentes de
programas ya existentes (cuando es posible) o a crear
componentes reutilizables (cuando sea necesario). Se utilizan
herramientas para facilitar la construccin del software.
Pruebas y entrega. Como el proceso DRA enfatiza la
reutilizacin, ya se han comprobado muchos de los
componentes de los programas. Esto reduce tiempo de
pruebas. Sin embargo, se deben probar todos los
componentes nuevos y se deben ejercitar todas las interfaces
a fondo.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Modelos Evolutivos de Proceso Del Software


Los modelos evolutivos son iterativos. Se caracterizan por la
forma en que permiten a los ingenieros del software
desarrollar versiones cada vez mas completas del software.
El modelo incremental: El modelo incremental combina
elementos del modelo lineal secuencial con la filosofa
interactiva de construccin de prototipos. el modelo
incremental aplica secuencias lineales de forma escalonada
mientras progresa el tiempo en el calendario. Cada secuencia
lineal
produce un incremento del software suplementarias .
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Modelo Espiral
es un modelo de proceso de software evolutivo que conjuga la
naturaleza iterativa de construccin de prototipos con los aspectos
controlados y sistemticos del modelo lineal secuencial.
se desarrolla en una serie de versiones incrementales. Durante las
primeras iteraciones, la versin incremental podra ser un modelo
en
papel o un prototipo. Durante las ltimas iteraciones, se producen
versiones cada vez ms completas del sistema diseado.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

El modelo en espiral se divide en un nmero de actividades


de marco de trabajo, tambin llamadas regiones
de tareas. La Figura 2.8 representa un modelo
en espiral que contiene seis regiones de tareas:

Comunicacin con el cliente- las tareas requeridas para


establecer comunicacin entre el desarrollador y el cliente.
planificacin- las tareas requeridas para definir recursos, el tiempo
y otra informacin relacionadas con el proyecto.
anlisis de riesgos- las tareas requeridas para evaluar riesgos
tcnicos y de gestin.
ingeniera- las tareas requeridas para construir una o ms
representaciones de la aplicacin.
construccin y accin- las tareas requeridas para construir, probar,
instalar y proporcionar soporte al usuario (por ejemplo:
documentacin y prctica)
evaluacin del cliente- las tareas requeridas para obtener la
reaccin del cliente segn la evaluacin de las representaciones del
software creadas durante la etapa de ingeniera e implementada
durante la etapa de instalacin.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
El objetivo de esta actividad
es mostrar los requisitos del
cliente. En un contexto
ideal, el desarrollador
simplemente pregunta al cliente
lo que se necesita y el cliente
proporciona detalles suficientes
para continuar.
Desgraciadamente, esto
raramente
ocurre. En realidad el cliente y
el desarrollador
entran en un proceso de
negociacin, donde el cliente
puede ser preguntado para
sopesar la funcionalidad,
rendimiento,
y otros productos o
caractersticas del sistema
frente al coste y al tiempo de
comercializacin Modelo espiral WINWIN
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
El modelo de desarrollo
concurrente
Define una serie de acontecimientos que
dispararn transiciones de estado a estado para
cada una de las actividades de la ingeniera del
software. Por ejemplo, durante las primeras
etapas del diseo, no se contempla una
inconsistencia del modelo de anlisis. Esto
genera la correccin del modelo de anlisis de
sucesos, que disparar la actividad de anlisis
del estado hecho al estado cambios en espera.
El modelo de proceso concurrente se utiliza a
menudo como el paradigma de desarrollo de
aplicaciones cliente/ servidor
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

La dimensin de componentes
se afronta con dos actividades:
diseo y realizacin. La
concurrencia se logra de
dos formas:
(1) las actividades de sistemas
y de componentes
ocurren simultneamente y
pueden modelarse con el
enfoque orientado a objetos

(2) una aplicacin cliente/servidor tpica se implementa con muchos


componentes, cada uno de los cuales se pueden disear y realizar
concurrentemente. En realidad, el modelo de proceso concurrente
es aplicable a todo tipo de desarrollo de software y proporciona una
imagen exacta del estado actual de un proyecto.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Desarrollo basado
en Componentes
Enfatiza la creacin de clases que encapsulan tanto los
datos como los algoritmos que se utilizan para manejar
los datos. Si se disean y se implementan
adecuadamente, las clases orientadas a objetos son
reutilizables por las diferentes aplicaciones y
arquitecturas de sistemas basados en computadora.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Modelo de Mtodos
Formales
El modelo de mtodos formales comprende un conjunto
de actividades que conducen a la especificacin matemtica del
software de computadora. Los mtodos
formales permiten que un ingeniero de software especifique,
desarrolle y verifique un sistema basado en computadora aplicando
una notacin rigurosa y matemtica.
Sin embargo, se ha hablado
de una gran preocupacin sobre su aplicabilidad en un
entorno de gestin:
1. El desarrollo de modelos formales actualmente es
bastante caro y lleva mucho tiempo.
2. Se requiere un estudio detallado porque pocos
responsables
del desarrollo de software tienen los antecedentes
necesarios para aplicar mtodos formales.
3. Es difcil utilizar los modelos como un mecanismo
de comunicacin con clientes que no tienen muchos
conocimientos tcnicos.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Tcnicas De Cuarta
Generacin

facilitan al ingeniero del software


la especificacin de algunas caractersticas del
software a alto nivel. Luego, la herramienta
genera automticamente el cdigo fuente
basndose en la especificacin del tcnico. Cada
vez parece ms evidente que cuanto mayor sea el
nivel en el que se especifique el software, ms
rpido se podr construir el programa.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

T4G puede incluir todas o algunas de las


siguientes herramientas: lenguajes no procedimentales
de consulta a bases de datos, generacin de informes,
manejo de datos, interaccin y definicin de pantallas,
generacin de cdigos, capacidades grficas de alto nivel
y capacidades de hoja de clculo, y generacin
automatizada de HTML y lenguajes similares utilizados
para la creacin de sitios web usando herramientas de
software avanzado.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE
Tecnologas De Proceso

Las herramientas de tecnologa de procesos permiten


que una organizacin de software construya un
modelo automatizado del marco de trabajo comn de
proceso, conjuntos de tareas y actividades de
proteccin.

La herramienta de tecnologa de proceso tambin


se puede utilizar para coordinar el uso de otras
herramientas de ingeniera del software asistida por
computadora adecuadas para una tarea de trabajo
en particular.
MODELOS
MODELOS DEL
DEL
PROCESO
PROCESO DE
DE SOFTWARE
SOFTWARE

Producto y Proceso
Si el proceso es dbil, el producto final va a sufrir
indudablemente. Aunque una dependencia obsesiva en
el proceso tambin es peligrosa.

En Resumen
La ingeniera del software es una disciplina que integra
procesos, mtodos y herramientas para el desarrollo
del software de computadora. Se han propuesto
varios modelos de procesos para la ingeniera del
software
diferentes, cada uno exhibiendo ventajas e
inconvenientes, pero todos tienen una serie de fases
genricas en comn.

También podría gustarte