当前位置:首页 > 工业技术
UML项目管理的过程质量保证
UML项目管理的过程质量保证

UML项目管理的过程质量保证PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:昂黑尔纳(UnhelRar,B.)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:730209215X
  • 页数:398 页
图书介绍:本书针对基于UML开发的软件项目,结合质量管理框架和活动,软件质量保证的原则、质量管理过程的组织与建立以及质量控制阐述UML典型开发项目的质量管理活动、模型、过程、度量、控制技术和环境,提出并总结高质量项目开发过程,既有理论高度,又具有很好的可操作性,特别是与流行的UML方法学互补,形成较为完整的项目开发支持体系,对人员、过程、质量管理阐述尤为详尽,具有技术先进水平和应用宽广性。本书可作为高等院校的软件工程系列教材,也是软件工程技术管理人员的重要参考书。
《UML项目管理的过程质量保证》目录

PART Ⅰ SETTING THE SCENE FOR SOFTWARE QUALITY ASSURANCE 1

1 The Quality Game 3

1.1 Elusive Software Quality 4

1.1.1 Defining Quality 4

1.1.2 Quality and Objective Effort 7

1.1.3 Nature of Software 8

1.1.4 Assuring Quality:A Distinct Activity 10

1.2 Pressures on Quality 11

1.2.1 Budget 12

1.2.2 Tune 12

1.2.3 Functionality 13

1.2.4 Quality 13

1.3 Quality Levels 14

1.3.1 Data Quality 15

1.3.2 Code Quality 16

1.3.3 Model Quality 16

1.3.4 Process Quality 17

1.3.5 Management Quality 17

1.3.6 Quality Environment 18

1.4 Quality Software Process 19

1.4.1 What Constitutes a Process? 19

1.4.2 A Sample Cooking Process 20

1.4.3 The Orthogonal Process Relationship 21

1.4.4 Process in Software Context 22

1.4.5 Software Process 23

1.4.6 Quality Process 24

1.4.7 Quality Assurance and Testing:Let's Not Confuse Them 26

1.5 Modeling and Quality 27

1.5.1 Purpose of Modeling 27

1.5.2 Modeling Caveats 28

1.5.3 Understanding Modeling Spaces in Software 29

1.5.4 Problem Space 31

1.5.5 Solution Space 31

1.5.6 Background Space 32

1.6 UML and Quality 34

1.6.1 A Brief History of UML 34

1.6.2 Quality of UML versus Quality by UML 36

1.6.3 Metamodels and Quality 37

1.6.4 Quality by UML 38

1.6.5 Quality of Visualization 39

1.6.6 Quality of Specification 40

1.6.7 Quality of Construction 41

1.6.8 Quality of Documentation 42

1.6.9 Summary of UML Diagrams and Their Importance in Modeling Spaces 42

1.7 Quality Assurance Techniques of Syntax,Semantics,and Aesthetics 44

1.7.1 Quality Models—Syntax 45

1.7.2 Quality Models—Semantics 47

1.7.3 Quality Models—Aesthetics 48

1.8 Quality Assurance of Software Process:Necessity,Sufficiency,and Malleability 49

1.8.1 Quality of Process—Necessity 50

1.8.2 Quality of Process—Sufficiency 51

1.8.3 Quality of Process—Malleability 51

1.9 Reuse,Patterns,and Quality 52

1.9.1 Increasing Productivity through Reuse 53

1.9.2 Reusing Expert Knowledge and Experience 53

1.9.3 Applying Standards 53

1.1 0 Quality and Usability 54

1.1 0.1 Principles of Usability 54

1.1 0.2 Navigability of Interfaces 55

1.1 0.3 GUI Design and Quality 56

1.1 1 UML-Based Projects—Types 56

1.1 1.1 Development 58

1.1 1.2 Integration(with Legacy) 58

1.1 1.3 Package Implementation(ERP,CRMS) 60

1.1 1.4 Outsourcing 61

1.1 1.5 Data Warehousing/Conversion 62

1.1 1.6 Educational 62

