aplicabilidade de padrões de interação humano-computador e de engenharia de software no processo...

77
Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino da Silva 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

Upload: internet

Post on 22-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de

Software no Processo de Desenvolvimento de Sistemas Interativos

André Constantino da SilvaAndré 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

Page 2: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Agenda

1. Introdução

2. Integração ES e IHC

3. Padrões

4. Análise Crítica do modelo de processo Prototipação

5. O modelo de processo Prototipação Apoiado por

Padrões

6. Validação do modelo de processo Prototipação Apoiado

por Padrões

7. Trabalhos Relacionados

8. Resultados e Conclusões

Page 3: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Introdução

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Page 4: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Introdução

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Tecnologia (questões

gerenciais e técnicas)

Page 5: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Introdução

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Tecnologia (questões

gerenciais e técnicas)

propõepráticas

Page 6: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Práticas propostas pela Engenharia de Software (ES)

Modelos de ProcessoCascata

Prototipação

Desenvolvimento Rápido

de Aplicações

Incremental

Processo Unificado

Extreme Programming

Entre outros

Engenharia de Software

Tecnologia (questões

gerenciais e técnicas)

Page 7: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Introdução

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Aspectos da interação entre o

homem e a máquina

Page 8: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Introdução

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Aspectos da interação entre o

homem e a máquina

propõepráticas

Page 9: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Práticas propostas pela Interação Humano-Computador (IHC)

Modelos de ProcessoProjeto Centrado no Usuário

Design Participativo

Engenharia Cognitiva

Modelo Estrela

Engenharia de Usabilidade

Modelo Centrado na Avaliação

Entre outros

InteraçãoHumano-Computador

Aspectos da interação entre o homem e a

máquina

Page 10: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Integração ES e IHC

Desenvolvimento deSistemas Interativos

Engenharia de Software InteraçãoHumano-Computador

Preocupações em comum

(confiabilidade, consistência, etc)

Page 11: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Integração ES e IHC

Desenvolver o sistema de forma mais abrangente

Considerando aspectos relevantes das duas áreas

Tarefa não trivialFocos diferentes

Profissionais com formações diferentes

Page 12: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Padrões (Patterns)

Prática adotada pela ES e pela IHCExpressam conhecimento

Através de textos e esboçosFormato estruturadoConhecimento apresenta

uma solução de sucesso e comprovadapara um problema freqüenteem um determinado contexto

Benefícios da aplicações de padrõesCaptura da experiência

Fornecimento de um vocabulário comum

Page 13: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Padrões (Patterns)

Prática adotada pela ES e pela IHCExpressam conhecimento

Através de textos e esboçosFormato estruturadoConhecimento apresenta

uma solução de sucesso e comprovadapara um problema freqüenteem um determinado contexto

Benefícios da aplicações de padrõesCaptura da experiência

Fornecimento de um vocabulário comum

explorado mais enfaticamente

pela ES

Page 14: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Padrões (Patterns)

Prática adotada pela ES e pela IHCExpressam conhecimento

Através de textos e esboçosFormato estruturadoConhecimento apresenta

uma solução de sucesso e comprovadapara um problema freqüenteem um determinado contexto

Benefícios da aplicações de padrõesCaptura da experiência

Fornecimento de um vocabulário comum

explorado mais enfaticamente

pela IHC

Page 15: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Padrões (Patterns)

Prática adotada pela ES e pela IHCExpressam conhecimento

Através de textos e esboçosFormato estruturadoConhecimento apresenta

uma solução de sucesso e comprovadapara um problema freqüenteem um determinado contexto

Benefícios da aplicações de padrõesCaptura da experiência

Fornecimento de um vocabulário comum

Possuem grande potencial para facilitar

a integração da ES com a IHC

Page 16: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Categorias de Padrões de ES

Padrões de ProcessoPadrões OrganizacionaisPadrões de AnálisePadrões ArquiteturaisPadrões de ProjetoPadrões de Persistência de DadosPadrões de Implementação (Idiomas)Padrões de Testesentre outros

Page 17: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Categorias de Padrões de IHC

Padrões para Projeto de Interação Humano-ComputadorPadrões para Projeto da Interface com o UsuárioPadrões de TarefasPadrões de UsuáriosPadrões de Elementos da Interface com o UsuárioPadrões de Sistemas InteirosPadrões para Avaliações de Usabilidadeentre outros

Page 18: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Padrões na Integração ES e IHC

Captura da ExperiênciaPráticas de sucesso já comprovadas

Fornecimento de Vocabulário ComumEntre profissionais de mesma área

Entre profissionais de ES e de IHC

Entre profissionais e usuários

Page 19: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Metodologia do Trabalho

1. Estudo de padrões propostos pela ES e pela IHC2. Estudo dos modelos de processo propostos pela ES e

pela IHC3. Para o modelo de processo Prototipação

i. Levantamento de problemas nas etapasii. Listar conjunto de padrões que potencialmente auxiliam a

