SISTEMA DE INFORMAÇÃO PARA GERENCIAMENTO DE PRODUTOS E/OU SERVIÇOS EM EMPRESA...
Uso da Modelagem Conceitual e Usuário em Desenvolvimento Ágil
1. Especialização em Banco de Dados – UFMT
UNIVERSIDADE FEDERAL DE MATO GROSSO-UFMT
INSTITUTO DE COMPUTAÇÃO
CURSO DE PÓS-GRADUAÇÃO LATO SENSU
ESPECIALIZAÇÃ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 OLIVEIRA
Orientador: Prof. Dr. CRISTIANO MACIEL
Cuiabá-MT
2011
2. 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)
3. 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.
4. 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
5. 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)
6. 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)
7. 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
8. 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)
9. 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)
10. 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
11. 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
12. 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
13. Especialização em Banco de Dados – UFMT
Página 13
Pesquisa de Campo
Cuiabá
• 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
14. Especialização em Banco de Dados – UFMT
Página 14
21 (72,4%) utilizam Métodos Ágeis
8 (27%) não utilizam
15. 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
16. 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)
17. 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%)
18. 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%)
19. 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%)
20. 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%)
21. 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
22. 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%)
23. 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%)
24. 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)
25. 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)
26. 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.
27. 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)
28. 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
29. 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
30. Especialização em Banco de Dados – UFMT
Página 30
Bibliografia
AGUANNO, 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 Porto
THAMIEL, Thiago. Entendendo Scrum. Guarulhos – SP, 2009. Disponível em:
<http://thiagothamiel.wordpress.com/category/desenvolvimento-agil/page/2/>. Acessado em: novembro de 2010
33. 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.
35. Especialização em Banco de Dados – UFMT
Página 35
XP - Representação do processo de criação de histórias
36. 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
37. 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.
38. 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
40. 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).
41. 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.
42. 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.
51. 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)
52. 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
54. 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”?
55. 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