Home > Store

Advanced Use Case Modeling: Software Systems

Register your product to gain access to bonus material or receive a coupon.

Advanced Use Case Modeling: Software Systems

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2001
  • Dimensions: 7-3/8" x 9-1/4"
  • Pages: 464
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-61592-4
  • ISBN-13: 978-0-201-61592-0

Use cases are increasingly popular, but many large organizations find it difficult to develop the complex use case models they need -- and poorly developed models fail to achieve their goals. In Advanced Use Case Modeling, Volume I, two leading use case experts present proven techniques for applying use cases in even the most challenging environments. The book begins with a clear, rigorous, example-driven explanation of the fundamental concepts of use cases. Next, the authors introduce repeatable processes for developing use cases that successfully drive systems design. Readers will learn the traps and pitfalls of use case design and how to avoid them; then discover new techniques for addressing the most important use case modeling issues -- several of which have never before been discussed in a book. All descriptions and examples reflect the latest UML notation. For all object-oriented designers, analysts, and software engineers -- and for all managers and users involved in object-oriented development projects.

Sample Content

Table of Contents



Foreword.


Preface.


Introduction.

I. FUNDAMENTALS.

1. Actors.

What Is an Actor?

Why Define Actors?

How to Find the Actors.

Primary and Secondary Actor Types.

Actor Personalities.

Abstract Actors.

Actor Notation.

Conclusion.

2. Use Cases.

Finding Use Cases.

Describing Use Cases.

Refactoring the Use Case Model.

Extending the UML Use Case Process.

Organizing the Use Case Model.

Another Approach to Building a Use Case Model.

Conclusion.

II. PROJECT INITIATION.

3. Scoping the System: Vision Document and Business Case.

Describing the Problem: Vision Document.

Tackling the Dark Side.

Determining Project Feasibility: Business Case.

Writing the Business Case.

Revising the Business Case.

Conclusion.

4. Balancing the Software System Use Case Model.

Analyzing the Domain.

Documenting the Interfaces.

Defining a Software Architecture.

Packaging the Architecture.

Conclusion.

III. ADVANCED USE CASE MODELING FRAMEWORK: INITIAL USE CASE MODEL.

5. Introduction to the System Use Case Modeling.

Process Framework.

@AHEADS = Need for a Software Development Process.

Advanced Use Case Modeling Process Framework.

Creating or Customizing a Process Framework for a Specific Project.

Conclusion.

6. Preparing for Use Case Modeling and Determining Use Case Approach.

Perform a Stakeholder Analysis.

Select and Customize a Use Case Process Framework.

Select Use Case Standards, Templates, and Tools.

Determine Training and Mentoring Needs.

Conclusion.

7. Performing Initial Use Case Modeling.

Develop Context Diagram.

Identify the Major Actors.

Discover the Conceptual System Use Cases.

Develop Initial Use Case Diagram.

Determine/Refine the Conceptual Business Objects.

Relationship of Use Cases and the Object Model.

Packaging and Validating the Use Case Conceptual Model.

Conclusion.

IV. ADVANCED USE CASE MODELING FRAMEWORK: EXPANDING THE USE CASE MODEL.

8. Develop Base Use Case Descriptions.

Fields in a Base Use Case Description.

Getting Started Creating Base Use Case Descriptions.

Finding New Use Cases.

Conclusion.

9. Elaborate the Base Use Case Description.

Describing Alternative Flows.

Text-Based Conditional and Iterative Logic in the Flow of Events.

Using Activity Diagrams to Represent a Complex Flow of Events.

Activity Diagrams versus Detailed Text.

Conclusion.

10. Model Extend, Include, and Generalization Relationships.

Extend Relationships.

Include Relationships.

Generalization Relationships.

Bringing Together Extend, Include, and Generalization Relationships.

Conclusion.

11. Add Supplemental Information to the Use Case Model.

Use Case Priorities.

Nonbehavioral Requirements.

Interface Analysis.

Focusing on Behavioral Details of Individual Use Case Activities.

Documenting Details of Business Procedures and Rules.

Conclusion.

12. Map Use Cases to Object Models.

Analysis Object Modeling.

