customização de software como um meio para o...

49
Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão Customização de Software como um Meio para o Desenvolvimento de Sistemas de Software Thiago Bianchi 1 Elisa Yumi Nakagawa 2 1 IBM - International Business Machines 04753-080, São Paulo, SP, Brazil [email protected] 2 Universidade de São Paulo - USP Caixa Postal 668, 13560-970, São Carlos, SP, Brazil [email protected] 01 de Outubro de 2013 1 / 49

Upload: vankhuong

Post on 17-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Customização de Software como um Meiopara o Desenvolvimento de Sistemas de

Software

Thiago Bianchi1 Elisa Yumi Nakagawa2

1IBM - International Business Machines04753-080, São Paulo, SP, Brazil [email protected]

2Universidade de São Paulo - USPCaixa Postal 668, 13560-970, São Carlos, SP, Brazil [email protected]

01 de Outubro de 2013

1 / 49

Page 2: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Sumário

1 Introdução

2 O Processo Prometheus

3 Estudo de Caso: Aplicação do Prometheus

4 Conclusão

2 / 49

Page 3: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Sumário

1 Introdução

2 O Processo Prometheus

3 Estudo de Caso: Aplicação do Prometheus

4 Conclusão

3 / 49

Page 4: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Contextualização

O desenvolvimento de um software inicia-se na sua concepção esó termina depois que esse software deixa de ser utilizado;Enquanto é utilizado, esse software sofre diversas alteraçõesque podem modificar drasticamente o contexto originalmenteconcebido;Por isso, diversos esforços foram realizados na área deManutenção de Software com o objetivo de prover ferramentas,técnicas e métodos que auxiliassem no processo demanutenção de software na indústria; eNa indústria de software, as alterações que um software sofrepara adequá-lo a um contexto específico são comumentechamadas de customizações.

4 / 49

Page 5: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Contextualização

Em outra perspectiva, a POA foi proposta para melhorar aseparação de interesses em sistemas de software;Na indústria de software, a POA começou a ser difundida maisrecentemente, colaborando para a melhora na modularizaçãodos sistemas; eA boa separação de interesses contribui para a redução doscustos e facilidade de desenvolvimento, e melhora amanutenção e reúso do software.

5 / 49

Page 6: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Contextualização

O reúso de software é reconhecido como uma área importantena Engenharia de Software;O desenvolvimento baseado em componentes contribui paraaumentar o reúso no desenvolvimento de sistemas, emparticular nos sistemas de grande porte;A combinação dos princípios do desenvolvimento baseado emcomponentes com a POA originaram o termo de componentesOA; eAs abordagem de desenvolvimento baseadas em componentesOA concentram-se no desenvolvimento de componentes cujosserviços são transversais e procura dividi-los em módulosorientados a aspectos.

6 / 49

Page 7: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Motivação

No contexto da indústria, as modificações realizadas emsistemas de software pelas atividades de manutenção e aintegração com outros sistemas degradam a qualidade docódigo;Nota-se que a customização de software em escala industrialnão tem sido largamente investigada;Observa-se, também, uma carência de trabalhos queinvestiguem o uso de componentes OA no contexto dacustomização de software em escala industrial;O estudo sobre reúso com base em aspectos é relativamenterecente e existe muito espaço para pesquisas e experimentaçãona tentativa de combinar componentes e aspectos, inclusive naárea da manutenção de sistemas de software

7 / 49

Page 8: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Objetivos

O objetivo deste trabalho é a proposta de um processo para acustomização de sistemas de software utilizando componentesOA;Visa-se, com isso, facilitar a adaptação, diminuir o acoplamentoe aumentar a coesão nos sistemas customizados e, comoconsequência, pretende-se melhorar a manutenção, a evoluçãoe o reúso desses sistemas;Para analisar a viabilidade do processo proposto foi conduzidoum estudo de caso utilizando um sistema de software comercial;Para analisar qualitativamente esse estudo de caso foramutilizadas métricas de acoplamento no sistema customizado; eCom isso, este trabalho visa contribuir para a área deManutenção de Software com uma abordagem que poderácontribuir com o reúso, manutenibilidade e evolução de sistemasde software.

8 / 49

Page 9: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Sumário

1 Introdução

2 O Processo Prometheus

3 Estudo de Caso: Aplicação do Prometheus

4 Conclusão

9 / 49

Page 10: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Considerações Iniciais

