Title: Aplicabilidade de Padr
1Aplicabilidade de Padrões de Interação
Humano-Computador e de Engenharia de Software no
Processo de Desenvolvimento de Sistemas
Interativos
- André Constantino da Silva
- Orientadora Júnia Coutinho
Anacleto Silva - Co-orientadores Rosângela Aparecida
Dellosso Penteado - Sérgio
Roberto Pereira da Silva (UEM)
Apoio
Maio de 2005
2Agenda
- Introdução
- Integração ES e IHC
- Padrões
- Análise Crítica do modelo de processo
Prototipação - O modelo de processo Prototipação Apoiado por
Padrões - Validação do modelo de processo Prototipação
Apoiado por Padrões - Trabalhos Relacionados
- Resultados e Conclusões
3Introdução
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
4Introdução
Tecnologia (questões gerenciais e técnicas)
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
5Introdução
Tecnologia (questões gerenciais e técnicas)
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
propõe práticas
6Práticas propostas pela Engenharia de Software
(ES)
- Modelos de Processo
- Cascata
- Prototipação
- Desenvolvimento Rápido
- de Aplicações
- Incremental
- Processo Unificado
- Extreme Programming
- Entre outros
7Introdução
Aspectos da interação entre o homem e a máquina
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
8Introdução
Aspectos da interação entre o homem e a máquina
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
propõe práticas
9Práticas propostas pela Interação
Humano-Computador (IHC)
- Modelos de Processo
- Projeto Centrado no Usuário
- Design Participativo
- Engenharia Cognitiva
- Modelo Estrela
- Engenharia de Usabilidade
- Modelo Centrado na Avaliação
- Entre outros
10Integração ES e IHC
Desenvolvimento de Sistemas Interativos
Interação Humano-Computador
Engenharia de Software
Preocupações em comum (confiabilidade,
consistência, etc)
11Integração ES e IHC
- Desenvolver o sistema de forma mais abrangente
- Considerando aspectos relevantes das duas áreas
- Tarefa não trivial
- Focos diferentes
- Profissionais com formações diferentes
12Padrões (Patterns)
- Prática adotada pela ES e pela IHC
- Expressam conhecimento
- Através de textos e esboços
- Formato estruturado
- Conhecimento apresenta
- uma solução de sucesso e comprovada
- para um problema freqüente
- em um determinado contexto
- Benefícios da aplicações de padrões
- Captura da experiência
- Fornecimento de um vocabulário comum
13Padrões (Patterns)
- Prática adotada pela ES e pela IHC
- Expressam conhecimento
- Através de textos e esboços
- Formato estruturado
- Conhecimento apresenta
- uma solução de sucesso e comprovada
- para um problema freqüente
- em um determinado contexto
- Benefícios da aplicações de padrões
- Captura da experiência
- Fornecimento de um vocabulário comum
explorado mais enfaticamente pela ES
14Padrões (Patterns)
- Prática adotada pela ES e pela IHC
- Expressam conhecimento
- Através de textos e esboços
- Formato estruturado
- Conhecimento apresenta
- uma solução de sucesso e comprovada
- para um problema freqüente
- em um determinado contexto
- Benefícios da aplicações de padrões
- Captura da experiência
- Fornecimento de um vocabulário comum
explorado mais enfaticamente pela IHC
15Padrões (Patterns)
- Prática adotada pela ES e pela IHC
- Expressam conhecimento
- Através de textos e esboços
- Formato estruturado
- Conhecimento apresenta
- uma solução de sucesso e comprovada
- para um problema freqüente
- em um determinado contexto
- Benefícios da aplicações de padrões
- Captura da experiência
- Fornecimento de um vocabulário comum
Possuem grande potencial para facilitar a
integração da ES com a IHC
16Categorias de Padrões de ES
- Padrões de Processo
- Padrões Organizacionais
- Padrões de Análise
- Padrões Arquiteturais
- Padrões de Projeto
- Padrões de Persistência de Dados
- Padrões de Implementação (Idiomas)
- Padrões de Testes
- entre outros
17Categorias de Padrões de IHC
- Padrões para Projeto de Interação
Humano-Computador - Padrões para Projeto da Interface com o Usuário
- Padrões de Tarefas
- Padrões de Usuários
- Padrões de Elementos da Interface com o Usuário
- Padrões de Sistemas Inteiros
- Padrões para Avaliações de Usabilidade
- entre outros
18Padrões na Integração ES e IHC
- Captura da Experiência
- Práticas de sucesso já comprovadas
- Fornecimento de Vocabulário Comum
- Entre profissionais de mesma área
- Entre profissionais de ES e de IHC
- Entre profissionais e usuários
19Metodologia do Trabalho
- Estudo de padrões propostos pela ES e pela IHC
- Estudo dos modelos de processo propostos pela ES
e pela IHC - Para o modelo de processo Prototipação
- Levantamento de problemas nas etapas
- Listar conjunto de padrões que potencialmente
auxiliam a resolver os problemas levantados - Realização de estudos de caso para verificar
aplicabilidade de tais padrões nos pontos
indicados e relacionamento entre os padrões - Montar um conjunto de padrões para aplicação de
tais padrões no desenvolvimento de sistemas
interativos - Baseando nas observações dos estudos de caso
20Análise Crítica do Modelo de Processo Prototipação
Interação Humano-Computador
Engenharia de Software
21Análise Crítica do Modelo de Processo Prototipação
Interação Humano-Computador
Engenharia de Software
22Análise Crítica do Modelo de Processo Prototipação
- Desenvolvimento de Protótipo
- Descartável
- Evolucionário
- Incremental
Foco nos requisitos não estáveis, ambíguos ou
conflitantes
23Análise Crítica do Modelo de Processo Prototipação
- Desenvolvimento de Protótipo
- Descartável
- Evolucionário
- Incremental
24Análise Crítica do Modelo de Processo
Prototipação (1/3)
- Procurar por informações que auxiliam a
compreender o domínio do problema e os
requisitos - Obter os requisitos do sistema -
Delimitar os requisitos do sistema por completo,
que é uma das dificuldades do usuário
25Análise Crítica do Modelo de Processo
Prototipação (2/3)
Etapa Considerações
Coleta e Refinamento de Requisitos - Procurar por informações que auxiliam a compreender o domínio do problema e os requisitos - Obter os requisitos do sistema - Delimitar os requisitos do sistema por completo, que é uma das dificuldades do usuário
Projeto Rápido - Elaborar um projeto da interface com o usuário que englobe os requisitos a serem refinados, representando os aspectos que são visíveis ao usuário e o nível de conhecimento do usuário - Considerar as melhores decisões relacionadas da funcionalidade no projeto rápido - Garantir que o processo não será oneroso (tempo e recursos)
Construção do Protótipo - Minimizar o tempo e recursos despendidos no desenvolvimento - Assegurar o correto funcionamento do protótipo para que uma avaliação consistente seja realizada na próxima etapa - Englobar somente funções necessárias, não há necessidade de as funções que irão compor o produto final
26Análise Crítica do Modelo de Processo
Prototipação (3/3)
Etapa Considerações
Avaliação do Protótipo pelo Cliente - Guiar o usuário para um melhor refinamento dos requisitos desejados, engajando-o e cuidando para que se tenha uma comunicação efetiva com o usuário - Preocupações de como obter melhor as informações do usuário - Deve-se aproveitar ao máximo o tempo despendido com o usuário a avaliação, a fim de obter informações suficientes para detalhar os requisitos - Fazer um planejamento para permitir a participação dos clientes representativos (usuários finais do sistema), e que o processo de avaliação não seja muito oneroso
Refinamento do Protótipo - Coletar críticas e problemas resultantes da avaliação do protótipo, apresentando diretivas de solução para as considerações levantadas
Engenharia do Produto - Desenvolver o sistema seguindo práticas de ES e de IHC
27O Modelo de Processo Prototipação Apoiado por
Padrões
- Visão para Desenvolvimento de Protótipo
Descartável
28O Modelo de Processo Prototipação Apoiado por
Padrões
- Visão para Desenvolvimento de Protótipo
Evolucionário ou Incremental
29Validação do Modelo de Processo Prototipação
Apoiado por Padrões
- Realização de 3 estudos de caso
- Parte 1
- Instanciação do modelo de processo Prototipação
- Sem aplicação de Padrões
- Parte 2
- Instanciação do modelo de processo Prototipação
Apoiado por Padrões - Aplicação de Padrões relacionados ao sistema a
ser desenvolvido - Coleta de informações sobre a aplicação dos
padrões através de questionário
30Validação do Modelo de Processo Prototipação
Apoiado por Padrões
Estudo de Caso Participantes Participantes Padrões Padrões
Estudo de Caso Fase 1 Fase 2 IHC ES
1 2 2 114 228
2 4 6 114 49
3 4 6 114 49
31Estudo de Caso 1
- A gerência de uma lanchonete deseja um sistema
para gerenciar os pedidos realizados pelos
clientes através do telefone, considerando também
o controle de itens que podem ser adicionados aos
pedidos, tais como ingredientes, taxa de entrega,
etc. O sistema deve ainda emitir diversos tipos
de relatórios e consultas, possibilitando um
melhor gerenciamento dos pedidos.
32Estudo de Caso 1 Fase 1
33Estudo de Caso 1 Fase 1
34Estudo de Caso 1 Fase 1
35Estudo de Caso 1 Fase 1
36Estudo de Caso 1 Fase 1
37Estudo de Caso 1 Fase 1
38Estudo de Caso 1 Fase 1
39Estudo de Caso 1 Fase 2
- Instanciação do Modelo de Prototipação com
Padrões (Protótipo Descartável)
40Estudo de Caso 1 Fase 2
41Estudo de Caso 1 Fase 2
42Estudo de Caso 1 Fase 2
43Estudo de Caso 1 Fase 2
44Estudo de Caso 1 Fase 2
45Estudo de Caso 1 Fase 2
46Coleta de Resultados
- Respostas do questionário
- Levantamento de critérios para cada aplicação
proposta no modelo de processo Prototipação
Apoiado por Padrões
47Resultados
Etapa Critério Adotado Resultado Resultado
Etapa Critério Adotado Favorável Desfavorável
Coleta e Refinamento de Requisitos a. Opinião dos participantes X
Coleta e Refinamento de Requisitos b. Percentual de perguntas elaboradas com base em padrões X
Projeto Rápido c. Reação do usuário X
Projeto Rápido d. Melhoria na comunicação X X
Projeto Rápido e. Diminuição na tomada de decisões X
48Resultados
Etapa Critério Adotado Resultado Resultado
Etapa Critério Adotado Favorável Desfavorável
Construção do Protótipo e. Diminuição na tomada de decisões X
Avaliação do Protótipo pelo Cliente f. Usuário expressando através de padrões X X
Refinamento do Protótipo g. Padrões aplicados para solucionar problemas levantados X
Engenharia do Produto h. Porcentagem de classes identificadas através de padrões de análise X
Engenharia do Produto i. Opinião dos participantes sobre a aplicação de padrões de análise X
Engenharia do Produto j. Opinião dos participantes sobre a aplicação de padrões arquiteturais X
49Resultados
Opinião Aplicação de Padrões de Processo Aplicação de Padrões de Processo Aplicação de Padrões Organizacionais Aplicação de Padrões Organizacionais
Opinião Número de Participantes Percentual Número de Participantes Percentual
Acham útil 7 70,0 3 33,3
Não acham útil 0 0,0 4 44,5
Não participaram 3 30,0 2 22,2
Total 10 100,0 9 100,0
50Relacionamentos entre Padrões de ES e de IHC
51Relacionamentos entre Padrões de ES e de IHC
52Relacionamentos entre Padrões de ES e de IHC
53Relacionamentos entre Padrões de ES e de IHC
54Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
Disabled Irrelevant Things Context
Information or actions that are normally useful
become temporarily irrelevant sometimes. This is
a common situation in almost all of the primary
patterns that use visuals, such as Control Panel,
Status Display, Form, and WYSIWYG
Editor. Problem How can the artifact steer the
user away from actions that cannot or should not
be taken, while still maintaining visual calm and
stability? Forces ... Solution Disable the
things which have become irrelevant. Hide them
entirely if the user shouldn't even be aware of
them, or "gray them out" (with their main
features barely visible) if the user should know
they're there but that they just aren't useful
right now. If the thing is a manipulable
control, don't allow the user to use it.
55Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
- Observer
Object
Behavioral - Intent
- Define a one-to-many dependency between objects
so that when one object changes state, all its
dependents are notified and updated
automatically. - ...
- Motivation
- This kind of interaction is also known as
publish-subscribe. The subject is the publisher
of notifications. It sends out these
notifications without having to know who its
observers are. Any number of observers can
subscribe to receive notifications. - Applicability
- Use the Observer pattern in any of the following
situations - When an abstraction has two aspects, one
dependent on the other. Encapsulating these
aspects in separate objects lets you vary and
reuse them independently. - When a change to one object requires changing
others, and you don't know how many objects need
to be changed. - When an object should be able to notify other
objects without making assumptions about who
these objects are. In other words, you don't want
these objects tightly coupled. - ...
56Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
Observer
Object
Behavioral Structure
57Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
- Determinando o Relacionamento
- 1) Um determinado objeto que pode se tornar
irrelevante está relacionado ao contexto que
define se ele é irrelevante ou não. - 2) Esse contexto pode ser formado por outros
objetos. - 3) O padrão Observer pode ser aplicado para
informar ao objeto que houve mudanças em seu
contexto. - 4) Quando o objeto é informado sobre a mudança do
seu contexto, ele é capaz de determinar se é
irrelevante ou não nesse novo contexto
58Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
Padrão Observer
59Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
60Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
61Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
62Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
63Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
64Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
65Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
66Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
67Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
68Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
O contexto do botão (instância de ConcreteThing)
é formado pelo pedido que está sendo cadastrado
(ConcreteSubject)
69Relacionamentos entre Padrões de ES e de IHC
Exemplo (X/Y)
70Trabalhos Relacionados
- Na ES
- Larman (2001)
- Yacoub e Ammar (2003)
- Entre outros
- Na IHC
- Borchers (2000)
- Dearden et al. (2002)
- Entre outros
- Na Integração ES e IHC
- UPi (Sousa e Furtado, 2003)
- Mazzorani (2003)
- Ferré et al. (2003)
- Entre outros
71Trabalhos Relacionados
- Na ES
- Larman (2001)
- Yacoub e Ammar (2003)
- Entre outros
- Na IHC
- Borchers (2000)
- Dearden et al. (2002)
- Entre outros
- Na Integração ES e IHC
- UPi (Sousa e Furtado, 2003)
- Mazzorani (2003)
- Ferré et al. (2003)
- Entre outros
Aplicação de poucos padrões
72Principais Resultados (1/2)
- Apresentação de uma classificação de padrões mais
ampla que considera padrões de IHC e de ES
conjuntamente - Análise crítica das visões de ES e de IHC no
modelo de processo Prototipação e a integração
dessas visões nesse modelo - Estudo da aplicação de padrões no modelo de
processo Prototipação, resultado no modelo de
processo Prototipação Apoiado por Padrões - Aplicação de padrões em alguns dos artefatos
elaborados durante o desenvolvimento de um
sistema interativo
73Principais Resultados (2/2)
- Utilização de padrões de ES e de IHC para
aumentar a comunicação entre o usuário final e os
profissionais envolvidos no processo de
desenvolvimento - Aplicação de padrões de análise para elaboração
de questões a serem realizadas durante o
levantamento de requisitos - Validação da proposta de padrões de ES e a IHC se
complementando para desenvolver sistemas
interativos
74Publicações (1/2)
- DA SILVA, A. C. SILVA, J. C. A PENTEADO, R. A.
D. DA SILVA, S. R. P. Aplicabilidade de Padrões
de Engenharia de Software e de IHC no
Desenvolvimento de Sistemas Interativos. In
CBCOMP 2004 - IV CONGRESSO BRASILEIRO DE
COMPUTAÇÃO. 4., 2004. /Artigo Completo/ - DA SILVA, A. C. SILVA, J. C. A. PENTEADO, R. A.
D. DA SILVA, S. R. P. Integrando a Visão da ES e
da IHC através da Aplicação de Padrões sobre o
Modelo de Prototipação. In IHC2004 VI
WORKSHOP SOBRE FATORES HUMANOS EM SISTEMAS
COMPUTACIONAIS, 6., 2004. /Artigo Resumido/ - DA SILVA, A. C. SILVA, J. C. A PENTEADO, R. A.
D DA SILVA, S. R. P. Investigando a
Aplicabilidade de Padrões de IHC e de Engenharia
de Software no Processo de Desenvolvimento de
Sistemas Interativos. In WTDES2004 IX
WORKSHOP DE TESES E DISSERTAÇÕES EM ENGENHARIA DE
SOFTWARE, XVIII SIMPÓSIO BRASILEIRO DE ENGENHARIA
DE SOFTWARE, 9., 2004. /Artigo Completo/ - TALARICO NETTO, A. DA SILVA, A. C. SILVA, J. C.
A. PENTEADO, R. A. D. Padrões de Interação para
Projetos WEB Uma Visão Geral. In TÓPICOS EM
TECNOLOGIAS WEB MULTIMÍDIA. Editores Teixeira,
C. A. C. Goularte, R. p. 197-222. Ribeirão
Preto-SP SBC, 2004. ISBN 85-7669-011-X.
/Capítulo de livro/
75Publicações (2/2)
- TALARICO NETTO, A. DA SILVA, A. C. SILVA, J. C.
A PENTEADO, R. A. D. Padrões de Interação - O
Contexto WEB. In IHC2004 VI WORKSHOP SOBRE
FATORES HUMANOS EM SISTEMAS COMPUTACIONAIS, 6.,
2004. /Tutorial/ - TALARICO NETTO, A. DA SILVA, A. C. SILVA, J. C.
A. PENTEADO, R. A. D. Padrões de Interação para
Projetos WEB Uma Visão Geral. In WEBMIDIA LA
2004 WEB - II LATIN AMERICAN WEB CONGRESS AND X
BRAZILIAN SYMPOSIUM ON MULTIMEDIA AND THE WEB,
10., 2004. /Mini-curso/
76Trabalhos Futuros
- Integração das visões de ES e de IHC nos demais
modelos de processo - Agregação de mais padrões no conjunto elaborado
- Padrões de Tarefas
- Padrões Arquiteturais de Usabilidade
- Padrões de Avaliação de Usabilidade
- Padrões de Testes
- Idiomas
- Identificação de padrões que considerem aspectos
de ES e de IHC conjuntamente - Identificação de padrões de processo e
organizacionais para definir e apresentar as
responsabilidades do especialista em IHC - Elaboração de uma abordagem para adoção gradativa
de padrões - Entre outros
77Aplicabilidade de Padrões de Interação
Humano-Computador e de Engenharia de Software no
Processo de Desenvolvimento de Sistemas
Interativos
- André Constantino da Silva
- Orientadora Júnia Coutinho
Anacleto Silva - Co-orientadores Rosângela Aparecida
Dellosso Penteado - Sérgio
Roberto Pereira da Silva (UEM)
Apoio
Maio de 2005