the software component market on the internet current status and conditions for growth vicent traas...

27
The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Upload: filipe-jesus

Post on 07-Apr-2016

220 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

The Software Component Market on The Internet

Current Status and Conditions for Growth

Vicent TraasJos van Hillegersberg

January, 2000

Page 2: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Component Based Development (CBD) Maximização do reuso no desenvolvimento de

software Novos sistemas a partir da combinação e

integração de componentes de software pré-fabricados e pré-testados

Mercado de componentes Mercado interno de componentes Internet: mercado mais apropriado Foco na funcionalidade específica do projeto e em

localizar e integrar componentes disponíveis Baixo custo

Page 3: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Objetivos da PesquisaJá existe um mercado de componentes na

Internet, e se existe, qual a sua situação?

Quais as condições para o seu crescimento?

Page 4: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Overview do Mercado de Componentes na Internet (1) Inclui todos os sites onde componentes de

software pudessem ser encontrados e/ou comprados Busca: Yahoo, Alta Vista, Lycos, Infoseek,

Metacrawler, Excite e Hotbot Termos: software component, component, CBD,

componentware, ActiveX, Java-Beans, CORBA Pesquisa realizada entre Novembro/1998 e

Março/1999 Total de 38 sites

Page 5: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Overview do Mercado de Componentes na Internet (2) Classificação do Website

Produtor (Producer) – site de uma organização que vende os seus próprios componentes

Catálogo (Catalogue) – site de uma organização que compila uma lista de hiperlinks para componentes – não realiza venda

Intermediário (Intermediary) – site de uma organização que vende componentes produzidos por terceiros

Descrição dos componentes Número total de componentes Padrão: ActiveX, JavaBeans e CORBA Classificação por tipo Documentação

Page 6: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Taxonomia de Tipos de Componentes Visuais

Container – pode fornecer contexto (HTML browser) Control – não fornece contexto (editor)

Não visuais Command package – interage com objetos visuais

(spelling checker) Library – coleção de funções e classes

independentes Framework – pode ser expandido por plug-ins Business component – implementa lógica de um

domínio específico

Page 7: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Classificação da Documentação FornecidaDescrição simplesDetalhes técnicosDemosRelatórios de testesCódigo fonte

Page 8: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

ResultadosCtr Ctn Pck Lib Fwk Bss Sp Tec Demo Tes Code

www.active-x.com C A x x x x 180 xbeans.cuesta.com C B x x x x x x 308browserwatch.internet.com C A x x x 150www.findcomponents.com C A,B x x x x 329 xwww.iversonsoftware.com C A x x 40www.javashareware.com C B x x x 30java.wiwi.uni-frankfurt.de C,I B x x x x x 1.326 x x xwww.beyond.com I B x x <10 xwww.buydirect.com I A,B x x x x 60 xwww.componentsource.com I A,B x x x x x x 1.200 x x x xwww.flashline.com I A,B x x x x 101 x x xwww.aspexsc.com P A x x <25 x xwww.artisoft.com P A x x x <10 x xwww.baysidecomputing.com P B x x <10 x xwww.brattberg.se P A,B x x <25 x x x xwww.cereus7.com P B x x x <10 x x xcrescent.progress.com P A x x x <25 x x xwww.dameware.com P A x x x x <10 x xwww.data-tech.com P A x x x <10 x x xwww.dbi-tech.com P A x x <10 x xwww.dharbor.com P B x <10 x xwww.dolphinsys.com P A x x x x <10 x x x...

DocumentationTypeWebsite Mkt Std Nr.

Page 9: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Conclusões Poucos fornecedores

A maioria deles oferecem um número limitado de componentes Produção em pequena escala Mercado pequeno

Poucos intermediários fornecem a grande maioria de componentes disponíveis

Nenhum deles oferece componentes CORBA A maioria dos componentes podem ser caracterizados

como controles, containeres ou pacotes Componentes visuais e não visuais de baixa complexidade

