Use Cases: Requirements in Context, 2/e (Paperback)
暫譯: 使用案例:情境中的需求,第2版 (平裝本)

Daryl Kulak, Eamonn Guiney

  • 出版商: Addison Wesley
  • 出版日期: 2003-07-25
  • 售價: $1,820
  • 貴賓價: 9.5$1,729
  • 語言: 英文
  • 頁數: 272
  • 裝訂: Paperback
  • ISBN: 0321154983
  • ISBN-13: 9780321154989
  • 相關分類: Agile Software軟體工程
  • 立即出貨 (庫存=1)

買這商品的人也買了...

相關主題

商品描述

 

Summary

This book describes how to gather and define software requirements using a process based on use cases. It shows systems analysts and designers how use cases can provide solutions to the most challenging requirements issues, resulting in effective, quality systems that meet the needs of users.

Use Cases, Second Edition: Requirements in Context describes a three-step method for establishing requirements--an iterative process that produces increasingly refined requirements. Drawing on their extensive, real- world experience, the authors offer a wealth of advice on use-case driven lifecycles, planning for change, and keeping on track. In addition, they include numerous detailed examples to illustrate practical applications.

This second edition incorporates the many advancements in use case methodology that have occurred over the past few years. Specifically, this new edition features major changes to the methodology's iterations, and the section on management reflects the faster-paced, more "chaordic" software lifecycles prominent today. In addition, the authors have included a new chapter on use case traceability issues and have revised the appendixes to show more clearly how use cases evolve.

The book opens with a brief introduction to use cases and the Unified Modeling Language (UML). It explains how use cases reduce the incidence of duplicate and inconsistent requirements, and how they facilitate the documentation process and communication among stakeholders.

The book shows you how to:

  • Describe the context of relationships and interactions between actors and applications using use case diagrams and scenarios
  • Specify functional and nonfunctional requirements
  • Create the candidate use case list
  • Break out detailed use cases and add detail to use case diagrams
  • Add triggers, preconditions, basic course of events, and exceptions to use cases
  • Manage the iterative/incremental use case driven project lifecycle
  • Trace back to use cases, nonfunctionals, and business rules
  • Avoid classic mistakes and pitfalls

The book also highlights numerous currently available tools, including use case name filters, the context matrix, user interface requirements, and the authors' own "hierarchy killer."  

Table of Contents

Preface.

Preface to the First Edition.

1. The Trouble with Requirements.

First and Least of All.

What Is a Requirement?

Functional Requirements.

Nonfunctional Requirements.

Requirements Gathering, Definition, and Specification.

The Challenges of Requirements Gathering.

Finding Out What the Users Need.

Documenting Users' Needs.

Avoiding Premature Design Assumptions.

Resolving Conflicting Requirements.

Eliminating Redundant Requirements.

Reducing Overwhelming Volume.

Ensuring Requirements Traceability.

Issues with the Standard Approaches.

User Interviews.

Joint Requirements Planning Sessions.

Contract-Style Requirements Lists.

Prototypes.

Those Troublesome Requirements.



2. Moving to Use Cases.

It's All About Interactions.

The Unified Modeling Language.

Nine Diagrams.

Extending the UML with Stereotyping.

Introducing Use Cases, Use Case Diagrams, and Scenarios.

The Goals of Use Cases.

How Use Case Diagrams Show Relationships.

The Use Case Template.

Paths and Scenarios.

Use Cases Apply Here.

Use Cases for Inquiry-Only Systems.

Use Cases for Requests for Proposals.

Use Cases for Software Package Evaluation.

Use Cases for Non-Object-Oriented Systems.

Applying Use Cases to the Requirements Problem.



3. A Use-Case-Driven Approach to Requirements Gathering.

Requirements Specification Tools.

Principles for Requirements Success.

Three Steps for Gathering Requirements.

The Role of the Mission, Vision, Values.

The Role of the Statement of Work.

The Role of the Risk Analysis.

The Role of the Prototype.

The Roles of Use Cases.

Use Cases Are Effective Communication Vehicles.

Use Cases Can Be Used for Functional and Nonfunctional Requirements.

Use Cases Help Ensure Requirements Traceability.

Use Cases Discourage Premature Design.

The Role of the Business Rules Catalog.

Managing Success.



4. The Facade Iteration.

Objectives.

Users.

Project Team.

Industry Experts.

IT Management Group.

User Management Personnel.

Owners of the Data.

Steps in the Facade Iteration.

Create the Mission, Vision, Values.

Identify and Review Existing Documentation and Intellectual Capital.

Get the Executive Sponsor's Unique Viewpoint.

Review the Business Process Definitions.

