Implementacion de Interfaces

Slides:



Advertisements
Presentaciones similares
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Advertisements

Lcda. Ingrid Graü Diseño de Sistemas 1. Lcda. Ingrid Graü Diseño de Sistemas 2.
FUNDAMENTOS DEL ANÁLISIS DE SISTEMAS Un sistema es un conjunto de componentes que se unen e interactúan entre si para formar un todo en base a un mismo.
SISTEMAS OPERATIVOS REALIZADO POR: Noelia Hidalgo y Auda López.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
¿Qué es y cómo se clasifica?. El software es un conjunto de programas y aplicaciones que forman el sistema informático (datos y programas de la computadora),
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD FERMÍN TORO – SEDE CABUDARE SISTEMA DE APRENDIZAJE INTERACTIVO A DISTANCIA REPÚBLICA BOLIVARIANA DE VENEZUELA.
Análisis de Proyecto de Software.
Herencia Multiple en Java
Paul Leger Casos de Usos Paul Leger
Ingeniería de requisitos y
Diseño de interfases Sistemas de Información
Flujo de trabajo: Requerimientos
Ciclo de vida del producto y decisiones de selección del proceso
Pruebas de software Msc. Ing. Ernesto Soto Roca.
Ingeniería de Software
Análisis y catalogación de las fuentes que definen las competencias demandadas en el campo de la Interacción Persona-Ordenador Raquel Lacuesta Jesús Gallardo.
SWEBOK.
Programación Orientada a Objetos
Modelos Caso: Diagramas para Empresas
CICLO DE VIDA DEL SOFTWARE
Conceptos y definición básicos
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Ingeniería de Sistemas Requerimientos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
CICLO DE VIDA DEL SOFTWARE
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Ciclo de Vida del Software
Metodología OOHDM Jairo Pinto Ing. sistemas.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Salvador Arteaga Gracia
Ingeniería del Software
Modelo de interacción de usuario.  El Desarrollo basado en modelos de la interfaz de usuario, en inglés Model-based User Interface Development (MB-UID),
Ciclo de Vida del Software
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Roles del Analista de Sistemas Y Ciclo de Vida del Desarrollo de Sistemas.
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Unidad 5: Evaluación de los sistemas
Ciclo de vida del Software
Metodologías de Desarrollo de Software RUP – Proceso Racional Unificado Gilber BASILIO ROBLES I.E.S.T.P. “DANIEL ALCIDES CARRIÓN” Taller de Modelamiento.
Análisis y diseño de aplicaciones. Introducción Crisis del software - conferencia organizada en 1968 por la Comisión de Ciencias de la OTAN en Garmisch.
Elemento de diseño Diseño de interfaces. ¿Que es un diseño en informática? O La palabra diseño se usa para referirse como el proceso de programar, proyectar,
CICLO DE VIDA DE SOFTWARE
Tema 2 Sistemas de información y la organización
PROYECTO DE GRADUACIÓN
Implementacion de Interfaces
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
Metodología de Desarrollo de Sistemas II Ingeniería de Software  DEFINICIÓN La ingeniería del software es el establecimiento y uso de principios de.
Casos de Uso Análisis de requisitos con casos de uso.
WEBTEC-1205 Diseño Visual Digital 2 Profesor: Mauro Laurent Obando
1 Introducción al proceso unificado de desarrollo de software.
Fundamentos del analisis de sistemas de Información Integrantes: Cavero Parraguez, Jesús Espinoza Paz, Julio Daniel Sandoval Chanamé, Kazuo Santisteban.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Características de los Sistemas Operativos
PROYECTO DE GRADUACIÓN
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
Definición interfaz gráfica de usuario IGU – Interfaz Gráfica de Usuario GUI - Graphical User Interface Es la parte de la aplicación con la que el usuario.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
TEMA: Funciones, Roles y Procesos Docente: Jesús Ulloa Ninahuamán.
Ejemplos de la vida cotidiana Los objetos sirven para resolver los problemas para los que se han fabricado.
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
SISTEMA OPERATIVO Un sistema operativo es un programa o conjunto de programas de un sistema informático que gestiona los recursos de Hardware y provee.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
ICI 502 Procesos de Software
Mariam nazareth palomino obregón matricula: recursos digitales
Transcripción de la presentación:

