Desenvolvimento baseado em componentes

706 views
475 views

Published on

Desenvolvimento Baseado em Componentes

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
706
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Desenvolvimento baseado em componentes

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. Reutilização • O que é? • Importância da reutilização • Sub-área da Engenharia de Software • Desenvolvimento para reutilização • Desenvolvimento com reutilização
  5. 5. 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
  6. 6. 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
  7. 7. Componentes de uma Arquitetura em Camadas Componentes de uma arquitetura em camadas (BLOIS, 2006)
  8. 8. DOO x DBC Baseado em Componentes Orientado a Objeto Trabalha 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
  9. 9. 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
  10. 10. 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)
  11. 11. 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
  12. 12. 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)
  13. 13. 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
  14. 14. 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
  15. 15. “Pode desistir se quiser, mas lembre-se, desistir é um hábito difícil de largar.” (John Schneider, atuando como Jonathan Kent - Smallville) Obrigado!!!!

×