O Prometheus visa reduzir os esforços para customização desistemas de software e preservar o acoplamento e coesãodesses sistemas durante as atividade de customização;Tem o objetivo de ser simples o bastante para facilitar suaadoção na indústria de software, mas completo o suficiente parasuportar a construção de um componente OA de maneiraadequada;Baseado no Processo Unificado utilizado largamente pelaindústria de software;Utiliza os conceitos do UML Components e da Engenharia deComponentes Baseados em Aspectos aliados à experiênciaretirada da indústria; eEssa abordagem é especialmente vantajosa para sistemas degrande porte, tais como ERP’s.

10 / 49

Page 11: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Visão Geral do Processo

O EPF foi utilizado para facilitar o entendimento e a utilização doPrometheus;Principais conceitos utilizados na construção do Prometheus:produto de trabalho, atividade, tarefa, papel e disciplina; eO Prometheus encontra-se disponível emhttp://143.107.231.100:8080/prometheus/:

11 / 49

Page 12: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Visão Geral do Processo

O Prometheus é composto por 6 atividades: Receber Solicitaçãode Mudanças, Análise das Solicitações de Mudanças,Identificação dos Componentes, Especificação dosComponentes, Desenvolvimento e Integração dos Componentese Validação do Sistema;Três papéis: Analista Funcional, Analista de Sistema eDesenvolvedor;Três disciplinas: Manutenção, Análise e Projeto e Construção;É iterativo; eÉ incremental.

12 / 49

Page 13: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Visão Geral do Processo

13 / 49

Page 14: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Receber Solicitações de Mudanças

14 / 49

Page 15: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Análise das Solicitações de Mudaças

15 / 49

Page 16: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Identificação dos Componentes

16 / 49

Page 17: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Identificação dos Componentes

17 / 49

Page 18: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Especificação dos Componentes

18 / 49

Page 19: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Especificação dos Componentes

19 / 49

Page 20: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Desenvolvimento e Integração dos Componentes

20 / 49

Page 21: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Desenvolvimento e Integração dos Componentes

21 / 49

Page 22: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Validação do Sistema

22 / 49

Page 23: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Considerações Finais

O Prometheus é uma abordagem que utiliza componentes OAno contexto da customização de sistemas de software;As seis atividades são propostas para sistematizar a utilizaçãode componentes OA na customização de sistemas; eA utilização do EPF auxiliou a organização das informações econceitos propostos pelo Prometheus.

23 / 49

Page 24: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Sumário

1 Introdução

2 O Processo Prometheus

3 Estudo de Caso: Aplicação do Prometheus

4 Conclusão

24 / 49

Page 25: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Considerações Iniciais

Para a avaliação do Prometheus, foi realizado um estudo decaso na customização do sistema IBM Maximo;O sistema IBM Maximo é um tipo específico de ERP: um EAM; eOs dados do estudo de caso foram extraídos do projeto decustomização do sistema IBM Maximo para a British Petroleum.

25 / 49

Page 26: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Visão Geral do Sistema Maximo

O sistema IBM Maximo é um sistema de gerenciamento deativos que é utilizado para a manutenção de equipamentos degrande porte em diversos segmentos da indústria, tais comopetroquímica, transportes e hospitalar;É desenvolvido na plataforma JEE e possui uma arquiteturaorientada a serviços;É um sistema baseado em framework;É dividido em diversas aplicações:

26 / 49

Page 27: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Visão Geral do Sistema Maximo

Pode ser considerado um sistema de grande porte:Item ValorLinhas de Código (sem comentários e espaços) 1.202.342Número de Classes 12968Número de Aplicações 199Número de Relatórios 329Número de Tabelas no Banco de Dados 1430Tamanho do Diretório no Sistema de Arquivos 2,4 GigabytesNúmero de Arquivos no Diretório 86.621

Tabela: Dados gerais sobre o sistema IBM Maximo.

27 / 49

Page 28: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Aplicação do Prometheus no Sistema IBM Maximo

A BP é uma empresa do setor de extração e produção decombustíveis e que possui plantas em diversos lugares domundo;Foi adotada uma solução baseada na utilização de diversossistemas chamada de WMS e que pode ser vista como um SoSda qual o Maximo faz parte;Além de contemplar as regras específicas da BP, essa soluçãodeve contemplar regras específicas para cada país; eDessa maneira, o sistema IBM Maximo tem sido customizadointensamente ao longo dos últimos para se adequar àsnecessidades da BP.

28 / 49

Page 29: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Aplicação do Prometheus no Sistema IBM Maximo

Tela da versão original da aplicação de “Ordem de Serviço” dosistema IBM Maximo:

29 / 49

Page 30: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Aplicação do Prometheus no Sistema IBM Maximo

