skip to main content
Skip header Section
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)December 2004
Publisher:
  • Addison-Wesley Professional
ISBN:978-0-321-26888-4
Published:01 December 2004
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

“A refreshingly new approach toward improving use-case modeling by fortifying it with aspect orientation.” -Ramnivas Laddad, author of AspectJ in Action “Since the 1980s, use cases have been a way to bring users into software design, but translating use cases into software has been an art, at best, because user goods often don't respect code boundaries. Now that aspect-oriented programming (AOP) can express crosscutting concerns directly in code, the man who developed use cases has proposed step-by-step methods for recognizing crosscutting concerns in use cases and writing the code in separate modules. If these methods are at all fruitful in your design and development practice, they will make a big difference in software quality for developers and users alike. -Wes Isberg, AspectJ team member “This book not only provides ideas and examples of what aspect-oriented software development is but how it can be utilized in a real development project.” -MichaelWard, ThoughtWorks, Inc. “No system has ever been designed from scratch perfectly; every system is composed of features layered in top of features that accumulate over time. Conventional design techniques do not handle this well, and over time the integrity of most systems degrades as a result. For the first time, here is a set of techniques that facilitates composition of behavior that not only allows systems to be defined in terms of layered functionality but composition is at the very heart of the approach. This book is an important advance in modern methodology and is certain to influence the direction of software engineering in the next decade, just as Object-Oriented Software Engineering influenced the last.” -Kurt Bittner, IBM Corporation “Use cases are an excellent means to capture system requirements and drive a user-centric view of system development and testing. This book offers a comprehensive guide on explicit use-case-driven development from early requirements modeling to design and implementation. It provides a simple yet rich set of guidelines to realize use-case models using aspect-oriented design and programming. It is a valuable resource to researchers and practitioners alike.” -Dr. Awais Rashid, Lancaster University, U.K., and author of Aspect-Oriented Database Systems “AOSD is important technology that will help developers produce better systems. Unfortunately, it has not been obvious how to integrate AOSD across a project's lifecycle. This book shatters that barrier, providing concrete examples on how to use AOSD from requirements analysis through testing.” -Charles B. Haley, research fellow, The Open University, U.K.Aspect-oriented programming (AOP) is a revolutionary new way to think about software engineering. AOP was introduced to address crosscutting concerns such as security, logging, persistence, debugging, tracing, distribution, performance monitoring, and exception handling in a more effective manner. Unlike conventional development techniques, which scatter the implementation of each concern into multiple classes, aspect-oriented programming localizes them.Aspect-oriented software development (AOSD) uses this approach to create a better modularity for functional and nonfunctional requirements, platform specifics, and more, allowing you to build more understandable systems that are easier to configure and extend to meet the evolving needs of stakeholders.In this highly anticipated new book, Ivar Jacobson and Pan-Wei Ng demonstrate how to apply use cases-a mature and systematic approach to focusing on stakeholder concerns-and aspect-orientation in building robust and extensible systems. Throughout the book, the authors employ a single, real-world example of a hotel management information system to make the described theories and practices concrete and understandable.The authors show how to identify, design, implement, test, and refactor use-case modules, as well as extend them. They also demonstrate how to design use-case modules with the Unified Modeling Language (UML)-emphasizing enhancements made in UML 2.0-and how to achieve use-case modularity using aspect technologies, notably AspectJ.Key topics include Making the case for use cases and aspects Capturing and modeling concerns with use cases Keeping concerns separate with use-case modules Modeling use-cases slices and aspects using the newest extensions to the UML notation Applying use cases and aspects in projectsWhatever your level of experience with aspect-oriented programming, Aspect-Oriented Software Development with Use Cases will teach you how to develop better software by embracing the paradigm shift to AOSD.

