1 Introduction |
|
1 | (60) |
|
|
1 | (28) |
|
1.2 What Is Software Engineering? |
|
|
29 | (2) |
|
1.3 The Major Activities/Tasks to Be Performed in Software Engineering |
|
|
31 | (1) |
|
1.4 The Popular Lifecycle/Process Models with the Existing Software Engineering Paradigm |
|
|
32 | (13) |
|
1.4.1 The Waterfall Model |
|
|
32 | (2) |
|
1.4.2 The Incremental Development Models |
|
|
34 | (2) |
|
1.4.3 The Iterative Models |
|
|
36 | (3) |
|
1.4.4 More Popular Process Models |
|
|
39 | (4) |
|
1.4.5 General Comments to All Process Models Existing with the Old-Established Software Engineering Paradigm |
|
|
43 | (2) |
|
1.5 Why the Current Software Is Not Sufficiently Engineered at This Time to Fulfill the Role of "Foundation" |
|
|
45 | (2) |
|
1.6 What Does a Revolution Mean? |
|
|
47 | (1) |
|
1.6.1 Three Phases of Scientific Revolutions |
|
|
47 | (1) |
|
1.6.2 Progress Through Revolutions |
|
|
48 | (1) |
|
|
48 | (9) |
|
|
57 | (1) |
|
1.9 Points and Questions to Ponder |
|
|
58 | (1) |
|
1.10 Further Reading and Information Source |
|
|
58 | (1) |
|
|
58 | (3) |
2 Is the Old-Established Software Engineering Paradigm Entirely Out of Date? |
|
61 | (18) |
|
2.1 The 20 Famous Software Disasters Reported |
|
|
65 | (2) |
|
2.1.1 Very High Project Failure Rate Reported |
|
|
67 | (1) |
|
2.2 What Is the Root Cause for Software Disasters and Very High Software Project Failure Rate? |
|
|
67 | (2) |
|
2.3 The "Software" Definition Is Outdated |
|
|
69 | (1) |
|
2.4 The Current Software Development Process Models Are Out of Date |
|
|
70 | (1) |
|
2.5 Current Software Development Methodologies Are Out of Date |
|
|
71 | (1) |
|
2.6 The Existing Software Modeling Approaches Are Outdated |
|
|
72 | (1) |
|
2.7 Current Software Testing Paradigm Is Out of Date |
|
|
72 | (1) |
|
2.8 Current Software Quality Assurance Paradigm Is Out of Date |
|
|
72 | (1) |
|
2.9 Current Software Visualization Paradigm Is Out of Date |
|
|
73 | (1) |
|
2.10 Current Software Documentation Paradigm Is out of Date |
|
|
73 | (1) |
|
2.11 Current Software Maintenance Paradigm Is Out of Date |
|
|
73 | (1) |
|
2.12 Current Software Project Management Paradigm Is Out of Date |
|
|
74 | (1) |
|
2.13 "The Mythical Man-Month" Is an Outcome of Linear Thinking; The "No Silver Bullet" Conclusion Is Out of Date |
|
|
74 | (2) |
|
|
76 | (1) |
|
2.15 Points and Questions to Ponder |
|
|
77 | (1) |
|
2.16 Further Reading and Information Source |
|
|
77 | (1) |
|
|
77 | (2) |
3 Foundation for Establishing NSE: Complexity Science |
|
79 | (12) |
|
3.1 The Basis of Complexity Science |
|
|
79 | (7) |
|
3.1.1 Linear and Nonlinear |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (1) |
|
|
81 | (1) |
|
|
81 | (1) |
|
3.1.7 Nonlinear System and Complex System |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
3.1.12 Dissipation Structure |
|
|
82 | (1) |
|
3.1.13 Li-Yorke Theorem: Period Three Theorem |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
3.1.16 Catastrophe Theory |
|
|
83 | (1) |
|
3.1.17 Complex Adaptive System |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
3.2 Linear Thinking and Nonlinear Thinking |
|
|
86 | (1) |
|
3.3 The Essential Principles of Complexity Science |
|
|
87 | (1) |
|
3.4 Applications of Complexity Science |
|
|
88 | (1) |
|
3.5 Complexity Science and NSE |
|
|
89 | (1) |
|
|
89 | (1) |
|
3.7 Points and Questions to Ponder |
|
|
89 | (1) |
|
3.8 Further Reading and Information Source |
|
|
89 | (1) |
|
|
90 | (1) |
4 Prediction and Practices: A New Round of Industrial Revolution Driven by Complexity Science and a General Paradigm-Shift Framework |
|
91 | (12) |
|
4.1 Prediction: A New Round of Industrial Revolution Driven by Complexity Science Is Coming |
|
|
91 | (1) |
|
4.2 The Contribution and Limitation of Hall's Systems Engineering Framework |
|
|
92 | (1) |
|
4.3 The Background for the Innovation of FDS |
|
|
93 | (1) |
|
4.4 The Objectives of Innovating FDS |
|
|
93 | (1) |
|
4.5 The Description of FDS |
|
|
94 | (4) |
|
4.5.1 The "Principles of Complexity Science" Axis |
|
|
94 | (2) |
|
4.5.2 The "Environment" Axis |
|
|
96 | (1) |
|
4.5.3 The "People/Logic" Axis |
|
|
96 | (1) |
|
4.5.4 The "New Paradigm" Axis Modified from the "Knowledge/Skills" Axis in Hall's Framework |
|
|
97 | (1) |
|
4.5.5 The "Phases" (Workflows) Axis |
|
|
97 | (1) |
|
4.6 The Major Features of FDS |
|
|
98 | (1) |
|
|
99 | (1) |
|
4.8 Bringing Feedback to the Research and Development of Complexity Science |
|
|
100 | (1) |
|
|
101 | (1) |
|
4.10 Points and Questions to Ponder |
|
|
101 | (1) |
|
4.11 Further Reading and Information Source |
|
|
101 | (1) |
|
|
101 | (2) |
5 Outline of the NSE Paradigm |
|
103 | (12) |
|
5.1 A Tree Will Not Fall at One Blow: The Difficulty in Software Engineering Revolution |
|
|
103 | (2) |
|
5.2 The Objectives for Establishing NSE |
|
|
105 | (1) |
|
5.3 The Strategy to Achieve the Objectives of NSE |
|
|
106 | (1) |
|
5.4 The Establishment of NSE |
|
|
106 | (1) |
|
|
107 | (1) |
|
5.6 The Components of NSE |
|
|
107 | (2) |
|
5.7 The Major Feature and Characteristics of NSE |
|
|
109 | (3) |
|
|
112 | (1) |
|
5.9 Points and Questions to Ponder |
|
|
112 | (1) |
|
5.10 Further Reading and Information Source |
|
|
112 | (1) |
|
|
113 | (2) |
6 The Techniques Innovated to Support NSE |
|
115 | (20) |
|
|
115 | (2) |
|
6.2 Holistic, Virtual, and Traceable Diagram Generation Technique |
|
|
117 | (2) |
|
6.3 Virtual and Traceable Documentation Technique |
|
|
119 | (2) |
|
6.4 Holistic and Intelligent Version Comparison Technique |
|
|
121 | (1) |
|
6.5 Holistic and Dynamic Traceability Technique |
|
|
122 | (1) |
|
6.6 Comprehensive Software Testing Technique Mainly Based on the Transparent-Box Method |
|
|
122 | (1) |
|
6.7 Defect Prevention Driven Quality Assurance Technique |
|
|
123 | (2) |
|
6.8 Test Case Efficiency Analysis and Test Case Minimization Technique |
|
|
125 | (1) |
|
6.9 Refactoring Technique with Defect Prevention |
|
|
126 | (1) |
|
6.10 Holistic MC/DC Test Coverage Analysis and Graphical Representation Technique |
|
|
127 | (1) |
|
6.11 Assisted Test Case Design Technique |
|
|
128 | (1) |
|
6.12 Intelligent Regression Test Case Selection Technique |
|
|
128 | (2) |
|
6.13 Holistic, ActorAction and EventResponse Driven, Traceable, Visual, and Executable Technique for Requirement Development |
|
|
130 | (1) |
|
6.14 Synthesis Design and Incremental Growing Up (Implementation and Integration) Technique |
|
|
131 | (2) |
|
6.15 Holistic, Global, and Side-Effect-Prevention Based Software Maintenance Technique |
|
|
133 | (1) |
|
|
133 | (1) |
|
6.17 Points and Questions to Ponder |
|
|
134 | (1) |
|
6.18 Further Reading and Information Source |
|
|
134 | (1) |
|
|
134 | (1) |
7 NSE Software Engineering Visualization Paradigm |
|
135 | (64) |
|
7.1 The Old-Established Software Engineering Visualization Paradigm Is Outdated |
|
|
135 | (2) |
|
7.2 The Revolutionary Solution Offered by NSE |
|
|
137 | (1) |
|
7.3 The 3J graphics (J-Chart, J-Diagram, and J-Flow) |
|
|
138 | (1) |
|
|
138 | (2) |
|
|
140 | (8) |
|
|
148 | (5) |
|
7.7 Entire Software Life Cycle Visualization with NSE |
|
|
153 | (2) |
|
7.8 Rich Options for Generating 3J Graphics |
|
|
155 | (5) |
|
7.8.1 For J-Chart Generation |
|
|
155 | (5) |
|
7.8.2 For J-Diagram and J-Flow Generation |
|
|
160 | (1) |
|
7.9 The Major Features of NSE Software Visualization Paradigm |
|
|
160 | (20) |
|
|
180 | (11) |
|
|
191 | (4) |
|
|
195 | (1) |
|
7.13 Points and Questions to Ponder |
|
|
196 | (1) |
|
7.14 Further Reading and Information Source |
|
|
196 | (1) |
|
|
197 | (2) |
8 NSE Process Model |
|
199 | (38) |
|
8.1 Some Experts' Expectations |
|
|
199 | (2) |
|
8.2 All of the Existing Software Engineering Process Models Are Outdated |
|
|
201 | (1) |
|
8.3 Outline of the Revolutionary Solution Offered with NSE |
|
|
202 | (1) |
|
8.4 The Driving Forces and The Support Techniques |
|
|
203 | (1) |
|
8.5 The Graphical Representation of the NSE Process Model |
|
|
204 | (4) |
|
8.5.1 The Objectives of the Preprocess |
|
|
206 | (1) |
|
8.5.2 The Objectives of the Main Process |
|
|
207 | (1) |
|
8.5.3 The Objective of the Support Facility for Automated and Bidirectional Traceability |
|
|
208 | (1) |
|
8.6 The Major Steps of the Preprocess |
|
|
208 | (5) |
|
8.7 The Major Steps of the Main Process |
|
|
213 | (11) |
|
8.8 The Support Facility for Automated and Bidirectional Traceability |
|
|
224 | (1) |
|
8.9 The Manifestation of the Essential Principles of Complexity Science in the NSE Process Model |
|
|
225 | (1) |
|
8.10 The Major Features and Characteristics of the NSE Process Model |
|
|
226 | (8) |
|
|
234 | (1) |
|
8.12 Points and Questions to Ponder |
|
|
235 | (1) |
|
8.13 Further Reading and Information Source |
|
|
236 | (1) |
|
|
236 | (1) |
9 The Facility for Automated and Self-Maintainable Traceability |
|
237 | (20) |
|
9.1 The Importance of Requirement Traceability |
|
|
238 | (1) |
|
9.2 The Problems Addressed |
|
|
238 | (1) |
|
9.3 The Solution Offered with NSE |
|
|
239 | (3) |
|
|
240 | (1) |
|
|
240 | (2) |
|
|
242 | (7) |
|
9.4.1 Bidirectional Traceability Between the Test Cases and the Source Code Modules or Branches |
|
|
245 | (1) |
|
9.4.2 Extending the Bidirectional Traceability to Include All Related Documents |
|
|
246 | (3) |
|
|
249 | (5) |
|
|
249 | (1) |
|
|
250 | (1) |
|
9.5.3 Methodology-Independent |
|
|
250 | (1) |
|
9.5.4 Nonlinear, Bidirectional, and Parallel |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (1) |
|
9.5.7 Extended to Include Software Project Management Documents |
|
|
251 | (1) |
|
9.5.8 Extended to Include Web Pages |
|
|
251 | (1) |
|
9.5.9 Extended for Multiproject Support |
|
|
251 | (1) |
|
|
252 | (1) |
|
9.5.11 Easy to Add on at Any Time, In Any Status |
|
|
253 | (1) |
|
|
254 | (1) |
|
|
254 | (1) |
|
9.8 Points and Questions to Ponder |
|
|
255 | (1) |
|
9.9 Further Reading and Information Source |
|
|
256 | (1) |
|
|
256 | (1) |
10 NSE Software Development Methodology Driven by Defect Prevention and Traceability |
|
257 | (16) |
|
10.1 Almost All Existing Software Development Methodologies Are Outdated |
|
|
257 | (2) |
|
10.2 Outline of the Revolutionary Solution Offered by NSE |
|
|
259 | (4) |
|
10.3 The Driving Forces for the Innovation of the NSE Software Development Methodology |
|
|
263 | (2) |
|
10.4 The Related NSE Software Engineering Process Model |
|
|
265 | (2) |
|
10.5 Graphical Presentation of the NSE Software Development Methodology |
|
|
267 | (3) |
|
|
270 | (1) |
|
10.6.1 Some Suggestions About the Applications of the NSE Software Development Methodology |
|
|
270 | (1) |
|
10.7 The Major Features of the NSE Software Development Methodology |
|
|
271 | (1) |
|
|
271 | (1) |
|
10.9 Points and Questions to Ponder |
|
|
272 | (1) |
|
10.10 Further Reading and Information Source |
|
|
272 | (1) |
|
|
272 | (1) |
11 Requirement Engineering Under NSE: Source Code Driven Dynamic Software Modeling |
|
273 | (40) |
|
11.1 Are All the Existing Software Modeling Approaches Outdated? |
|
|
273 | (3) |
|
11.2 Outline of the Revolutionary Solution Offered by NSE |
|
|
276 | (3) |
|
11.3 Description of the HAETVE Technique |
|
|
279 | (7) |
|
11.4 Applications of HAETVE |
|
|
286 | (17) |
|
11.5 How to Make a Hard Copy of a Graphical Requirement Document |
|
|
303 | (1) |
|
11.6 Suggestions for the Requirement Documentation Design |
|
|
304 | (2) |
|
11.7 The Major Features of HAETVE |
|
|
306 | (3) |
|
11.8 More About Dynamic Modeling |
|
|
309 | (2) |
|
|
311 | (1) |
|
11.10 Points and Questions to Ponder |
|
|
311 | (1) |
|
11.11 Further Reading and Information Source |
|
|
311 | (1) |
|
|
312 | (1) |
12 Design Engineering Under NSE |
|
313 | (26) |
|
12.1 The Major Problem Addressed |
|
|
313 | (1) |
|
12.2 Outline of the Solution for Software Design with NSE |
|
|
314 | (1) |
|
12.3 Description of the Innovated "Synthesis Design and Incremental Growing Up" Technique |
|
|
315 | (10) |
|
|
315 | (1) |
|
12.3.2 What is Synthesis? What is Analysis? |
|
|
316 | (2) |
|
12.3.3 Recommendation for Graphic Document Creation/Generation |
|
|
318 | (2) |
|
|
320 | (1) |
|
12.3.5 Detailed System Hierarchy Design |
|
|
321 | (1) |
|
12.3.6 Static Defect Prevention and Defect Propagation Prevention Through Traceability |
|
|
321 | (1) |
|
12.3.7 Dynamic Defect Prevention and Defect Propagation Prevention |
|
|
321 | (2) |
|
12.3.8 Data Structure Design |
|
|
323 | (1) |
|
12.3.9 Detailed Logic Design of the Modules |
|
|
323 | (2) |
|
|
325 | (11) |
|
12.5 The Major Features of the Software Synthesis Design Technique |
|
|
336 | (1) |
|
|
337 | (1) |
|
12.7 Points and Questions to Ponder |
|
|
337 | (1) |
|
12.8 Further Reading and Information Source |
|
|
338 | (1) |
|
|
338 | (1) |
13 Coding Engineering with NSE |
|
339 | (32) |
|
13.1 The Problems Addressed |
|
|
339 | (2) |
|
13.2 The Solution: Software Coding Engineering with NSE Using the Synthesis Design and Incremental Integration Technique |
|
|
341 | (8) |
|
13.3 Unit Testing and Integration Testing Support |
|
|
349 | (4) |
|
13.4 MC/DC Test Coverage Measurement Support |
|
|
353 | (9) |
|
|
361 | (1) |
|
13.5 Semiautomated Inspection Support |
|
|
362 | (2) |
|
13.6 Defect Prevention Driven Quality Assurance in Programming |
|
|
364 | (2) |
|
13.7 Quality Measurement for an Entire Software Product and Each of Its Components |
|
|
366 | (1) |
|
|
367 | (1) |
|
|
368 | (1) |
|
|
368 | (1) |
|
13.11 Points and Questions to Ponder |
|
|
368 | (1) |
|
13.12 Further Reading and Information Source |
|
|
369 | (1) |
|
|
369 | (2) |
14 The Basis of Software Testing |
|
371 | (16) |
|
14.1 The Purpose of Software Testing |
|
|
371 | (2) |
|
14.2 Functional Testing and the Black-Box Method |
|
|
373 | (1) |
|
14.3 Structural Testing and the White-Box Method |
|
|
373 | (2) |
|
14.3.1 Test Coverage Metrics |
|
|
374 | (1) |
|
14.3.2 Instrumentation Methods |
|
|
374 | (1) |
|
|
375 | (1) |
|
14.5 Performance Testing and the Testing Method |
|
|
376 | (1) |
|
14.6 Other Nonfunctional Testing |
|
|
377 | (1) |
|
14.7 Unit Testing, Integration Testing, and System Testing |
|
|
378 | (1) |
|
14.8 Regression Test After Code Modification |
|
|
378 | (1) |
|
14.9 Object-Oriented Software Testing |
|
|
378 | (2) |
|
14.10 Web Application Testing |
|
|
380 | (1) |
|
14.11 Embedded Software Testing |
|
|
381 | (1) |
|
14.12 GUI Operation Capture and Playback |
|
|
382 | (1) |
|
|
383 | (1) |
|
14.14 Why Should Software Testing Tools Be Used |
|
|
383 | (1) |
|
14.15 The Major Drawback of the Major Existing Software Testing Paradigm and the Solution |
|
|
383 | (1) |
|
|
384 | (1) |
|
14.17 Points and Questions to Ponder |
|
|
384 | (1) |
|
14.18 Further Reading and Information Source |
|
|
384 | (1) |
|
|
384 | (3) |
15 Software Test Case Design |
|
387 | (22) |
|
15.1 What Is a Test Case? |
|
|
387 | (1) |
|
15.2 The Basis of Test Case Design |
|
|
388 | (2) |
|
15.2.1 Equivalence Class Partition and Boundary Value Analysis |
|
|
388 | (1) |
|
15.2.2 State Transition Analysis |
|
|
389 | (1) |
|
15.2.3 Conditions Combination Method |
|
|
389 | (1) |
|
15.3 Semiautomated Test Case Design |
|
|
390 | (1) |
|
15.4 Test Case Efficiency Measurement |
|
|
391 | (1) |
|
15.5 Test Case Minimization |
|
|
391 | (5) |
|
15.6 NSE Test Case Design with HAETVE Technique for Both Functional Testing and Structural Testing |
|
|
396 | (9) |
|
15.7 Automated Test Case Selection with Automated Test Case Execution |
|
|
405 | (1) |
|
|
406 | (1) |
|
15.9 Points and Questions to Ponder |
|
|
407 | (1) |
|
15.10 Further Reading and Information Source |
|
|
407 | (1) |
|
|
407 | (2) |
16 The NSE Software Testing Paradigm Based on the Transparent-Box Method |
|
409 | (24) |
|
16.1 The Major Existing Software Testing Methods, Techniques, and Tools Are Outdated |
|
|
409 | (2) |
|
16.2 The Transparent-Box Testing Method |
|
|
411 | (2) |
|
16.3 The New Software Testing Paradigm Based on the Transparent-Box Testing Method |
|
|
413 | (4) |
|
16.4 The Major Features of the New Software Testing Paradigm |
|
|
417 | (12) |
|
16.5 A General Comparison Between the New Software Testing Paradigm and the Old One |
|
|
429 | (3) |
|
|
432 | (1) |
|
16.7 Points and Questions to Ponder |
|
|
432 | (1) |
|
16.8 Further Reading and Information Source |
|
|
432 | (1) |
|
|
432 | (1) |
17 NSE Software Quality Assurance Paradigm Driven by Defect Prevention |
|
433 | (34) |
|
17.1 The Old-Established Software Quality Assurance Paradigm Is Outdated |
|
|
433 | (2) |
|
17.2 Outline of NSE Software Quality Assurance Paradigm (NSE-SQA) |
|
|
435 | (1) |
|
17.3 Description of NSE Software Quality Assurance Paradigm |
|
|
436 | (24) |
|
17.3.1 The Foundation of NSE-SQA |
|
|
436 | (1) |
|
17.3.2 The Framework for Establishing NSE-SQA |
|
|
436 | (1) |
|
17.3.3 The Purpose of NSE-SQA |
|
|
437 | (1) |
|
|
437 | (2) |
|
17.3.5 The Quality Assurance Strategy of NSE-SQA |
|
|
439 | (1) |
|
17.3.6 The Implementation of the Quality Assurance Strategy of NSE-SQA |
|
|
439 | (21) |
|
17.4 Application of NSE-SQA |
|
|
460 | (1) |
|
17.5 The Major Features of NSE-SQA |
|
|
460 | (3) |
|
|
463 | (1) |
|
17.7 Points and Questions to Ponder |
|
|
464 | (1) |
|
17.8 Further Reading and Information Source |
|
|
464 | (1) |
|
|
464 | (3) |
18 NSE Software Maintenance Paradigm: Systematic, Disciplined, and Quantifiable |
|
467 | (22) |
|
18.1 The Existing Software Maintenance Engineering Paradigm Is Outdated |
|
|
467 | (3) |
|
18.2 Outline of the NSE Software Maintenance Paradigm |
|
|
470 | (6) |
|
18.3 Description of NSE Software Maintenance Engineering Paradigm |
|
|
476 | (1) |
|
|
477 | (8) |
|
|
485 | (2) |
|
|
487 | (1) |
|
18.7 Points and Questions to Ponder |
|
|
487 | (1) |
|
18.8 Further Reading and Information Source |
|
|
487 | (1) |
|
|
488 | (1) |
19 NSE Documentation Paradigm: Virtual, Traceable, and Consistent with the Source Code |
|
489 | (28) |
|
19.1 The Old-Established Software Documentation Paradigm Is Outdated |
|
|
489 | (2) |
|
19.2 Outline of NSE Documentation Paradigm |
|
|
491 | (3) |
|
19.3 Description of the NSE Documentation Paradigm |
|
|
494 | (11) |
|
19.3.1 The Critical Issues with the Old-Established Software Documentation Paradigm |
|
|
494 | (1) |
|
19.3.2 The Solution Offered with NSE |
|
|
495 | (1) |
|
19.3.3 The Objectives of the NSE Documentation Paradigm |
|
|
496 | (1) |
|
19.3.4 Working with Dummy Programming |
|
|
497 | (1) |
|
19.3.5 Working with NSE Software Visualization Paradigm |
|
|
497 | (1) |
|
19.3.6 Working with HAETVE Requirement Development Technique |
|
|
497 | (3) |
|
|
500 | (1) |
|
19.3.8 Making a Software Product Visible in Multiple-Views |
|
|
500 | (5) |
|
19.4 The Major Features of NSE Documentation Paradigm |
|
|
505 | (5) |
|
|
510 | (1) |
|
|
510 | (2) |
|
19.7 Points and Questions to Ponder |
|
|
512 | (2) |
|
19.8 Further Reading and Information Source |
|
|
514 | (1) |
|
|
515 | (2) |
20 NSE Project Management Paradigm: Seamlessly Combined with the Project Development Process |
|
517 | (14) |
|
20.1 The Old-Established Software Project Management Paradigm Is Outdated |
|
|
517 | (1) |
|
20.2 Outline of the NSE Project Management Paradigm |
|
|
518 | (1) |
|
20.3 The Foundation of NSE Project Management Paradigm |
|
|
519 | (1) |
|
20.4 The Strategy of NSE Project Management Paradigm |
|
|
520 | (1) |
|
|
521 | (1) |
|
20.6 Focusing on Maintenance |
|
|
522 | (1) |
|
20.7 More Method and Tool Support |
|
|
523 | (1) |
|
20.8 Combination of Product Development and Project Management |
|
|
524 | (4) |
|
20.9 Finding Problems Early and Solving the Problems in Time |
|
|
528 | (1) |
|
|
528 | (1) |
|
20.11 Multiple-Project Management |
|
|
528 | (1) |
|
|
528 | (1) |
|
20.13 Points and Questions to Ponder |
|
|
529 | (1) |
|
20.14 Further Reading and Information Source |
|
|
530 | (1) |
|
|
530 | (1) |
21 Algorithms Innovated for Establishing NSE |
|
531 | (26) |
|
21.1 The Algorithm for Realizing Modified Condition/Decision Coverage Test Coverage Measurement |
|
|
532 | (1) |
|
|
532 | (1) |
|
|
532 | (1) |
|
|
533 | (1) |
|
|
533 | (1) |
|
21.2 The Algorithm for Test Case Efficiency Analysis and Test Case Minimization |
|
|
533 | (3) |
|
|
533 | (1) |
|
|
534 | (1) |
|
|
535 | (1) |
|
|
536 | (1) |
|
21.3 The Algorithm for Performance Analysis |
|
|
536 | (4) |
|
|
536 | (1) |
|
|
537 | (1) |
|
|
538 | (1) |
|
|
539 | (1) |
|
21.4 The Algorithm for Cyclomatic Complexity Analysis |
|
|
540 | (2) |
|
|
540 | (1) |
|
|
540 | (1) |
|
|
541 | (1) |
|
|
541 | (1) |
|
21.5 The Algorithm for Tracing the Execution Path of a Runtime Error |
|
|
542 | (1) |
|
21.6 The Algorithm for the Layout of the Call Graph of a Program Using J-Chart Notations |
|
|
543 | (1) |
|
21.7 The Algorithm for Holistic Version Comparison of a Software Product |
|
|
543 | (1) |
|
21.8 The Algorithm for Memory Leak and Usage Violation Analysis |
|
|
543 | (3) |
|
21.9 The Algorithm for Realizing the Traceability of the Diagrammed Source Code |
|
|
546 | (3) |
|
21.10 The Algorithm for Dynamic Traceability |
|
|
549 | (4) |
|
|
553 | (1) |
|
21.12 Points and Questions to Ponder |
|
|
553 | (2) |
|
21.13 Further Reading and Information Source |
|
|
555 | (1) |
|
|
555 | (2) |
22 NSE Support Tools and NSE Support Platforms |
|
557 | (20) |
|
22.1 Full Software Development Lifecycle Support |
|
|
557 | (1) |
|
22.2 The Product Development History |
|
|
557 | (3) |
|
22.2.1 The First Generation: Hindsight |
|
|
557 | (1) |
|
22.2.2 Second Generation: Panorama |
|
|
558 | (2) |
|
|
560 | (1) |
|
22.3 Automated Tools Integrated with Panorama++ |
|
|
560 | (1) |
|
22.4 Panorama++ Product Installation |
|
|
560 | (5) |
|
22.5 A Guided Tour of Panorama++ for C/C++ |
|
|
565 | (9) |
|
22.6 Network Floating License Support |
|
|
574 | (1) |
|
22.7 The Major Features of Panorama++ |
|
|
575 | (1) |
|
|
575 | (1) |
|
|
575 | (1) |
|
22.10 Points and Questions to Ponder |
|
|
575 | (1) |
|
22.11 Further Reading and Information Source |
|
|
575 | (1) |
|
|
576 | (1) |
23 NSE Applications |
|
577 | (20) |
|
23.1 The Whole and Its Components: A General Comparison Between NSE and Other Approaches |
|
|
577 | (2) |
|
23.2 What Makes NSE Special? |
|
|
579 | (1) |
|
23.3 Applications in New Software Development |
|
|
579 | (4) |
|
|
579 | (1) |
|
23.3.2 Recommended Process |
|
|
580 | (3) |
|
23.4 Applications in a Software Product Being Developed Using Other Approaches |
|
|
583 | (1) |
|
23.5 Possible Combination with UML |
|
|
583 | (4) |
|
23.5.1 About the Future of UML |
|
|
583 | (1) |
|
23.5.2 Question to the Future of UML |
|
|
583 | (1) |
|
23.5.3 Possible Combination with UML (NSE-UML?) |
|
|
584 | (1) |
|
23.5.4 Possible Combination with CMMI (NSE-CMMI?) |
|
|
585 | (2) |
|
23.6 Possible Combination with Agile Software Development Approaches |
|
|
587 | (6) |
|
23.6.1 Possible Combination with XP (NSE-XP?) |
|
|
592 | (1) |
|
23.7 Possible Combination with RUP (NSE-RUP?) |
|
|
593 | (1) |
|
|
593 | (1) |
|
|
594 | (1) |
|
23.10 Points and Questions to Ponder |
|
|
595 | (1) |
|
23.11 Further Reading and Information Source |
|
|
595 | (1) |
|
|
595 | (2) |
24 Candidates of "Silver Bullet" |
|
597 | (54) |
|
24.1 Is "The Mythical Man-Month" an Outcome of Linear Thinking, Reductionism, and Superposition Principle? |
|
|
597 | (2) |
|
|
598 | (1) |
|
|
599 | (1) |
|
24.2 Is the "No Silver Bullet" Conclusion Outdated? |
|
|
599 | (3) |
|
24.3 The First Candidate of "Silver Bullet" |
|
|
602 | (2) |
|
24.4 The Second Candidate of "Silver Bullet" |
|
|
604 | (1) |
|
24.5 Can the "Silver Bullet" Defined by Brooks Slay the "Werewolves" Defined by Him? |
|
|
605 | (2) |
|
24.6 What Kind of "Silver Bullet" Can be Used to Slay the "Werewolves" Defined by Brooks? |
|
|
607 | (2) |
|
24.7 The Third Candidate of "Silver Bullet": The Entire NSE Paradigm |
|
|
609 | (38) |
|
24.7.1 What Is NSE: The Whole and Its Components |
|
|
610 | (4) |
|
24.7.2 The Components of NSE |
|
|
614 | (2) |
|
24.7.3 The Major Features and Characteristics of NSE |
|
|
616 | (2) |
|
24.7.4 The Major Differences Between NSE and the Old-Established Software Engineering Paradigm |
|
|
618 | (10) |
|
24.7.5 Qualification as a Candidate of "Silver Bullet" for Slaying Software "Werewolves" |
|
|
628 | (19) |
|
|
647 | (1) |
|
24.9 Points and Questions to Ponder |
|
|
648 | (1) |
|
24.10 Further Reading and Information Source |
|
|
649 | (1) |
|
|
649 | (2) |
Appendix A: Software Requirements Specification Template To Be Used with NSE |
|
651 | (24) |
Appendix B: An Example About How to Realize 100% MC/DC (Modified Condition/Decision Coverage) for a Program Unit |
|
675 | (24) |
Appendix C: How to Control/Simulate the Return Values of a Program Unit Being Tested |
|
699 | (4) |
Appendix D: Hints for Answering the "Points and Questions to Ponder" in Each Chapter |
|
703 | (24) |
Glossary |
|
727 | (4) |
Index |
|
731 | |