Software Durability: Concepts and Practices
- Length: 330 pages
- Edition: 1
- Language: English
- Publisher: CRC Press
- Publication Date: 2023-04-13
- ISBN-10: 1032344784
- ISBN-13: 9781032344782
- Sales Rank: #0 (See Top 100 Books)
Software evolution is a time-consuming and costly process due to its complex architecture. Software designers need to produce software that is effective as well as durable. Durability and effectiveness of software are the foremost priorities and challenges for developers.
This book comprises real-life case studies of durability issues and their solutions that bring to light loopholes and show how to fix them, to enhance durability. Existing literature on software durability tells us that the first step is to recognise the problem. It gives information about durability, risk, estimation, knowledge, and governance based on five main characteristics: dependability, trustworthiness, usability, security, and human trust. The book serves as a complete package to get acquainted with assurance and risk management from a software durability perspective. It enhances our understanding of the concept of durability, its multi-dimensional approach, threats and their types, risk, mitigation techniques, and suggestive measures.
The book reviews the emerging trends in the software development process in the context of durability concepts such as automated code reviews, coding standards, and software durability standards and their testing, cost management solutions, low-code or no-code solutions, and durability assurance.
Cover Title Page Copyright Page Dedication Preface Acknowledgments Table of Contents Key Features of the Book Chapter 1 Software Durability Concepts 1.1 Objectives 1.2 Durability: The Need for a New Paradigm 1.2.1 Emergence of Software Durability 1.2.2 Pertinent Gaps 1.2.3 Formulation of the Issue 1.3 Software Perspective 1.3.1 Software Components 1.3.2 Software Characteristics 1.3.3 Software Types 1.3.4 Software Myths 1.4 Software Durability 1.4.1 Definition 1.4.2 Durability Factors 1.4.3 Durability Planning 1.5 Durability Evaluation 1.6 Models of Durable Software 1.7 Experts’ View 1.8 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 2 Assuring Software Durability 2.1 Objectives 2.2 Five Touch Points for Software Durability 2.2.1 Software Dependability 2.2.2 Software Trustworthiness 2.2.3 Software Usability 2.2.4 Software Security 2.2.5 Human Trust 2.3 Quality Assurance: Durability Perspective 2.3.1 Software Quality-Durability Assurance 2.3.2 Major Assurance Activities 2.3.3 Benefits 2.3.4 Disadvantage 2.4 Durability Assurance Framework 2.4.1 The Framework 2.4.2 Premise 2.4.3 Generic Guidelines 2.4.4 Framework Development 2.5 Risk Management Activities in the Early Development of Durable Software Design 2.5.1 Design Planning 2.5.2 Design Inputs 2.5.3 Design Outputs 2.5.4 Design Verification 2.5.5 Design Validation 2.5.6 Design Finalization and Packaging 2.5.7 Design Transfer 2.5.8 Design Review 2.6 Importance of the Frameworks 2.7 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 3 Integrating Dependability with Software Durability 3.1 Objectives 3.2 Fundamental Principles 3.2.1 The Evolution of Dependability Concept 3.2.2 Dependability Features 3.2.3 Dependability and Durability Characteristics 3.2.4 Systems, Software, Dependability, and Durability 3.3 Dependability Analysis into Durability Concept 3.3.1 Anticipating Faults 3.3.2 Generalizing the Notion of Hazard 3.3.3 Fault Tree Analysis 3.3.4 Failure Modes, Effects, and Criticality Analysis 3.3.5 Hazard and Operability Analysis 3.4 The Beginnings of Durability and Dependability Integration 3.4.1 Faults and Durable Software Cycle 3.4.2 Formal Techniques 3.4.3 Durability-Dependability Unified Model 3.4.4 Verification by Model Checking 3.4.5 Correctness by Construction 3.4.6 Managing Fault Avoidance and Elimination 3.4.7 Misconceptions 3.4.8 Prescriptive Standards 3.5 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 4 Integrating Trustworthiness with Software Durability 4.1 Objectives 4.2 Fundamental Principles 4.2.1 The Evolution of Trustworthiness Concepts 4.2.2 Trustworthiness and Durability Characteristics 4.2.3 Systems, Software, Trustworthiness, and Durability 4.3 Designing for Trustworthy Software: Durability Perspective 4.3.1 Trustworthy Software 4.3.2 Extended Trustworthy Computing Initiative 4.3.3 Robust Software in Durability Context 4.4 Tools and Techniques of Durable Design for Trustworthy Software 4.4.1 The Eight Basic (B8) Tools 4.4.2 Financial Perspective 4.5 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 5 Integrating Usability with Software Durability 5.1 Objectives 5.2 Fundamental Principles 5.2.1 The Evolution of Usability Concept 5.2.2 Usability Analysis into Durability Concept 5.2.3 Durability and Usability Characteristics 5.2.4 Systems, Software, Usability and Durability 5.3 Usability Evaluation: Durability Perspective 5.3.1 User-Based Evaluations 5.3.2 Inspection-Based Evaluations 5.3.3 Model-Based Evaluations 5.4 Usability Management Framework 5.5 Hierarchical Usability Model 5.6 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 6 Integrating Security with Software Durability 6.1 Objectives 6.2 Fundamental Principles 6.2.1 The Evolution of Security Concept 6.2.2 Security Analysis into Durability Concept 6.2.3 Security and Durability Characteristics 6.2.4 Systems, Software, Security and Durability 6.3 Previous Models/Frameworks 6.4 Challenges for Security-Durability Modeling 6.4.1 Types of Information Loss 6.4.2 Security Challenges: Durability Perspective 6.5 Security Durability Risks at the Design Phase 6.5.1 Risk Scenario of Durable Software 6.5.2 Security Risks Identification at Design-level 6.5.3 Need for Identification 6.5.4 Major Security Risks in the Design Phase 6.5.5 Relation between Security Risk and Security Characteristics 6.6 Managing Software Security Risk: Durability Perspective 6.6.1 Development Risk 6.6.2 Development Environment 6.6.3 Program Constraints 6.6.4 Governance, Management, and Compliance 6.7 Security Durability Blueprints 6.7.1 Identify Goals 6.7.2 Security Durability Management 6.7.3 Security Durability Metrics 6.7.4 Security Durability Assurance 6.7.5 Change Management 6.8 Security Durability Integrate with Development Process 6.8.1 Secure and Durable Serviceability 6.8.2 Service Oriented Design Properties: Durability Perspective 6.8.3 Requirement Gathering 6.8.4 Simplify Security Durability 6.9 Practices for Integrating Durability Concept 6.9.1 Quantum Security Technique 6.9.2 Usable-Security of Software 6.9.3 Sustainable-Security of Software 6.9.4 Security Tactics of Software 6.10 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 7 Integrating Human Trust with Software Durability 7.1 Objectives 7.2 Fundamental Principles 7.2.1 The Evolution of the Human Trust Concept 7.2.2 Human Trust Analysis into Durability Concept 7.2.3 Durability and Human Trust Characteristics 7.2.4 Systems, Software, Human Trust, and Durability 7.3 Organizational Roles and Responsibilities 7.3.1 Pre-Development 7.3.2 Account Manager 7.3.3 Business Analyst 7.3.4 Software Architect 7.3.5 Delivery Manager 7.3.6 Domain Expert 7.3.7 Software Developer 7.4 Significant Elements of Human Trust Management 7.4.1 Human Computer Trust 7.4.2 System Trust Solutions 7.4.3 Managing Human Trust 7.4.4 Human Computer Trust Model 7.4.5 The Importance of Human Trust 7.5 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 8 Software Durability Assessment Methodology 8.1 Objectives 8.2 Software Durability Assessment 8.3 Measurement Categories 8.3.1 Indirect Parameters 8.3.2 Direct Parameters 8.4 Multi Criteria Decision Analysis 8.5 Pertinent Work on Decision Making Analysis 8.6 Durability Assessment through Decision Making Technique 8.7 Durability Assessment Mechanism 8.7.1 Mechanism Selection and Description 8.7.2 Implementation Procedure 8.8 Benefits of Durability Assessment 8.8.1 Source Code Durability 8.8.2 Documentation, User Interface, and Durability 8.8.3 Security and Privacy 8.8.4 Durable Performance 8.8.5 Business Logic 8.8.6 Architecture Durability 8.8.7 Data Durability 8.8.8 Interoperability 8.9 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 9 A Case Study on Software Durability Assessment 9.1 Objectives 9.2 Evaluating the Weights of Characteristics 9.2.1 Construction of Pair-Wise Comparison Matrices 9.2.2 Aggregation of Pair-Wise Comparison Matrices 9.2.3 Defuzzification Procedure and Independent Weights 9.2.4 Dependent Weights of Each Characteristic 9.3 Procedure for Improving Durability of Software 9.4 Ratings of Characteristics 9.4.1 Fuzzified Average Ratings 9.4.2 Defuzzification and Independent Ratings 9.4.3 Dependent Rating of Each Characteristic 9.5 Assessment of Software Durability 9.6 Sensitivity Analysis 9.7 Statistical Investigation 9.7.1 Design Module of an Experiment 9.7.2 Pre-Tryout 9.7.3 Review and Revision 9.7.4 Tryout 9.7.5 Statistical Analysis 9.8 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 10 Software Durability Testing 10.1 Objectives 10.2 Durability Testing 10.2.1 Purpose 10.2.2 Challenges 10.2.3 Benefits and Limitations 10.3 Basic Steps to Perform Durability Testing 10.3.1 Establish the Test Environment 10.3.2 Creation of Test Plan and Test Scenarios 10.3.3 Test Cycle Estimation 10.3.4 Risk Analysis 10.3.5 Test Schedule 10.3.6 Test Execution 10.3.7 Review and Revision 10.3.8 Test Cycle Closure 10.4 Durability Testing Execution Procedure 10.5 Types of Durability Testing 10.5.1 Testing Load 10.5.2 Testing Stress 10.5.3 Testing Performance 10.5.4 Testing Volume 10.5.5 Testing Scalability 10.5.6 Testing Reliability 10.5.7 Testing Traceability 10.5.8 Testing Interpretability 10.6 Basics of Code Durability 10.6.1 Durable Code 10.6.2 Code Reviews 10.6.3 Understanding Code Review 10.6.4 Common Code Review Approaches 10.6.5 Importance of Code Durability 10.6.6 Measuring Code Durability 10.6.7 Characteristics of Code Durability 10.6.8 Maintaining Code Durability 10.6.9 Improving Code Durability 10.7 Building Durable Software through Source Code Analysis 10.8 The Gap in Practices 10.9 The Framework 10.9.1 Phase-I: Execute and Monitor 10.9.2 Phase-II: Classify and Control 10.9.3 Phase-III: Refine and Manage 10.10 Significance of the Framework 10.11 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Chapter 11 Future Prospects of Durability into Software Engineering 11.1 Objectives 11.2 Issues and Challenges 11.3 Durability Meets the Practitioners’ Expectations 11.3.1 Get Practitioner’s Software to Market Faster 11.3.2 Bring in Domain Knowledge 11.3.3 Core Expertise 11.3.4 Cut Costs 11.3.5 Take it a Notch Higher 11.4 Needs and Importance 11.4.1 Software is Now Cheap and Fast 11.4.2 Non-durable Software is Liable to be discarded by Users 11.4.3 Software Failure Costs may be Enormous 11.4.4 Non-durable Software is Difficult to Improve 11.4.6 Non-durable Software may Cause Information Loss 11.4.5 Inefficiency is Predictable 11.5 Evolving Trends in the Development Process and Integration with Durability Concept 11.5.1 Automated Code Reviews 11.5.2 Coding Standards 11.5.3 Cybersecurity with DevSecOps 11.5.4 Software Durability Standards 11.5.5 Cost Management Solution 11.5.6 Low-code or No-code Solutions 11.5.7 Durability Assurance Solutions 11.5.8 Cross-Platform Development Tools 11.5.9 Continuous Delivery and Deployment 11.6 Significant Contributions of the Book 11.7 Impact of the Book 11.8 Successful Strategies for Software Developers 11.9 Recommendations for Security Practitioners 11.10 Conclusion Points to Remember Review Questions Objective Type Questions Short Answer Type Questions Descriptive Questions References Useful Links Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.