Download - Pesquisa sobre o uso de IHC e Métodos Ágeis
Especialização em Banco de Dados – UFMT
UNIVERSIDADE FEDERAL DE MATO GROSSO-UFMT INSTITUTO DE COMPUTAÇÃO
CURSO DE PÓS-GRADUAÇÃO LATO SENSUESPECIALIZAÇÃO EM BANCO DE DADOS
INVESTIGAÇÃO DO USO DA MODELAGEM CONCEITUAL DE DADOS E DE USUÁRIO NO DESENVOLVIMENTO
ORIENTADO POR MÉTODOS ÁGEIS
MAIHARA FÁTIMA DE OLIVEIRAOrientador: Prof. Dr. CRISTIANO MACIEL
Cuiabá-MT2011
Especialização em Banco de Dados – UFMT Página 2
Apresentação
• A demanda de mercado tende a exigir desenvolvimento mais rápido e barato, porém sem comprometer a qualidade do software, a confiabilidade na persistência dos dados e, ainda, considerar as interações entre os usuários e os sistemas.
• A Modelagem Conceitual de Dados é a primeira fase no processo da Modelagem de Dados, e é composta pelo mapeamento estrutural dos dados, levantamento de regras de negócio e especificação de estrutura de dados.
(COSTA, 2007)
• Nos últimos anos, tem havido muito interesse nos processos ágeis de desenvolvimento software. Veremos que as propostas dos Métodos Ágeis permitem desenvolver softwares adaptativos, de maneira mais rápida e com menos recursos.
(FOWLAR, 2005)
• A atividade de design de interação significa criar experiências que melhorem e entendam a maneira como as pessoas trabalham, se comunicam e interagem.
(PREECE, ROGERS E SHARP, 2005)
Especialização em Banco de Dados – UFMT Página 3
Objetivo Geral
Investigar, por meio de uma pesquisa de campo, o uso da Modelagem Conceitual de Dados e Usuário no
desenvolvimento orientado por Métodos Ágeis.
Especialização em Banco de Dados – UFMT Página 4
Metodologia
• Levantamento bibliográfico sobre Modelagem Conceitual de Dados, IHC e Métodos Ágeis
• Elaboração de instrumento de pesquisa
• Aplicação do instrumento de pesquisa (Free On Line Surveys)
• Organização dos dados levantados
• Análise quanti-qualitativa dos dados levantados
Especialização em Banco de Dados – UFMT Página 5
Introdução sobre Métodos Ágeis
“Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano”
(KENT BECK, MANIFESTO ÁGIL,2001)
Especialização em Banco de Dados – UFMT Página 6
Métodos Ágeis
• Extreme Programming (XP)
• Desenvolvimento Adaptativo de Software (DAS) Adaptive Software Development (ASD)
• Método de Desenvolvimento Dinâmico de Sistemas Dynamic Systems Development Method (DSDM)
• Scrum
• Crystal
• Desenvolvimento Guiado por Características Feature Driven Development (FDD)
• Modelagem Ágil – Agile Modeling (AM)
Especialização em Banco de Dados – UFMT Página 7
Modelagem Conceitual de Dados
A Modelagem de Dados se divide em três etapas, Modelagem Conceitual, Modelagem Lógica e Modelagem Física:
(COSTA, 2007)
Modelagem Conceitual
Modelagem Lógica
Modelagem Física
Estrutura física/tabelas
Estrutura contextual/mapeamento
Especialização em Banco de Dados – UFMT Página 8
Modelagem Conceitual de Dados
Modelo conceitual é um nível de abstração utilizado para representar os elementos que compõe a realidade do usuário, ou seja, o domínio do problema, bem como os relacionamentos entre estes componentes sem considerar aspectos tecnológicos.
(DIENER, 2001; ARAÚJO, 2008)
Especialização em Banco de Dados – UFMT Página 9
IHC
Interação Humano Computador (IHC) é um área multidisciplinar.
A atividade de design de interação significa criar experiências que melhorem e entendam a maneira como as pessoas trabalham, se comunicam e interagem.
(PREECE; ROGERS; SHARP, 2005)
Especialização em Banco de Dados – UFMT Página 10
IHC - Técnicas
Técnicas de Modelagem de Usuário
Questionários
Padrões e desenvolvimento de Normas
Utilização de Cenários
Análise e Modelagem de Tarefa
Modelagem de Comunicação / Engenharia Semiótica
Storyboarding
Prototipação
Especialização em Banco de Dados – UFMT Página 11
Em processos utilizando Métodos Ágeis, onde a documentação é mínima ou em alguns casos inexistente.
Quais os documentos/artefatos estão sendo utilizados para o mapeamento dos dados?
Em que momento mapear o Banco de Dados?
E para a Modelagem de Usuário?
Questões
Especialização em Banco de Dados – UFMT
Instrumento de Pesquisa• Foi dividido em 14 questões. Preservar Identidade (P1... E1...).• A questão 7 (IHC), classificação das técnicas de 0 a 8.• Free On Line Surveys.
Página 12
Especialização em Banco de Dados – UFMT Página 13
Pesquisa de CampoCuiabá• Contato com 20 empresas regionais• 4 de 3 empresas, agendamento entrevista• Das outras, 10 retornos pelo Formulário online• Em Cuiabá ao todo, 14 retornos (70%)
Brasil• 85 contatos, 15 (17,64% de retorno) • De 29, 4 de SP (13,79% de retorno)• De 10, 1 de MG (10,00% de retorno)• De 7, 2 do RJ (28,57% de retorno) • De 6, 2 do PR (33,33% de retorno)• De 5, 0 de SC (0% de retorno)• De 3, 1 de PE e RS (33,33% de retorno cada)• De 1, 1 do CE, MS, RO e MT (100% de retorno cada)• De 2, 0 de DF, BA e PA (0% de retorno cada)• De 1, 0 de GO, MA e ES (0% de retorno cada)• 10, sem retorno e sem identificação de localização
Especialização em Banco de Dados – UFMT Página 14
21 (72,4%) utilizam Métodos Ágeis8 (27%) não utilizam
Especialização em Banco de Dados – UFMT Página 15
• 9 (42,9%) SCRUM• 4 (19,0%) XP• 1 (4,8%) DSDM• 1 (4,8%) Crystal• 1 (4,8%) AM• Nenhum utiliza o DAS, FDD, ou o conjunto de Scrum, Crystal e FDD
5 Outros: “Conceitos”
P13
“Metodologia própria: XP, SCRUM (fortemente) e FDD”P14
“XP e DAS. Desenvolvemos em pares (às vezes)”P15
“RAD com XP”P20
“XP e SCRUM.” P27
Especialização em Banco de Dados – UFMT Página 16
- 11 (52,38%) nota 0 (+ 1 com 1 = 57,14%)
- 3 (14,29%) com a nota 8
- 2 (9,52%) com a nota 4 (+ 1 com 3 = 14,28%)
- Os 3 (14, 29%) que restaram preferiram comentar a respeito “Entrevistas” (P8), “Feeling” (P20) e “Protipação em papel” (P25)
Especialização em Banco de Dados – UFMT Página 17
- 8 (38,10%) com a nota 8 (+ 2 com 7 = 47,61%)
- 2 (9,52%) com a nota 0 (+ 1 com 1 = 14,28%)
- 6 (28,57%) com a nota 4 (+ 1 com 5 e 1 com 3 = 38,10%)
Especialização em Banco de Dados – UFMT Página 18
- 4 (19,05%) com a nota 8 (+ 2 com 7 e 1 com 6 = 33,33%)
- 8 (38,10%) com a nota 0 (+ 1 com 1 = 42,85%)
- 3 (14,29%) com a nota 4, (+ 2 com 3 = 23,80%)
Especialização em Banco de Dados – UFMT Página 19
- 7 (33,33%) com a nota 8 (+ 2 com 7 e 1 com 6 = 47,61%)
- 5 (23,81%) com a nota 0 (+ 1 com 1 e 1 com 2 = 33,33%)
- 3 (14,29%) com a nota 4 (+ 1 com 5 = 19,04%)
Especialização em Banco de Dados – UFMT Página 20
- 1 (4,76%) com a nota 8 (+ 1 com 6 = 9,52%)
- 14 (66,67%) com a nota 0 (+ 2 com 1 e 1 com 2 = 80,95%)
- 1 (4,76%) com a nota 4 (+ 1 com 5 = 9,52%)
Especialização em Banco de Dados – UFMT Página 21
- 4 (19,05%) com a nota 8 (+ 1 com 7 e 2 com 6 = 33,33%)
- 11 (53,38%) com a nota 0 (+ 1 com 1 = 57,14%)
- 2 (9,52%) com a nota 4
Especialização em Banco de Dados – UFMT Página 22
- 7 (33,33%) com a nota 8
- 7 (33,33%) com a nota 0 (+ 2 com 1 e 2 com 2 = 52,38%)
- 1 (4,76%) com a nota 4 (+ 1 com 3 = 9,52%)
Especialização em Banco de Dados – UFMT Página 23
- 2 (9,52%) com a nota 8 (+ 1 com 7 e 1 com 6 = 19,04%)
- 13 (61,90%) com a nota 0 (+ 3 com 1 e 1 com 2 = 80,95%)
Especialização em Banco de Dados – UFMT Página 24
- 20 (60,6%) Durante a implementação
- 11 (33,3%) Junto ao Cliente
- 2 (6,1%) em outro momento.
Obs: 11 vezes que a opção Durante a Implementação foi escolhida, também foi escolhida a opção Junto com o cliente.
“Pelo setor de controle de qualidade ao final do desenvolvimento”
(P14)
“Pelo setor de controle de qualidade ao final do desenvolvimento”
(P23)
Especialização em Banco de Dados – UFMT Página 25
13 (61,9%) não utilizar nenhum método para avaliação
8 (38,1%) utilizam deste recurso
“O cliente”(P05)
“Heurística de Nielsen”(P13 e P20)
“Entrevista” (P14)
“Mapeamos acesso” (P15)
“FeedBack”(P21)
“Avaliação mensal por especialistas e pessoas de fora”(P25)
Especialização em Banco de Dados – UFMT Página 26
- 17 (47,2%) Diagrama Entidade Relacionamento
- 7 (19,4%) Diagrama de Classes
- 5 (13,9%) Modelo Conceitual
- 3 (8,36%) Texto Minimundo/Documento de Visão
- 3 não utiliza nenhum artefato
-1 escolha para outros - “Infográfico, espinha de peixe” (P14)
Obs: de 7 vezes que marcaram Diagrama Entidade Relacionamento também marcaram Diagrama de Classes.
Especialização em Banco de Dados – UFMT Página 27
- 13 (34,2%) durante o levantamento de requisitos
- 11 (28,9%) durante o planejamento
-10 (26,3%) durante a fase de desenvolvimento
- 2 (5,3%) não utilizam em nenhum momento
- 1 (2,6%) utiliza engenharia reversa
- 1 (2,6%) outro: “Depois do levantamento, antes do desenvolvimento” (P13)
Especialização em Banco de Dados – UFMT Página 28
• 29 registros - 21 (72,41%) utilizam Métodos Ágeis
• Dos 14 profissionais de Cuiabá 9 (64,3%) utilizam Métodos Ágeis
• Dos 15 registros do Brasil 12 (80,0%) utilizam Métodos Ágeis
• O Método Ágil mais utilizado é o SCRUM com 9 (42,9%)
• Dos 9 de Cuiabá, 4 (44%) usam SCRUM, 5 outros (55,6%): Conceitos; XP, SCRUM, FDD; Mescla, XP e DAS; Programação em Par; RAD-XP; XP, SCRUM
• Teste de inerface – 100% dos que testam junto ao cliente testam durante a Implementação. Apenas 52,38% usam testes junto ao cliente.
• IHC 8 (38,10%) usam muito Padrões. 11 (53,38) não utilizam nada de Engenharia Semiótica.
• Diagrama Entidade Relacionamento sendo 17 (47,2%) e Diagrama de Classes 7 (19,4%)
• No levantamento de requisitos 13 (34,2%), durante o processo de Planejamento 11 (28,9%) e durante o Desenvolvimento 10 (26,3%)
• 8 (38,1%) avaliam interface – Heurística, mapeamento de acesso, cliente
Especialização em Banco de Dados – UFMT Página 29
Conclusões- Métodos Ágeis
- O Método Ágil mais utilizado é o SCRUM com 9 (42,9%)- 5 (23,8% no geral e 55,6% de Cuiabá) necessitam adaptar
- Adaptação a realidade de cada software, empresa e nincho- IHC
- Preocupação em fase embrionária (pouco utilizada)- Utilizam de recursos que possuem
- Modelagem Conceitual- 90,34% utilizam alguma forma de mapeamento dos dados- Os artefatos mais utilizados MER e Diagrama de Classe- Grande importância. Documentos vivos
- Dificuldades- Disponibilidade e envolvimento (fonte da informação)- Identificação de mal formação em algumas questões
- Trabalhos futuros- Apresentação de Estudos de casos - Aplicação de técnicas e comparação
Especialização em Banco de Dados – UFMT Página 30
BibliografiaAGUANNO, Kevin. Managing Agile Projects. Ontario - Canadá, 2005.
ANDRADE, Antônio L. T. Usabilidade de Interfaces Web. Rio de Janeiro, 2007.
ARAÚJO, M. A. P. Modelagem de Dados – Teoria e Prática. In Saber Digital: Revista Eletrônica do CESVA, Valença, v. 1, n. 1, p. 33-69, mar./ago. 2008. Disponível em: <http://www.faa.edu.br/revista/v1_n1_art03.pdf>. Acessado em novembro de 2010.
BECK, Kent – Extreme Programming Explained: embrace change. Boston: Addison Wesley /Longma. 1999. Disponível em <http://books.google.com.br/books?id=G8EL4H4vf7UC&dq=%22extreme+programming+explained+embrace+change%22&pg=PP1&ots=j7tEyqnTAm&sig=UCzn0VpUWZs2f2CVHYoC-Fg-wiY&hl=pt-BR&prev=#v=onepage&q&f=false>. Acessado em novembro de 2010.
BECK, Kent, et al. “Manifesto for Agile Software Development”. Disponível em: <http://www.agilemanifesto.org/>, 2001. Acessado em novembro de 2010.
COSTA, Rogério Luís de C. SQL – Guia Prático – 2ª edição. SP 2007
DIEMER, Mouriac H. Manual Básico de Modelagem de Dados: Análise e Modelagem de Dados. 2001. Disponível em: http://www.cos.ufrj.br/~targino/bd1/modelagem.pdf. Acessado em: novembro de 2010.
FOWLER, Martin. Uml Essencial - Um breve guia para linguagem-padrão de modelagem de Objetos. 3ª Edição. Porto Alegre, 2005.
LEITE, Kátia A. A. Apostila: Modelagem Conceitual de Dados. Publicado em Unimontes, Centro de Ciências Exatas e Tecnológicas Departamento de Ciência da Computação. Dezembro, 2005.
NETTO, Alvim Antônio. IHC Interação Humano Computador - Modelagem e Gerência de Interfaces com o Usuário. 2006.PREECE, Jennifer, ROGERS, Yvonne, SHARP Helen. Design de Interação, 2005.PRESSMAN, Roger S. Engenharia de Software. Versão traduzida 6.ed. São Paulo, 2006.SOMMERVILLE, Ian. Engenharia de Software – 8ª Edição. São Paulo, 2007.SOUZA, L. M. Método Ágil XP (Extreme Programming). In: Academos Revista Eletrônica da FIA. 2007. Disponível em
<http://intranet.fia.edu.br/acesso_site/fia/academos/revista3/6.pdf>. Acesso em novembro de 2010.TAKAI, Osvaldo K., ITALIANO, Isabel C., FERREIRA, João E. Introdução a Banco de Dados. In DCC-IME-USP. 2005. Disponível
em: <http://www.ime.usp.br/~jef/apostila.pdf>. Acessado em janeiro de 2010.TEIXEIRA, Daniel D.; PIRES Fernando J. A, PINTO, José P. G. S.; SANTOS Tiago A. G. P. DSDM – Dynamic Systems
Development Methodology. 2005. Faculdade de Engenharia da Universidade do PortoTHAMIEL, Thiago. Entendendo Scrum. Guarulhos – SP, 2009. Disponível em:
<http://thiagothamiel.wordpress.com/category/desenvolvimento-agil/page/2/>. Acessado em: novembro de 2010
Especialização em Banco de Dados – UFMT
Obrigada!
Especialização em Banco de Dados – UFMT
MÉTODOS ÁGEIS
Especialização em Banco de Dados – UFMT Página 33
XP – EXTREME PROGRAMMING
• Planejamento – Stakeholders, histórias, cartões de indexação, ciclo de valor para Histórias, avaliação menos que 3 semanas, agrupam histórias em incrementos, velocidade = qtd histórias;
• Projeto – comunicação, feedback e coragem, CRC (Class-Responsibility-Colaborator), solução de ponta - protótipos para histórias difíceis, refabricação;
• Codificação – KIS (Keep it simple, mantenha a simplicidade), testes unitários, programação em pares, integração contínua, testes de fumaça;
• Testes – automatização dos testes unitários, seqüência universal de teste, teste de integração e validação, e testes de aceitação XP – usuário.
Especialização em Banco de Dados – UFMT Página 34
Adaptado (SOUZA, 2007).
Especialização em Banco de Dados – UFMT Página 35
XP - Representação do processo de criação de histórias
Especialização em Banco de Dados – UFMT Página 36
DAS – Desenvolvimento Adaptativo de Software
Jim Highsmith – técnicas para desenvolvimento de sistemas e softwares complexos.
Focada em colaboração humana e auto-organização da equipe
• Especulação – declaração de missão feita pelo cliente – restrições (exe: datas de entrega), requisitos básicos, planejamento de incrementos;
• Colaboração – JAD, miniespecs, levantamento de requisitos, cartas claras na mesa em conjunto focados no problema;
• Aprendizado – desenvolvedores (superestimados) real compreensão• Foco nos grupos – feedbacks sobre os incrementos• Revisões técnicas formais – revisão e aperfeiçoamento• Pós-conclusões – reavaliação, aperfeiçoamento e aprendizado sobre
processo
Especialização em Banco de Dados – UFMT Página 37
DSDM (Dynamics Systems Development Method – Método de Desenvolvimento Dinâmico de Sistemas)
“DSDM surge como uma extensão do RAD (Rapid Application Development), focada em projetos de Sistemas de Informação caracterizados por prazos e orçamentos apertados.” (TEIXEIRA, 2005)
80% da aplicação entregue em 20% do tempo que levaria para entregar 100%.Assim como XP e DAS, também sugere processo iterativo de software
Ciclo de vida definido pelo DSDM consortium:• Estudo de Viabilidade – requisitos básicos, restrições de negócio e viabilidade;
• Estudo de Negócio – requisitos funcionais, valor de negócio e arquitetura básica definida;
• Iteração do Modelo Funcional – protótipos incrementais (evoluirão para a aplicação), adiciona requisitos com excitação de feedbacks;
• Iteração de Projeto e Construção – revisita dos protótipos, engenharia;
• Implantação – último incremento, “protótipo operacionalizado”, sujeito a alterações.
Especialização em Banco de Dados – UFMT Página 38
Scrum
O nome varia de uma atividade em um jogo de ruby, onde um grupo de jogadores se movimenta (algumas vezes violentamente) para movimentar a bola.
Pressman (2006)
• Pequenas equipes
• Processo adaptável
• Frequente integração de incrementos
• Divisão da equipe em partes claras de baixo acoplamento
• Documentação e testes durante o processo
• Produto sempre pronto
Especialização em Banco de Dados – UFMT Página 39
Ciclo do Scrum. (THAMIEL, 2009).
Especialização em Banco de Dados – UFMT Página 40
Crystal
O objetivo dos criadores da família Crystal, Alistair Cockburn e Jim Highsmith, era seguir uma forma de desenvolvimento onde a principal característica se baseia na “manobrabilidade”.
Preesman (2006)
Representação das famílias Crystal e classificação por numero de integrantes da Equipe. Adaptado (AGUANNO, 2005).
Especialização em Banco de Dados – UFMT Página 41
FDD – (Feature Driven Development – Desenvolvimento Guiado por Características.
Jeff De Luca e Peter Coad
• Modelagem de um Modelo Abrangente – Grupos de 3; constroem modelos e depois elegem o melhor, atendendo alterações
• Cosntruir uma lista de Funcionalidades – divisão em áreas, atividades de negócio e passos de cada área – lista de funcionalidades-2 semanas. Expressão: <ação><resultado><objetivo>
• Planejar por funcionalidade – (Programadores Líderes) distribuição de funcionalidades, posse para desenvolvimento
• Detalhar por funcionalidade – Distribuição dos conjuntos de classes aos desenvolvedores (diagrama de sequência, resumo)
• Construir por Funcionalidade – Implementação, testes de unidade e de inspeção. Versão Atual do Software.
Especialização em Banco de Dados – UFMT Página 42
AM (Modelagem Ágil – Agile Modeling)
• Práticas• Modelagem Iterativa e Incremental, Trabalho em Equipe,
Simplicidade, Validação, Testabilidade, Prove com o código. Produtividade, Documentação, Propósito, Boas Idéias.
• Princípios• Funcionamento do Software, próximo passo, pouca bagagem,
Simplicidade, Mudança, Mudanças Incrementais, Modelagem (realidade e comunicação), Múltiplos Modelos, Qualidade, FeedBack rápido, Investimento. Conteúdo+ representação -, Aprendizado, Conheça (seus modelos e suas ferramentas), Adaptação, Comunicação aberta e honesta.
Especialização em Banco de Dados – UFMT
MODELAGEM CONCEITUAL DE DADOS
Especialização em Banco de Dados – UFMT Página 44
Demonstração de representação de cardinalidade. (DINNER, 2001).
Especialização em Banco de Dados – UFMT Página 45
Exemplo de aplicação de relação ternária. (LEITE, 2005).
Especialização em Banco de Dados – UFMT Página 46
Demonstração de aplicação de auto relacionamento. (LEITE, 2005).
Especialização em Banco de Dados – UFMT Página 47
Exemplo de aplicação caracterizando Agregação. (LEITE, 2001).
Especialização em Banco de Dados – UFMT Página 48
Generalização
Exemplo de aplicação de Generalização. (LEITE, 2005).
Especialização em Banco de Dados – UFMT Página 49
Exemplo de um Modelo Entidade Relacionamento simples. TAKAI; ITALIANO; FERREIRA, 2005).
Especialização em Banco de Dados – UFMT Página 50
IHC
Especialização em Banco de Dados – UFMT Página 51
Técnicas de Modelagem de Usuário
Alguns aspectos:
• Papel/Função• Familiaridade com Computador• Conhecimento do negócio• Freqüência de uso da aplicação• Contexto Sociocultural
(NETTO, 2005)
Aplicação de Questionário
• Auxilia na identificação para a modelagem de usuário• Indicada para sistemas de alto alcance (geograficamente)
(ANDRADE, 2007)• Difere de Heurística de Nielse (teste de usabilidade)
Especialização em Banco de Dados – UFMT Página 52
Padrões de Desenvolvimento e Protótipos
• Padrões /Normas• Só surgem a partir de uma experiência relativa• Especificação de protótipo (descrição técnica e representação gráfica)
Tipos de Protótipo
• Completa• Horizontal• Vertical
Especialização em Banco de Dados – UFMT Página 53
Especialização em Banco de Dados – UFMT Página 54
Utilização de cenários
• Bom entendimento de ambas as partes• Reflexo de tarefas e objetos do sistema • Utilização de Metáforas
Análise e Modelagem de Tarefa
• Decomposição de cenário em tarefas executadas• Técnica investigativa / questionamento sistemático:
• Porquê?• Como?• O que é?• “isto” é/ocorre “assim”?
Especialização em Banco de Dados – UFMT Página 55
Modelagem de Comunicação / Engenharia Semiótica
• Signos• Mensagens de Metacomunicação• Mensagens sobre Estados de Signos do Domínio• Mensagens sobre Funções da Aplicação• Mensagens sobre Interações Básicas• Mensagens sobre a estrutura Sintática dos Comandos• Mensagens de Metacomunicação
Storyboarding
• Mapear Signos• Mapear Tarefas• Usa Desenho como recurso