Lehman's laws of software evolution

Lehman's laws of software evolution

In Software engineering, the Laws of Software Evolution refer to a series of laws that Lehman and Belady formulated in 1980 with respect to Software evolution cite web|url=http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=637156 |title="Metrics and laws of software evolution-the nineties view"|date=Sept 1980 |publisher=Proceedings of the IEEE] .

The laws can be summarized as follows:

* Law of continuing change: A system that is being used undergoes continuing change.
* Law of increasing complexity: A computer program that is changed, becomes less and less structured. The changes increase the entropy and complexity of the program.

----Laws [1] :
* I, 1974 - Continuing Change - E-type systems must be continually adapted else they become progressively lesssatisfactory.
* II - 1974 - Increasing Complexity - As an E-type system evolves its complexity increases unless work is done to maintain or reduce it.
* III, 1974 - Self Regulation - E-type system evolution process is self regulating with distribution of product and process measures close to normal.
* IV, 1980 - Conservation of Organisational Stability (invariant work rate) - The average effective global activity rate in an evolving E-type system is invariant over product lifetime.
* V, 1980 - Conservation of Familiarity - As an E-type system evolves all associated with it, developers, sales personnel, users, for example, must maintain mastery of its content and behaviour to achieve satisfactory evolution. Excessive growth diminishes that mastery. Hence the average incremental growth remains invariant as the system evolves.
* VI, 1980 - Continuing Growth - The functional content of E-type systems must be continually increased to maintain user satisfaction over their lifetime.
* VII, 1996 - Declining Quality - The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes.
* VIII, 1996 Feedback System (first stated 1974, formalised as law 1996) - E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base.

References

[1] Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,” Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Software evolution — is the term used in Software engineering to refer to the process of developing software initially, then repeatedly updating it for various reasons.General introductionSoftware Evolution is the process of initial development of a software product …   Wikipedia

  • Software-Evolution — ist ein Begriff aus der Softwaretechnik, im Speziellen aus der Softwarewartung, und beschreibt den Prozess, der folgt, nachdem ein Softwaresystem entwickelt und ausgeliefert wurde. Nach Auslieferung und Benutzung kommen neue Anforderungen dazu… …   Deutsch Wikipedia

  • Meir M. Lehman — Manny Lehman Born January 24, 1925(1925 01 24) Germany Died December 29, 2010(2010 12 29) (aged 85) Je …   Wikipedia

  • Meir Manny Lehman — NOTOC Professor Meir Manny Lehman is known as the father of software evolution . He was a Professor at Imperial College London from 1972 to 2002. In 2002, he moved to Middlesex University in London. His research contributions include the early… …   Wikipedia

  • Software maintenance — In software engineering, software maintenance is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment.”(ISO/IEC 14764). This… …   Wikipedia

  • Software entropy — The second law of thermodynamics, in principle, states that a closed system s disorder cannot be reduced, it can only increase or possibly remain unchanged. A measure of this disorder is entropy. This law also seems plausible for software… …   Wikipedia

  • Change management (engineering) — The change management process in systems engineering is the process of requesting, determining attainability, planning, implementing, and evaluating of changes to a system. It has two main goals: supporting the processing of changes – which is… …   Wikipedia

  • Programming Complexity — Programming Complexity, which is often also referred to as Software Complexity is a term that encompasses numerous properties of a piece of software, all of which affect internal interactions. According to several commentators, including… …   Wikipedia

  • List of computer scientists — Expand list|date=August 2008This is a list of well known computer scientists, people who do work in computer science, in particular researchers and authors.Some persons notable as programmers are included here because they work in research as… …   Wikipedia

  • Normalized Systems — is a theory to design and engineer information systems exhibiting proven evolvability. Originally established at the University of Antwerp, at the department Management Information Systems of the faculty Applied Economics, it aims at re creating… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”