Está en la página 1de 33

Escuela de Ingeniera de Sistemas y

Computacin
Aplicaciones en el Web y Redes
Inalmbricas
mauricio.gaona@correounivalle.edu.co

Universidad del Valle - EISC

EISC

www

Arquitecturas de software de una Aplicacin Web

Universidad del Valle - EISC

El proceso de Ingeniera Web


Modelo de Anlisis
Contenido
Funcin
Configuracin
Planeacin
Plan de Iteracin
Formulacin
Anlisis del Negocio
Comunicacin con el cliente
Plan Gua

Retroalimentacin
Uso del Consumidor
Evaluacin del Consumidor

Modelo de Diseo
Contenido
Arquitectura
Navegacin
Interfaz
Construccin
Codificacin
Pruebas de Componentes
Entrega
Pruebas de
Aceptacin

Universidad del Valle - EISC

El proceso de Ingeniera Web

Modelo de Navegacin

Modelo de Navegacin

Universidad del Valle - EISC

El proceso de desarrollo de aplicaciones web


Giado por modelos
Modelo de Anlisis
Modelo de Diseo

Dependen de la metodologa de
desarrollo
RUP
XP
MSF
....

Mejores prcticas para el desarrollo


de aplicaciones web:
Desarrollos iterativos
Verificacin continua de la calidad
Requerimientos desde los usuarios
Guiados por arquitecturas
Desarrollo en equipos
6
Universidad del Valle - EISC

XP y el proceso
de Ingeniera Web

Metodologa XP

Repaso

XP: eXtreme Programming


Todos en algn momento nos hemos hecho esta pregunta,
cuando hemos tenido que desarrollar un software. Y de
hecho esta pregunta se torna muy importante, pues
como arquitectos de Software, debemos tener un plano
en que apoyarnos.
Todo desarrollo de software es riesgoso y difcil de
controlar, pero si no llevamos una metodologa de por
medio, lo que obtenemos es clientes insatisfechos con
el resultado y desarrolladores an ms insatisfechos.

Universidad del Valle - EISC

Introduccin a extreme programming


Historia

Movimiento heterodoxo que confronta metodologas consagradas


Porque surgen:
Crisis del Software
Responsabilidades de las grandes metodologas
Organismos y corporaciones han creado gran cantidad de
estndares: CMM, PMI, ITL, COBIT, ISO9000, 27XXX, Spice,
BootStrap, TickIt, derivaciones de ISO9000, SDCE y otros.
Algunos son verdaderamente mtodos; otros, metodologas de
evaluacin o estimacin de conformidad; otros ms, estndares
para metodologas o meta-modelos.

XP Naci en 1996.
Ken Beck fundador de la metodologa de XP.
Proyecto C3 de DaimlerChrysler.
Identific que era lo simple y lo difcil al momento de programar.

EISC

Introduccin a extreme programming


Conceptos

Todo en el software cambia. Los requisitos cambian. El diseo


cambia. El negocio cambia. La tecnologa cambia. El equipo
cambia. Los miembros del equipo cambian. El problema no es el
cambio en s mismo, puesto que sabemos que el cambio va a
suceder; el problema es la incapacidad de adaptarnos a dicho
cambio cuando ste tiene lugar. Kent Beck.

Qu es XP?

La Programacin Extrema es una metodologa ligera de


desarrollo de software que se basa en la simplicidad, la
comunicacin y la realimentacin o reutilizacin del cdigo
desarrollado.

EISC

Introduccin a extreme programming


Conceptos

XP surgo como respuesta y posible solucin a los


problemas derivados del cambio en los requerimientos
XP aumenta la productividad

Programacin basada en los deseos del cliente.


El equipo lo conforman los jefes de proyecto,
desarrolladores y el cliente. (stakeholders)
Se rige por valores y principios.

EISC

Introduccin a extreme programming


Conceptos

Valores de XP
Comunicacin: Crear software requiere de sistemas
comunicados.
Simplicidad: Empezar con lo necesario y requerido y trabajar
desde ah.
Retroalimentacin: Del sistema, del cliente, y del equipo.
Valenta: Programa para hoy y no para maana. (40 horas a
la semana)
Respeto: El equipo debe trabajar como uno, sin hacer
decisiones repentinas.

EISC

Introduccin a extreme programming


Conceptos

Actividades
Codificacin: La parte mas importante de XP.
Pruebas: Nunca se puede estar seguro de algo hasta
haberlo probado.
Escuchar: Escuchar los requisitos del cliente acerca del
sistema a crear.
Diseo: Crear una estructura del diseo para evitar
problemas.

EISC

Introduccin a extreme programming


Conceptos: Fases de XP

EISC

Introduccin a extreme programming


Conceptos: Historias de usuario

El primer paso de cualquier proyecto que siga la metodologa XP es definir


