© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reuso de Software.

Slides:



Advertisements
Apresentações semelhantes
Evolução de Software.
Advertisements

ISO Processos do Ciclo de Vida do Software
UML Visões – Parte 2.
E-business: Como as Empresas Usam os Sistemas de Informação.
Engenharia de Software
Engenharia de Software
Engenharia de Software Professor Sandro de Paiva Carvalho.
FACULDADE DOS GUARARAPES
Fundamentos de Engenharia de Software - temas para estudo -
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
Sistema Web para Departamentos
Rastreamento de Requisitos
CAPÍTULO Sistemas de supervisão 2. Sistema SCADA
Processo Desenvolvimento de Software Tradicional
Como Desenvolver Sistemas de Informação
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Principios e Conceitos de Projeto
Engenharia de Software
Gerência de Configuração de Software
DIAGRAMA DE COMPONENTES
Projeto de Arquitetura
Linguagem de Programação IV
IFSul – Campus Venâncio Aires
Engenharia de Software
 Adelino Moreira Marcial Neto  Alex A. Toniatto  Gabriela Santini.
Professor: Márcio Amador
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Arquitetura de Software Visão Geral. Introdução  Um ponto crítico no projeto e na construção de todo o sistema de software é sua arquitetura: isto é,
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Representação Arquitetural
Processos.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
Padrões de Arquitetura
METODOLOGIA, MÉTODOS E FERRAMENTAS
1/34 Engenharia de Software e Sistemas Alexandre Vasconcelos
Padrões de Interação com o Usuário
Processos de Software.
Processos de Software.
Requisitos de Software
1/37 Engenharia de Software e Sistemas Alexandre Monteiro.
Integração de Ferramentas CASE
Desenvolvimento de Software Dirigido a Modelos
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
©Ian Sommerville 2006Engenharia de Software, 8ª. edição. Capítulo 1.
Desenvolvimento Global de Software Mestrado de Informática / UFPB Francilene Procópio Garcia, D.Sc. Configuração do Processo - Parte.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Objetos Distribuídos Frameworks Orientados a Objetos.
1 Arquitetura de Software Prof a : Francilene Garcia Disciplina: Projeto I DSC – CCT – UFCG Março Rogério Dourado
Desenvolvimento Global de Software
Frameworks e Componentes Daniel Fernando Pavelec.
Prototipação de Software
Gerenciamento de Requisitos e Modelagem de sistemas
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Estilos Arquiteturais
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
Uma Introdução à Engenharia de Software
1PSL – UFLA - EspecializaçãoJunier Amorim – Eng. Computação Sistema Gerenciador de Componentes para Reuso - SGCR -
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Apresentação Leonardo Brussolo de Paula
TÉCNICAS DE ESTIMATIVAS
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Sistemas de Informação Capítulo 6 O uso consciente da tecnologia para o gerenciamento.
Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.
Transcrição da apresentação:

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reuso de Software

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 2 Reuso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio de composição de componentes existentes Em engenharia de software, a situação ainda é diferente Normalmente, grande parte de um novo sistema é construída do zero Essa situação vem mudando, porém

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 3 Modalidades de Reuso Reuso de sistemas Um sistema inteiro pode ser reusado (reuso de COTS) Uma arquitetura + partes do sistema (famílias de aplicações) Reuso de componentes Os componentes de uma aplicação, desde subsistemas até objetos simples, podem ser reusados Componentes podem ser construídos com reuso em mente desde o início Reuso de bibliotecas Mais popular e fácil Reuso de conhecimento Princípios e padrões

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 4 Benefícios do Reuso

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 5 Desvantagens com Reuso

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 6 O Panorama de Reuso Existem muitas abordagens diferentes para reuso O reuso é possível em uma variedade de níveis, desde funções simples até sistemas completos de aplicação Reuso sempre deve ser feito com disciplina! Reuso Acidental vs. Reuso Sistemático Desenvolvimento com Reuso vs. Desenvolvimento para Reuso

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 7 Técnicas de Reuso

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 8 Abordagens de reuso

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 9 Fatores de planejamento de reuso O cronograma de desenvolvimento para o software O ciclo de vida previsto do software O conhecimento, habilidades e experiência da equipe de desenvolvimento A importância do software e seus requisitos de qualidade O domínio da aplicação A plataforma de execução para o software A abordagem de reuso empregada

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 10 Frameworks Frameworks são um projeto de sistema ou subsistema feito de uma coleção de classes e as interfaces entre elas O framework é instanciado através da implementação de classes concretas que estendem certas partes abstratas do framework Classes abstratas e interfaces Frameworks são entidades moderadamente complexas Esforço para compreendê-los Podem promover grande economia de esforço

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 11 Classes de framework Frameworks de infra-estrutura de sistema Apóiam o desenvolvimento de partes fundamentais de um sistemas, tais como comunicações, interfaces de usuário e compiladores. Frameworks de integração/middleware Padrões e classes que apóiam a comunicação e a troca de informações de componentes. Frameworks de domínio específico Apóiam o desenvolvimento de tipos específicos de aplicações, tais como sistemas médicos, de telecomunicações e financeiros

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 12 Exemplo: Modelo-Visão-Controlador Framework de infra-estrutura de sistema para projeto de GUI Permite múltiplas apresentaçõs de um objeto e interações separadas com essas apresentações Similar ao padrão Observer Exemplos de frameworks MVC: Struts, Eclipse, Smalltalk Browser

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 13 Reuso de Sistemas Reuso de aplicações inteiras Pela configuração de um sistema para um ambiente Pela integração de dois ou mais sistemas para criar uma nova aplicação Exemplos: Integração de componentes COTS Linhas de produtos de software

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 14 Reuso de Componentes COTS COTS - Commercial Off-The-Shelf systems Geralmente são sistemas de aplicação completos que oferecem uma API É uma estratégia viável de desenvolvimento para alguns tipos de sistemas tais como os de e- commerce O benefício-chave é o desenvolvimento mais rápido da aplicação Geralmente com um custo menor Exige uma etapa de exploração

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 15 Algumas Perguntas Importantes Quais produtos COTS oferecem a funcionalidade mais apropriada? Pode haver diversos produtos similares que podem ser usados Como os dados serão trocados? Produtos individuais usam estruturas únicas de dados e formatos Quais características do produto serão realmente usadas? A maioria dos produtos têm mais funcionalidade do que é necessário

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 16 Exemplos de Componentes COTS No cliente, programas de e de Web browsing padrão são usados. No lado do servidor: Servidores Web Sistemas gerenciadores de banco de dados Sistemas específicos de domínio Sistemas de folha de pagamentos Sistemas para a emissão de faturas

© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 17 Problemas de integração de sistemas COTS Falta de controle sobre funcionalidades e características de qualidade Sistemas COTS podem ser menos eficientes do que parecem Problemas com a interoperabilidade Sistemas COTS diferentes podem fazer suposições diferentes Nenhum controle sobre a evolução do sistema Vendedores de COTS, e não usuários de sistema, controlam a evolução Suporte dos vendedores de COTS