Managing Software Requirements: A Unified Approach
暫譯: 管理軟體需求:統一方法

Dean Leffingwell, Don Widrig

  • 出版商: Addison Wesley
  • 出版日期: 1999-10-28
  • 售價: $2,030
  • 貴賓價: 9.5$1,929
  • 語言: 英文
  • 頁數: 528
  • 裝訂: Hardcover
  • ISBN: 0201615932
  • ISBN-13: 9780201615937
  • 已絕版

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

相關主題

商品描述


Table Of Contents

Foreword.
Preface.
Introduction.
Chapter 1. The Requirements Problem.
The Goal.
A Look at the Data.
Root Causes of Project Success and Failure.
The Frequency of Requirements Errors.
The High Cost of Requirements Errors.
Conclusion.


2. Introduction to Requirements Management.
Definitions.
What Is Requirements Management?

Application of Requirements Management Techniques.
Systems Applications.

The Road Map.
The Problem Domain.
Stakeholder Needs.
Moving Toward the Solution Domain.
Features of the System.
Software Requirements.
An Introduction to Use Cases.

Summary.

3. The Software Team.
Software Development as a Team Activity.
Requisite Team Skills for Effective Requirements Management.
Team Members Have Different Skills.
The Organization of Software Teams.

The Case Study.
Background for the Case Study.
The HOLIS Software Development Team.

Summary.

I. ANALYZING THE PROBLEM.


4. The Five Steps in Problem Analysis.
Step 1: Gain Agreement on the Problem Definition.
The Problem Statement.

Step 2: Understand the Root Causes--The Problem Behind the Problem.
Addressing the Root Cause.

Step 3: Identify the Stakeholders and the Users.
Step 4: Define the Solution System Boundary.
Step 5: Identify the Constraints to Be Imposed on the Solution.
Summary.
Looking Ahead.

5. Business Modeling.
Purpose of Business Modeling.
Using Software Engineering Techniques for Business Modeling.
Choosing the Right Technique.
The Unified Modeling Language (UML).
Business Modeling Using UML Concepts.

From The Business Models to the Systems Model.
When To Use Business Modeling.
Summary.
Looking Ahead.

6. Systems Engineering of Software Intensive Systems.
What Is Systems Engineering?
Pragmatic Principles of Systems Engineering.
The Composition and Decomposition of Complex Systems.

Requirements Allocation in Systems Engineering.
On Derived Requirements.
A Quiet Revolution.
When Generations Collide: Graybeard Meets Young Whippersnapper.
Avoiding the Stovepipe System Problem.
When Subsystems Are Subcontracts.
Making It Work Out Right.
The Case Study.
Preliminary User Needs.
Problem Analysis.
HOLIS: The System, Actors, and Stakeholders.
HOLIS Systems Engineering.
The Subsystems of HOLIS.

II. UNDERSTANDING USER NEEDS.



7. The Challenge of Requirements Elicitation.
Barriers to Elicitation.
The "Undiscovered Ruins" Syndrome.
The "User and the Developer" Syndrome.

Techniques for Requirements Elicitation.

8. The Features of a Product or System.
Stakeholder and User Needs.
Features.
Managing Complexity by Picking the Level of Abstraction.
Attributes of Product Features.


9. Interviewing.
The Interview Context.
Value-Added Context.
The Moment of Truth: The Interview.
Compiling the Need Data.
The Analyst's Summary: 10+10+10 _ 30.
The Case Study.

A Note on Questionnaires.

10. Requirements Workshops.
Preparing for the Workshop.
Selling the Concept.
Ensuring the Participation of the Right Stakeholders.
Logistics.
"Warm-Up Materials".

Role of the Facilitator.
Setting the Agenda.
Running the Workshop.
Brainstorming and Idea Reduction.
Production and Follow-Up.

11. Brainstorming and Idea Reduction.
Live Brainstorming.
Idea Reduction.
Pruning.
Grouping Ideas.
Feature Definition.
Prioritization.

Web-Based Brainstorming.
The Case Study: The HOLIS 2000 Requirements Workshop.
Attendees.
The Workshop.
The Session.
Analysis of Results.


12. Storyboarding.
Types of Storyboards.
What Storyboards Do.
Tools and Techniques for Storyboarding.
Tips for Storyboarding.
Summary.

