You are on page 1of 26

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.

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

ESTADO
ACTUAL

DESARROLLO
TECNICO

INTEGRACION
DE
SOLUCIONES

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)
a los que solicitan la solucin en primer lugar.

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.

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

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.

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 hasta
que el proyecto est muy avanzado.

El paradigma de construccin de prototipos comienza 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.

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

Modelo 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.

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.

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 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 .

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.

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.

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

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

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.

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.

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.

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.

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.

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.

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.

You might also like