10 EVOLUTION IN SOFTWARE SYSTEMS 7 Lehmans Gesetze der Software Evolution! Table I. Laws of software evolution, adapted from Lehman et al. [22]. Name Brief description I Continuing change (1974) E-type systems must be continually adapted else they become progressively less satisfactory. II Increasing complexity (1974) As an E-type system evolves, its complexity increases unless work is done to maintain or reduce it. III Self regulation (1974) The evolution process of E-type systems is self regulating, with a distribution of product and process measures over time that is close to normal. IV V Conservation of organizational stability (1980) Conservation of familiarity (1980) The average effective global activity rate in an evolving E-type system is invariant over a product s lifetime. During the active life of an evolving E-type system, the average content of successive releases is invariant. VI Continuing growth (1980) The functional content of an E-type system must be continually increased to maintain user satisfaction with the system over its lifetime. VII Declining quality (1996) Stakeholders will perceive an E-type system to have declining quality unless it is rigorously maintained and adapted to its changing operational environment. VIII Feedback system ( ) The evolution processes in E-type systems constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable baseline. Quelle: Cook et al. 2005! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2013 Martin Glinz! 10! which they rarely are. For example, Say s Law in economics describes a general principle about

34 Reengineering! Restructuring or re-writing part or all of a legacy system plus changing its functionality according to new requirements! Applicable where some but not all sub-systems of a larger system require frequent maintenance.! Reengineering involves adding effort to make them easier to maintain. The system may be re-structured and re-documented.! = Reverse Engineering + Delta + Forward Engineering! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 34!

36 Advantages of Reengineering! Reduced risk! There is a high risk in new software development. There may be development problems, staffing problems and specification problems.! Reduced cost! The cost of re-engineering is often significantly less than the costs of developing new software.! e.g. Object-oriented Reengineering Patterns! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 36!

41 Reengineering cost factors! The quality of the software to be reengineered! The tool support available for reengineering! The extent of the data conversion required! The availability of expert staff for reengineering.! This can be a problem with old systems based on technology that is no longer widely used.! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 41!

43 Legacy system evolution! Legacy System An old system, typically outdated with respect to technology and/or supported processes, which is still in operational use! Maintaining legacy systems is difficult and expensive! Organisations that rely on legacy systems must choose a strategy for evolving these systems! Shutdown: scrap the system completely and modify business processes so that it is no longer required! Continue maintaining the system! Transform the system by re-engineering to improve its maintainability! Replace the system with a new system! The strategy chosen should depend on system quality and business value! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2013 Harald Gall & Martin Glinz! 43!

45 Strategies for evolving legacy systems! Low quality, low business value! These systems should be scrapped.! Low quality, high business value! These make an important business contribution but are expensive to maintain. Should be re-engineered or replaced if a suitable system is available.! High quality, low business value! Replace with COTS, scrap completely or maintain.! High quality, high business value! Continue in operation using normal system maintenance.! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2013 Harald Gall & Martin Glinz! 45!

47 System quality assessment! Business process assessment! How well does the business process support the current goals of the business?! Environment assessment! How effective is the system s environment and how expensive is it to maintain?! Application assessment! What is the quality of the application software system?! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 47!

48 Business process assessment! Use a viewpoint-oriented approach and seek answers from system stakeholders! Is there a defined process model and is it followed?! Do different parts of the organisation use different processes for the same function?! How has the process been adapted?! What are the relationships with other business processes and are these necessary?! Is the process effectively supported by the legacy application software?! Example - a travel ordering system may have a low business value because of the widespread use of web-based ordering.! Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 48!

49 Environment assessment 1! Factor Supplier stability Failure rate Age Performance Questions Is the supplier is still in existence? Is the supplier financially stable and likely to continue in existence? If the supplier is no longer in business, does someone else maintain the systems? Does the hardware have a high rate of reported failures? Does the support software crash and force system restarts? How old is the hardware and software? The older the hardware and support software, the more obsolete it will be. It may still function correctly but there could be significant economic and business benefits to moving to more modern systems. Is the performance of the system adequate? Do performance problems have a significant effect on system users? Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 49!

50 Environment assessment 2! Support requirements Maintenance costs Interoperability What local support is required by the hardware and software? If there are high costs associated with this support, it may be worth considering system replacement. What are the costs of hardware maintenance and support software licences? Older hardware may have higher maintenance costs than modern systems. Support software may have high annual licensing costs. Are there problems interfacing the system to other systems? Can compilers etc. be used with current versions of the operating system? Is hardware emulation required? Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 50!