1.1 2 UML-Based Projects—Size and Scalability 63

1.1 2.1 Small Projects 64

1.1 2.2 Medium Projects 66

1.1 2.3 Large Projects 67

1.1 3 Putting it All Together(Key Points) 69

11.4 Bibliographic Notes 70

11.5 Frequently Asked Questions(FAQs) 71

11.6 Exerdses 73

11.7 References 74

PART Ⅱ ORGANIZING AND ENACTING THE PROCESS FOR QUALITY 77

2 Quality Environment:Managing the Quality Function 79

2.1 Quality Management 80

2.1.1 Quality Environment 80

2.1.2 Nontechnical Management 80

2.1.3 Process and Quanlity 82

2.2 Team Organization 83

2.2.1 Organizing the Roles in the Problem Space 84

2.2.2 Business Analyst 85

2.2.3 User 86

2.2.4 End User 87

2.2.5 Domain Expert 88

2.2.6 Prototyper in Problem Space 89

2.2.7 Organizing the Roles in the Solution Space 89

2.2.8 System Designer 90

2.2.9 Data Modeler 91

2.2.1 0 Interface Designer 91

2.2.1 1 Programmer 92

2.2.1 2 Tester 93

2.2.1 3 Prototyper in Solution Space 93

2.2.1 4 Organizing the Roles in the Background Space 93

2.2.1 5 System Architect 94

2.2.1 6 Prototyper in Background Space 95

2.2.1 7 Database Manager 95

2.2.1 8 Common Roles 95

2.2.1 9 Project Manager 95

2.2.2 0 Steering Committee 96

2.2.2 1 Business Sponsor 97

2.2.2 2 Organizing the Quality Team 97

2.2.2 3 Quality Manager 97

2.2.2 4 Quality Analyst 98

2.2.2 5 Process Engineer 99

2.2.2 6 User 100

2.2.2 7 Tester 100

2.3 The Quality Environment 101

2.3.1 E-factor and Quality 101

2.3.2 Soft Issues Specific to UML-Based Projects 102

2.3.3 Communication in a Quality Environment 104

2.3.4 Telecommuting 105

2.4 Project Sociology 106

2.4.1 Four Models for Project Teams 106

2.4.2 The Best-Fit Approach to Creating a Homogeneous Team 107

2.4.3 Flattening the Pyramid 109

2.4.4 People in Reusability 111

2.4.5 Parallel Development Teams 112

2.5 Transactional Analysis in Software Projects 113

2.5.1 A Brief History of TA 114

2.5.2 The Parent,Adult,and Child Ego States 114

2.5.3 The Life Positions 116

2.5.4 Games 117

2.5.5 Games in an OO Project 118

2.5.6 Use It or Lose It 119

2.5.7 Cowboy Programming 119

2.5.8 Flour Mix 120

2.5.9 Meetingitis 121

2.5.1 0 Deadline 121

2.6 Popular Quality Techniques 122

2.6.1 Walkthroughs 123

2.6.2 Inspections 124

2.6.3 Reviews 125

2.6.4 Audits 127

2.6.5 Checklists 128

2.6.6 Interviews 129

2.6.7 Workshops 131

2.7 Standards and Quality 133

2.7.1 Areas of Application of Standards 133

2.7.2 Project,Organizational,and Industrial Standards 136

2.8 Process Maturity:The CMM Standards 138

2.8.1 The Capability Maturity Model 138

2.8.2 Personal Software Process Maturity 141

2.8.3 Applying CMM in UML-Based Projects 141

2.9 Process Checks 142

2.9.1 Checking What Is Necessary 142

2.9.2 Checking What Would be Sufficient 143

2.9.3 Checking the Malleability of a Process 143

2.1 0 The Planning Deliverables 144

2.1 0.1 Project Organizational Plan 144

2.1 0.2 The Quality Plan 145

2.1 0.3 Test Plan 145

2.1 1 Bibliographic Notes 146

2.1 2 Frequently Asked Questions(FAQs) 146

2.1 3 Exercises 148

2.1 4 References 148

