Atnaujinkite slapukų nuostatas

El. knyga: New Software Engineering Paradigm Based on Complexity Science: An Introduction to NSE

  • Formatas: PDF+DRM
  • Išleidimo metai: 14-Feb-2011
  • Leidėjas: Springer-Verlag New York Inc.
  • Kalba: eng
  • ISBN-13: 9781441973269
  • Formatas: PDF+DRM
  • Išleidimo metai: 14-Feb-2011
  • Leidėjas: Springer-Verlag New York Inc.
  • Kalba: eng
  • ISBN-13: 9781441973269

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“.

This book describes a complete revolution in software engineering based on complexity science through the establishment of NSE Nonlinear Software Engineering paradigm which complies with the essential principles of complexity science, including the Nonlinearity principle, the Holism principle, the Complexity Arises From Simple Rules principle, the Initial Condition Sensitivity principle, the Sensitivity to Change principle, the Dynamics principle, the Openness principle, the Self-organization principle, and the Self-adaptation principle. The aims of this book are to offer revolutionary solutions to solve the critical problems existing with the old-established software engineering paradigm based on linear thinking and simplistic science complied with the superposition principle, and make it possible tohelp software development organizations double their productivity, halve their cost, and remove 99% to 99.99% of the defects in their software products, and efficiently handle software complexity, conformity, visibility, and changeability. It covers almost all areas in software engineering.