Cited By

  1. ACM
    Alshareef S, Maatuk A and Abdelaziz T Aspect-oriented requirements engineering Proceedings of the First International Conference on Data Science, E-learning and Information Systems, (1-7)
  2. ACM
    Kostova S and Vranić V Applying aspect-oriented change realization in the mobile application domain Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming, (87-92)
  3. ACM
    Cassar I, Francalanza A, Aceto L and Ingólfsdóttir A eAOP: an aspect oriented programming framework for Erlang Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang, (20-30)
  4. ACM
    Berta P, Bystrický M, Krempaský M and Vranić V Employing issues and commits for in-code sentence based use case identification and remodularization Proceedings of the Fifth European Conference on the Engineering of Computer-Based Systems, (1-8)
  5. ACM
    Bystrický M and Vranić V Modularizing Code by Use Cases and Tests for Better Maintainability Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming, (1-1)
  6. Yue T, Zhang H, Ali S and Liu C A Practical Use Case Modeling Approach to Specify Crosscutting Concerns Proceedings of the 15th International Conference on Software Reuse: Bridging with Social-Awareness - Volume 9679, (89-105)
  7. ACM
    Jacobson I, Spence I and Kerr B (2016). Use-case 2.0, Communications of the ACM, 59:5, (61-69), Online publication date: 26-Apr-2016.
  8. ACM
    Bystrický M and Vranić V Development environment for literal inter-language use case driven modularization Companion Proceedings of the 15th International Conference on Modularity, (12-15)
  9. ACM
    Bystrický M and Vranić V Literal inter-language use case driven modularization Companion Proceedings of the 15th International Conference on Modularity, (99-103)
  10. ACM
    Al-qadhi M and Keung J Cloud-based support for global software engineering: potentials, risks, and gaps Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices, (57-64)
  11. ACM
    Kamina T, Aotani T, Masuhara H and Tamai T Context-oriented software engineering Proceedings of the 13th international conference on Modularity, (85-98)
  12. Van Landuyt D and Joosen W Modularizing Early Architectural Assumptions in Scenario-Based Requirements Proceedings of the 17th International Conference on Fundamental Approaches to Software Engineering - Volume 8411, (170-184)
  13. Persson M, Törngren M, Qamar A, Westman J, Biehl M, Tripakis S, Vangheluwe H and Denil J A characterization of integrated multi-view modeling in the context of embedded and cyber-physical systems Proceedings of the Eleventh ACM International Conference on Embedded Software, (1-10)
  14. ACM
    Mitschke R, Eichberg M, Mezini M, Garcia A and Macia I Modular specification and checking of structural dependencies Proceedings of the 12th annual international conference on Aspect-oriented software development, (85-96)
  15. ACM
    Bálik J and Vranić V Symmetric aspect-orientation Proceedings of the 2012 workshop on Next Generation Modularity Approaches for Requirements and Architecture, (7-12)
  16. Van Landuyt D, Op de beeck S, Truyen E and Joosen W Domain-Driven discovery of stable abstractions for pointcut interfaces Transactions on Aspect-Oriented Software Development IX, (1-52)
  17. ACM
    Wimmer M, Schauerhuber A, Kappel G, Retschitzegger W, Schwinger W and Kapsammer E (2011). A survey on UML-based aspect-oriented design modeling, ACM Computing Surveys (CSUR), 43:4, (1-33), Online publication date: 1-Oct-2011.
  18. Amroune M, Inglebert J, Zarour N and Charrel P AspeCis Proceedings of the First international conference on Model and data engineering, (122-132)
  19. ACM
    Maoz S, Harel D and Kleinbort A (2011). A Compiler for Multimodal Scenarios, ACM Transactions on Software Engineering and Methodology, 20:4, (1-41), Online publication date: 1-Sep-2011.
  20. ACM
    Miles S, Groth P, Munroe S and Moreau L (2011). PrIMe, ACM Transactions on Software Engineering and Methodology, 20:3, (1-42), Online publication date: 1-Aug-2011.
  21. Alférez M, Lopez-Herrejon R, Moreira A, Amaral V and Egyed A Supporting consistency checking between features and software product line use scenarios Proceedings of the 12th international conference on Top productivity through software reuse, (20-35)
  22. ACM
    van der Hoek A and Lopez N A design perspective on modularity Proceedings of the tenth international conference on Aspect-oriented software development, (265-280)
  23. ACM
    Mosser S, Mussbacher G, Blay-Fornarino M and Amyot D From aspect-oriented requirements models to aspect-oriented business process design models Proceedings of the tenth international conference on Aspect-oriented software development, (31-42)
  24. Roychoudhury S, Gray J and Jouault F A model-driven framework for aspect weaver construction Transactions on aspect-oriented software development VIII, (1-45)
  25. Gustas R (2011). Modeling Approach for Integration and Evolution of Information System Conceptualizations, International Journal of Information System Modeling and Design, 2:1, (45-73), Online publication date: 1-Jan-2011.
  26. Gallant S and Gaughan C Systems engineering for distributed live, virtual, and constructive (lvc) simulation Proceedings of the Winter Simulation Conference, (1501-1511)
  27. Bošković M, Mussbacher G, Bagheri E, Amyot D, Gašević D and Hatala M Aspect-oriented feature models Proceedings of the 2010 international conference on Models in software engineering, (110-124)
  28. Bergmayr A ReuseMe - towards aspect-driven reuse in modelling method development Proceedings of the 2010 international conference on Models in software engineering, (4-18)
  29. ACM
    Ramos R, Castro J, Araújo J, Alencar F and Penteado R Divide and conquer refactoring Proceedings of the 8th Latin American Conference on Pattern Languages of Programs, (1-11)
  30. ACM
    Sullivan K, Griswold W, Rajan H, Song Y, Cai Y, Shonle M and Tewari N (2010). Modular aspect-oriented design with XPIs, ACM Transactions on Software Engineering and Methodology, 20:2, (1-42), Online publication date: 1-Aug-2010.
  31. ACM
    Campos J, Braga J, Pereira de Resende A and Osório Silva C (2010). Identification of aspect candidates by inspecting use cases descriptions, ACM SIGSOFT Software Engineering Notes, 35:4, (1-9), Online publication date: 20-Jul-2010.
  32. Lopez-Herrejon R and Egyed A Detecting inconsistencies in multi-view models with variability Proceedings of the 6th European conference on Modelling Foundations and Applications, (217-232)
  33. ACM
    Zambrano A, Fabry J, Jacobson G and Gordillo S Expressing aspectual interactions in requirements engineering Proceedings of the 2010 ACM Symposium on Applied Computing, (2161-2168)
  34. ACM
    Penim A and Araújo J Identifying and modeling aspectual scenarios with theme and MATA Proceedings of the 2010 ACM Symposium on Applied Computing, (287-291)
  35. ACM
    Hovsepyan A, Scandariato R, Van Baelen S, Berbers Y and Joosen W From aspect-oriented models to aspect-oriented code? Proceedings of the 9th International Conference on Aspect-Oriented Software Development, (85-96)
  36. Bombonatti D and Melnikoff S Survey on early aspects approaches Proceedings of the 4th WSEAS international conference on Computer engineering and applications, (137-142)
  37. Van Landuyt D, Truyen E and Joosen W Discovery of stable abstractions for aspect-oriented composition in the car crash management domain Transactions on aspect-oriented software development VII, (375-422)
  38. Kienzle J, Al Abed W, Fleurey F, Jézéquel J and Klein J Aspect-oriented design with reusable aspect models Transactions on aspect-oriented software development VII, (272-320)
  39. Hölzl M, Knapp A and Zhang G Modeling the car crash crisis management system using HiLA Transactions on aspect-oriented software development VII, (234-271)
  40. Mussbacher G, Amyot D, Araújo J and Moreira A Requirements modeling with the aspect-oriented user requirements notation (AoURN) Transactions on aspect-oriented software development VII, (23-68)
  41. Van Landuyt D, Truyen E and Joosen W Discovery of stable abstractions for aspect-oriented composition in the car crash management domain Transactions on aspect-oriented software development VII, (375-422)
  42. Kienzle J, Al Abed W, Fleurey F, Jézéquel J and Klein J Aspect-oriented design with reusable aspect models Transactions on aspect-oriented software development VII, (272-320)
  43. Hölzl M, Knapp A and Zhang G Modeling the car crash crisis management system using HiLA Transactions on aspect-oriented software development VII, (234-271)
  44. Mussbacher G, Amyot D, Araújo J and Moreira A Requirements modeling with the aspect-oriented user requirements notation (AoURN) Transactions on aspect-oriented software development VII, (23-68)
  45. Mussbacher G, Amyot D and Whittle J Refactoring-Safe Modeling of Aspect-Oriented Scenarios Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, (286-300)
  46. Mussbacher G and Amyot D Extending the user requirements notation with aspect-oriented concepts Proceedings of the 14th international SDL conference on Design for motes and mobiles, (115-132)
  47. Weston N, Chitchyan R and Rashid A A framework for constructing semantically composable feature models from natural language requirements Proceedings of the 13th International Software Product Line Conference, (211-220)
  48. ACM
    Kong L and Yuan T (2009). Use case modeling approach for early aspect acquisition, ACM SIGSOFT Software Engineering Notes, 34:4, (1-6), Online publication date: 6-Jul-2009.
  49. Mussbacher G and Amyot D Heterogeneous pointcut expressions Proceedings of the 2009 ICSE Workshop on Aspect-Oriented Requirements Engineering and Architecture Design, (8-13)
  50. ACM
    Cui Z, Wang L, Li X and Xu D Modeling and integrating aspects with UML activity diagrams Proceedings of the 2009 ACM symposium on Applied Computing, (430-437)
  51. ACM
    Gomaa H and Shin M Separating application and security concerns in use case models Proceedings of the 15th workshop on Early aspects, (1-6)
  52. ACM
    Van Landuyt D, Op de beeck S, Truyen E and Joosen W Domain-driven discovery of stable abstractions for pointcut interfaces Proceedings of the 8th ACM international conference on Aspect-oriented software development, (75-86)
  53. Navasa A, Pérez-Toledano M and Murillo J (2009). An ADL dealing with aspects at software architecture stage, Information and Software Technology, 51:2, (306-324), Online publication date: 1-Feb-2009.
  54. ACM
    Rashid A and Chitchyan R Aspect-oriented requirements engineering Proceedings of the 13th international workshop on Early Aspects, (35-41)
  55. ACM
    Somé S and Anthonysamy P An approach for aspect-oriented use case modeling Proceedings of the 13th international workshop on Early Aspects, (27-34)
  56. ACM
    Jeanneret C, France R and Baudry B A reference process for model composition Proceedings of the 2008 AOSD workshop on Aspect-oriented modeling, (1-6)
  57. ACM
    Bonifácio R, Borba P and Soares S On the benefits of scenario variability as crosscutting Proceedings of the 2008 AOSD workshop on Early aspects, (1-8)
  58. ACM
    Anthonysamy P and Somé S Aspect-oriented use case modeling for software product lines Proceedings of the 2008 AOSD workshop on Early aspects, (1-8)
  59. ACM
    Dias F, Schmitz E, Campos M, Correa A and Alencar A Elaboration of use case specifications Proceedings of the 2008 ACM symposium on Applied computing, (614-618)
  60. ACM
    Laguna M, González-Baixauli B and Marqués J Seamless development of software product lines Proceedings of the 6th international conference on Generative programming and component engineering, (85-94)
  61. Whittle J, Moreira A, Araújo J, Jayaraman P, Elkhodary A and Rabbi R An expressive aspect composition language for UML state diagrams Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems, (514-528)
  62. Jayaraman P, Whittle J, Elkhodary A and Gomaa H Model composition in product lines and feature interaction detection using critical pair analysis Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems, (151-165)
  63. ACM
    Araujo J, Zowghi D and Moreira A An evolutionary model of requirements correctness with early aspects Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting, (67-70)
  64. Cottenier T, van den Berg A and Elrad T Joinpoint inference from behavioral specification to implementation Proceedings of the 21st European conference on Object-Oriented Programming, (476-500)
  65. Tabares M, Moreira A, Anaya R, Arango F and Araujo J A Traceability Method for Crosscutting Concerns with Transformation Rules Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design
  66. Miles S, Groth P, Munroe S, Luck M and Moreau L AgentPrIMe Proceedings of the 8th international conference on Agent-oriented software engineering VIII, (31-43)
  67. ACM
    Chitchyan R, Rashid A, Rayson P and Waters R Semantics-based composition for aspect-oriented requirements engineering Proceedings of the 6th international conference on Aspect-oriented software development, (36-48)
  68. Silva L, Batista T, Garcia A, Medeiros A and Minora L On the symbiosis of aspect-oriented requirements and architectural descriptions Proceedings of the 10th international conference on Early aspects: current challenges and future directions, (75-93)
  69. Salvaneschi P Improving functional testing through aspects Proceedings of the 10th international conference on Early aspects: current challenges and future directions, (39-54)
  70. Mussbacher G, Amyot D, Whittle J and Weiss M Flexible and expressive composition rules with aspect-oriented use case maps (AoUCM) Proceedings of the 10th international conference on Early aspects: current challenges and future directions, (19-38)
  71. ACM
    Xu D and He X Generation of test requirements from aspectual use cases Proceedings of the 3rd workshop on Testing aspect-oriented programs, (17-22)
  72. Klein J, Fleurey F and Jézéquel J Weaving multiple aspects in sequence diagrams Transactions on aspect-oriented software development III, (167-199)
  73. Brito I, Vieira F, Moreira A and Ribeiro R Handling conflicts in aspectual requirements compositions Transactions on aspect-oriented software development III, (144-166)
  74. Mussbacher G, Amyot D and Weiss M Visualizing early aspects with use case maps Transactions on aspect-oriented software development III, (105-143)
  75. Sampaio A, Rashid A, Chitchyan R and Rayson P EA-Miner Transactions on aspect-oriented software development III, (4-39)
  76. ACM
    Maoz S and Harel D From multi-modal scenarios to code Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, (219-230)
  77. Lopez-Herrejon R and Batory D Modeling features in aspect-based product lines with use case slices Proceedings of the 2006 international conference on Models in software engineering, (6-16)
  78. Rashid A and Moreira A Domain models are NOT aspect free Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems, (155-169)
  79. Moreira A, Araújo J and Whittle J Modeling volatile concerns as aspects Proceedings of the 18th international conference on Advanced Information Systems Engineering, (544-558)
  80. Silva L, Huzita E and Tait T Comparing Approaches in AORE through ISO/IEC 9126 Proceedings of the 2006 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the fifth SoMeT_06, (146-156)
  81. ACM
    Nakajima S and Tamai T Aspect-oriented software design with a variant of UML/STD Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools, (44-50)
  82. ACM
    Liang H, Dingel J and Diskin Z A comparative survey of scenario-based to state-based model synthesis approaches Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools, (5-12)
  83. Alencar F, Castro J, Moreira A, Araújo J, Silva C, Ramos R and Mylopoulos J Integration of aspects with i* models Proceedings of the 8th international Bi conference on Agent-oriented information systems IV, (183-201)
  84. ACM
    Pearce D and Noble J Relationship aspects Proceedings of the 5th international conference on Aspect-oriented software development, (75-86)
  85. ACM
    Klein J, Hélouët L and Jézéquel J Semantic-based weaving of scenarios Proceedings of the 5th international conference on Aspect-oriented software development, (27-38)
  86. ACM
    Stein D, Hanenberg S and Unland R Expressing different conceptual models of join point selections in aspect-oriented design Proceedings of the 5th international conference on Aspect-oriented software development, (15-26)
  87. Mahoney M Modeling reactive systems and aspect-orientation Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (345-346)
  88. Jackson A and Clarke S Towards a generic aspect oriented design process Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (110-119)
  89. Tkatchenko M and Kiczales G Uniform support for modeling crosscutting structure Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems, (508-521)
  90. Kiczales G and Mezini M Separation of concerns with procedures, annotations, advice and pointcuts Proceedings of the 19th European conference on Object-Oriented Programming, (195-213)
  91. Sutton S Aspect-Oriented software development and software process Proceedings of the 2005 international conference on Unifying the Software Process Spectrum, (177-191)
  92. ACM
    Kiczales G and Mezini M Aspect-oriented programming and modular reasoning Proceedings of the 27th international conference on Software engineering, (49-58)
