Uma Metodologia e Estudo de Caso para a Avaliação de Dependências no Desenvolvimento de Sistemas

Autores

  • Carlos Magno Barbosa Universidade Federal de São João del-Rei
  • Luan Luiz Gonçalves Federal University of São João del-Rei - UFSJ
  • Flávio Luiz Schiavoni Federal University of São João del-Rei - UFSJ

Palavras-chave:

Mosaicode, dependência de bibliotecas, manutenção de software

Resumo

O reúso de bibliotecas é uma das práticas mais comuns para aumen-tar a eficiência do processo de desenvolvimento e a qualidade dos sistemas de-senvolvidos. Contudo, esse reúso pode ocorrer de forma não apropriada e adi-cionar dependências externas problemáticas à manutenção do sistema. Diantedesse contexto, este artigo tem o objetivo de propor uma abordagem de tópicose questões que devem ser levadas em consideração durante o desenvolvimentoou manutenção de um sistema com o intuito de analisar a dependência dessesistema para com as bibliotecas utilizadas. Essa análise tem como objetivo aotimização das dependências e está relacionada com a longevidade, estabili-dade, maturidade e manutenibilidade do sistema. Para exemplificar a proposta,um estudo de caso que descreve a análise no processo de recuperação da ferra-menta Harpia / Mosaicode.

Downloads

Não há dados estatísticos.

Referências

Abi-Antoun, M. (2007). Making frameworks work: a project retrospective. In Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, pages 1004–1018. ACM.

Ahmed, M. A. (2011). Towards the development of integrated reuse envirnoments for uml artifacts. In Proceedings of the 6th International Conference on Software Engineering Advances, pages 426 – 431.

Barbosa, C. M. and Schiavoni, F. L. (2020). Avaliação de dependências no desenvolvimento de sistemas. In Anais da IV Escola Regional de Engenharia de Software, pages 106–115, Porto Alegre, RS, Brasil. SBC.

Bessa, S., Valente, M. T., and Terra, R. (2016). Modular specification of architectural constraints. In 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), pages 31–40.

Caldiera, G. and Basili, V. R. (1991). Identifying and qualifying reusable software components. Computer, 24(2):61–70.

Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design patterns: elements of.

German, D. M. and Hassan, A. E. (2009). License integration patterns: Addressing license

mismatches in component-based development. In Proceedings of the 31st International Conference on Software Engineering, pages 188–198. IEEE Computer Society.

Gimenes, I. M. d. S. and Huzita, E. H. M. (2005). Desenvolvimento baseado em componentes: conceitos e técnicas. Rio de Janeiro: Ciência Moderna.

Gonçalves, L. L. and Schiavoni, F. L. (2020). Do harpia ao mosaicode a evolução de um ambiente de programação visual.

In Anais da IV Escola Regional de Engenharia de Software, pages 316–324, Porto Alegre, RS, Brasil. SBC.

Gonçalves, L. L. and Schiavoni, F. (2020). Creating digital musical instruments with libmosaic-sound and mosaicode. Revista de Informática Teórica e Aplicada, 27(04):95–107.

Hummel, O. (2010). Facilitating the comparison of software retrieval systems through a reference reuse collection. In Proceedings of the Workshop on Search-Driven Development: Users, Infrastructure, Tools and Evaluation, pages 17–20.

Johnson, R. E. (1997). Frameworks=(components+ patterns). Communications of the ACM, 40(10):39–42.

Knodel, J., Muthig, D., Naab, M., and Lindvall, M. (2006). Static evaluation of software

architectures. In Proceedings of the 10th European Conference on Software Maintenance and Reengineering, pages 279–294. IEEE.

Krasner, G. E., Pope, S. T., et al. (1988). A description of the model-view-controller user

interface paradigm in the smalltalk-80 system. Journal of object oriented programming, 1(3):26–49.

Kula, R. G., De Roover, C., German, D., Ishio, T., and Inoue, K. (2014). Visualizing

the evolution of systems and their library dependencies. In Software Visualization

(VISSOFT), 2014 Second IEEE Working Conference on, pages 127–136. IEEE.

Li, Y., Zhang, L., Li, G., Xie, B., and Sun, J. (2008). Recommending typical usage