Tela da versão customizada para a BP da aplicação de “Ordemde Serviço” do sistema IBM Maximo:

30 / 49

Page 31: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Aplicação do Prometheus no Sistema IBM Maximo

Tela da versão customizada para a BP da aplicação de “Ordemde Serviço” do sistema IBM Maximo:

31 / 49

Page 32: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Aplicação do Prometheus no Sistema IBM Maximo

A quantidade de customizações é realmente grade:Item ValorLinhas de Código (sem comentários e espaços) 39.643Número de Classes 725Número de Aplicações Alteradas 42Número de Relatórios Alterados 33Número de Arquivos no Diretório 1.669

Tabela: Dados da customização do sistema IBM Maximo realizada pela BP.

A seguir será descrito como o Prometheus foi aplicado paracustomizar o sistema IBM Maximo. Particularmente, serãoutilizadas duas customizações realizadas pela IBM no WMS queserão reimplementadas utilizando-se componentes OA.

32 / 49

Page 33: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Receber Solicitações de Mudanças

Na BP, cada solicitação de mudança é descrita em umdocumento específico que é armazenada e rastreado pelo RTC;As duas solicitações de mudanças serão descritas de maneiraresumida por se tratar de informação confidencial:

1 Solicitação de Mudança 1: processamento das mensagens deintegração como o usuário que o originou;

2 Solicitação de mudança 2: a data de finalização de uma ordemde serviço deverá ser igual à data de sua criação ignorando-se ocampo de estimativa de esforço da ordem de serviço; ou ser igualà estimativa de esforço do plano de trabalho se esse estiverassociado à ordem de serviço.

33 / 49

Page 34: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Análise das Solicitações de Mudanças

De acordo com o Prometheus, a classificação das solicitaçõesde mudanças deverá seguir o critério estabelecido por Chapin etal. (2001):

1 Solicitação de Mudança 1: por se tratar de uma alteração quemodificou o sistema para adequá-lo com o ambiente operacional,decidiu-se classificar essa solicitação de mudança como:

1 Tipo Geral: Propriedades do Sistema; e2 Tipo Específico: Adaptativa.

2 Solicitação de Mudança 2: por se tratar de uma alteração queextendeu as regras de negócio existentes no sistema, decidiu-seclassificar essa solicitação de mudança como:

1 Tipo Geral: Regras de Negócio; e2 Tipo Específico: Extensão.

Conforme o Prometheus, após classificadas as solicitações demudanças devem ser considerados os artefatos necessáriospara a sua implementação: Manual do Usuário e código fonte.

34 / 49

Page 35: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Identificação dos Componentes

Diagrama de componentes mostrando os componentes OAprojetados:

35 / 49

Page 36: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Especificação dos Componentes

36 / 49

Page 37: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Desenvolvimento e Integração dos Componentes

Código do aspecto de integração implementado no sistema IBMMaximo:

37 / 49

Page 38: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Desenvolvimento e Integração dos Componentes

Código do aspecto de “Ordem de Serviço” implementado nosistema IBM Maximo:

38 / 49

Page 39: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Desenvolvimento e Integração dos Componentes

Diagrama de Implantação mostrando os componentes OAinstalados no sistema IBM Maximo:

39 / 49

Page 40: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Validação do Sistema

Seguindo o Prometheus, é necessário validar as customizaçõesincorporadaso ao sistema com o objetivo de garantir que osrequisitos inicias encontram-se corretamente implementados; eNesse estudo de caso, achou-se por bem utilizar os casos detestes escritos pela IBM para realizar os testes funcionais nasolução WMS, uma vez as solicitações de mudançasconsideradas foram extraídas do sistema IBM Maximocustomizado para a BP.

40 / 49

Page 41: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Análise do Estudo de Caso

A aplicação do Prometheus no sistema IBM Maximo trouxeresultados importantes não só pelo fato de aplicá-lo em umsistema comercial de grande porte, mas também por utilizardados extraídos da customização desse sistema para a BP;Nesse contexto, é possível comparar os pardigmas orientado aobjetos e orientado a aspectos;Para comparar essas duas abordagens foram utilizadas asmétricas propostas por Chidamber e Kemerer (1994) e queforam avaliadas por Dhanoa et al (2011). As métricas utilizadasno contexto deste trabalho são:

Weighted Methods per Class (WMC): essa métrica é a soma dascomplexidades dos métodos definidos em uma classe;Coupling Between Objects (CBO): essa métrica indica adependência dessa classe com o restante do sistema. Um valorigual a 0 indica nenhuma relacionamento com nenhuma outraclasse do sistema, valores entre 1 e 4 indicam um acoplamentobaixo, por fim, valores superiores a 4 indicam um alto acoplamentodessa classe com o sistema; eDepth of Inheritance Tree (DIT): essa métrica indica aprofundidade de uma classe na hierarquia.

41 / 49

Page 42: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Análise do Estudo de Caso

A Tabela abaixo mostra os valores das métricas utilizadas:Métrica IBM PrometheusWeighted Methods per Class (WMC) 19.5 19Coupling Between Objects (CBO) 1 1Depth of Inheritance Tree (DIT) 3.5 1

Tabela: Métricas utilizadas para comparar a solução desenvolvida pelaIBM com a solução desenvolvida utilizando o Prometheus.

A partir dos dados mostrados nessa tabela é possível observarque as métricas WMC e CBO ficaram praticamente inalteradas.Isso pode ser explicado pelo fato do código fonte utilizado naaplicação do Prometheus ser muito similar ao código fontedesenvolvido pela IBM para a BP. Dessa maneira, a métricaWMC mostra que as complexidades dos métodos utilizados nasduas soluções foram semelhantes. Também pode-se observarque a métrica CBO indicou que não houveram alterações nasdependências com o framework do sistema.

42 / 49

Page 43: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Análise do Estudo de Caso

No entanto, o valor da métrica DIT foi bem menor na soluçãodesenvolvida com a utilização do Prometheus em comparaçãocom a solução WMS desenvolvida pela IBM, pois o componenteOA não precisa estender nenhuma classe do sistema paraalterar o seu comportamento; eConsiderando o contexto de todas as alterações realizadas pelaIBM para a BP, se o Prometheus fosse utilizado para customizaro sistema IBM MAXIMO, poderiam ter sido evitadas alteraçõesno banco de dados para customizar 367 classes relacionadascom o comportamento de objetos e atributos; também poderiamter sido evitadas alterações em cinco arquivos xml.

43 / 49

Page 44: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Considerações Finais

Esse estudo de caso mostrou a viabilidade da utilização doPrometheus para customizar sistemas de software comerciaisutilizando componentes OA; eO Prometheus poderia ser aplicado em outros sistemas edomínios com o objetivo de avaliar sua validade.

44 / 49

Page 45: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Sumário

1 Introdução

2 O Processo Prometheus

3 Estudo de Caso: Aplicação do Prometheus

4 Conclusão

45 / 49

Page 46: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Contribuições

Principal contribuição é o estabelecimento de uma abordagemsistematizada para a customização de sistemas de softwareutilizando componentes OA;Este trabalho também contribui para a área de Manutenção deSoftware, pois o processo possui um conjunto de atividades,artefatos e papéis que diminuem a degradação do sistemaspelas atividades de customização; eFinalmente, este trabalho também contribui para aproximar aUniversidade e a Indústria de Software.

46 / 49

Page 47: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Dificuldades e Limitações

Falta de padronização das ferramentas de modelagem pararepresentação de elementos da POA;Trabalhar com sistemas de grande porte demanda muito esforçocomputacional para atividades habituais tais como compilação,empacotamento e implantação;O Prometheus foi avaliado apenas no sistema IBM Maximo; eFerramentas para automatização da aplicação do Prometheuspoderiam ter sido desenvolvidas.

47 / 49

Page 48: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Trabalhos Futuros

Incentivar o desenvolvimento de ferramentas de modelagemUML para representação dos elementos da POA;Melhorar a performance das IDE’s para dar suporte aodesenvolvimento de grandes sistemas;Realizar uma análise quantitativa do Prometheus;Utilizar o Prometheus para customização de sistemasdesenvolvidos pela IBM; eDesenvolver ferramentas que automatizem a utilização doPrometheus

48 / 49

Page 49: Customização de Software como um Meio para o …cbsoft2013.unb.br/wp-content/uploads/2013/10/ST4-3.pdf · A utilização do EPF auxiliou a organização das informações e conceitos

Introdução O Processo Prometheus Estudo de Caso: Aplicação do Prometheus Conclusão

Customização de Software como um Meiopara o Desenvolvimento de Sistemas de

Software

Thiago Bianchi1 Elisa Yumi Nakagawa2

1IBM - International Business Machines04753-080, São Paulo, SP, Brazil [email protected]

2Universidade de São Paulo - USPCaixa Postal 668, 13560-970, São Carlos, SP, Brazil [email protected]

01 de Outubro de 2013

49 / 49