quinta-feira, 25 de outubro de 2012

Reutilização de Software


Na maioria das disciplinas de engenharia do processo desenvolvido baseia-se na reutilização de componentes. Projeto de sistemas de software costumam considerar que todos os componente a ser projetado especialmente para o sistema que está sendo desenvolvido. Não há uma base comum além de bibliotecas como as bibliotecas de sistema de janelas de componentes de software reutilizáveis. Ao usar software demandas generalizadas e sistemáticas para o projeto de reutilização de software inferior e manter os custos, juntamente com o aumento da qualidade só pode ser satisfeita.

Componentes de software não são projetados para um sistema, mas são experimentadas e testadas em um número de diferentes ambientes. Design e culpa implementações são descobertos e removidos para que componente reutilizável contém alguns erros. É impossível atingir especificação de confiabilidade absoluta, mas componentes reutilizáveis ​​podem ter uma explicação de qualidade associado. Isso permite que os usuários de integrá-los com confiança em seus sistemas.

Reuso de componentes de software não apenas indicam a reutilização de código do aplicativo. É possível reutilizar a especificação e desenhos. Os ganhos potenciais de reutilização de produto abstrato do processo de desenvolvimento, tais como especificações pode ser maior que os de reutilização de componentes de código.

A reutilização de software podem ser divididos em vários níveis:

1) Sistema de Aplicação reutilizar:

É possível reutilizar o sistema de aplicação geral. O problema principal é assegurar que o software é portátil. Deve funcionar em plataformas de variedades diferentes.

2) a reutilização Sub-sistema:

É possível reutilizar grande sub-sistemas de um aplicativo.

3) reutilização Módulo ou objeto:

É possível a reutilização de componentes de um sistema que representa um conjunto de funções.

4) reutilização Função:

É possível a reutilização de componentes de software, os quais implementam uma única função, como uma função matemática.

Reutilização sistema de aplicação é amplamente utilizado em empresas de software para implementar seus sistemas através de uma gama de máquinas. Reutilização função é amplamente utilizado em bibliotecas padrão da função reutilizável, tais como gráficos e bibliotecas matemáticas. Sub-sistema e reutilização módulo são menos utilizável.

Quatro aspectos de reutilização de software são:

1) O desenvolvimento de software com reuso:

Desenvolvimento de software com reuso é uma abordagem que tenta maximizar a reutilização de componentes de software existentes. O benefício desta abordagem é que os custos globais de desenvolvimento do software estão diminuídos. A redução de custos é apenas um benefício potencial de reuso de software. Reutilização sistemática no desenvolvimento oferece outras vantagens:

i) A confiabilidade do sistema é aumentada:

Usando componentes reaproveitados em sistemas de trabalho devem ser mais confiáveis ​​do que os novos componentes. Estes componentes foram testados numa variedade de ambientes de sistemas operacionais e, por conseguinte, ter sido exposto a condições de funcionamento reais.

ii) risco de processo global é reduzido:

Se usarmos uma função que é já existe, como a incerteza dos custos de reutilização desse componente que em os custos de desenvolvimento. Para gerenciamento de projetos é fator importante, pois diminui a incerteza na eliminação de custos do projeto. Se os componentes relativamente grandes, como sub-hastes são reutilizados então isso se torna verdade.

iii) A utilização eficaz pode feito de especialistas:

Especialistas em aplicações que fazem o mesmo trabalho em ambiente de projeto diferente, em vez destes especialistas pode desenvolver componentes reutilizáveis ​​que encapsulam o seu conhecimento.

iv) padrões organizacionais podem ser incorpora em componentes reutilizáveis:

Podemos reutilizar algumas normas, tais como padrão de interface de utilizador, que pode ser implementado como um conjunto de componentes normalizados.

v) o tempo de desenvolvimento de software pode ser reduzido:

É necessário para trazer um sistema de mercado, o mais cedo possível, é mais importante do que os custos gerais de desenvolvimento. Componentes de software reutilizando acelera a produção de sistema, porque tanto o desenvolvimento e validação em tempo deve ser reduzido.

2) O desenvolvimento de software para reutilização:

Reutilização de componentes pode envolver fazer diferentes tipos de mudanças.

i) generalização Nome: o nome do componente deve ser modificada de modo que eles são neutros e não um reflexo direto de alguma entidade aplicação específica.

ii) generalização Operação: Este envolve a adição de operações para remover um componente ou operação que são muito específicos para algum domínio de aplicação.

iii) generalização Exceção: Isso envolve a verificação de cada componente para ver o que ele pode lançar exceções e incluindo essas exceções na interface do componente.

3) reutilização Gerador de base:

Uma forma alternativa para a reutilização de componentes é o ponto de vista do gerador. Nesta abordagem, o conhecimento reutilizável é fechada num sistema gerador de programa, que pode ser programado numa linguagem orientada domínio.

Compliers linguagem de alto nível são mais utilizadas "gerador de programa", onde os componentes reutilizáveis ​​são fragmentados de código objeto correspondente a linguagem de alto nível construir. Os elementos são reutilizados abstração relacionada com instruções de linguagem de programação. Quando uma notação de domínio específico é utilizado para descrever a aplicação, a captação maior de domínio pode ser reutilizado.

Abordagens abstratas são:

i) gerador de aplicativos para processamento de dados de negócios:

ii) gerador de analisador de processamento de linguagem

iii) geradores de código em ferramentas CASE

4) Sistema de Aplicação reutilizar:

Um caso especial de reuso de software é a reutilização de aplicação do sistema, onde um sistema de aplicação inteira é reutilizado por um implementá-lo através de uma variedade de diferentes computadores e sistemas operacionais....

Nenhum comentário:

Postar um comentário