examples for component retrieval in reuse repositories. In Proceedings of 10th International Conference on Software Reuse: High Confidence Software Reuse in Large Systems, pages 76–87.

Mahmood, S., Ahmed, M., and Alshayeb, M. (2013). Reuse environments for software

artifacts: Analysis framework. In Proceedings of IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS), pages 35 – 40.

Mancinelli, F., Boender, J., Di Cosmo, R., Vouillon, J., Durak, B., Leroy, X., and Treinen, R. (2006). Managing the complexity of large free and open source package-based software distributions. In Automated Software Engineering, 2006. ASE’06. 21st IEEE/ACM International Conference on, pages 199–208. IEEE.

Manolescu, D., Kozaczynski, W., Miller, A., and Hogg, J. (2007). The growing divide in

the patterns world. IEEE Software, 24(4):61–67.

Melo, I., Santos, G., Serey, D. D., and Valente, M. T. (2016). Perceptions of 395 developers on software architecture’s documentation and conformance. In X Brazilian Symposium on Software Components, Architectures and Reuse, pages 81–90.

Mendez, D., Baudry, B., and Monperrus, M. (2013). Empirical evidence of large-scale diversity in api usage of objected-oriented software. In Proceedings of 13th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM),

pages 43–52.

Mili, A., Mili, R., and Mittermeir, R. T. (1998). A survey of software reuse libraries. Annals of Software Engineering, 5:349 – 414.

Niu, H., Keivanloo, I., and Zou, Y. (2017). Api usage pattern recommendation for software development. Journal of Systems and Software, 129:127 – 139.

Pressman, R. and Maxim, B. (2016). Engenharia de Software-8ª Edição. McGraw Hill Brasil.

Rosik, J., Gear, A. L., Buckley, J., Babar, M. A., and Connolly, D. (2011). Assessing architectural drift in commercial software development: a case study. Software: Practice and Experience, 41(1):63–86.

Schiavoni, F. L. and Gonçalves, L. L. (2017a). Programação musical para a web com

o mosaicode. In Anais do XXVII Congresso da Associação Nacional de Pesquisa e

Pós-Graduação em Música, pages 1–6, Campinas - SP - Brazil.

Schiavoni, F. L. and Gonçalves, L. L. (2017b). Teste de usabilidade do sistema mosaicode. In Anais [do] IV Workshop de Iniciação Científica em Sistemas de Informação (WICSI), pages 5–8, Lavras - MG - Brazil.

Schiavoni, F. L., Gonçalves, L. L., and Gomes, A. L. N. (2017). Web audio application development with mosaicode. In Proceedings of the 16th Brazilian Symposium on Computer Music, pages 107–114, São Paulo - SP - Brazil.

Shiva, S. G. and Abou Shala, L. (2007). Software reuse: Research and practice. In Fourth International Conference on Information Technology (ITNG’07), pages 603–609. IEEE.

Shiva, S. G. and Shala, L. A. (2007). Software reuse: Research and practice. In Proceedings of the 4th International Conference on Information Technology – ITNG, pages 603–609. IEEE.

Vidal, S., Guimaraes, E., Oizumi, W., Garcia, A., Pace, A. D., and Marcos, C. (2016).

Identifying architectural problems through prioritization of code smells. In X Brazilian

Symposium on Software Components, Architectures and Reuse (SBCARS), pages 41–50.

Wang, J. and Han, J. (2004). Bide: efficient mining of frequent closed sequences. In

Proceedings of 20th International Conference on Data Engineering (ICDE), pages 79–90.

Zhong, H., Xie, T., Pei, P., and Mei, H. (2009). Mapo: mining and recommending api usage pattern.

In Proceedings of European Conference on Object-Oriented Programming, page 318–343.

Downloads

Publicado

2021-09-04

Como Citar

Barbosa, C. . M., Gonçalves, L. L. ., & Schiavonni, F. L. (2021). Uma Metodologia e Estudo de Caso para a Avaliação de Dependências no Desenvolvimento de Sistemas. Revista Eletrônica De Iniciação Científica Em Computação, 19(3). Recuperado de https://sol.sbc.org.br/journals/index.php/reic/article/view/1882

Edição

Seção

Artigos