Engenharia de software

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1530 palavras )
  • Download(s) : 0
  • Publicado : 15 de abril de 2013
Ler documento completo
Amostra do texto
Reuso de Software

Aula 19

Tópicos da Aula
Engenharia de Software baseada em Componentes (CBSE)
Componentes Modelos de Componentes Eduardo Figueiredo
http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com
14 Maio 2012

O Processo CBSE Formas de Composição

Motivação para Reuso
Desenvolvimento baseado em reuso está se tornando a principal forma de se produzir software Agranularidade de reuso pode variar
É comum reusar objetos e funções Ainda é difícil reusar componentes maiores

CBSE
A CBSE foi proposta na década de 90
Foi motivado pelo limitado suporte ao reuso em desenvolvimento OO

CBSE é um processo de definição, implementação e composição de componentes independentes
Componentes são fracamente acoplados ao sistema

Características da CBSE
IndependênciaPadronização Middleware Processo Específico

Independência e Padronização
Componentes independentes
Completamente especificados por suas interfaces

Padronização de componentes para integração
Se os componentes seguirem padrões, eles podem ser independentes de linguagens de programação

Middleware e Processo
Uso de middleware favorece apoio para integração de componentes
Comunicaçãoentre componentes Alocação de recursos Gerenciamento de transações Proteção e controle de concorrência, etc.

Principais Problemas
Confiabilidade de componentes Certificação de componentes Comportamento após composição Compromisso com requisitos

Requer um processo de desenvolvimento específico
Incentivo ao reuso de componentes

Confiabilidade e Certificação
Confiabilidade de componentesComponentes são geralmente “caixas pretas” Podem não atender a certos requisitos nãofuncionais

Comportamento e Requisitos
Difícil prever o comportamento após a composição dos componentes
Cada componente funciona de forma independente No final, como o sistema irá comportar?

Certificação de componentes
A proposta seria que avaliadores independentes certifiquem componentes Mas, não está clarocomo isso ocorreria Quais as responsabilidades envolvidas?

Compromisso com os requisitos
É difícil equacionar os requisitos ideais do cliente com os componentes disponíveis

Componente de Software O que é um componente?
Um componente é uma unidade de software independente que pode ser composta a outros componentes para formar um sistema Características
Padronizado Independente SubstituívelDocumentado

Características de Componentes
Padronização
Devem seguir um padrão para facilitar integração

Notação de Componentes
Uma caixa com o nome do componente Definem dois tipos de interfaces
Interfaces provedoras Interfaces requeridas
> >

Independência
Devem ser auto suficientes com uma interface mínima

Substituível
Devem ser pensados para plugar ou remover

Bemdocumentado
As interfaces e os serviços devem ser completamente especificados

Tipos de Interfaces
Interfaces provedoras
Definem os serviços fornecidos pelo componente São representadas por círculos

Exemplo de Sistema

Interfaces requeridas
Especificam quais serviços devem ser fornecidos pelos outros componentes do sistema São representadas por semicírculos

Reuso de Componentes
Componentesespecíficos de uma aplicação geralmente não são reusáveis
É preciso adaptar e ampliar o componente para criar uma versão mais genérica

Componentes x Objetos
Componentes são geralmente implementados por uma linguagem OO Componentes estão prontos para serem implantados
Componentes não são compilados, mas instalados sobre uma plataforma de execução

Mudanças para tornar o componente maisreusável incluem
Remover métodos específicos da aplicação Mudar nomes para torná-los mais geral Adicionar métodos, criar interfaces, etc.

Componentes não definem tipos
Uma classe define um tipo, objetos são instâncias deste tipo

Componentes x Objetos
Implementações de componentes são opacas
Os componentes devem ser especificados pelas interfaces O código fonte pode não ser fornecido...
tracking img