kais t um método colaborativo de análise e projeto rogério trévia nibon (rtn2@cin.ufpe.br)...

Post on 07-Apr-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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(rtn2@cin.ufpe.br)(rtn2@cin.ufpe.br)

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

top related