Escolar Documentos
Profissional Documentos
Cultura Documentos
Eduardo Figueiredo
http://www.dcc.ufmg.br/~figueiredo
Panorama de Reutilizao
Frameworks
Desenvolvimento Desenvolvimento
orientado a aspectos dirigido por modelos
String name;
Vector phoneNumbers = new Vector();
...
}
Framework
Frameworks so aplicaes incompletas
So formados por interfaces, classes
abstratas e classes concretas (OO)
O conjunto de classes e interfaces
formam uma estrutura genrica
Um sistema implementado pela adio
de componentes para preencher lacunas
Por exemplo, pela implementao das
classes abstratas do framework
Tipos de Frameworks
Frameworks de infra-estrutura
Apiam a criao de infra-estruturas de
sistemas, tais como comunicaes,
interfaces de usurio e compiladores
Frameworks de integrao
Apiam a comunicao e a troca de
informaes de componentes
Frameworks de aplicaes
Apiam o desenvolvimento de um tipo
de aplicaes (e.g., aplicaes Web)
Extenso de Frameworks
Exemplos de extenso
Adio de classes concretas que
implementam mtodos abstratos
Adio (sobrescrita) de mtodos que
implementam comportamento padro
Adio de arquivos de configurao (XML)
Principal Problema
Padro
Observer
Padro Obsever
Nome
Observer
Descrio do problema
Separa o objeto de suas formas de
apresentao
Descrio da soluo (prximo slide)
Consequncias
Otimizaes para melhorar a atualizao
da apresentao
Soluo do Observer
Reutilizao de Modelos e
Gerao de Cdigo
Motivao
Cdigo de
Baixo Nvel
Abordagem MDD
Modelos Modelos podem ser
Executveis
compilados para
Compilador vrias linguagens de
de Modelos
programao
Cdigo de
Alto Nvel
Modelos podem ser
parcialmente ou
Compilador totalmente reusados
de Cdigo
em diferentes
Cdigo de contextos
Baixo Nvel
O Processo MDD
Selecionar um modelo existente
Recortar as partes do modelo que interessam
Pode ser necessrio criar novos modelos ou
adaptar os modelos existentes
Integrar as partes selecionadas ao modelo do
sistema
Selecionar uma tecnologia de implementao
Descrever (ou reusar) o mapeamento dos
modelos para a implementao
Gerar o sistema
Potenciais Problemas
Imaturidade do desenvolvimento
dirigido por modelos
Falta de suporte de ferramentas e
ambientes de desenvolvimento
Modelos so vistos como extras
Cdigo seria o principal
Desenvolvedores so resistentes
No gostam de brincar com figuras
Temem por seus empregos como
programadores
Bibliografia