reutilização de software no mps.br gerência de reutilização desenvolvimento para reutilização...
TRANSCRIPT
Reutilização de Software no MPS.BRGerência de Reutilização
Desenvolvimento para Reutilização
Pós-graduação em Análise, Projeto e Gerência de Sistemas de Informação
Disciplina: Reutilização de Software
Material extraído dos cursos de Qualidade de Software e Reutilização de Software dos profs. Rodrigo Santos, Leonardo Murta, Cláudia Werner e Ana Regina Rocha
Introdução à Reutilização
Rodrigo SantosReutilização de Software no MPS.BR2
A Reutilização é inerente ao processo de solução de problemas utilizado pelos seres humanos
Na medida em que soluções são encontradas, estas são utilizadas em problemas similares
Nossa capacidade de abstração garante a adaptação necessária ao novo contexto
O problema, portanto, não é a falta de reutilização na Engenharia de Software, mas a falta de uma sistemática ampla e formal para realizá-la
Definição de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR3
Reutilização de Software é o processo de incorporar em um novo produto: código especificações de
requisitos e projeto planos de teste qualquer produto gerado
durante desenvolvimentos anteriores
conhecimento em geral
O mercado internacional de componentes de software 2000-2005 (SOFTEX, 2007)
Benefícios da Reutilização
Rodrigo SantosReutilização de Software no MPS.BR4
Melhores índices de produtividadeProdutos de melhor qualidade, mais confiáveis, consistentes e padronizadosRedução dos custos e tempo envolvidos no desenvolvimento de softwareMaior flexibilidade na estrutura do software produzido, facilitando sua manutenção e evolução
Dificuldades da Reutilização
Rodrigo SantosReutilização de Software no MPS.BR5
Identificação, recuperação e modificação de artefatos reutilizáveisCompreensão dos artefatos recuperadosQualidade de artefatos reutilizáveisComposição de aplicações a partir de componentesBarreiras psicológicas, legais e econômicasNecessidade da criação de incentivos à reutilização
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR6
Gerência de Reutilização
Etapas
1. Planejamento de Reutilização
2. Criação de Artefatos
3. Gerência de Artefatos
4. Utilização de Artefatos
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR7
Planejamento
Criação
Gerência
Utilização
Objetivos, Estratégias, Processos, Recursos
Artefatos
Artefatos,Descrições
Lições
Lições
Requisitos,Lições, Processos,Artefatos
Requisitos
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR8
Planejamento
Criação
Gerência
Utilização
Objetivos, Estratégias, Processos, Recursos
Artefatos
Artefatos,Descrições
Lições
Lições
Requisitos,Lições, Processos,Artefatos
Requisitos
Planejamento da Reutilização
Rodrigo SantosReutilização de Software no MPS.BR9
Objetivo: definir uma Estratégia de Reutilização e um Plano para Implementação dentro da empresa
Atividades:1. Estabelecer a estratégia para criação, gerência e
utilização de artefatos reutilizáveis2. Integração da reutilização ao processo de
desenvolvimento3. Controle e evolução do processo
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR10
Planejamento
Criação
Gerência
Utilização
Objetivos, Estratégias, Processos, Recursos
Artefatos
Artefatos,Descrições
Lições
Lições
Requisitos,Lições, Processos,Artefatos
Requisitos
Criação de Artefatos
Rodrigo SantosReutilização de Software no MPS.BR11
Objetivo: produzir software e produtos associados para a reutilização (Desenvolvimento para Reutilização)
Atividades:1. Análise e modelagem do domínio
I. Engenharia de DomínioII. Linha de Produtos
2. Desenvolvimento de uma infraestrutura de reutilização
3. Evolução do processo
Engenharia de Domínio
Rodrigo SantosReutilização de Software no MPS.BR12
Domínio Uma coleção de problemas reais Uma coleção de aplicações que compartilham
características comuns Definições para Engenharia de Domínio (ED)
É o processo de identificar e organizar o conhecimento sobre uma classe de problemas, o domínio do problema, para suportar sua descrição e solução
Uma abordagem baseada em reutilização para definição do escopo, especificação da estrutura, e construção de recursos para uma classe de sistemas, subsistemas ou aplicações
Engenharia de Domínio
Rodrigo SantosReutilização de Software no MPS.BR13
Diagrama de Contexto para a Análise de Domínio (PRIETO-DÍAZ & ARANGO, 1991)
Realizar aAnálise
deDomínio
Fontes deConhecimentodo Domínio
consultas a
entrevistas
sistemas existentes
literatura técnica
requisitos atuaise futuros
Modelosde
Domínio
Métodosde
Análise deDomínio
Procedimentosde
Gerência
Engenheirode
Domínio
Especialistasno
DomínioAnalista
deDomínio
taxonomias
padrões(p.e., padrões de interface)
modelos funcionais(p.e., arquiteturas genéricas)
linguagens de domínio
especialistas
Engenharia de Domínio
Rodrigo SantosReutilização de Software no MPS.BR14
Objetivos Originar meta-sistemas, ou seja, sistemas que são
reutilizados na construção de aplicações específicas
Descobrir e definir modelos de domínio e arquiteturas comuns às famílias de aplicações para suportar uma reutilização pré-planejada
Tornar explícito e formalizar as teorias específicas ao domínio que permitem aos projetistas e especialistas do domínio a raciocinar sobre problemas e sistemas no domínio da aplicação
Engenharia de Domínio
Rodrigo SantosReutilização de Software no MPS.BR15
Etapas1. Análise de Domínio
O conhecimento existente sobre o domínio é estudado e formalizado através de um modelo de domínio
2. Projeto de Domínio Arquiteturas de software são construídas para atender
aos requisitos identificados no modelo de domínio
3. Implementação do Domínio Artefatos reutilizáveis são implementados para compor
as arquiteturas da aplicação
Engenharia de DomínioOdyssey-FEX (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR16
Engenharia de DomínioOdyssey-FEX (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR17
Acessar:reuse.cos.ufrj.br/files/publicacoes/mestrado/Mes_PaulaCibele.pdf
ereuse.cos.ufrj.br/odyssey
Engenharia de DomínioOdyssey-FEX (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR18
Engenharia de DomínioOdyssey-FEX (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR19
Engenharia de DomínioOdyssey-FEX (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR20
Engenharia de DomínioAmbiente Odyssey (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR21
Engenharia de DomínioAmbiente Odyssey (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR22
Engenharia de DomínioAmbiente Odyssey (FERNANDES, 2009)
Rodrigo SantosReutilização de Software no MPS.BR23
Linha de Produtos
Rodrigo SantosReutilização de Software no MPS.BR24
Definição É um conjunto de sistemas de software que
compartilham um conjunto de características comuns e controladas, que satisfazem necessidades de um segmento de mercado em particular, e são desenvolvidos a partir de artefatos (core assets), de forma predefinida
É uma vertente da Engenharia de Domínio, cujo foco foi transferido para o âmbito empresarial!!!
Fonte: abiofiorini.com.br
Linha de Produtos
Rodrigo SantosReutilização de Software no MPS.BR25
Etapas1. Desenvolvimento do
Núcleo de Artefatos2. Desenvolvimento do
Produto3. Gerenciamento da
Linha de Produtos Peça-chave
Arquitetura
Fonte: meiobit.com
Linha de Produtos
Rodrigo SantosReutilização de Software no MPS.BR26
Desenvolvimento do Núcleo de Artefatos Escopo da linha de
produtos Artefatos do núcleo Plano de produção
Fonte: devmedia.com.br
Linha de Produtos
Rodrigo SantosReutilização de Software no MPS.BR27
Desenvolvimento do Produto Análise do domínio
da aplicação Instanciação da
arquitetura do produto
Povoamento da arquitetura
Fonte: viniciusquaiato.com
Linha de Produtos
Rodrigo SantosReutilização de Software no MPS.BR28
Gerenciamento da Linha de Produtos Supervisão Coordenação Documentação
Fonte: aldac.com.br
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR29
Planejamento
Criação
Gerência
Utilização
Objetivos, Estratégias, Processos, Recursos
Artefatos
Artefatos,Descrições
Lições
Lições
Requisitos,Lições, Processos,Artefatos
Requisitos
Gerência de Artefatos
Rodrigo SantosReutilização de Software no MPS.BR30
Objetivo: coletar, avaliar, descrever e organizar artefatos reutilizáveis para garantir sua disponibilização aos processos de criação e utilização
Atividades:1. Aquisição, aceitação, classificação, catalogação,
certificação e descontinuidade de artefatos reutilizáveis
2. Coleta de métricas e administração do repositório
3. Manutenção e evolução de artefatos
Gerência de Reutilização
Rodrigo SantosReutilização de Software no MPS.BR31
Planejamento
Criação
Gerência
Utilização
Objetivos, Estratégias, Processos, Recursos
Artefatos
Artefatos,Descrições
Lições
Lições
Requisitos,Lições, Processos,Artefatos
Requisitos
Utilização de Artefatos (SANTOS, 2010)
Rodrigo SantosReutilização de Software no MPS.BR32
Objetivo: compor sistemas a partir de artefatos reutilizáveis (Desenvolvimento com Reutilização)
Atividades: Identificação,
compreensão, avaliação, seleção, adaptação e integração de artefatos
Feedback ao Planejamento, Criação e Gerência de Artefatos
Acessar:reuse.cos.ufrj.br/files/publicacoes/mestrado/Mes_RodrigoSantos.pdf
ereuse.cos.ufrj.br/brecho
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR33
O propósito do processo Gerência de Reutilização é gerenciaro ciclo de vida dos ativos reutilizáveis
GRU1 - Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis
GRU2 - Um mecanismo de armazenamento e recuperação de ativos reutilizáveis é implantado
GRU3 - Os dados de utilização dos ativos reutilizáveis são registrados
GRU4 - Os ativos reutilizáveis são periodicamente mantidos, segundo oscritérios definidos, e suas modificações são controladas ao longo do seu ciclo de vida
GRU5 - Os usuários de ativos reutilizáveis são notificados sobre problemas detectados, modificações realizadas, novas versões disponibilizadas e descontinuidade de ativos
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR34
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Definir o que são ativos reutilizáveis para a organização
Isso interfere em: Como o repositório é organizado Quais são procedimentos de busca e seleção de ativos Como é a arquitetura da biblioteca Qual é a infraestrutura para a utilização dos ativos
Planejamento relativo à implantação e execução do processo: Custos, Marcos, Recursos, Treinamento, Papéis (produtor,
consumidor e gerente da biblioteca) e Definição de Critérios
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR35
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Critérios de Aceitação
Estabelecem os atributos que credenciam a existência de um ativo na biblioteca
Mantém a coerência da biblioteca Ex.: fazer parte de um domínio de interesse da
organização
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR36
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Critérios de Certificação
Complementam os critérios de aceitação para avaliar integralmente um ativo
Quando um critério de aceitação é aplicado, é observado apenas se o ativo reutilizável possui um conjunto de características desejáveis
Visam atestar que uma determinada liberação de ativo reutilizável oferece realmente os serviços que propõe
Inclusão de uma versão concreta do ativo na biblioteca Ex.: aprovação nos testes antes da inclusão na biblioteca
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR37
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Critérios de Classificação
Visam organizar os ativos na biblioteca, facilitando a sua busca e seleção
Ex.: classificação quanto ao tipo (código, modelo, processo etc.) ou quanto ao domínio (agropecuária, telecomunicações etc.) do ativo
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR38
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Critérios de Descontinuidade
Estabelecem quando os ativos devem ser removidos da biblioteca
Devem ser objetivos, visando sua automação Ex.: descontinuar um ativo caso ele não seja utilizado
durante um período previamente estabelecido
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR39
GRU 1 – Uma estratégia de gerenciamento de ativos é documentada, contemplando a definição de ativo reutilizável, além dos critérios para aceitação, certificação, classificação, descontinuidade e avaliação de ativos reutilizáveis Critérios de Avaliação
Estabelecem os atributos que definem o grau de qualidade de um ativo
Podem ser utilizados: Na certificação, pelo gerente da biblioteca Após a utilização, pelos consumidores
Ex.: grau de satisfação do uso de uma determinada versão de um ativo
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR40
GRU 2 – Um mecanismo de armazenamento e recuperação de ativos reutilizáveis é implantado
Facilitar a localização dos ativos na biblioteca aos membros de projetos Deve ser compatível com a necessidade da organização
Prover o processo GRU Agregar a necessidade de categorização de um determinado usuário
Definir e disponibilizar o mecanismo de armazenamento Local onde as versões dos ativos são armazenadas para posterior
reutilização Ex.: biblioteca centralizada, diretório em rede etc.
Definir e disponibilizar o mecanismo de recuperação Formas com que os ativos são localizados pelos membros dos projetos Ex.: busca por palavras-chaves, busca por categorias, navegação via
hiperlinks etc.
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR41
GRU 3 – Os dados de utilização dos ativos reutilizáveis são registrados Registro dos dados de utilização de ativos
reutilizáveis Armazenar a informação de quais consumidores
utilizam quais ativos de quais produtores Elo de ligação → Identificar tendências
Utilidade (GRU5) Identificar o produtor de um ativo em posse de um consumidor, para
solicitação de modificação Notificar o consumidor sobre a existência de novas versões do ativo Fornecer indicadores para o gerente da biblioteca sobre
descontinuidade do ativo Ex.: sempre que um consumidor obter uma determinada versão de
um ativo, registrar essa informação em um mapa de reutilização
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR42
GRU 4 – Os ativos reutilizáveis são periodicamente mantidos, segundo os critérios definidos, e suas modificações são controladas ao longo do seu ciclo de vida Ativos devem estar sob GCO e GQA
Aplicar os procedimentos de gerência de configuração sempre que for necessário modificar algum ativo da biblioteca
Repositório de gerência de configuração Versões de desenvolvimento
Biblioteca de reutilização Liberações do repositório de gerência de configuração Aplicação dos critérios estabelecidos para certificação de ativos Aplicação do processo de Verificação Versões de produção
MR MPSGerência de Reutilização (GRU)
Rodrigo SantosReutilização de Software no MPS.BR43
GRU 5 – Os usuários de ativos reutilizáveis são notificados sobre problemas detectados, modificações realizadas, novas versões disponibilizadas e descontinuidade de ativos Utilização das informações coletadas pelo GRU3 Informar aos consumidores sobre alterações em um
ativo Novas versões
Corretivas (substituição requerida) Evolutivas (substituição opcional)
Ativos relacionados Descontinuidade
Ex.: relatórios periódicos, por evento, RSS etc.
MR MPSDesenvolvimento para Reutilização (DRU)
44
O propósito do processo Desenvolvimento para Reutilização é identificar oportunidades dereutilização sistemática na organização e, se possível, desenvolver um programa de reutilização para desenvolver ativos a partir de engenharia de domínio de aplicação.
DRU1 - Domínios de aplicação em que serãoinvestigadas oportunidades de reutilização ounos quais se pretende praticar reutilização sãoidentificados, detectando os respectivospotenciais de reutilizaçãoDRU2 - A capacidade de reutilização sistemática da organização é avaliada e ações corretivas são tomadas, caso necessário
DRU4 - O programa de reutilização éimplantado, monitorado e avaliado
DRU5 - Propostas de reutilização são avaliadas de forma a garantir que o resultado da reutilização seja apropriado para a aplicação alvo
DRU6 - Formas de representação para modelos de domínio e arquiteturas de domínio são selecionadas
DRU3 - Um programa de reutilização,envolvendo propósitos, escopo, metas eobjetivos, é planejado com a finalidade deatender às necessidades de reutilização dedomínios
DRU7 - Um modelo de domínio que capturecaracterísticas, capacidades, conceitos e funções comuns, variantes, opcionais e obrigatórios, é desenvolvido e seus limites e relações com outros domínios são estabelecidos e mantidos
DRU8 - Uma arquitetura de domínio descrevendo uma família de aplicações para o domínio é desenvolvida e mantida por todo seu ciclo de vida
DRU9 – Ativos do domínio são especificados; adquiridos ou desenvolvidos, e mantidos por todo seu ciclo de vida
Rodrigo SantosReutilização de Software no MPS.BR
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR45
DRU 1 – Domínios de aplicação em que serão investigadas oportunidades de reutilização de ativos ou nos quais se pretende praticar reutilização são identificados, detectando os respectivos potenciais de reutilização Verificar se os ganhos proporcionados pela implantação
são maiores que os custos Identificar domínios de atuação da organização
Projetos passados Projetos futuros
Identificar os potenciais de reutilização de cada domínio Estabilidade do domínio Ativos de domínio preexistentes na organização Ativos de domínio passíveis de construção ou aquisição
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR46
DRU 1 – Domínios de aplicação em que serão investigadas oportunidades de reutilização de ativos ou nos quais se pretende praticar reutilização são identificados, detectando os respectivos potenciais de reutilização A inexistência de domínios com potencial de
reutilização pode justificar a não adoção de um programa de reutilização Necessário utilização de mecanismos formais de tomada
de decisão (GDE)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR47
DRU 2 – A capacidade de reutilização sistemática da organização é avaliada e ações corretivas são tomadas, caso necessário Avaliar a capacidade da organização para executar o
processo de forma sistemática Recursos humanos capacitados Recursos financeiros para investimento de longo prazo Infraestrutura apropriada Aspectos culturais trabalhados dentro da organização
A inexistência de capacidade de reutilização pode justificar o adiamento da implantação do programa de reutilização
Tomar ações corretivas para gerar capacidade Gerenciar os riscos (GRI) relacionados à implantação do DRU Não justifica a não adoção de um programa de reutilização
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR48
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR49
DRU 3 – Um programa de reutilização, envolvendo propósitos, escopo, metas e objetivos, é planejado com a finalidade de atender às necessidades de reutilização de domínios Aplicável quando a organização tem oportunidade e
capacidade de reutilização Definir um programa de reutilização
Propósito Metas Recursos necessários e disponíveis Estágios intermediários a serem atingidos Atividades a serem executadas, cronograma e responsáveis Indicadores de monitoramento do programa Escopo em que o programa será conduzido (e.g., de dimensões:
unidades organizacionais, domínios, tipos de ativos etc.)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR50
DRU 4 – O programa de reutilização é implantado, monitorado e avaliado Implantar o programa de reutilização de acordo com
o planejado Monitorar a execução do programa de acordo com
os indicadores previamente planejados Comparar o planejado com o realizado, e reportar e
acompanhar as não conformidades detectadas Avaliar periodicamente o programa de reutilização,
tomando as ações corretivas necessárias para a melhoria da execução do processo (AMP)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR51
DRU 5 – Propostas de reutilização são avaliadas de forma a garantir que o resultado da reutilização seja apropriado para a aplicação alvo Demandas de reutilização
Submetidas ao gerente de reutilização na forma de propostas de reutilização
Permitem a análise da adequação de um ativo de domínio para um problema específico
Motivam a construção ou aquisição de ativos de domínio
Analisar as propostas Esforço de adaptação de ativo existente, esforço de construção do
ativo ou custo de aquisição do ativo Avaliar a proposta quanto às expectativas da organização Momento propício para alimentar o GRU 3
Manter a rastreabilidade entre o ativo original e o ativo adaptado para um consumidor específico
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR52
DRU 6 – Formas de representação para modelos de domínio e arquiteturas de domínio são selecionadas Notações capazes de representar domínios e famílias de
aplicações em diferentes níveis de abstração Definir uma notação para representar modelos de
domínio Fronteira entre domínios Características obrigatórias Características opcionais Características variantes Dependência e exclusão mútua de características
Definir uma notação para representar arquiteturas de domínio Concretizar as características definidas no modelo de domínio
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR53
DRU 7 – Um modelo de domínio que capture características, capacidades, conceitos e funções comuns, variantes, opcionais e obrigatórios é desenvolvido e seus limites e relações com outros domínios são estabelecidos e mantidos Determinar a fronteira dos domínios com potencial de
reutilização e domínios correlatos Contexto do programa de reutilização
Domínios a serem incluídos no programa no futuro
Desenvolver modelos de domínio para cada domínio no escopo do programa de reutilização
Usar notação definida no DRU6 Considerar modelos de domínio como ativos reutilizáveis (controlar com
GRU) Controlar a evolução dos modelos de domínio (GCO)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR54
DRU 8 – Uma arquitetura de domínio descrevendo uma família de aplicações para o domínio é desenvolvida e mantida por todo o seu ciclo de vida Arquitetura de domínio
Famílias de aplicações para um dado domínio Identifica os ativos de domínio e os seus relacionamentos
Desenvolver arquiteturas de domínio para cada domínio no escopo do programa de reutilização Usar notação definida no DRU6 Considerar as arquiteturas de domínio como ativos
reutilizáveis (controlar com GRU) Controlar a evolução das arquiteturas de domínio (GCO)
Priorizar os ativos de domínio identificados
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR55
DRU 9 – Ativos do domínio são especificados; adquiridos ou desenvolvidos, e mantidos por todo seu ciclo de vida Especificar todos os ativos de domínio identificados na
arquitetura de domínio seguindo a priorização previamente definida Detalhamento das funcionalidades do ativo de domínio
Analisar (custo versus benefício) e avaliar a aquisição ou desenvolvimento do ativo Comprar o ativo (AQU) Desenvolver o ativo (fazendo refatoração de ativos existentes em
projetos anteriores) Não investir em um ativo em particular
Incorporar os ativos na biblioteca de ativos reutilizáveis (GRU)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR56
Algumas mudanças Novos papéis
Gerente de Ativos Administrador do Programa de Reutilização Comitê de Reutilização (opcional) Engenheiro de Domínio
Novas ferramentas Biblioteca de Ativos Diagramador de Modelos de Domínio
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR57
Gerente de Ativos Atribuições
Estabelecer uma estratégia para gerenciamento de ativos reutilizáveis da organização, indicando ferramental adequado
Estabelecer e manter critérios para aceite, classificação, certificação, descontinuidade e avaliação
Implementar um mecanismo de armazenamento e recuperação
Manter a base de ativos reutilizáveis, incluindo informações sobre o seu uso
Notificar consumidores de ativos reutilizáveis quanto a problemas detectados, modificações efetuadas, inclusão de novas versões e descontinuidade
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR58
Gerente de Ativos Para a realização de suas atividades, deverá ainda:
Realizar a gerência de configuração de ativos reutilizáveis de acordo com o processo GCO
Documentar e resolver os problemas e não conformidades da base de ativos reutilizáveis de acordo com o processo GDE (Gerência de Decisões) (caso necessário)
Realizar revisões de ativos reutilizáveis de acordo com o processo VER (Verificação)
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR59
Administrador do Programa Atribuições
Identificar oportunidades para a prática de reutilização Avaliar a capacidade de reutilização da organização e
implementar ações corretivas (caso necessário) Decidir sobre a implantação de um Programa de
Reutilização na organização Planejar, estabelecer, gerenciar, monitorar e avaliar o
Programa de Reutilização da organização Promover a prática de reutilização na organização Prover a infraestrutura de reutilização necessária Prover suporte aos projetos para a prática de reutilização
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR60
Administrador do Programa Para a realização de suas atividades deverá ainda:
Realizar revisões do Programa de Reutilização de acordo com o processo VER
Documentar e resolver os problemas e não conformidades do Programa de Reutilização de acordo com o processo GDE (caso necessário)
Utilizar o processo AMP para melhorar continuamente a infraestrutura de reutilização
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR61
Comitê de Reutilização Atribuições
Identificar as oportunidades para a prática de reutilização Avaliar a capacidade da organização e propor ações
corretivas (caso necessário) Decidir sobre a implantação de um Programa de
Reutilização na organização Avaliar o Programa de Reutilização da organização
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR62
Engenheiro de Domínio Atribuições
Identificar a fronteira entre os domínios tratados pelo Programa de Reutilização e domínio correlatos
Selecionar formas de representação de modelos e arquiteturas do domínio
Criar os modelos e arquiteturas de domínio de acordo com as formas de representação selecionadas
Especificar ativos de domínio Analisar a aquisição ou desenvolvimento de um ativo de
domínio
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR63
Engenheiro de Domínio Para a realização de suas atividades, deverá ainda:
Desenvolver ativos de domínio de acordo com o processo PCP (Projeto e Construção do Produto)
Realizar a gerência de configuração de ativos do domínio de acordo com o processo GCO
Documentar e resolver os problemas e não conformidades dos ativos do domínio de acordo com o processo GDE (caso necessário)
Realizar revisões de ativos do domínio de acordo com o processo VER
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR64
Biblioteca de Ativos
MR MPSDesenvolvimento para Reutilização (DRU)
Rodrigo SantosReutilização de Software no MPS.BR65
Diagramador de Modelos de Domínio
Considerações Finais
Rodrigo SantosReutilização de Software no MPS.BR66
A reutilização é um conceito natural no processo de desenvolvimento de software, mas é preciso cuidar de determinados aspectos para que ela seja efetiva
Já temos experiência e propostas de solução para aspectos técnicos e não técnicos
Ao adotá-la, estaremos nos aproximando cada vez mais de uma real “Engenharia de Software”
Com o surgimento de normas sobre as boas práticas e processos envolvidos, finalmente, temos a chance de torná-la uma realidade nas empresas
Referências
Rodrigo SantosReutilização de Software no MPS.BR67
Software Reusability; (ed.) W.Schäfer, R.Prieto-Diaz and M.Matsumoto, Ellis Horwood, 1994
STARS Framework for Reuse Processes; 4th Annual Workshop on Software Reuse, Syracuse, NY, 1991
Domain Analysis and Software System Modeling; (ed.) R.Prieto-Diaz and G.Arango, IEEE Computer Society Press Tutorial, 1991
Software Engineering with Reusable Components; J. Sametinger, Springer, 1997
Reutilização de Software no MPS.BRGerência de Reutilização
Desenvolvimento para Reutilização
<<e-mail prof.>>
Instituto <<nome>>Pós-graduação em <<nome>>
Período <<num>>
Disciplina: <<nome>>Aula <<num>>
Material extraído dos cursos de Qualidade de Software e Reutilização de Software dos profs. Rodrigo Santos, Leonardo Murta, Cláudia Werner e Ana Regina Rocha