Reposit ório de Componentes em Delphidsc.inf.furb.br/arquivos/tccs/apresentacoes/2000-1...Cria...

Post on 11-Sep-2020

2 views 0 download

Transcript of Reposit ório de Componentes em Delphidsc.inf.furb.br/arquivos/tccs/apresentacoes/2000-1...Cria...

RepositReposit óóriorio dedeComponentes emComponentes em DelphiDelphi

Josiane GianisiniJosiane GianisiniOrientadorOrientador Marcel HugoMarcel Hugo

RoteiroRoteiro dede ApresentaApresenta ççãoão�� IntroduIntrodu ççãoão�� ReutilizaReutiliza ççãoão de Softwarede Software�� ReutilizaReutiliza ççãoão dede ComponentesComponentes de Softwarede Software�� RepositReposit óóriorio�� Componentes ReutilizComponentes Reutiliz ááveisveis�� DELPHIDELPHI�� DesenvolvimentoDesenvolvimento dodo RepositReposit óóriorio�� ConclusãoConclusão�� SugestõesSugestões

IntroduIntrodu ççãoão

�� ORIGEM:ORIGEM:�� ReavaliaReavalia çção pelos desenvolvedoresão pelos desenvolvedores

dosdos mméétodostodos ee ambientes tradicionais ambientes tradicionais para desenvolvimentopara desenvolvimento ;;

�� PrPrááticatica dodo reusoreuso de softwarede software como como caminho para amenizar problemascaminho para amenizar problemas nonodesenvolvimentodesenvolvimento ee ppóóss;;

IntroduIntrodu ççãoão

�� OBJETIVOS:OBJETIVOS:�� Estudo sobre reusabilidadeEstudo sobre reusabilidade ee suas suas

principais aplicaprincipais aplica ççõesões ;;�� DeterminarDeterminar asas principais principais

caractercaracter íísticassticas dede componentes componentes reutilizreutiliz ááveisveis dede ccóódigodigo ;;

�� ImplementaImplementa ççãoão de umde um repositreposit óóriorio dedecomponentescomponentes dede ccóódigo que serdigo que ser ááagregado ao Ambienteagregado ao Ambiente dedeProgramaPrograma ççãoão Visual Delphi,Visual Delphi,utilizandoutilizando --se dasse das ttéécnicascnicas dedeorientaorienta ççãoão aa objetosobjetos ..

ReutilizaReutiliza ççãoão de Softwarede Software

�� MotivaMotiva ççãoão::�� Aumento da ProdutividadeAumento da Produtividade ee qualidadequalidade de de

software;software;�� ReduRedu ççãoão dosdos custoscustos e do tempo dee do tempo de

manutenmanuten ççãoão;;�� AumentoAumento dosdos nnííveisveis dede desempenhodesempenho ee da da

confiabilidadeconfiabilidade ;;�� Aumento da seguranAumento da seguran ççaa dosdos sistemassistemas ;;�� EntregaEntrega dosdos sistemas em prazos sistemas em prazos

menoresmenores ..

ReutilizaReutiliza ççãoão dedeComponentesComponentes de Softwarede Software

�� Menor produMenor produ ççãoão de software novo;de software novo;�� ParadigmaParadigma dede objetos para incremento objetos para incremento

da qualidadeda qualidade ee produtividadeprodutividade de de software;software;

�� Objetos que compõeObjetos que compõe aa aplicaaplica çção ão projetadosprojetados ee implementados reutiliimplementados reutili --zandozando classesclasses predefinidas numapredefinidas numa bibi --bliotecablioteca de software.de software.

ProcessoProcesso dede reutilizareutiliza ççãoão de de classesclasses

OO processoprocesso éé abordado atravabordado atrav ééss dede trêstrêssubsistemassubsistemas ::�� SistemaSistema dede recuperarecupera ççãoão ee selesele ççãoão

de classes;de classes;�� SistemaSistema dede avaliaavalia ççãoão de classes;de classes;�� SistemaSistema dede aquisiaquisi ççãoão de classes.de classes.

