dBest - Um Framework para Avaliação de Desempenho de Banco de Dados - SBBD 2011
Método de Especificação de Software com Protótipos
1. / 43
Método de Especificação de
Software com o uso de Protótipos
Aluno: Flávio Eduardo Moreni
Orientador: Profº. Dr. Reginaldo Arakaki
1
2. / 43
Apresentação
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
2
3. / 43
Motivação
• Documentação de Software:
– Elaboração de documentos de software.
– Compreensão dos documentos.
• Problemas:
– Especificação e Compreensão:
• Itens descritivos de documentação (entendimento)
• Forma de apresentação das informações (entendimento)
• Investimento em especificação (custo)
3
4. / 43
Motivação
• Visão dos desenvolvedores para os documentos Parnas (2010):
– Excessivos
– Prolixos e Desestruturados
– Pouca utilidade
• Protótipos (BERNARDI et al., 2011 – MAHMUD, 2012 – KORDON et al.,
2002) :
– São alternativa para apresentar e validar requisitos.
– Ressaltam aspectos, melhor entendimento.
– Simulam o funcionamento do software ou parte do dele.
4
5. / 43
Objetivo
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
5
6. / 43
Objetivo
• Desenvolver um método de documentação de software:
6
- Protótipo
- Protótipo
- Protótipo
- Código
- Descritivos
- Casos de Uso
- Descritivos
- Diagramas
- Código
O que?
Como?
Fazer
Requisitos
Projeto
Construção
Usual Método
Formatoúnico
7. / 43
Objetivo
• O método busca os seguintes atributos para o ciclo de desenvolvimento
– Alternativa aos documentos descritivos.
– Forma de melhorar o entendimento de funcionamento.
– Direcionador da fase de construção por meio dos protótipos
funcionais.
7
8. / 43
Contribuição
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
8
9. / 43
Contribuição
• Usar mais a linguagem de programação.
• Usar menos documentos descritivos.
• Buscar a diminuição de esforços na construção de software.
9
10. / 43
Estado da Arte
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
– Documentação de software
– Compreensão de software
– Prototipação no ciclo de vida de um software
– Prototipação Rápida e Evolutiva
• Visão do Método
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
10
11. / 43
Estado da Arte – Documentação de Software
11
Considerações
Foco da Pesquisa Data Autores Características
Documentação em geral 2010 Parnas
• Excesso de Documentos
• Formas desestruturadas
• Prolixos
Métodos ágeis na
elaboração de artefatos
2011 Waldmann
• Foco em elementos mais complexos
• Maior retorno
• Redução de insucessos
Rastreabilidade de
Código
2011 Chen
• Ligação entre Código e documento
• Busca de informações em
documentos
RUP 2011 Borges
• Estratégias para o excesso de
documentos
• Custos elevados
12. / 43
Estado da Arte – Compreensão de software
• Ciclo de vida do projeto
– Entendimento
– Utilidade dos documentos
– Atualização dos documentos
• Relatos de pesquisas (Roehm et al. 2012) e (Lethbridge et al. 2003)
– Interação com o sistema ou funcionalidade em si
– Uso de interfaces gráficas
12
13. / 43
Estado da Arte – Compreensão de software
• Percentual de efetividade do uso de documentos em atividades de sistemas.
13
Fonte: Lethbridge et al. (2003)
Atividade Percentual
Aprendizado sobre um software 61
Teste de um software 58
Criação de um novo software 54
Solução de problemas 50
Busca de informações genéricas 46
Atuação na manutenção 35
Resposta a dúvidas 33
Busca de informações detalhadas 32
Trabalho na estabilização de problemas 32
14. / 4314
Estado da Arte – Prototipação
• Fundamentos (BERNARDI et al., 2011 – MAHMUD, 2012 – KORDON et al.,
2002)
– Forma de minimizar problemas no desenvolvimento.
– Função de facilitar a fase de requisitos.
– Melhora da comunicação.
– Antecipação de divergências entre funcionalidade e arquitetura.
– Limite de escopo.
15. / 4315
Estado da Arte – Prototipação e Agilidade
• Prototipação Rápida - (McMilan et al., 2012) e (Bonivento et al., 2011 )
– Criação, em um período relativamente curto, de um modelo inicial de
partes de um sistema.
– Modelo informal; sua importância vem da velocidade de geração de
material para a análise visual.
• Construção paralela. (Bonivento et al. , 2011)
– Exemplo usado: Software para comunicação com hardware.
– Integração de partes não prontas.
– Testes.
– Teste de Segurança.
16. / 4316
Estado da Arte – Prototipação Evolutiva
• Metodologia de Prototipação - Kordon et al (2002)
Fonte: Kordon et al. (2002)
Indústria de desenvolvimento de jogos
•Migração fácil para o produto final.
•Tempo maior na elaboração.
•Item-base de validação das necessidades de
um sistema.
•Avaliação por simulações na execução ou por
fundamentos matemáticos.
17. / 4317
Estado da Arte – Prototipação Evolutiva
• Protótipos Evolutivos - Reyno et al. (2009)
– Indústria de desenvolvimento de jogos
• Aumento da qualidade e redução de custo.
• Criação de jogos-teste para aumento da produtividade.
• Reutilização.
• MDGD - Model-Driven Game Development.
18. / 4318
Estado da Arte – Prototipação Evolutiva
• Exemplos de protótipos evolutivos - Reyno et al. (2009)
– Jogo Super Mario Bros.
• Aplicação do mesmo método.
• Reaproveitamento de modelo e estrutura.
• Reaproveitamento de controles e comportamentos.
– Dados Relevantes
• 94% do código reaproveitado do jogo em 2D.
• 6% de código inserido para suportar novos comportamentos.
Fonte: Reyno et al. (2009)
19. / 43
Visão do Método
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
– Fase de Requisitos
– Fase de Construção
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
19
20. / 43
Visão do Método
20
• Objetivo
– Apresentação
– Proposta em usar protótipos e codificação para criação dos
documento do projeto.
– Método em Fases:
• Requisitos
• Construção
21. / 43
Visão do Método - Geral
Fonte: Elaborado pelo autor.
• Diagrama do método de especificação com o uso de protótipos
21
22. / 43
Visão do Método – Fase de Requisitos
Fonte: Elaborado pelo autor.
• Diagrama do método para a fase de especificação
22
23. / 43
Visão do Método – Fase de Construção
• Diagrama do método para a fase de construção
Fonte: Elaborado pelo autor.
23
24. / 43
Experimento e Resultados
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
– Fase de Requisitos
– Fase de Construção
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
24
25. / 4325
Experimento e Resultados
– Contexto
• Comparar dois métodos de especificação para as fases de
requisitos e construção. MTERUP e MESP
• Para garantir a execução do experimento de forma imparcial, as
funcionalidades usadas para a execução do método foram
descritas, detalhadas e apresentadas de forma igual para todos os
participantes da pesquisa.
26. / 4326
Experimento e Resultados
• Funcionalidades Escolhidas (Requisitos e Construção)
– Componente de Autenticação e acesso a sites.
• WSAutentica é um Webservice. Seu principal objetivo é validar o
acesso de clientes da instituição a seus sites de internet.
– Cadastro de favorecidos para transferências entre bancos.
• A funcionalidade permite cadastrar contas de favorecidos para
transferências de valores entre clientes de diferentes bancos,
adotando o novo código de banco denominado ISPB (Identificador
do Sistema de Pagamentos Brasileiro).
27. / 4327
Experimento e Resultados - Fase de Requisitos
• Participantes
Pesquisador Cliente (Analista de
Sistemas / Negócios )
(2) Analista de
Requisitos - Fábrica
de Software
28. / 4328
Experimento e Resultados - Fase de Requisitos
MTERUP
• Solicitação do Software
– Entrevista com o solicitante
– Base da definição e apresentação das
funcionalidades
– Obtenção de documentos auxiliares
• Construção dos documentos
– Diagramas e Descrições
• Revisão
– Alinhamento do analista e solicitante
• Entrega
MESP
• Apresentação do método
• Solicitação do Software
– Entrevista com o solicitante
– Base da definição e apresentação das
funcionalidades
– Obtenção de documentos auxiliares
• Construção dos documentos
– Definições Visuais (Protótipo)
• Revisão
– Alinhamento do analista e solicitante
• Entrega
Atividades
29. / 4329
Experimento e Resultados - Fase de Requisitos
• Critérios avaliados
– Aplicação dos métodos na fase de requisitos.
• Aderência dos documentos
– Checklist adaptada da escala Likert
• Tempo de esclarecimento de dúvidas
• Esforço para a elaboração dos documentos
– Coleta com os analistas de requisitos
30. / 4330
Experimento e Resultados - Fase de Requisitos
• Resultados da aderência dos documentos
Questão MTERUP MESP Observação
Os documentos refletem a solicitação? 10 10 N/A
Os documentos abrangem todas as
funcionalidades?
10 10 N/A
Os documentos contemplam todas as regras? 10 10 N/A
É fácil localizar as regras nos documentos? 5 9
Para o MTERUP fica um pouco confusa a procura
em vários documentos, pois ora está em um
diagrama, ora está em um documento do
Microsoft Word.
É fácil entender as regras inseridas nos
documentos?
5 7
No caso da funcionalidade de WebService, o
solicitante precisa ter mais conhecimento técnico.
As regras estão descritas de forma clara e
objetiva?
9 9
Para os dois métodos ainda existem alguns
termos técnicos de que o solicitante de negócio
não tem entendimento pleno.
Total 49 55
31. / 4331
Experimento e Resultados - Fase de Requisitos
• Resultados para esclarecimento de dúvidas
Método
Quantidade de
Dúvidas
Tempo de
Interação
MTERUP 4 15 minutos
MESP 3 12 minutos
Total 7 27 minutos
32. / 4332
Experimento e Resultados - Fase de Requisitos
• Resultado do esforço para a elaboração dos documentos
Documentos
MTERUP MESP
Uso Esforço (horas) Uso
Esforço
(horas)
Caso de Uso – Diagrama X 5 - -
Caso de Uso – Descrição X 16,5 X 15
Definições Visuais (Protótipo) X 2 X 19
Diagrama de Sequência X 9 - -
Diagrama de Classes X 9 - -
Roteiro de Teste X 5,5 X 5,5
Totais - 47 - 39,5
33. / 4333
Experimento e Resultados - Documentos
• Exemplo de documentos gerados
Método Tradicional Método com uso de Protótipos
34. / 4334
Experimento e Resultados - Fase de Construção
• Participantes
(2) Analista
Desenvolvedor -
Fábrica de Software
(2) Estagiários -
Fábrica de Software
35. / 4335
Experimento e Resultados - Fase de Construção
• Critérios avaliados
– Aplicação dos métodos na fase de construção.
• Tempo para a compreensão dos documentos
• Esforço para a construção de cada funcionalidade
– Coleta com os analistas desenvolvedores
• Reuso do documento no código-fonte gerado
– Percepção dos desenvolvedores
36. / 4336
Experimento e Resultados - Fase de Construção.
• Resultados
– Tempo para a compreensão dos documentos
– Reuso do documento no código-fonte gerado
Funcionalidade Tempo de Compreensão
MTERUP MESP
WebService 60 minutos 40 minutos
Cadastro de Conta Crédito 120 minutos 60 minutos
Total 3 horas 1 hora 40 minutos
MTERUP MESP
Funcionalidade % de reuso de % de reuso
WebService Autenticação 0% 30%
Cadastro Conta Crédito 5% 80%
37. / 4337
Experimento e Resultados - Fase de Construção.
– Esforço para a construção de cada funcionalidade
MTERUP MESP
Funcionalidade Item da Construção Esforço (Horas) Esforço (Horas)
WebService Autenticação Interface do Componente 1.0 0.3
Classes Controladoras 2.0 1.5
Exceções 1.0 0.5
Regra de negócios 8.0 8.0
Testes Unitários 4.5 4.0
Total WebService 16.5 14.3
Funcionalidade Item da Construção Esforço (Horas) Esforço (Horas)
Cadastro Conta Crédito Telas 9.0 3.0
Classes Controladoras 7.5 7.5
Classes de Modelos 1.5 1.1
Exceções 3.0 3.0
Regras de Negócio 10.5 7.5
Testes Unitários 9.0 6.0
Total Cadastro 40.5 28.1
Total da Construção 57.0 42.5
38. / 43
Conclusões
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
– Fase de Requisitos
– Fase de Construção
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
38
39. / 4339
Conclusões
• Pontos Positivos
– Viabilidade:
• Preferência evidente dos analistas no uso de simulação (Compreensão do Software)
• Redução do esforço de construção e reaproveitamento dos documentos
– Contribuições:
• Melhor compreensão dos documentos elaborados para construção de um software
• Redução de esforço na fase de construção devido ao reuso dos documento
• Pontos de melhorias
– Documentação de conceitos, decisões e estratégicas arquiteturais.
– Exigência de conhecimento de programação aos analistas de requisitos
40. / 43
Contribuições da Banca de Qualificação
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
– Fase de Requisitos
– Fase de Construção
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
40
41. / 4341
Contribuições da Banca de Qualificação
• Terminologia de artefato e documento
• Escopo de aplicação da pesquisa
• Ajuste do objetivo e comparação com RUP
• Cronograma
42. / 43
Trabalhos Futuros
• Motivação
• Objetivo
• Contribuição
• Estado da Arte
• Visão do Método
– Fase de Requisitos
– Fase de Construção
• Experimento e Resultados
• Conclusões
• Contribuições da Banca de Qualificação
• Trabalhos futuros
42
43. / 4343
Trabalhos Futuros
• Aplicação do método cenários diferentes da Internet. Ex.: CRM, ERP,
aplicativos para dispositivos móveis
• Elaboração de metamodelo com base em UML ou a extensão do SPEM
• Tentativa de aplicação do método em estratégias e decisões
arquiteturais
• Confecção de uma ferramenta para elaboração ou o suporte