resolver os problemas levantadosiii. Realização de estudos de caso para verificar aplicabilidade de

tais padrões nos pontos indicados e relacionamento entre os padrões

4. Montar um conjunto de padrões para aplicação de tais padrões no desenvolvimento de sistemas interativos

i. Baseando nas observações dos estudos de caso

Page 20: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Análise Crítica do Modelo de Processo Prototipação

InteraçãoHumano-ComputadorEngenharia de Software

Page 21: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Análise Crítica do Modelo de Processo Prototipação

Engenharia de SoftwareInteração

Humano-Computador

Page 22: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Análise Crítica do Modelo de Processo Prototipação

Desenvolvimento de Protótipo

1. Descartável

2. Evolucionário

3. Incremental

Foco nos requisitos não estáveis, ambíguos ou

conflitantes

Page 23: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Análise Crítica do Modelo de Processo Prototipação

Desenvolvimento de Protótipo

1. Descartável

2. Evolucionário

3. Incremental

Foco nos requisitos estáveis, não ambíguos

e sem conflitos

Page 24: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Aná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

Page 25: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Aná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

Page 26: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Aná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

Page 27: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

O Modelo de Processo Prototipação Apoiado por Padrões

Visão para Desenvolvimento de Protótipo Descartável

Page 28: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

O Modelo de Processo Prototipação Apoiado por Padrões

Visão para Desenvolvimento de Protótipo Evolucionário ou Incremental

Page 29: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Validação do Modelo de Processo Prototipação Apoiado por Padrões

Realização de 3 estudos de casoParte 1:

Instanciação do modelo de processo PrototipaçãoSem aplicação de Padrões

Parte 2:Instanciação do modelo de processo Prototipação Apoiado por PadrõesAplicaçã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

Page 30: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Validação do Modelo de Processo Prototipação Apoiado por Padrões

Estudo de Caso

Participantes PadrõesFase 1 Fase 2 IHC ES

1 2 2 114 228

2 4 6 114 49

3 4 6 114 49

Page 31: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo 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.”

Page 32: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 33: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

...Requisito Funcional 1Descrição: Registro de nova comandaEntradas: Telefone do cliente, produtos solicitados, restrições dos pedidosProcessamento: Verifica se o cliente já está cadastrado. Caso esteja, mostra o endereço cadastrado do cliente e permite que sejam registrados os pedidos do cliente. Para registrar os pedidos informa-se ao sistema quantidade e código do produto, o sistema mostra o produto referente ao código. Também permite que sejam cadastradas restrições ao pedido. Registram-se quantos pedidos forem necessários. Registra também para cada pedido o troco, que será incluso no valor total da comanda. Cover, Acréscimo e entrega; também serão inclusos no valor total da comanda.Saídas: Imprime comanda (Dados contidos na comanda: telefone, endereço, quantidade e código dos produtos, restrições nos lanches e valor total)....

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 34: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 35: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 36: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

...Atividade 1 Suponha que o cliente ligou e você identificou na bina o seguinte número de telefone: 16 3361-7880 .Você verifica que o cliente está cadastrado com os seguintes dados:Nome: Lanchonete Siri CascudoEndereço: Prof. José Ferraz de Camargo, 325Vila Mariana - São CarlosPerto da Federal

O cliente deseja receber os seguintes produtos:Um lanche de lombo com batata-palhaDuas latas de coca-cola Um lanche de hambúrguer sem tomate

...

Page 37: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

...1. Para o campo número de telefone não precisa

entrar com o DDD.2. Quando o cliente não estiver cadastrado, não

necessita abrir outra janela.3. Opções para o usuário usar apenas o teclado,

sem necessidade de utilização do mouse.4. Opções para mais de uma restrição na grade

de produtos (lembrando que o código para acrescentar e retirar é diferente)

5. São Carlos fica fixo para o campo Cidade, podendo ser alterado

...

Page 38: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 1

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 39: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Instanciação do Modelo de Prototipação com Padrões (Protótipo Descartável)

Page 40: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Requisito 1 - Gerenciamento de pedidosDescrição: Funcionalidade principal do sistema,

objetiva o cadastro de novos pedidos realizados pelos clientes por telefone.

Prioridade: 1Requisito 4.1 - Solicitação de pedidosEntrada: Nome, telefone, endereço, ponto de

referência do cliente e o pedido.Processamento: O cliente da lanchonete liga, e o

atendente solicita seu nome, telefone, endereço e ponto de referência. Em seguida o cliente realiza o pedido, detalhando o que deseja entre lanches, bebidas e diversos e o atendente fornece ao sistema o código deste produto e a quantidade

...

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 41: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 42: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

Page 43: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

...Solicitação de pedido por telefoneO telefone acaba de tocar, você identifica que é o número (16)3361-5144. Após atender o telefone, o cliente solicita os seguintes lanches:

Um frango 1 com alfaceDois lombos Acebolados com mais mussarelaTrês refrigerantes em lata

Produto CódigoFrango 1 301Lombo Acebolado 203c/ Alface 02c/ mussarela 12Refrigerante em lata 1004...

Page 44: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

...1. Preenchimento da informação DDD na tela de

cadastro de clientes não obrigatório.2. O campo telefone da tela de cadastro de

clientes deve reconhecer outros formatos.3. No campo telefone da tela de cadastro de

clientes, à medida que o usuário ir digitando, ir formatando, incluindo os caracteres fixos automaticamente.

4. Após digitar o telefone na tela de cadastro de clientes, apresentar informações do cliente sem necessidade de pressionar a tecla ENTER.

5. Permitir voltar ao campo anterior ao pressionar a tecla BACKSPACE e o campo estiver vazio.

...

Page 45: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Estudo de Caso 1 – Fase 2

Início do Desenvolvimento

Fim do Desenvolvimento

Coleta e Refinamento de Requisitos

Projeto Rápido

Construção do Protótipo

Avaliação do Protótipo pelo Cliente

Refinamento do Protótipo

Engenharia do Produto

É a última iteração?

sim

não

SolicitarPedidos AtorCliente

Telefone, Pedidos

Comanda, Produtos

AbrirCadastroCliente

<<extend>>

dadosClientemsg 01

CorrigirCadastroCliente

DadosClienteCorrigidos

msg 02

<<extend>>

Page 46: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Coleta 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

Page 47: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Resultados

Etapa Critério Adotado Resultado

Favorável Desfavorável

Coleta e Refinament

o de Requisitos

a. Opinião dos participantes X

b. Percentual de perguntas elaboradas com base em padrões

X

Projeto Rápido

c. Reação do usuário X

d. Melhoria na comunicação X X

e. Diminuição na tomada de decisões X

Page 48: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Resultados

Etapa Critério Adotado Resultado

Favorável Desfavorável

Construção do Protótipo

e. Diminuição na tomada de decisões X

Avaliação do Protótipo

pelo Clientef. 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

i. Opinião dos participantes sobre a aplicação de padrões de análise

X

j. Opinião dos participantes sobre a aplicação de padrões arquiteturais

X

Page 49: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Resultados

Opinião Aplicação de Padrões de Processo

Aplicação de Padrões Organizacionais

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 %

Page 50: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC

Page 51: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC

Page 52: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC

Page 53: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC

Page 54: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

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.

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Padrão de IHC

Page 55: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Observer Object Behavioral

IntentDefine 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.ApplicabilityUse 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....

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Padrão de ES

Page 56: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Observer Object Behavioral …Structure

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Padrão de ES

Page 57: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Determinando o Relacionamento1) 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

Page 58: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Padrão Observer

Page 59: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 60: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 61: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 62: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 63: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 64: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 65: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 66: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 67: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 68: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos 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)

Page 69: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Relacionamentos entre Padrões de ES e de IHC – Exemplo (X/Y)

Page 70: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Trabalhos Relacionados

Na ESLarman (2001)Yacoub e Ammar (2003)Entre outros

Na IHCBorchers (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

Page 71: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Trabalhos Relacionados

Na ESLarman (2001)Yacoub e Ammar (2003)Entre outros

Na IHCBorchers (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

Page 72: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Principais Resultados (1/2)

Apresentação de uma classificação de padrões mais ampla que considera padrões de IHC e de ES conjuntamenteAná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 modeloEstudo da aplicação de padrões no modelo de processo Prototipação, resultado no modelo de processo Prototipação Apoiado por PadrõesAplicação de padrões em alguns dos artefatos elaborados durante o desenvolvimento de um sistema interativo

Page 73: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Principais 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 desenvolvimentoAplicação de padrões de análise para elaboração de questões a serem realizadas durante o levantamento de requisitosValidação da proposta de padrões de ES e a IHC se complementando para desenvolver sistemas interativos

Page 74: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Publicaçõ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: IHC’2004 – 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: WTDES’2004 – 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/

Page 75: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Publicaçõ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: IHC’2004 – 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/

Page 76: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Trabalhos Futuros

Integração das visões de ES e de IHC nos demais modelos de processoAgregação de mais padrões no conjunto elaborado

Padrões de TarefasPadrões Arquiteturais de UsabilidadePadrões de Avaliação de UsabilidadePadrões de TestesIdiomas

Identificação de padrões que considerem aspectos de ES e de IHC conjuntamenteIdentificação de padrões de processo e organizacionais para definir e apresentar as responsabilidades do especialista em IHCElaboração de uma abordagem para adoção gradativa de padrõesEntre outros

Page 77: Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de Software no Processo de Desenvolvimento de Sistemas Interativos André Constantino

Aplicabilidade de Padrões de Interação Humano-Computador e de Engenharia de

Software no Processo de Desenvolvimento de Sistemas Interativos

André Constantino da SilvaAndré 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