las historias de usuario con el cliente.
Las historias de usuario tienen la misma finalidad que los casos de uso pero
con algunas diferencias: Constan de pocas lneas escritas por el cliente en un
lenguaje no tcnico sin hacer mucho hincapi en los detalles;
No se debe hablar ni de posibles algoritmos para su implementacin ni de
diseos de base de datos adecuados, etc.
Son usadas para estimar tiempos de desarrollo de la parte de la aplicacin
que describen.
Tambin se utilizan en la fase de pruebas, para verificar si el programa
cumple con lo que especifica la historia de usuario.
Cuando llega la hora de implementar una historia de usuario, el cliente y los
desarrolladores se renen para concretar y detallar lo que tiene que hacer
dicha historia.
El tiempo de desarrollo ideal para una historia de usuario es entre 1 y 3
semanas.

EISC

Introduccin a extreme programming


Conceptos: Historias de usuario
Historias de usuario en sus inicios.

EISC

Introduccin a extreme programming


Conceptos: Historias de usuario
Historias de usuario
con ms detalles.

EISC

Metodologa XP

Metodologa gil

Metodologa No gil
(Tradicional)

Pocos artefactos

Ms artefactos

Pocos roles

Ms roles

No existe un contrato
tradicional o al menos es
bastante flexible

Existe un contrato
prefijado

El cliente es parte del


equipo de desarrollo
(adems in-situ)

El cliente interacta con el


equipo de desarrollo
mediante reuniones

Grupos pequeos (< 10


integrantes) y trabajando
en el mismo sitio

Grupos grandes

Menos nfasis en la
arquitectura

La arquitectura es esencial

Repaso

La crtica ms frecuente a las


metodologas tradicionales es
que son burocrticas. Hay
tanto que hacer para seguir la
metodologa que el ritmo
entero del desarrollo se
retarda.
Acusadas de ligereza en la
documentacin, (llegando casi
a la ausencia de la misma), y
de dificultades para ser
aplicadas en proyectos que
involucren a una gran cantidad
de personas o que deban
mantener costos fijos.
Conocer el manifiesto: http://www.agilemanifesto.org/

18

Universidad del Valle - EISC

Metodologa XP
Conceptos

EISC

XP y el proceso
de Ingeniera Web

20

Metodologa XP
Requerimientos en la Web
Tratamiento de Requisitos en Propuestas para el Web
El desarrollo de sistemas de aplicaciones web, agrupa una serie de caractersticas que lo
hacen diferente del desarrollo de otros sistemas.
Por un lado, hay que tener en cuenta que roles muy diferentes de desarrolladores participan
en el proceso: analistas, clientes, usuarios, desarrolladores, diseadores grficos, expertos
en multimedia y seguridad, etc.
Por otro lado, la existencia en estos sistemas de una importante estructura de navegacin
obliga a un desarrollo preciso de este aspecto que garantice que el usuario no se pierde en
el espacio navegacional del sistema.
Estas ideas unidas al hecho que los sistemas web suelen tratar con mltiples medios y es
esencial que ofrezcan una interfaz adecuada en cada momento, obligan a que estos
aspectos propios de la web deban ser tratados de una forma especial en el proceso de
desarrollo.

21

Universidad del Valle - EISC

2012

Metodologa XP
Requerimientos en la Web
Una clasificacin de requisitos relevantes en sistemas web.
Requisitos de datos, tambin denominados requisitos de contenido, requisitos
conceptuales o requisitos de almacenamiento de informacin. stos requisitos responden a
la pregunta de qu informacin debe almacenar y administrar el sistema.
Requisitos de interfaz (al usuario), tambin llamados en algunas propuestas requisitos
de interaccin o de usuario. Responden a la pregunta de cmo va a interactuar el usuario
con el sistema.
Requisitos navegacionales, recogen las necesidades de navegacin del usuario.
Requisitos de personalizacin, describen cmo debe adaptarse el sistema en funcin de
qu usuario interacte con l y de la descripcin actual de dicho usuario.
Requisitos transaccionales o funcionales internos, recogen qu debe hacer el sistema de
forma interna, sin incluir aspectos de interfaz o interaccin. Tambin son conocidos en el
ambiente web como requisitos de servicios.
Requisitos no funcionales, son por ejemplo los requisitos de portabilidad, de
reutilizacin, de entorno de desarrollo, de usabilidad, de disponibilidad, etc.
22

Universidad del Valle - EISC

Metodologa XP
Conceptos: Roles en XP

Equipo de trabajo

EISC

Extreme Programming
Conceptos: Historias de usuario

Definir las historias de usuario


Las historias de usuario tienen la misma finalidad que los casos de uso pero
con algunas diferencias: Constan de pocas lneas escritas por el cliente en un
lenguaje no tcnico sin hacer mucho hincapi en los detalles; debe tener el
actor, la tarea a realizar y el propsito de la historia de usuario.
No se debe hablar ni de posibles algoritmos para su implementacin ni de
diseos de base de datos, etc.
Son usadas para estimar tiempos de desarrollo de la parte de la aplicacin
que describen.
Tambin se utilizan en la fase de pruebas, para verificar si el programa
cumple con lo que especifica la historia de usuario.
Cuando llega la hora de implementar una historia de usuario, el cliente y los
desarrolladores se renen para concretar y detallar lo que tiene que hacer
dicha historia.
El tiempo de desarrollo ideal para una historia de usuario es entre 1 y 3
semanas; sin embargo depende del tipo de proyecto.