Parallel Use Case and Object Modeling.

Basic CRUD Matrix.

Expanded CRUD Matrix.

Analysis Sequence Diagrams.

Mapping Use Cases to Object Models Using Sequence Diagrams.

Issues with Using Sequence Diagrams during Analysis.

Conclusion.

13. Develop Instance Scenarios.

Use Case Instances Model Specific Executions of a Use Case.

Use Cases Are to Object Classes as Use Case Instances Are to Object Instances.

Why Create Use Case Instances?

Use Case Instances Can Be Applied Informally.

Use Cases Can Be Applied More Formally.

Layout of a Use Case Instance Description.

Finding and Creating Use Case Instances.

Conclusion.

14. Create Test Cases and Documentation.

Creating a Test Strategy.

Creating a Test Plan.

Elements of a Test Plan.

Creating Test Cases.

Testing Range/Error Handling.

Testing Interactions.

Creating User Documentation.

Conclusion.

15. Organize the Use Cases.

Business Function Packages.

Superordinate and Subordinate Use Cases.

Dependency Streams.

Activity Diagrams to Model Use Case Dependencies.

Model Views.

Putting It All Together in a System Use Case Model.

Conclusion.

V. ADDITIONAL TOPICS.

16. Building User Interfaces.

Conceptual User Interface Design.

Creating Conceptual Models from Use Cases.

Physical User Interface Design.

Conclusion.

17. Coping with Change.

Requirements Churn.

Source of Change.

Accelerating Change.

Managing Change.

Change Cases.

Changes to the Use Case Model.

Conclusion.

18. Creating Your Advanced Use Case Modeling Process.

Effect of the Project and Project Team on Ceremony.

Effects of Artifacts on Ceremony.

Development Case.

Iterative Development and the Development Case.

Conclusion.

19. Ensuring a Successful Use Case Modeling Effort.

Appropriate Level of Detail and Organization in the Use Case Model.

Attributes of a Good Use Case Model When Specifying Requirements.

Incremental and Iterative Development with Use Cases.

Know When Not to Use Cases.

Questions to Ask When Use Case Modeling.

Conclusion.

Appendix A: Use Case Development Review Checklist.
Appendix B: Development Case for Advanced Use Case Modeling.
Appendix C: Simplified Loan Processing System.
Appendix D: Simplified Loan Processing System User Interface Specification.
Bibliography.
Index. 0201615924T04062001

Preface

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 of requirements for a project.

Organization and Content

There are many books on use cases available on the market today. Ours is unique in its coverage of the role of use cases in software development. We also present some substantially new material not found in any other paper or book. We balance this new material with a comprehensive survey of the existing work in the field of use case modeling.

To allow this book to stand on its own, we present two chapters of fundamental material. These two chapters begin after an introduction to advanced use case modeling. Chapter 1 discusses the conceptual role of actors in the use case model. A detailed account of how to recognize actors is provided to prepare the use case modeler to discover use cases. Chapter 2 discusses the general format and protocol for creating use cases. The Unified Modeling Language, the Object Management Group (OMG) standard for use case modeling, is explained.

Part 2 starts with the first phase of software development, project initiation (Figure P-2). Chapter 3 focuses on this phase by looking at the things that define the system scopethe problem that is to be solved and the business opportunity created by the new or improved system, and the financial feasibility of building a software system to address this opportunity.


Figure P-2 Generic phases of a software development process

Chapter 4 describes use case modeling in the requirements analysis phase of the software development process (Figure P-3). Use cases help to describe the functions of the system and to balance the use case model; form is provided with a well-designed architecture that can enhance the use case model.


Figure P-3 Decomposition of the requirements analysis and partial analysis phases

In Part 3, we introduce a bank loan application example that is used throughout the book to illustrate the concepts of use case modeling. The example does not represent any actual loan system. The necessary functionality for an actual loan application has been streamlined for purposes of the example.

In Part 3 we also describe the advanced use case modeling process framework. Chapter 5 decomposes use case modeling into activity groups, or groups of logically related activities (Figure P-4). The chapter describes a framework for use case modeling that is used to describe system use case modeling through Chapter 15.


