Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aula processo de reuso de software

Sobre processo de software...

  • Login to see the comments

  • Be the first to like this

Aula processo de reuso de software

  1. 1. Processo de Reuso de Software
  2. 2. Processo de Software • QUE etapas/atividades devem ser executadas? • COMO as atividades são executadas? • QUANDO as atividades são executadas? • QUEM é responsável pelas atividades? • O QUE é gerado pela atividade?
  3. 3. Um exemplo Concepção e Especificação Análise e Projeto Implementação e Testes Entrega Engenheiro de Requisitos Projetista Engenheiro de Software Testador Especificação Requisitos Modelos Código Produto
  4. 4. Processo de Software • Vantagens: – Processo bem definido pode ser observado e mensurado – Processo pode ser utilizado para aproximar a adoção de melhores práticas ao cotidiano da organização – Processo permite disseminação das práticas que funcionam – A ênfase no processo de software torna a atividade de desenvolvimento mais uma engenharia do que “criação”
  5. 5. Processo de Reuso de Software • Processo de software que visa REUSO • Baseado em duas abordagens essenciais: –Desenvolvimento PARA reuso –Desenvolvimento COM reuso • Auxilia a internalização do pensamento baseado em reuso
  6. 6. Construindo ou Reutilizando • Aspecto Cultural – Cultura do Desenvolvedor – Ambiente de Trabalho – Guias e Ferramentas
  7. 7. Desenvolvimento PARA e COM reuso • Desenvolvimento COM reuso é uma abordagem que tenta maximizar o reuso de componentes de software existentes. – Métricas, custos, reengenharia • Desenvolvimento PARA reuso é planejar atividades para a construção de componentes (modelo de domínio). – Processo, atividades, ferramentas
  8. 8. Processo de Reuso de Software • Processo simplificado para reuso de software – Quais são as principais etapas envolvidas ? – Quem são as pessoas envolvidas ? – Quais são os artefatos produzidos ? – Qual a diferença de um processo que visa software convencional para um processo que visa reuso de software ?
  9. 9. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  10. 10. Processo de Reuso de Software Usuário Necessi dades do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  11. 11. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  12. 12. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  13. 13. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  14. 14. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  15. 15. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  16. 16. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  17. 17. Processo de Reuso de Software Processos Convencionais • Necessidades do Usuário • Features do produto • Modelos (Esp, Projeto, Imp) • Implementação da solução Processo de Reuso • Necessidades do Usuário • Features do produto • Features da família do produto • Seleção/Desenv. Componentes • Implementação da solução
  18. 18. Processo de Reuso de Software • Engenharia de Domínio e Engenharia de Aplicação são processos: – complementares – interativos e – paralelos. • Focos: – Engenharia de Domínio: família de sistemas – Engenharia de Aplicação: sistema único
  19. 19. Engenharia de Domínio • Visão geral ? Análise da Viabilidade Análise do Domínio Projeto do Domínio Implementação do Domínio Analista do Negócio Engenheiro do Domínio Engenheiro de Software
  20. 20. Engenharia de Domínio • Visão geral ? Análise da Viabilidade Análise do Domínio Projeto do Domínio Implementação do Domínio Analista do Negócio Engenheiro do Domínio Engenheiro de Software
  21. 21. Engenharia de Domínio • Análise do Domínio Entradas •Conhecimento •Técnicas de Modelagem de Informação Análise do Domínio •Fronteiras •Pontos em comum e diferenças •Entendimento •Representação Saídas •Modelo de Domínio
  22. 22. Engenharia de Domínio • Visão geral ? Análise da Viabilidade Análise do Domínio Projeto do Domínio Implementação do Domínio Analista do Negócio Engenheiro do Domínio Engenheiro de Software
  23. 23. Engenharia de Domínio • Projeto do Domínio Entradas •Modelo de Domínio Projeto do Domínio •Projetos Genéricos •Estilos Arquiteturais •Estratégias de Particionamento •Especificações de Projeto Saídas •Modelo de Projeto •Arquitetura
  24. 24. Engenharia de Domínio • Visão geral ? Análise da Viabilidade Análise do Domínio Projeto do Domínio Implementação do Domínio Analista do Negócio Engenheiro do Domínio Engenheiro de Software
  25. 25. Engenharia de Domínio • Implementação do Domínio Entradas •Ferramentas de compilação •Padrões de Código •Modelo de Projeto Implementação do Domínio •Identificar componentes reutilizáveis •Desenvolver biblioteca de componentes Saídas •Linguagens específicas do domínio •Geradores de aplicação •Componentes reutilizáveis (ativos)
  26. 26. Processo de Reuso de Software Usuário Necessidade s do usuário Engenharia de Domínio Ativos Engenharia de Aplicação Distribuição
  27. 27. Engenharia de Domínio e Engenharia de Aplicação Engenharia de Domínio ? Análise da Viabilidade Análise do Domínio Projeto do Domínio Implementação Do Domínio Engenharia de Aplicação Engenharia de Requisitos Análise e Projeto Integração e Testes
  28. 28. Engenharia de Aplicação • O foco da engenharia de aplicação é um único sistema. • Atividades: – Modelo de domínio para identificar os requisitos dos clientes; – Modelo de projeto para especificar uma configuração de produto – Estratégia de particionamento e estilo arquitetural para guiar o desenvolvimento customizado – Geradores de aplicação e componentes de software para produzir o código da aplicação.
  29. 29. Modelos de Processos de Reuso de Software • Abordadem Draco (1980) • STARS CFRP (1993) • Catálogo para Processos e Métodos para Engenharia de Família de Sistemas
  30. 30. Modelos de Processo para Reuso de Software • Abordagem Draco (1980) Definição Linguagens Executáveis Tecnologias De Software Área da Aplicação Analista do Domínio executável Analista do Domínio de modelos Analista do Domínio da aplicação Ensapsulamento Projetista do Domínio Máquina de Draco
  31. 31. Modelos de Processo para Reuso de Software • STARS CFRP (1993) Framework conceitual para processo de reuso Mercado Ativos Externos Sistemas Existentes Ferramentas Contexto da Orgnização Gerenciamento de Reuso Planejamento x Aprendizado Engenharia de reuso CRIAR GERENCIAR UTILIZAR Sistemas de Software Ativos
  32. 32. Modelos de Processo para Reuso de Software • Processo de Criação (CRIAR) Ativos Externos Sistemas Existentes Conhecimento Do Domínio Feedback CRIAR Modelagem e Análise Do Domínio Modelos de Domínio Ativos de Domínio Específico Desenvolvimento da Arquitetura de Software Desenvolvimento de Geradores de Aplicação Desenvolvimento de Componentes Evolução de Ativos
  33. 33. Modelos para Reuso • Requisitos – Desenvolvimento PARA reuso • Análise do Domínio • Projeto do Domínio • Implementação do Domínio – Desenvolvimento COM reuso • Métricas • Custos • Reengenharia • Adaptação • Ambientes de Reuso de Software

×