SistemaSistema dede recuperarecupera ççãoão eeselesele ççãoão de classesde classes

�� MecanismoMecanismo dede recuperarecupera çção sisteão siste --mmááticatica : o: o usuusu áário especifica descririo especifica descri --tores datores da classesclasses procuradasprocuradas eeatravatrav ééss deles, umdeles, um conjuntoconjunto de de classesclasses são recuperadassão recuperadas ;;

�� MecanismoMecanismo dede busca exploratbusca explorat óóriaria : o: ousuusu áário procurario procura aa classe inspecioclasse inspecio --nandonando aa hierarquiahierarquia de classesde classes da da bibliotecabiblioteca ..

SistemaSistema dede avaliaavalia ççãoão de de classes:classes:

OO usuusu áário avaliario avalia as classesas classesrecuperadasrecuperadas ee seleciona aquela seleciona aquela mais adequada paramais adequada para aa aplicaaplica ççãoão..

SistemaSistema dede aquisiaquisi ççãoão de de classesclasses

OO sistemasistema dede aquisiaquisi ççãoão dede conheciconheci --mento em funmento em fun ççãoão das classesdas classes candicandi --datas recuperadasdatas recuperadas , o, o conhecimentoconhecimentododo sistemasistema éé incrementadoincrementado e/e/ou atuaou atua --

lizadolizado ..

InibidoresInibidores dede ReutilizaReutiliza ççãoãodede ComponentesComponentes

�� Principais fatores tecnolPrincipais fatores tecnol óógicosgicos ::�� FaltaFalta dede ambientesambientes dede desenvolvimento que desenvolvimento que

ofereofere ççam ferramentas para facilitaram ferramentas para facilitar aa reutilizareutiliza ççãoão;;�� DificuldadeDificuldade de sede se selecionarselecionar umum componentecomponente dede

uma bibliotecauma biblioteca , de, de entederenteder oo seu funcionamentoseu funcionamento e e dede modificar este componentemodificar este componente ;;

�� Falhas na gerênciaFalhas na gerência dasdas bibliotecasbibliotecas dedecomponentescomponentes ..

�� Outros fatores ligadosOutros fatores ligados àà psicologiapsicologia ,,aspectos econômicosaspectos econômicos ,, gerenciaisgerenciais eelegaislegais ..

RepositReposit óóriorio

�� Ferramenta que dFerramenta que d áá suporte suporte automatizadoautomatizado aa todastodas asas fasesfases dodociclociclo dede vidavida do software;do software;

�� ÉÉ oo mecanismo para definimecanismo para defini ççãoão,,armazenamentoarmazenamento ,, acessoacesso ee parapara aaadministraadministra ççãoão dede todatoda aa informainforma ççãoãode umde um projetoprojeto (dados e(dados e sistemasistema ).).

BenefBenef íícioscios dodo RepositReposit óóriorio

�� SimplificaSimplifica a a manutenmanuten ççãoão dodo sistemasistema ;;�� ConsolidaConsolida ee elimina redundânciaselimina redundâncias dos dos

dadosdados incorporadosincorporados ;;�� AumentaAumenta aa integridadeintegridade dodo sistemasistema ;;�� SimplificaSimplifica asas conversõesconversões //migramigra ççõesões ;;�� Compartilha informaCompartilha informa ççõesões dodo sistema sistema

atravatrav ééss dasdas aplicaaplica ççõesões ,, ferramentasferramentas e e dodo ciclociclo dede vidavida dodo sistemasistema ..

Principais tiposPrincipais tipos dede informainforma çções ões armazenadasarmazenadas nono repositreposit óóriorio

�� InformaInforma çção sobreão sobre aa corporacorpora ççãoão;;�� InformaInforma çção que descreveão que descreve o softwareo software em em

vváários nrios n ííveisveis dede abstraabstra çção para cada faseão para cada fase dodociclociclo dede vidavida ;;

�� InformaInforma çção paraão para aa administraadministra ççãoão dodo projetoprojeto ;;�� InformaInforma çção paraão para aa administraadministra ççãoão dosdos