Implementacion de Interfaces Basado en material de David Aspinall Informatics, University of Edinburgh

Focalizandonos en la Implementacion HCI en el proceso de desarrollo de software Ingeniería de Usabilidad y “design rationale” (principios de diseño) Programacion de interfaces Apoyo a la implementación

HCI en Ingenieria de software Model de cascada con retroalimentación

HCI en Ingenieria de software Modelos tradicionales de procesos requieren de modificación. . . Model de cascada con retroalimentación

HCI en Ingenieria de software Modelos tradicionales de procesos requieren de modificación. . . Participacion del usuario Durante el diseño Durante la evaluacion Model de cascada con retroalimentación

HCI en Ingenieria de software Modelos tradicionales de procesos requieren de modificación. . . Participacion del usuario Durante el diseño Durante la evaluacion Evaluacion de la usabilidad Model de cascada con retroalimentación

HCI en Ingenieria de software Modelos tradicionales de procesos requieren de modificación. . . Participacion del usuario Durante el diseño Durante la evaluacion Evaluacion de la usabilidad se debe diseñar la interfaz tempranamente ! UI en el proceso Model de cascada con retroalimentación

Proceso “Virtual Windows” De Lausen y Hanning El diseño de la interfaz de usuario comprende tres actividades principales: Organizar datos en un conjunto de ventanas o marcos, definir funciones que le permitan al usuario controlar el sistema, y diseñar la apariencia gráfica de ventanas y funciones. Estas actividades de diseño pueden basarse en resultados de análisis como el análisis de tareas y el modelado de datos, Pueden incluir actividades de control tales como revisiones y pruebas de usabilidad. El objetivo es crear un sistema que sea fácil de aprender, fácil de entender y compatible con el usuario

Dos enfoques tradicionales Enfoque orientado a datos comienza con descripción de los datos del sistema (modelo de datos, clases UML) Luego diseñadores definen conjunto de ventanas para ver, crear, actualizar, eliminar datos diseño gráfico dominado por las herramientas integradas a la base de datos Ejemplos Microsoft Access u Oracle Forms. Problema: no garantiza un soporte de tareas eficiente. Enfoque orientado a tareas lista de tareas de usuario (casos de uso) Analizar pasos por cada tarea Definir una ventana por cada paso que contiene campos de I/O necesarios Problema: el usuario nunca obtiene una descripción general de los datos disponibles. el sistema admite solo las tareas más sencillas y no las variantes (a veces útil, ej. Cajero automatico)

Propuesta de Virtual Vindows Empleo de datos y tareas al mismo tiempo. Diseñar y probar la apariencia gráfica antes que las funciones están definidas. Ventana virtual: una imagen en una imagen idealizada de la pantalla muestra datos pero no tiene botones, menús u otras funciones. Pueden tener “links” que permiten pasar de una ventana a otra

Forma de usarlo Idea básica: crear tan pocas virtuales ventanas como sea posible mientras se asegura Que todos los datos están visibles en algún lado y Que tareas importantes solo necesitan unas pocas ventanas. Diseñar la apariencia gráfica de las ventanas de modo de mostrar los datos real convenientemente Asegurar que los usuarios puede entender lo que muestran las ventanas. Importante: en el diseño gráfico decidir si los datos aparecen como texto, curvas, marca, imágenes, etc. Más tarde, el diseñador desarrolla la interfaz de usuario: él o ella organiza las ventanas virtuales en ventanas o pantallas físicas; agrega botones, menús y otras funciones; y agrega mensajes, ayuda, etc.

Proceso “Virtual Windows” De Lausen y Hanning Conecta tareas modelo de datos y diseño de UI

Consecuencia de esta idea Hoy hay varios programas que implementan esta idea Ventanas virtuales: se conocen popularmente como “mockups” o “maquetas” Moqups https://moqups.com/  balsamiq https://balsamiq.com/products/ NinjaMock https://ninjamock.com/ Wireframe wireframe.cc Axure www.axure.com/‎

