CORBA Cleivson Arruda – [email protected] Rafael Lima – [email protected].
KAIS T Um Método Colaborativo de Análise e Projeto Rogério Trévia Nibon ([email protected])...
-
Upload
heloisa-lima-mirandela -
Category
Documents
-
view
212 -
download
0
Transcript of KAIS T Um Método Colaborativo de Análise e Projeto Rogério Trévia Nibon ([email protected])...
KAIST
Um Método Colaborativo Um Método Colaborativo de Análise e Projetode Análise e Projeto
Rogério Trévia NibonRogério Trévia Nibon([email protected])([email protected])
Universidade Federal de Pernambuco - Universidade Federal de Pernambuco - UFPEUFPE
Março / 2007Março / 2007
Um Método Colaborativo de A & P 22 / 39 / 39
RoteiroRoteiroProblemática / Justificativa
Características do método
Análise
Projeto
Conclusão
Um Método Colaborativo de A & P 33 / 39 / 39
Problemática / JustificativaProblemática / JustificativaProblemá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.
JustificativaNã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 44 / 39 / 39
Características do métodoCaracterísticas do métodoCaracterísticas do método
ReusoReutilização do códigoReutilização de artefatosReutilização de conhecimento
Colaborativo
Centrado no código
Independência de interações presenciais
Um Método Colaborativo de A & P 55 / 39 / 39
Estudo de casoEstudo de casoSistema 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 66 / 39 / 39
Fluxograma de análiseFluxograma de análiseBusca por análises semelhantes
Adesão ao modelo de análise encontrado Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração do modelo detalhado do sistema em pacotes
não
achou?
acordo?
sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Um Método Colaborativo de A & P 77 / 39 / 39
sim
Busca por análises semelhantesAtividades:
Procurar problemas em projetos Softwares Livres semelhantes ao problema de interesse individualCompilar os elementos de modelo de análise que forem
pertinentes ao interesse do problema individual
Artefatos:Modelos para reuso de análise
Repositório comum para o time
Uso de ferramentas de comunicaçãosíncronas e assíncronas
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
não
Incorporação de Modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração Modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 88 / 39 / 39
Estudo de casoEstudo de casoExemplo Busca de semelhantes
http://codigolivre.org.brhttp://sourceforge.com
Opções:The ABC Car Rental ProjectProloli
Um Método Colaborativo de A & P 99 / 39 / 39
Adesão ao modelo de análise encontradoAtividades:
Integrar-se a um projeto Software LivreDiscutir andamento do projeto
Artefatos:Não possui artefatos
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1010 / 39 / 39
Estudo de casoEstudo de casoAdesão
Não aderir
JustificativaProjeto já encaminhado
Arquitetura diferente da desejada
Sem documentação de apoio
Um Método Colaborativo de A & P 1111 / 39 / 39
Criação de um modelo inédito de análiseAtividades:
Iniciar processo de recrutamentoPropor elementos do modelo de análise
Artefatos:Propostas de modelos de análise
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1212 / 39 / 39
Estudo de casoEstudo de caso
Cliente Taxa de Multa
Filme
Fita de Vídeo
Locação
Gênero
solicita aplicável a
relacionada a
pertence a possui
Diagrama de entidade e relacionamento
Um Método Colaborativo de A & P 1313 / 39 / 39
Incorporação de modelos de análise externoAtividades:
Estruturar todos os modelos para reuso de análise encontrados antes
Artefatos:Modelo de análise
Interação com outros projetos
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1414 / 39 / 39
Representação unificada de alto nível (pacotes)Atividades:
Integrar todas as propostas de modelo de análise
Artefatos:Modelo de análise
Votação
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1515 / 39 / 39
Estudo de casoEstudo de caso
ElementosCentrais Locações
Acervo
Representação unificada de alto nível (pacotes) Rascunho do modelo de pacotes.
Um Método Colaborativo de A & P 1616 / 39 / 39
Geração do modelo detalhado do sistema em pacotesAtividades:
Identificar das abstrações dos módulos do sistemaPropor diagramas de pacotes
Artefatos:Diagrama de pacotes
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1717 / 39 / 39
Estudo de casoEstudo de casoLocações
Caixa
FitaDeVídeo
LocaçãoCliente
1..*
Acervo
FitaDeVídeo
DetalhesDaFitaListaDeFitas 1..*
0...*
ElementosCentrais
CaixaLocadora possui
Um Método Colaborativo de A & P 1818 / 39 / 39
Identificação de classes e relacionamentosAtividades:
Identificar as classes de fronteiras, de entidade e controle
Artefatos:Diagrama de classes e relacionamentos
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 1919 / 39 / 39
Estudo de casoEstudo de caso
Cliente Taxa de Multa
Filme
Fita de Vídeo
Locação
Gênero
solicita aplicável a
relacionada a
pertence a possui
Identificação de classes e relacionamentos
Um Método Colaborativo de A & P 2020 / 39 / 39
Estudo de casoEstudo de casoIdentificar as classes de fronteiras, de entidade e controle
Usuário
Filme Locação TaxaDeMultaTela Filmes
Tela Clientes Cliente FitaDeVídeo
Tela InicialGênero
Um Método Colaborativo de A & P 2121 / 39 / 39
Votação do modelo de análiseAtividades:
Integrar todos os modelos propostosVotar o sistema proposto
Artefatos:Diagrama de classesDiagrama de relacionamento
Unidades do fluxograma de análiseUnidades do fluxograma de análise
Busca por análises semelhantes
Criação de um modelo inédito de análise
sim não
Incorporação de modelos de análise externo
Representação unificada de alto nível (pacotes)
Geração modelo detalhado do sistema em pacotes
não
achou?
acordo?sim
Identificação de classes e relacionamentos
Votação do modelo de análise
nãoacordo?
sim
Adesão ao modelo de análise encontrado
Um Método Colaborativo de A & P 2222 / 39 / 39
Fluxograma de projetoFluxograma de projeto
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Um Método Colaborativo de A & P 2323 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Unidades do fluxograma de projetoUnidades do fluxograma de projetoModelo de análise
Atividades:Revisar o modelo de análise
Artefatos:Modelo de análise
Um Método Colaborativo de A & P 2424 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Definição mais detalhada das classes (nomes, tipos e operações)
Atividades:Definir mais detalhadamente as classesDefinir os relacionamentos existentes entre as classes
Artefatos:Diagrama de classes
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 2525 / 39 / 39
Diagrama de classeDiagrama de classe
-código-nome-endereço-cidade-estado-telefone-documentoIdentificação-dataNascimento_____________________________+incluir()+alterar()+remover()
Cliente
-númeroDaLocação-dataInicial-dataFinal-dataDeRetorno-taxaDeLocação-preço-total-desconto_____________________________+incluir()+alterar()+remover()
Locação
-código_____________________________+listarGenerosPreferidos()
Gênero-códigoDeBarras-nomeDoFilme-atoresPrincipais-anoDoFilme-preçoDeLocação-diretor-legendado_____________________________+incluir()+alterar()+remover()
Flime
-númeroDiasAtraso-taxaMulta____________________________+incluir()+alterar()+calcularMulta()
TaxaDeMulta
-número-localização-status_____________________________+incluir()+alterar()+remover()
FitaDeVídeo
solicita aplicável a
relacionada a
pertence a possui
Um Método Colaborativo de A & P 2626 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Elaboração das interfaces (baseado no modelo de análise)
Atividades:Elaborar as interfaces consideradas necessárias para a resolução do problema individual
Artefatos:Diagrama de classeModelo de interfaces
Contribuição de membrosinternos e externos
Análise de interfaces de sistemassemelhantes.
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 2727 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Definição de componentes da arquiteturaAtividades:
Definir, baseado no entendimento total do problema, que componentes irão fazer parte da arquiteturaValidar a escolha de tais componentes
Artefatos:Diagrama de classesDiagrama de componentesModelo da arquitetura
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 2828 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Identificação dos reusosAtividades:
Avaliar o modelo da arquitetura a fim de identificar componentes que já possam existir
Artefatos:Modelo da arquiteturaRelação de reusos
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 2929 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Busca dos componentes que serão utilizadosAtividades:
Pesquisar, em projetos já existentes, os componentes listados na relação de reusos
Artefatos:Relação de reusos
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3030 / 39 / 39
Estudo de casoEstudo de casoBusca 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 3131 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Adaptação e adesão ao modelo de projetoAtividades:
Avaliar os componentes encontrados, verificando se realmente satisfazem a necessidade do problema
Artefatos:Não possui artefatos
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3232 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Projeto dos componentes necessáriosAtividades:
Projetar os componentes necessário e específicos do problema
Artefatos:Diagrama de componentes
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3333 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Montagem da arquiteturaAtividades
Propor modelos de uma possível arquitura do sistema
Artefatos:Diagrama de classesDiagrama de componentesModelo da arquitetura
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3434 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Projeto de usabilidadeAtividades:
Estudar e propor as melhores formas de se apresentar o software para o usuário com algo conveniente e prático para uso
Artefatos:Modelo de projeto de interfaces
Testes de usabilidadeexecutados pela comunidade
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3535 / 39 / 39
Estudo de casoEstudo de caso
Um Método Colaborativo de A & P 3636 / 39 / 39
acordo?
Modelo de análise
Projeto de usabilidade
Adaptação e adesão ao modelo de projeto
acordo?
Definição mais detalhada das classes (nomes, tipos e operações)
Elaboração das interfaces (baseado no modelo de análise)
Busca dos componentes que serão utilizados
Definição de componentes da arquitetura
sim
não
Projeto dos componentes necessários
sim
Votação do modelo de projeto
Montagem da arquitetura
não
Identificação dos reusos
achou?
sim
não
não
Votação do modelo de projetoAtividades:
Integrar todos os modelos de projeto propostosVotar o sistema proposto
Artefatos:Modelo da arquitetura
Unidades do fluxograma de projetoUnidades do fluxograma de projeto
Um Método Colaborativo de A & P 3737 / 39 / 39
ConclusãoConclusãoDiferencial
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 3838 / 39 / 39
ConclusãoConclusãoConclusã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 FuturosFormalizar métodos para outras disciplinas.
Realizar experimentos em casos concretos.
Um Método Colaborativo de A & P 3939 / 39 / 39
ReferênciasReferênciasReferê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