Use Cases: Requirements in Context
暫譯: 使用案例:情境中的需求

Daryl Kulak, Eamonn Guiney

  • 出版商: Addison Wesley
  • 出版日期: 2000-05-08
  • 售價: $1,710
  • 貴賓價: 9.5$1,625
  • 語言: 英文
  • 頁數: 329
  • 裝訂: Paperback
  • ISBN: 0201657678
  • ISBN-13: 9780201657678
  • 已過版

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

商品描述


Description

Use cases for requirements gathering: an ideal tutorial and a handy reference.

  • Step-by-step coverage: problem statements, risk analysis, prototyping, and iteration.
  • Managing requirements gathering: processes, teams, and classic mistakes to avoid.
  • Includes end-of-chapter quizzes, detailed glossary, and more.
Software developers are increasingly recognizing the value of careful up-front requirements gathering in enhanced efficiency and reduced software defects. The best way to gather requirements accurately and precisely is with use cases and UML -- and this book walks you through the entire process, step-by-step. Both an excellent tutorial and a handy reference, Use Cases: Requirements in Context begins with a detailed overview of requirements gathering, its key challenges, and why traditional approaches often fail. Next, understand the key concepts underlying use cases; use case diagrams and scenarios; relationships and interactions; and the role of use cases in each major type of software development project. Review the four steps of the requirements gathering process, from problem statement through prototype; then walk through each iteration of the use case, step-by-step. The book includes insightful coverage of managing the requirements gathering process, building teams, and assuring quality -- plus a full chapter on the classic mistakes made in requirements gathering, and how to avoid them. For all systems analysts, project managers, and software engineers.

Daryl Kulak is the Director of the Object-Oriented Solutions Practice for Complete Business Solutions, Inc. (CBSI). During his 15-year career managing software development projects in the United States and Canada, he has focused on use cases, iterative/incremental development, and components.

Eamonn Guiney is a Technical Architect for CBSI and manages object-oriented software development projects.

Back to Top


Appropriate Courses

Introduction to Software Engineering, Unified Modeling Language (UML).

Back to Top


Table Of Contents

1. Preface 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.
Requirements Lists.
Prototypes.

Those Troublesome Requirements.

2. Moving to Use Cases.
It's All About Interactions.
Hello World!.
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 Specifications Tools.
Principles for Requirements Success.
Four Steps for Gathering Requirements.
The Role of the Problem Statement.
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.
Steps in the Facade Iteration.
Create a Problem Statement.
Identify and Review Existing.
Documentation and Intellectual Capital.
Get the Executive Sponsor's Unique Viewpoint.
Identify the Users, Customers, and Related Groups.
Interview the Stakeholders.
Find the Actors.
Create the Facade Use Cases.
Start the Business Rules Catalog.
Create a Risk Analysis.
Create a Statement of Work.
Get Informal Approval from the Executive Sponsor.

Tools.
System Context Use Case.
Use Case Name Filters.
Candidate Use Case List.
Actor Filter.
Verb Filter.
Noun Filter.
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.
Collect and Document Nonfunctional Requirements.
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. The Focused Iteration.
Objectives.
What Are Focused Use Cases?
Steps.
Create the Context Matrix.
Remove Duplicate Processes.

Bring Focus to Each Use Case.
Scope Changes During This Iteration.
Strategies for Change.
Risks and Assumptions.
Review.
Opportunities Not Taken.
System Damage.

Client Sign-Off.
Tools.
Context Matrix.
Dependency Filter.
Surplus Functionality Filter.
Narrow the Focus of the System.
Identify Surplus Functionality Inside the Use Case.
Vocabulary Filter.

Deliverables.
Roles.
Context.
Summary.

7. The Finished Iteration.
Objectives.
Steps.
Add User Interface Requirements.
Abstract and Combine Nonfunctional Requirements.
Make Final Scope Decisions and Get Sign-Off.
Baseline the Requirements.

Tools.
Use Case Review.

Deliverables.
Roles.
Context.
Summary.

8. Managing the Requirements Activity.
Managing the Iterative, Incremental Lifecycle.
Why Switch from Waterfall?
The Meaning of ''Incremental''.
The Meaning of ''Iterative''.
From Waterfall to Iterative and Incremental.
Developers Love It, but Managers Struggle.

The Role of the Scenario in Management.
Using Scenarios to Plan, Schedule, and Estimate.
You Know the Plan Is Wrong.
The Atmosphere During Requirements Gathering.
Hectic Activity.
Fear of the Future.
Free-Flowing Adaptability.