podem ser usados por uma grande variedade de usuários Na maioria dos casos apenas uma descrição limitada e

um demo do componente é oferecido

Page 10: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Condições para Crescimento do Mercado (1) Durante maio/1999 uma pesquisa por e-mail foi

enviada a especialistas no campo de CBD para classificar as condições para crescimento do mercado

Enviado a 103 especialistas Apenas 35 responderam ao questionário

25% fornecedores, 44% cientistas, 31% desenv. 39% EUA, 56% Europa, 5% Ásia e Austrália

Page 11: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Condições para Crescimento do Mercado (2) Consumidores devem poder determinar o valor de um componente de

maneira fácil – 8,8 Fornecedores devem fornecer informação extensiva (demos e

documentação) Especificação deve seguir a um método de documentação padrão – 7,6 O foco do mercado deve ser o reuso black-box – 7,4 Deve existir uma solução de uso geral para a proteção da propriedade

intelectual – 6,8 Fornecedores devem manter o foco em especialização, anúncio, marca

e imagem – 6,0 Muitos fornecedores pequenos irão aparecer, oferecendo componentes de

diferentes usos e qualidades Listas de preços de componentes – 5,9 Máquina de busca de componentes independente – 5,6

Page 12: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Conclusões É mais importante como os componentes são

oferecidos do que quem os oferece As três primeiras condições são relativas à

documentação e informações do componente a venda

Participantes discordam de mercado apenas com componentes de pequeno porte (mais baratos e de fácil entendimento) e do estabelecimento de um padrão único

Page 13: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Strategies for Software Reuse: A Principal

Component Analysis of Reuse Practices

Marcus A. RothenbergerKevin J. Dooley

Uday R. KulkarniSeptember, 2003

Page 14: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Objetivos O sucesso no reuso de software varia de acordo

com a estratégia de reuso empregada Deve-se entender as alternativas de estratégias de

reuso e suas implicações Apresenta seis dimensões que descrevem as

práticas empregadas em programas de reuso Investiga o efeito de estratégias de reuso no

sucesso de programas de reuso

Page 15: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Reuso de Software Reuso sistemático de software

Técnica empregada para aumentar a qualidade e eficiência no desenvolvimento de software

Envolve o uso de artefatos de sistemas existentes para construção de novos sistemas com o objetivo de aumentar a qualidade e manutenibilidade e reduzir custos e tempo de desenvolvimento

Reuso não planejado Desenvolvedores reconhecem oportunidades de reuso

informalmente Reuso planejado

Construção e manutenção de repositório de software

Page 16: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Desenvolvimento de Software para Reuso Requer esforço adicional comparado com o

desenvolvimento tradicional Componentes reusáveis precisam ser

desenvolvidos de forma genérica Permitindo o seu uso em vários contextos

Criação e população de um repositório de software com componentes reusáveis Investimento considerável com retorno a longo prazo

Envolve riscos Escolha da estratégia de reuso é crucial

Page 17: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Abordagem da Pesquisa Foco no reuso de software a nível de código “Dimensão de reuso”

Conjunto de múltiplas práticas de reuso relacionadas que uma organização pode empregar

Permite uma visão de alto nível das várias variáveis de reuso que podem participar da estratégia de reuso

Cada dimensão pode ser proativamente empregada na formulação de uma estratégia de reuso

71 participantes de 67 organizações diferentes Apenas um pequeno número de grupos de

desenvolvimento atualmente empregam reuso

Page 18: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Dimensões de Estratégias de Reuso Sistemático de SoftwarePlanning and ImprovementFormalized ProcessManagement SupportProject SimilarityObject TecnologiesCommon Architecture

Page 19: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Planning and Improvement (1) Planejamento

Análise de domínio Requisitos ligados a componentes de software

reusáveis Processo construído em torno de um conjunto central

de componentes reusáveis Permite à organização identificar quais os requisitos

