did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201615920

Advanced Use Case Modeling Software Systems

by ;
  • ISBN13:

    9780201615920

  • ISBN10:

    0201615924

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2000-12-29
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99 Save up to $5.50
  • Digital
    $49.49
    Add to Cart

    DURATION
    PRICE

Supplemental Materials

What is included with this book?

Summary

In this rapidly changing business and technological environment, use case modeling has emerged as one of the premier techniques for defining business processes and software systems. Business engineers now employ use cases to define complex business processes across lines of business and even to define entire businesses. Use cases are also the standard for defining requirements for the software systems created using today's object-oriented development languages such as Java, Smalltalk, and C++. In the field of software components, a very young industry whose market is estimated to be more than $12 billion in 2001 Hanscome 1998, use cases are rapidly becoming a method of communication between suppliers and vendors.

The users of this technique for defining systems are as diverse as its uses. Use case modeling is already being employed by most Fortune 1000 companies and is being taught at many academic institutions all over the world, and the popularity of this modeling technique continues to grow.

Business process and software requirements engineering are rapidly evolving fields. Research in these areas continues to propose new methods of dealing with potential problems, even while actual practice is slow to adopt only a fraction of those proposed. This slow-moving partial adoption has been termed the "research–practice gap" Berry 1998. Creating yet another use case book without an extensive experience base would merely add to this gap. Our approach is significant because we present a practitioner's approach firmly grounded in the real world.

Goals

Over the past six years, we have worked on some large, ambitious projects involving software development and business engineering. To create the best possible use case models, we found it necessary to extend the seminal work of Ivar Jacobson in certain areas. This book details our extensions, which complement Ivar's ongoing work. The flexibility of use case modeling and the Unified Modeling Language, which we use to describe these models, allows us to produce extensions to solve real-world problems successfully.

The goal of this book is to further the advancement of use case modeling in software and business engineering. To achieve this goal, the book provides a comprehensive yet readable guide to use case modeling for the practitioner. Specifically, it explains advanced use case modeling concepts, describes a process for implementing use case modeling, and discusses various use case modeling issues.

Audience

The audience for this book is anyone involved in the conceptualization, development, testing, management, modeling, and use of software products and business processes. Although it contains a sizable amount of content related to business processes, this book is geared toward all of us in the software industry. Software professionals are the largest body of use case engineers because use case development was first introduced as a software requirements vehicle.

Business analysts will agree that use case engineering has undergone the greatest transformations on their front. Business analysts and their software process brethren are quickly learning that automation via software is not the only reason for employing use cases. In fact, more and more of business process modeling using use cases is not geared toward the generation and production of new software but is being done to understand, and in some cases, standardize and optimize key business processes across multiple lines of business.

Many of the techniques described in this book transcend the software or business arenas of the reader community. The well-established link between business use cases and software system use cases is described as we illustrate the ways in which software systems can be derived from a business process. The only thing we ask is that our business readers be patient as we start on the software side.

Academic institutions will also find this book useful. This book can be used as a text in an object-oriented analysis (OOA) course in which use cases play a key role.

How to Use This Book

The theory of use case development often differs from the actual practice of use case development. One reason for this difference is that very few software development projects are "green fields"; most are started with a preconceived notion of a legacy process for successfully creating software. We are not advocating the removal of the legacy processes. In fact, many of the artifacts involved in these processes may be necessary due to the nature of the problem that is being solved through software development. Some of these artifacts may also be mandatory for getting the necessary approval to begin a software development project.

Use case modeling cannot be successful in isolation. The process of creating use case models must be put in the context of the specific organization. Every organization has unique cultural aspects. Luckily, we find some commonality as well as differences in nearly every facet of the business engineering and software development processes across organizations.

Experience in one organization can often be useful in another. When patterns of failure have emerged from our use case adventures, we have attempted to capture the factors that have been directly responsible. The pitfalls of use case modeling generally fall into two categories: those in the use case development process itself and those found when use cases are integrated with commonly used software development practices. Some of the pitfalls are so significant that they can stop the development of a system dead in its tracks.

This book provides a process framework for creating models of software systems. A process framework is a set of activities used to develop a process. Our frameworks should be customized specifically for your organization. This book describes the second of the three process frameworks (Figure P-1), the conceptualization and specification of software systems.


Figure P-1 Process frameworks of the advanced use case modeling process

Each process framework is independent and fully defined. They may all be performed in concert or separately. For example, software system and component engineering may be used together to provide requirements for software system development using components. The combination of business process and software system engineering creates an understanding of the elements necessary for business process automation. A business process is not usually completely automated via software systems. The requirements for the business process, therefore, become a superset of those of the software systems used by people carrying out the business process.

The three frameworks provide a means for specifying the requirements for engineering all of the systems required for business process automation, incorporating software building blocks. When process frameworks are combined, the outputs created during the previous framework may be utilized as inputs to the next.

To make the most of this book, we recommend following an established software development process. We respect the notion that not all companies are capable of following a software development process in exactly the same way. The ceremony, or amount of formality, involved usually differs dramatically from company to company and even from project to project Booch 1996.

