Académique Documents
Professionnel Documents
Culture Documents
O que a Reutilizao ?
o processo de implementar ou alterar software usando e adaptando
componentes j existentes noutros sistemas.
Reutilizao
Engenheiros Mecnicos no especificam um
desenho onde todos os componentes tm de ser
especialmente manufacturados...
E ns informticos, reutilizamos?
Dra Otilia Fernandes da Graa
O que um Componente?
Porque
O qu
Exemplos
Mdulo
Classe
procedimento / funo
30/10/2014
Exemplo de um Componente
Repositrio de Componentes
Requires
interface
Provides
interface
PrintService
GetPDFile
PrinterInt
GetQueue
Seleco de componentes
Remove
...
Distribuio da nova
aplicao / componente
5
30/10/2014
Desenvolvimento de Software
com Reutilizao
Especificar
componentes
necessrios
Procura de
componentes
reutilizveis
Especificar os
requisitos do
sistema
Procura de
componentes
Reutilizveis
Desenho da
Arquitectura do
Sistema
Procura de
componentes
Reutilizveis
Modificar
requisitos de
acordo com o
resultados obtidos
Incorporar
componentes
descobertos
Especificar
componentes
baseados nos
resultados
Vantagens:
Desvantagens:
Not-invented-here syndrome
11
Cdigo no disponvel...
10
12
30/10/2014
Componente
Generalizar o
nome
Componente
Generalizar
as operaes
Generalizar o
nome
13
Reutilizao e Heranas:
Quando uma linguagem de programao orientada por objectos usada para
desenvolver uma aplicao, o mecanismo da herana pode ser usado para
adaptar componentes reutilizao
Perifrico
Armazenar
Generalizar o
nome
Generalizar
as operaes
Generalizar
as excepes
Certificar o
componente
Tape
14
Componente
Generalizar
as excepes
Generalizar
as operaes
Disco
Laser
Por exemplo:
Output
Input
Printer
Film
Screen
Ink-Jet
Esquema de classes
15
16
30/10/2014
1. Com heranas, comum o cdigo dos componentes estar espalhado por vrias
classes e no todo conjunto.
2. Reutilizar atravs das heranas leva por vezes criao de componentes com
funcionalidades extras desnecessrias, tornado-o vasto e ineficiente.
Perifrico
Armazenar
Tape
Disco
Laser
Output
Input
Printer
Film
Screen
Ink-Jet
17
18
Como fazer ?
A reutilizao de cdigo feita atravs de um programa gerador que se pode
programar consoante o que se pretende.
Sndroma Not-Invented-Here
falta de conhecimento sobre o porqu de desenvolver para
Reutilizao
While
....
....
end;
19
Gerador
Cdigo
20
30/10/2014
Portabilidade de Sistemas
O que a portabilidade de sistemas?
As ferramentas CASE
21
22
Portabilidade de Sistemas
Portabilidade de Sistemas
Transporte
Movimentao do cdigo do programa e respectivos dados de um
Adaptao
Alteraes efectuadas sobre o programa, tornando-o funcional no novo
ambiente
23
24
30/10/2014
Portabilidade de Sistemas
Portabilidade de Sistemas
Bibliotecas
Run-Time
Aplicao
Sistema
Operativo
mquina
Memria e
CPU
mudar de ambiente for menor do que refaz-la nesse ambiente por inteiro
25
Portabilidade de Sistemas
26
Portabilidade de Sistemas
Sistema Operativo
Run
Run--time
Os programas fazem uso das facildiades do run-time, que no so
universais
Bibliotecas
Os programas usam bibliotecas que no esto disponveis em todas as
mquinas
Dra Otilia Fernandes da Graa
27
28
30/10/2014
Portabilidade de Sistemas
Pontos Chaves
determinada aplicao
2. Desenvolver software com a reutilizao necessita de uma biblioteca
de todos os componentes reutilizveis que possa ser compreendida
pelo reutilizador
3. A reutilizao no advem do desenvolvimento natural das aplicaes. Tem
de se planear a generalizao dos seus componentes de modo a poderem
ser reutilizveis
30
Pontos Chaves
5. Reutilizao baseada em geradores depende da identificao
abstracta do domnio em que aplicado o gerador
6. A portabilidade de sistema um caso especfico de reutilizao onde
todo o sistema adaptado para funcionar noutra arquitectura
7. A portabilidade de sistema um caso especfico de reutilizao onde
todo o sistema adaptado para funcionar noutra arquitectura
8. Desenvolver sistemas de acordo com os standards das linguagens
de programao, sistemas operativos, redes e interfaces grficas,
reduzem os custos de implementao de um sistema em vrias
arquitecturas
Dra Otilia Fernandes da Graa
31