13. Applying Use Cases.
Building the Use Case Model.
Applying Use Cases to Requirements Elicitation.
Case Study: The Use Cases for HOLIS.
Summary.

14. Role Playing.
How to Role Play.
Techniques Similar to Role Playing.
Scripted Walkthroughs.
CRC (Class-Responsibility-Collaboration) Cards.

Summary.

15. Prototyping.
Types of Prototypes.
Requirements Prototypes.
What to Prototype.
Building the Prototype.
Evaluating the Results.

Summary.

III. DEFINING THE SYSTEM.


16. Organizing Requirements Information.
Organizing Requirements of Complex Hardware and Software Systems.
Organizing Requirements for Product Families.
On "Future" Requirements.
Business and Marketing Requirements versus Product Requirements.
The Case Study.
Summary.

17. The Vision Document.
Components of the Vision Document.
The "Delta Vision" Document.
Vision Document for Release 1.0.
Vision Document for Version 2.0.
The Delta Vision Document in a Legacy System Environment.


18. The Champion.
The Role of the Product Champion.
The Product Champion in a Software Product Environment.
The Product Champion in an IS/IT Shop.

IV. MANAGING SCOPE.


19. The Problem of Project Scope.
Components of Project Scope.
The Hard Question.

20. Establishing Project Scope.
Setting Priorities.
Assessing Effort.
Adding the Risk Element.
Reducing Scope.
A Reasonable First Estimate.

The Case Study.

21. Managing Your Customer.
Engaging Customers to Manage their Project Scope.
Communicating the Result.
Negotiating with the Customer.
Managing the Baseline.
Official Change.
Unofficial Change.


22. Scope Management and Software Development Process Models.
The Waterfall Model.
The Spiral Model.
The Iterative Approach.
Life Cycle Phases.
Iterations.
Work Flows.

What to Do, What to Do....

V. REFINING THE SYSTEM DEFINITION.


23. Software Requirements.
Definition of Software Requirements.
Relationship Between Features and Software Requirements.
The Requirements Dilemma: What versus How.
Exclude Project Information.
Exclude Design Information.

More on Requirements versus Design.
Iterating Requirements and Design.

A Further Characterization of Requirements.
Functional Software Requirements.
Nonfunctional Software Requirements.
Design constraints.
Are Design Constraints True Requirements?

Using Parent-Child Requirements to Increase Specificity.
Organizing Parent-child Requirements.

Looking Ahead.

24. Refining the Use Cases.
Questions to Ask.
When Are Use Cases Not the Best Choice?
Is Redundancy a problem?

Refining Use Case Specifications.
How Use Cases Evolve.
The Scope of a Use Case.

The Case Study: Anatomy of a Simple Use Case.
Define the Actor(s).
Define the Use Case by Naming It.
Write a Brief Description.
Define a Flow of Events.
Identify Pre- and Postconditions.

Looking Ahead.

25. A Modern Software Requirements Specification.
The Modern SRS Package.
Who Owns the SRS Package?
Organizing the Modern SRS Package.

Documenting Functional Requirements.
Looking Ahead.

26. On Ambiguity and Specificity.
Mary Had A Little Lamb.
Techniques for Disambiguation.
What to Do?

27. Quality Measures of Software Requirements.
Nine Quality Measures.
Correct Requirements.
Unambiguous Requirements.
Completeness of the Requirement Set.
Consistency in the Requirement Set.
Requirements Ranked for Importance and Stability.
Verifiable Requirement.
Modifiable Requirements Set.
Traceable Requirements.
Understandable Requirements.

Quality Measures for the Use-Case Model.
Use Case Specifications.
Use Case Actors.

Quality Measures of the Modern SRS Package.
A Good Table of Contents.
A Good Index.
A Revision History.
A Glossary.


28. Technical Methods for Specifying Requirements.
Pseudocode.
Finite State Machines.
Decision Trees and Decision Tables.
Graphical Decision Trees.
Activity Diagrams.
Entity-Relationship Models.
Object-Oriented Modeling.
Data Flow Diagrams.
Maintenance of Specifications.

VI. Building the Right System.


29. Building the Right System Right: Overview.
Continually Confirm that the Development Is on Track.
Principles of Software Verification.
The Cost of Verification.
Verification at All Levels.
The Reason for Verification.