processosprocessos dodo ciclociclo dede vidavida do software;do software;�� DadosDados llóógicosgicos ee modelosmodelos dede processoprocesso ;;�� DefiniDefini çções fões f íísicassicas ee linhaslinhas dede ccóódigodigo ;;�� ModelosModelos dodo projetoprojeto ;;�� DadosDados empresariasempresarias ..

InformaInforma çção Reusão Reus áávelvel

Qualquer informaQualquer informa çção queão que umumdesenvolvedor possa precisardesenvolvedor possa precisar nonoprocessoprocesso dede criacria ççãoão de software.de software.

Tendências RepositTendências Reposit óóriorio

�� Crescente inteligênciaCrescente inteligência ;;�� BibliotecasBibliotecas de softwarede software serão construserão constru íídas das

para diferentespara diferentes classes declasses de aplicaaplica ççõesões ;;�� OsOs repositreposit óórios conterão uma grande rios conterão uma grande

quantidadequantidade dede conhecimentoconhecimento ;;�� SeSe os repositos reposit óórios seguiremrios seguirem umum formato formato

padrãopadrão ,, eles poderãoeles poderão serser usadosusados comcom muitas muitas ferramentas diferentesferramentas diferentes dede projetoprojeto ;;

Componentes ReutilizComponentes Reutiliz ááveisveis

�� Componentes reutilizComponentes reutiliz ááveis são veis são produtos criados porprodutos criados por umum fornecedorfornecedor eeaplicados por vaplicados por v áários consumidoresrios consumidores ;;

�� OO critcrit éériorio dede sucesso parasucesso para umumcomponente reutilizcomponente reutiliz áávelvel éé seu uso seu uso efetivoefetivo e ae a chave parachave para oo seu sucessoseu sucesso ééaa comunicacomunica çção efetiva entreão efetiva entre oofornecedorfornecedor ee os consumidoresos consumidores ..

CriaCria ççãoão dede componentescomponentes

�� AA criacria ççãoão de umde um componente levacomponente leva umuminvestimento significanteinvestimento significante em tempo eem tempo edinheiro que devedinheiro que deve serser analisado em relaanalisado em rela çção ão aos benefaos benef íícios futuroscios futuros ;;

�� OsOs componentes devemcomponentes devem serser conferidosconferidos ,,testados cuidadosamentetestados cuidadosamente eecompletamentecompletamente ;;

�� OsOs componentes devem assegurarcomponentes devem assegurar aa sua sua aplicaaplica çção correta para manterão correta para manter aa integridadeintegridadedede sistemasistema ;;

CriaCria ççãoão dede componentescomponentes

�� AA parte mais complicadaparte mais complicada éé criarcriar umumcomponentecomponente dodo qualqual asas pessoas não spessoas não s óóprecisamprecisam ,, mas que elas na verdade mas que elas na verdade queiram usarqueiram usar ;;

�� DocumentaDocumenta çção produzida ão produzida cuidadosamente ajudacuidadosamente ajuda oo consumidorconsumidor aaaplicar componentes reutilizaplicar componentes reutiliz ááveis corretaveis corretaee efetivamenteefetivamente ..

Propriedades desejPropriedades desej ááveisveis dedecomponentes reutilizcomponentes reutiliz ááveisveis�� UsarUsar umum formalismo que descreva formalismo que descreva

precisamenteprecisamente oo componentecomponente ;;�� ExpressividadeExpressividade ;;�� FacilidadeFacilidade dede entendimentoentendimento ;;�� FacilidadeFacilidade dede adicionar ou eliminar adicionar ou eliminar

detalhesdetalhes ;;�� ProjetadoProjetado dede maneira grmaneira gr ááficafica ;;

�� InterfacesInterfaces clarasclaras , simples e, simples e precisasprecisas ;;�� IndependênciaIndependência dede componentescomponentes ;;�� PadrõesPadrões dede aplicaaplica ççõesões ;;

