[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] 

Qual é o problema ? 

Fazer software é difícil 

Fazer software é lento e caro. 

Reuso 

Componente e

Frameworks 

Internet

enabled 

Não temos tecnologia ainda para fazer software grande, do zero, rapidamente e com poucos bugs.

 

3 

[Tópicos I] 

Qual é a solução? 

Reutilização de Software !

As mesmas idéias básicas são

   projetadas e reprojetadas várias vezes

   pela mesma pessoa ou por pessoas

   diferentes.

Será que temos que começar tudo

   de novo, sempre?

 

4 

[Tópicos I] 

Por que a solução não é fácil? 

Reuso não acontece automaticamente!

OO prometeu muito mas não cumpriu a promessa.

? 


?

 

5 

[Tópicos I] 

Qual é a dificuldade? 

Técnicos podem não entender o que reusar ou como reusá-lo;

Técnicos podem não se motivar a aplicar técnicas de reuso a não ser que benefícios de curto prazo sejam alcançáveis

Custos de descobrimento devem ser endereçados para que o caminho do reuso seja bem sucedido.

 

6 

[Tópicos I] 

O que mudou recentemente? 

Na metade da década de 90, as

   lições e caminhos cristalizaram-se

   com:

 

7 

[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 



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]

 

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].

Framework 

A 








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.

 

11 

[Tópicos I] 

Considerações Finais sobre Reuso 

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

 

12 

[Tópicos I] 

Considerações Finais sobre Reuso 

Reuso é um investimento a longo prazo!