Automated defect prevention: best practices in software management
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Hoboken, N.J.
Wiley
2007
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Erscheint: September 2007 |
Beschreibung: | XXVI, 426 S. |
ISBN: | 9780470042120 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV022656227 | ||
003 | DE-604 | ||
005 | 20080707 | ||
007 | t | ||
008 | 070829s2007 xxu |||| 00||| eng d | ||
010 | |a 2007002342 | ||
020 | |a 9780470042120 |9 978-0-470-04212-0 | ||
035 | |a (OCoLC)602071998 | ||
035 | |a (DE-599)BVBBV022656227 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
050 | 0 | |a QA76.76.F34 | |
082 | 0 | |a 005 | |
084 | |a SR 870 |0 (DE-625)143368: |2 rvk | ||
100 | 1 | |a Huizinga, Dorota |e Verfasser |4 aut | |
245 | 1 | 0 | |a Automated defect prevention |b best practices in software management |c Dorota Huizinga ; Adam Kolawa |
264 | 1 | |a Hoboken, N.J. |b Wiley |c 2007 | |
300 | |a XXVI, 426 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Erscheint: September 2007 | ||
650 | 4 | |a Datenverarbeitung | |
650 | 4 | |a Software failures |x Prevention |x Data processing | |
650 | 4 | |a Software maintenance |x Data processing | |
650 | 4 | |a Debugging in computer science |x Automatic control | |
650 | 4 | |a Computer programs |x Testing |x Data processing | |
650 | 4 | |a Computer programs |x Correctness | |
650 | 0 | 7 | |a Debugging |0 (DE-588)4148954-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarewartung |0 (DE-588)4197459-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwarewartung |0 (DE-588)4197459-1 |D s |
689 | 0 | 1 | |a Debugging |0 (DE-588)4148954-8 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Kolawa, Adam |e Verfasser |4 aut | |
856 | 4 | 2 | |m GBV Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015862153&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
Datensatz im Suchindex
_version_ | 1805083702720462848 |
---|---|
adam_text |
AUTOMATED DEFECT PREVENTION BEST PRACTICES IN SOFTWARE MANAGEMENT DOROTA
HUIZINGA ADAM KOLAWA ^COMPUTER ^ K SOCIETY 60* ANNIVERSARY BICENTENNIAL
-L| IUI ; 1 8 0 7 S \ WILEY \ * 2 O O 7 L ML FR BICENTENNIAL
WILEY-INTERSCIENCE A JOHN WILEY & SONS, INC., PUBLICATION CONTENTS
PREFACE XIX FEATURES AND ORGANIZATION / XXI PRACTICE DESCRIPTIONS /
XXIII INTENDED AUDIENCE / XXIV ACKNOWLEDGMENTS / XXIV PERMISSIONS / XXVI
DISCLAIMER / XXVI 1 THE CASE FOR AUTOMATED DEFECT PREVENTION 1 1.1 WHAT
IS ADP? / 1 1.2 WHAT ARE THE GOALS OF ADP? / 3 1.2.1 PEOPLE: STIMULATED
AND SATISFIED / 3 1.2.2 PRODUCT: HIGH QUALITY / 4 1.2.3 ORGANIZATION:
INCREASED PRODUCTIVITY AND OPERATIONAL EFFICIENCY / 5 1.2.4 PROCESS:
CONTROLLED, IMPROVED, AND SUSTAINABLE / 6 1.2.5 PROJECT: MANAGED THROUGH
INFORMED DECISION MAKING / 7 1.3 HOW IS ADP IMPLEMENTED? / 8 1.3.1
PRINCIPLES / 8 1.3.2 PRACTICES / 9 1.3.3 POLICIES / 9 VII VUEI CONTENTS
1.3.4 DEFECT PREVENTION MINDSET / 10 1.3.5 AUTOMATION / 11 1.4 FROM THE
WATERFALL TO MODERN SOFTWARE DEVELOPMENT PROCESS MODELS / 11 1.5
ACRONYMS / 13 1.6 GLOSSARY / 13 1.7 REFERENCES / 15 1.8 EXERCISES / 16 2
PRINCIPLES OF AUTOMATED DEFECT PREVENTION 19 2.1 INTRODUCTION / 19 2.2
DEFECT PREVENTION: DEFINITION AND BENEFITS / 21 2.3 HISTORICAL
PERSPECTIVE: DEFECT ANALYSIS AND PREVENTION IN THE AUTO INDUSTRY*WHAT
HAPPENED TO DEMING? / 24 2.4 PRINCIPLES OF AUTOMATED DEFECT PREVENTION /
26 2.4.1 PRINCIPLE 1*ESTABLISHMENT OF INFRASTRUCTURE: "BUILD A STRONG
FOUNDATION THROUGH INTEGRATION OF PEOPLE AND TECHNOLOGY" / 26 2.4.2
PRINCIPLE 2*APPLICATION OF GENERAL BEST PRACTICES: "LEARN FROM OTHERS'
MISTAKES" / 28 2.4.3 PRINCIPLE 3*CUSTOMIZATION OF BEST PRACTICES: "LEARN
FROM YOUR OWN MISTAKES AND IMPROVE THE PROCESS" / 29 2.4.4 PRINCIPLE
4*MEASUREMENT AND TRACKING OF PROJECT STATUS: "UNDERSTAND THE PAST AND
PRESENT TO MAKE DECISIONS ABOUT THE FUTURE" / 31 2.4.5 PRINCIPLE
5*AUTOMATION: "LET THE COMPUTER DO IT" / 32 2.4.6 PRINCIPLE
6*INCREMENTAL IMPLEMENTATION OF ADP'S PRACTICES AND POLICIES / 36 2.5
AUTOMATED DEFECT PREVENTION-BASED SOFTWARE DEVELOPMENT PROCESS MODEL /
38 2.6 EXAMPLES / 41 2.6.1 FOCUS ON ROOT CAUSE ANALYSIS OF A DEFECT / 41
2.6.2 FOCUS ON INFRASTRUCTURE / 44 2.6.3 FOCUS ON CUSTOMIZED BEST
PRACTICE / 45 2.6.4 FOCUS ON MEASUREMENTS OF PROJECT STATUS / 47 2.7
ACRONYMS / 48 2.8 GLOSSARY / 48 2.9 REFERENCES / 50 2.10 EXERCISES / 51
CONTENTS JX 3 INITIAL PLANNING AND INFRASTRUCTURE 53 3.1 INTRODUCTION /
53 3.2 INITIAL SOFTWARE DEVELOPMENT PLAN / 54 3.2.1 PRODUCT / 54 3.2.2
PEOPLE / 54 3.2.3 TECHNOLOGY / 55 3.2.4 PROCESS / 55 3.3 BEST PRACTICES
FOR CREATING PEOPLE INFRASTRUCTURE / 56 3.3.1 DEFINING CROUPS / 56 3.3.2
DETERMINING A LOCATION FOR EACH GROUP'S INFRASTRUCTURE / 58 3.3.3
DEFINING PEOPLE ROLES / 58 3.3.4 ESTABLISHING A TRAINING PROGRAM / 61
3.3.5 CULTIVATING A POSITIVE GROUP CULTURE / 61 3.4 BEST PRACTICES FOR
CREATING TECHNOLOGY INFRASTRUCTURE / 63 3.4.1 AUTOMATED REPORTING SYSTEM
/ 63 3.4.2 POLICY FOR USE OF AUTOMATED REPORTING SYSTEM / 66 3.4.3
MINIMUM TECHNOLOGY INFRASTRUCTURE / 68 3.4.4 INTERMEDIATE TECHNOLOGY
INFRASTRUCTURE / 72 3.4.5 EXPANDED TECHNOLOGY INFRASTRUCTURE / 73 3.5
INTEGRATING PEOPLE AND TECHNOLOGY / 75 3.6 HUMAN FACTORS AND CONCERNS /
77 3.7 EXAMPLES / 78 3.7.1 FOCUS ON DEVELOPER IDEAS / 78 3.7.2 FOCUS ON
REPORTS GENERATED BY THE MINIMUM INFRASTRUCTURE / 79 3.8 ACRONYMS / 80
3.9 GLOSSARY / 81 3.10 REFERENCES / 82 3.11 EXERCISES / 83 4
REQUIREMENTS SPECIFICATION AND MANAGEMENT 85 4.1 INTRODUCTION / 85 4.2
BEST PRACTICES FOR GATHERING AND ORGANIZING REQUIREMENTS / 87 4.2.1
CREATING THE PRODUCT VISION AND SCOPE DOCUMENT / 87 4.2.2 GATHERING AND
ORGANIZING REQUIREMENTS / 89 4.2.3 PRIORITIZING REQUIREMENTS / 93 4.2.4
DEVELOPING USE CASES / 95 4.2.5 CREATING A PROTOTYPE TO ELICIT
REQUIREMENTS / 98 CONTENTS 4.2.6 CREATING CONCEPTUAL TEST CASES / 100
4.2.7 REQUIREMENTS DOCUMENTS INSPECTION / 101 4.2.8 MANAGING CHANGING
REQUIREMENTS / 103 4.3 BEST PRACTICES IN DIFFERENT ENVIRONMENTS / 105
4.3.1 EXISTING VERSUS NEW SOFTWARE PROJECT / 105 4.3.2 IN-HOUSE VERSUS
OUTSOURCED DEVELOPMENT TEAMS / 106 4.4 POLICY FOR USE OF THE
REQUIREMENTS MANAGEMENT SYSTEM / 107 4.4.1 MEASUREMENTS RELATED TO
REQUIREMENTS MANAGEMENT SYSTEM / 109 4.4.2 TRACKING OF DATA RELATED TO
THE REQUIREMENTS MANAGEMENT SYSTEM /HO 4.5 EXAMPLES / HO 4.5.1 FOCUS ON
CUSTOMIZED BEST PRACTICE /HO 4.5.2 FOCUS ON MONITORING AND MANAGING
REQUIREMENT PRIORITIES / 112 4.5.3 FOCUS ON CHANGE REQUESTS / 114 4.6
ACRONYMS / 115 4.7 GLOSSARY / 115 4.8 REFERENCES / 116 4.9 EXERCISES /
116 EXTENDED PLANNING AND INFRASTRUCTURE 1 5.1 INTRODUCTION / 119 5.2
SOFTWARE DEVELOPMENT PLAN / 120 5.3 DEFINING PROJECT OBJECTIVES / 121
5.4 DEFINING PROJECT ARTIFACTS AND DELIVERABLES / 124 5.4.1 THE VISION
AND SCOPE DOCUMENT AND PROJECT OBJECTIVES / 124 5.4.2 SRS, DESCRIBING
THE PRODUCT KEY FEATURES / 125 5.4.3 ARCHITECTURAL AND DETAILED DESIGN
DOCUMENTS AND MODELS / 125 5.4.4 LIST OF COTS (COMMERCIAL OFF-THE-SHELF
COMPONENTS) USED / 125 5.4.5 SOURCE AND EXECUTABLE CODE / 126 5.4.6 TEST
PLAN / 126 5.4.7 ACCEPTANCE PLAN / 126 5.4.8 PERIODIC REPORTS GENERATED
BY THE REPORTING SYSTEM / 126 5.4.9 DEPLOYMENT PLAN / 127 CONTENTS XI
5.4.10 USER AND OPERATIONAL MANUALS / 127 5.4.11 CUSTOMER TRAINING PLAN
/ 127 5.5 SELECTING A SOFTWARE DEVELOPMENT PROCESS MODEL / 128 5.6
DEFINING DEFECT PREVENTION PROCESS / 129 5.7 MANAGING RISK / 129 5.8
MANAGING CHANGE / 132 5.9 DEFINING WORK BREAKDOWN STRUCTURE*AN ITERATIVE
APPROACH / 132 5.10 BEST PRACTICES FOR ESTIMATING PROJECT EFFORT / 135
5.10.1 ESTIMATIONBY USING ELEMENTS OFWIDEBAND DELPHI / 137 5.10.2
ESTIMATION BY USING EFFORT ANALOGY / 138 5.10.3 ESTIMATION BY USING
PARAMETRIC MODELS / 141 5.10.4 ESTIMATIONS OF USING COTS AND CODE REUSE
/ 145 5.10.5 QUALITY OF ESTIMATION AND THE ITERATIVE ADJUSTMENTS OF
ESTIMATES / 145 5.11 BEST PRACTICES FOR PREPARING THE SCHEDULE / 146
5.12 MEASUREMENT AND TRACKING FOR ESTIMATION / 149 5.13 IDENTIFYING
ADDITIONAL RESOURCE REQUIREMENTS / 150 5.13.1 EXTENDING THE TECHNOLOGY
INFRASTRUCTURE / 151 5.13.2 EXTENDING THE PEOPLE INFRASTRUCTURE / 156
5.14 EXAMPLES / 157 5.14.1 FOCUS ON THE ROOT CAUSE OF A PROJECT
SCHEDULING PROBLEM / 157 5.14.2 FOCUS ON ORGANIZING AND TRACKING
ARTIFACTS / 158 5.14.3 FOCUS ON SCHEDULING AND TRACKING MILESTONES / 158
5.15 ACRONYMS / 160 5.16 GLOSSARY / 160 5.17 REFERENCES / 162 5.18
EXERCISES / 163 6 ARCHITECTURAL AND DETAILED DESIGN 165 6.1 INTRODUCTION
/ 165 6.2 BEST PRACTICES FOR DESIGN OF SYSTEM FUNCTIONALITY AND ITS
QUALITY ATTRIBUTES / 168 6.2.1 IDENTIFYING CRITICAL ATTRIBUTES OF
ARCHITECTURAL DESIGN / 168 6.2.2 DEFINING THE POLICIES FOR DESIGN OF
FUNCTIONAL AND NONFUNCTIONAL REQUIREMENTS / 172 XUE CONTENTS 6.2.3
APPLYING DESIGN PATTERNS / 175 6.2.4 SERVICE-ORIENTED ARCHITECTURE / 178
6.2.5 MAPPING REQUIREMENTS TO MODULES / 178 6.2.6 DESIGNING MODULE
INTERFACES / 181 6.2.7 MODELING MODULES AND THEIR INTERFACES / 182 6.2.8
DEFLNING APPLICATION LOGIC / 185 6.2.9 REFINING TEST CASES / 186 6.2.10
DESIGN DOCUMENT STORAGE AND INSPECTION / 187 6.2.11 MANAGING CHANGES IN
DESIGN / 188 6.3 BEST PRACTICES FOR DESIGN OF GRAPHICAL USER INTERFACE /
189 6.3.1 IDENTIFYING CRITICAL ATTRIBUTES OF USER INTERFACE DESIGN / 190
6.3.2 DEFLNING THE USER INTERFACE DESIGN POLICY / 193 6.3.3 IDENTIFYING
ARCHITECTURAL PATTERNS APPLICABLE TO THE USER INTERFACE DESIGN / 195
6.3.4 CREATING CATEGORIES OF ACTIONS / 195 6.3.5 DIVIDING ACTIONS INTO
SCREENS / 196 6.3.6 PROTOTYPING THE INTERFACE / 197 6.3.7 TESTING THE
INTERFACE / 197 6.4 EXAMPLES / 198 6.4.1 FOCUS ON MODULE ASSIGNMENTS AND
DESIGN PROGRESS / 198 6.4.2 FOCUS ON THE NUMBER OF USE CASES PER MODULE
/ 198 6.4.3 FOCUS ON MODULE IMPLEMENTATION OVERVIEW / 199 6.4.4 FOCUS ON
CUSTOMIZED BEST PRACTICE FOR GUI DESIGN / 199 6.5 ACRONYMS / 200 6.6
GLOSSARY / 201 6.7 REFERENCES / 204 6.8 EXERCISES / 205 7 CONSTRUCTION
207 7.1 INTRODUCTION / 207 7.2 BEST PRACTICES FOR CODE CONSTRUCTION /
209 7.2.1 APPLYING CODING STANDARDS THROUGHOUT DEVELOPMENT / 210 7.2.2
APPLYING THE TEST-FIRST APPROACH AT THE SERVICE AND MODULE
IMPLEMENTATION LEVEL / 225 7.2.3 IMPLEMENTING SERVICE CONTRACTS AND/OR
MODULE INTERFACES BEFORE THEIR INTERNAL FUNCTIONALITY / 226 7.2.4
APPLYING TEST DRIVEN DEVELOPMENT FOR ALGORITHMICALLY COMPLEX AND
CRITICAL CODE UNITS / 227 CONTENTS XIII 7.2.5 CONDUCTING WHITE BOX UNIT
TESTING AFTER IMPLEMENTING EACH UNIT AND BEFORE CHECKING THE CODE INTO
THE SOURCE CONTROL SYSTEM / 228 7.2.6 VERIFYING CODE CONSISTENCY WITH
THE REQUIREMENTS AND DESIGN / 228 7.3 POLICY FOR USE OF THE CODE SOURCE
CONTROL SYSTEM / 229 7.3.1 MEASUREMENTS RELATED TO SOURCE CONTROL / 234
7.3.2 TRACKING OF SOURCE CONTROL DATA / 236 7.4 POLICY FOR USE OF
AUTOMATED BUILD / 237 7.4.1 MEASUREMENTS RELATED TO AUTOMATED BUILDS /
240 7.4.2 TRACKING OF DATA RELATED TO AUTOMATED BUILDS / 241 7.5
EXAMPLES / 241 7.5.1 FOCUS ON A CUSTOMIZED CODING STANDARD POLICY / 241
7.5.2 FOCUS ON FEATURES/TESTS REPORTS / 242 7.6 ACRONYMS / 243 7.7
GLOSSARY / 244 7.8 REFERENCES / 245 7.9 EXERCISES / 247 8 TESTING AND
DEFECT PREVENTION 249 8.1 INTRODUCTION / 249 8.2 BEST PRACTICES FOR
TESTING AND CODE REVIEW / 250 8.2.1 CONDUCTING WHITE BOX UNIT TESTING:
BOTTOM-UP APPROACH / 251 8.2.2 CONDUCTING BLACK BOX TESTING AND
VERIFYING THE CONVERGENCE OF TOP-DOWN AND BOTTOM-UP TESTS / 256 8.2.3
CONDUCTING CODE REVIEWS AS A TESTING ACTIVITY / 260 8.2.4 CONDUCTING
INTEGRATION TESTING / 263 8.2.5 CONDUCTING SYSTEM TESTING / 265 8.2.6
CONDUCTING REGRESSION TESTING / 268 8.2.7 CONDUCTING ACCEPTANCE TESTING
/ 270 8.3 DEFECT ANALYSIS AND PREVENTION / 271 8.4 POLICY FOR USE OF
PROBLEM TRACKING SYSTEM / 273 8.4.1 MEASUREMENTS OF DATA RELATED TO THE
PROBLEM TRACKING SYSTEM / 277 8.4.2 TRACKING OF DATA RELATED TO THE
PROBLEM TRACKING SYSTEM / 277 8.5 POLICY FOR USE OF REGRESSION TESTING
SYSTEM / 278 XIV CONTENTS 8.5.1 MEASUREMENTS RELATED TO THE REGRESSION
TESTING SYSTEM / 279 8.5.2 TRACKING OF DATA RELATED TO THE REGRESSION
TESTING SYSTEM / 279 8.6 EXAMPLES / 279 8.6.1 FOCUS ON DEFECT TRACKING
REPORTS / 279 8.6.2 FOCUS ON TEST TYPE REPORTS / 280 8.6.3 EXAMPLE OF A
ROOT CAUSE ANALYSIS OF A DESIGN AND TESTING DEFECT / 280 8.7 ACRONYMS /
283 8.8 GLOSSARY / 283 8.9 REFERENCES / 285 8.10 EXERCISES / 286 9 TREND
ANALYSIS AND DEPLOYMENT 287 9.1 INTRODUCTION / 287 9.2 TRENDS IN PROCESS
CONTROL / 288 9.2.1 PROCESS VARIATIONS / 288 9.2.2 PROCESS STABILIZATION
/ 288 9.2.3 PROCESS CAPABILITY / 289 9.3 TRENDS IN PROJECT PROGRESS /
290 9.3.1 ANALYZING FEATURES/REQUIREMENTS IMPLEMENTATION STATUS / 290
9.3.2 ANALYZING SOURCE CODE GROWTH / 294 9.3.3 ANALYZING TEST RESULTS /
296 9.3.4 ANALYZING DEFECTS / 299 9.3.5 ANALYZING COST AND SCHEDULE /
301 9.4 BEST PRACTICES FOR DEPLOYMENT AND TRANSITION / 301 9.4.1
DEPLOYMENT TO A STAGING SYSTEM / 301 9.4.2 AUTOMATION OF THE DEPLOYMENT
PROCESS / 303 9.4.3 ASSESSING RELEASE READINESS / 304 9.4.4 RELEASE:
DEPLOYMENT TO THE PRODUCTION SYSTEM / 307 9.4.5 NONINTRUSIVE MONITORING
/ 307 9.5 ACRONYMS / 309 9.6 GLOSSARY / 309 9.7 REFERENCES / 309 9.8
EXERCISES / 310 CONTENTS XV MANAGING EXTERNAL FACTORS 311 10.1
INTRODUCTION / 311 10.2 BEST PRACTICES FOR MANAGING OUTSOURCED PROJECTS
/ 312 10.2.1 ESTABLISHING A SOFTWARE DEVELOPMENT OUTSOURCE PROCESS / 313
10.2.2 PHASE 0: DECISION TO OUTSOURCE / 314 10.2.3 PHASE 1: PLANNING /
315 10.2.4 PHASE 2: IMPLEMENTATION / 319 10.2.5 PHASE 3: TERMINATION /
321 10.3 BEST PRACTICES FOR FACILITATING IT REGULATORY COMPLIANCE / 322
10.3.1 SECTION 508 OF THE U.S. REHABILITATION ACT / 322 10.3.2
SARBANES-OXLEY ACT OF 2002 / 323 10.4 BEST PRACTICES FOR IMPLEMENTATION
OF CMMI / 328 10.4.1 CAPABILITY AND MATURITY MODEL INTEGRATION (CMMI) /
329 10.4.2 STAGED REPRESENTATION / 330 10.4.3 PUTTING STAGED
REPRESENTATION-BASED IMPROVEMENT INTO PRACTICE USING ADP / 330 10.4.4
PUTTING CONTINUOUS REPRESENTATION-BASED IMPROVEMENT INTO PRACTICE USING
ADP / 336 10.5 ACRONYMS / 337 10.6 GLOSSARY / 337 10.7 REFERENCES / 338
10.8 EXERCISES / 339 CASE STUDY: AUTOMATION AS AN AGENT OF CHANGE 341
11.1 CASE STUDY: IMPLEMENTING JAVA CODING STANDARDS IN A FINANCIAL
APPLICATION / 341 11.1.1 COMPANY PROFILE / 341 11.1.2 PROBLEMS / 342
11.1.3 SOLUTION / 344 11.1.4 DATA COLLECTED / 348 11.1.5 THE BOTTOM LINE
RESULTS*FACILITATING CHANGE / 351 11.2 ACRONYMS / 352 11.3 GLOSSARY /
352 11.4 REFERENCES / 352 XVI CONTENTS APPENDIX A: A BRIEF SURVEY OF
MODERN SOFTWARE DEVELOPMENT PROCESS MODELS 353 A.L INTRODUCTION / 353
A.2 RAPID APPLICATION DEVELOPMENT (RAD) AND RAPID PROTOTYPING / 353 A.3
INCREMENTAL DEVELOPMENT / 355 A.4 SPIRAL MODEL / 355 A.5 OBJECT-ORIENTED
UNIFIED PROCESS / 357 A.6 EXTREME AND AGILE PROGRAMMING / 358 A.7
REFERENCES / 359 APPENDIX B: MARS POLAR LANDER (MPL): LOSS AND LESSONS
BY GORDON HEBERT 361 B.L NO DEFINITE ROOT CAUSE / 361 B.2 NO MISSION
DATA / 362 B.3 ROOT CAUSE REVISITED / 364 B.4 REFERENCES / 366 APPENDIX
C: SERVICE-ORIENTED ARCHITECTURE: EXAMPLE OF AN IMPLEMENTATION WITH ADP
BEST PRACTICES 369 C.L INTRODUCTION / 369 C.2 WEB SERVICE CREATION:
INITIAL PLANNING AND REQUIREMENTS / 369 C.2.1 FUNCTIONAL REQUIREMENTS /
370 C.2.2 NONFUNCTIONAL REQUIREMENTS / 371 C.3 WEB SERVICE CREATION:
EXTENDED PLANNING AND DESIGN / 371 C.3.1 INITIAL ARCHITECTURE / 371
C.3.2 EXTENDED INFRASTRUCTURE / 373 C.3.3 DESIGN / 374 C.4 WEB SERVICE
CREATION: CONSTRUCTION AND TESTING, STAGE 1* MODULE IMPLEMENTATION / 375
C.4.1 APPLYING CODING STANDARDS / 376 C.4.2 IMPLEMENTING INTERFACES AND
APPLYING A TEST-FIRST APPROACH FOR MODULES AND SUBMODULES / 376 C.4.3
GENERATING WHITE BOX JUNIT TESTS / 377 C.4.4 GRADUALLY IMPLEMENTING THE
SUBMODULE UNTIL ALL JUNIT TESTS PASS AND CONVERGE WITH THE ORIGINAL
BLACK BOX TESTS / 378 CONTENTS XVUE C.4.5 CHECKING VERIFIED TESTS INTO
THE SOURCE CONTROL SYSTEM AND RUNNING NIGHTLY REGRESSION TESTS / 380 C.5
WEB SERVICE CREATION: CONSTRUCTION AND TESTING, STAGE 2*THE WSDL
DOCUMENT IMPLEMENTATION / 381 C.5.1 CREATING AND DEPLOYING THE WSDL
DOCUMENT ON THE STAGING SERVER AS PART OF THE NIGHTLY BUILD PROCESS /
381 C.5.2 AVOIDING INLINE SCHEMAS WHEN XML VALIDATION IS REQUIRED / 383
C.5.3 AVOIDING CYCLICAL REFERENCING WHEN USING INLINE SCHEMAS / 383
C.5.4 VERIFYING WSDL DOCUMENT FOR XML VALIDITY / 384 C.5.5 AVOIDING
"ENCODED" CODING STYLE BY CHECKING INTEROPERABILITY / 384 C.5.6 CREATING
REGRESSION TESTS FOR THE WSDL DOCUMENTS AND SCHEMAS TO DETECT UNDESIRED
CHANGES / 384 C.6 WEB SERVICE CREATION: SERVER DEPLOYMENT / 384 C.6.1
DEPLOYING THE WEB SERVICE TO A STAGING SERVER AS PART OF THE NIGHTLY
BUILD PROCESS / 384 C.6.2 EXECUTING WEB SERVICE TESTS THAT VERIFY THE
FUNCTIONALITY OF THE WEB SERVICE / 385 C.6.3 CREATING SCENARIO-BASED
TESTS AND INCORPORATING THEM INTO THE NIGHTLY TEST PROCESS / 386 C.6.4
DATABASE TESTING / 386 C.7 WEB SERVICE CREATION: CLIENT DEPLOYMENT / 386
C.7.1 IMPLEMENTING THE CLIENT ACCORDING TO THE WSDL DOCUMENT
SPECIFLCATION / 386 C.7.2 USING SERVER STUBS TO TEST CLIENT
FUNCTIONALITY* DEPLOYING THE SERVER STUB AS PART OF THE NIGHTLY
DEPLOYMENT PROCESS / 387 C.7.3 ADDING CLIENT TESTS INTO THE NIGHTLY TEST
PROCESS / 387 C.8 WEB SERVICE CREATION: VERIFYING SECURITY / 387 C.8.1
DETERMINING THE DESIRED LEVEL OF SECURITY / 387 C.8.2 DEPLOYING
SECURITY-ENABLED WEB SERVICE ON ADDITIONAL PORT OF THE STAGING SERVER /
388 C.8.3 LEVERAGING EXISTING TESTS: MODIFYING THEM TO TEST FOR SECURITY
AND INCORPORATING THEM INTO THE NIGHTLY TEST PROCESS / 388 C.9 WEB
SERVICE CREATION: VERIFYING PERFORMANCE THROUGH CONTINUOUS
PERFORMANCE/LOAD TESTING / 389 C.9.1 STARTING LOAD TESTING AS EARLY AS
POSSIBLE AND INCORPORATING IT INTO THE NIGHTLY TEST PROCESS / 389 XVUEI
CONTENTS C.9.2 USING RESULTS OF LOAD TESTS TO DETERMINE FINAL DEPLOYMENT
CONFIGURATION / 389 APPENDIX D: AJAX BEST PRACTICE: CONTINUOUS TESTING
391 DL WHYAJAX? / 391 D.2 AJAX DEVELOPMENT AND TESTING CHALLENGES / 392
D.3 CONTINUOUS TESTING / 392 APPENDIX E: SOFTWARE ENGINEERING TOOLS 395
GLOSSARY 401 INDEX 415 |
adam_txt |
AUTOMATED DEFECT PREVENTION BEST PRACTICES IN SOFTWARE MANAGEMENT DOROTA
HUIZINGA ADAM KOLAWA ^COMPUTER ^ K SOCIETY 60* ANNIVERSARY BICENTENNIAL
-L| IUI ; 1 8 0 7 S \ WILEY \ * 2 O O 7 L ML FR BICENTENNIAL
WILEY-INTERSCIENCE A JOHN WILEY & SONS, INC., PUBLICATION CONTENTS
PREFACE XIX FEATURES AND ORGANIZATION / XXI PRACTICE DESCRIPTIONS /
XXIII INTENDED AUDIENCE / XXIV ACKNOWLEDGMENTS / XXIV PERMISSIONS / XXVI
DISCLAIMER / XXVI 1 THE CASE FOR AUTOMATED DEFECT PREVENTION 1 1.1 WHAT
IS ADP? / 1 1.2 WHAT ARE THE GOALS OF ADP? / 3 1.2.1 PEOPLE: STIMULATED
AND SATISFIED / 3 1.2.2 PRODUCT: HIGH QUALITY / 4 1.2.3 ORGANIZATION:
INCREASED PRODUCTIVITY AND OPERATIONAL EFFICIENCY / 5 1.2.4 PROCESS:
CONTROLLED, IMPROVED, AND SUSTAINABLE / 6 1.2.5 PROJECT: MANAGED THROUGH
INFORMED DECISION MAKING / 7 1.3 HOW IS ADP IMPLEMENTED? / 8 1.3.1
PRINCIPLES / 8 1.3.2 PRACTICES / 9 1.3.3 POLICIES / 9 VII VUEI CONTENTS
1.3.4 DEFECT PREVENTION MINDSET / 10 1.3.5 AUTOMATION / 11 1.4 FROM THE
WATERFALL TO MODERN SOFTWARE DEVELOPMENT PROCESS MODELS / 11 1.5
ACRONYMS / 13 1.6 GLOSSARY / 13 1.7 REFERENCES / 15 1.8 EXERCISES / 16 2
PRINCIPLES OF AUTOMATED DEFECT PREVENTION 19 2.1 INTRODUCTION / 19 2.2
DEFECT PREVENTION: DEFINITION AND BENEFITS / 21 2.3 HISTORICAL
PERSPECTIVE: DEFECT ANALYSIS AND PREVENTION IN THE AUTO INDUSTRY*WHAT
HAPPENED TO DEMING? / 24 2.4 PRINCIPLES OF AUTOMATED DEFECT PREVENTION /
26 2.4.1 PRINCIPLE 1*ESTABLISHMENT OF INFRASTRUCTURE: "BUILD A STRONG
FOUNDATION THROUGH INTEGRATION OF PEOPLE AND TECHNOLOGY" / 26 2.4.2
PRINCIPLE 2*APPLICATION OF GENERAL BEST PRACTICES: "LEARN FROM OTHERS'
MISTAKES" / 28 2.4.3 PRINCIPLE 3*CUSTOMIZATION OF BEST PRACTICES: "LEARN
FROM YOUR OWN MISTAKES AND IMPROVE THE PROCESS" / 29 2.4.4 PRINCIPLE
4*MEASUREMENT AND TRACKING OF PROJECT STATUS: "UNDERSTAND THE PAST AND
PRESENT TO MAKE DECISIONS ABOUT THE FUTURE" / 31 2.4.5 PRINCIPLE
5*AUTOMATION: "LET THE COMPUTER DO IT" / 32 2.4.6 PRINCIPLE
6*INCREMENTAL IMPLEMENTATION OF ADP'S PRACTICES AND POLICIES / 36 2.5
AUTOMATED DEFECT PREVENTION-BASED SOFTWARE DEVELOPMENT PROCESS MODEL /
38 2.6 EXAMPLES / 41 2.6.1 FOCUS ON ROOT CAUSE ANALYSIS OF A DEFECT / 41
2.6.2 FOCUS ON INFRASTRUCTURE / 44 2.6.3 FOCUS ON CUSTOMIZED BEST
PRACTICE / 45 2.6.4 FOCUS ON MEASUREMENTS OF PROJECT STATUS / 47 2.7
ACRONYMS / 48 2.8 GLOSSARY / 48 2.9 REFERENCES / 50 2.10 EXERCISES / 51
CONTENTS JX 3 INITIAL PLANNING AND INFRASTRUCTURE 53 3.1 INTRODUCTION /
53 3.2 INITIAL SOFTWARE DEVELOPMENT PLAN / 54 3.2.1 PRODUCT / 54 3.2.2
PEOPLE / 54 3.2.3 TECHNOLOGY / 55 3.2.4 PROCESS / 55 3.3 BEST PRACTICES
FOR CREATING PEOPLE INFRASTRUCTURE / 56 3.3.1 DEFINING CROUPS / 56 3.3.2
DETERMINING A LOCATION FOR EACH GROUP'S INFRASTRUCTURE / 58 3.3.3
DEFINING PEOPLE ROLES / 58 3.3.4 ESTABLISHING A TRAINING PROGRAM / 61
3.3.5 CULTIVATING A POSITIVE GROUP CULTURE / 61 3.4 BEST PRACTICES FOR
CREATING TECHNOLOGY INFRASTRUCTURE / 63 3.4.1 AUTOMATED REPORTING SYSTEM
/ 63 3.4.2 POLICY FOR USE OF AUTOMATED REPORTING SYSTEM / 66 3.4.3
MINIMUM TECHNOLOGY INFRASTRUCTURE / 68 3.4.4 INTERMEDIATE TECHNOLOGY
INFRASTRUCTURE / 72 3.4.5 EXPANDED TECHNOLOGY INFRASTRUCTURE / 73 3.5
INTEGRATING PEOPLE AND TECHNOLOGY / 75 3.6 HUMAN FACTORS AND CONCERNS /
77 3.7 EXAMPLES / 78 3.7.1 FOCUS ON DEVELOPER IDEAS / 78 3.7.2 FOCUS ON
REPORTS GENERATED BY THE MINIMUM INFRASTRUCTURE / 79 3.8 ACRONYMS / 80
3.9 GLOSSARY / 81 3.10 REFERENCES / 82 3.11 EXERCISES / 83 4
REQUIREMENTS SPECIFICATION AND MANAGEMENT 85 4.1 INTRODUCTION / 85 4.2
BEST PRACTICES FOR GATHERING AND ORGANIZING REQUIREMENTS / 87 4.2.1
CREATING THE PRODUCT VISION AND SCOPE DOCUMENT / 87 4.2.2 GATHERING AND
ORGANIZING REQUIREMENTS / 89 4.2.3 PRIORITIZING REQUIREMENTS / 93 4.2.4
DEVELOPING USE CASES / 95 4.2.5 CREATING A PROTOTYPE TO ELICIT
REQUIREMENTS / 98 CONTENTS 4.2.6 CREATING CONCEPTUAL TEST CASES / 100
4.2.7 REQUIREMENTS DOCUMENTS INSPECTION / 101 4.2.8 MANAGING CHANGING
REQUIREMENTS / 103 4.3 BEST PRACTICES IN DIFFERENT ENVIRONMENTS / 105
4.3.1 EXISTING VERSUS NEW SOFTWARE PROJECT / 105 4.3.2 IN-HOUSE VERSUS
OUTSOURCED DEVELOPMENT TEAMS / 106 4.4 POLICY FOR USE OF THE
REQUIREMENTS MANAGEMENT SYSTEM / 107 4.4.1 MEASUREMENTS RELATED TO
REQUIREMENTS MANAGEMENT SYSTEM / 109 4.4.2 TRACKING OF DATA RELATED TO
THE REQUIREMENTS MANAGEMENT SYSTEM /HO 4.5 EXAMPLES / HO 4.5.1 FOCUS ON
CUSTOMIZED BEST PRACTICE /HO 4.5.2 FOCUS ON MONITORING AND MANAGING
REQUIREMENT PRIORITIES / 112 4.5.3 FOCUS ON CHANGE REQUESTS / 114 4.6
ACRONYMS / 115 4.7 GLOSSARY / 115 4.8 REFERENCES / 116 4.9 EXERCISES /
116 EXTENDED PLANNING AND INFRASTRUCTURE 1 5.1 INTRODUCTION / 119 5.2
SOFTWARE DEVELOPMENT PLAN / 120 5.3 DEFINING PROJECT OBJECTIVES / 121
5.4 DEFINING PROJECT ARTIFACTS AND DELIVERABLES / 124 5.4.1 THE VISION
AND SCOPE DOCUMENT AND PROJECT OBJECTIVES / 124 5.4.2 SRS, DESCRIBING
THE PRODUCT KEY FEATURES / 125 5.4.3 ARCHITECTURAL AND DETAILED DESIGN
DOCUMENTS AND MODELS / 125 5.4.4 LIST OF COTS (COMMERCIAL OFF-THE-SHELF
COMPONENTS) USED / 125 5.4.5 SOURCE AND EXECUTABLE CODE / 126 5.4.6 TEST
PLAN / 126 5.4.7 ACCEPTANCE PLAN / 126 5.4.8 PERIODIC REPORTS GENERATED
BY THE REPORTING SYSTEM / 126 5.4.9 DEPLOYMENT PLAN / 127 CONTENTS XI
5.4.10 USER AND OPERATIONAL MANUALS / 127 5.4.11 CUSTOMER TRAINING PLAN
/ 127 5.5 SELECTING A SOFTWARE DEVELOPMENT PROCESS MODEL / 128 5.6
DEFINING DEFECT PREVENTION PROCESS / 129 5.7 MANAGING RISK / 129 5.8
MANAGING CHANGE / 132 5.9 DEFINING WORK BREAKDOWN STRUCTURE*AN ITERATIVE
APPROACH / 132 5.10 BEST PRACTICES FOR ESTIMATING PROJECT EFFORT / 135
5.10.1 ESTIMATIONBY USING ELEMENTS OFWIDEBAND DELPHI / 137 5.10.2
ESTIMATION BY USING EFFORT ANALOGY / 138 5.10.3 ESTIMATION BY USING
PARAMETRIC MODELS / 141 5.10.4 ESTIMATIONS OF USING COTS AND CODE REUSE
/ 145 5.10.5 QUALITY OF ESTIMATION AND THE ITERATIVE ADJUSTMENTS OF
ESTIMATES / 145 5.11 BEST PRACTICES FOR PREPARING THE SCHEDULE / 146
5.12 MEASUREMENT AND TRACKING FOR ESTIMATION / 149 5.13 IDENTIFYING
ADDITIONAL RESOURCE REQUIREMENTS / 150 5.13.1 EXTENDING THE TECHNOLOGY
INFRASTRUCTURE / 151 5.13.2 EXTENDING THE PEOPLE INFRASTRUCTURE / 156
5.14 EXAMPLES / 157 5.14.1 FOCUS ON THE ROOT CAUSE OF A PROJECT
SCHEDULING PROBLEM / 157 5.14.2 FOCUS ON ORGANIZING AND TRACKING
ARTIFACTS / 158 5.14.3 FOCUS ON SCHEDULING AND TRACKING MILESTONES / 158
5.15 ACRONYMS / 160 5.16 GLOSSARY / 160 5.17 REFERENCES / 162 5.18
EXERCISES / 163 6 ARCHITECTURAL AND DETAILED DESIGN 165 6.1 INTRODUCTION
/ 165 6.2 BEST PRACTICES FOR DESIGN OF SYSTEM FUNCTIONALITY AND ITS
QUALITY ATTRIBUTES / 168 6.2.1 IDENTIFYING CRITICAL ATTRIBUTES OF
ARCHITECTURAL DESIGN / 168 6.2.2 DEFINING THE POLICIES FOR DESIGN OF
FUNCTIONAL AND NONFUNCTIONAL REQUIREMENTS / 172 XUE CONTENTS 6.2.3
APPLYING DESIGN PATTERNS / 175 6.2.4 SERVICE-ORIENTED ARCHITECTURE / 178
6.2.5 MAPPING REQUIREMENTS TO MODULES / 178 6.2.6 DESIGNING MODULE
INTERFACES / 181 6.2.7 MODELING MODULES AND THEIR INTERFACES / 182 6.2.8
DEFLNING APPLICATION LOGIC / 185 6.2.9 REFINING TEST CASES / 186 6.2.10
DESIGN DOCUMENT STORAGE AND INSPECTION / 187 6.2.11 MANAGING CHANGES IN
DESIGN / 188 6.3 BEST PRACTICES FOR DESIGN OF GRAPHICAL USER INTERFACE /
189 6.3.1 IDENTIFYING CRITICAL ATTRIBUTES OF USER INTERFACE DESIGN / 190
6.3.2 DEFLNING THE USER INTERFACE DESIGN POLICY / 193 6.3.3 IDENTIFYING
ARCHITECTURAL PATTERNS APPLICABLE TO THE USER INTERFACE DESIGN / 195
6.3.4 CREATING CATEGORIES OF ACTIONS / 195 6.3.5 DIVIDING ACTIONS INTO
SCREENS / 196 6.3.6 PROTOTYPING THE INTERFACE / 197 6.3.7 TESTING THE
INTERFACE / 197 6.4 EXAMPLES / 198 6.4.1 FOCUS ON MODULE ASSIGNMENTS AND
DESIGN PROGRESS / 198 6.4.2 FOCUS ON THE NUMBER OF USE CASES PER MODULE
/ 198 6.4.3 FOCUS ON MODULE IMPLEMENTATION OVERVIEW / 199 6.4.4 FOCUS ON
CUSTOMIZED BEST PRACTICE FOR GUI DESIGN / 199 6.5 ACRONYMS / 200 6.6
GLOSSARY / 201 6.7 REFERENCES / 204 6.8 EXERCISES / 205 7 CONSTRUCTION
207 7.1 INTRODUCTION / 207 7.2 BEST PRACTICES FOR CODE CONSTRUCTION /
209 7.2.1 APPLYING CODING STANDARDS THROUGHOUT DEVELOPMENT / 210 7.2.2
APPLYING THE TEST-FIRST APPROACH AT THE SERVICE AND MODULE
IMPLEMENTATION LEVEL / 225 7.2.3 IMPLEMENTING SERVICE CONTRACTS AND/OR
MODULE INTERFACES BEFORE THEIR INTERNAL FUNCTIONALITY / 226 7.2.4
APPLYING TEST DRIVEN DEVELOPMENT FOR ALGORITHMICALLY COMPLEX AND
CRITICAL CODE UNITS / 227 CONTENTS XIII 7.2.5 CONDUCTING WHITE BOX UNIT
TESTING AFTER IMPLEMENTING EACH UNIT AND BEFORE CHECKING THE CODE INTO
THE SOURCE CONTROL SYSTEM / 228 7.2.6 VERIFYING CODE CONSISTENCY WITH
THE REQUIREMENTS AND DESIGN / 228 7.3 POLICY FOR USE OF THE CODE SOURCE
CONTROL SYSTEM / 229 7.3.1 MEASUREMENTS RELATED TO SOURCE CONTROL / 234
7.3.2 TRACKING OF SOURCE CONTROL DATA / 236 7.4 POLICY FOR USE OF
AUTOMATED BUILD / 237 7.4.1 MEASUREMENTS RELATED TO AUTOMATED BUILDS /
240 7.4.2 TRACKING OF DATA RELATED TO AUTOMATED BUILDS / 241 7.5
EXAMPLES / 241 7.5.1 FOCUS ON A CUSTOMIZED CODING STANDARD POLICY / 241
7.5.2 FOCUS ON FEATURES/TESTS REPORTS / 242 7.6 ACRONYMS / 243 7.7
GLOSSARY / 244 7.8 REFERENCES / 245 7.9 EXERCISES / 247 8 TESTING AND
DEFECT PREVENTION 249 8.1 INTRODUCTION / 249 8.2 BEST PRACTICES FOR
TESTING AND CODE REVIEW / 250 8.2.1 CONDUCTING WHITE BOX UNIT TESTING:
BOTTOM-UP APPROACH / 251 8.2.2 CONDUCTING BLACK BOX TESTING AND
VERIFYING THE CONVERGENCE OF TOP-DOWN AND BOTTOM-UP TESTS / 256 8.2.3
CONDUCTING CODE REVIEWS AS A TESTING ACTIVITY / 260 8.2.4 CONDUCTING
INTEGRATION TESTING / 263 8.2.5 CONDUCTING SYSTEM TESTING / 265 8.2.6
CONDUCTING REGRESSION TESTING / 268 8.2.7 CONDUCTING ACCEPTANCE TESTING
/ 270 8.3 DEFECT ANALYSIS AND PREVENTION / 271 8.4 POLICY FOR USE OF
PROBLEM TRACKING SYSTEM / 273 8.4.1 MEASUREMENTS OF DATA RELATED TO THE
PROBLEM TRACKING SYSTEM / 277 8.4.2 TRACKING OF DATA RELATED TO THE
PROBLEM TRACKING SYSTEM / 277 8.5 POLICY FOR USE OF REGRESSION TESTING
SYSTEM / 278 XIV CONTENTS 8.5.1 MEASUREMENTS RELATED TO THE REGRESSION
TESTING SYSTEM / 279 8.5.2 TRACKING OF DATA RELATED TO THE REGRESSION
TESTING SYSTEM / 279 8.6 EXAMPLES / 279 8.6.1 FOCUS ON DEFECT TRACKING
REPORTS / 279 8.6.2 FOCUS ON TEST TYPE REPORTS / 280 8.6.3 EXAMPLE OF A
ROOT CAUSE ANALYSIS OF A DESIGN AND TESTING DEFECT / 280 8.7 ACRONYMS /
283 8.8 GLOSSARY / 283 8.9 REFERENCES / 285 8.10 EXERCISES / 286 9 TREND
ANALYSIS AND DEPLOYMENT 287 9.1 INTRODUCTION / 287 9.2 TRENDS IN PROCESS
CONTROL / 288 9.2.1 PROCESS VARIATIONS / 288 9.2.2 PROCESS STABILIZATION
/ 288 9.2.3 PROCESS CAPABILITY / 289 9.3 TRENDS IN PROJECT PROGRESS /
290 9.3.1 ANALYZING FEATURES/REQUIREMENTS IMPLEMENTATION STATUS / 290
9.3.2 ANALYZING SOURCE CODE GROWTH / 294 9.3.3 ANALYZING TEST RESULTS /
296 9.3.4 ANALYZING DEFECTS / 299 9.3.5 ANALYZING COST AND SCHEDULE /
301 9.4 BEST PRACTICES FOR DEPLOYMENT AND TRANSITION / 301 9.4.1
DEPLOYMENT TO A STAGING SYSTEM / 301 9.4.2 AUTOMATION OF THE DEPLOYMENT
PROCESS / 303 9.4.3 ASSESSING RELEASE READINESS / 304 9.4.4 RELEASE:
DEPLOYMENT TO THE PRODUCTION SYSTEM / 307 9.4.5 NONINTRUSIVE MONITORING
/ 307 9.5 ACRONYMS / 309 9.6 GLOSSARY / 309 9.7 REFERENCES / 309 9.8
EXERCISES / 310 CONTENTS XV MANAGING EXTERNAL FACTORS 311 10.1
INTRODUCTION / 311 10.2 BEST PRACTICES FOR MANAGING OUTSOURCED PROJECTS
/ 312 10.2.1 ESTABLISHING A SOFTWARE DEVELOPMENT OUTSOURCE PROCESS / 313
10.2.2 PHASE 0: DECISION TO OUTSOURCE / 314 10.2.3 PHASE 1: PLANNING /
315 10.2.4 PHASE 2: IMPLEMENTATION / 319 10.2.5 PHASE 3: TERMINATION /
321 10.3 BEST PRACTICES FOR FACILITATING IT REGULATORY COMPLIANCE / 322
10.3.1 SECTION 508 OF THE U.S. REHABILITATION ACT / 322 10.3.2
SARBANES-OXLEY ACT OF 2002 / 323 10.4 BEST PRACTICES FOR IMPLEMENTATION
OF CMMI / 328 10.4.1 CAPABILITY AND MATURITY MODEL INTEGRATION (CMMI) /
329 10.4.2 STAGED REPRESENTATION / 330 10.4.3 PUTTING STAGED
REPRESENTATION-BASED IMPROVEMENT INTO PRACTICE USING ADP / 330 10.4.4
PUTTING CONTINUOUS REPRESENTATION-BASED IMPROVEMENT INTO PRACTICE USING
ADP / 336 10.5 ACRONYMS / 337 10.6 GLOSSARY / 337 10.7 REFERENCES / 338
10.8 EXERCISES / 339 CASE STUDY: AUTOMATION AS AN AGENT OF CHANGE 341
11.1 CASE STUDY: IMPLEMENTING JAVA CODING STANDARDS IN A FINANCIAL
APPLICATION / 341 11.1.1 COMPANY PROFILE / 341 11.1.2 PROBLEMS / 342
11.1.3 SOLUTION / 344 11.1.4 DATA COLLECTED / 348 11.1.5 THE BOTTOM LINE
RESULTS*FACILITATING CHANGE / 351 11.2 ACRONYMS / 352 11.3 GLOSSARY /
352 11.4 REFERENCES / 352 XVI CONTENTS APPENDIX A: A BRIEF SURVEY OF
MODERN SOFTWARE DEVELOPMENT PROCESS MODELS 353 A.L INTRODUCTION / 353
A.2 RAPID APPLICATION DEVELOPMENT (RAD) AND RAPID PROTOTYPING / 353 A.3
INCREMENTAL DEVELOPMENT / 355 A.4 SPIRAL MODEL / 355 A.5 OBJECT-ORIENTED
UNIFIED PROCESS / 357 A.6 EXTREME AND AGILE PROGRAMMING / 358 A.7
REFERENCES / 359 APPENDIX B: MARS POLAR LANDER (MPL): LOSS AND LESSONS
BY GORDON HEBERT 361 B.L NO DEFINITE ROOT CAUSE / 361 B.2 NO MISSION
DATA / 362 B.3 ROOT CAUSE REVISITED / 364 B.4 REFERENCES / 366 APPENDIX
C: SERVICE-ORIENTED ARCHITECTURE: EXAMPLE OF AN IMPLEMENTATION WITH ADP
BEST PRACTICES 369 C.L INTRODUCTION / 369 C.2 WEB SERVICE CREATION:
INITIAL PLANNING AND REQUIREMENTS / 369 C.2.1 FUNCTIONAL REQUIREMENTS /
370 C.2.2 NONFUNCTIONAL REQUIREMENTS / 371 C.3 WEB SERVICE CREATION:
EXTENDED PLANNING AND DESIGN / 371 C.3.1 INITIAL ARCHITECTURE / 371
C.3.2 EXTENDED INFRASTRUCTURE / 373 C.3.3 DESIGN / 374 C.4 WEB SERVICE
CREATION: CONSTRUCTION AND TESTING, STAGE 1* MODULE IMPLEMENTATION / 375
C.4.1 APPLYING CODING STANDARDS / 376 C.4.2 IMPLEMENTING INTERFACES AND
APPLYING A TEST-FIRST APPROACH FOR MODULES AND SUBMODULES / 376 C.4.3
GENERATING WHITE BOX JUNIT TESTS / 377 C.4.4 GRADUALLY IMPLEMENTING THE
SUBMODULE UNTIL ALL JUNIT TESTS PASS AND CONVERGE WITH THE ORIGINAL
BLACK BOX TESTS / 378 CONTENTS XVUE C.4.5 CHECKING VERIFIED TESTS INTO
THE SOURCE CONTROL SYSTEM AND RUNNING NIGHTLY REGRESSION TESTS / 380 C.5
WEB SERVICE CREATION: CONSTRUCTION AND TESTING, STAGE 2*THE WSDL
DOCUMENT IMPLEMENTATION / 381 C.5.1 CREATING AND DEPLOYING THE WSDL
DOCUMENT ON THE STAGING SERVER AS PART OF THE NIGHTLY BUILD PROCESS /
381 C.5.2 AVOIDING INLINE SCHEMAS WHEN XML VALIDATION IS REQUIRED / 383
C.5.3 AVOIDING CYCLICAL REFERENCING WHEN USING INLINE SCHEMAS / 383
C.5.4 VERIFYING WSDL DOCUMENT FOR XML VALIDITY / 384 C.5.5 AVOIDING
"ENCODED" CODING STYLE BY CHECKING INTEROPERABILITY / 384 C.5.6 CREATING
REGRESSION TESTS FOR THE WSDL DOCUMENTS AND SCHEMAS TO DETECT UNDESIRED
CHANGES / 384 C.6 WEB SERVICE CREATION: SERVER DEPLOYMENT / 384 C.6.1
DEPLOYING THE WEB SERVICE TO A STAGING SERVER AS PART OF THE NIGHTLY
BUILD PROCESS / 384 C.6.2 EXECUTING WEB SERVICE TESTS THAT VERIFY THE
FUNCTIONALITY OF THE WEB SERVICE / 385 C.6.3 CREATING SCENARIO-BASED
TESTS AND INCORPORATING THEM INTO THE NIGHTLY TEST PROCESS / 386 C.6.4
DATABASE TESTING / 386 C.7 WEB SERVICE CREATION: CLIENT DEPLOYMENT / 386
C.7.1 IMPLEMENTING THE CLIENT ACCORDING TO THE WSDL DOCUMENT
SPECIFLCATION / 386 C.7.2 USING SERVER STUBS TO TEST CLIENT
FUNCTIONALITY* DEPLOYING THE SERVER STUB AS PART OF THE NIGHTLY
DEPLOYMENT PROCESS / 387 C.7.3 ADDING CLIENT TESTS INTO THE NIGHTLY TEST
PROCESS / 387 C.8 WEB SERVICE CREATION: VERIFYING SECURITY / 387 C.8.1
DETERMINING THE DESIRED LEVEL OF SECURITY / 387 C.8.2 DEPLOYING
SECURITY-ENABLED WEB SERVICE ON ADDITIONAL PORT OF THE STAGING SERVER /
388 C.8.3 LEVERAGING EXISTING TESTS: MODIFYING THEM TO TEST FOR SECURITY
AND INCORPORATING THEM INTO THE NIGHTLY TEST PROCESS / 388 C.9 WEB
SERVICE CREATION: VERIFYING PERFORMANCE THROUGH CONTINUOUS
PERFORMANCE/LOAD TESTING / 389 C.9.1 STARTING LOAD TESTING AS EARLY AS
POSSIBLE AND INCORPORATING IT INTO THE NIGHTLY TEST PROCESS / 389 XVUEI
CONTENTS C.9.2 USING RESULTS OF LOAD TESTS TO DETERMINE FINAL DEPLOYMENT
CONFIGURATION / 389 APPENDIX D: AJAX BEST PRACTICE: CONTINUOUS TESTING
391 DL WHYAJAX? / 391 D.2 AJAX DEVELOPMENT AND TESTING CHALLENGES / 392
D.3 CONTINUOUS TESTING / 392 APPENDIX E: SOFTWARE ENGINEERING TOOLS 395
GLOSSARY 401 INDEX 415 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Huizinga, Dorota Kolawa, Adam |
author_facet | Huizinga, Dorota Kolawa, Adam |
author_role | aut aut |
author_sort | Huizinga, Dorota |
author_variant | d h dh a k ak |
building | Verbundindex |
bvnumber | BV022656227 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.F34 |
callnumber-search | QA76.76.F34 |
callnumber-sort | QA 276.76 F34 |
callnumber-subject | QA - Mathematics |
classification_rvk | SR 870 |
ctrlnum | (OCoLC)602071998 (DE-599)BVBBV022656227 |
dewey-full | 005 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005 |
dewey-search | 005 |
dewey-sort | 15 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000zc 4500</leader><controlfield tag="001">BV022656227</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20080707</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">070829s2007 xxu |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2007002342</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780470042120</subfield><subfield code="9">978-0-470-04212-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)602071998</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022656227</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.F34</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">SR 870</subfield><subfield code="0">(DE-625)143368:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Huizinga, Dorota</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Automated defect prevention</subfield><subfield code="b">best practices in software management</subfield><subfield code="c">Dorota Huizinga ; Adam Kolawa</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Hoboken, N.J.</subfield><subfield code="b">Wiley</subfield><subfield code="c">2007</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXVI, 426 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Erscheint: September 2007</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Datenverarbeitung</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software failures</subfield><subfield code="x">Prevention</subfield><subfield code="x">Data processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software maintenance</subfield><subfield code="x">Data processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Debugging in computer science</subfield><subfield code="x">Automatic control</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programs</subfield><subfield code="x">Testing</subfield><subfield code="x">Data processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programs</subfield><subfield code="x">Correctness</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Debugging</subfield><subfield code="0">(DE-588)4148954-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Debugging</subfield><subfield code="0">(DE-588)4148954-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kolawa, Adam</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">GBV Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015862153&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield></record></collection> |
id | DE-604.BV022656227 |
illustrated | Not Illustrated |
index_date | 2024-07-02T18:23:22Z |
indexdate | 2024-07-20T07:52:45Z |
institution | BVB |
isbn | 9780470042120 |
language | English |
lccn | 2007002342 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015862153 |
oclc_num | 602071998 |
open_access_boolean | |
owner | DE-703 |
owner_facet | DE-703 |
physical | XXVI, 426 S. |
publishDate | 2007 |
publishDateSearch | 2007 |
publishDateSort | 2007 |
publisher | Wiley |
record_format | marc |
spelling | Huizinga, Dorota Verfasser aut Automated defect prevention best practices in software management Dorota Huizinga ; Adam Kolawa Hoboken, N.J. Wiley 2007 XXVI, 426 S. txt rdacontent n rdamedia nc rdacarrier Erscheint: September 2007 Datenverarbeitung Software failures Prevention Data processing Software maintenance Data processing Debugging in computer science Automatic control Computer programs Testing Data processing Computer programs Correctness Debugging (DE-588)4148954-8 gnd rswk-swf Softwarewartung (DE-588)4197459-1 gnd rswk-swf Softwarewartung (DE-588)4197459-1 s Debugging (DE-588)4148954-8 s DE-604 Kolawa, Adam Verfasser aut GBV Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015862153&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Huizinga, Dorota Kolawa, Adam Automated defect prevention best practices in software management Datenverarbeitung Software failures Prevention Data processing Software maintenance Data processing Debugging in computer science Automatic control Computer programs Testing Data processing Computer programs Correctness Debugging (DE-588)4148954-8 gnd Softwarewartung (DE-588)4197459-1 gnd |
subject_GND | (DE-588)4148954-8 (DE-588)4197459-1 |
title | Automated defect prevention best practices in software management |
title_auth | Automated defect prevention best practices in software management |
title_exact_search | Automated defect prevention best practices in software management |
title_exact_search_txtP | Automated defect prevention best practices in software management |
title_full | Automated defect prevention best practices in software management Dorota Huizinga ; Adam Kolawa |
title_fullStr | Automated defect prevention best practices in software management Dorota Huizinga ; Adam Kolawa |
title_full_unstemmed | Automated defect prevention best practices in software management Dorota Huizinga ; Adam Kolawa |
title_short | Automated defect prevention |
title_sort | automated defect prevention best practices in software management |
title_sub | best practices in software management |
topic | Datenverarbeitung Software failures Prevention Data processing Software maintenance Data processing Debugging in computer science Automatic control Computer programs Testing Data processing Computer programs Correctness Debugging (DE-588)4148954-8 gnd Softwarewartung (DE-588)4197459-1 gnd |
topic_facet | Datenverarbeitung Software failures Prevention Data processing Software maintenance Data processing Debugging in computer science Automatic control Computer programs Testing Data processing Computer programs Correctness Debugging Softwarewartung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015862153&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT huizingadorota automateddefectpreventionbestpracticesinsoftwaremanagement AT kolawaadam automateddefectpreventionbestpracticesinsoftwaremanagement |