Propriedades desejPropriedades desej ááveisveis dedecomponentes reutilizcomponentes reutiliz ááveisveis�� PadrõesPadrões dede documentos eletrônicosdocumentos eletrônicos ;;�� Protocolos definidosProtocolos definidos ..

ClassificaClassifica ççãoão dosdoscomponentescomponentes

�� OO propprop óósitosito de umde um esquemaesquema dedeclassificaclassifica ççãoão éé proporcionarproporcionar aa localizalocaliza çção ão rráápidapida ee ffáácilcil de umde um componente componente apropriado da biblioteca onde estão apropriado da biblioteca onde estão armazenadosarmazenados ee são gerenciadossão gerenciados ;;

�� OsOs componentes são classificados em componentes são classificados em termostermos dede descridescri ççõesões ,, classificaclassifica çções fixasões fixasee identificadoresidentificadores ..

SeleSeleççãoão dosdos componentes componentes reutilizreutiliz ááveisveis

�� TiposTipos dede abordagens paraabordagens para aa selesele ççãoãodede componentescomponentes ::�� ClassificaClassifica çção por palavrasão por palavras --chavechave ;;�� ClassificaClassifica çção facetadaão facetada ;;�� Processamento automProcessamento autom ááticotico dede

linguagemlinguagem natural;natural;�� DescriDescri ççãoão formal doformal do comportamentocomportamento

dosdos componentescomponentes ;;

DELPHIDELPHI

�� ComponentesComponentes :: são os elementos são os elementos fundamentaisfundamentais dosdos aplicativosaplicativos Delphi.Delphi.�� DefiniDefini ççãoão dasdas extensõesextensões ::

�� DCU:DCU: delphidelphi compiled unit;compiled unit;�� PAS:PAS: delphi pascaldelphi pascal unit.unit.

�� Packages:Packages: são pacotessão pacotes dede componentes componentes comunscomuns ,, que são incorporadosque são incorporados ,,conformeconforme aa necessidade aos projetos necessidade aos projetos que são desenvolvidosque são desenvolvidos ;;�� DefiniDefini ççãoão dasdas extensõesextensões ::

�� DPK:DPK: delphidelphi package file;package file;�� DPL:DPL: delphidelphi package library;package library;

DesenvolvimentoDesenvolvimento dodoRepositReposit óóriorio

�� OO repositreposit óóriorio dede componentes foi componentes foi desenvolvidodesenvolvido de formade forma integrada ao ambienteintegrada ao ambientedede desenvolvimentodesenvolvimento Delphi;Delphi;

�� SerSeráá uma ferramenta adequadauma ferramenta adequada ee efetiva na efetiva na prpr ááticatica dodo desenvolvimentodesenvolvimento dede sistemassistemas ;;

�� EleEle éé capazcapaz dede armazenararmazenar ,, classificarclassificar ,,consultarconsultar de formade forma ffáácilcil ee rráápida pida componentescomponentes e packages,e packages, como uma como uma bibliotecabiblioteca ;;

�� Funcionalidade adiFuncionalidade adi ççãoão ee remoremo ççãoão dedecomponentescomponentes e packages; e packages;

EspecificaEspecifica ççãoão dodo ProtProt óótipotipo�� Use CaseUse Case

Consultar Informação Reusavel

Adicionar Informação Reusavel

Remover Informação Reusavel

Desenvolvedor

Manter FacetaManter Informação Reusavel

Administrador

�� DiagramaDiagrama de de ClassesClasses

ValorFacetaCódigo FacetaCódigoDescrição

JaExiste( )Inclui( )Altera( )Exclui( )BuscaDes( )BuscaListaCodVlr( )BuscaProximoCod( )BuscaListaDesVlr( )BuscaListaCodFac( )

FacetaCódigoDescrição

JaExiste( )Inclui( )Altera( )Exclui( )BuscaDes( )BuscaListaCod( )BuscaProximoCod( )BuscaListaDes( )BuscaListaCod( )

InfoReusavelCodigoNomeNome AutorData CriaçãoDescrição DetalhadaLocal ArmazenamentoInstruções ReusoTipo Informação

