Um Método Colaborativo de
Análise e Projeto
Rogério Trévia Nibon
([email protected])
Universidade Federal de Pernambuco - UFPE
Março / 2007
KAIS
T
Roteiro
Problemática / Justificativa
Características do método
Análise
Projeto
Conclusão
Um Método Colaborativo de A & P
2 / 39
Problemática / Justificativa
Problemática
Os métodos atuais empenham-se em determinar disciplinas e conceitos
que muitas vezes ofuscam o próprio processo de desenvolvimento.
Equipes menores intimidam-se diante do grande overhead de reuniões,
documentos, ferramentas e outros tipos de artefatos.
Justificativa
Não existe proposta conhecida de um método formal de A&P
descentralizado, baseado em motivos individuais e colaboração.
A comunidade Open Source tem demonstrado bons resultados na
construção de softwares simples e complexos, sem a excessiva
preocupação com acessórios de desenvolvimento de software.
Um Método Colaborativo de A & P
3 / 39
Características do método
Características do método
Reuso
Reutilização do código
Reutilização de artefatos
Reutilização de conhecimento
Colaborativo
Centrado no código
Independência de interações presenciais
Um Método Colaborativo de A & P
4 / 39
Estudo de caso
Sistema de Vídeo Locadora
Exemplo básico de desenvolvimento
Sistema simples
Exemplo de que mesmo sistemas simples, possuem investidas no mundo
do Software Livre.
Um Método Colaborativo de A & P
5 / 39
Fluxograma de análise
Busca por análises semelhantes
sim
não
achou?
Adesão ao modelo de análise encontrado
Criação de um modelo inédito de análise
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
acordo?
não
sim
Geração do modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
acordo?
não
sim
Um Método Colaborativo de A & P
6 / 39
Unidades do fluxograma de análise
Busca por análises semelhantes
Atividades:
Procurar problemas em projetos Softwares Livres semelhantes ao problema de
interesse individual
Compilar os elementos de modelo de análise que forem
pertinentes ao interesse do problema individual
Busca por análises semelhantes
sim
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Artefatos:
Modelos para reuso de análise
Incorporação de Modelos de análise externo
Representação unificada de alto nível (pacotes)
não
Repositório comum para o time
acordo?
sim
Geração Modelo detalhado do sistema em pacotes
Uso de ferramentas de comunicação
Identificação de classes e relacionamentos
síncronas e assíncronas
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
7 / 39
Estudo de caso
Exemplo Busca de semelhantes
http://codigolivre.org.br
http://sourceforge.com
Opções:
The ABC Car Rental Project
Prololi
Um Método Colaborativo de A & P
8 / 39
Unidades do fluxograma de análise
Adesão ao modelo de análise encontrado
Atividades:
Integrar-se a um projeto Software Livre
Discutir andamento do projeto
Artefatos:
Não possui artefatos
Busca por análises semelhantes
sim
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
9 / 39
Estudo de caso
Adesão
Não aderir
Justificativa
Projeto já encaminhado
Arquitetura diferente da desejada
Sem documentação de apoio
Um Método Colaborativo de A & P
10 / 39
Unidades do fluxograma de análise
Criação de um modelo inédito de análise
Atividades:
Iniciar processo de recrutamento
Propor elementos do modelo de análise
Artefatos:
Busca por análises semelhantes
sim
Propostas de modelos de análise
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
11 / 39
Estudo de caso
Diagrama de entidade e relacionamento
Locação
solicita
aplicável a
Cliente
Taxa de Multa
relacionada a
Gênero
Fita de Vídeo
pertence a
Filme
Um Método Colaborativo de A & P
possui
12 / 39
Unidades do fluxograma de análise
Incorporação de modelos de análise externo
Atividades:
Estruturar todos os modelos para reuso de análise encontrados antes
Artefatos:
Busca por análises semelhantes
Modelo de análise
sim
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Interação com outros projetos
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
13 / 39
Unidades do fluxograma de análise
Representação unificada de alto nível (pacotes)
Atividades:
Integrar todas as propostas de modelo de análise
Artefatos:
Modelo de análise
Busca por análises semelhantes
sim
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Votação
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
14 / 39
Estudo de caso
Representação unificada de alto nível (pacotes)
Rascunho do modelo de pacotes.
Elementos
Centrais
Locações
Acervo
Um Método Colaborativo de A & P
15 / 39
Unidades do fluxograma de análise
Geração do modelo detalhado do sistema em pacotes
Atividades:
Identificar das abstrações dos módulos do sistema
Propor diagramas de pacotes
Artefatos:
Busca por análises semelhantes
sim
Diagrama de pacotes
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
16 / 39
Estudo de caso
Elementos
Centrais
Locações
Caixa
Locadora
possui
Cliente
Caixa
Locação
1..*
FitaDeVídeo
Acervo
FitaDeVídeo
0...*
ListaDeFitas
1..*
DetalhesDaFita
Um Método Colaborativo de A & P
17 / 39
Unidades do fluxograma de análise
Identificação de classes e relacionamentos
Atividades:
Identificar as classes de fronteiras, de entidade e controle
Artefatos:
Diagrama de classes e relacionamentos
Busca por análises semelhantes
sim
não
achou?
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
18 / 39
Estudo de caso
Identificação de classes e relacionamentos
Locação
solicita
aplicável a
Cliente
Taxa de Multa
relacionada a
Gênero
Fita de Vídeo
pertence a
Filme
Um Método Colaborativo de A & P
possui
19 / 39
Estudo de caso
Identificar as classes de fronteiras, de entidade e controle
Tela Filmes
Usuário
Tela Inicial
Filme
Locação
TaxaDeMulta
Gênero
Tela Clientes
Cliente
Um Método Colaborativo de A & P
FitaDeVídeo
20 / 39
Unidades do fluxograma de análise
Votação do modelo de análise
Atividades:
Integrar todos os modelos propostos
Votar o sistema proposto
Artefatos:
Busca por análises semelhantes
sim
não
achou?
Diagrama de classes
Diagrama de relacionamento
Criação de um modelo inédito de análise
Adesão ao modelo de análise encontrado
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
não
acordo?
sim
Geração modelo detalhado do sistema em pacotes
Identificação de classes e relacionamentos
Votação do modelo de análise
não
acordo?
sim
Um Método Colaborativo de A & P
21 / 39
Fluxograma de projeto
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
acordo?
sim
não
Identificação dos reusos
Busca dos componentes que serão utilizados
achou?
sim
não
Adaptação e adesão ao modelo de projeto
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
acordo?
não
sim
Um Método Colaborativo de A & P
22 / 39
Unidades do fluxograma de projeto
Modelo de análise
Atividades:
Revisar o modelo de análise
Artefatos:
Modelo de análise
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
23 / 39
Unidades do fluxograma de projeto
Definição mais detalhada das classes (nomes, tipos e operações)
Atividades:
Definir mais detalhadamente as classes
Definir os relacionamentos existentes entre as classes
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Artefatos:
Diagrama de classes
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
24 / 39
Diagrama de classe
Cliente
-código
-nome
-endereço
-cidade
-estado
-telefone
-documentoIdentificação
-dataNascimento
_____________________________
+incluir()
+alterar()
+remover()
Locação
solicita
-númeroDaLocação
-dataInicial
-dataFinal
-dataDeRetorno
-taxaDeLocação
-preço
-total
-desconto
_____________________________
+incluir()
+alterar()
+remover()
TaxaDeMulta
aplicável a
-númeroDiasAtraso
-taxaMulta
____________________________
+incluir()
+alterar()
+calcularMulta()
relacionada a
Flime
FitaDeVídeo
Gênero
-código
_____________________________
+listarGenerosPreferidos()
pertence a
-códigoDeBarras
-nomeDoFilme
-atoresPrincipais
-anoDoFilme
-preçoDeLocação
-diretor
-legendado
_____________________________
+incluir()
+alterar()
+remover()
Um Método Colaborativo de A & P
possui
-número
-localização
-status
_____________________________
+incluir()
+alterar()
+remover()
25 / 39
Unidades do fluxograma de projeto
Elaboração das interfaces (baseado no modelo de análise)
Atividades:
Elaborar as interfaces consideradas necessárias para a resolução do problema
individual
Modelo de análise
Artefatos:
Definição mais detalhada das classes (nomes, tipos e operações)
Diagrama de classe
Elaboração das interfaces (baseado no modelo de análise)
Modelo de interfaces
Definição de componentes da arquitetura
sim
Contribuição de membros
internos e externos
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
Análise de interfaces de sistemas
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
semelhantes.
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
26 / 39
Unidades do fluxograma de projeto
Definição de componentes da arquitetura
Atividades:
Definir, baseado no entendimento total do problema, que componentes irão
fazer parte da arquitetura
Validar a escolha de tais componentes
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Artefatos:
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
Diagrama de classes
Diagrama de componentes
sim
não
acordo?
Identificação dos reusos
Modelo da arquitetura
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
27 / 39
Unidades do fluxograma de projeto
Identificação dos reusos
Atividades:
Avaliar o modelo da arquitetura a fim de identificar componentes que já
possam existir
Modelo de análise
Artefatos:
Definição mais detalhada das classes (nomes, tipos e operações)
Modelo da arquitetura
Relação de reusos
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
28 / 39
Unidades do fluxograma de projeto
Busca dos componentes que serão utilizados
Atividades:
Pesquisar, em projetos já existentes, os componentes listados na relação
de reusos
Modelo de análise
Artefatos:
Relação de reusos
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
29 / 39
Estudo de caso
Busca dos componentes que serão utilizados
Lista de Reusos de Componentes:
Projeto -> Componente
Prololi -> Controle de Acervo
The ABC Car Rental Project -> Controle de Clientes
Um Método Colaborativo de A & P
30 / 39
Unidades do fluxograma de projeto
Adaptação e adesão ao modelo de projeto
Atividades:
Avaliar os componentes encontrados, verificando se realmente satisfazem a
necessidade do problema
Modelo de análise
Artefatos:
Não possui artefatos
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
31 / 39
Unidades do fluxograma de projeto
Projeto dos componentes necessários
Atividades:
Projetar os componentes necessário e específicos do problema
Artefatos:
Modelo de análise
Diagrama de componentes
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
32 / 39
Unidades do fluxograma de projeto
Montagem da arquitetura
Atividades
Propor modelos de uma possível arquitura do sistema
Artefatos:
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Diagrama de classes
Diagrama de componentes
Modelo da arquitetura
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
33 / 39
Unidades do fluxograma de projeto
Projeto de usabilidade
Atividades:
Estudar e propor as melhores formas de se apresentar o software para o
usuário com algo conveniente e prático para uso
Modelo de análise
Artefatos:
Definição mais detalhada das classes (nomes, tipos e operações)
Modelo de projeto de interfaces
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
Testes de usabilidade
sim
executados pela comunidade
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
34 / 39
Estudo de caso
Um Método Colaborativo de A & P
35 / 39
Unidades do fluxograma de projeto
Votação do modelo de projeto
Atividades:
Integrar todos os modelos de projeto propostos
Votar o sistema proposto
Modelo de análise
Definição mais detalhada das classes (nomes, tipos e operações)
Artefatos:
Modelo da arquitetura
Elaboração das interfaces (baseado no modelo de análise)
Definição de componentes da arquitetura
sim
não
acordo?
Identificação dos reusos
Busca dos componentes que serão utilizados
sim
achou?
Adaptação e adesão ao modelo de projeto
não
Projeto dos componentes necessários
Montagem da arquitetura
Projeto de usabilidade
Votação do modelo de projeto
não
Um Método Colaborativo de A & P
acordo?
sim
não
36 / 39
Conclusão
Diferencial
Indefinição de papéis
Integração maior com outros projetos
Pouco rigor documental
Participação de todos os membros em várias atividades
Um Método Colaborativo de A & P
37 / 39
Conclusão
Conclusão
Impor uma prática formal para A&P descentralizada não é trivial.
O ponto chave são os motivos individuais.
O Método apesar de incipiente é um proposta concreta de método de A&P
descentralizado, baseado em motivos individuais que se inter-relacionam
através da colaboração.
Trabalhos Futuros
Formalizar métodos para outras disciplinas.
Realizar experimentos em casos concretos.
Um Método Colaborativo de A & P
38 / 39
Referências
Referências
Booch, G. The Unified Modeling Language User Guide. Addilson-Wesley,
1999.
Craig Larman, Utilizando UML e Padrões, 2ª edição.
Augustine, L.; Dan, B.; and Smith, G. (2002); “Accelerating Software
Development Through Collaboration”, in Proceeding of “International
Conference on Software Engineering”, pp. 559-563, New York, USA
SourceForge, http://www.sourceforge.org
Código Livre, http://www.codigolivre.org.br
Um Método Colaborativo de A & P
39 / 39
Download

Apresentacao_Rogerio - Centro de Informática da UFPE