Processo de Reuso de Software
Processo de Software
• QUE etapas/atividades devem ser executadas?
• COMO as atividades são executadas?
• QUANDO as ativid...
Um exemplo
Concepção e
Especificação
Análise e
Projeto
Implementação
e Testes Entrega
Engenheiro de
Requisitos
Projetista
...
Processo de Software
• Vantagens:
– Processo bem definido pode ser observado e
mensurado
– Processo pode ser utilizado par...
Processo de Reuso de Software
• Processo de software que visa REUSO
• Baseado em duas abordagens essenciais:
–Desenvolvime...
Construindo ou Reutilizando
• Aspecto Cultural
– Cultura do Desenvolvedor
– Ambiente de Trabalho
– Guias e Ferramentas
Desenvolvimento PARA e COM reuso
• Desenvolvimento COM reuso é uma
abordagem que tenta maximizar o reuso de
componentes de...
Processo de Reuso de Software
• Processo simplificado para reuso de software
– Quais são as principais etapas envolvidas ?...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessi
dades
do
usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de
Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de Aplicação
Distri...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de
Aplicação
Distri...
Processo de Reuso de Software
Processos Convencionais
• Necessidades do
Usuário
• Features do produto
• Modelos (Esp, Proj...
Processo de Reuso de Software
• Engenharia de Domínio e Engenharia de
Aplicação são processos:
– complementares
– interati...
Engenharia de Domínio
• Visão geral
?
Análise da
Viabilidade
Análise do
Domínio
Projeto do
Domínio
Implementação
do
Domíni...
Engenharia de Domínio
• Visão geral
?
Análise da
Viabilidade
Análise do
Domínio
Projeto do
Domínio
Implementação
do
Domíni...
Engenharia de Domínio
• Análise do Domínio
Entradas
•Conhecimento
•Técnicas de
Modelagem de
Informação
Análise do
Domínio
...
Engenharia de Domínio
• Visão geral
?
Análise da
Viabilidade
Análise do
Domínio
Projeto do
Domínio
Implementação
do
Domíni...
Engenharia de Domínio
• Projeto do Domínio
Entradas
•Modelo de
Domínio
Projeto do Domínio
•Projetos
Genéricos
•Estilos
Arq...
Engenharia de Domínio
• Visão geral
?
Análise da
Viabilidade
Análise do
Domínio
Projeto do
Domínio
Implementação
do
Domíni...
Engenharia de Domínio
• Implementação do Domínio
Entradas
•Ferramentas de
compilação
•Padrões de
Código
•Modelo de
Projeto...
Processo de Reuso de Software
Usuário
Necessidade
s do usuário
Engenharia
de
Domínio
Ativos
Engenharia
de
Aplicação
Distri...
Engenharia de Domínio e Engenharia
de Aplicação
Engenharia de Domínio
?
Análise da
Viabilidade
Análise do
Domínio
Projeto ...
Engenharia de Aplicação
• O foco da engenharia de aplicação é um único
sistema.
• Atividades:
– Modelo de domínio para ide...
Modelos de Processos de Reuso de
Software
• Abordadem Draco (1980)
• STARS CFRP (1993)
• Catálogo para Processos e Métodos...
Modelos de Processo para Reuso de
Software
• Abordagem Draco (1980)
Definição
Linguagens
Executáveis
Tecnologias
De Softwa...
Modelos de Processo para Reuso de
Software
• STARS CFRP (1993) Framework conceitual para processo de reuso
Mercado
Ativos
...
Modelos de Processo para Reuso de
Software
• Processo de Criação (CRIAR)
Ativos
Externos
Sistemas
Existentes
Conhecimento
...
Modelos para Reuso
• Requisitos
– Desenvolvimento PARA reuso
• Análise do Domínio
• Projeto do Domínio
• Implementação do ...
Próximos SlideShares
Carregando em…5
×

Aula processo de reuso de software

592 visualizações

Publicada em

Sobre processo de software...

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×