Figure P-4 The advanced use case modeling process framework

Chapter 6 describes the initial steps in setting up a use case modeling effort. The selection and customization of use case frameworks, the selection of standards and techniques, and the consideration of training and mentoring needs are outlined.

Chapter 7 discusses the initial steps of creating the use case model. The outcome of this activity group is a use case model that captures a "conceptual" picture of what the system will need to do.

Part 4 focuses on expanding the use case model. Chapter 8 begins the discussion of how initial use case descriptions are expanded to become base use cases with more detailed requirements and how this increased complexity is modeled. Chapter 9 discusses the practice of placing conditional and iterative logic within a use case's flow of events. Two techniques for modeling these concepts are presented.

Chapter 10 describes the use of extend, include, and generalization relationships to model the alternatives, variations, and commonality in the use case model. Chapter 11 discusses the capture of additional or supplemental information associated with an individual use case. Chapter 12 discusses the importance of mapping the use cases to the analysis object model. Techniques such as CRUD matrixes, object to use case tables, and sequence diagrams are outlined. Chapter 13 discusses the concept and utilization of scenarios to complement the use case model.

The final phase of any software engineering process is testing. Chapter 14 discusses testing and documenting the system and the role use cases play in driving these activities. Chapter 15 examines organizing use cases by business functional packages and by dependencies based on use case preconditions and postconditions. A discussion of various views of the use case model is presented. A wrap-up of key use case artifacts is also presented.

Part 5, Additional Topics, begins with Chapter 16. This chapter examines the effect of use cases on user interface design. Transactions are used to segment the use case model to provide elements for conceptual user interface development. Grouping techniques allow screens to be built from the transactions.

Chapter 17 examines the effect of change on the use case model. In successful software systems, changes that affect the functionality of the system are inevitable. Change may occur during the project or after it has shipped.

Chapter 18 discusses some of the necessary considerations for deploying advanced use case modeling. All or part of the process framework may be utilized depending on the needs of the project. This chapter outlines the elements that determine how much to use. It also describes how to document this process.

The final chapter, Chapter 19, discusses the quality attributes of a good use case model. It also describes the various roles that use case modeling can play within a system analysis effort. Finally, iterative and incremental development with advanced use case modeling is briefly outlined.

Complementary Works

This book stands on its own and can be read without referring to other works. However, quite a bit of helpful material is available on requirements engineering, use case development, and process improvement.

    Software development process

  • Ivar Jacobson, Grady Booch, and James Rumbaugh, The Unified Software Development Process, Addison-Wesley, Reading, MA, 1999.
  • Dean Leffingwell and Don Widrig, Managing Software Requirements: A Unified Approach, Addison-Wesley, Reading, MA, 2000.
  • Geri Schneider and Jason P. Winters, Applying Use Cases: A Practical Guide, Addison-Wesley, Reading, MA, 1998.
  • Rational Software Corporation, Rational Unified Process, 2000.

    Business process engineering

  • Ivar Jacobson, Maria Ericsson, and Agneta Jacobson, The Object Advantage: Business Process Reengineeering with Object Technology, Addison-Wesley, Reading, MA, 1995.
  • Michael Hammer and James Champy, Reengineering the Corporation, Harper Business, New York, 1993.
  • Rational Software Corporation, Rational Unified Process, 2000.

    Component development

  • Ivar Jacobson, Martin Griss, and Patrik Jonsson, Software Reuse: Architecture, Process, and Organization for Business Success, Addison- Wesley, Reading, MA, 1997.
  • Clemens Szyperski, Component Software: Beyond Object-Oriented Programming, Addison-Wesley, Reading, MA, 1998.

You may notice a number of references to other works in the body of this book. We did an extensive survey of the use case literature that predates the publication of this book and found many ideas worthy of inclusion. We also found many areas where we had developed solutions independently that were similar to those found in the literature. In these cases, we refer to the work in which the idea originally appeared. This gives the reader the flexibility to explore these references to get other viewpoints and gives credit to the other deserving authors.

For the latest information on use cases, supplemental and additional material, or how to contact the authors, visit us at our website, www.advancedusecases.com.



0201615924P04062001

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020