Title: Kein Folientitel
1XPU Um Modelo de
Desenvolvimento de Software
Centrado no Usuário
José Eustáquio Rangel de Queiroz
Prof
Carga Horária
60 h
2Many of the goals are false because they are the
programmer's goals, applying only to the task of
software creation, but ignoring the software's
use.
Alan Cooper, Dr. Dobb's Journal (1996)
3Considerações Iniciais I
- Familiaridade de uso de XP (eXtreme Programming)
no âmbito do Grupo de Engenharia de
Software (GES/DSC/CEEI/UFCG) - Popularidade de adoção de MCIE (Método de
Concepção de Interfaces Ergonômicas) no âmbito do
Grupo de Interfaces Homem-Máquina
(GES/DSC-DEE/CEEI/UFCG)
XP
MCIE
4Considerações Iniciais II
- Constatação de lacunas entre o Projeto da
Funcionalidade e o Projeto da Interação - Divergência do foco de projeto
- Carência de desmistificação de conceitos e
identificação de elementos comuns
XP
MCIE
5Considerações Iniciais III
- Projeto da Interação ? Coletânea de práticas
direcionadas para a criação de produtos úteis e
usáveis - Multidisciplinaridade
- Ciência da Informação
- Psicologia Cognitiva
- Fatores Humanos/ Ergonomia
- Projeto Gráfico
XP
MCIE
6Considerações Iniciais IV
- Abordagens de Projeto da Interação
- Projeto Centrado no Usuário (User-Centered
Design) Vredenburg, 2002 - Projeto Direcionado a Metas (Goal-Directed
Design) Cooper, 2006
XP
MCIE
http//www.stcsig.org/usability/topics/articles/uc
d20_web_devel.html
7Considerações Iniciais V
8Considerações Iniciais VI
- Agilidade ? Capacidade de resposta rápida a
mudanças - Valor do Negócio
- Abertura das Equipes de Desenvolvimento
- Desenvolvimento de Artefatos Pequenos e Fáceis de
Gerenciar - Redução de Falhas
- Aceitação de Mudanças
XP
MCIE
9Considerações Iniciais VII
- Valores de XP
- Simplicidade
- Comunicação
- Coragem
- Retorno (Feedback)
XP
MCIE
10Considerações Iniciais VIII
- Práticas mais relevantes para o Projeto da
Interação - Simplicidade de Projeto
- Desenvolvimento Fundamentado em Testes
- Aprimoramento do Código (Refactoring)
- Programação em Pares
- Metáfora (Visão Compartilhada)
- Padronização da Codificação
- Testes com o Consumidor
- Planejamento
- Releases Pequenos
11Considerações Iniciais IX
- Agilidade no Ciclo de Desenvolvimento da
Interação I - Efetividade dos laços de feedback e Abertura na
comunicação - Envolvimento direto do usuário e maior
detalhamento das especificações - Aquisição de experiência em projetos
- Suporte do consumidor no tocante ao contexto de
uso do sistema em desenvolvimento - Efetividade na relação desenvolvedor- projetista
da interação
12Considerações Iniciais X
- Agilidade no Ciclo de Desenvolvimento da
Interação II - Desenvolvimento da aplicação em partes pequenas e
focalizadas - Aumento da atenção ao detalhamento exigido
- Aumento da periodicidade dos testes
- Maior facilidade de identificação e inclusão de
novos requisitos de usabilidade - Maior possibilidade de identificação de falhas de
usabilidade
13Considerações Iniciais XI
- Agilidade no Ciclo de Desenvolvimento da
Interação III
Implementação Teste
Gerência ÁGIL de Projeto
Planejamento Projeto
Planejamento Projeto
Projetista da Funcionalidade
Projetista da Interação
Release
Testador
Usuário
Implementação Teste
Implementação Teste
v. 0.4
v. 1.0
Planejamento Projeto
14Considerações Iniciais XII
- Relevância de XP para o Projeto da Interação I
- Rapidez dos releases ? Facilidade de teste
- Desenvolvimento em Pares ? Minimização de
mal-entendidos - Evolução facilitada pela intensa comunicação
entre projetistas e usuários - Compreensão mútua do processo pelos projetistas
da funcionalidade e da interação - Agilidade do processo ? Satisfação do cliente
15Considerações Iniciais XII
- Relevância de XP para o Projeto da Interação II
Planejamento
Levantamento de User Stories
Estimativa e Priorização de User Stories
Iteração 1
Iteração 2
Iteração 3
16Considerações Iniciais XIII
- Relevância de Projeto da Interação para XP
- Modelagem da Tarefa e da Interação
- Projeto Visual da Interface com o Usuário
- Compartilhamento de visões
- Preenchimento de lacunas relativas à cognição do
usuário - Visualização da informação e articulação dos
pontos de vista dos projetistas da funcionalidade
e da interação - Experiência de codificação da interface com o
usuário
17Metodologias Envolvidas
XP ? eXtreme Programming YP ? easY Process MCIE ?
Método de Concepção de Interfaces Ergonômicas
18Objetivo Principal
- Disponibilização de uma metodologia para a
concepção e implementação de aplicações de
software centradas no usuário - Focalização em interfaces que reflitam as
necessidades do usuário
19Arcabouço Metodológico
XPU
Definição de Papéis
Diálogo com o Cliente
Próximo Release
Inicialização
Planejamento de Releases
Próxima Iteração
Plano do Release
Planejamento de Iterações
Implementação
Versão do Produto
Plano da Iteração
Final da Iteração com Verificação dos Testes de
Aceitação
Definição e Realização de Testes de Aceitação
Reuniões de Acompanhamento
20Definição de Papéis I
- Definição de Papéis
- Cliente
- Usuário
- Gerente
- Desenvolvedor
- Testador
- Especialista em Usabilidade
21Definição de Papéis II
- Cliente
- Elaboração e priorização das user stories
- Dedicação ao processo e integração à equipe de
desenvolvimento - Acompanhamento da elaboração do Plano de Releases
- Elaboração e validação dos Testes de Aceitação
- Aprovação (ou não) dos releases gerados
- Poder de comunicação e tomada rápida de decisões
22Definição de Papéis III
- Usuário
- Auxílio na definição e validação dos Testes de
Aceitação e de Usabilidade - Acompanhamento da Modelagem da Tarefa
- Suporte no delineamento do Perfil do Usuário
- Fornecimento de opiniões do sistema à equipe de
desenvolvimento, em especial de aspectos da
interface com o usuário
23Definição de Papéis IV
- Gerente
- Alocação de competências e acompanhamento do
progresso da equipe de desenvolvimento - Obtenção dos recursos necessários ao projeto
- Previsão, identificação e mitigação de riscos de
projeto - Elaboração dos Planos de Releases e de Iterações
junto ao Cliente e Desenvolvedores - Resolução de problemas internos
24Definição de Papéis V
- Desenvolvedor
- Auxílio na geração das user stories
- Elaboração de Testes de Unidade
- Refatoração do código
- Auxílio na geração de protótipos da interface
- Manutenção da integração contínua do código
- Estimação do tempo de desenvolvimento
- Auxílio ao gerente na Elaboração dos Planos de
Releases e de Iterações
25Definição de Papéis VI
- Testador
- Supervisão e geração de Testes de Unidade
- Supervisão de Testes de Usabilidade junto ao
Especialista de Usabilidade - Geração de Testes de Aceitação junto ao Cliente e
Usuário do projeto
26Definição de Papéis VII
- Especialista em Usabilidade
- Levantamento os objetivos de usabilidade junto ao
Cliente - Delineamento do perfil do Usuário
- Realização da Modelagem da Tarefa e da Interação
- Elaboração de Testes de Usabilidade
- Concepção de protótipos da interface com o
usuário - Avaliação contínua da interface junto ao Usuário
27Definição de Papéis VIII
- Definição de Papéis
- Exemplo de Artefato
Membro da Equipe Papel
Eustáquio Rangel Cliente
Fátima Vieira Cliente
Fred de Carvalho Desenvolvedor Testador Gerente (Iteração 2)
Hério Sampaio Desenvolvedor Testador Gerente (Iterações 1 e 3)
28Diálogo com o Cliente I
- Artefatos I
- Documento de Visão
- Visão do Negócio e Escopo do Projeto
- Exemplo
29Diálogo com o Cliente II
- Artefatos II
- Lista dos Objetivos de Usabilidade
- Inspeção de produtos similares
- Superação de problemas encontrados
- Qualidade do produto final
- Exemplo
30Diálogo com o Cliente III
- Artefatos III
- Delineamento do Perfil do Usuário
- Aptidões
- Limitações
- Preferências
- Interesses
31Diálogo com o Cliente IV
- Artefatos IV
- Delineamento do Perfil do Usuário
- Exemplo (excerto)
Perfil do Usuário Perfil do Usuário
Idade Acima de 25 anos
Sexo Ambos
Formação Acadêmica Formação técnica ou superior/ Formação na área de interação homem-máquina
Contexto da Tarefa Entrada e análise de dados de avaliações da usabilidade de produtos
Aptidões Capacidade de análise e formulação de diagnósticos de problemas de usabilidade
Freqüência da Tarefa Ocasional (em função da demanda)
http//www.lihm.paqtc.org.br/projeto2/perfilDoUsua
rio.jsp
32Inicialização I
- Artefatos I
- Requisitos Funcionais
- Exemplo (excerto)
Requisito Descrição
1 Módulo Cliente - Autenticação via camada HTTPS Autenticação de usuários com perfil Cliente sob camada HTTPS
2 Módulo Cliente - Verificação de Pareceres de Produtos Módulo de verificação dos pareceres globais e técnicos de avaliações de produtos
3 Módulo Administrador - Help Online Help Online com detalhamento de todas atividades de interação homem-máquina no sistema
4 Módulo Operador - Help Online Help Online com detalhamento de todas atividades de interação homem-máquina no sistema
http//www.lihm.paqtc.org.br/projeto2/documentoVis
ao-reqFuncionais.jsp
33Inicialização II
- Artefatos II
- Requisitos Não- funcionais
- Exemplo (excerto)
Requisito Descrição
1 Tipo de Interface Sistema dotado de interface WEB Uso de formulários (para a entrada de dados) e quadros de diálogo Maximização da facilidade de uso via teclado e não via mouse
2 Robustez Garantia da integridade dos dados pelo SGBD, que será utilizador, no caso o SGBD MySQL
3 Segurança Necessidade de autenticação do usuário para acesso ao sistema Fluxo de dados será criptografado via conexão HTTPS
4 Documentação Documentação interna completa - Javadoc Manual do usuário para utilização do Sistema
http//www.lihm.paqtc.org.br/projeto2/documentoVis
ao-reqNaoFuncionais.jsp
34Inicialização III
- Artefatos III
- Levantamento de User Stories
- Exemplo (excerto)
User Story Refatoração de Código User Story Refatoração de Código
Story No. 02 Sub-Árvore -
Data 14/08 Cliente Rangel/ Fátima (LIHM/PaqTc-PB)
Status a ser implementado Prioridade ALTA
DescriçãoRefatoração de código, com vistas à melhoria do sistema, e adequação do sistema às novas funcionalidades dos frameworks que estão sendo utilizados . . . DescriçãoRefatoração de código, com vistas à melhoria do sistema, e adequação do sistema às novas funcionalidades dos frameworks que estão sendo utilizados . . .
http//www.lihm.paqtc.org.br/projeto2/userStories.
jsp
35Inicialização IV
- Artefatos IV
- Projeto Arquitetural
- Exemplo
- Vide
- http//www.lihm.paqtc.org.br/projeto2/projetoArqui
tetural.jsp
36Inicialização V
- Artefatos V
- Modelo Lógico dos Dados
- Exemplo
- Vide
- http//www.lihm.paqtc.org.br/projeto2/modeloLogico
.jsp
37Inicialização V
- Artefatos V
- Diagrama de Classes
- Exemplo
- Vide
- http//www.lihm.paqtc.org.br/projeto2/diagramaDeCl
asses.jsp
38Inicialização VII
- Artefatos VII
- Modelo da Tarefa
- Exemplo (excertos)
http//www.lihm.paqtc.org.br/projeto2/modelagemDaT
arefa.jsp
39Planejamento de Releases I
- Artefatos I
- Priorização de User Stories
- Exemplo
- Vide
- http//www.lihm.paqtc.org.br/projeto2/userStories
.jsp
40Planejamento de Releases II
- Artefatos II
- Priorização das Tarefas do Usuário
- Exemplo
- Vide
- http//www.lihm.paqtc.org.br/projeto2/iteracao1-e
scalonamentos.jsp
41Planejamento de Releases III
- Artefatos III
- Elaboração do Plano de Releases (excerto)
RELEASE ITERAÇÃO PERÍODO USER STORIES TAREFA DO USUÁRIO
1 1 05 a 18/04/04 US01 e US14 T1.4 T1.5
1 2 19/04 a 02/05/04 US02 e US03 T1.1T1.2T1.3T1.1.2.1
2 3 03 a 16/05/04 US10 T1.1.2.5
2 4 17/05 a 06/06/04 US04 e US05 T1.3.1
3 5 07 a 20/06/04 US09 T1.1.2.3.1.2T1.1.2.3.2.2
3 6 21/06 a 04/07/04 US06 T1.1.2.3.1.1T1.1.2.3.2.1
4 7 05 a 18/07/04 US07 e US08 T1.1.2.3.1.3T1.1.2.3.2.3T1.1.2.3.1.1.2T1.1.2.3.1.1.2
4 8 19/07 a 01/08/04 US11 T1.2.2.1T1.2.2.2
42Planejamento de Iterações I
- Artefatos I
- Planejamento das Iterações
- Exemplo Planejamento Generalizado
Planejamento das Iterações
Gerente Hério Thiago Oliveira Iterações a serem implementadas
IT01 - Refatoração de Código, Testes de Carga, Implementação do Módulo Cliente e Help On-line para todos os Perfis de Usuários IT02 - Manual completo do Fermint e Busca Avançada para todos os Perfis de Usuários IT03 - Integração com WebQuest e Inspeção de Conformidade ao padrão internacional ISO 9241 ( Partes 14, 16 e 17)
43Planejamento de Iterações II
- Artefatos II
- Plano de Iterações
- Exemplo (excerto)
Plano de Iteração - Iteração 1 (25/07 a 22/08)
User Stories a serem implementadas
US01 - Povoamento do Banco de Dados Povoamento da base de dados com os clientes, avaliações e produtos avaliados pelo LIHM/PaqTc-PB US02 - Refatoração de Código Refatoração do código com vistas à melhoria e adequação do sistema às novas funcionalidades dos frameworks que estão sendo utilizados. As atividades desenvolvidas nesta user story serão Implementação de novas tags no arquivo de configuração XML do sistema para possibilitar várias aplicações distribuídas em um mesmo projeto, cada uma selecionando individualmente o SGDB . . .
http//www.lihm.paqtc.org.br/projeto2/iteracao1-es
calonamentos.jsp
44Planejamento de Iterações III
- Artefatos III
- Definição dos Testes de Aceitação
- Exemplo (excerto)
Detalhamento dos Testes de Aceitação Detalhamento dos Testes de Aceitação Detalhamento dos Testes de Aceitação Detalhamento dos Testes de Aceitação Detalhamento dos Testes de Aceitação Detalhamento dos Testes de Aceitação
US1 - Povoamento do Banco de Dados US1 - Povoamento do Banco de Dados US1 - Povoamento do Banco de Dados US1 - Povoamento do Banco de Dados US1 - Povoamento do Banco de Dados US1 - Povoamento do Banco de Dados
Descrição Entradas Comportamento Esperado Histórico de Execução Status
1 Executar script de povoamento do BD 1 Script com todos as inserções corretas 1 Exibição de mensagem de sucesso 01/08/05 Execução com êxito (versão inicial do script) Aprovado
2 Executar script de povoamento com campos inválidos 1 Script com campos obrigatórios ausentes 1 Exibição de mensagem de erro ao executar o script 01/08/05 Execução com êxito (versão inicial do script) Aprovado
http//www.lihm.paqtc.org.br/projeto2/iteracao1-te
stesDeAceitacao.jsp
45Planejamento de Iterações IV
- Artefatos IV
- Modelagem da Interação I
- Embasamento na Modelagem da Tarefa e do
Levantamento do Perfil do Usuário - Especificações
- Seqüenciamento das subtarefas
- Ações do usuário para a execução das subtarefas
- Retorno (feedback) fornecido pelo sistema
- Objetos constituintes da Interface
- Estilo da interação
46Planejamento de Iterações V
- Artefatos V
- Modelagem da Interação II
- Etapa I ? Representação Tabular
- Ações e Objetos inseridos no contexto da tarefa ?
Associação a estilos de interação definidos em
função do perfil do usuário (e.g. seleção de item
em menu, manipulação direta de objeto, uso de
linguagem de comando) - Objetos constituintes da interface com o usuário
? Agentes mediadores na execução da tarefa (e.g.
item de menu, botão) - Contêineres dos objetos da interface (e.g.
janela, quadro de diálogo, página)
47Planejamento de Iterações VI
- Artefatos VI
- Modelagem da Interação III
- Etapa II ? Associação dos Objetos de Interação
com o Projeto Visual da Interface - Contextualização
- Natureza da Tarefa
- Características do Usuário
48Planejamento de Iterações VII
- Artefatos VII
- Modelagem da Interação IV
- Etapa II ? Associação dos Objetos de Interação
com o Projeto Visual da Interface - Exemplo (excerto)
http//www.lihm.paqtc.org.br/projeto2/modelagemDaI
nteracao.jsp
49Planejamento de Iterações VIII
- Artefatos VIII
- Modelagem da Interação V
- Etapa II ? Associação dos Objetos de Interação
com o Projeto Visual da Interface - Exemplo
https//www.lihm.paqtc.org.br/fermint/LoginServlet
?commanLoginGetPaginaperfiltodos
50Planejamento de Iterações IX
- Artefatos IX
- Big Chart I (excerto)
Iteração 1 15/03 a 29/03 Iteração 1 15/03 a 29/03
Entidades Valores
Testes de Aceitação 5
Testes de Unidade 4
Classes do Framework mvcClasses do Framework loginClasses do Fermint Total 10 (3 podem ser testadas)18 (7 podem ser testadas)3 (3 podem ser testadas) 31 (13 podem ser testadas)
Páginas JSP 11
Módulos 3
51Planejamento de Iterações X
- Artefatos X
- Big Chart II (excerto)
http//www.lihm.paqtc.org.br/projeto2/bigChart.jsp
52Implementação
- Práticas
- Integração Contínua
- Propriedade Coletiva
- Boas Práticas de Programação
- Realização de Testes
- Reuniões de Acompanhamento
53Verificação dos Testes de Aceitação e de
Usabilidade
- Artefatos
- Tabela de Alocação de Tarefas (devidamente
preenchida) - Relatório dos Testes de Aceitação e de
Usabilidade - Verificação da Lista de Objetivos de Usabilidade
- Objetivos atingidos?
54Benefícios para os Desenvolvedores I
- Assistência no desenvolvimento front-end
- Direcionamento sobre a implementação do processo
interativo usuário-sistema - Aquisição de conhecimentos sobre o Projeto da
Interação e sobre usabilidade - Focalização da metodologia no valor do negócio
(qualidade do produto)
55Benefícios para os Desenvolvedores II
- Controle da evolução do projeto
- Desenvolvimento do produto a partir da
perspectiva do usuário - Efetividade do envolvimento com a equipe de
projeto
56Considerações Finais
- XPU ? Integração de práticas de usabilidade do
MCIE às práticas de desenvolvimento ágil de XP - Focalização na usabilidade como princípio de
projeto ? Qualidade dos produtos gerados
57Referências Bibliográficas
- AUGUSTINE, S. AND WOODCOCK, S. (2003) Agile
Project Management Emergent Order Through
Visionary Leadership. Documento eletrônico
disponível em - http//www.ccpace.com/resources/AgileProjectManag
ement.pdf - COOPER, A. (1996) Goal-Direct Design. Documento
eletrônico disponível em - http//www.chi-sa.org.za/articles/goal-directed.h
tm - VASCONCELOS, C. R. (2004) XPU Um modelo de
Desenvolvimento de Sistemas Centrado no Usuário.
Dissertação de Mestrado COPIN/CCT/UFCG. Campina
Grande, Paraíba. Fevereiro, 2004. - VREDENBURG, K. (2002) User-Centered Design An
Integrated Approach. Prentice Hall PTR. - WAKE, W. (2001) Extreme Programming Explored.
Boston, MA Addison-Wesley Publishing Co.
58José Eustáquio Rangel de Queiroz
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
GRUPO DE INTERFACES HOMEM-MÁQUINA