Identify the Users, Customers, and Related Groups.

Interview the Stakeholders.

Create a Stakeholders List.

Find the Actors.

Create the Use Case Survey (A List of Facade Use Cases).

Collect and Document Nonfunctional Requirements.

Start the Business Rules Catalog.

Create a Risk Analysis.

Create a Statement of Work.

Begin Experimenting with User Interface Metaphors.

Begin User Interface Storyboards.

Get Informal Approval from the Executive Sponsor.

Tools.

The Use Case Diagram.

The Hierarchy Killer.

Use Case Name Filters.

Actor Filter.

Verb Filter.

Noun Filters.

Packages as Placeholders for Functionality.

Facade Filter.

Peer Review.

User Review.

Deliverables.

Roles.

Context.

Summary.



5. The Filled Iteration.

Objectives.

Steps.

Break Out Detailed Use Cases.

Create Filled Use Cases.

Add Business Rules.

Test the Filled Use Cases.

Put Some Things Off.

Tools.

The Stakeholder Interview.

IPA Filter.

White Space Analysis Filter.

Abstraction Filter.

Testing Use Cases with Scenarios.

Review.

Additional Use Cases.

Deliverables.

Roles.

Context.

Summary.



6. Focused Iteration.

Objectives.

What Are Focused Use Cases?

Steps.

Merge Duplicate Processes.

Bring Focus to Each Use Case.

Manage Scope Changes During This Iteration.

Manage Risks and Assumptions.

Review.

Tools.

Surplus Functionality Filter.

Narrow the Focus of the System.

Identify Surplus Functionality Inside the Use Case.

Vocabulary Filter.

Deliverables.

Roles.

Context.

Summary.



7. Managing Requirements and People.

Introduction.

Waterfall Lifecycle Management.

Nell and the Coffee Shop.

Disadvantages of Waterfall.

Alternatives to Waterfall.

Rapid Application Development (RAD).

Spiral.

Staged Delivery.

Holistic Iterative/Incremental (HI/I).

Introducing the Holistic Iterative/Incremental Use-Case-Driven Project Lifecycle.

The Meaning of Iterative.

The Meaning of Incremental.

The Meaning of Holistic.

The Meaning of Adaptivity.

Complex Adaptive Systems.

Process.

Principles of the Holistic Iterative/Incremental Software Lifecycle.

Manage Requirements Not Tasks.

The Important Goals Are the Business Goals--Dates and Budgets.

Think Like a Businessperson--What Have You Done for Me Lately?

Divide and Conquer.

Cut the Job into Programs and Projects.

Tie Everything Back to the Business.

Create Demonstrable Deliverables.

Learn the Art of "Good Enough" Quality.

The Pieces Will Be Smaller Than You Think.

Expect Negotiation, Not Specification.

Forget about Baselines and Sign-offs.

Estimate by Doing.

Calculate Return-on-Investment in a New Way Using Portfolios.



8. Requirements Traceability.

Tracing Back to Use Cases.

Analysis Model Traceability.

Design Model Traceability.

CRC Card Session Traceability.

Test Model Traceability.

User Interface Design Traceability.

Application Architecture Traceability.

Project Management Traceability.

Documentation and Training Traceability.

Product Marketing Traceability.

Security Traceability.

Release Planning.

Tracing Back to Nonfunctionals.

Tracing Back to Business Rules.

Structural Facts.

Action-Restricting and Action-Triggering Rules.

Calculations and Inferences.



9. Classic Mistakes.

Mistakes, Pitfalls, and Bruised Knees.

Classic Mistakes: Make Them and Move On.



10. The Case for Use Cases.

Why Did Use Cases Win?

Use Cases Are Sensible to Businesspeople.

Use Cases Are Traceable.

Use Cases Are an Excellent Scoping Tool.

Use Cases Don't Use a Special Language.

Use Cases Allow Us to Tell Stories.

The Alternatives Are Awful.

Use Cases Beyond Software.

Service Use Cases.

Business Use Cases.

Summary.



Appendix A. Real Estate Management System.

Overview.

The Use Cases.

The Actors.

Technical Requirements and Business Rules.

Scope Decisions.

List of Use Cases.

Refining the Requirements.

Investment Returns Calculation.

Tightening Requirements.



Appendix B. Integrated Systems.

Overview.

Background.

Problem Description.

Solution Analysis.



Appendix C. Instant Messaging Encryption.

Overview.

The Use Cases.



Appendix D. Order a Product from a Catalog.


Bibliography.


Index.

商品描述(中文翻譯)

摘要

本書描述了如何使用基於用例的過程來收集和定義軟體需求。它向系統分析師和設計師展示了用例如何能夠解決最具挑戰性的需求問題,從而產生有效且高品質的系統,滿足用戶的需求。

