The Essence of Software Engineering.

Bibliographic Details
Main Author: Gruhn, Volker.
Other Authors: Striemer, Rüdiger.
Format: eBook
Language:English
Published: Cham : Springer International Publishing AG, 2018.
Edition:1st ed.
Subjects:
Online Access:Click to View
LEADER 10952nam a22004453i 4500
001 EBC5521167
003 MiAaPQ
005 20231204023214.0
006 m o d |
007 cr cnu||||||||
008 231204s2018 xx o ||||0 eng d
020 |a 9783319738970  |q (electronic bk.) 
020 |z 9783319738963 
035 |a (MiAaPQ)EBC5521167 
035 |a (Au-PeEL)EBL5521167 
035 |a (OCoLC)1040617119 
040 |a MiAaPQ  |b eng  |e rda  |e pn  |c MiAaPQ  |d MiAaPQ 
050 4 |a QA76.758 
100 1 |a Gruhn, Volker. 
245 1 4 |a The Essence of Software Engineering. 
250 |a 1st ed. 
264 1 |a Cham :  |b Springer International Publishing AG,  |c 2018. 
264 4 |c ©2018. 
300 |a 1 online resource (247 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
505 0 |a Intro -- Preface -- Contents -- List of Contributors -- The Leading Role of Software and Systems Architecture in the Age of Digitization -- 1 Introduction: Software Is Eating the World -- 2 Structuring Architecture: Future Reference Architecture -- 3 On Systems, Their Interfaces and Properties -- 3.1 About Architecture -- 3.2 On the Essence of Architecture: Architecture Design Is Architecture Specification -- 3.3 Logical Subsystem Architectures -- 4 Interfaces Everywhere -- 4.1 Property-Oriented Specification of Interfaces of Systems -- 4.2 Composition -- 4.3 Structuring Interfaces -- 5 Composition: Interfaces in Architectures -- 5.1 Interaction Assertions -- 5.2 Using Different Types of Interfaces Side by Side -- 5.3 Layered Architectures -- 6 On the Asset of Foundations -- 6.1 Not Formal Methods but Formal Foundation -- 6.2 Flexibility and Universality of the Presented Approach -- 6.3 System Components as Schedulable and Deployable Units -- 6.4 Modularity -- 6.5 Strict Property Orientation: Architecture Designs by Specifications -- 6.6 Real Time and Probability: Functional Quality Properties -- 7 Concluding Remarks -- Appendix: A Formal Model of Interfaces -- Data Models -- Syntactic Interfaces and Interface Behavior -- Syntactic Interfaces -- System Interaction: Timed Data Streams -- Interface Behavior -- Interface Assertions -- Composing Interfaces -- Specifying Contracts -- Interface Assertions for Assumption/Commitment Contracts -- Contracts in Architectures -- References -- Formal Methods and Agile Development: Towards a Happy Marriage -- 1 Introduction -- 2 Understanding Change -- 2.1 The Machine and the World -- 2.2 Evolution and Adaptation -- 3 Achieving Self-adaptive Software -- 4 Supporting Dependable Evolution -- 5 Towards a Unified View of Development and Operation -- 6 Concluding Remarks -- References. 
505 8 |a Escaping Method Prison - On the Road to Real Software Engineering -- 1 Typical Methods and Their Problems -- 2 Method Prisons -- 3 A History of Methods and Method Prison -- 3.1 Gurus, Method Wars and Zig-Zag Paths -- 3.2 Lifecycles and Method Prisons -- 3.3 Practices and Method Prisons -- 4 What to do to Escape Method Prisons -- 5 How to Escape the Method Prison -- 5.1 Essence - the common ground of software engineering -- 5.2 Using Essence -- 5.3 Reflection -- 6 Out of the Method Prison -- References -- What is software? -- 1 Apologia -- 1.1 Why ask the Question? -- 1.2 The Importance of Measurement -- 2 Other Kinds of Software -- 2.1 Processes are (like?) software -- 2.1.1 Measurement of Processes: -- 2.2 Legislation is (like?) software development: -- 2.2.1 Measurement of Laws -- 2.3 Recipes are software -- 2.3.1 Measurement of Recipes -- 2.4 Other Types of Software -- 3 What makes these different types of software like each other? -- 3.1 They are non-tangible, and non-physical, but often intended to manage tangibles -- 3.2 Hierarchical Structure is a common feature. -- 3.3 They consist of components having different purposes -- 3.4 All are expected to require modification/evolution -- 3.5 Interconnections are key -- 3.6 Analysis and verification are universal underlying needs -- 4 Characterizing software -- 5 What can computer software engineering contribute to other forms of software engineering? -- 6 What can computer software engineers learn from the study of other forms of software? -- 6.1 Resources -- 6.2 Timing -- 6.3 Verification and analysis of legislation -- 7 Conclusion -- References -- Only the Architecture You Need -- 1 Introduction -- 2 Software Architecture: Essence, Benefits, and Costs -- 2.1 Benefits -- 2.2 Techniques… and Costs -- 2.3 Summary and Roadmap -- 3 Personal Software Architecture -- 4 Team Software Architecture. 
505 8 |a 4.1 Communication -- 4.2 Complexity -- 5 Summary -- 6 High-Consequence Software -- 7 Conclusion: Excuses Are Not Strategies -- References -- Variability in Standard Software Products -- 1 Introduction -- 2 Software Product Line Engineering -- 3 SPLE in the Insurance Industry -- 3.1 Current Situation -- 3.2 Transition Strategies -- 4 The Extended Pilot Project -- 4.1 The Setup -- 4.2 Selecting Charter Clients -- 4.3 Cooperation of Software Vendor and Charter Clients -- 4.4 Pros and Cons -- 5 Summary -- References -- Using Design Thinking for Requirements Engineering in the Context of Digitalization and Digital Transformation: A Motivation and an Experience Report -- 1 Introduction and Motivation -- 2 From Digitization to Digital Transformation -- 2.1 Level 1: Digitization -- 2.2 Level 2: Digitalization -- 2.3 Level 3: Digital Transformation -- 2.4 Conclusion: The Growing Need for a Holistic Design Competence in Software Engineering -- 3 Design Thinking as a Method to Think About Software -- 3.1 A Brief Overview of Design Thinking -- 3.2 Example 1: Online Jewelry Shopping -- 3.3 Example 2: Developing Innovative Software for Dentists -- 4 Summary and Conclusions -- References -- Towards Deviceless Edge Computing: Challenges, Design Aspects, and Models for Serverless Paradigm at the Edge -- 1 Introduction -- 2 Related Work -- 3 Deviceless Edge Platform -- 3.1 Approach -- 3.2 Platform Usage and Architecture Overview -- 4 Programming Support for Deviceless Edge Computing -- 4.1 Programming Support for Deviceless Edge Functions -- 4.2 Intents and IntentScopes -- 4.3 Data and Control Points -- 5 Provisioning Support for Deviceless Edge Computing -- 5.1 Software-Defined Gateways -- 5.2 Deviceless Provisioning Middleware -- 6 Conclusion -- References -- Data-Driven Decisions and Actions in Today's Software Development -- 1 Introduction -- 2 Recommendation. 
505 8 |a 2.1 Code Example Recommendation Systems -- 2.2 Naturalness of Software -- 2.3 Evaluation -- 3 Testing -- 3.1 Automated Unit Test Case Generation -- 3.1.1 Single-Target Approaches -- 3.1.2 Multi-Target Approaches -- 3.1.3 Limitations and Outlook -- 3.2 Performance Testing -- 3.2.1 Problems -- 3.2.2 Current Solutions -- 3.2.3 Outlook -- 4 Continuous Delivery -- 4.1 Build Breakage -- 4.2 Release Confidence and Velocity -- 4.2.1 Model of Release Confidence and Velocity -- 4.2.2 Transitioning Between Categories -- 5 Deployment -- 6 Summarization Techniques for Code, Change, Testing, Software Reuse, and User Feedback -- 6.1 Source Code Summarization -- 6.2 Task-Driven Software Summarization -- 6.2.1 Code Change Summarization -- 6.2.2 Summarization Techniques for Testing and Code Reuse -- 6.3 Summarization of Textual User Feedback -- 6.4 Future Research -- 7 Summary -- References -- Software Architecture: Past, Present, Future -- 1 Introduction -- 2 Past: Focus on Architecture Description and Reuse -- 2.1 Formalization of Architectural Models -- 2.2 Software Product Lines for Reusing Software Components -- 3 Present: Establishment of Domain-Specific Architectures and Focus on Quality Attributes -- 3.1 Example: Microservice Architectures -- 3.2 Focus on Quality Requirements -- 4 Future: Proper Integration of Architecture Work into Agile Software Development -- 4.1 Integrating Architecture Owners into Agile Teams -- 4.2 Integrating Software Development and Operations: DevOps -- 4.3 Achieving Reliability with Agile Software Development -- 4.4 Using Architecture Models for Runtime Adaptability -- 4.5 Keeping Architecture Knowledge up to Date for Long-Living Software Systems -- 5 Summary -- References -- Software Product Lines -- 1 Introduction -- 2 Differences Between SPLE and Single System Development -- 2.1 Two Development Processes. 
505 8 |a 2.2 Product Line Variability -- 2.3 Software Variability Versus Product Line Variability -- 3 Domain Engineering -- 3.1 Product Management -- 3.2 Domain Requirements Engineering -- 3.3 Domain Design -- 3.4 Domain Realization -- 3.5 Domain Quality Assurance -- 4 Application Engineering -- 4.1 Application Requirements Engineering -- 4.2 Application Design -- 4.3 Application Realization -- 4.4 Application Quality Assurance -- 5 Modeling Product Line Variability -- 5.1 Key Modeling Constructs -- 5.2 Integrated Versus Orthogonal Modeling of Variability -- 6 Variability Modeling in Non-Product-Line Settings -- 7 Summary -- References -- Enabling Flexible and Robust Business Process Automation for the Agile Enterprise -- 1 Introduction -- 2 Traditional Process-Aware Information Systems -- 2.1 Business Process Modeling -- 2.2 Architectural Principles of a PAIS -- 2.3 Process Enactment Based on Executable Process Models -- 2.4 Traditional Process Lifecycle Support -- 2.5 Key Features of a Process-Aware Information System -- 3 Enabling Process Flexibility at the Operational Level -- 4 Adaptive Process-Aware Information Systems -- 4.1 The AristaFlow Process Management Technology -- 4.2 Support for Process Adaptation and Process Evolution -- 4.3 Advanced Process Lifecycle Support in Adaptive PAIS -- 4.4 Making Process Implementations Flexible and Robust -- 4.4.1 Error Prevention -- 4.4.2 Error and Exception Handling in the AristaFlow BPM Suite -- 5 Conclusions -- References -- Achievements, Failures, and the Future of Model-Based Software Engineering -- 1 Introduction -- 2 Model-Based Software Engineering -- 2.1 Unified Modeling Language and Systems Modeling Language -- 2.2 Constructive Model Use: Interpreters and Code Generators -- 2.3 Benefits and Drawbacks of Using Models Constructively -- 3 Failures of Model-Based Software Engineering. 
505 8 |a 4 Where Model-Based Software Engineering Is Successful. 
588 |a Description based on publisher supplied metadata and other sources. 
590 |a Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2023. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.  
655 4 |a Electronic books. 
700 1 |a Striemer, Rüdiger. 
776 0 8 |i Print version:  |a Gruhn, Volker  |t The Essence of Software Engineering  |d Cham : Springer International Publishing AG,c2018  |z 9783319738963 
797 2 |a ProQuest (Firm) 
856 4 0 |u https://ebookcentral.proquest.com/lib/matrademy/detail.action?docID=5521167  |z Click to View