Reutilização de Software

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Advertisements

Engenharia de Software
Engenharia de Software
ISO Processos do Ciclo de Vida do Software
Gerência de Projetos Wesley Peron Seno Introdução
Engenharia de Requisitos
Prof.ª Adriana dos Santos Caparróz Carvalho
Engenharia de Software
Processo Lacen de Desenvolvimento de Software
Engenharia de Software Professor Sandro de Paiva Carvalho.
Projeto: mps Br – melhoria de processo do software Brasileiro
Mitos e Problemas Relacionados ao Software
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Qualidade de Software Aula 2
Engenharia de Requisitos
Reutilização de Software
Análise e Projeto de Sistemas
SEPG Conference ´97.
Antonio Carlos Tonini Maio / 2004
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
ENGENHARIA DE SOFTWARE
Reunião de Abertura – Avaliação MPS.Br
1 Avaliação MPS.BR [ Nome da Unidade Organizacional] [Data]
Trabalho de Engenharia de Software II
Engenharia de Software
Modelos de Maturidade de Processos de Software
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software – Parte 2
MPT.Br Benefícios qualidade visibilidade melhoria contínua custo/
Capability Maturity Model (CMM)
Qualidade de Software Aula 2 / 2014/1
Introdução à Qualidade
Trabalho de Qualidade de Software
Prof. Alexandre Vasconcelos
Modelos de Maturidade de Processos de Software
Modelos de Maturidade de Processos de Software
[ Nome da Unidade Organizacional] [Data]
Reunião de Abertura – Avaliação MPS.Br
MPS-Br.
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Melhoria do processo de software brasileiro
ISO Processos do Ciclo de Vida do Software
Engenharia de Software
AVALIAÇÃO DE PROCESSOS
José Félix Bezerra.
<Nome da Unidade Organizacional> <Data>
Engenharia de Software
Gerenciamento de Requisitos e Modelagem de sistemas
<Nome da Unidade Organizacional> <data>
Melhoria de Processo do Software Brasileiro
Antonio Nascimento Roteiro Introdução Objetivos Áreas de Conhecimento Certificações Conclusões Referências.
AVALIAÇÃO DE PROCESSOS DE SOFTWARE
Engenharia de Software
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
ISO/IEC Prof. Dr. Sandro Ronaldo Bezerra Oliveira
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1.
Estudo Comparativo Entre Metodologias Ágeis e Tradicionais Aluno: Márcia Seabra Cabral Professor: Augusto Sampaio Disciplina: Tópicos Avançados em Engenharia.
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.
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
MPS.BR – Melhoria de Processo do Software Brasileiro Avaliação MR-MPS-SW [ Nome da Unidade Organizacional] [Data]
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
CMMI Capability Maturity Model Integration
Transcrição da apresentação:

Reutilização de Software Cláudia Maria Lima Werner werner@cos.ufrj.br COPPE/UFRJ Programa de Engenharia de Sistemas e Computação

Tópicos Engenharia de Software Processo de Software Reutilização de Software Benefícios e Dificuldades Histórico Gerência de Reutilização Modelo de Referência (MR MPS)

Engenharia de Software “Aplicação de uma abordagem sistemática, disciplinada e quantificativa para o desenvolvimento, operação e manutenção de software, isto é, a aplicação da engenharia ao software.” IEEE, 1993

Engenharia Resolução de problemas através de soluções economicamente viáveis Motivacão: Limitação de recursos, tempo e pessoal Método: Aplicação de conhecimento científico sobre um determinado domínio tecnológico Desenvolvimento constante de tecnologias e conhecimento

Dificuldades com Software O desenvolvimento de produtos de software é caro O tempo estimado para desenvolvimento de um produto de software geralmente é superado Produtos de software dificilmente atingem o padrão de qualidade esperado O grau de progresso no desenvolvimento de um produto de software é difícil de medir

Crise do Software teve início em meados da década de 1960 custos de hardware começam a reduzir computadores se tornam cada vez mais velozes e com maior capacidade de armazenamento demanda por software cresce com os avanços do hardware equipes de desenvolvimento não acompanham a demanda por produção

Objetivos da ES identificar os problemas envolvidos com o desenvolvimento de software analisar as causas destes problemas propor soluções economicamente viáveis para a resolução destes problemas organizar o conhecimento sobre técnicas para o desenvolvimento de software

Engenharia de Software Atualmente, o termo Engenharia de Software é utilizado para se referir a: modelos de ciclo de vida métodos e ferramentas de desenvolvimento técnicas para gerência e controle da qualidade documentação outras técnicas que estabelecem padrões para as atividades de produção e manutenção de software

Processo de Software Conjunto de atividades, métodos, práticas e tecnologias utilizadas para o desenvolvimento e manutenção de software e produtos relacionados.

Modelo de Processo Clássico Engenharia de Sistemas/ Informação Análise Projeto Codificação Teste Manutenção

Atividades de Apoio Acompanhamento e Controle do Projeto Revisões Técnicas Garantia da Qualidade de Software Gerência de Configuração Preparação e Produção de Documentos Gerência de Reutilização Medições Gerência de Risco

Atividades de Apoio Acompanhamento e Controle do Projeto Revisões Técnicas Garantia da Qualidade de Software Gerência de Configuração Preparação e Produção de Documentos Gerência de Reutilização Medições Gerência de Risco

Reutilização de Software 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.

Benefícios 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

Dificuldades 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

Gerência de Reutilização Planejamento de Reutilização Criação de Artefatos Gerência de Artefatos Utilização de Artefatos

Gerência de Reutilização Planejamento Objetivos, Estratégias, Processos, Recursos Requisitos, Lições, Processos, Artefatos Artefatos Criação Artefatos, Descrições Gerência Lições Lições Utilização Requisitos

Planejamento de 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

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 Desenvolvimento de uma Infra-estrutura de Reutilização Evolução do processo

Utilização de Artefatos 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

Modelo de Referência (MR MPS) 7 níveis de maturidade A - Em Otimização B - Gerenciado quantitativamente C - Definido D - Largamente definido E - Parcialmente definido F - Gerenciado G - Parcialmente Gerenciado 19 processos

Níveis de Maturidade MPS Análise de Causas de Problemas e Resolução A Gerência de Projetos (evolução) B Análise de Decisão e Resolução Gerência de Riscos C Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação D Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos E Medição / Gerência de Configuração Aquisição / Garantia da Qualidade F Gerência de Requisitos Gerência de Projetos G

Níveis de Maturidade MPS Análise de Causas de Problemas e Resolução A Gerência de Projetos (evolução) B Análise de Decisão e Resolução Gerência de Riscos C Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação D Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos / Gerência de Reutilização E Medição / Gerência de Configuração Aquisição / Garantia da Qualidade F Gerência de Requisitos Gerência de Projetos G

Níveis de Maturidade MPS Análise de Causas de Problemas e Resolução A Gerência de Projetos (evolução) B Análise de Decisão e Resolução Gerência de Riscos Desenvolvimento para Reutilização C Desenvolvimento de Requisitos / Projeto e Construção do Produto / Integração do Produto/ Verificação / Validação D Definição do Processo Org. / Avaliação e Melhoria do Processo Org. / Gerência de Projetos (evolução) Gerência de Recursos Humanos / Gerência de Reutilização E Medição / Gerência de Configuração Aquisição / Garantia da Qualidade F Gerência de Requisitos Gerência de Projetos G

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 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

Bibliografia Engenharia de Software; R.Pressman, 6ª Edição, McGraw-Hill, 2006 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 http://reuse.cos.ufrj.br http://www.softex.br/mpsbr