JaExiste( )Inclui( )Altera( )Exclui( )BuscaListaCod( )BuscaDados( )AdicionaPackage( )RemovePackage( )AdicionaComponente( )RemoveComponente( )BuscaProximoCod( )Consulta( )BuscaTipInf( )

ItemInfoReusavelCódigo Infor. ReusavelCódigo FacetaValor Faceta

InformaCodInf( )JaExiste( )Inclui( )Exclui( )BuscaDes( )BuscaListaCod( )BuscaItems( )

EspecificaEspecifica ççãoão dodo protprot óótipotipo

�� MER MER

ImplementaImplementa ççãoão dodo ProtProt óótipotipoOO repositreposit óório foi implementado na linguagemrio foi implementado na linguagem

visual Delphi,visual Delphi, porpor serser uma linguagem uma linguagem orientadaorientada aa objetosobjetos ..

�� Problemas encontradosProblemas encontrados ::�� InterfaceInterface limitada disponibilizada pelolimitada disponibilizada pelo

DelphiDelphi para manipulapara manipula ççãoão de dadosde dadosprpr óópriosprios dodo ambienteambiente ;;

�� Interface Interface disponibilizada pelodisponibilizada pelo DelphiDelphipossui somente mpossui somente m éétodos para consultatodos para consultadas packages edas packages e componentes instaladoscomponentes instalados ..

ImplementaImplementa ççãoão dodo ProtProt óótipotipo�� SoluSolu çção pesquisada para os problemas ão pesquisada para os problemas

encontradosencontrados ::�� Packages:Packages: manipulamanipula ççãoão dos dados no dos dados no

registry do Windows;registry do Windows;�� ComponentesComponentes :: manipulamanipula ççãoão manual domanual do

ccóódigo fonte dadigo fonte da package epackage e recompilarecompila çção da ão da mesma utilizandomesma utilizando oo aplicativoaplicativo ““ DCC32.exeDCC32.exe’’’’ ,,utilizado peloutilizado pelo DelphiDelphi internamente para internamente para compilarcompilar packages.packages.

�� LimitaLimita ççãoão dodo repositreposit óóriorio�� ReinicializaReinicializa ççãoão do Delphido Delphi sempre que sempre que

adicionado ou removido umaadicionado ou removido uma packagepackage ao ao ambienteambiente ..

ConclusãoConclusão�� AA reutilizareutiliza ççãoão éé uma alternativa para uma alternativa para

solucionar os problemassolucionar os problemas dedeprodutividadeprodutividade ee manutenmanuten ççãoão dedesistemassistemas ;;

�� OO repositreposit óóriorio éé uma ferramenta uma ferramenta visandovisando serser uma alternativauma alternativa dodoemprego da reutilizaemprego da reutiliza ççãoão;;

�� OO RepositReposit óório integrado ao ambienterio integrado ao ambientedede desenvolvimento muito utilizado desenvolvimento muito utilizado atualmenteatualmente ;;

�� OO uso efetivouso efetivo dodo repositreposit óório dependerio dependedede mudanmudan çça psicola psicol óógicagica ;;

SugestõesSugestões�� ParaPara trabalhos futurostrabalhos futuros ::

�� DesenvolvimentoDesenvolvimento dede ferramentas ferramentas especializadas para realizarespecializadas para realizar testes com altotestes com altograugrau dede depuradepura çção em componentesão em componentes ;;

�� DesenvolvimentoDesenvolvimento dede ferramenta para ferramenta para classificaclassifica ççãoão dede componentescomponentes comcom diversas diversas formasformas dede classificaclassifica ççãoão;;

�� ParaPara aprimoramentoaprimoramento dodo RepositReposit óóriorio ::�� SeguranSeguran çça na manutena na manuten ççãoão dodo repositreposit óóriorio ;;�� ResoluResolu ççãoão dosdos problemasproblemas dede limitalimita ççõesões ,,

utilizando outra versãoutilizando outra versão do Delphi;do Delphi;� Busca por aproximação, usando técnicas de

inteligência artificial, como lógica difusa;� Compartilhamento do repositório;