Aspect-Oriented Software Development with Use Cases
©2005 |Addison-Wesley Professional | Out of print
Ivar Jacobson
Pan-Wei Ng
©2005 |Addison-Wesley Professional | Out of print
Introducing Pearson+ 1500+ eTexts and study tools, all in one place. Subscriptions starting at $9.99/month.
K-12 educators: This link is for individuals purchasing with credit cards or PayPal only. Contact your Savvas Learning Company Account General Manager for purchase options.
Aspect orientation promises to be the next big wave in software engineering,
following on the heels of the object-oriented paradigm. Proponents tout the
value of aspect orientation in providing the ability to add extremely useful
mechanisms such as security, logging, persistence, debugging, tracing,
distribution, performance monitoring, and exception handling. To state it
simply, it makes programming and programs more efficient.
This highly-anticipated new book demonstrates how to apply use cases and
aspect orientation in building robust and extensible systems. The authors show
you how to identify, design, implement, test, and refactor use case modules and
how to extend them. The book also demonstrates how to design use case
modules with UML including some enhancements made in UML 2.0 to better
support the modeling of use case modules.
This product is part of the following series. Click on a series title to see the full list of products in the series.
Learn how to apply the proven concept of use cases within the rising paradigm of aspect orientation to build robust and extensible software
° Systematically outlines how to conduct aspect oriented software development with use cases, covering requirements, analysis, design, implementation, and test
° Develop better software by embracing the paradigm shift to aspect-orientation
° Product pre-launch and advance promotion occurred at OOSPLA in Vancouver, BC (October 2004)
Preface.
Acknowledgments.
I. THE CASE FOR USE CASES AND ASPECTS.
1. Problem to Attack.
The Use of Components Today.
Limitation of Components.
Approaching a Solution.
Keeping Concerns Separate.
2. Attacking the Problem with Aspects.
Approaching a Solution with Aspects.
Keeping Peers Separate with Aspects.
Keeping Extensions Separate with Aspects.
Need for Methodological Guidance.
3. Today with Use Cases.
Use Cases in Brief.
Use-Case-Driven Development.
Roles and Benefits of Use Cases.
Gaps in the Use-Case Technique.
Bridging the Gaps with Aspects.
4. Tomorrow with Use-Case Modules.
Building Systems in Overlays with Use-Case Slices.
Keeping Peer Use Cases Separate.
Keeping Extension Use Cases Separate.
Developing with Use-Case Modules.
II. MODELING AND CAPTURING CONCERNS WITH USE CASES.
5. Modeling Concerns with Use Cases.
Use-Case Modeling.
Use-Case Instances and Flows of Events.
Describing Use Cases.
Visualizing Use-Case Flows.
Summary and Highlights.
6. Structuring Use Cases.
Use-Case Relationships.
Use-Case Extend Relationship.
Use-Case Include Relationship.
Use-Case Generalization.
Utility Use Cases.
Summary and Highlights.
7. Capturing Concerns with Use Cases.
Understanding Stakeholder Concerns.
Capturing Application Use Cases.
Capturing Infrastructure Use Cases.
Summary and Highlights.
III. KEEPING CONCERNS SEPARATE WITH USE-CASE MODULES.
8. Keeping Peer Use-Case Realizations Separate with Aspects.
Realizing Peer Use Cases.
Keeping Use-Case Specifics Separate.
Dealing with Overlap.
Summary and Highlights.
9. Keeping Extensions Separate with Pointcuts.
Realizing Extension Use Cases.
Keeping Modularity of Extension Use-Case Realizations.
Parameterizing Pointcuts.
Generalizing Extension Use-Case Realizations.
Templating Use-Case Slices.
Summary and Highlights.
10. Building Systems with Use-Case Modules.
A System Comprises Models.
Use-Case Model.
Analysis Model.
Design and Implementation Models.
Use-Case Modules Cut Across Models.
Composing and Configuring Use-Case Modules.
Summary and Highlights.
IV. ESTABLISHING AN ARCHITECTURE BASED ON USE CASES AND ASPECTS.
11. Road to a Resilient Architecture.
What Is Architecture?
What Is a Good Architecture?
Steps to Establish an Architecture Baseline.
Begin with a Platform-Independent Structure.
Overlay Platform Specifics on Top.
Summary and Highlights.
12. Separating Functional Requirements with Application Peer Use Cases.
Analyzing Application Use Cases.
Keeping Application Use Cases Separate.
Designing Application Use Cases.
Refining Design Elements.
Summary and Highlights.
13. Separating Functional Requirements with Application-Extension Use Cases.
Analyzing Application-Extension Use Cases.
Keeping Application-Extension Use Cases Separate.
Designing Application-Extension Use Cases.
Dealing with Changes in the Base.
Summary and Highlights.
14. Separating Nonfunctional Requirements with Infrastructure Use Cases.
Analyzing an Infrastructure Use Case.
Keeping Infrastructure Use Cases Separate.
Designing Infrastructure Use Cases.
Dealing with Multiple Infrastructure Use Cases.
Summary and Highlights.
15. Separating Platform Specifics with Platform-Specific Use-Case Slices.
Keeping Platform Specifics Separate.
Overlaying User Interfaces.
Overlaying Distribution.
Overlaying Persistency.
Preserving the Use-Case Structure.
Summary and Highlights.
16. Separating Tests with Use-Case Test Slices.
Test-First Approach.
Identifying Test Cases from Use Cases.
Identifying Elements to Be Tested.
Designing and Implementing Tests.
Summary and Highlights.
17. Evaluating the Architecture.
Putting It Together.
Evaluating Separation of Concerns.
Evaluating and Achieving Systemwide Concerns.
Summary and Highlights.
18. Describing the Architecture.
Architecture Description Comprises Architectural Views.
Architectural View of the Use-Case Model.
Architectural View of the Analysis Model.
Architectural View of the Design Model.
Summary and Highlights.
V. APPLYING USE CASES AND ASPECTS IN A PROJECT.
19. Running a Project.
Iterative Development.
Estimating Development Effort.
Planning and Controlling the Project.
Productivity Gains by Keeping Concerns Separate.
Summary and Highlights.
20. Tailoring the Approach.
Achieving the Right Balance.
Selecting Disciplines to Apply.
Adopting at Different Phases of a Project.
Summary and Highlights.
21. Aspects and Beyond.
Building a System in Extensions.
Balancing Best Practices.
The Road Ahead.
Appendix A. Modeling Aspects and Use-Case Slices in UML.
Appendix B. Notation Guide.
References.
Glossary.
Index.
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Ivar Jacobson, Ph.D., is “the father” of many technologies, including components and component architecture, use cases, modern business engineering, and the Rational Unified Process. He was one of the three amigos who originally developed the Unified Modeling Language. He is the principal author of five best-selling books on these methods and technologies, in addition to being the coauthor of the two leading books on the Unified Modeling Language. Ivar is a founder of Jaczone AB, where he and his daughter and cofounder, Agneta Jacobson, are developing a ground-breaking new product that includes intelligent agents to support software development. Ivar also founded Ivar Jacobson Consulting (IJC) with the goal of promoting good software development practices throughout teams worldwide.
Pan-Wei Ng, Ph.D., plays multiple roles within Ivar Jacobson Consulting (IJC). Pan-Wei defines and develops materials for best practices in architecture, use cases, iterative development, aspects, and the like. This work is often done alongside practitioners to ensure that the best practices developed are both relevant and practical. Pan-Wei also actively works with customer accounts to enable companies and project teams to adopt these best practices quickly and safely.
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.