Managing Application and Architecture Requirements.
Ensuring Quality in Requirements.
Provide Unique Identification for Use Cases and Business Rules.
Use a Database to Store Use Cases and Business Rules.
Identify Change Cases.

A Management Challenge.

9. Working in Teams.
Organizing by Team.
Splitting Up the Work.
Deploying Configuration Management.
Avoiding Quality Problems.
Catch All the Requirements.
Create Consistent Use Cases.
Avoid Use Case Redundancy.


10. Classic Mistakes.
Mistakes, Pitfalls, and Bruised Knees.
Classic Mistakes: Make Them and Move On.

11. The Case for Use Cases.
A. Use Cases Beyond Requirements.
Business Modeling.
Requirements Gathering.
Analysis.
Design.
Use Case Hierarchies for User Interface Design.
Using Scenarios As Units of Work for Transaction Processing.
Architectural Use Cases.
Using Actors As Security Profiles.
Using Scenarios to Manage Security.
Using Scenarios to Manage Prefetch.

Construction.
Testing.
Deployment.
Project Management.

B. Case Study: Sell Property.
The Facade Iteration.
Problem Statement.
Statement of Work.
Risk Analysis.
Facade Use Cases.

The Filled Iteration.
Risk Analysis.
Filled use Cases.
Business Rules.
Context Matrix.
Nonfunctional Requirements.
Testing Using Scenarios.

The Focused Iteration.
Risk Analysis.
Focused Use Cases.
Business Rules.

The Finished Iteration.
Risk Analysis.
Finished Use Cases.
Business Rules.


C. Case Study: Track Costume Sales.
The Facade Iteration.
Problem Statement.
Statement of Work.
Risk Analysis.
Facade Use Cases.
Business Rules.

The Filled Iteration.
Statement of Work.
Filled Use Cases.
Business Rules.
Context Matrix.
Nonfunctional Requirements.
Testing Using Scenarios.

The Focused Iteration.
Risk Analysis.
Focused Use Cases.
Business Rules.

The Finished Iteration.
Finished Use Cases.
Business Rules.


Bibliography.
Index. 0201657678T04062001


Back to Top

商品描述(中文翻譯)

描述

使用案例收集需求的用例:理想的教程和實用的參考資料。
- 步驟逐步涵蓋:問題陳述、風險分析、原型設計和迭代。
- 管理需求收集:流程、團隊和經典錯誤的避免。
- 包含章末測驗、詳細詞彙表等。

軟體開發人員越來越認識到,仔細的前期需求收集能提高效率並減少軟體缺陷。準確而精確地收集需求的最佳方法是使用案例和UML——本書將逐步引導您完成整個過程。使用案例:上下文中的需求不僅是優秀的教程,也是實用的參考資料,首先詳細概述了需求收集、其主要挑戰以及為何傳統方法經常失敗。接下來,了解使用案例的基本概念;使用案例圖和場景;關係和互動;以及使用案例在每種主要軟體開發專案中的角色。回顧需求收集過程的四個步驟,從問題陳述到原型;然後逐步走過每次使用案例的迭代。本書深入探討了管理需求收集過程、建立團隊和確保質量的內容——還有一整章關於需求收集中的經典錯誤及如何避免它們。適合所有系統分析師、專案經理和軟體工程師。

是Complete Business Solutions, Inc. (CBSI)的物件導向解決方案實務部門主任。在美國和加拿大管理軟體開發專案的15年職業生涯中,他專注於使用案例、迭代/增量開發和元件。

Eamonn Guiney是CBSI的技術架構師,負責管理物件導向軟體開發專案。

適合的課程

軟體工程導論、統一建模語言 (UML)。

目錄

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

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

3. 使用案例驅動的需求收集方法。
- 需求規範工具。
- 需求成功的原則。
- 收集需求的四個步驟。
- 問題陳述的角色。
- 工作說明書的角色。
- 風險分析的角色。
- 原型的角色。
- 使用案例的角色。
- 使用案例是有效的溝通工具。
- 使用案例可用於功能和非功能需求。
- 使用案例有助於確保需求的可追溯性。
- 使用案例可防止過早設計。
- 商業規則目錄的角色。
- 管理成功。