3 The Quality Process Architecture 151

3.1 The Process Backbone 152

3.1.1 The Three Dimensions of a Process 152

3.1.2 "What"of a Process 153

3.1.3 "How"of a Process 154

3.1.4 "Who"of a Process 155

3.2 The Process Metamodel 156

3.2.1 Describing the Process Metamodel 156

3.2.2 Process Ingredients 157

3.2.3 The Role Element in a Process 157

3.2.4 The Activity Element in a Process 159

3.2.5 The Task Element in a Process 159

3.2.6 The Deliverable Elementina Process 160

3.2.7 A Process-Component 160

3.2.8 Iterations 161

3.2.9 Putting Together a Process-Component:A Baking Process 161

3.3 Quality Software Process 162

3.3.1 The Software Process 162

3.3.2 The Quality Process 163

3.3.3 Rigorous Process 163

3.3.4 Process Maturity 163

3.3.5 Malleable Process 164

3.3.6 Process Tuning 164

3.4 The Software Process 165

3.4.1 Business Evaluation Process-Component 165

3.4.2 Rolesin Business Evaluation 166

3.4.3 Activities and Tasks in Business Evaluation 166

3.4.4 Deliverables in Business Evaluation 167

3.4.5 Quality Comments on Business Evaluation 167

3.4.6 Project Management Process-Component 169

3.4.7 Rolesin Project Management 170

3.4.8 Activities and Tasks in Project Management 170

3.4.9 Deliverables in Project Management 170

3.4.10 Quality Comments on Project Management 170

3.4.11 Process Configuration Process-Component 172

3.4.12 Roles in Process Configuration 173

3.4.13 Activities and Tasks in Process Configuration 174

3.4.14 Deliverables in Process Configuration 175

3.4.15 Query Comments on Process Configuration 175

3.4.16 Requirements Modeling Process-Component 176

3.4.17 Rolesin Requirements Modeling 177

3.4.18 Activities and Tasks in Requirements Modeling 177

3.4.19 Deliverables in Requirements Modeling 177

3.4.20 Quality Comments on Requirements Modeling 179

3.4.21 Interface Modeling and Design Process-Component 181

3.4.22 Roles in Interface Modeling 182

3.4.23 Activities and Tasks in Interface Modeling 182

3.4.24 Deliverables in Interface Modeling 182

3.4.25 Quality Comments on Interface Modeling 183

3.4.26 System Design Process-Component 185

3.4.27 Roles in System Design 186

3.4.28 Activities and Tasks in System Design 186

3.4.29 Deliverables in System Design 187

3.4.30 Quality Comments on System Design 187

3.4.31 Persistence Design Process-Component 188

3.4.32 Roles in Persistence Design 190

3.4.33 Activities and Tasks in Persistence Design 190

3.4.34 Deliverables in Persistence Design 190

3.4.35 Quality Comments on Persistence Design 191

3.4.36 Implementation Process-Component 192

3.4.37 Roles in Implementation 192

3.4.38 Activities and Tasks in Implementation 193

3.4.39 Deliverables in Implementation 194

3.4.40 Quality Comments on Implementation 194

3.4.41 Prototyping Process-Component 196

3.4.42 Roles in Prototyping 198

3.4.43 Activities and Tasks in Prototyping 198

3.4.44 Deliverables in Prototping 198

3.4.45 Quality Comments on Prototyping 198

3.4.46 Change Management Process-Component 201

3.4.47 Rolesin Change Management 202

3.4.48 Activities and Tasks in Change Management 202

3.4.49 Deliverables in Change Management 203

3.4.50 Quality Comments on Change Management 203

3.4.51 Enterprise Architecture Process-Component 204

3.4.52 Roles in Enterprise Architecture 205

3.4.53 Activities and Tasks in Enterprise Architecture 205

3.4.54 Deliverables in Enterprise Architecture 206

3.4.55 Quality Comments on Enterprise Architecture 206

3.4.56 System Architecture Process-Component 207

3.4.57 Roles in System Architecture 208