《用例,第二版:上下文中的需求》描述了一種建立需求的三步驟方法——這是一個迭代過程,能夠產生越來越精煉的需求。作者根據他們豐富的實際經驗,提供了大量有關用例驅動的生命週期、變更規劃和保持進度的建議。此外,他們還包含了許多詳細的例子來說明實際應用。

這一版納入了過去幾年來用例方法論的許多進展。具體而言,這一新版本對方法論的迭代進行了重大更改,管理部分反映了當今更快節奏和更“混沌”的軟體生命週期。此外,作者還新增了一章關於用例可追溯性問題,並修訂了附錄,以更清楚地顯示用例的演變。

本書以簡要介紹用例和統一建模語言(UML)開篇。它解釋了用例如何減少重複和不一致需求的發生,以及它們如何促進文檔過程和利益相關者之間的溝通。

本書將教你如何:
- 使用用例圖和場景描述角色與應用之間的關係和互動的上下文
- 指定功能性和非功能性需求
- 創建候選用例列表
- 詳細拆分用例並為用例圖添加細節
- 為用例添加觸發器、前提條件、基本事件流程和例外情況
- 管理迭代/增量的用例驅動專案生命週期
- 追溯到用例、非功能性需求和業務規則
- 避免經典錯誤和陷阱

本書還突出了許多當前可用的工具,包括用例名稱過濾器、上下文矩陣、用戶介面需求,以及作者自己的“層級殺手”。

目錄

前言。

第一版前言。

1. 需求的問題。
- 首先也是最重要的。
- 什麼是需求?
- 功能性需求。
- 非功能性需求。
- 需求收集、定義和規範。
- 收集需求的挑戰。
- 瞭解用戶的需求。
- 記錄用戶的需求。
- 避免過早的設計假設。
- 解決衝突的需求。
- 消除冗餘需求。
- 減少壓倒性的數量。
- 確保需求可追溯性。
- 標準方法的問題。
- 用戶訪談。
- 聯合需求規劃會議。
- 合同式需求列表。
- 原型。
- 那些麻煩的需求。

2. 轉向用例。
- 一切都與互動有關。
- 統一建模語言。
- 九種圖表。
- 使用類型擴展UML。
- 介紹用例、用例圖和場景。
- 用例的目標。
- 用例圖如何顯示關係。
- 用例模板。
- 路徑和場景。
- 用例在這裡的應用。
- 僅查詢系統的用例。
- 提案請求的用例。
- 軟體包評估的用例。
- 非物件導向系統的用例。
- 將用例應用於需求問題。

3. 用例驅動的需求收集方法。
- 需求規範工具。
- 需求成功的原則。
- 收集需求的三個步驟。
- 任務、願景、價值的角色。
- 工作說明書的角色。
- 風險分析的角色。
- 原型的角色。
- 用例的角色。
- 用例是有效的溝通工具。
- 用例可用於功能性和非功能性需求。
- 用例有助於確保需求可追溯性。
- 用例不鼓勵過早設計。
- 業務規則目錄的角色。
- 管理成功。

4. 外觀迭代。
- 目標。
- 用戶。
- 專案團隊。
- 行業專家。
- IT管理小組。
- 用戶管理人員。
- 數據擁有者。
- 外觀迭代的步驟。
- 創建任務、願景、價值。
- 確認和審查現有文檔和智力資本。
- 獲取執行贊助人的獨特觀點。
- 審查業務流程定義。
- 確認用戶、客戶和相關群體。
- 訪談利益相關者。
- 創建利益相關者列表。
- 找到角色。
- 創建用例調查(外觀用例列表)。
- 收集和記錄非功能性需求。
- 開始業務規則目錄。
- 創建風險分析。
- 創建工作說明書。
- 開始實驗用戶介面隱喻。
- 開始用戶介面故事板。
- 獲取執行贊助人的非正式批准。
- 工具。
- 用例圖。
- 層級殺手。
- 用例名稱過濾器。
- 角色過濾器。
- 動詞過濾器。
- 名詞過濾器。
- 作為功能佔位符的包。
- 外觀過濾器。
- 同行評審。
- 用戶評審。
- 可交付成果。
- 角色。
- 上下文。
- 摘要。

5. 填充迭代。
- 目標。
- 步驟。
- 詳細拆分用例。
- 創建填充用例。
- 添加業務規則。
- 測試填充用例。
- 推遲某些事項。
- 工具。
- 利益相關者訪談。
- IPA過濾器。
- 空白分析過濾器。
- 抽象過濾器。
- 使用場景測試用例。
- 審查。