Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Octubre del 2017)
1.344 visualizaciones desde el 20 de Octubre del 2017
1,5 MB
27 paginas
Creado hace 13a (04/10/2011)
Arquitectura de Proyectos de IT
Arquitectura de Presentación
Jorge L García
Tuesday, October 4, 2011
© 2005
¿Qué es Presentación?
Es lo que permite al
usuario interactuar
con el modelo de
dominio de la
aplicación (ui / gui)
2
2
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Usabilidad
La presentación es el punto de
mayor impacto en la usabilidad.
Fácil de aprender
Fácil de usar
Fácil de recordar
Tolerante a errores
Robusto
Buena impresión (?)
3
2
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
¿Por qué es tan complejo?
Se mezcla con la lógica de negocio
Cada usuario es diferente
Cambian los contextos de uso
Cuesta encontrar buenas abstracciones
No suele ser parte del análisis
No suele haber alguien dedicado
4
3
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Se mezcla con la lógica
“...Y cuando elijo el país,
dependiendo si es Argentina u otro,
debe validar si el CPA es correcto.”
5
3
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Usuarios diferentes
Etnografía
Customización
Accesibilidad
6
3
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Contexto de uso
7
3
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Un poco de historia
Botones y luces
Impresoras
Línea de comando
Terminales
Cliente Servidor
Engines Gráficos
Web
RIA
8
3
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Decisiones a Tomar
1. ¿Cómo distribuirlo?
2. ¿Cliente liviano o pesado?
3. ¿Quién controla el flujo de la aplicación?
4. ¿Cómo se estructura la navegación?
5. ¿Cómo se maneja el estado conversacional?
6. ¿Cómo se relaciona con la lógica de dominio?
7. ¿Dónde se integra la lógica?
9
5
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
1- Distribución
La presentación puede ser
condicionada por el despliegue
¿Por qué?
– Muchos clientes = muchas máquinas
– Los usuarios están en distintos lugares
– Puedo separar la presentación para solucionarlo ¿O no?
10
6
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
2- Cliente pesado y liviano
La decisión impacta básicamente en
– Despliegue
– Cercanía con el dominio
– Ubicación de la lógica de negocio
11
7
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
3- Control de la Iniciativa
User Initiative
– Pedido-Respuesta
– Orientado a Eventos
Application Initiative
– Usuario contesta preguntas
– Wizard
– Alarmas y eventos disparados por la aplicación
Combinada
– Interactivo, Conversación
– Continuation
12
8
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
4- Formas de Navegación
Pantallas y Formularios
– Stateless
– Terminal boba / Mainframe, Web Tradicional
Ventanas o Diálogos
– Stateful / Wizards
– Cliente – Servidor, RIA
Manipulación Directa
– Objetos
13
9
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
5- Estado conversacional (sesión)
Cliente
En cada pedido
Servidor (Session)
Compartido
Caso de Uso (Flow)
14
10
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
6- Integración con el dominio de la aplicación
Stateless
– Servicios
– Procesos
Stateful
– Eventos
– Objetos
15
11
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
7- ¿Dónde se integra la lógica?
Campo a campo
– Validaciones
– Máscaras
– Pickers y otros controles más elaborados
Por formulario o pantalla
– Lo más utilizado
– Más cerca de la tecnología, a veces menos conceptual
Por caso de uso
– Ejecución de un caso de uso de negocio
16
12
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Formas de desarrollar presentación
Visual
Programática
– Template
– Componentes
Declarativa
Automática / Introspectiva
17
16
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Ideas de Diseño y patrones
MVC – MVP
Morphic
Model Driven Presentation (MDP)
Templates
Components
SPA Single Page Application
18
17
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Clientes pesados tradicionales
AWT, Swing, SWT – Java
.Net Desktop - VB6
Delphi
Dolphin – Smalltalk
19
18
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Web tradicionales
PHP
JSP / Servlets
ASP
Cold Fusion
Perl
Algunas herramientas
Struts – Stripes
Taglibs
XSL
20
19
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Web + Components
Tapestry
JSF
ASP .Net
Web Objects
21
20
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Herramientas RIA
Javascript + DHTML
Applets
ActiveX
AJAX y Web Sockets
Flash
SVG (gráfico de vectores escalares) y Canvas
22
21
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Plataformas RIA
XUL (XML + Javascript + Stylesheets)
Flex (Macromedia, MXML), Lazslo, Air
GWT
HTML5
Java FX, Silverlight (.NET)
23
22
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
MDP (Model Driven Presentation)
Naked Objects
Ruby on Rails
24
23
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Otros Problemas (I)
Usabilidad limitada
– Drag & Drop
– Máscaras
– Eventos disparados por el server
Múltiples tareas simultáneas
Transacciones
25
13
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Otros Problemas (II)
Seguridad
Validación
Manejo de errores
– Cómo mostrarlos
– Múltiples errores simultáneos
Unit Testing de la UI
26
14
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Otros Problemas (III)
Navegabilidad
Múltiples formas de invocar funciones
User Session Management
Internacionalización
27
15
Tuesday, October 4, 2011
Arquitectura de Proyectos de IT
Comentarios de: Arquitectura de Presentación - Arquitectura de Proyectos de IT (0)
No hay comentarios