Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA 2
Modelos de proceso del software
Contenidos
1. Conceptos bsicos
2 Procesos
2. P del
d l ciclo
i l dde vida
id
3. Modelos de proceso
Modelo clsico
Modelos iterativos basados en prototipos
Modelos en espiral
Desarrollo rpido de aplicaciones
Modelos orientados a la reutilizacin
Modelos para sistemas orientados a objetos
Procesos giles
Modelos de proceso de la Ingeniera Web
Conceptos bsicos
Modelos de proceso
Modelos tradicionales Modelos orientados a la
reutilizacin
F
Formados
d por un conjunto
j t ded ffases o
actividades en las que que no tienen en Basado en componentes
cuenta la naturaleza evolutiva del Proceso Unificado
software Modelos para sistemas
Clsico, lineal o en cascada orientados a objetos
Estructurado Modelos con un alto grado de
Basado en p prototipos
p iteratividad y solapamiento
p entre
Desarrollo rpido de aplicaciones (RAD) fases
De agrupamiento
Modelos evolutivos
Fuente
Son modelos que se adaptan a la Basado en componentes
evolucin que sufren los requisitos del Proceso Unificado
sistema en funcin del tiempo
En espiral
p
Procesos giles
Programacin
P i extrema
t (XP)
Evolutivo
Desarrollo de software adaptativo
Incremental
Scrum, Crystal
Modelo de desarrollo concurrente
Modelos para sistemas web
UML-based Web Engineering
Modelos de proceso del software 6
Anlisis de Sistemas
Modelos de proceso
Modelo clsico (I)
Conocido tambin como modelo lineal o en cascada
Versin original se debe a W. W. Royce [Royce, 1970], apareciendo
despus numerosos refinamientos
Ca acte st cas
Caractersticas
Est compuesto por una serie de fases que se ejecutan secuencialmente
Obtencin de documentos como criterio de finalizacin de fase
Problemas de la progresin
secuencial Anlisis
Desconocimiento de las
necesidades por parte del
cliente Diseo
Inestabilidad de los requisitos
No se ven resultados hasta Codificacin
muy avanzado el proyecto
Efecto big bang prximo a la
entrega Prueba
Modelos de proceso
Modelo clsico (II)
Modelo satisfactorio slo en desarrollos conocidos y estables
El desconocimiento y el riesgo suele ser alto en el desarrollo del software
La linealidad no se corresponde con la realidad
Los retornos de informacin entre las fases se hacen necesarios para incorporar
correcciones hacia arriba
arriba, en funcin de los descubrimientos realizados hacia
abajo
Estos retornos entre fases perturban la visin lineal dada por el ciclo de vida en
cascada
Los retornos estn limitados a fases adyacentes
Anlisis
Diseo
Codificacin
Prueba
Modelos de proceso
Modelos iterativos basados en prototipos (I)
Caractersticas:
Es una aplicacin que funciona
Su finalidad es probar varias suposiciones con respecto a las caractersticas
requeridas por el sistema
Se crean con rapidez
Evolucionan a travs de un proceso iterativo
Tienen un costo bajo de desarrollo
Modelos de proceso
Modelos iterativos basados en prototipos (II)
Tipos de prototipos
Prototipos desechables: El prototipo es una versin rudimentaria del sistema que
posteriormente es desechada
Prototipos evolutivos: El prototipo debe convertirse, eventualmente, en el
sistema final usado (alternativa al ciclo de vida)
Combinacin de prototipos evolutivos y desechables (prototipado operativo):
Se aplican tcnicas convencionales para los requisitos bien conocidos y se crea una
lnea base
lnea base
Combinacin de prototipos desechables y evolutivos para los requisitos poco conocidos
DESECHABLE EVOLUTIVO
Enfoque de
Rpido y sin rigor Riguroso
desarrollo
Objetivo
ltimo Desecharlo Incluirlo en el sistema
Modelos de proceso
Modelos iterativos basados en prototipos (III)
Prototipos desechables
Caractersticas:
Se desarrolla cdigo para explorar factores crticos para el xito del sistema
La implementacin usa lenguajes y/o mtodos de desarrollo ms rpidos que los
definitivos
Se usa como herramienta auxiliar de la especificacin de requisitos y el diseo:
Determinar la viabilidad de los requisitos
validar la funcionalidad del sistema
Encontrar requisitos
q ocultos.
Determinar la viabilidad de la interfaz de usuario.
Examinar alternativas de diseo.
Validar una arquitectura de diseo particular
Aplicaciones:
p cac o es
Interfaz de usuario
Formatos de informes
Formatos de grficos
Organizacin de bases de datos
Rendimiento de bases de datos
Precisin e implementacin de clculos complejos
Partes con respuesta crtica en el tiempo en sistemas de tiempo real
Rendimiento de sistemas interactivos
Viabilidad de partes del sistema en las que no se tiene experiencia
Modelos de proceso del software 11
Anlisis de Sistemas
Modelos de proceso
Modelos iterativos basados en prototipos (IV)
Modelos de proceso
Modelos en espiral (I)
Ciclo de vida en espiral
Fue propuesto inicialmente por B. Boehm [Boehm, 1986, 1988]
Es un modelo de proceso de software evolutivo, que proporciona el
potencial para el desarrollo rpido de versiones incrementales del
software
Caractersticas
Puede considerarse como un metamodelo de proceso
Principalmente, rene caractersticas del modelo clsico y de prototipos
Modelos de proceso
Modelos en espiral (II)
Determinar objetivos,
alternativas Evaluar alternativas Identificar y
Anlisis resolver riesgos
y restricciones de riesgo
Anlisis
de riesgo
Anlisis
de riesgo
Proto-
Anlisis Proto- Proto- ttipo
po 3
de riesgo tipo 1 ti 2
tipo
Modelos de proceso
Modelos en espiral (III)
Modelo en espiral de Pressman [Pressman, 2002]
Variante del modelo de Boehm con 6 regiones de tareas
Se define un eje con diferentes puntos de entrada para diferentes tipos de
proyectos
t
Planificacin Anlisis de
riesgos
Comunicacin
con el cliente Puntos de entrada al proyecto
Proyecto de mantenimiento de productos
Proyecto
P de
d ddesarrollo
ll dde conceptos
Evaluacin Construccin y
del cliente adaptacin
Modelos de proceso
Modelos en espiral (IV)
Modelo win-win [Boehm et al., 1998]
Extiende el modelo en espiral haciendo nfasis en las condiciones de
xito (ganancia) de todas las partes involucradas en el proyecto
Consta de cuatro ciclos:
Ciclo 0. Grupos de aplicacin: Determinacin de la viabilidad de un grupo
Ciclo 1.
1 Objetivos del ciclo de vida de la aplicacin: objetivos,
objetivos prototipos
prototipos,
planes, especificaciones de cada aplicacin y arquitectura viable
Ciclo 2. Arquitectura del ciclo de vida de la aplicacin: establecimiento de
una arquitectura
i d
detallada
ll d y verificacin
ifi i dde su viabilidad
i bilid d
Ciclo 3. Capacidad de operacin inicial: consecucin de la capacidad para
cada etapa crtica del proyecto
Modelos de proceso
Modelos en espiral (V)
Modelo win-win [Boehm et al., 1998]
Modelos de proceso
Desarrollo rpido de aplicaciones (I)
El modelo de desarrollo rpido de aplicaciones, DRA (RAD Rapid
Application Development) o modelo de la caja de tiempo surgi como
respuesta al modelo formal y al ciclo en espiral
Enfatiza un ciclo de desarrollo extremadamente corto
M d l ffuncional
Modelo i l en 60 90 d
das
No es un modelo bien definido
Secuencia de integraciones de un sistema evolutivo o de prototipos que se
revisan con el cliente descubrimiento de los requisitos
Cada integracin se restringe a un perodo de tiempo bien definido (caja de
tiempo)
C
Caractersticas
t ti
Modelo secuencial: Separacin en fases de cada caja de tiempo
Integraciones constantes
Centrado en el cdigo ms que en la documentacin
Desarrollo basado en componentes
Uso efectivo de herramientas y frameworks
Participacin activa del usuario
Modelos de proceso
Desarrollo rpido de aplicaciones (II)
Equipo n 3
Modelado
de gestin
Modelado Cuando se utiliza en S.I.
Equipo n 2 de datos
Modelado Modelado Automatizados,
de gestin de procesos
Modelado Gener. de comprende las fases [Kerr
Equipo n 1 aplicaciones
de datos Pruebas y y Hunter, 1994]
Modelado Modelado entrega
de gestin de procesos Modelado de gestin
Gener. de
Modelado aplicaciones Modelado de datos
de datos Pruebas y
Modelado del proceso
entrega
Modelado Generacin de
de procesos aplicaciones
Gener. de Pruebas y entrega
aplicaciones
p
Pruebas y
entrega
De 60 a 90 das
Modelo DRA [Kerr y Hunter, 1994]
Modelos de proceso del software 19
Anlisis de Sistemas
Modelos de proceso
Desarrollo rpido de aplicaciones (III)
Modelos de proceso
Modelos orientados a la reutilizacin (I)
Enfoque de desarrollo que trata de maximizar la reutilizacin de software
existente
i t t [Sommerville,
[S ill 2002]
Las unidades software reutilizables pueden ser de diferente tamao:
Sistemas de aplicaciones: se reutiliza la totalidad del sistema
Sin ningn cambio (reutilizacin de productos COTS)
Desarrollo de familias de aplicaciones para plataformas diferentes o necesidades
especficas
Componentes: la reutilizacin va desde subsistemas hasta objetos simples
Funciones: componentes de software que implementan una sola funcin
Familias de aplicaciones o lneas de productos: conjunto relacionado de
aplicaciones que tiene una arquitectura comn de dominio especfico. Existen varios
tipos de especializacin:
De la plataforma: varias versiones de la aplicacin se desarrollan para diferente
plataforma
De la configuracin: se crean diferentes versiones para manejar diversos
dispositivos perifricos
De la funcionalidad: diferentes versiones para clientes con requisitos diferentes
Modelos de proceso
Modelos orientados a la reutilizacin (II)
Desarrollo basado en componentes (I)
Configura
C fi aplicaciones
li i a partir
ti d
de componentes
t dde software
ft preparados
d
[Pressman, 2002]
Enfoque iterativo y evolutivo [Nierstrasz, 1999]
Se enmarca en un contexto ms amplio: ingeniera del software basada en
componentes
Identificar
Planificacin Anlisis de componentes
riesgos candidatos
Comunicacin
con el cliente
Construir la Buscar
iteracin del componentes
sistema en bibliotecas
Construir
componentes
no disponibles
di ibl
Modelos de proceso
Modelos orientados a la reutilizacin (III)
Modelos de proceso
Modelos orientados a la reutilizacin (IV)
Ingeniera del software basada en componentes
[Presman 2001]
[Presman,
Ingeniera del software basada en componentes
Modelos de proceso
Modelos orientados a la reutilizacin (V)
Actividades de la ingeniera del dominio
Anlisis del dominio:
Definir el dominio a investigar
Categorizar los elementos extrados del dominio
Recoger una muestra representativa de las aplicaciones del dominio
Analizar cada aplicacin de la muestra
Desarrollar un modelo de anlisis para los objetos
Definir un lenguaje del dominio: hace posible la especificacin y construccin
posterior de aplicaciones dentro del dominio
Modelo del dominio: resultado de las actividades anteriores
Modelado estructural: Enfoque de ingeniera basado en tramas que
opera efectuando la suposicin consistente de que todo dominio de
aplicacin posee tramas repetidas (de funcin, de datos y de
comportamiento) que tienen un potencial de reutilizacin
Todo dominio de aplicacin se puede caracterizar por un modelo estructural
Un modelo estructural es un estilo arquitectnico reutilizable
Punto de estructura: estructura bien diferenciada dentro de un modelo
estructural
t t l (genricos:
( i aplicaciones
li i cliente,
li t b bases d
de d
datos,
t motores
t d
de clculo,
l l
funcin de reproduccin de informes, editor de aplicaciones)
Modelos de proceso del software 25
Anlisis de Sistemas
Modelos de proceso
Modelos orientados a la reutilizacin (VI)
Modelos de proceso
Modelos para sistemas OO (I)
Caractersticas
Eliminacin de las fronteras entre fases
Desarrollo basado en componentes reutilizables
Desarrollo iterativo e incremental
Las tareas de cada fase se realizan de forma iterativa
Existe un ciclo de desarrollo que permite la evolucin del sistema
Alto grado de iteracin y solapamiento
El sistema se divide en un conjunto de particiones que se van
desarrollando e integrando de forma incremental
Modelos de proceso
Modelos para sistemas OO (II)
Modelo de agrupamiento (I)
Propuesto por Bertrand Meyer [Meyer, 1990]
Concepto clave: AGRUPAMIENTO (cluster) [Meyer, 1999]
Unidad organizativa bsica
Grupo de clases relacionadas o, recursivamente, clusters
relacionados
Unidad
U id d natural
t l para ell d
desarrollo
ll por parte
t dde un
nico
i d desarrollador
ll d
Evita el efecto todo-nada propio del modelo en cascada
Tiene un componente
p secuencial y un componente
p concurrente
Existencia de diferentes subciclos de vida (uno para cada cluster)
que pueden solaparse en el tiempo
Cada subciclo de vida que gobierna el desarrollo de un cluster est
formado por
Especificacin, Diseo, Implementacin, Verificacin/Validacin y
Generalizacin
Modelos de proceso
Modelos para sistemas OO (III)
Modelo de agrupamiento (II)
Enfoque ascendente
La ocultacin de la informacin posibilita la forma del modelo
de clusters de ingeniera concurrente
Tiempo
Tiempo
Modelos de proceso
Modelos para sistemas OO (IV)
Modelo fuente (I)
Definido por Henderson-Sellers y Edwards en 1990 [Henderson-
Sellers y Edwards, 1990]
Representa grficamente el alto grado de iteracin y
solapamiento que hace posible la tecnologa de objetos
P
Propone dos
d modelos
d l d de ciclo
i l dde vida
id
Para el sistema completo
Para cada clase o mdulo: Cada clase puede estar en una fase
diferente del ciclo de vida durante el desarrollo del sistema
El modelo permite la integracin del anlisis de dominio: identificacin,
anlisis y especificacin de requisitos comunes de un dominio de
aplicacin especfico
Modelos de proceso
Modelos para sistemas OO (V)
Modelo fuente (II)
Utilizacin
Mantenimiento Evolucin Generalizacin Generalizacin
Utilizacin Re-evaluacin Re-evaluacin
Prueba
Pruebas
Sistema Implemen-
Pruebas tacin
Unitarias Diseo de
Codificacin Componente
Componentes Diseo
Diseo Conceptual
Conceptual
Anlisis Anlisis
Estudio de
viabilidad y Requisitos
requisitos
Piscina SW Piscina SW
Modelo fuente para el sistema y para un componente
Modelos de proceso del software 31
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (VI)
El proceso unificado (I)
Definido por Rational Software Corporation [Jacobson et al., 2000]
Evolucin del proceso Objectory de Rational
Utilizacin de UML [[Booch et al.,, 1999]] como lenguaje
g j de modelado
Basado en componentes
Caractersticas
Conducido por casos de uso
Los casos de uso se implementan para asegurar que toda la funcionalidad
se realiza en el sistema y verificar y probar el mismo. Como los casos de
uso contienen las descripciones de las funciones, afectan a todas las fases
y vistas
Centrado en la arquitectura
La arquitectura se describe mediante diferentes vistas del sistema. Es
i
importante
t t establecer
t bl una arquitectura
it t bsica
b i pronto,t realizar
li prototipos,
t ti
evaluarla y finalmente refinarla durante el curso del proyecto
Iterativo e incremental
Resulta prctico dividir los grandes proyectos en mini proyectos
proyectos, cada uno
de los cuales es una iteracin que resulta en un incremento
Modelos de proceso del software 32
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (VII)
Modelos de proceso
Modelos para sistemas OO (VIII)
Modelos de proceso
Modelos para sistemas OO (IX)
tiempo
Modelos de proceso
Modelos para sistemas OO (X)
El proceso unificado (IV)
L iteraciones
Las it i discurren
di a lo
l largo
l de
d los
l flujos
fl j dde ttrabajo
b j
Fases
Flujos de trabajo
Inicio Elaboracin Construccin Transicin
Requisitos
Anlisis
Diseo
Implementacin
Pruebas
Iteraciones
Modelos de proceso del software 36
Anlisis de Sistemas
Modelos de proceso
Procesos giles (I)
Los procesos giles constituyen un nuevo enfoque en el desarrollo
de software cuyas principales caractersticas son:
Menor nfasis en el anlisis, diseo y documentacin
Equipos pequeos
Desarrollo incremental
Programacin (planificacin temporal) en cajas de tiempo
Supervivencia en un entorno catico
Las aproximaciones
L i i
giles
il emplean
l procesos t
tcnicos
i ydde gestin
ti
que continuamente se adaptan y se ajustan a (Turk et al., 2002)
Cambios derivados de las experiencias g
ganadas durante el desarrollo
Cambios en los requisitos
Cambios en el entorno de desarrollo
Diversas aproximaciones
XP (eXtreme Programming) [Beck, 1999]
Crystal [Alistair Cockburn, 1999]
Proceso Software Adaptativo [Jim Highsmith, 2000]
Scrum [Schwaber, 1995]
Modelos de proceso del software 37
Anlisis de Sistemas
Modelos de proceso
Procesos giles (II)
Programacin extrema [Beck, 1999]
Nuevo y controvertido enfoque de desarrollo de software
basado en el modelo incremental
Est indicado para
p
Equipos de tamao mediano o pequeo
Requisitos imprecisos y cambiantes
C
Caractersticas:
t ti
El juego de la planificacin Programacin en parejas
Versiones pequeas Propiedad colectiva
Metfora Integracin continua
Diseo sencillo Cliente in-situ
Hacer ppruebas Estndares de codificacin
Refactoring
Segn Beck (2000) XP descansa sobre cuatro valores
Comunicacin Realimentacin
Sencillez Valenta
Modelos de proceso del software 38
Anlisis de Sistemas
Modelos de proceso
Procesos giles (III)
Desarrollo de software adaptativo (I) [Highsmith, 2000]
Modelo
M d l gilil y adaptativo
d t ti b basado
d en lla colaboracin
l b i y orientado
i t d all
desarrollo de sistemas complejos
Fases del ciclo de vida:
Especulacin
Inicio del proyecto
Planificacin del ciclo adaptativo: enunciado, restricciones y requisitos bsicos
Plan de lanzamiento: definicin de un conjunto de ciclos (incrementos)
Colaboracin
Construir la funcionalidad definida en la fase anterior
Uso de tcnicas JAD (Joint Application Development) y trabajo colaborativo
Aprendizaje
Revisin de calidad al final de cada ciclo
Aprendizaje
Grupos enfocados
Revisiones tcnicas formales
Post mortem
Modelos de proceso del software 39
Anlisis de Sistemas
Modelos de proceso
Procesos giles (IV)
Desarrollo de software adaptativo (II)
Modelos de proceso
Modelos de proceso de la Ingeniera Web (I)
Las caractersticas de sistemas y aplicaciones basados en Web
influyen enormemente en el proceso de Ingeniera Web (IWeb):
Intensivas de red
Controladas por contenido
Evolucin continua
Inmediatez
E tti
Esttica
El ciclo de desarrollo de una aplicacin Web consta de las siguientes
fases de ingeniera:
g
Definicin y anlisis de los sistemas Web
Diseo de los sistemas Web
Diseo arquitectnico
Diseo de la navegacin
Diseo de la interfaz
Pruebas de las aplicaciones Web
Modelos de proceso
Modelos de proceso de la Ingeniera Web (II)
Planificacin
Anlisis
Diseo del Diseo
Formulacin contenido arquitectnico
Diseo de
Produccin
Ingeniera la navegacin
Evaluacin Diseo de la
del cliente interfaz
Generacin de
pginas y
pruebas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (III)
Modelo de Pressman (II)
Formulacin: identificacin de metas y objetivos
Planificacin: estimacin de costes, evaluacin de riesgos y
planificacin temporal del proyecto
Anlisis: establecimiento de requisitos
Ingeniera: dos grupos de tareas paralelas
paralelas,
Tcnicas (diseo arquitectnico, de navegacin y de interfaz)
No tcnicas ((diseo del contenido y produccin)
p )
Generacin de pginas y pruebas
El contenido se fusiona con los diseos arquitectnico, de navegacin
y de interfaz para elaborar pginas web ejecutables en HTML, JSP...
Integracin con el software intermedio (middleware) de componentes
Evaluacin con el cliente: revisin de cada incremento y solicitud de
cambios
Modelos de proceso del software 43
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (IV)
Modelo de Pressman (III) [Pressman, 2006]
Comunicacin con el cliente:
Anlisis de negocio
F
Formulacin
l i
Planificacin: definicin de tareas y calendario para el desarrollo
de un incremento
Modelado: las actividades de anlisis y diseo convencionales se
adaptan y se funden con las especficas de las aplicaciones Web
Construccin: construccin y prueba de un incremento
Despliegue
Configuracin
C fi i d
de lla aplicacin
li i para su ambiente
bi t operativo
ti
Entrega a los usuarios
Evaluacin
Las actividades se realizan siguiendo un flujo de proceso incremental
Modelos de proceso del software 44
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (V)
El proceso unificado en la Ingeniera Web (I)
La clave para utilizar el Proceso Unificado en el desarrollo de aplicaciones
Web la dan los casos de uso (Ward y Kroll, 1999)
Integran el marco de ingeniera, que ofrece el Proceso Unificado, con el proceso
de diseo creativo que caracteriza a las aplicaciones Web
Ofrecen una forma de expresar en trminos comunes un entendimiento
compartido del comportamiento esperado de la aplicacin Web
Juegan el papel de lengua franca en los proyectos software, es decir, son el
lenguaje hablado por todos los implicados en la definicin y el desarrollo del
sistema Web
Integracin del diseo creativo en el desarrollo
Requisitos Prototipo inicial de IU Web
Diseo creativo Guas IU
Mapa de navegacin Prototipo completo de IU Web
Simulacin del diseo creativo Mapa de navegacin completo
Elementos de diseo Web
Modelos de proceso
Modelos de proceso de la Ingeniera Web (VI)
El proceso unificado en la Ingeniera Web (II)
Modelos de proceso
Modelos de proceso de la Ingeniera Web (VII)
El proceso unificado en la Ingeniera Web (III)
R
Requisitos
i it
Visin
Acuerdo sobre los problemas que deben resolverse
D fi i i d
Definicin de llos llmites
it d dell sistema
i t
Descripcin de las caractersticas ms importantes del sistema
Modelo de casos de uso: documentacin de los requisitos que permite a los
usuarios articular sus necesidades (servicios del sistema)
Los actores representan a los usuarios
Los casos de uso representan los servicios
Especificacin suplementaria: contiene los requisitos no funcionales. Conviene
desarrollar un glosario con la terminologa comn del proyecto
Diseo creativo: guas iniciales de la interfaz de usuario
El humor
humor del sitio
sitio
Cmo accedern los usuarios al sitio, qu navegadores usarn
Si el sitio tendr marcos
Li it i
Limitaciones de
d colorl d
dell sitio
iti
Aspectos relativos a grficos, animaciones...
Modelos de proceso del software 47
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (VIII)
El proceso unificado en la Ingeniera Web (IV)
Mapa de navegacin: representacin jerrquica de la navegacin de
los usuarios en el sitio (site map)
El nmero de niveles representa el nmero de clicks necesarios para llegar
a una pgina
Toma como referencia el modelo de casos de uso
Se identifican pginas lgicas candidatas para la interfaz de usuario. Se
representan
p en el anlisis con el constructor UML boundary y class
Modelos de proceso
Modelos de proceso de la Ingeniera Web (IX)
El proceso unificado en la Ingeniera Web (V)
Simulacin
Si l i del d l diseo
di creativo:
ti actividad
ti id d d
de prototipado
t ti d d de lla
interfaz de usuario de RUP
Se toma un caso de uso principal y se generan diseos alternativos
Se construyen prototipos de los diseos seleccionados por los
stakeholders
Elementos de diseo Web: imgenes grficas discretas que se
ensamblan para construir la pgina web
Reutilizacin de componentes grficos estndar
Identificacin de componentes a partir de casos de uso
Se crean en paralelo con el diseo inicial del prototipo de IU
Prototipo inicial de IU Web: actividad RUP de protototipado de la
interfaz de usuario
Soporta slo una porcin del sistema
Se utilizan los elementos de diseo identificados en la etapa anterior
Modelos de proceso
Modelos de proceso de la Ingeniera Web (X)
El proceso unificado en la Ingeniera Web (VI)
Guas IU: actividad RUP de Guas de desarrollo de IU
Prototipo completo de IU Web: extiende el prototipo inicial para
cubrir todos los casos de uso
Muestra la navegacin completa entre pantallas y todos los
elementos visuales del sitio
Las pginas del prototipo se refinarn de forma iterativa en el
desarrollo
Mapa de navegacin completo
Se basa en el mapa inicial y en la definicin completa de los casos de
uso
I l
Incluye t d las
todas l pginas/pantallas
i / t ll d dell prototipo
t ti IU W
Web
b
Modelos de proceso
Modelos de proceso de la Ingeniera Web (XI)
UWE (UML-based Web Engineering) (I)
[Koch 2001; Hennicker y Koch
[Koch, Koch, 2000]
Desarrollo iterativo e incremental: basado en el
Proceso unificado
Uso de UML: perfil UML propio
Centrado en la sistematizacin y automatizacin:
Proceso sistemtico
de diseo
Generacin semiautomtica de aplicaciones web a
travs de un framework de publicacin XML
(UWEXML)
UWE comprende:
Una notacin
Un mtodo
Un metamodelo
Un proceso de desarrollo
Una herramienta CASE
Modelos de proceso
Modelos de proceso de la
Ingeniera Web (XII)
UWE (UML
(UML-based
b d Web
W b
Engineering) (II)
Bibliografa
Ambler, S. W. In search of a generic SDLC for object systems. Object Magazine, 4(6): 76-78, 1994.
Beck, K. Embracing Change with Extrem Programming, IEEE Computer 32, pp. 70-77, 1999.
Beck, K. Extreme Programming Explained. Embrace Change. Addison-Wesley, 2000.
Birrel N.
Birrel, N DD., Ould,
Ould M.A.
M A AA practical Handbook for Software Development
Development. Cambridge University Press,
Press 1985.
1985
Boehm, B. W. A Spiral Model of Software Development and Enhancement. ACM Software Engineering Notes,
11(4):22-42. 1986.
Boehm, B. W. A Spiral Model of Software Development and Enhancement. Computer , 21(5): 61-72 , 1988.
Boehm, B., Egyed, A., Port, D., Shah, A., Kwan, J., Madachy, R. A Stakeholder Win-Win Approach to Software
E i
Engineering i Ed
Education.
ti Annals
A l off Software
S ft E i
Engineering
i , 6,6 295
295-321,
321 1998
1998.
Booch, G., Rumbaugh, J., Jacobson, I. El Lenguaje Unificado de Modelado. Addison Wesley, 1999.
Butler, J. Rapid Application Development in Action. Managing System Development, Applied Computer Research,
14(5):6-8. May, 1994.
Cockburn, A. Software Development as a Cooperative Game, Humans and Tecnology inc., 1999.
htt // li t i
http://alistair.cockburn.us/crystal/articles/sdacg/softwaredevelopmentasacooperativegame.html
kb / t l/ ti l / d / ft d l t ti ht l
Graham, I. Mtodos orientados a objetos, Adison-Wesley, 1996.
Hennicker, R. y Koch, N. A UML-based Methodology for Hypermedia Design. En Proceedings of the Unified Modeling
Language Conference (UML2000). A. Evans y S. Kent (Eds.). Lecture Notes in Computer Science LNCS Vol. 1939.
Pginas
g 410-424. Springer-Verlag,
p g g 2000.
Henderson-Sellers, B., Edwards, J. M. The fountain Model for object-oriented systems development, Object
Magazine, julio/agosto, pp 71-79, 1993.
Henderson-Sellers, B., Edwards, J. M. The object-oriented systems life cycle, Communications of the ACM, 33(9):
143-159, 1990.
g
Highsmith, , J.,, Adaptive
p Software Development:
p A Colaborative Approach
pp to Managing
g g Complex
p Systems,
y , Dorset
House, 2000.
IEEE. IEEE Software Engineering Standards Collection 1999 Edition. Volume 2: Process Standards. IEEE
Computer Society Press, 1999.
ISO/IEC. Information Technology Software Life Cycle Processes. Technical ISO/IEC 12207:1995(E), 1995.
SO/ C Systems
ISO/IEC. Syste s a andd So
Software
t a ee
engineering
g ee g - So Software
t a e lifee cycle
cyc e p
processes.
ocesses ISO/IEC
SO/ C 12207:2008,
0 008, 2008.
008
Bibliografa
Jacobson, I., Booch, G., Rumbaugh, J. El Proceso Unificado de Desarrollo, Addison Wesley, 2000.
Kerr, J., Hunter, R. Inside RAD, McGraw-Hill, 1994.
Koch,, N.Software Engineering
g g for Adaptive
p Hypermedia
yp Applications.
pp Reference Model,, Modeling g Techniques
q and
Development Process. PhD. Thesis, Ludwig-Maximilians-Universitt Mnchen, 2001.
Kruchten, P. Un processus de dveloppement de logiciel itratif et centr sur lrchitecture, Proceedings of the 4th
International Conference on Software Engineering. Toulouse, Paris, 1991.
Martin, J. Rapid Application Development, Prentice Hall, 1991.
Meyer B
Meyer, B. La
La Nueva Cultura del Desarrollo de Software
Software, Systems,
Systems pp.pp 12-13
12-13. Septiembre,
Septiembre 1990
1990.
Meyer, B. Construccin de software orientado a objetos, Prentice Hall, 1999.
Mills, H. D., Dyer, M., Linger, R. Cleanroom Software Engineering, IEEE Software, 4(5): 19-25. September 1987.
Muller, P. A. Modelado de objetos con UML, Eyrolles-Ediciones Gestin 2000, 1997.
Nierstrasz,O., Gibbs, S.J., Tsichritzis, D. Component-Oriented Software Development. CACM, 35(9): 160-165, 1992.
Piattini, M.G. et al. Anlisis y diseo detallado de aplicaciones Informticas de Gestin, Rama, 1996.
Pressman, R. S. Ingeniera del Software, un enfoque prctico, 5 Edicin. Mc Graw Hill, 2002.
Pressman, R. S. Ingeniera del Software, un enfoque prctico, 6 Edicin. Mc Graw Hill, 2006.
Royce, W. W. Managing the Development of Large Software Systems: Concepts and Techniques, In Proceedings
WESCON August
WESCON. August, 1970.
1970
Rumbaugh, J. Over the waterfall and into the whirlpool, JOOP, mayo, pp 23-26, 1992.
Sommerville, I. Software Engineering, 6th ed., Addison Wesley, 2001.
Schwaber, K. SCRUM Development Process. OOPSLA95 Workshop on Business Object Design and Implementation,
http://www.tiac.netJusers/jsuthfoopsla/oo95summary.html, 10 Dee 95.
Turk, D., France, R. y Rumpe, B. (2002) Limitations of Agile Software Processes. En Proceedings of 4th International
Conference on eXtreme Programming and Agile Processes in Software Engineering, XP2002. (Alghero, Sardinia,
Italy, April 2002), pp. 43-46, 2002.
Ward, S. , Kroll, P., Building Web Solutions with the Rational Unified Process: Unifying the Creative Design
Process and the Software Engineering
g g Process,, Rational Software & Context Integration
g white paper,
p p , 1999.