Confirm that the Development Results Are Correct.
Learn How to Cope with Change that Occurs During the Development Process.
Looking Ahead.

30. From Requirements to Implementation.
Mapping Requirements to Design and Code.
The Orthogonality Problem.
Object Orientation.
The Use Case as Requirement.
Managing the Transition.
Modeling Software Systems.
Role of the Use-Case Model in Architecture.

Realizing Use Cases in the Design Model.
Structural and Behavioral Aspects of Collaborations.
Using Collaborations to Realize Sets of Individual Requirements.

From Design to Implementation.
Summary.
Looking Ahead.

31. Using Traceability to Support Verification.
The Role of Traceability in Requirements Verification.
Implicit versus Explicit Traceability.
Additional Traceability Options to Consider.
Using Traceability Tools.
Maintenance of Traceability Relationships.

Proceeding without Traceability Tools.
Omitted Verification Relationships.
Excess Verification Relationships.

Thinking About Verification and Traceability.
Looking Ahead.

32. Validating the System.
Validation.
Validation Testing.
Validation Traceability.
Requirements-based Testing.

Case Study: Testing Use Cases.
Test Case 1 Description.
Tracing Test Cases.

Testing Discrete Requirements.
Omitted Validation Relationships.
Excess Validation Relationships.

Testing Design Constraints.
Looking Ahead.

33. Using ROI to Determine the V&V Effort.
Depth versus Coverage.
V&V Coverage.

What to Verify and Validate.
Option 1: Verify and Validate Everything.
Option 2: Use a Hazard Analysis to Determine V&V Necessities.
Hazard Analysis as Return On Investment (ROI).

Looking Ahead.

34. Managing Change.
External Factors.
Internal Factors.
"We Have Met the Enemy, and They Is Us".
A Process for Managing Change.
Step 1: Recognize that Change Is Inevitable, and Plan for It.
Step 2: Baseline the Requirements.
Step 3: Establish A Single Channel to Control Change.
Step 4: Use a Change Control System to Capture Changes.
Step 5: Manage Change Hierarchically.

Requirements Configuration Management.
Tool-based Support for Change Management.
Elements Impacted by Change.
Audit Trail of Change History.
Configuration Management and Change Management.

Summary.

35. Getting Started.
Dedication.
What We've Learned So Far.
Introduction.
Team Skill 1: Analyzing the Problem.
Team Skill 2: Understanding User Needs.
Team Skill 3: Defining the System.
Team Skill 4: Managing Scope.
Team Skill 5: Refining the System Definition.
Team Skill 6: Building the Right System.

Your Prescription for Requirements Management.
Simplifying Assumptions.
The Recipe.

Now, On To the Next Release!

Appendix A.
Appendix B.
Appendix C.
Appendix D.
Appendix E.
Bibliography.
Index. 0201615932T04062001


Back to Top

商品描述(中文翻譯)