Ceremony helps define how much of a process framework to use Miller 2000. High-ceremony projects tend to utilize more of the activities, perhaps adopting advanced use case modeling wholesale. Low-ceremony projects use only a portion of the material described. Regardless of the level of ceremony, you will certainly find use cases in some form useful for the definition o

Author Biography

Frank Armour is currently on the faculty of the Kogod School of Business at American University and is a senior consultant for American Management Systems (AMS). He has been the lead object methodologist at AMS, assisting AMS object projects in such areas as use case modeling, object concepts, project management, methods, and tools.

Granville Miller is a pioneer in the application of use cases in developing advanced frameworks for software systems. He has spent 13 years working with object-oriented systems in the software industry, working to advance object-oriented technology at IBM, Nortel Networks, BroadBand Technologies, and Make Systems.



0201615924AB04062001

Table of Contents

Foreword xiii
Preface xv
Introduction xxv
Part 1 Fundamentals 1(32)
Actors
5(14)
What Is an Actor?
6(1)
Why Define Actors?
7(1)
How to Find the Actors
8(1)
Primary and Secondary Actor Types
9(2)
Actor Personalities
11(4)
Abstract Actors
15(1)
Actor Notation
16(1)
Conclusion
16(3)
Use Cases
19(14)
Finding Use Cases
20(2)
Describing Use Cases
22(3)
Refactoring the Use Case Model
25(2)
Extending the UML Use Case Process
27(3)
Organizing the Use Case Model
30(1)
Another Approach to Building a Use Case Model
30(2)
Conclusion
32(1)
Part 2 Project Initiation 33(24)
Scoping the System: Vision Document and Business Case
35(10)
Describing the Problem: Vision Document
36(1)
Tackling the Dark Side
36(3)
Determining Project Feasibility: Business Case
39(1)
Writing the Business Case
40(2)
Revising the Business Case
42(1)
Conclusion
43(2)
Balancing the Software System Use Case Model
45(12)
Analyzing the Domain
47(3)
Documenting the Interfaces
50(2)
Defining a Software Architecture
52(2)
Packaging the Architecture
54(1)
Conclusion
55(2)
Part 3 Advanced Use Case Modeling Framework: Initial Use Case Model 57(46)
Introduction to the System Use Case Modeling Process Framework
61(12)
Need for a Software Development Process
62(1)
Advanced Use Case Modeling Process Framework
63(6)
Creating or Customizing a Process Framework for a Specific Project
69(3)
Conclusion
72(1)
Preparing for Use Case Modeling and Determining Use Case Approach
73(8)
Perform a Stakeholder Analysis
73(3)
Select and Customize a Use Case Process Framework
76(1)
Select Use Case Standards, Templates, and Tools
76(1)
Determine Training and Mentoring Needs
77(3)
Conclusion
80(1)
Performing Initial Use Case Modeling
81(22)
Develop Context Diagram
82(2)
Identify the Major Actors
84(4)
Discover the Conceptual System Use Cases
88(7)
Develop Initial Use Case Diagram
95(1)
Determine/Refine the Conceptual Business Objects
96(1)
Relationship of Use Cases and the Object Model
97(4)
Packaging and Validating the Use Case Conceptual Model
101(1)
Conclusion
101(2)
Part 4 Advanced Use Case Modeling Framework: Expanding the Use Case Model 103(162)
Develop Base Use Case Descriptions
107(28)
Fields in a Base Use Case Description
109(18)
Getting Started Creating Base Use Case Descriptions
127(2)
Finding New Use Cases
129(5)
Conclusion
134(1)
Elaborate the Base Use Case Description
135(16)
Describing Alternative Flows
136(2)
Text-Based Conditional and Iterative Logic in the Flow of Events
138(6)
Using Activity Diagrams to Represent a Complex Flow of Events
144(6)
Activity Diagrams versus Detailed Text
150(1)
Conclusion
150(1)
Model Extend, Include, and Generalization Relationships
151(32)
Extend Relationships
152(13)
Include Relationships
165(10)
Generalization Relationships
175(5)
Bringing Together Extend, Include, and Generalization Relationships
180(2)
Conclusion
182(1)
Add Supplemental Information to the Use Case Model
183(12)
Use Case Priorities
183(2)
Nonbehavioral Requirements
185(2)
Interface Analysis
187(2)
Focusing on Behavioral Details of Individual Use Case Activities
189(1)
Documenting Details of Business Procedures and Rules
190(3)
Conclusion
193(2)
Map Use Cases to Object Models
195(22)
Analysis Object Modeling
196(3)
Parallel Use Case and Object Modeling
199(2)
Basic CRUD Matrix
201(2)
Expanded CRUD Matrix
203(2)
Analysis Sequence Diagrams
205(4)
Mapping Use Cases to Object Models Using Sequence Diagrams
209(5)
Issues with Using Sequence Diagrams during Analysis
214(1)
Conclusion
215(2)
Develop Instance Scenarios
217(14)
Use Case Instances Model Specific Executions of a Use Case
218(1)
Use Cases Are to Object Classes as Use Case Instances Are to Object Instances
218(2)
Why Create Use Case Instances?
220(1)
Use Case Instances Can Be Applied Informally
221(2)
Use Cases Can Be Applied More Formally
223(1)
Layout of a Use Case Instance Description
224(1)
Finding and Creating Use Case Instances
224(5)
Conclusion
229(2)
Create Test Cases and Documentation
231(12)
Creating a Test Strategy
232(1)
Creating a Test Plan
232(2)
Elements of a Test Plan
234(1)
Creating Test Cases
234(3)
Testing Range/Error Handling
237(2)
Testing Interactions
239(2)
Creating User Documentation
241(1)
Conclusion
242(1)
Organize the Use Cases
243(22)
Business Function Packages
245(2)
Superordinate and Subordinate Use Cases
247(7)
Dependency Streams
254(4)
Activity Diagrams to Model Use Case Dependencies
258(3)
Model Views
261(1)
Putting It All Together in a System Use Case Model
262(1)
Conclusion
263(2)
Part 5 Additional Topics 265(52)
Building User Interfaces
267(14)
Conceptual User Interface Design
268(1)
Creating Conceptual Models from Use Cases
269(10)
Physical User Interface Design
279(1)
Conclusion
279(2)
Coping with Change
281(10)
Requirements Churn
282(1)
Source of Change
283(1)
Accelerating Change
284(1)
Managing Change
285(1)
Change Cases
286(1)
Changes to the Use Case Model
287(3)
Conclusion
290(1)
Creating Your Advanced Use Case Modeling Process
291(10)
Effect of the Project and Project Team on Ceremony
292(1)
Effects of Artifacts on Ceremony
293(2)
Development Case
295(4)
Iterative Development and the Development Case
299(1)
Conclusion
299(2)
Ensuring a Successful Use Case Modeling Effort
301(16)
Appropriate Level of Detail and Organization in the Use Case Model
302(2)
Attributes of a Good Use Case Model When Specifying Requirements
304(7)
Incremental and Iterative Development with Use Cases
311(3)
Know When Not to Use Use Cases
314(1)
Questions to Ask When Use Case Modeling
315(1)
Conclusion
316(1)
Appendix A Use Case Development Review Checklist 317(6)
Appendix B Development Case for Advanced Use Case Modeling 323(18)
Appendix C Simplified Loan Processing System 341(34)
Appendix D Simplified Loan Processing System User Interface Specification 375(12)
Bibliography 387(12)
Index 399

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