4. 外觀迭代。
- 目標。
- 外觀迭代的步驟。
- 創建問題陳述。
- 確定並審查現有的文檔和智力資本。
- 獲取執行贊助者的獨特觀點。
- 確定使用者、客戶和相關團體。
- 訪談利益相關者。
- 找出行為者。
- 創建外觀使用案例。
- 開始商業規則目錄。
- 創建風險分析。
- 創建工作說明書。
- 獲得執行贊助者的非正式批准。
- 工具。
- 系統上下文使用案例。
- 使用案例名稱過濾器。
- 候選使用案例清單。
- 行為者過濾器。
- 動詞過濾器。
- 名詞過濾器。
- 功能的佔位符包。
- 外觀過濾器。
- 同儕審查。
- 使用者審查。
- 可交付成果。
- 角色。
- 上下文。
- 總結。

5. 填充迭代。
- 目標。
- 步驟。
- 拆分詳細的使用案例。
- 創建填充的使用案例。
- 收集並記錄非功能需求。
- 添加商業規則。
- 測試填充的使用案例。
- 延遲某些事項。
- 工具。
- 利益相關者訪談。
- IPA過濾器。
- 空白分析過濾器。
- 抽象過濾器。
- 使用場景測試使用案例。
- 審查。
- 額外的使用案例。
- 可交付成果。
- 角色。
- 上下文。
- 總結。

6. 專注迭代。
- 目標。
- 什麼是專注的使用案例?
- 步驟。
- 創建上下文矩陣。
- 消除重複的流程。
- 將焦點放在每個使用案例上。
- 此次迭代中的範圍變更。
- 變更策略。
- 風險和假設。
- 審查。
- 未採取的機會。
- 系統損壞。
- 客戶簽署。
- 工具。
- 上下文矩陣。
- 依賴過濾器。
- 剩餘功能過濾器。
- 縮小系統的焦點。
- 確定使用案例中的剩餘功能。
- 詞彙過濾器。
- 可交付成果。
- 角色。
- 上下文。
- 總結。

7. 完成迭代。
- 目標。
- 步驟。
- 添加使用者介面需求。
- 抽象並合併非功能需求。
- 做出最終範圍決策並獲得簽署。
- 基準需求。
- 工具。
- 使用案例審查。
- 可交付成果。
- 角色。
- 上下文。
- 總結。

8. 管理需求活動。
- 管理迭代、增量生命週期。
- 為什麼要從瀑布轉變?
- “增量”的含義。
- “迭代”的含義。
- 從瀑布到迭代和增量。
- 開發人員喜愛,但管理者掙扎。
- 場景在管理中的角色。
- 使用場景進行計劃、排程和估算。
- 你知道計劃是錯誤的。
- 需求收集期間的氛圍。
- 繁忙的活動。
- 對未來的恐懼。
- 自由流動的適應性。
- 管理應用程式和架構需求。
- 確保需求的質量。
- 為使用案例和商業規則提供唯一識別。
- 使用資料庫存儲使用案例和商業規則。
- 確定變更案例。
- 管理挑戰。

9. 團隊合作。
- 按團隊組織。
- 分配工作。
- 部署配置管理。
- 避免質量問題。
- 捕捉所有需求。
- 創建一致的使用案例。
- 避免使用案例冗餘。

10. 經典錯誤。
- 錯誤、陷阱和受傷的膝蓋。
- 經典錯誤:犯錯並繼續前進。

11. 使用案例的理由。
A. 超越需求的使用案例。
- 商業建模。
- 需求收集。
- 分析。
- 設計。
- 用於使用者介面設計的使用案例層級。
- 使用場景作為交易處理的工作單位。
- 架構使用案例。
- 使用行為者作為安全配置文件。
- 使用場景管理安全性。
- 使用場景管理預取。
- 建設。
- 測試。
- 部署。
- 專案管理。
B. 案例研究:銷售財產。
- 外觀迭代。
- 問題陳述。
- 工作說明書。
- 風險分析。
- 外觀使用案例。
- 填充迭代。
- 風險分析。
- 填充的使用案例。
- 商業規則。
- 上下文矩陣。
- 非功能需求。
- 使用場景進行測試。
- 專注迭代。
- 風險分析。
- 專注的使用案例。
- 商業規則。
- 完成迭代。
- 風險分析。
- 完成的使用案例。
- 商業規則。
C. 案例研究:追蹤服裝銷售。
- 外觀迭代。
- 問題陳述。
- 工作說明書。
- 風險分析。
- 外觀使用案例。
- 商業規則。
- 填充迭代。
- 工作說明書。
- 填充的使用案例。
- 商業規則。
- 上下文矩陣。
- 非功能需求。
- 使用場景進行測試。
- 專注迭代。
- 風險分析。
- 專注的使用案例。
- 商業規則。
- 完成迭代。
- 完成的使用案例。
- 商業規則。

參考書目。

索引。 0201657678T04062001