Pós-graduação em Análise, Projeto e Gerência de Sistemas de Informação

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

MPS BR – NÍVEL F MPS BR – NÍVEL F CC 7/8 P51 Nível F
Gerenciamento de Projetos
Os projetos.
FACULDADE DOS GUARARAPES
Adélia Barros Testes de Software Adélia Barros
Engenharia de Software
Objetivos do Capítulo Utilizar o processo de desenvolvimento de sistemas delineado neste capítulo e o modelo de componentes de SI, do Capítulo 1, como.
ISO Processos do Ciclo de Vida do Software
GERENCIAMENTO DE INTEGRAÇÃO DO PROJETO
Tipos de sistemas de Lehman
Gestão de Projetos Áreas de conhecimentos Integração
Qualidade de Software Aula 2
O processo de coletar os requisitos (escopo do cliente)
Reutilização de Software
Reutilização de Software
Projeto em Engenharia de
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
TSDD Teste de segurança durante o desenvolvimento.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento de Requisitos com Casos de Uso
Gerência de Configuração de Software
GERENCIAMENTO DE AQUISIÇÕES PMBOK
FORMAÇÃO DE AUDITORES INTERNOS RONALDO COSTA RODRIGUES
RUPinho Qualidade de Software
Planejamento e Gerenciamento de Projetos
Modelos de Maturidade de Processos de Software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Projeto: Capacitação em GP
Análise e Projeto de Sistemas
Capability Maturity Model (CMM)
Gerenciamento da Integração
Gerenciamento da Integração
Análise e Projeto de Sistemas
Prof. Alexandre Vasconcelos
Modelos de Maturidade de Processos de Software
Modelos de Maturidade de Processos de Software
Engenharia de Software
Gerenciamento de Integração.
Acompanhar produto e processo
Gerência de Configuração - GC
ANÁLISE E DESENVOLVIMENTO
CURSO TÉCNICO EM SEGURANÇA DO TRABALHO
Aluno: Cristiano Levi Arnold Orientador: Alexandre Luís Franco 2009
Melhoria do processo de software brasileiro
Engenharia de Software
GERENCIAMENTO DE PROJETOS DE T.I
METODOLOGIA, MÉTODOS E FERRAMENTAS
Programa de Pós-Graduação em Engenharia de Produção - UNIFEI
<Nome da Unidade Organizacional> <Data>
Integração.
Desenvolvimento Global de Software Mestrado de Informática / UFPB Francilene Procópio Garcia, D.Sc. Configuração do Processo - Parte.
Antonio Nascimento Roteiro Introdução Objetivos Áreas de Conhecimento Certificações Conclusões Referências.
Aula 3: Áreas de Conhecimento em Gerenciamento de Projeto, Integração
Gerenciamento de Qualidade
Qualidade de Produtos de Software
Visão Geral da Gestão de Projetos
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Apresentação Leonardo Brussolo de Paula
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
Programa criado em Apoio ao programa: Ministério da Ciência e Tecnologia da Finep Banco Interamericano de Desenvolvimento Universidades e Governo.
Introdução – ISO Conceitos relacionados a Norma NBR ISO/IEC 12207; Procedimentos de ciclo de vida e desenvolvimento de software; Objetivos e a estrutura.
MAPS: Um Modelo de Adaptação de Processos de Software Ciro Carneiro Coelho Orientador Prof. Hermano Perrelli de Moura.
Revisão da Norma ISO 9001:2008 Revisão da Norma ISO 9001:2000 para ISO 9001:2008 Impactos sobre o Sistema de Gestão da Qualidade Informativo Técnico.
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
Gerência de Sub-Contratação - SAM
CMMI Capability Maturity Model Integration
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Pós-graduação em Análise, Projeto e Gerência de Sistemas de Informação Disciplina: Reutilização de Software Reutilização de Software no MPS.BR Gerência de Reutilização Desenvolvimento para Reutilização 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 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 Reutilização de Software no MPS.BR Rodrigo Santos

Definição de Reutilização 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) Reutilização de Software no MPS.BR Rodrigo Santos

Benefícios da Reutilização Melhores índices de produtividade Produtos de melhor qualidade, mais confiáveis, consistentes e padronizados Redução dos custos e tempo envolvidos no desenvolvimento de software Maior flexibilidade na estrutura do software produzido, facilitando sua manutenção e evolução Reutilização de Software no MPS.BR Rodrigo Santos

Dificuldades da Reutilização Identificação, recuperação e modificação de artefatos reutilizáveis Compreensão dos artefatos recuperados Qualidade de artefatos reutilizáveis Composição de aplicações a partir de componentes Barreiras psicológicas, legais e econômicas Necessidade da criação de incentivos à reutilização Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Etapas Planejamento de Reutilização Criação de Artefatos Gerência de Artefatos Utilização de Artefatos Gerência de Reutilização Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Requisitos Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Requisitos Reutilização de Software no MPS.BR Rodrigo Santos