EISC

Ejemplo Historia e Usuario.


Creacin de historias de usuario
Las historias de usuario son frases ingeniosas que establecen los requisitos del cliente.
Imagnelas como lo que usted le dira a un cliente para explicarle lo que est haciendo.

Plantilla:

Actor

tarea

Propsito

En mi calidad de<cargo>, deseo <objetivo>lograr<valor de negocios>.

Las historias de usuario tambin pueden tener una jerarqua. Las epopeyas son
aquellas historias de usuario que describen las caractersticas o las funcionalidades
en un nivel ms avanzado. Usted puede iterar con stas, desglosarlas y generar
nuevas historias de usuario y epopeyas

26

Universidad del Valle - EISC

Ejemplo Historia e Usuario.


Creacin de historias de usuario
Epopeyas : Ejemplo gestionar usuarios

Como administrador, deseo crear un nuevo usuario


para agregar un empleado al sistema
En mi calidad de administrador,
deseo administrar los usuarios
para mantener la base de datos
de usuarios de mi sistema.

Como administrador deseo ver los datos de los


Empleados para estar seguro que la informacin que
contienen es vlida

Como administrador deseo editar los datos de los


Empleados para actualizar o cambiar informacin

27

Universidad del Valle - EISC

Ejemplo Historia e Usuario.

28

Universidad del Valle - EISC

Ejemplo Historia e Usuario.

Clase

Usuarios

29

Universidad del Valle - EISC

Ejemplo Historia e Usuario.

Pasar a la plantilla de Historia de usuario los siguientes requerimientos funcionales:


El sistema deber corroborar que las listas de candidatos estn cargadas en la
mquina de votar.

El sistema deber permitirle al presidente de mesa identificarse ante el sistema,


debiendo comprobar que el presidente de mesa es quien dice ser (autenticando su
identidad).

El sistema tendr que permitirle al presidente de mesa cerrar la eleccin de la


mesa, para lo cual:
Deber verificar que se ha iniciado la eleccin.
Deber pedirle que se identifique nuevamente.
Deber contabilizar los votos almacenados.
Tendr que permitir el envo de los votos hacia un centro de recepcin.

30

Universidad del Valle - EISC

Extreme Programming
Conceptos

Priorizacin
Definir el orden en que se desarrollaran al Historias de usuario
Depende de varios factores tales como el producto, aspectos tcnicos, las
preferencias, o el beneficio. Para empezar, el dueo del producto y el equipo de
desarrollo pueden considerar lo siguiente al tomar decisiones sobre la
prioridad:
Valor - Beneficio para la organizacin
Riesgo - La cantidad de riesgo mitigado una vez terminado
Conocimiento - se beneficiarn el equipo al completar esto
Costo / Beneficio - Cunto hay que desarrollar.
Cosas conocidas Caractersticas fciles de implementar que proporcionan
un valor significativo
Dependencia se requiere para otras historias

EISC

Extreme Programming
Conceptos: Iteraciones

Iteraciones
Todo proyecto que siga la metodologa XP. se ha de dividir en iteraciones
de aproximadamente 2 o 3 semanas de duracin.
Al comienzo de cada iteracin los clientes deben seleccionar las historias
de usuario definidas que sern implementadas.
Tambin se seleccionan las historias de usuario que no pasaron el test de
aceptacin que se realiz al terminar la iteracin anterior.
Estas historias de usuario son divididas en tareas de entre 1 y 3 das de
duracin mxima que se asignarn a los programadores.
Al final de cada iteracin debe haber una pequea entrega.

EISC

Extreme Programming
Conceptos: Iteraciones

Velocidad del proyecto:


La velocidad del proyecto es una medida que representa la rapidez con la
que se desarrolla el proyecto
Para estimarla la velocidad de un proyecto se requiere el nmero de
historias de usuario que se determinan implementar en una iteracin y
multiplicarlas por los puntos asignados a cada historia. Ej: 1..6 o otro
mtodo como el mtodo de Planificacin de Pker
Usando la velocidad del proyecto controlaremos que todas las tareas se
puedan desarrollar en el tiempo del que dispone la iteracin.
Es conveniente reevaluar esta medida cada 2 3 iteraciones y si se
aprecia que no es adecuada hay que negociar con el cliente un nuevo
"Release Plan".

EISC

Smart Cities
Smart Cities o Ciudades Inteligentes se constituyen como el nuevo modelo de
desarrollo para las ciudades. A travs de este modelo se busca dotar de inteligencia,
haciendo uso de las tecnologas de la informacin y comunicacin, a las
infraestructuras que componen las ciudades actuales, permitiendo la resolucin de los
problemas cotidianos y mejorando la calidad de vida de los ciudadanos.

http://www.smartcityexpo.com/programa-del-congreso
http://cities.media.mit.edu/
https://www.centrodeinnovacionbbva.com/web/tags/smart-cities
41

Universidad del Valle - EISC

También podría gustarte