The tools NSE_CLICK- an automatic acceptance testing platform for outsourcing (or internally developed) C/C++ products, and NSE_CLICK_J - an automatic acceptance testing platform for outsourcing (or internally developed) Java products  are particularly designed for non-technical readers to view/review how the acceptance testing of a software product developed with NSE can be performed automatically, and how the product  developed with NSE is truly maintainable at the customer site.
1 Introduction 1(60)
1.1 What Is Software?
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)
1.7 What Is NSE?
48(9)
1.8 Summary
57(1)
1.9 Points and Questions to Ponder
58(1)
1.10 Further Reading and Information Source
58(1)
References
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)
2.14 Summary
76(1)
2.15 Points and Questions to Ponder
77(1)
2.16 Further Reading and Information Source
77(1)
References
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)
3.1.2 Reductionism
80(1)
3.1.3 Chaos Theory
80(1)
3.1.4 System
81(1)
3.1.5 System Categories
81(1)
3.1.6 Linear System
81(1)
3.1.7 Nonlinear System and Complex System
81(1)
3.1.8 Feedback
82(1)
3.1.9 Fractal
82(1)
3.1.10 Fractal Dimension
82(1)
3.1.11 Dynamical System
82(1)
3.1.12 Dissipation Structure
82(1)
3.1.13 Li-Yorke Theorem: Period Three Theorem
83(1)
3.1.14 Self-Organization
83(1)
3.1.15 Synergetics
83(1)
3.1.16 Catastrophe Theory
83(1)
3.1.17 Complex Adaptive System
84(1)
3.1.18 Meta-Synthesis
84(1)
3.1.19 Cellular Automata
84(1)
3.1.20 Genetic Algorithm
85(1)
3.1.21 Soliton
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)
3.6 Summary
89(1)
3.7 Points and Questions to Ponder
89(1)
3.8 Further Reading and Information Source
89(1)
References
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)
4.7 Applications of FDS
99(1)
4.8 Bringing Feedback to the Research and Development of Complexity Science
100(1)
4.9 Summary
101(1)
4.10 Points and Questions to Ponder
101(1)
4.11 Further Reading and Information Source
101(1)
References
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)
5.5 The Structure of NSE
107(1)
5.6 The Components of NSE
107(2)
5.7 The Major Feature and Characteristics of NSE
109(3)
5.8 Summary
112(1)
5.9 Points and Questions to Ponder
112(1)
5.10 Further Reading and Information Source
112(1)
References
113(2)
6 The Techniques Innovated to Support NSE 115(20)
6.1 Definitions
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, Actor–Action and Event–Response 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)
6.16 Summary
133(1)
6.17 Points and Questions to Ponder
134(1)
6.18 Further Reading and Information Source
134(1)
References
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)
7.4 J-Chart
138(2)
7.5 J-Diagram
140(8)
7.6 J-Flow
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)
7.10 Applications
180(11)
7.11 Self-Documenting
191(4)
7.12 Summary
195(1)
7.13 Points and Questions to Ponder
196(1)
7.14 Further Reading and Information Source
196(1)
References
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)
8.11 Summary
234(1)
8.12 Points and Questions to Ponder
235(1)
8.13 Further Reading and Information Source
236(1)
References
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)
9.3.1 Part 1
240(1)
9.3.2 Part 2
240(2)
9.4 How It Works
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)
9.5 The Major Features
249(5)
9.5.1 Automated
249(1)
9.5.2 Self-Maintainable
250(1)
9.5.3 Methodology-Independent
250(1)
9.5.4 Nonlinear, Bidirectional, and Parallel
250(1)
9.5.5 Accurate
250(1)
9.5.6 Precise
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)
9.5.10 Dynamic
252(1)
9.5.11 Easy to Add on at Any Time, In Any Status
253(1)
9.6 Application
254(1)
9.7 Summary
254(1)
9.8 Points and Questions to Ponder
255(1)
9.9 Further Reading and Information Source
256(1)
References
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)
10.6 Application
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)
10.8 Summary
271(1)
10.9 Points and Questions to Ponder
272(1)
10.10 Further Reading and Information Source
272(1)
References
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)
11.9 Summary
311(1)
11.10 Points and Questions to Ponder
311(1)
11.11 Further Reading and Information Source
311(1)
References
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)
12.3.1 Basic Ideas
315(1)
12.3.2 What is Synthesis? What is Analysis?
316(2)
12.3.3 Recommendation for Graphic Document Creation/Generation
318(2)
12.3.4 Self-Documenting
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)
12.4 Application
325(11)
12.5 The Major Features of the Software Synthesis Design Technique
336(1)
12.6 Summary
337(1)
12.7 Points and Questions to Ponder
337(1)
12.8 Further Reading and Information Source
338(1)
References
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)
13.4.1 Conclusion
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)
13.8 Application
367(1)
13.9 The Major Features
368(1)
13.10 Summary
368(1)
13.11 Points and Questions to Ponder
368(1)
13.12 Further Reading and Information Source
369(1)
References
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)
14.4 Gray-Box Testing
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)
14.13 Acceptance Testing
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)
14.16 Summary
384(1)
14.17 Points and Questions to Ponder
384(1)
14.18 Further Reading and Information Source
384(1)
References
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)
15.8 Summary
406(1)
15.9 Points and Questions to Ponder
407(1)
15.10 Further Reading and Information Source
407(1)
References
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)
16.6 Summary
432(1)
16.7 Points and Questions to Ponder
432(1)
16.8 Further Reading and Information Source
432(1)
References
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)
17.3.4 Definitions
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)
17.6 Summary
463(1)
17.7 Points and Questions to Ponder
464(1)
17.8 Further Reading and Information Source
464(1)
References
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)
18.4 Application
477(8)
18.5 The Major Features
485(2)
18.6 Summary
487(1)
18.7 Points and Questions to Ponder
487(1)
18.8 Further Reading and Information Source
487(1)
References
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)
19.3.7 How It Works
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)
19.5 Application
510(1)
19.6 Summary
510(2)
19.7 Points and Questions to Ponder
512(2)
19.8 Further Reading and Information Source
514(1)
References
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)
20.5 People Oriented
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)
20.10 Quality Management
528(1)
20.11 Multiple-Project Management
528(1)
20.12 Summary
528(1)
20.13 Points and Questions to Ponder
529(1)
20.14 Further Reading and Information Source
530(1)
References
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)
21.1.1 The Requirements
532(1)
21.1.2 The Basic Idea
532(1)
21.1.3 The Major Steps
533(1)
21.1.4 Application
533(1)
21.2 The Algorithm for Test Case Efficiency Analysis and Test Case Minimization
533(3)
21.2.1 The Requirements
533(1)
21.2.2 The Basic Idea
534(1)
21.2.3 The Major Steps
535(1)
21.2.4 Application
536(1)
21.3 The Algorithm for Performance Analysis
536(4)
21.3.1 The Requirements
536(1)
21.3.2 The Basic Idea
537(1)
21.3.3 The Major Steps
538(1)
21.3.4 Application
539(1)
21.4 The Algorithm for Cyclomatic Complexity Analysis
540(2)
21.4.1 The Requirement
540(1)
21.4.2 The Basic Idea
540(1)
21.4.3 The Major Steps
541(1)
21.4.4 Application
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)
21.11 Summary
553(1)
21.12 Points and Questions to Ponder
553(2)
21.13 Further Reading and Information Source
555(1)
References
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)
22.2.3 Panorama++
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)
22.8 Applications
575(1)
22.9 Summary
575(1)
22.10 Points and Questions to Ponder
575(1)
22.11 Further Reading and Information Source
575(1)
References
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)
23.3.1 Benefits
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)
23.8 Support for CBSE
593(1)
23.9 Summary
594(1)
23.10 Points and Questions to Ponder
595(1)
23.11 Further Reading and Information Source
595(1)
References
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)
24.1.1 A Great book
598(1)
24.1.2 Limitation
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)
24.8 Summary
647(1)
24.9 Points and Questions to Ponder
648(1)
24.10 Further Reading and Information Source
649(1)
References
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