Aspect-Oriented Software Development with Use Cases.
Saved in:
Author / Creator: | Jacobson, Ivar, author. |
---|---|
Uniform title: | Aspect-Oriented Software Development with Use Cases (Online) |
Imprint: | Boston : Addison Wesley Professional Dec. 2004 Old Tappan : Pearson Education [distributor] |
Description: | 1 online resource (464 pages) illustrations |
Language: | English |
Series: | The Addison-Wesley Object Technology Ser. Addison-Wesley Object Technology Ser. |
Subject: | |
Format: | E-Resource Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/13662578 |
Table of Contents:
- 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