Sistema de Apoio à Gestão do Fomento na IFP by ABC.

Post on 07-Apr-2016

214 views 1 download

Transcript of Sistema de Apoio à Gestão do Fomento na IFP by ABC.

Sistema de Apoio à Gestão do Fomento na IFP

by ABC

Agenda

• Cronograma• Processo• Projeto “Antigo” x Projeto “Novo”• Lições Aprendidas• Conclusões

Processo

Processo

• Engenharia da Aplicação

Processo

• Engenharia de Domínio

Processo

• Reengenharia

Processo

• Engenharia de Componentes

Projeto “Antigo” x Projeto “Novo”

• Dados ComparativosProjeto Antigo Projeto Novo

Documentação Docs., Modelos Reutilizada com algumas alterações

Linhas de Código 8.393 3.822*

Componentes - 1

Refactoring:• Nenhuma alteração foi realizada na arquitetura utilizada • *Remoção das dependências com outros componentes

que não são utilizados no nosso contexto/domínio• Criação do componente estrutura organizacional

Projeto “Novo”

Timesheet

• Engenharia da Aplicação• 21 horas

• Engenharia de Domínio• 24 horas

• Reengenharia• 9 horas

• Engenharia de Componentes• 13 horas

• Processo• 72 horas

• Planejamento• 16 horas

• Acompanhamento• 8 horas

Total: 163 horas

Lições Aprendidas

• Educação é mais importante que processo, principalmente para reuso

• Estratégia de mentoring pode ser a mais indicada para disseminar a cultura de reuso da organização (pessoas mais motivadas seriam as sementes)

• Uso de ArchJava não se mostrou viável para nosso caso (tempo)

• Generalização do Domínio (escopo)– Até onde ir...

• ED e Reengenharia na prática...– Grande iteração

Lições Aprendidas

• Não foi trabalhado com a visão de Product Line• Reengenharia para reuso

– Analise apenas da aplicação• Avaliar a geração de determinados documentos, na prática

– Pequenas aplicações– Equipe pequena

• Matriz de Rastreabilidade– Ferramenta é fundamental– Sem doc. requisitos não faz sentido...

• Não houve “certificação” dos componentes produzidos

Conclusões

• Reuso de código x reuso de modelos• Uma boa ED e Reengenharia pode resultar em um código

impossível de ser reusado– Como implementar componentes é um aspecto essencial

e precisa ser discutido !!• Conhecimento do(s) domínio(s) é altamente útil• Background com Reengenharia, Engenharia de Domínio,

Engenharia de Componentes e Engenharia de Aplicação