Planejamento da Reutilização Objetivo: definir uma Estratégia de Reutilização e um Plano para Implementação dentro da empresa Atividades: Estabelecer a estratégia para criação, gerência e utilização de artefatos reutilizáveis Integração da reutilização ao processo de desenvolvimento Controle e evolução do processo Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Requisitos Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Criação de Artefatos Objetivo: produzir software e produtos associados para a reutilização (Desenvolvimento para Reutilização) Atividades: Análise e modelagem do domínio Engenharia de Domínio Linha de Produtos Desenvolvimento de uma infraestrutura de reutilização Evolução do processo Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Engenharia de Domínio 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 Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Engenharia de Domínio Realizar a Análise de Domínio Fontes de Conhecimento do Domínio consultas a entrevistas sistemas existentes literatura técnica requisitos atuais e futuros Modelos Métodos Análise de Procedimentos Gerência Engenheiro Especialistas no Analista taxonomias padrões (p.e., padrões de interface) modelos funcionais (p.e., arquiteturas genéricas) linguagens de domínio especialistas Diagrama de Contexto para a Análise de Domínio (PRIETO-DÍAZ & ARANGO, 1991) Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Engenharia de Domínio 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 Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Engenharia de Domínio Etapas Análise de Domínio O conhecimento existente sobre o domínio é estudado e formalizado através de um modelo de domínio Projeto de Domínio Arquiteturas de software são construídas para atender aos requisitos identificados no modelo de domínio Implementação do Domínio Artefatos reutilizáveis são implementados para compor as arquiteturas da aplicação Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Odyssey-FEX (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Odyssey-FEX (FERNANDES, 2009) Acessar: reuse.cos.ufrj.br/files/publicacoes/mestrado/Mes_PaulaCibele.pdf e reuse.cos.ufrj.br/odyssey Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Odyssey-FEX (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Odyssey-FEX (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Odyssey-FEX (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Ambiente Odyssey (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Ambiente Odyssey (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Engenharia de Domínio Ambiente Odyssey (FERNANDES, 2009) Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Linha de Produtos 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 Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Linha de Produtos Etapas Desenvolvimento do Núcleo de Artefatos Desenvolvimento do Produto Gerenciamento da Linha de Produtos Peça-chave Arquitetura Fonte: meiobit.com Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Linha de Produtos Desenvolvimento do Núcleo de Artefatos Escopo da linha de produtos Artefatos do núcleo Plano de produção Fonte: devmedia.com.br Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Linha de Produtos Desenvolvimento do Produto Análise do domínio da aplicação Instanciação da arquitetura do produto Povoamento da arquitetura Fonte: viniciusquaiato.com Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Linha de Produtos Gerenciamento da Linha de Produtos Supervisão Coordenação Documentação Fonte: aldac.com.br Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Requisitos Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Gerência de Artefatos Objetivo: coletar, avaliar, descrever e organizar artefatos reutilizáveis para garantir sua disponibilização aos processos de criação e utilização Atividades: Aquisição, aceitação, classificação, catalogação, certificação e descontinuidade de artefatos reutilizáveis Coleta de métricas e administração do repositório Manutenção e evolução de artefatos Reutilização de Software no MPS.BR Rodrigo Santos

Gerência de Reutilização Planejamento Criação Gerência Utilização Objetivos, Estratégias, Processos, Recursos Artefatos Artefatos, Descrições Lições Requisitos, Lições, Processos, Requisitos Reutilização de Software no MPS.BR Rodrigo Santos

Utilização de Artefatos (SANTOS, 2010) 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 e reuse.cos.ufrj.br/brecho Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) O propósito do processo Gerência de Reutilização é gerenciar o ciclo de vida dos ativos reutilizáveis GRU3 - Os dados de utilização dos ativos reutilizáveis são registrados 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 GRU4 - 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 GRU2 - Um mecanismo de armazenamento e recuperação de ativos reutilizáveis é implantado 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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. Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Gerência de Reutilização (GRU) 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. Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) O propósito do processo Desenvolvimento para Reutilização é identificar oportunidades de reutilizaçã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. 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 DRU1 - Domínios de aplicação em que serão investigadas oportunidades de reutilização ou nos quais se pretende praticar reutilização são identificados, detectando os respectivos potenciais de reutilização DRU6 - Formas de representação para modelos de domínio e arquiteturas de domínio são selecionadas DRU2 - A capacidade de reutilização sistemática da organização é avaliada e ações corretivas são tomadas, caso necessário DRU7 - 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 DRU3 - 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 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 DRU4 - O programa de reutilização é implantado, monitorado e avaliado DRU9 – Ativos do domínio são especificados; adquiridos ou desenvolvidos, e mantidos por todo seu ciclo de vida Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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.) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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) Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) 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 Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) Biblioteca de Ativos Reutilização de Software no MPS.BR Rodrigo Santos

MR MPS Desenvolvimento para Reutilização (DRU) Diagramador de Modelos de Domínio Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Considerações Finais 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 Reutilização de Software no MPS.BR Rodrigo Santos

Reutilização de Software no MPS.BR Referências 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.BR Rodrigo Santos

<<e-mail prof.>> Instituto <<nome>> Pós-graduação em <<nome>> Período <<num>> Disciplina: <<nome>> Aula <<num>> Reutilização de Software no MPS.BR Gerência de Reutilização Desenvolvimento para Reutilização <<e-mail prof.>> 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