In this rapidly changing business and technological environment, use case modeling has emerged as one of the premier techniques for defining business processes and software systems. Business engineers now employ use cases to define complex business processes across lines of business and even to define entire businesses. Use cases are also the standard for defining requirements for the software systems created using today's object-oriented development languages such as Java, Smalltalk, and C++. In the field of software components, a very young industry whose market is estimated to be more than $12 billion in 2001 Hanscome 1998, use cases are rapidly becoming a method of communication between suppliers and vendors. The users of this technique for defining systems are as diverse as its uses. Use case modeling is already being employed by most Fortune 1000 companies and is being taught at many academic institutions all over the world, and the popularity of this modeling technique continues to grow. Business process and software requirements engineering are rapidly evolving fields. Research in these areas continues to propose new methods of dealing with potential problems, even while actual practice is slow to adopt only a fraction of those proposed. This slow-moving partial adoption has been termed the "researchpractice gap" Berry 1998. Creating yet another use case book without an extensive experience base would merely add to this gap. Our approach is significant because we present a practitioner's approach firmly grounded in the real world. Goals Over the past six years, we have worked on some large, ambitious projects involving software development and business engineering. To create the best possible use case models, we found it necessary to extend the seminal work of Ivar Jacobson in certain areas. This book details our extensions, which complement Ivar's ongoing work. The flexibility of use case modeling and the Unified Modeling Language, which we use to describe these models, allows us to produce extensions to solve real-world problems successfully. The goal of this book is to further the advancement of use case modeling in software and business engineering. To achieve this goal, the book provides a comprehensive yet readable guide to use case modeling for the practitioner. Specifically, it explains advanced use case modeling concepts, describes a process for implementing use case modeling, and discusses various use case modeling issues. Audience The audience for this book is anyone involved in the conceptualization, development, testing, management, modeling, and use of software products and business processes. Although it contains a sizable amount of content related to business processes, this book is geared toward all of us in the software industry. Software professionals are the largest body of use case engineers because use case development was first introduced as a software requirements vehicle. Business analysts will agree that use case engineering has undergone the greatest transformations on their front. Business analysts and their software process brethren are quickly learning that automation via software is not the only reason for employing use cases. In fact, more and more of business process modeling using use cases is not geared toward the generation and production of new software but is being done to understand, and in some cases, standardize and optimize key business processes across multiple lines of business. Many of the techniques described in this book transcend the software or business arenas of the reader community. The well-established link between business use cases and software system use cases is described as we illustrate the ways in which software systems can be derived from a business process. The only thing we ask is that our business readers be patient as we start on the software side. Academic institutions will also

Rewards Program