desenvolvimento baseado em componentes

15
DESENVOLVIMENTO BASEADO EM COMPONENTES Grupo: DBC Dávisson Húdson (5º - SI) João Marques (3º - SI) Nelcir Júnior (1º - SI) Orientador: Irineu Lima

Upload: davisson-hudson

Post on 30-Jun-2015

308 views

Category:

Technology


2 download

DESCRIPTION

Desenvolvimento Baseado em Componentes

TRANSCRIPT

Page 1: Desenvolvimento baseado em componentes

DESENVOLVIMENTO BASEADO EM COMPONENTES

Grupo: DBC

Dávisson Húdson (5º - SI)João Marques (3º - SI)Nelcir Júnior (1º - SI)

Orientador: Irineu Lima

Page 2: Desenvolvimento baseado em componentes

Objetivos

Objetivos Gerais• Explorar a reutilização de software• Possível estudo de caso: domínio Segurança e Medicina

do Trabalho• Modelagem de um framework reutilizável

Objetivos Específicos• Demonstrar conceitos de DBC• Apresentar os conceitos de framework e reutilização de

software

Page 3: Desenvolvimento baseado em componentes

Referencial Teórico

Programação Estruturada• Estrutura e características

Programação Orientada a Objetos• Características• Classes• Objetos• Métodos• Encapsulamento• Herança• Polimorfismo

Page 4: Desenvolvimento baseado em componentes

Reutilização

• O que é?

• Importância da reutilização

• Sub-área da Engenharia de Software

• Desenvolvimento para reutilização

• Desenvolvimento com reutilização

Page 5: Desenvolvimento baseado em componentes

Componentes de Software

• Pedaços pré-definidos de software

• Pacote coerente de artefatos

• Tamanho de um componente

• Separação entre a definição do componente e sua

implementação

• Modelos de componentes: CORBA, EJB, CCM e EJB 3

Page 6: Desenvolvimento baseado em componentes

Desenvolvimento Baseado em Componentes

• Busca a geração de elementos auto-contidos

• Objetivos

• Vantagens

• Núcleo comum contendo pedaços de funcionalidades, e aberto

para desenvolvimento ou composição de novos componentes

• Desenvolvimento com componentes X desenvolvimento

baseado em componentes

• Arquitetura de aplicação e arquitetura técnica

Page 7: Desenvolvimento baseado em componentes

Componentes de uma Arquitetura em Camadas

Componentes de uma arquitetura em camadas (BLOIS, 2006)

Page 8: Desenvolvimento baseado em componentes

DOO x DBC

Baseado em Componentes Orientado a ObjetoTrabalha em um alto nível de abstração para a maior produtividade do desenvolvedor

Trabalha em um nível de detalhe muito baixo

Divisão dos desenvolvedores em desenvolvedores de aplicação e experts através do modelo Fornecedor/Consumidor.O encapsulamento mascara a complexidade enquanto API’s bem definidas facilitam o acesso a funcionalidade.

Requer intensivo treinamento e experiência antes que o desenvolvedor se torne produtivo.

Apresenta um risco pequeno devido a natureza encapsulada dos componentes. A Herança é contida dentro do encapsulamento dos componentes eliminando as dependências.

Desenvolvimento de alto risco devido a complexidade e as dependências.

Conta com padrões largamente suportados, garantindo a interoperabilidade dos componentes.

Interoperabilidade entre diferentes objetos é difícil. Usa ambientes de desenvolvimento altamente proprietários e requer desenvolvimento proprietário ao nível de API.

Larga indústria de suporte oferecendo ferramentas e bibliotecas padrão baseadas em componentes.

Indústria de suporte limitada.

Fonte: http://www.guich.com/pf/capitulo3.html

Page 9: Desenvolvimento baseado em componentes

Métodos de DBC - Catalysis

• Modelo de domínio baseado em tipos, objetos e ações

• Ênfases e articulações

• Análise de negócio e desenvolvimento através da UML

• Utiliza casos de uso, diagrama de estado e snapshots para

especificação de requisitos

• Componentes individuais são refinados a nível de classes,

interface ou componentes pré-existentes

Page 10: Desenvolvimento baseado em componentes

Exemplo de Diagrama de Estado e Snapshot

Diagrama de estados com pré e pós-condições (MIRANDA e LAGES, 2003)

Action agendarCurso(cursoReq : Curso, iniciaReq : Data)pré: A partir do fato que existe um instrutor qualificado para este

curso que está livre nesta data, durante toda a duração do curso.post: Uma nova sessão confirmada está criada, com curso =

cursoReq, dataInicio = iniciaReq, e dataFinal - dataInicio = cursoReq.duracao

Exemplo de Snapshots (MIRANDA e LAGES, 2003)

Page 11: Desenvolvimento baseado em componentes

Métodos de DBC – UML Components

• Etapas: Requisitos, Especificação, Provisão, Montagem,

Teste e Utilização

• Orienta por quantidades mínimas de documentos

• Modelo Conceitual de negócio

• Modelo de Casos de Uso

• Focado em componentes do lado servidor

• Componentes de Sistema e componentes de negócio

Page 12: Desenvolvimento baseado em componentes

Organização em Pacotes e Fases do UML Components

Organização dos artefatos em pacotes (CHEESMAN e DANIELS, 2000)

Atividades do UML Components (CHEESMAN e DANIELS, 2000)

Page 13: Desenvolvimento baseado em componentes

Frameworks

• Conceito

• Ditam arquitetura da aplicação

• Funcionalidade abstrata

• Classificação de acordo com a forma de

reutilização

• Classificação em relação ao escopo

Page 14: Desenvolvimento baseado em componentes

Considerações Finais

Conclusões Gerais

• Conhecer os conceitos de reutilização, DBC, frameworks

Propostas de Trabalhos Futuros

• Especificar conceitos sobre Análise e Engenharia de Domínio

• Conhecer uma ferramenta de auxílio na modelagem de software reutilizável

• Abordagem dos Padrões de Projeto (Design Patterns)

• Modelar um framework com uma parte do domínio de segurança e medicina

do trabalho

Page 15: Desenvolvimento baseado em componentes

“Pode desistir se quiser, mas lembre-se, desistir é um hábito difícil de largar.”

(John Schneider, atuando como Jonathan Kent - Smallville)

Obrigado!!!!