[Tópicos I] 

Facetas da Reusabilidade de Software 

Prof. Fábio R. Pillatt

pillatt@unicruz.edu.br

2003.01 

Universidade de Cruz Alta

Ciência da Computação

Tópicos Especiais em Computação I

 

2 

[Tópicos I]  

O que são Frameworks? 

Um framework é uma aplicação quase completa onde características que estão faltando devem ser acopladas.  
 

Domínio: Aplicação de E-Commerce 

A 

B 

C 

Framework

 

8 

[Tópicos I] 

O que são Design Patterns? 

Design Patterns: "Cada padrão descreve um problema que ocorre freqüentemente e então descreve o cerne da solução ao problema de forma a poder reusar a solução milhões de vezes em situações diferentes" [Christopher Alexander]

Reuso de idéia, não de código.

Contém o somatório da experiência dos melhores projetistas O-O!

Estão revolucionando o projeto de software desde 1995 quando o famoso livro da "Gang of Four" (GoF) apareceu com o primeiro catálogo de 23 padrões.

Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos (Gamma, Helm, Johnson e Vlissides)

 

9 

[Tópicos I] 

O que são Componentes? 

Componentes: "Um pacote coerente de artefatos de software que pode ser desenvolvido independentemente e entregue como unidade e que pode se composto, sem mudança, com outros componentes para construir algo maior" [Desmond D'Sousa].

Encapsula as particularidades de cada aplicação e pluga-se ao framework.  
 

Framework 

A 

A 

C 

C 

B 

B 

B 

B 

Aplicação B

 

10 

[Tópicos I] 

Considerações Finais sobre Reuso 

Mesmo com a ajuda de tecnologias como design patterns, frameworks e componentes, o custo monetário e de complexidade de desenvolvimento é alto para se alcançar o reuso.

Gasta muito tempo para bolar boas abstrações.

Bons programadores são caros.

Programadores comuns terão dificuldades para produzir software reutilizável.

Você não quer ser um programador comum??

Primeiro passo: Leia o livro da GoF.

Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos (Gamma, Helm, Johnson e Vlissides) 

 

11 

[Tópicos I] 

Considerações Finais sobre Reuso 

A implantação da cultura de reuso de uma empresa requer:

Um processo de desenvolvimento adequado.

Além de desenvolver um produto, queremos criar abstrações reutilizáveis e aumentar o patrimônio da empresa

Novos papéis.

Para coordenar o reuso entre times (equipes) diferentes.

Treinamento.

A equipe de desenvolvimento deve estar a par de tecnologias tais como design patterns, frameworks e componentes.

Incentivo apropriado para o reuso

Convencer a equipe de desenvolvimento que implantar a cultura do reuso pode ser uma boa idéia.

 

12 

[Tópicos I] 

Considerações Finais sobre Reuso 

Reuso é um investimento a longo prazo!

O reuso de software se dará na medida que houver a necessidade da criação de novas aplicações semelhantes (facilitada pelo uso de frameworks) ou inserção de novos requisitos no projeto original (encapsulados em componentes que poderão ser plugados em frameworks).

Uma ótima idéia para software houses.

Desde já agradeço,

 

afonso@portaisdobrasil.com.br

Afonso Fagundes Nast