Atnaujinkite slapukų nuostatas

El. knyga: Visual Models for Software Requirements

4.15/5 (104 ratings by Goodreads)
  • Formatas: 480 pages
  • Serija: Developer Best Practices
  • Išleidimo metai: 15-Jul-2012
  • Leidėjas: Microsoft Press,U.S.
  • Kalba: eng
  • ISBN-13: 9780735667761
Kitos knygos pagal šią temą:
  • Formatas: 480 pages
  • Serija: Developer Best Practices
  • Išleidimo metai: 15-Jul-2012
  • Leidėjas: Microsoft Press,U.S.
  • Kalba: eng
  • ISBN-13: 9780735667761
Kitos knygos pagal šią temą:

DRM apribojimai

  • Kopijuoti:

    neleidžiama

  • Spausdinti:

    neleidžiama

  • El. knygos naudojimas:

    Skaitmeninių teisių valdymas (DRM)
    Leidykla pateikė šią knygą šifruota forma, o tai reiškia, kad norint ją atrakinti ir perskaityti reikia įdiegti nemokamą programinę įrangą. Norint skaityti šią el. knygą, turite susikurti Adobe ID . Daugiau informacijos  čia. El. knygą galima atsisiųsti į 6 įrenginius (vienas vartotojas su tuo pačiu Adobe ID).

    Reikalinga programinė įranga
    Norint skaityti šią el. knygą mobiliajame įrenginyje (telefone ar planšetiniame kompiuteryje), turite įdiegti šią nemokamą programėlę: PocketBook Reader (iOS / Android)

    Norint skaityti šią el. knygą asmeniniame arba „Mac“ kompiuteryje, Jums reikalinga  Adobe Digital Editions “ (tai nemokama programa, specialiai sukurta el. knygoms. Tai nėra tas pats, kas „Adobe Reader“, kurią tikriausiai jau turite savo kompiuteryje.)

    Negalite skaityti šios el. knygos naudodami „Amazon Kindle“.

Provides information on using visual models in the software engineering process.

This book will help business analysts, product managers, project managers, and software developers use the visual models of Requirements Modeling Language (RML), such as process diagrams, flow charts, and algorithms, to explain software requirements to various business and technical stakeholders and to demonstrate what a specific software solution will and will not deliver. The models can be used with software that operates within an existing infrastructure, and can also be used on stand-alone software and embedded systems. Each model chapter begins with a story relating the model to the real world, then offers a model template, suggests tools for creating the model, and explains how to use the model. Chapters conclude with a scenario-based exercise in the context of one sample project used throughout the book; detailed, illustrated answers are supplied in an appendix. The final section of the book tells how to select the models and use them together to derive requirements. A companion website offers downloadable templates and instructions on using them to create models. Beatty is a modeling consultant. Chen is a software requirements consultant. Annotation ©2012 Book News, Inc., Portland, OR (booknews.com)