Contributors
  • Florida Atlantic University

Recommendations

Reviews

Rosziati Ibrahim

Object orientation is a very familiar topic for most readers, compared with aspect orientation. In recent years, aspect orientation has become an important topic, and this book addresses it. The book discusses how to conduct aspect-oriented software development using use cases. It is divided into five parts, with 21 chapters. It presents the aspect-oriented software development (AOSD) process, starting with requirements analysis and design, and continuing to implementation and testing. The book concentrates on aspect orientation for software development using two important features: use cases and aspects. Part 1 introduces aspect orientation, which concerns crosscutting between functional and nonfunctional requirements, operations and classes, and platforms and infrastructures. Part 2 reviews the necessary topics for modeling and capturing crosscutting concerns using a use case approach. Important diagrams, such as use case diagrams, interaction diagrams, and class diagrams, are shown for the development of aspect-oriented analysis and design. Part 3 presents the development of aspect-oriented analysis and design using use case slices and modules. Part 4 outlines how to establish an architecture based on use cases and aspects, and Part 5 explains how to apply use cases and aspects in a project to develop software. In a use case approach, notations are used to analyze and design software. This book presents the aspect-oriented approach rather than the object-oriented approach for developing software using use cases. However, readers need to be familiar with the use case approach used in the book, as well as have familiarity with aspect orientation and the difference between aspect orientation and object orientation. With modern applications available via the Web, aspect orientation needs to be addressed properly, and it is in this book. The book can be used by readers who want to know how to properly conduct aspect-oriented software development. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.