Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelos de Proceso de Software
Modelos de Proceso de Software
Anlisis de Sistemas
Contenidos
1. Conceptos bsicos 2. Procesos del ciclo d vida 2 P d l i l de 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
Anlisis de Sistemas
Conceptos bsicos
Proceso del software: conjunto de actividades y resultados asociados que conducen a l creacin d un producto software i d d la i de d t ft [Sommerville, 2002] Ciclo de vida del software: Aproximacin lgica a la adquisicin , p g q el suministro, el desarrollo, la explotacin y el mantenimiento del software (norma IEEE 1074) [IEEE, 1999] El ciclo de vida incluye
Ciclo de desarrollo del sistema Tiempo de vida del sistema
Modelo de ciclo de vida: Marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de software, abarcando l vida d l sistema d d l d fi i i d l requisitos b d la id del i t desde la definicin de los i it hasta la finalizacin de su uso (norma ISO 12207-1) [ISO/IEC, 1995]
Actividad: conjunto de tareas Tarea: accin que t T i transforma entradas en salidas f t d lid
Modelos de proceso del software 3
Anlisis de Sistemas
Procesos de soporte
Documentacin Gestin de la configuracin Aseguramiento de la calidad Verificacin Validacin Revisin conjunta Auditora Resolucin de problemas Nuevos procesos (amendments 2002-2005)
Usabilidad Evaluacin de productos Recursos Humanos Gestin de assets Gestin de peticin de cambios Gestin del programa de reutilizacin Ingeniera del dominio
Anlisis de Sistemas
Anlisis de Sistemas
Modelos de proceso
Modelos tradicionales Formados por un conjunto d f F d j t de fases o actividades en las que que no tienen en cuenta la naturaleza evolutiva del software
Clsico, lineal o en cascada Estructurado Basado en prototipos p p Desarrollo rpido de aplicaciones (RAD)
Modelos para sistemas orientados a objetos Modelos con un alto grado de iteratividad y solapamiento entre p fases
De agrupamiento Fuente Basado en componentes Proceso Unificado
Modelos evolutivos Son modelos que se adaptan a la evolucin que sufren los requisitos del sistema en funcin del tiempo
En espiral p Evolutivo Incremental Modelo de desarrollo concurrente
Procesos giles
Programacin extrema (XP) P i t Desarrollo de software adaptativo Scrum, Crystal
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
Desconocimiento de las necesidades por parte del cliente Inestabilidad de los requisitos No se ven resultados hasta muy avanzado el proyecto Efecto big bang prximo a la entrega Codificacin Prueba
Ciclo de vida clsico Modelos de proceso del software 7
Anlisis Diseo
Anlisis de Sistemas
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 en funcin de los descubrimientos realizados hacia arriba, 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
Ciclo de vida clsico con realimentacin Modelos de proceso del software 8
Anlisis de Sistemas
Modelos de proceso
Modelos iterativos basados en prototipos (I)
Un prototipo es un modelo experimental de un sistema o de un componente de un sistema que tiene los suficientes elementos que permiten su uso Objetivos:
Son un medio eficaz para aclarar los requisitos de los usuarios e identificar las caractersticas de un sistema que deben cambiarse o aadirse Mediante e p otot po se puede verificar la viabilidad de d se o de u s ste a ed a te el prototipo e ca a ab dad del diseo un sistema
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
Anlisis de Sistemas
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 Enfoque de desarrollo EVOLUTIVO
Riguroso Primero las partes bien entendidas. Sobre S b una b base slida. lid Optimizar la modificabilidad
Desecharlo
Incluirlo en el sistema
Diferencias entre los prototipos desechables y evolutivos Modelos de proceso del software 10
Anlisis de Sistemas
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 ocultos. q 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) Prototipado evolutivo (ciclo de vida iterativo)
Caractersticas:
Enfoque de desarrollo que se utiliza cuando no se conoce con seguridad lo que se quiere construir Se comienza diseando e implementando las partes ms destacadas del sistema La evaluacin del prototipo proporciona la realimentacin necesaria para aumentar y refinar el prototipo El prototipo evoluciona y se transforma en el sistema final
Concepto inicial
Anlisis de Sistemas
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
Aparece el anlisis de riesgo Se divide en un nmero de actividades estructurales, tambin denominadas regiones d t i de tareas. E el modelo original d B h aparecen cuatro En l d l i i l de Boehm t regiones de tareas
Planificacin, Anlisis de riesgos, Ingeniera, Evaluacin del cliente
Anlisis de Sistemas
Modelos de proceso
Modelos en espiral (II)
Determinar objetivos, alternativas y restricciones Anlisis de riesgo Anlisis de riesgo Anlisis de riesgo Anlisis Protode riesgo tipo 1 Plan de requisitos y del ciclo de vida Operacin Espec. requisitos Diseo Validacin requisitos V&V diseo Servicio. Plan para la prxima fase Diseo detallado Prototipo ti 2 Protot po tipo 3 Evaluar alternativas Identificar y resolver riesgos
Simulaciones
Anlisis de Sistemas
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 Comunicacin con el cliente Anlisis de riesgos
Construccin y adaptacin
Anlisis de Sistemas
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. Objetivos del ciclo de vida de la aplicacin: objetivos, prototipos 1 objetivos prototipos, planes, especificaciones de cada aplicacin y arquitectura viable Ciclo 2. Arquitectura del ciclo de vida de la aplicacin: establecimiento de una arquitectura d ll d y verificacin d su viabilidad i detallada ifi i de i bilid d Ciclo 3. Capacidad de operacin inicial: consecucin de la capacidad para cada etapa crtica del proyecto
Anlisis de Sistemas
Modelos de proceso
Modelos en espiral (V) Modelo win-win [Boehm et al., 1998]
Anlisis de Sistemas
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
Modelo funcional en 60 90 d M d l f i l das
Caractersticas C 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 del software 18
Anlisis de Sistemas
Modelos de proceso
Desarrollo rpido de aplicaciones (II)
Equipo n 3
Modelado de gestin Modelado Equipo n 2 de datos Modelado Modelado de procesos de gestin Gener. de
Modelado aplicaciones de datos Pruebas y Modelado Modelado entrega de procesos de gestin Gener. de Modelado aplicaciones de datos Pruebas y entrega
Equipo n 1
Cuando se utiliza en S.I. Automatizados, comprende las fases [Kerr y Hunter, 1994]
Modelado de gestin Modelado de datos Modelado del proceso Generacin de aplicaciones Pruebas y entrega
Modelado de procesos
aplicaciones p
Gener. de
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) Las limitaciones de tiempo demandan un mbito de escalas p Si una aplicacin de gestin puede modularse de forma que p pueda completarse cada una de las funciones p p principales en p menos de tres meses, es un candidato del DRA. Cada una de estas funciones puede ser afrontadas por un equipo DRA diferente y ser integradas en una sola aplicacin Inconvenientes [Butler, 1994]
Los proyectos grandes necesitan los recursos humanos suficientes para crear el nmero correcto de equipos Se requiere de un compromiso de las partes involucradas
Anlisis de Sistemas
Modelos de proceso
Modelos orientados a la reutilizacin (I)
Enfoque de desarrollo que trata de maximizar la reutilizacin de software existente [Sommerville, 2002] i t t [S ill
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 del software 21
Anlisis de Sistemas
Modelos de proceso
Modelos orientados a la reutilizacin (II) Desarrollo basado en componentes (I)
Configura aplicaciones a partir d componentes d software preparados C fi li i ti de t de ft d [Pressman, 2002] Enfoque iterativo y evolutivo [Nierstrasz, 1999] Se enmarca en un contexto ms amplio: ingeniera del software basada en componentes
Planificacin Comunicacin con el cliente Anlisis de riesgos
Anlisis de Sistemas
Modelos de proceso
Modelos orientados a la reutilizacin (III) Desarrollo basado en componentes (II) p ( )
Un componente es una unidad ejecutable e independiente Los componentes publican su interfaz y todas las interacciones son a travs de ella
Una interfaz que se suministra define los servicios que ofrece el componente Una interfaz que se solicita especifica qu servicios deben estar disponibles
Anlisis de Sistemas
Modelos de proceso
Modelos orientados a la reutilizacin (IV) Ingeniera del software basada en componentes Ingeniera del dominio Desarrollo basado en componentes
El objetivo de la ingeniera del dominio es identificar, construir, catalogar y diseminar un conjunto de componentes de software que tienen aplicacin en el software actual y futuro dentro d d t de un d i i dominio d de aplicacin particular [Presman, [Presman 2001]
Ingeniera del software basada en componentes Modelos de proceso del software 24
Modelo estructural t t l
Ingeniera de componentes
Comprobacin
Anlisis de Sistemas
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 (genricos: aplicaciones cliente, b t t l( i li i li t bases d d t de datos, motores d clculo, t de 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) Actividades del desarrollo basado en componentes Cualificacin de componentes: Asegura que un componente candidato llevar a cabo la funcin necesaria, encajar en el estilo arquitectnico del sistema y tendr la calidad requerida Adaptacin de componentes: Elimina conflictos de integracin
Enmascaramiento de caja blanca, gris o negra
Composicin de componentes: Ensambla componentes cualificados, adaptados y diseados p , p para la arquitectura q establecida Ingeniera de componentes: Diseo de componentes para su reutilizacin Actualizacin de componentes: El software actual se reemplaza a medida que se dispone de nuevas versiones de componentes
Modelos de proceso del software 26
Anlisis de Sistemas
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
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (II)
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (III)
Tiempo
Espec
DisRea
ValGen
Agrupamiento n
Espec Espec
DisRea DisRea
ValGen
Agrupamiento 2
ValGen
Agrupamiento 1 Tiempo
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (IV)
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (V)
Evolucin
Generalizacin Re-evaluacin
Generalizacin Re-evaluacin
Prueba
Implementacin
Anlisis
Estudio de viabilidad y requisitos
Piscina SW
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (VI)
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 importante establecer una arquitectura bsica pronto, realizar prototipos, i t t t bl it t b i t li t ti evaluarla y finalmente refinarla durante el curso del proyecto
Iterativo e incremental
Resulta prctico dividir los grandes proyectos en mini proyectos cada uno proyectos, 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)
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (VIII)
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (IX)
Elaboracin
Construccin
Transicin
Inicio
Prelim ... Iteracin
Elaboracin
Arqu. Iteracin ...
Construccin
Des. Des. Iteracin Iteracin ...
Transicin
Trans. Iteracin ...
Versin Versin
Versin
Anlisis de Sistemas
Modelos de proceso
Modelos para sistemas OO (X)
Inicio
Elaboracin
Construccin
Transicin
Anlisis
Diseo
Implementacin
Pruebas Iteraciones preliminares ite r. #1 ite r. #2 ite r. #n ite r. #n+1 ite r. #n +2 ite r. #m ite r. #m +1
Iteraciones
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 L aproximaciones il emplean procesos t i i i giles l tcnicos y d gestin de ti que continuamente se adaptan y se ajustan a (Turk et al., 2002)
Cambios derivados de las experiencias ganadas durante el desarrollo g 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
Caractersticas: C t ti
El juego de la planificacin Versiones pequeas Metfora Diseo sencillo Hacer pruebas p Refactoring
Comunicacin Sencillez
Programacin en parejas Propiedad colectiva Integracin continua Cliente in-situ Estndares de codificacin
Anlisis de Sistemas
Modelos de proceso
Procesos giles (III) Desarrollo de software adaptativo (I) [Highsmith, 2000]
Modelo gil M d l il y adaptativo b d t ti basado en l colaboracin y orientado al d la l b i i t d l 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)
Anlisis de Sistemas
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 Esttica E tti
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
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (II)
Planificacin Anlisis Formulacin Diseo del contenido Produccin Diseo arquitectnico Diseo de la navegacin Diseo de la interfaz
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (III)
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (IV)
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 d l aplicacin para su ambiente operativo C fi i de la li i bi t ti Entrega a los usuarios Evaluacin
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
Prototipo inicial de IU Web Guas IU Prototipo completo de IU Web Mapa de navegacin completo
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (VI) El proceso unificado en la Ingeniera Web (II)
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (VII) El proceso unificado en la Ingeniera Web (III)
Requisitos R i it
Visin
Acuerdo sobre los problemas que deben resolverse Definicin de los lmites del i t D fi i i d l l it d l sistema 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
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 en el anlisis con el constructor UML boundary class p y
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (IX) El proceso unificado en la Ingeniera Web (V) Simulacin d l di Si l i del diseo creativo: actividad d prototipado d l ti ti id d de t ti d de la 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
Anlisis de Sistemas
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
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (XI) UWE (UML-based Web Engineering) (I) [Koch, [Koch 2001; Hennicker y Koch 2000] Koch,
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 del software 51
Anlisis de Sistemas
Modelos de proceso
Modelos de proceso de la Ingeniera Web (XII) UWE (UML b (UML-based Web dW b Engineering) (II)
Anlisis de Sistemas
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. D., Ould, M.A. A Birrel N D Ould M A A practical Handbook for Software Development. Cambridge University Press 1985 Development Press, 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 Engineering Ed E i i Education. A ti Annals of Software E i l f S ft Engineering , 6 295 321 1998 i 6, 295-321, 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. http://alistair.cockburn.us/crystal/articles/sdacg/softwaredevelopmentasacooperativegame.html htt // li t i 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 410-424. Springer-Verlag, 2000. g p g g 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 , , p p pp g g p y , Highsmith, J., Adaptive Software Development: A Colaborative Approach to Managing Complex Systems, 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 Syste s and Software engineering So t a e e cyc e processes. SO/ C 0 008, 008 ISO/IEC. Systems a d So t a e e g ee g - Software life cycle p ocesses ISO/IEC 12207:2008, 2008.
Anlisis de Sistemas
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 for Adaptive Hypermedia Applications. Reference Model, Modeling Techniques and , g g p yp pp , g q 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. La Meyer B La Nueva Cultura del Desarrollo de Software , Systems pp. 12-13 Septiembre, 1990 Software Systems, pp 12-13. Septiembre 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, 1970 WESCON August 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 Process, Rational Software & Context Integration white paper, 1999. g g , g p p ,