3.4.58 Activities and Tasks in System Architecture 209

3.4.59 Deliverables in System Architecture 209

3.4.60 Quality Comments on System Architecture 210

3.4.61 Deployment Process-Component 211

3.4.62 Roles in Deployment 211

3.4.63 Activities and Tasks in Deployment 212

3.4.64 Deliverables in Deployment 212

3.4.65 Quality Comments on Deployment 213

3.4.66 Training Process-Component 214

3.4.67 Roles in Training 215

3.4.68 Activities and Tasks in Training 215

3.4.69 Deliverables in Training 216

3.4.70 Quality Comments on Training 216

3.4.71 Reuse Process-Component 217

3.4.72 Roles in Reuse 218

3.4.73 Activities and Tasks in Reuse 218

3.4.74 Deliverables in Reuse 219

3.4.75 Quality Comments on Reuse 219

3.5 The Quality Process 220

3.5.1 Quality Management Process-Component 220

3.5.2 Rolesin Quality Management 220

3.5.3 Activities and Tasks in Quality Management 220

3.5.4 Deliverables in Quality Management 220

3.5.5 Quality Comments on Quality Management 222

3.5.6 Quality Assurance Process-Component 223

3.5.7 Roles in Quality Assurance 224

3.5.8 Activities and Tasks in Quality Assurance 225

3.5.9 Deliverables in Quality Assurance 225

3.510 Quality Comments on Quality Assurance 226

3.5.11 Quality Control Process-Component 227

3.5.12 Roles in Quality Control 227

3.5.13 Activities and Tasks in Quality Control 227

3.5.14 Deliverables in Quality Control 227

3.5.15 Quality Comments on Quality Control 229

3.6 Bibliographic Notes 231

3.7 Frequently Asked Questions(FAQs) 231

3.8 Exercises 232

3.9 References 233

4 Enacting the Quality Software Process 235

4.1 Configuration of a Process 237

4.1.1 The Waterfall-Based SDLC 241

4.1.2 The Spiral-Based SDLC 241

4.1.3 The Fountain-Based SDLC 242

4.2 The Iterative,Incremental,and Parallel Development Process 243

4.2.1 Need for Iterations and Increments 243

4.2.2 Initial 245

4.2.3 Major 246

4.2.4 Final 248

4.2.5 Parallel Developments within a Lifecycle 248

4.2.6 Maintenance or Ongoing Iteration 249

4.3 Adoption of the Software Process 249

4.3.1 Ascertain Current Process State 250

4.3.2 Crucial Pilot Project 250

4.3.3 Point of Adoption 251

4.3.4 Separating UML from the Process 251

4.3.5 Keeping All CASE Tool Implementations Separate 251

4.3.6 Training and Mentoring 252

4.3.7 Access to the Process 253

4.4 Enacting the Quality Process 253

4.4.1 Creating Iterations and Increments in Lucky Insurance's Development 253

4.4.2 An Iterative Project Task Plan 255

4.4.3 Iterative Project Management Tools 256

4.5 Tracking Quality throughout the Process 257

4.5.1 Importance of Road Factors in Process Enactment 257

4.5.2 Quality Activities at the End of the Initial Iteration 260

4.5.3 Quality Activities at the End of the Major Iteration 261

4.5.4 Quality Activities at the End of the Final Iteration 262

4.6 Frequently Asked Questions(FAQs) 263

4.7 Exercises 264

4.8 References 265

5 Estimates and Metrics for UML-Based Projects 267

5.1 About Estimates and Measures in Software Projects 268

5.1.1 Relating Estimates to Quality 268

5.1.2 Measurements and Estimates 268

5.1.3 Measuring the Technological Dimension 269

5.1.4 Measuring the Methodological Dimension 270

5.1.5 Measuring the Sociological Dimension 270

5.2 Project Metrics and Estimates 271

5.2.1 Project Size and Type 271

5.2.2 Project Time,Budgets,and People 272

5.2.3 Caveats in Project Estimates 274

5.3 Measurement of Processes 275

5.3.1 Why Measure Processes? 276