Ingenieria de Usabilidad El test de usabilidad definitivo: medicion de la experiencia de usuario Medidas de usabilidad deben estar explicitadas como requerimientos Especificacion de usabilidad: Atributo/principio de usabilidad Concepto medido Método de medición Nivel actial/peor caso/nivel planificado/major caso ISO 9241 https://usabilitygeek.com/usability-metrics-a-guide-to-quantify-system-usability/ Problemas: La especificación de usabilidad requiere nivel de detalle que pueden no ser posible en un diseño temprano

Ejemplo de especificación de usabilidad

Explicando el diseño: Design Rationale Design rationale es información que explica el por qué un Sistema es como es Beneficios del design rationale (fundamentos del diseño) counicacion durante el ciclo de vida Reuso del conocimiento para otros productos impone disciplina de diseño presenta argumentos para el trade-off del diseño captura información contextual Tipos de DR: Orientado al proceso: preserva el orden de deliberación y toma de decisiones Orientada a la estructura: enfatiza el post hoc estructuración de alternativas de diseño consideradas Ejemplos: Sistema de información basado en issues (IBIS) Diseño de análisis espacial Rationale del diseño psicológico

Issue-based Information system Orientado al proceso: principales elementos Issues: estructurados jerárquicamente con una raíz Positions: soluciones posibles Arguments: modifica la relaciones de lo anterior

Design space Analysis Orientado a la estructura: Jerarquia QOC Questions: issues principales del diseño Options: respuestas alternativas Criteria: medios para evaluar opciones

Rationale del diseño psicológico Apoya el ciclo tarea-artefacto en el que el usuario las tareas se ven afectadas por los sistemas que usan Consecuencias del diseño para los usuarios explícitos Método: los diseñadores identifican las tareas que el sistema apoyará se sugieren escenarios para probar la tarea usuarios son observados en el sistema Declaraciones psicológicas del sistema explicitadas Aspectos negativos son utilizados para mejorar la próxima iteración

Programando la interfaz ¿Como el HCI afecta la tarea del programador? Avances en la codificación ha “elevado” la programación Especifico del hardware => específico de la técnica de interacción Capas de herramientas de desarrollo Sistema de venanas Toolkits de interacción Sistemas de administración de interfaces (UIMS) Arquitectura de aplicaciones con UI Model-View-Controller (MVC) Presentation-Abstraction-Control (PAC) Cuerpo de las tecnicas de programación Administración de la concurrencia

Sistema de ventanas Rol: media entre los dispositivos y las aplicaciones “multiplexa” los dispositivos de I/O devices para permitir multiples aplicaciones Indepedencia de dispositivos Tradicionalemnte trés arquitecturas posibles: Cada aplicación administra todos los procesos Todos tienen que preocuparse de la sincronización Reduce la portabilidad de las aplicaciones Rol de administración en el kernel del Sistema operativo las aplicaciones están atadas al Sistema operativo El rol de la administración lo asume una aplicación separada Permite máxima portabilidad client-server, e.g. X Windows

Arquitectura de aplicaciones read-eval

Arquitectura basada en notificaciones

MVC: Model View Controller Patron de diseño usado en Smalltalk ha influenciado mucho el diseño de aplicaciones con GUI Sistema de ventanas Eventos (del sistema)

PAC: Presentation-Abstraction-Control Coutaz (1987) presento PAC, una generalisacion de MVC: Sistema de ventanas Eventos (del sistema)

Patron Observer-Observable Se puede usar en conjunto con MVC (no son excluyentes)

Especificación grafica de la interfaz El codificador dibuja las componentes Establece las acciones con scripts o links a programas Problemas: enfocado en una ventana, es difícil “ver” el hilo de ejecución a través del sistema Ejemplos: Visual Basic, Flash, DreamWeaver, NetBeans Interface Buider

Ejemplo en swing

Curso de los eventos En un proceso simple (como el ejemplo) los eventos siguen este cursovc Si usamos el patrón MVC los eventos siguen este cursoc