do produto e planejar quais oportunidades de reuso podem ser executadas

Page 20: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Planning and Improvement (2) Métrica

Medidas de performance do reuso Fornece feedback a desenvolvedores e gerentes que permite

melhor entendimento de como aumentar a performance Permite identificar problemas rapidamente Deve levar em conta as várias tarefas que envolvem o reuso:

produção, recuperação e integração de componentes Aperfeiçoamento do processo

Refinamento de “boas práticas” através de projetos pilotos Documentação das lições aprendidas para melhorar o

processo de reuso Deve ser testado em pequena escala inicialmente (alto custo)

Page 21: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Formalized Process Questões

Desenvolvedores seguem um processo detalhado Processo de certificação de componentes Registro de ocorrências de reuso (para projeto/ componente)

Aumenta as chances de que um projeto de sucesso possa ser repetido

Facilita o estabelecimento de boas práticas, a padronização de práticas através de múltiplos projetos e ajuda desenvolvedores menos experientes

Um processo de certificação pode garantir que cada parte do repositório atende aos padrões desejados de performance

Page 22: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Management Support Disponibilidade de treinamento para reuso pode ser um

indicador de apoio da gerência Engloba

Liderança Tomada de decisão Recursos organizacionais

Consiste na alocação de recursos para reuso em um período extenso de tempo Recursos físicos (infra-estrutura) Humanos (pessoas e habilidades) Organizacionais (regras, rotinas, recompensas)

Page 23: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Project Similarity Aborda similaridade em requisitos, projeto e

implementação Projetos podem ser similares por projeto ou por

acidente Projetos podem ser similares se uma organização desenvolve

produtos para uma faixa limitada de clientes ou restringe os tipos de projetos em que trabalha

Pode diminuir a capacidade de adaptação da empresa Permite o desenvolvimento de um conjunto central de

componentes reusáveis muito úteis dentro de um domínio

Page 24: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Object Technologies Captura a extensão da tecnologia de objetos usada em

projetos de reuso Inclui

Linguagens de programação Técnicas de objetos distribuídos Linguagens de modelagem

Cobre todas as fases de desenvolvimento Da análise de domínio à programação

Análise e projeto OO força o desenvolvedor a pensar no problema em termos de processos do negócio, o que pode fornecer oportunidades para reuso

Page 25: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Common Architecture Arquitetura comum através de linha de produtos Pode ser vista, por ela mesma, como uma forma de

reuso Pode facilitar o reuso de determinados módulos do

software Permite a criação de plataforma de produtos

Conjunto de produtos similares que são desenvolvidos rapidamente a partir de um ponto de em comum

Força a definição de padrões de reuso Interfaces comuns, tamanho dos componentes, maneiras de

especificar entrada/saída, documentação

Page 26: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Medidas de Sucesso do Reuso Benefícios do reuso

Redução do esforço de desenvolvimento e custo Time-to-market menor Redução do esforço de manutenção Mede em quanto os benefícios esperados pela adoção do

reuso foram materializados Impacto estratégico

Realização de novas oportunidades de negócio Benefícios obtidos a partir do reuso por alcançar novos

mercados Qualidade de software

Reuso reduz o número de erros no produto final Componentes previamente usados já foram testados

Page 27: The Software Component Market on The Internet Current Status and Conditions for Growth Vicent Traas Jos van Hillegersberg January, 2000

Conclusões Métodos de orientação a objetos nem sempre levam ao

reuso eficiente Organizações podem obter sucesso no reuso mesmo sem

empregar métodos orientados a objetos Não contradiz a noção de que o reuso se beneficia da

orientação a objetos, apenas que ela precisa mais do que isso para obter sucesso

Qualidade de software poder ser alcançada sem ênfase no processo de reuso

Uma organização somente irá conseguir benefício completo do reuso se empregar um programa formal de reuso e realizar controle de qualidade através de planejamento formal e melhoria contínua