RUP Based Analysis and Design with Aspects
Resumo
Aspect-Oriented Software Development (AOSD) is a new paradigm aiming to solve problems that are not adequately addressed by the Object-Oriented paradigm. Therefore, it seems appropriate to adapt software processes showing when and how crosscutting concerns should be considered. The Rational Unified Process (RUP) is one of the most widely used software development processes focusing on object-oriented software development, but RUP was not originally conceived considering separation of crosscutting concerns. This work proposes adjustments to one of the most affected RUP disciplines, Analysis and Design, in order to use new concepts and techniques of AOSD. A case study is developed to validate the proposed approach.
Referências
Camargo, V., Ramos, R., Penteado, R., Masiero, P. C. Projeto Baseado em Aspectos do Padrão Camada de Persistência. In: XVII Brazillian Symposium on Software Engineering - SBES, October 2003.
Chavez, C. A Model-Driven Approach for Aspect-Oriented Design. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro, April 2004.
Chung, L., Nixon, B. A., Yu, E., Mylopoulos, J. Non-Functional Requirements in Software Engineering, volume 5 of The Kluwer International Series In Software Engineering. Kluwer Academic Publishers, October 1999.
D'Souza, D. F., Wills, A. C. Objects, Components, and Frameworks with UML : The Catalysis(SM) Approach. Addison-Wesley Pub Co, October 1998.
Firesmith, D., Henderson-Sellers, B. The OPEN Process Framework. An Introduction. Addison-Wesley, December 2001.
Gamma, E., Helm, R., Johnson, R., Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J. Aspect-oriented programming. In: Aksit, M., Matsuoka, S., editors, 11th European Conf. Object-Oriented Programming, volume 1241 of LNCS, pages 220-242. Springer Verlag, 1997.
Kruchten, P. The Rational Unified Process: An Introduction, Second Edition. Addison-Wesley Longman Publishing Co., Inc., 2000.
Kruchten, P. Using the RUP to Evolve a Legacy System. Available URL: [link], May 2001, last visited in July 2004.
Massoni, T., Alves, V., Soares, S., Borba, P. PDC: Persistent Data Collections pattern. In: First Latin American Conference on Pattern Languages Programming-SugarLoafPLoP, pages 161 - 173, Rio de Janeiro, Brazil, October 2001. UFRJ Magazine: Special Issue on Software Patterns.
Moraes, M. A. F. Um Framework de Análise e Projeto Baseado em Arquitetura de Software. Master thesis, Informatics Centre - Federal University of Pernambuco, June 2002.
Ossher, H., Kaplan, M., Katz, A., Harrison, W., Kruskal, V. Specifying subject-oriented composition. TAPOS, 2(3):179-202, 1996. Special Issue on Subjectivity in OO Systems.
Ossher, H., Tarr, P. Using subject-oriented programming to overcome common problems in object-oriented software development/evolution. In: International Conference on Software Engineering, ICSE'99, pages 698-688. ACM, 1999.
Piveta, E. K., Devegili, A. J. Aspects in the Rational Unified Process Analysis and DesignWorkflow. In: Aspect Oriented Design Workshop, AOSD 2002, Enschende, Netherlands, 2002.
Rashid, A. On to aspect persistence. In: Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers, pages 26-36. Springer-Verlag, 2001.
Rashid, A., Chitchyan, R. Persistence as an aspect. In: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 120-129. ACM Press, 2003.
Rashid, A., Moreira, A., Araújo, J. Modularisation and composition of aspectual requirements. In: 2nd International Conference on Aspect-Oriented Software Development, pages 11-20. ACM, 2003.
Rashid, A., Sawyer, P., Moreira, A., Araújo, J. Early aspects: A model for aspect-oriented requirements engineering. In: IEEE Joint International Conference on Requirements Engineering, pages 199-202. IEEE, IEEE Computer Society Press, 2002.
Soares, S., Borba, P. PaDA: A Pattern for Distribution Aspects. In: Second Latin American Conference on Pattern Languages Programming - SugarLoafPLoP, Itaipava, Rio de Janeiro, Brazil, August 2002.
Soares, S., Laureano, E., Borba, P. Implementing distribution and persistence aspects with AspectJ. In: Proceedings of the OOPSLA 2002 conference on Object Oriented Programming Systems Languages and Applications, pages 174 - 190. ACM Press, November 2002.
Sousa, G. M. C., Silva, I. G. L., Castro, J. B. Adapting the NFR Framework to Aspect-Oriented Requirements Engineering. In: XVII Brazillian Symposium on Software Engineering - SBES, October 2003.
Souza, R. A. C., Vasconcelos, A. M. L. Uma Extensão do Fluxo de Análise e Projeto do RUP para o Desenvolvimento de Aplicações WEB. In: XVII Brazillian Symposium on Software Engineering - SBES, October 2003.
Stein, D., Hanenberg, S., Unland, R. On representing join points in the UML. In: Kandé, M., Aldawud, O., Booch, G., Harrison, B., editors, Workshop on Aspect-Oriented Modeling with UML, 2002.
Stein, D., Hanenberg, S., Unland, R. A uml-based aspect-oriented design notation for AspectJ. In: Proceedings of the 1st international conference on Aspect-oriented software development, pages 106-112. ACM Press, 2002.
Suzuki, J., Yamamoto, Y. Making UML models interoperable with UXF. In: Bézivin, J., Muller, P.-A., editors, The Unified Modeling Language, UML'98 - Beyond the Notation. First International Workshop, Mulhouse, France, June 1998, Selected Papers, volume 1618 of LNCS, pages 78-91. Springer, 1998.
Suzuki, J., Yamamoto, Y. Extending UML with aspects: Aspect support in the design phase. In: ECOOP Workshops, pages 299-300, 1999.