In this lecture we want review how software adaption is addressed at several levels and how far these approaches are able to cope with the need for cost-effective software adaption. We will at first review the need for adaption and study which different forms of adaption are relevant. We will then look into the classical software maintenance lifecycle phase and how required adaption due to changes in the environment is handled there. Then, we will look into approaches that contribute to better adaptable software where the costs for later adaption steps are reduced by taking the need for adaption into account upfront. Both directions are highly relevant, but cannot prevent that still major costs result due to the required adaption. Even worth, it seems that we can only limit the effects of the changes but cannot prevent aging in general. Therefore, also the idea to automate software adaption in form of self-adaptive software has been raised and we will look into such self-adaptive software.
Life Cycle | 01:34:38 | |
---|---|---|
Adaption & Variability | 00:15:38 | |
Of-The-Shelve-Software | 00:11:23 | |
New Investment and Stable Revenues | 00:16:44 | |
One-Of-Shareware | 00:14:47 | |
Kind of Adaption | 00:18:21 | |
Example | 00:17:15 |
Maintenance | 01:29:18 | |
---|---|---|
Techniques | 00:18:40 | |
Economics | 00:13:27 | |
Factors Affecting Maintaining Costs | 00:19:45 | |
Maintenance Prediction | 00:18:17 | |
Motivation | 00:14:06 | |
Reengineering | 00:05:02 |
Reengineering | 01:31:30 | |
---|---|---|
General Option for Software Reengineering | 00:06:27 | |
Reengineering Process | 00:26:21 | |
Program Modularisation | 00:17:12 | |
Techniques | 00:14:31 | |
Reverse Engineering Techniques | 00:16:55 | |
Static vs Dynamic Analysis | 00:10:04 |
Motivation | 01:31:21 | |
---|---|---|
Motivation | 00:20:32 | |
Types of Maintenance | 00:13:59 | |
Types: When | 00:06:48 | |
Change and Evolution | 00:13:29 | |
Impact Analysis | 00:16:38 | |
System Release | 00:08:29 | |
Life Cycle: Standard Change | 00:11:26 |
Static vs. Dynamic Analysis | 01:31:36 | |
---|---|---|
Static vs. Dynamic Analysis | 00:15:31 | |
Why and When | 00:13:20 | |
General Consideration | 00:14:37 | |
Risk that Maintenance becomes infeasible | 00:15:10 | |
Application Assessment | 00:12:16 | |
Additional Reengineering Strategy | 00:12:16 | |
Summary | 00:04:59 |
Module Concepts and Principles | 01:23:00 | |
---|---|---|
Modularity | 00:15:33 | |
Design Principles | 00:16:45 | |
Inheritance | 00:14:18 | |
Configurability | 00:15:41 | |
Consistency Checks | 00:13:10 | |
Summary | 00:07:33 |
Approaches for Adaptability | 01:33:28 | |
---|---|---|
Introduction | 00:14:41 | |
Observer Pattern | 00:13:22 | |
Adapter Pattern | 00:18:25 | |
Hierarchical Layers | 00:11:09 | |
Blackboard | 00:18:19 | |
Limitations | 00:17:32 |
Foundations for Adaptability | 01:31:35 | |
---|---|---|
Foundation for Adaptability | 00:07:54 | |
Forms for Adaptability | 00:15:05 | |
Life Cycle and Adaptability | 00:08:24 | |
Adaption Scenarios | 00:13:29 | |
Software Ecosystems | 00:19:17 | |
Principles | 00:12:03 | |
Separation of Concerns | 00:15:23 |
Modeling and Development Paradigms | 01:35:00 | |
---|---|---|
Aspect Orientation | 00:12:15 | |
Goals and Techniques for Aspect-Orientation | 00:23:20 | |
Feature-Orientation | 00:15:05 | |
Evaluation Scheme | 00:19:24 | |
Model-Driven Development | 00:17:41 | |
Evaluation Scheme 2 | 00:17:15 |
Self-Adaptive Software | 01:26:35 | |
---|---|---|
Autonomic Applications | 00:07:19 | |
Terminology | 00:11:04 | |
Principles | 00:16:37 | |
Adaption Loop | 00:14:15 | |
Models and Adaption | 00:16:39 | |
Levels of Self-Adaption | 00:15:06 | |
Summary | 00:05:25 |
Approaches for Self-Adaptive Software | 01:36:03 | |
---|---|---|
Introduction | 00:15:18 | |
Reactive Architectures | 00:13:49 | |
Social Design | 00:14:14 | |
Required Properties: SASO | 00:16:12 | |
Choice of Control Parameters | 00:15:22 | |
The Rainbow Framework | 00:21:08 |
Modeling Paradigms | 01:09:20 | |
---|---|---|
Introduction | 00:14:02 | |
Evaluation Scheme | 00:14:20 | |
Evaluation Scheme 2 | 00:10:24 | |
Service-Orientation | 00:15:37 | |
Iterations of Design & Serviced-Orientation | 00:14:57 |
The Software Development Process | 01:32:01 | |
---|---|---|
Introduction | 00:13:13 | |
Laws of Software Evolution | 00:16:40 | |
Declining Quality | 00:09:16 | |
Assumption Management | 00:14:07 | |
Case Studies | 00:21:20 | |
Growth of Fetchmail | 00:17:24 |
Introduction to Foundations | 01:34:38 | |
---|---|---|
Introduction | 00:17:14 | |
Terminology | 00:11:11 | |
Terminology: Adaptable | 00:16:59 | |
Terminology: Entropy | 00:16:58 | |
Spiral Model Process | 00:13:41 | |
The Agile Manifesto | 00:18:31 |
Introduction and Motivation | 01:34:00 | |
---|---|---|
Organization | 00:18:41 | |
Motivation | 00:14:56 | |
Ignorant Surgery | 00:11:13 | |
Preventive Medicine | 00:17:23 | |
Domains and Program Properties | 00:14:48 | |
Assumptions | 00:16:40 |