51 Application assessment 1! Factor Understandability Documentation Questions How difficult is it to understand the source code of the current system? How complex are the control structures that are used? Do variables have meaningful names that reflect their function? What system documentation is available? Is the documentation complete, consistent and up-to-date? Data Is there an explicit data model for the system? To what extent is data duplicated in different files? Is the data used by the system up-to-date and consistent? Performance Is the performance of the application adequate? Do performance problems have a significant effect on system users? Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 51!

52 Application assessment 2! Programming language Configuration management Test data Personnel skills Are modern compilers available for the programming language used to develop the system? Is the programming language still used for new system development? Are all versions of all parts of the system managed by a configuration management system? Is there an explicit description of the versions of components that are used in the current system? Does test data for the system exist? Is there a record of regression tests carried out when new features have been added to the system? Are there people available who have the skills to maintain the application? Are there only a limited number of people who understand the system? Software Engineering!Kapitel 12: Software Evolution und Reengineering! 2011 Harald Gall! 52!

This press release is approved for publication. Press Release Chemnitz, February 6 th, 2014 Customer-specific software for autonomous driving and driver assistance (ADAS) With the new product line Baselabs

Name: AP Deutsch Sommerpaket 2014 The AP German exam is designed to test your language proficiency your ability to use the German language to speak, listen, read and write. All the grammar concepts and

Possible Solutions for Development of Multilevel Pension System in the Republic of Azerbaijan by Prof. Dr. Heinz-Dietrich Steinmeyer Introduction Multi-level pension systems Different approaches Different

Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

0 Corporate Digital Learning, How to Get It Right Learning Café Online Educa Berlin, 3 December 2015 Key Questions 1 1. 1. What is the unique proposition of digital learning? 2. 2. What is the right digital

Service Design Dirk Hemmerden - Appseleration GmbH An increasing number of customers is tied in a mobile eco-system Hardware Advertising Software Devices Operating System Apps and App Stores Payment and

Exercise (Part XI) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Advanced Availability Transfer Transfer absences from HR to PPM A PLM Consulting Solution Public Advanced Availability Transfer With this solution you can include individual absences and attendances from

p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Filing system designer FileDirector Version 2.5 Novelties FileDirector offers an easy way to design the filing system in WinClient. The filing system provides an Explorer-like structure in WinClient. The

Evaluation of schools in switzerland Challenges for the future between extern and intern evaluation Michael Frais Schulentwicklung in the Kanton Zürich between internal evaluation and external evaluation

Getting started with MillPlus IT V530 Winshape Table of contents: Deutsche Bedienungshinweise zur MillPlus IT V530 Programmierplatz... 3 English user directions to the MillPlus IT V530 Programming Station...

How to develop and improve the functioning of the audit committee The Auditor s View May 22, 2013 Helmut Kerschbaumer KPMG Austria Audit Committees in Austria Introduced in 2008, applied since 2009 Audit

Support Technologies based on Bi-Modal Network Analysis H. Agenda 1. Network analysis short introduction 2. Supporting the development of virtual organizations 3. Supporting the development of compentences

Inequality Utilitarian and Capabilities Perspectives (and what they may imply for public health) 1 Utilitarian Perspectives on Inequality 2 Inequalities matter most in terms of their impact onthelivesthatpeopleseektoliveandthethings,

CABLE TESTER Manual DN-14003 Note: Please read and learn safety instructions before use or maintain the equipment This cable tester can t test any electrified product. 9V reduplicated battery is used in

Supplier Questionnaire Dear madam, dear sir, We would like to add your company to our list of suppliers. Our company serves the defence industry and fills orders for replacement parts, including orders

1 The zip archives available at http://www.econ.utah.edu/ ~ ehrbar/l2co.zip or http: //marx.econ.utah.edu/das-kapital/ec5080.zip compiled August 26, 2010 have the following content. (they differ in their

Diss. ETH No. 12075 Group and Session Management for Collaborative Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZÜRICH for the degree of Doctor of Technical Seiences

Diss. ETH No. 16589 Efficient Design Space Exploration for Embedded Systems A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Sciences presented by

p^db=`oj===pìééçêíáåñçêã~íáçå= How to Disable User Account Control (UAC) in Windows Vista You are attempting to install or uninstall ACT! when Windows does not allow you access to needed files or folders.

USBASIC SAFETY IN NUMBERS #1.Current Normalisation Ropes Courses and Ropes Course Elements can conform to one or more of the following European Norms: -EN 362 Carabiner Norm -EN 795B Connector Norm -EN