Adaptação e Manutenção de Sistemas Integrados de Gestão apoiados pela Programação Orientada a Aspectos
Resumo
Sistemas Integrados de Gestão (SIG) normalmente requerem a customização do produto para cada cliente, frequentemente envolvendo a criação de novos componentes e mudanças nos existentes. Por este motivo, SIGs normalmente enfrentam problemas de manutenção e evolução. Um dos maiores desafios é identificar as variações presentes na versão corrente e reaplicá-las nas versões mais novas do sistema. Isto pode demandar retrabalho se estas variações não estiverem adequadamente separadas do código base. Este artigo apresenta um catálogo de tipos de variações encontradas em um SIG real, que está sendo implantado na Universidade Federal de Sergipe (UFS), e discute como as variações que mais ocorrem no SIG são endereçadas pela Programação Orientada a Aspectos de forma modular.
Referências
Alves, V. (2007). Implementing Software Product Line Adoption Strategies. PhD thesis, Informatics Center, Federal Universisty of Pernambuco, Recife, Brazil.
Android (2012). Android Developers. http://developer.android.com, Maio.
Castor, F. and Borba, P. (2001). A Language for Specifying Java Transformations. In Proceedins of V Brazilian Symposium on Programming Languages (SBLP 2001), pages 236–251.
Clements, P. and Northrop, L. M. (2001). Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA, USA.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
Kästner, C. and Apel, S. (2009). Virtual separation of concerns – a second chance for preprocessors. Journal of Object Technology (JOT), 8(6).
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. (2001). Getting Started with AspectJ. Communications of the ACM, 44(10):59–65.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., and Irwin, J. (1997). Aspect-Oriented Programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP’97).
Laudon, K. C. and Traver, C. G. (2011). Management Information Systems. Prentice Hall Press, Upper Saddle River, NJ, USA, 12th edition.
Lopez-Herrejon, R., Batory, D., and Lengauer, C. (2006). A Disciplined Approach to Aspect Composition. In PEPM ’06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 68–77, New York, NY, USA. ACM.
Meyer, B. (1997). Object-Oriented Software Construction (2nd ed.). Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
Passos, F. A. and Neto, A. C. (2012). Aplicando a Programação Orientada a Aspectos na Melhoria do Processo de Adaptação e Manutenção de Sistemas Integrados de Gestão. In II Semana de Informática da UFS/Itabaiana).
Pohl, K., Günter, B., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag, Heidelberg, Germany.
Rocha, R., Fantinato, M., and Barros, V. A. (2012). Contribuições de Linha de Produto e Orientação a Serviços no Desenvolvimento de Sistemas de Informação. In VIII Simpósio Brasileiro de Sistema de Informação.
Santos, K. T. O., Barreto, R. F. S., Passos, F. A., and Neto, A. C. (2013). Utilizando JaTS e XVCL para customização em Sistemas Integrados de Gestão. In Erbase 2013 XIII Escola Regional de Computação Bahia Alagoas Sergipe.
SIG Software e Consultoria (2012). Sistema Integrado de Gestão. http://www.sigsoftware.com.br, Maio.
WinMerge (2013). WinMerge. http://www.winmerge.org, Maio.