```
目錄

前言
序言
介紹
第1章 需求問題
目標
數據概覽
專案成功與失敗的根本原因
需求錯誤的頻率
需求錯誤的高成本
結論

第2章 需求管理簡介
定義
什麼是需求管理?
需求管理技術的應用
系統應用
路線圖
問題領域
利害關係者需求
朝向解決方案領域的移動
系統的特徵
軟體需求
用例簡介
摘要

第3章 軟體團隊
軟體開發作為團隊活動
有效需求管理所需的團隊技能
團隊成員擁有不同的技能
軟體團隊的組織
案例研究
案例研究的背景
HOLIS軟體開發團隊
摘要

I. 分析問題

第4章 問題分析的五個步驟
步驟1:就問題定義達成共識
問題陳述
步驟2:了解根本原因——問題背後的問題
解決根本原因
步驟3:識別利害關係者和使用者
步驟4:定義解決方案系統邊界
步驟5:識別對解決方案施加的限制
摘要
展望未來

第5章 商業建模
商業建模的目的
使用軟體工程技術進行商業建模
選擇合適的技術
統一建模語言(UML)
使用UML概念進行商業建模
從商業模型到系統模型
何時使用商業建模
摘要
展望未來

第6章 軟體密集系統的系統工程
什麼是系統工程?
系統工程的務實原則
複雜系統的組成與分解
系統工程中的需求分配
關於衍生需求
安靜的革命
當世代相撞:老前輩遇上年輕人
避免煙囪系統問題
當子系統是分包合約時
使其正確運作
案例研究
初步使用者需求
問題分析
HOLIS:系統、角色和利害關係者
HOLIS系統工程
HOLIS的子系統

II. 理解使用者需求

第7章 需求引導的挑戰
引導的障礙
「未發現的遺跡」綜合症
「使用者與開發者」綜合症
需求引導的技術

第8章 產品或系統的特徵
利害關係者和使用者需求
特徵
通過選擇抽象層級來管理複雜性
產品特徵的屬性

第9章 面試
面試背景
增值背景
關鍵時刻:面試
編輯需求數據
分析師摘要:10+10+10 = 30
案例研究
關於問卷的說明

第10章 需求工作坊
準備工作坊
推銷概念
確保正確利害關係者的參與
後勤
「熱身材料」
促進者的角色
設定議程
運行工作坊
腦力激盪與想法縮減
產出與後續

第11章 腦力激盪與想法縮減
現場腦力激盪
想法縮減
修剪
分組想法
特徵定義
優先排序
基於網路的腦力激盪
案例研究:HOLIS 2000需求工作坊
與會者
工作坊
會議
結果分析

第12章 故事板
故事板的類型
故事板的功能
故事板的工具與技術
故事板的提示
摘要

第13章 應用用例
建立用例模型
將用例應用於需求引導
案例研究:HOLIS的用例
摘要

第14章 角色扮演
如何進行角色扮演
類似於角色扮演的技術
腳本式演練
CRC(類別-責任-協作)卡片
摘要

第15章 原型設計
原型的類型
需求原型
應該原型什麼
建立原型
評估結果
摘要

III. 定義系統

第16章 組織需求資訊
組織複雜硬體和軟體系統的需求
為產品系列組織需求
關於「未來」需求
商業與市場需求與產品需求的區別
案例研究
摘要

第17章 願景文件
願景文件的組成部分
「Delta Vision」文件
版本1.0的願景文件
版本2.0的願景文件
在遺留系統環境中的Delta Vision文件

第18章 產品冠軍
產品冠軍的角色
在軟體產品環境中的產品冠軍
在IS/IT商店中的產品冠軍

IV. 管理範圍

第19章 專案範圍的問題
專案範圍的組成部分
艱難的問題

第20章 確立專案範圍
設定優先順序
評估努力
加入風險因素
縮減範圍
合理的初步估算
案例研究

第21章 管理您的客戶
吸引客戶管理其專案範圍
溝通結果
與客戶談判
管理基線
正式變更
非正式變更

第22章 範圍管理與軟體開發過程模型
瀑布模型
螺旋模型
迭代方法
生命週期階段
迭代
工作流程
該做什麼,該做什麼....

V. 精煉系統定義

第23章 軟體需求
軟體需求的定義
特徵與軟體需求之間的關係
需求困境:什麼與如何
排除專案資訊
排除設計資訊
關於需求與設計的更多資訊
需求與設計的迭代
需求的進一步特徵化
功能性軟體需求
非功能性軟體需求
設計約束
設計約束是否是真正的需求?
使用父子需求來增加具體性
組織父子需求
展望未來

第24章 精煉用例
要問的問題
何時用例不是最佳選擇?
冗餘是否是問題?
精煉用例規範
用例的演變
用例的範圍
案例研究:簡單用例的解剖
定義角色
通過命名定義用例
撰寫簡要描述
定義事件流程
識別前置條件和後置條件
展望未來

第25章 現代軟體需求規範
現代SRS包
誰擁有SRS包?
組織現代SRS包
記錄功能需求
展望未來

第26章 關於模糊性與具體性
瑪莉有一隻小羊
消歧義的技術
該怎麼做?

第27章 軟體需求的質量衡量
九項質量衡量
正確的需求
明確的需求
需求集的完整性
需求集的一致性
按重要性和穩定性排名的需求
可驗證的需求
可修改的需求集
可追蹤的需求
可理解的需求
用例模型的質量衡量
用例規範
用例角色
現代SRS包的質量衡量
良好的目錄
良好的索引
修訂歷史
詞彙表

第28章 指定需求的技術方法
偽代碼
有限狀態機
決策樹和決策表
圖形決策樹
活動圖
```