Reutilização de Software
|
|
|
- Alexandra Ferreira de Caminha
- 8 Há anos
- Visualizações:
Transcrição
1 DCC / ICEx / UFMG Reutilização de Software Eduardo Figueiredo
2 Reutilização de Software Abordagem de desenvolvimento com o objetivo de maximizar o uso de software pré-existente Nos últimos 20 anos, muitas técnicas foram desenvolvidas para apoiar o reuso Bibliotecas, objetos, componentes, etc. O movimento open source cria uma enorme base de código disponível
3 Tipos de Reutilização Objetos e Funções Tipo mais comum de reutilização Ocorre nos últimos 40 anos Componentes Reuso de média granularidade. Exemplo, componente arquitetural ou sub-sistema Sistema Um sistema pode ser reusado por incorporação à outro sistema Pode ser necessário customização
4 Vantagens de Reutilização Redução de tempo e custos O sistema pode ser entregue em menor prazo, que reduz os custos Maior confiabilidade do produto O software reusado já foi testado antes Uso eficaz de especialistas Especialistas compartilham o conhecimento Adequação aos padrões Padrões de interface podem ser componentes reusáveis
5 Potenciais Problemas Custo de Manutenção Componentes reusados podem se tornar incompatíveis em versões futuras Falta de Apoio de Ferramenta Ambientes de desenvolvimento podem não estar preparados para reutilização É caro manter uma biblioteca É difícil encontrar e entender o software que se pretende reusar
6 Planejamento para Reutilização Reutilização não ocorre por acaso Ele deve ser planejado e incentivado em toda a organização Muitas empresas desenvolvem sistemas em um mesmo domínio Surgem situações potenciais para reutilização
7 Fatores do Planejamento Alguns fatores a considerar no planejamento de reutilização Cronograma de desenvolvimento Ciclo de vida do software Conhecimento e experiência da equipe Domínio da aplicação +
8 Cronograma e Ciclo de Vida Cronograma de Desenvolvimento Se o cronograma de entrega é apertado, reusar pode agilizar a entrega do produto Ciclo de Vida do Software Reusar pode ser um problema em sistemas que sofrem manutenções frequentes Componentes de terceiros (código proprietário) dificultam a manutenção
9 Equipe e Domínio Conhecimento e experiência da equipe na abordagem de reutilização Muitas abordagens são difíceis de serem usadas e requerem experiência Domínio da aplicação Em alguns domínios, é fácil encontrar componentes e bibliotecas para reusar Em outros domínios, é mais complicado
10 Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha de produtos de software Biblioteca de programas Integração de COTS Desenvolvimento baseado em componentes Empacotamento de sistemas legados Geradores de programas Desenvolvimento orientado a aspectos Desenvolvimento dirigido por modelos Sistemas orientados a serviços
11 Técnicas (1 de 3) Padrões de projeto e de arquitetura Padrões são soluções genéricas para problemas recorrentes Frameworks de aplicação Coleção de classes abstratas e concretas que criam a estrutura de uma aplicação Componentes Subsistemas que são integrados para criação da aplicação
12 Técnicas (2 de 3) Empacotamento de sistemas legados Sistemas legados são empacotados pela definição de interfaces de acessos Sistemas orientados a serviços Sistemas desenvolvidos pela criação de serviços compartilhados Linhas de produtos de software Família de aplicações desenvolvidas em torno de uma arquitetura comum
13 Técnicas (3 de 3) Bibliotecas de programas Classes e funções que implementam abstrações comumente usadas Desenvolvimento dirigido por modelos O código é gerado a partir de modelos de domínio e modelos de implementação Desenvolvimento orientado a aspectos Técnica avançada de modularização de código para apoiar a reutilização
14 Bibliografia Ian Sommerville. Engenharia de Software, 9ª Edição. Pearson Education, Cap. 16 Reuso de Software (até Seção 16.1)
Técnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software
ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações
Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education
Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio
Processos de Software
DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas
15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Estimativa de Esforço. Estimativas de Software. Subjetividade da Estimativa. Incerteza de Estimativa. Técnicas de Estimativas
DCC / ICEx / UFMG Estimativa de Esforço Estimativas de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo É difícil fazer uma estimativa precisa de esforço de desenvolvimento Os requisitos
CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013
DCC / ICEx / UFMG CBSE Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A CBSE foi proposta na década de 90 Foi motivado pelo limitado suporte
Frameworks. Viviane Torres da Silva
Frameworks Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/es1 Frameworks Motivação Definição Classificação Características Propriedades Técnicas de Customização Frameworks
DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.
DCC / ICEx / UFMG O Modelo CMMI Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um pouco de história Na década de 80, o Instituto de Engenharia de Software (SEI) foi criado Objetivos Fornecer software
Reuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] Componentes Modelos de Componentes
Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 14 Março 2012 Arquitetura de Software Padrões arquiteturais
MODELOS DE PROCESSOS (PARTE 2)
MODELOS DE PROCESSOS (PARTE 2) Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Recordando nossas Datas Provas (novas datas): 3ª Prova (1ª chamada): 03/07 2ª Prova (2ª chamada):
Introdução a Engenharia de Software
Engenharia de Software Aula 02 Introdução a Engenharia de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] ou [email protected] 7 Março de 2018 Bibliografia
Projeto de Arquitetura
Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto
REUSO E REUSABILIDADE
REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.
14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata
4//204 Engenharia de Software Luiz A. Nascimento Modelos de software Cascata (especificação/desenvolvimento/ validação e evolução) Na teoria:desenvolvimento linear Na prática: São necessárias várias iterações
Desenvolvimento Dirigido por Modelos: Ferramentas
DCC / ICEx / UFMG Desenvolvimento Dirigido por Modelos: Ferramentas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Existe MDD na prática? Poucos sistemas ainda são desenvolvidos usando a filosofia
Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?
DCC / ICEx / UFMG O que é um processo de software? Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Conjunto de atividades que leva ao desenvolvimento do produto software Um
Engenharia de Requisitos
DCC / ICEx / UFMG Engenharia de Requisitos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação Motivação Porque levantar Requisitos é importante? Motivação Porque levantar Requisitos é importante?
Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software
Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 7 Maio 2012 1. Especificação de requisitos 2. Projeto
SOFTWARE REUSE. Ian Sommerville, 8º edição Capítulo 18. Aula de Luiz Eduardo Guarino de Vasconcelos
SOFTWARE REUSE Ian Sommerville, 8º edição Capítulo 18 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Explicar os benefícios e alguns problemas do reuso de software Descrever diferentes tipos de
Estilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Engenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 23 Setembro 2013 Bibliografia Método de avaliação
Qualidade de Software. Qualidade de Software. Adequado à Especificação. Alguns Atributos de Qualidade. Equipe de Qualidade
DCC / ICEx / UFMG Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A qualidade de software tem se aprimorado nos últimos 15 anos Empresas têm adotado novas técnicas Orientação a objetos se difundiu
Processos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Por que melhorar o processo? Melhoria do Processo de Software. De onde veio a idéia? Qualidade de Software
DCC / ICEx / UFMG Por que melhorar o processo? Melhoria do Processo de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Há uma relação direta entre qualidade do processo e qualidade do produto
INTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural
Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão
DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes
Reengenharia, Refatoração e Bad Smell
DCC / ICEx / UFMG Reengenharia, Refatoração e Bad Smell Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reengenharia de Sistemas Reestruturação ou reescrita de parte ou de todo um sistema legado
Desenvolvimento Ágil de Software
DCC / ICEx / UFMG Desenvolvimento Ágil de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Agenda Métodos ágeis Histórico e Motivação Manifesto ágil Desenvolvimento dirigido a planos e ágil
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Modulo I Princípios e Padrões de Projeto de SW em Java
Modulo I Princípios e Padrões de Projeto de SW em Java Professores Eduardo Bezerra [email protected] Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected]
Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.
Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes
Técnicas de Elicitação de Requisitos
DCC / ICEx / UFMG Técnicas de Elicitação de Requisitos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Elicitação de Requisitos Técnicas para levantamento de requisitos Descoberta de Requisitos (Pontos
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO Santa Maria, 13 de Setembro de 2013. Revisão aula anterior Processo de software Um modelo de processo de software consiste
Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico
Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Programação orientada a objetos Reuso de
15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo
DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná
Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,
Arquitetura de Software: Introdução. Prof. Fellipe Aleixo
Arquitetura de Software: Introdução Prof. Fellipe Aleixo ([email protected]) Primeira Analogia: O que é Arquitetura de Software? Significa coisas diferentes para pessoas diferentes... Para um
Análise de Sistemas - Atividade Modelos de Ciclo de Vida
Análise de Sistemas - Atividade Prof. Alessandro Borges 2 Cenário 1 Objetivo: desenvolver um software (sistema) para acompanhamento de cirurgia cardíaca. A organização dispõe de uma quantidade adequada
Engenharia de Software I
Engenharia de Software I Curso de Sistemas de Informação Karla Donato Fook [email protected] DESU / DAI 2016 Engenharia de Software Disciplina de engenhara relacionada com todos os aspectos da produção
Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders. Estudo de Viabilidade
DCC / ICEx / UFMG Eng. de Requisitos: Atividades Engenharia de Requisitos Eduardo Figueiredo Inclui quatro fases principais Estudo de viabilidade Elicitação (ou análise) de Especificação de Validação dos
Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Projeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
Verificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Processos de Software
Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama [email protected] Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius
Processo de Desenvolvimento. Edjandir Corrêa Costa
Processo de Desenvolvimento Edjandir Corrêa Costa [email protected] Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem
Manutenção Leitura: Sommerville; Pressman
Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele
ENGENHARIA DE SOFTWARE. Aula 12 Testes de software
ENGENHARIA DE SOFTWARE Aula 12 Testes de software OBJETIVOS Compreender os estágios de teste durante o desenvolvimento para os testes de aceitação por parte dos usuários de sistema; Apresentar as técnicas
Engenharia de Software II
Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo
Modelos de Processo de Software. Profª Jocelma Rios
Modelos de Processo de Software Profª Jocelma Rios Jun/2013 O que pretendemos: Apresentar os conceitos básicos de processos de software Descrever os principais modelos de processos de software, elucidando
RUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Desenvolvimento ágil de software
Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice
Desenvolvimento de um método e uma ferramenta para a reutilização de processos de software
Laboratório de Engenharia de Software - PUC MG - 1/ 13. Desenvolvimento de um método e uma ferramenta para a reutilização de processos de software André Luiz Peron Martins Lanna 1 Carlos Alberto Marques
Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias
Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas
Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída
DCC / ICEx / UFMG Testes de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Teste de software buscam por erros ou anomalias em requisitos funcionais e não funcionais Classificação
Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Evolução de Software
Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Evolução de Software Prof. Dr. Renato L. Novais [email protected] Ian Sommerville 2006 Engenharia de Software,
