[email protected] rangelde [email protected] DSC/CCT/UFCG [email protected] [email protected] DSC/CCT/UFCG “Many 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)] 2 DSC/CCT/UFCG Considerações Iniciais I Familiaridade de uso de XP (eXtreme Programming) no âmbito do Grupo [email protected] [email protected] de Engenharia (GES/DSC/CEEI/UFCG) de Software Popularidade de adoção de MCIE (Método de Concepção de Interfaces Ergonômicas) no âmbito do Grupo de Interfaces HomemMáquina (GES/DSC-DEE/CEEI/UFCG) 3 DSC/CCT/UFCG Considerações Iniciais II Constatação de lacunas entre o Projeto da Funcionalidade e o Projeto da Interação Divergência do foco de projeto [email protected] [email protected] Carência de desmistificação de conceitos e identificação de elementos comuns 4 Considerações Iniciais III DSC/CCT/UFCG Projeto da Interação Coletânea de práticas direcionadas para a criação de produtos úteis e usáveis [email protected] [email protected] Multidisciplinaridade Ciência da Informação Psicologia Cognitiva Fatores Humanos/ Ergonomia Projeto Gráfico 5 Considerações Iniciais IV DSC/CCT/UFCG Abordagens de Projeto da Interação Projeto Centrado no Usuário (User- Centered Design) [Vredenburg, 2002] [email protected] [email protected] Projeto Direcionado a Metas (Goal- Directed Design) [Cooper, 2006] http://www.stcsig.org/usability/topics/articles/ucd%20_web_devel.html 6 Considerações Iniciais V DSC/CCT/UFCG Agilidade Analista de Negócios Projetistas Equipe 1 Líder Projetistas Projetistas Projetistas Projetistas [email protected] [email protected] Equipe 2 Líder Equipe 3 Líder Analista de Negócios Projetistas Projeto Analista de Negócios Gerente Projetista da interação Analista de Negócios Projetistas Consumidor Representante Equipe 4 Líder Analista de Negócios Chefe da divisão Analista de Negócios Projetistas Vendas Acionistas Patrocinador Marketing 7 Considerações Iniciais VI DSC/CCT/UFCG Agilidade Capacidade de resposta rápida a mudanças Valor do Negócio [email protected] [email protected] Abertura das Equipes de Desenvolvimento Desenvolvimento de Artefatos Pequenos e Fáceis de Gerenciar Redução de Falhas Aceitação de Mudanças 8 Considerações Iniciais VII DSC/CCT/UFCG [email protected] [email protected] Valores de XP Simplicidade Comunicação Coragem Retorno (Feedback) 9 DSC/CCT/UFCG Considerações Iniciais VIII Práticas mais relevantes para o Projeto da Interação Simplicidade de Projeto [email protected] [email protected] 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 10 Considerações Iniciais IX DSC/CCT/UFCG Agilidade no Ciclo de Desenvolvimento da Interação I Efetividade dos laços de feedback e Abertura [email protected] [email protected] 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 projetista da interação desenvolvedor- 11 DSC/CCT/UFCG Considerações Iniciais X Agilidade no Ciclo de Desenvolvimento da Interação II Desenvolvimento da aplicação em partes [email protected] [email protected] 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 12 Considerações Iniciais XI DSC/CCT/UFCG Agilidade no Ciclo de Desenvolvimento da Interação III Implementação & Teste Gerência ÁGIL de Projeto v. 0.4 v. v. 0.7 0.4 [email protected] [email protected] Planejamento & Projeto Release Planejamento & Projeto Projetista da Interação Projetista da Funcionalidade Testador Usuário Implementação & Teste v. 0.4 1.0 Planejamento & Projeto Implementação & Teste 13 Considerações Iniciais XII DSC/CCT/UFCG Relevância de XP para o Projeto da Interação I Rapidez dos releases Facilidade de teste Desenvolvimento em Pares Minimização de [email protected] [email protected] 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 14 Considerações Iniciais XII DSC/CCT/UFCG Relevância de XP para o Projeto da Interação II Planejamento Levantamento de User Stories Estimativa e Priorização de User Stories 7 1 3 3 148 3 6 3 7 2 4 [email protected] [email protected] 1 2 6 3 9 4 5 4 1 1 2 2 3 2 5 2 2 Necessária 1 2 13 1 2 4 4 3 8 3 1 5 2 4 Desejável 2 Prescindível 3 3 1 4 1 Iteração 1 Iteração 2 Iteração 3 15 Considerações Iniciais XIII DSC/CCT/UFCG Relevância de Projeto da Interação para XP Modelagem da Tarefa e da Interação Projeto Visual da Interface com o Usuário [email protected] [email protected] Compartilhamento de visões Preenchimento de cognição do usuário lacunas relativas à Visualização da informação e articulação dos pontos de vista dos projetistas funcionalidade e da interação da Experiência de codificação da interface com o usuário 16 DSC/CCT/UFCG Metodologias Envolvidas [email protected] [email protected] XPU [Vasconcelos, 2004] XP eXtreme Programming YP easY Process MCIE Método de Concepção de Interfaces Ergonômicas 17 DSC/CCT/UFCG Objetivo Principal [email protected] [email protected] 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 18 Arcabouço Metodológico DSC/CCT/UFCG XPU Definição de Papéis [email protected] [email protected] Diálogo com o Cliente Inicialização Próximo Release Planejamento de Releases Plano do Release Planejamento de Iterações Próxima Iteração Implementação Plano da Iteração Definição e Realização de Testes de Aceitação Reuniões de Acompanhamento Versão do Produto Final da Iteração com Verificação dos Testes de Aceitação 19 DSC/CCT/UFCG Definição de Papéis I Definição de Papéis Cliente Usuário Gerente Desenvolvedor Testador Especialista em Usabilidade [email protected] [email protected] 20 Definição de Papéis II DSC/CCT/UFCG [email protected] [email protected] 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 Aceitação Aprovação (ou não) dos releases gerados Poder de comunicação e tomada rápida de decisões e validação dos Testes de 21 Definição de Papéis III DSC/CCT/UFCG [email protected] [email protected] 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 22 Definição de Papéis IV DSC/CCT/UFCG [email protected] [email protected] Gerente Alocação de competências e acompanhamento do progresso da equipe de desenvolvimento Obtenção 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 dos recursos necessários ao 23 Definição de Papéis V DSC/CCT/UFCG [email protected] [email protected] 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 código Estimação do tempo de desenvolvimento Auxílio ao gerente na Elaboração dos Planos de Releases e de Iterações da integração contínua do 24 Definição de Papéis VI DSC/CCT/UFCG [email protected] [email protected] 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 25 DSC/CCT/UFCG Definição de Papéis VII [email protected] [email protected] 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 26 Definição de Papéis VIII DSC/CCT/UFCG Definição de Papéis Exemplo de Artefato [email protected] [email protected] 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) 27 Diálogo com o Cliente I DSC/CCT/UFCG Artefatos I Documento de Visão Visão do Negócio e Escopo do Projeto [email protected] [email protected] Exemplo O projeto tem como propósito o desenvolvimento de um sistema Web para a integração e análise de dados da avaliações de interfaces com o usuário conduzidas Interfaces Homem-Máquina - LIHM/UFCG. no Laboratório de O projeto visa a adequação para a Web da aplicação de software desenvolvida por Bezerra [Bez00]. O produto resultante deverá prover maior agilidade e eficiência na realização do processo de análise de dados de avaliação de interfaces homem-máquina. 28 Diálogo com o Cliente II DSC/CCT/UFCG Artefatos II Lista dos Objetivos de Usabilidade Inspeção de produtos similares [email protected] [email protected] Superação de problemas encontrados Qualidade do produto final Exemplo 1. Desenvolver uma arquitetura e um modelo lógico de dados capazes de permitir alterações e suficientemente estáveis para possibilitar a minimização de riscos; 2. Realizar a Modelagem da Tarefa do usuário; e 3. Realizar a Modelagem da Interação homem-máquina. 29 Diálogo com o Cliente III DSC/CCT/UFCG Artefatos III Delineamento do Perfil do Usuário Aptidões [email protected] [email protected] Limitações Preferências Interesses 30 Diálogo com o Cliente IV DSC/CCT/UFCG Artefatos IV Delineamento do Perfil do Usuário Exemplo (excerto) [email protected] [email protected] 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 diagnósticos de problemas de usabilidade Freqüência da Tarefa Ocasional (em função da demanda) http://www.lihm.paqtc.org.br/projeto2/perfilDoUsuario.jsp de 31 Inicialização I DSC/CCT/UFCG Artefatos I Requisitos Funcionais [email protected] [email protected] # Exemplo (excerto) Requisito Descrição 1 Módulo Cliente Autenticação de usuários com perfil Cliente sob Autenticação via camada camada HTTPS HTTPS 2 Módulo Cliente Módulo de verificação dos pareceres globais e Verificação de Pareceres técnicos de avaliações de produtos de Produtos 3 Módulo Administrador Help Online 4 Módulo Operador - Help Help Online com detalhamento de todas atividades Online de interação homem-máquina no sistema - Help Online com detalhamento de todas atividades de interação homem-máquina no sistema http://www.lihm.paqtc.org.br/projeto2/documentoVisao-reqFuncionais.jsp 32 Inicialização II DSC/CCT/UFCG Artefatos II Requisitos Não- funcionais [email protected] [email protected] # Exemplo (excerto) Requisito Descrição 1 • Sistema dotado de interface WEB • Uso de formulários (para a entrada de dados) e quadros de Tipo de Interface 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/documentoVisao-reqNaoFuncionais.jsp 33 Inicialização III DSC/CCT/UFCG Artefatos III Levantamento de User Stories Exemplo (excerto) [email protected] [email protected] 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ção: Refatoraçã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 34 Inicialização IV DSC/CCT/UFCG Artefatos IV Projeto Arquitetural [email protected] [email protected] Exemplo Vide: http://www.lihm.paqtc.org.br/projeto2/projetoArquitetural.jsp 35 Inicialização V DSC/CCT/UFCG Artefatos V Modelo Lógico dos Dados [email protected] [email protected] Exemplo Vide: http://www.lihm.paqtc.org.br/projeto2/modeloLogico.jsp 36 Inicialização V DSC/CCT/UFCG Artefatos V Diagrama de Classes [email protected] [email protected] Exemplo Vide: http://www.lihm.paqtc.org.br/projeto2/diagramaDeClasses.jsp 37 Inicialização VII DSC/CCT/UFCG Artefatos VII Modelo da Tarefa [email protected] [email protected] Exemplo (excertos) http://www.lihm.paqtc.org.br/projeto2/modelagemDaTarefa.jsp 38 Planejamento de Releases I DSC/CCT/UFCG Artefatos I Priorização de User Stories Exemplo [email protected] [email protected] Vide http://www.lihm.paqtc.org.br/projeto2/userStories.jsp 39 Planejamento de Releases II DSC/CCT/UFCG Artefatos II Priorização das Tarefas do Usuário Exemplo [email protected] [email protected] Vide http://www.lihm.paqtc.org.br/projeto2/iteracao1escalonamentos.jsp 40 Planejamento de Releases III DSC/CCT/UFCG Artefatos III [email protected] [email protected] RELEASE 1 2 3 4 Elaboração do Plano de Releases (excerto) ITERAÇÃO PERÍODO USER STORIES 1 05 a 18/04/04 US01 e US14 2 19/04 a 02/05/04 US02 e US03 3 4 03 a 16/05/04 17/05 a 06/06/04 US10 US04 e US05 5 07 a 20/06/04 US09 6 21/06 a 04/07/04 US06 7 05 a 18/07/04 US07 e US08 8 19/07 a 01/08/04 US11 TAREFA DO USUÁRIO T1.4 T1.5 T1.1 T1.2 T1.3 T1.1.2.1 T1.1.2.5 T1.3.1 T1.1.2.3.1.2 T1.1.2.3.2.2 T1.1.2.3.1.1 T1.1.2.3.2.1 T1.1.2.3.1.3 T1.1.2.3.2.3 T1.1.2.3.1.1.2 T1.1.2.3.1.1.2 T1.2.2.1 T1.2.2.2 41 Planejamento de Iterações I DSC/CCT/UFCG Artefatos I Planejamento das Iterações Exemplo – Planejamento Generalizado [email protected] [email protected] 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) 42 Planejamento de Iterações II DSC/CCT/UFCG Artefatos II Plano de Iterações Exemplo (excerto) Plano de Iteração - Iteração 1 (25/07 a 22/08) [email protected] [email protected] 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-escalonamentos.jsp 43 Planejamento de Iterações III DSC/CCT/UFCG Artefatos III Definição dos Testes de Aceitação Exemplo (excerto) [email protected] [email protected] Detalhamento dos Testes de Aceitação US1 - Povoamento do Banco de Dados # 1 2 Descrição Executar script de povoamento do BD Executar script de povoamento com campos inválidos Entradas Comportamento Esperado Histórico de Execução 1 Script com todos as 1 Exibição inserções corretas mensagem sucesso de 01/08/05 de Execução com êxito (versão inicial do script) 1 Script com campos 1 Exibição de 01/08/05 obrigatórios ausentes mensagem de Execução com erro ao executar êxito (versão o script inicial do script) http://www.lihm.paqtc.org.br/projeto2/iteracao1-testesDeAceitacao.jsp Status Aprovado Aprovado 44 Planejamento de Iterações IV DSC/CCT/UFCG Artefatos IV [email protected] [email protected] 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 45 Planejamento de Iterações V DSC/CCT/UFCG Artefatos V Modelagem da Interação II Etapa I Representação Tabular [email protected] [email protected] 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) 46 Planejamento de Iterações VI DSC/CCT/UFCG Artefatos VI Modelagem da Interação III [email protected] [email protected] 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 47 Planejamento de Iterações VII DSC/CCT/UFCG Artefatos VII Modelagem da Interação IV [email protected] [email protected] Etapa II Associação dos Objetos de Interação com o Projeto Visual da Interface Exemplo (excerto) Área de Preenchimento de Campos Login: Senha: Confirmar Cancelar Ajuda Área de Manipulação Direta de Botões http://www.lihm.paqtc.org.br/projeto2/modelagemDaInteracao.jsp 48 Planejamento de Iterações VIII DSC/CCT/UFCG Artefatos VIII Modelagem da Interação V [email protected] [email protected] Etapa II Associação dos Objetos de Interação com o Projeto Visual da Interface Exemplo ? https://www.lihm.paqtc.org.br/fermint/LoginServlet?comman= LoginGetPagina&perfil=todos 49 Planejamento de Iterações IX DSC/CCT/UFCG Artefatos IX Big Chart I (excerto) Iteração 1: 15/03 a 29/03 [email protected] [email protected] Entidades Valores Testes de Aceitação 5 Testes de Unidade 4 Classes do Framework mvc Classes do Framework login Classes 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 50 Planejamento de Iterações X DSC/CCT/UFCG Artefatos X [email protected] [email protected] Big Chart II (excerto) http://www.lihm.paqtc.org.br/projeto2/bigChart.jsp 51 Implementaç ão DSC/CCT/UFCG [email protected] [email protected] Práticas Integração Contínua Propriedade Coletiva Boas Práticas de Programação Realização de Testes Reuniões de Acompanhamento 52 Verificação dos Testes de Aceitação e de Usabilidade DSC/CCT/UFCG [email protected] [email protected] Artefatos Tabela de Alocação de Tarefas (devidamente preenchida) Relatório dos Testes de Aceitação e de Usabilidade Verificação da Usabilidade Lista de Objetivos de Objetivos atingidos? 53 DSC/CCT/UFCG Benefícios para os Desenvolvedores I Assistência no desenvolvimento front-end [email protected] [email protected] 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) 54 DSC/CCT/UFCG Benefícios para os Desenvolvedores II Controle da evolução do projeto [email protected] [email protected] Desenvolvimento do produto a partir da perspectiva do usuário Efetividade do envolvimento com a equipe de projeto 55 DSC/CCT/UFCG Considerações Finais [email protected] [email protected] 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 56 DSC/CCT/UFCG 1. Referências Bibliográficas AUGUSTINE, S. AND WOODCOCK, S. (2003) Agile Project Management: Emergent Order Through Visionary Leadership. Documento eletrônico disponível em: [email protected] [email protected] http://www.ccpace.com/resources/AgileProjectManagement.pdf 2. COOPER, A. (1996) Goal-Direct Design. eletrônico disponível em: http://www.chi-sa.org.za/articles/goal-directed.htm 3. 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. 4. VREDENBURG, K. (2002) User-Centered Integrated Approach. Prentice Hall PTR. 5. WAKE, W. (2001) Extreme Programming Explored. Boston, MA: Addison-Wesley Publishing Co. Documento Design: An 57 DSC/CCT/UFCG José Eustáquio Rangel de Queiroz UNIVERSIDADE FEDERAL DE CAMPINA GRANDE DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO [email protected] [email protected] GRUPO DE INTERFACES HOMEM-MÁQUINA 58