5.3.2 Measuring Process-Components in Deployment 276

5.3.3 Measuring Process-Components in Enactment 277

5.3.4 Refining the Project Estimations at the End of Each Iteration 279

5.4 Quality Metrics 282

5.5 Measuring Size of Software 283

5.5.1 Traditional Measures of Software 284

5.5.2 Additional Measures of Software 284

5.5.3 Object-Oriented Measures of Software 285

5.6 Measures of UML Artifacts,Diagrams,and Models 286

5.6.1 Measuring Size and Complexity of Use Cases and Use Case Diagrams 286

5.6.2 Measuring Size and Complexity of Classes 287

5.6.3 Measurement of a Component 287

5.6.4 Testing Metrics 287

5.7 Applying Metrics and Estimates to Lucky Insuurance's Project 287

5.7.1 Considering Metrics and Estimates Specific to Lucky Insurance's Project 287

5.7.2 Project and Process Metrics in Enactment 289

5.7.3 Measuring Process-Components for Enactment 289

5.7.4 Applying Process and Project Metrics to Lucky Insurance's Project 290

5.7.5 Arriving at the Productivity Factor for Lucky Insurance's Project 291

5.7.6 Refining Estimates Based on the Productivity Factor for Subsequent Iterations 294

5.8 Prophetic Statements on Estimates and Metrics 296

5.9 Bibliographic Notes 297

5.10 Frequently Asked Questions(FAQs) 297

5.11 Exercises 298

5.12 References 298

PART Ⅲ:TESTING THE PRODUCT:QUALITY CONTROL 301

6 Quality Control of Software Products 303

6.1 Testing in Context 304

6.2 Testing Approaches in UML-Based Projects 306

6.2.1 Black Box 307

6.2.2 White Box 308

6.2.3 Manual Testing 309

6.2.4 Automated Testing 310

6.2.5 Vertical Testing 311

6.2.6 Horizontal Testing 311

6.2.7 Equivalence Partitioning 312

6.2.8 Boundary Value 313

6.3 Testing Architecture 313

6.3.1 Unit Test 314

6.3.2 Component Test 315

6.3.3 System Test 316

6.3.4 Acceptance Test 316

6.3.5 Regression Test 317

6.3.6 Operational Testing 317

6.3.7 Performance(Stress and Volume)Testing 318

6.3.8 Security Testing 318

6.3.9 Scalability Testing 318

6.4 Test Planning 318

6.4.1 A Good Test Plan 319

6.4.2 Analyzing Risks in Testing 319

6.4.3 Test Environment 321

6.4.4 Test Resources 321

6.4.5 Development Environment 322

6.4.6 Test Environment 322

6.4.7 Test Schedules 322

6.4.8 Test Cycles 323

6.4.9 Reusability in Testing 324

6.5 Test Design 325

6.5.1 Description of Test Designs 325

6.5.2 Sources for Test Designs 325

6.5.3 Format for Test Designs 327

6.6 Test Cases 328

6.6.1 Description of Test Cases 328

6.6.2 Designing the Test Cases 328

6.6.3 Format for Test Cases 329

6.6.4 Example Test Case 330

6.6.5 Verifying the Test Cases 334

6.6.6 Modifying the Test Cases 334

6.7 Test Execution 334

6.7.1 Getting Ready 334

6.7.2 Acceptance Criteria 335

6.7.3 Execute Test Suites 336

6.7.4 Record Incident Reports 337

6.8 Recording and Analyzing Test Results 337

6.8.1 Software Incidents 337

6.8.2 Recording Test Results 338

6.8.3 Analyzing Results 338

6.8.4 Reporting 341

6.9 Bibliographic Notes 341

6.10 Frequently Asked Questions(FAQs) 341

6.11 Exercises 342

6.12 References 343

Glossary of Acronyms and Important Terms 345

Bibliography 349

UML CASE Tools 355

Process Tools Using UML 365

CD-ROM Contents 369

Epilogue 373

Index 375

相关图书
作者其它书籍
返回顶部