Foreword xxvii
Introduction xxix
PART I AN INTRODUCTION TO MODELS
Chapter 1 Introduction to RML
3(10)
RML Defined
4(1)
Challenges with Traditional Software Requirements Practices
4(3)
Limitations of the Human Brain
4(2)
Pictures Are Easy, Words Are Hard
6(1)
Requirements Models
7(4)
Why Not UML?
8(1)
Requirements vs. Design
8(2)
Requirements Models Are Not the End Game
10(1)
Using RML on Projects
11(1)
Additional Resources
11(1)
References
11(2)
Chapter 2 Model Categorization
13(10)
Objectives, People, Systems, and Data Models
14(3)
Bounding Models
15(1)
All Four Categories Are Needed
15(2)
Objectives Models
17(1)
People Models
18(1)
Systems Models
19(1)
Data Models
20(1)
References
20(3)
PART II OBJECTIVES MODELS
Chapter 3 Business Objectives Model
23(20)
Business Objectives Model Template
25(1)
Example
26(3)
Creating Business Objectives Models
29(6)
Identify Business Problems
30(1)
Identify Business Objectives
31(1)
Define Additional Problems and Objectives
32(1)
Define the Product Concept
33(1)
Describe Success Metrics
34(1)
Questions to Ask to Complete the Business Objectives Model
34(1)
Using Business Objectives Models
35(4)
Providing a Common Understanding of a Project's Value
35(1)
Bounding the Solution Space
36(1)
Understanding Projects That Are Underway
36(3)
Deriving Requirements
39(1)
When to Use
39(1)
When Not to Use
39(1)
Common Mistakes
39(1)
Not Understanding the Business Problem
39(1)
Defining Business Objectives That Are Not Measurable
39(1)
Articulating the Wrong Type of Information in Business Objectives
40(1)
Related Models
40(1)
Exercise
40(1)
Instructions
41(1)
Scenario
41(1)
Additional Resources
41(1)
References
41(2)
Chapter 4 Objective Chain
43(20)
Objective Chain Template
44(1)
Example
45(4)
Creating Objective Chains
49(8)
Identify Business Objectives and Features
49(1)
Select the Features to Analyze in Objective Chains
49(1)
Identify the Objective Factors
50(3)
Create the Objective Chain Hierarchy
53(2)
Define the Objective Equations
55(2)
Using Objective Chains
57(3)
Comparing the Relative Values of Features to Cut Scope
57(2)
Determining Project Success
59(1)
Deriving Requirements
59(1)
When to Use
60(1)
When Not to Use
60(1)
Common Mistakes
60(1)
Not Creating Objective Chains Because Data Doesn't Exist
60(1)
Skipping Levels in the Hierarchy
60(1)
Related Models
60(1)
Exercise
61(1)
Instructions
61(1)
Scenario
61(1)
Additional Resources
62(1)
References
62(1)
Chapter 5 Key Performance Indicator Model
63(10)
KPIM Template
64(1)
Example
65(2)
Creating KPIMs
67(2)
Identify Business Processes
67(1)
Identify KPIs
68(1)
Create the KPIM
69(1)
Using KPIMs
69(2)
Prioritizing KPIMs When Business Objectives Don't Help
69(1)
Prioritizing When Replacing Existing Functionality
69(1)
Comparing the Relative Values of Requirements to Cut Scope
70(1)
Deriving Requirements
70(1)
When to Use
70(1)
When Not to Use
71(1)
Common Mistakes
71(1)
Not Using KPIMs Because KPIs Don't Exist
71(1)
Not Using KPIMs Due to Fears of Being Held Accountable
71(1)
A Lack of Ongoing Monitoring
71(1)
Related Models
71(1)
Exercise
72(1)
Instructions
72(1)
Scenario
72(1)
Additional Resources
72(1)
Chapter 6 Feature Tree
73(14)
Feature Tree Template
74(3)
Example
77(1)
Creating Feature Trees
78(3)
Identify Features
78(1)
Organize the Features
78(1)
Create the Feature Tree
79(1)
Look for Missing Features
79(2)
Using Feature Trees
81(2)
Depicting Project Scope
81(1)
Organizing the Requirements
81(1)
Organizing the Requirements Work
82(1)
Deriving Requirements
82(1)
When to Use
83(1)
When Not to Use
83(1)
Common Mistakes
83(1)
Wrong Number of Features at Each Level
83(1)
Poor Feature Names
83(1)
Related Models
83(1)
Exercise
84(1)
Instructions
84(1)
Scenario
84(1)
Additional Resources
85(1)
References
85(2)
Chapter 7 Requirements Mapping Matrix
87(18)
RMM Template
88(2)
Example
90(2)
Creating RMMs
92(4)
List Process Flow Steps
92(1)
Map Requirements to Process Flow Steps
93(3)
Identify Missing Mappings
96(1)
Using RMMs
96(3)
Reviewing in an Easy-to-Read Structure
97(1)
Identifying Missing Requirements
97(1)
Identifying Extraneous Requirements or Missing Steps
97(1)
Prioritizing Scope
98(1)
Advantages of Using a Requirements Management Tool
98(1)
Deriving Requirements
98(1)
When to Use
99(1)
When Not to Use
99(1)
Common Mistakes
99(1)
Not Mapping to Process Flows
99(1)
Not Using or Updating RMMs
99(1)
Related Models
99(1)
Exercise
100(2)
Instructions
100(1)
Scenario
100(2)
Additional Resources
102(1)
References
102(3)
PART III PEOPLE MODELS
Chapter 8 Org Chart
105(16)
Org Chart Template
107(1)
Example
108(2)
Creating Org Charts
110(3)
Locate Existing Org Charts
110(1)
Determine the Right Level of Org Chart
111(1)
Complete the Org Chart
111(2)
Using Org Charts
113(3)
Identifying the People Who Have Requirements
113(1)
Identifying Internal Users
114(1)
Identifying External Users
114(1)
Identifying People Used in Other Models
114(1)
Using Org Charts with Process Flows for Completeness
115(1)
Deriving Requirements
116(1)
When to Use
116(1)
When Not to Use
116(1)
Common Mistakes
116(1)
Not Using Org Charts to Identify Stakeholders
117(1)
Only Including Project Team Members
117(1)
Related Models
117(1)
Exercise
118(1)
Instructions
118(1)
Scenario
118(1)
Additional Resources
118(1)
References
119(2)
Chapter 9 Process Flow
121(18)
Process Flow Template
123(3)
Example
126(2)
Creating Process Flows
128(5)
Create an L1 Process How
129(1)
Create L2 Process Flows
130(2)
Create L3 Process Flows As Necessary
132(1)
Using Process Flows
133(3)
Targeting the Audience with Different Levels of Detail
133(1)
Running Elicitation and Review Sessions
133(1)
Driving Completeness
134(1)
Deriving Requirements
134(1)
When to Use
135(1)
When Not to Use
135(1)
Common Mistakes
136(1)
Level of Detail Is Inconsistent Within a Flow
136(1)
Reviewers Do Not Understand the Level of Detail
136(1)
Reviewers Forget to Look at the Full Process Flow
136(1)
Process Flow Has Too Many Steps
136(1)
System Responses Are Mixed with User Actions
136(1)
Processes Outside the Scope of the Project Are Not Included
136(1)
Related Models
137(1)
Exercise
137(1)
Instructions
137(1)
Scenario
138(1)
Additional Resources
138(1)
References
138(1)
Chapter 10 Use Case
139(20)
Use Case Template
140(1)
Example
141(1)
Creating Use Cases
142(8)
Identify Use Cases
143(2)
Write Descriptions
145(1)
Capture Organizational Benefits
145(1)
Capture Frequency of Use
146(1)
Prioritize Use Cases
146(1)
Complete the Remaining Header Fields
146(2)
Write the Main Course
148(1)
Write the Alternate Courses
149(1)
Write the Exceptions
150(1)
Using Use Cases
150(4)
Providing Context for Elicitation Through Implementation
150(1)
Prioritizing Work
150(1)
Deriving Requirements
151(1)
Reusing Use Cases
151(1)
Using a Use Case As a Basis for a UAT Script
151(1)
Using Models Similar to Use Cases
151(3)
Use Cases Do Not Have to Be Perfect
154(1)
When to Use
154(1)
When Not to Use
154(1)
Common Mistakes
154(1)
Making Use Cases Too Granular
154(1)
Using Use Cases As the Only Documentation for Requirements
154(1)
Allowing the System to Be an Actor
155(1)
Related Models
155(1)
Exercise
156(1)
Instructions
157(1)
Scenario
157(1)
Additional Resources
157(1)
References
157(2)
Chapter 11 Roles and Permissions Matrix
159(18)
Roles and Permissions Matrix Template
160(1)
Example
161(2)
Creating Roles and Permissions Matrices
163(5)
Identify the Roles
164(1)
Identify the Operations
164(1)
Indicate Permissions
165(3)
A Word About When to Create the Matrix
168(1)
Using Roles and Permissions Matrices
168(3)
Deriving Requirements
168(1)
Driving Completeness
168(1)
Identifying Additional Functions
169(1)
Configuring Systems
169(1)
Using a Roles and Permissions Matrix As a Basis for Setting Up User Data for Deployment
169(2)
When to Use
171(1)
When Not to Use
171(1)
Common Mistakes
171(1)
Missing Operations
171(1)
Struggling to Organize the Roles
172(1)
Related Models
172(1)
Exercise
172(1)
Instructions
172(1)
Scenario
173(1)
Additional Resources
173(4)
PART IV SYSTEMS MODELS
Chapter 12 Ecosystem Map
177(14)
Ecosystem Map Template
179(2)
Example
181(2)
Creating Ecosystem Maps
183(3)
Identify Systems
183(1)
Identify Interfaces
184(2)
Tie the Diagram Together
186(1)
Using Ecosystem Maps
186(1)
Defining Scope with Ecosystem Maps
186(1)
Deriving Requirements
186(1)
When to Use
187(1)
When Not to Use
187(1)
Common Mistakes
187(1)
Showing Physical Systems
187(1)
Too Much Documentation
187(1)
Lack of Organization
187(1)
Related Models
188(1)
Exercise
188(1)
Instructions
189(1)
Scenario
189(1)
Additional Resources
189(1)
References
190(1)
Chapter 13 System Flow
191(12)
System Flow Template
192(3)
Example
195(1)
Creating System Flows
196(3)
Identify System Steps
197(1)
Write Steps
198(1)
Using System Flows
199(2)
Running System Flows Parallel to Process Flows
199(1)
Deriving Requirements
200(1)
When to Use
200(1)
When Not to Use
201(1)
Common Mistakes
201(1)
Related Models
201(1)
Exercise
202(1)
Instructions
202(1)
Scenario
202(1)
Additional Resources
202(1)
Chapter 14 User Interface Flow
203(14)
UI Flow Template
204(2)
Example
206(1)
Creating UI Flows
207(5)
Determine Scope of Screens
207(1)
Identify Screens
208(2)
Create Transitions
210(2)
Label Triggers
212(1)
Using UI Flows
212(2)
Identifying Navigation
212(1)
Validating Navigation
212(1)
Optimizing Usability
213(1)
Developing Test Cases
213(1)
Deriving Requirements
213(1)
When to Use
213(1)
When Not to Use
213(1)
Common Mistakes
214(1)
Including Too Much Detail
214(1)
Including Unimportant Details
214(1)
Not Using a UI Expert When Needed
214(1)
Related Models
214(1)
Exercise
215(1)
Instructions
215(1)
Scenario
215(1)
Additional Resources
215(1)
References
215(2)
Chapter 15 Display-Action-Response
217(16)
DAR Model Template
219(3)
UI Element Description
221(1)
UI Element Displays
221(1)
UI Element Behaviors
221(1)
Example
222(2)
Creating DAR Models
224(4)
Prepare the Screen
224(1)
Create a UI Element Description
225(1)
Create the UI Element Displays Section
226(1)
Create the UI Element Behaviors Section
227(1)
Guidelines for Creating Element Tables
227(1)
Using DARs
228(1)
Driving Completeness
228(1)
Deriving Requirements
228(1)
When to Use
229(1)
When Not to Use
229(1)
Common Mistakes
229(1)
Modeling Too Much
229(1)
Modeling Elements with No Data-Driven Behavior or Display
230(1)
Using Only UI-Based Models or Prototypes
230(1)
Focusing on the User Interface Too Early
230(1)
Including Too Much Fidelity in the Screen Layout
230(1)
Related Models
230(1)
Exercise
231(1)
Instructions
231(1)
Scenario
231(1)
Additional Resources
232(1)
References
232(1)
Chapter 16 Decision Table
233(12)
Decision Table Template
234(2)
Example
236(1)
Creating Decision Tables
236(4)
Identify Conditions
237(1)
Identify Choices
237(2)
Identify Outcomes
239(1)
Label Valid Outcomes by Choice Combinations
239(1)
Simplify the Decision Table
240(1)
Using Decision Tables
240(2)
Making Decisions
240(1)
Driving Completeness
241(1)
Using Decision Tables with Decision Trees
241(1)
Deriving Requirements
241(1)
When to Use
241(1)
When Not to Use
242(1)
Common Mistakes
242(1)
Missing Permutations
242(1)
Overlapping Choice Ranges
242(1)
Not Combining Rules
243(1)
Modeling a Sequence of Decisions
243(1)
Related Models
243(1)
Exercise
243(1)
Instructions
244(1)
Scenario
244(1)
Additional Resources
244(1)
References
244(1)
Chapter 17 Decision Tree
245(14)
Decision Tree Template
247(1)
Example
248(2)
Creating Decision Trees
250(3)
Identify Decisions
250(1)
Identify Choices
251(1)
Identify Outcomes
252(1)
Repeat Until Every Branch Ends in an Outcome
252(1)
Simplify the Decision Tree
253(1)
Using Decision Trees
253(3)
Driving Completeness
253(1)
Simplifying Logic
253(1)
Modeling Nested "If" Statements
254(1)
Training Users
254(1)
Deriving Requirements
255(1)
When to Use
255(1)
When Not to Use
255(1)
Common Mistakes
256(1)
Modeling Process Steps
256(1)
Making All Yes or No Choices
256(1)
Related Models
256(1)
Exercise
257(1)
Instructions
257(1)
Scenario
257(1)
Additional Resources
257(1)
References
258(1)
Chapter 18 System Interface Table
259(10)
System Interface Table Template
260(1)
Example
261(1)
Creating System Interface Tables
262(2)
Identify System Interfaces
262(1)
Determine Business Data Objects and Fields
263(1)
Determine Frequency of Transfer
263(1)
Determine Volume of Data
264(1)
Determine Error Handling
264(1)
Determine Security Constraints
264(1)
Using System Interface Tables
264(1)
Deriving Requirements
264(1)
When to Use
265(1)
When Not to Use
265(1)
Common Mistakes
265(1)
Including Information That Is Too Technical
265(1)
Documenting Every Interface
265(1)
Not Understanding User Needs
265(1)
Related Models
265(1)
Exercise
266(3)
Instructions
266(1)
Scenario
266(3)
PART V DATA MODELS
Chapter 19 Business Data Diagram
269(18)
BDD Template
270(4)
Business Data Example Diagram Template
272(2)
Example
274(1)
Creating BDDs
275(4)
Identify Business Data Objects
276(1)
Relate Business Data Objects
277(1)
Add Cardinalities
277(1)
Creating Business Data Example Diagrams
278(1)
Using BDDs
279(4)
Understanding the High-Level Business Data Objects
280(1)
Driving Completeness
281(1)
Identifying Processes
281(1)
Helping Technical Teams with Database Design
282(1)
Using Business Data Example Diagrams to Review BDDs
282(1)
Deriving Requirements
282(1)
When to Use
282(1)
When Not to Use
282(1)
Common Mistakes
283(1)
Including Fields As Objects
283(1)
Creating Middle-Man Objects
283(1)
Thinking in Terms of a Database Design
283(1)
Related Models
283(1)
Exercise
284(1)
Instructions
284(1)
Scenario
284(1)
Additional Resources
284(1)
References
285(2)
Chapter 20 Data Flow Diagram
287(12)
DFD Template
288(1)
Example
289(1)
Creating DFDs
290(2)
Identify Business Data Objects
290(1)
Identify Processes
291(1)
Identify External Entities
291(1)
Tie the Diagram Together
292(1)
Using DFDs
292(3)
Representing Data Used Across Multiple Processes
293(1)
Using DFDs to Help with Readability
293(1)
Driving Completeness
294(1)
Deriving Requirements
295(1)
When to Use
295(1)
When Not to Use
295(1)
Common Mistakes
295(1)
Trying to Articulate Order in a DFD
295(1)
Trying to Document Every Single Data Flow
295(1)
Related Models
296(1)
Exercise
296(1)
Instructions
296(1)
Scenario
296(1)
Additional Resources
297(1)
References
297(2)
Chapter 21 Data Dictionary
299(16)
Data Dictionary Template
300(4)
Properties List
300(4)
Example
304(3)
Creating Data Dictionaries
307(2)
Tailor Properties
307(1)
Identify Business Data Objects and Fields
308(1)
Populate Properties
308(1)
Supplement with Data Catalogs
309(1)
Using Data Dictionaries
309(2)
Promoting a Consistent Data Nomenclature
310(1)
Driving Completeness
310(1)
Deriving Requirements
310(1)
When to Use
311(1)
When Not to Use
311(1)
Common Mistakes
311(1)
Becoming Overwhelmed by the Size
311(1)
Not Articulating Important Validation Rules
312(1)
Related Models
312(1)
Exercise
312(1)
Instructions
312(1)
Scenario
313(1)
Additional Resources
313(1)
References
313(2)
Chapter 22 State Table
315(12)
State Table Template
316(1)
Example
317(1)
Creating State Tables
318(2)
Identify the Business Data Objects
319(1)
Identify the States
319(1)
Analyze the Transitions
320(1)
Using State Tables
320(3)
Enhancing Readability
321(1)
Driving Completeness
321(1)
Deriving Requirements
322(1)
When to Use
323(1)
When Not to Use
323(1)
Common Mistakes
323(1)
States That Are Not States
323(1)
Missing States
324(1)
Incorrect "No" Transitions
324(1)
Related Models
324(1)
Exercise
325(1)
Instructions
325(1)
Scenario
325(1)
Additional Resources
325(1)
References
326(1)
Chapter 23 State Diagram
327(12)
State Diagram Template
328(2)
Example
330(1)
Creating State Diagrams
331(3)
Identify the Business Data Objects
332(1)
Identify the States
332(1)
Analyze the Transitions
333(1)
Using State Diagrams
334(1)
Visualizing Flow Between States
334(1)
Driving Completeness
334(1)
Deriving Requirements
334(1)
When to Use
335(1)
When Not to Use
335(1)
Common Mistakes
335(1)
States That Are Not States
335(1)
Missing States and Transitions
335(1)
Related Models
336(1)
Exercise
336(1)
Instructions
336(1)
Scenario
337(1)
Additional Resources
337(1)
References
338(1)
Chapter 24 Report Table
339(16)
Report Table Template
340(3)
Example
343(3)
Creating Report Tables
346(3)
Identify Reports
346(1)
Prioritize Reports
346(1)
Complete Report Table Elements
346(3)
Using Report Tables
349(1)
Defining the Reports
349(1)
Checking Completeness and Consistency Against Other Models
349(1)
Deriving Requirements
350(1)
When to Use
350(1)
When Not to Use
350(1)
Common Mistakes
350(1)
Not Relating Reports to Decisions Made
350(1)
Documenting Unnecessary Reports
350(1)
Related Models
351(1)
Exercise
351(4)
Instructions
351(1)
Scenario
352(3)
PART VI MODELS IN THE BIG PICTURE
Chapter 25 Selecting Models for a Project
355(22)
Selecting Models by Project Phases
355(5)
Envision Phase
356(2)
Plan Phase
358(1)
Develop Phase
358(1)
Launch Phase
359(1)
Measure Phase
359(1)
Selecting Models by Project Characteristics
360(14)
Objectives Characteristics
361(2)
People Characteristics
363(3)
Systems Characteristics
366(5)
Data Characteristics
371(1)
Project Examples
372(2)
Thinking About the Audience
374(1)
Tailoring Models
375(1)
Exercise
376(1)
Instructions
376(1)
Scenario
376(1)
Chapter 26 Using Models Together
377(18)
Many Different Views
377(1)
Using More Than One Model
378(1)
Requirements Architecture
379(4)
Relationships Between Models
380(2)
Where the Artifacts Live
382(1)
A Models Plan
383(1)
Related Models
383(11)
Exercise
394(1)
Instructions
394(1)
Scenario
394(1)
Appendix A Quick Lookup Models Grids 395(4)
Appendix B General Guidelines for Models 399(2)
Appendix C Exercise Answers 401(22)
Glossary 423(6)
Index 429
Anthony Chen is a requirements architect who has developed a requirements training program used internationally, and helped pioneer key requirements-modeling concepts.