리먼 소프트웨어 변화 법칙: Difference between revisions

From IT Wiki
(새 문서: 분류:소프트웨어 공학 ;Lehman's laws of software evolution<ref>law이므로 '법칙'으로 해석하는 것이 더 적절하다. Lehman은 리만브라더스에서의 리...)
 
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:소프트웨어 공학]]
[[분류:소프트웨어 공학]]
;Lehman's laws of software evolution<ref>law이므로 '법칙'으로 해석하는 것이 더 적절하다. Lehman은 리만브라더스에서의 리만이다. 흔히 한글로 표기되는 이름인데 이상하게 이 법칙만 'Lehman 소프트웨어 변화의 원리'라고 다소 이상하게 표기된다. 그냥 '리만의 소프트웨어 변화 법칙'이라고 부르는게 가장 적절하나, 본 위키에선 범용적인 명칭을 어느정도 따른다.</ref>
 
;Lehman's laws of software evolution<ref>일부는 '리먼 소프트웨어 변화 원리'라고 해석하지만 law이므로 '법칙'으로 해석하는 것이 더 적절하다. </ref>
;소프트웨어는 지속적으로 변화한다는 것을 전제로, 시스템 변화에 대해 일반적으로 적용되는 원칙 제시
;소프트웨어는 지속적으로 변화한다는 것을 전제로, 시스템 변화에 대해 일반적으로 적용되는 원칙 제시
* 임페리얼 칼리지 런던의 교수였던 Lehman과 Belady가 1974년부터 1996년까지 발전시켜 온 이론


== 시스템 분류 ==
*임페리얼 칼리지 런던의 교수였던 Lehman과 Belady가 1974년부터 1996년까지 발전시켜 온 이론
* S-타입(Static Type): 단순 계산 프로그램
 
* P-타입(Practical Type): 요구되는 동작이 명확하여 변화가 거의 일어나지 않는 프로그램
==시스템 분류==
* E-타입(Embedded Type): 실제 일상(업무)에서 수행하는 활동을 위해 만들어진 프로그램
 
; 리먼의 원리는 E-타입에만 적용된다.
*S-타입(Static Type): 단순 계산 프로그램
*P-타입(Practical Type): 요구되는 동작이 명확하여 변화가 거의 일어나지 않는 프로그램
*E-타입(Embedded Type): 실제 일상(업무)에서 수행하는 활동을 위해 만들어진 프로그램
 
;리먼의 원리는 E-타입에만 적용된다.
 
==8가지 변화 원리==
===Continuing Change===


== 8가지 변화 원리 ==
=== Continuing Change ===
;지속적 변경(1974년)
;지속적 변경(1974년)
An E-type program that is used must be continually adapted else it becomes progressively less satisfactory.
An E-type program that is used must be continually adapted else it becomes progressively less satisfactory.
* 소프트웨어는 계속 진화하며 요구사항에 의해 계속적으로 변경됨
* 소프트웨어는 자체적으로 갱신 불가하며 인간의 의지의 개입이 필요
* 다시 만드는 것보다 더 경제적이라고 판단되는 한 계속 변화


=== Increasing Complexity ===
*소프트웨어는 계속 진화하며 요구사항에 의해 계속적으로 변경되어야 함
*소프트웨어는 자체적으로 갱신 불가하며 인간의 의지의 개입이 필요
*다시 만드는 것보다 더 경제적이라고 판단되는 한 계속 변화
 
===Increasing Complexity===
 
;복잡도 증가(1974년)
;복잡도 증가(1974년)
As a program is evolved its complexity increases unless work is done to maintain or reduce it
As a program is evolved its complexity increases unless work is done to maintain or reduce it
* 변경이 가해질수록 구조는 복잡해짐
* 복잡도는 이를 유지하거나 줄이고자 하는 특별한 작업을 하지 않는 한 계속 증가


=== Self Regulation ===
*변경이 가해질수록 구조는 복잡해짐
*복잡도는 이를 유지하거나 줄이고자 하는 특별한 작업을 하지 않는 한 계속 증가
 
===Self Regulation===
 
;자가 조절(1974년)
;자가 조절(1974년)
The program evolution process is self regulating with close to normal distribution of measures of product and process attributes.
The program evolution process is self regulating with close to normal distribution of measures of product and process attributes.
* 프로그램별로 변경되는 사항은 고유한 패턴/추세가 있음
* 복잡성을 단순화 시키려는 인간 의지의 개입


=== Conservation of Organisational Stability ===
*프로그램별로 변경되는 사항은 고유한 패턴/추세가 있음
*복잡성을 단순화 시키려는 인간 의지의 개입
 
===Conservation of Organisational Stability===
 
;조직적 안정성(1978년)
;조직적 안정성(1978년)
The average effective global activity rate on an evolving system is invariant over the product life time.
The average effective global activity rate on an evolving system is invariant over the product life time.
* 변화하는 시스템의 평균적인 효과성은 제품 생애 전반 동안 불변
* 조직의 경영 사정, 전사적 안정성 추구 등에 따라 효과성은 크게 변하지 않음


=== Conservation of Familiarity ===
*변화하는 시스템의 평균적인 효과성은 제품 생애 전반 동안 불변
*조직의 경영 사정, 전사적 안정성 추구 등에 따라 효과성은 크게 변하지 않음
 
===Conservation of Familiarity===
 
;익숙함의 보존(1978년)
;익숙함의 보존(1978년)
During the active life of an evolving program, the content of successive releases is statistically invariant.
During the active life of an evolving program, the content of successive releases is statistically invariant.
* 소프트웨어 각 버전의 변화는 일정함
* 소프트웨어는 규칙적인 수행결과와 추이를 보여주기 때문에 계측 가능


=== Continuing Growth ===
*소프트웨어 각 버전의 변화는 일정함
*소프트웨어는 규칙적인 수행결과와 추이를 보여주기 때문에 계측 가능
 
===Continuing Growth===
 
;지속적 성장(1991년)
;지속적 성장(1991년)
Functional content of a program must be continually increased to maintain user satisfaction over its lifetime.
Functional content of a program must be continually increased to maintain user satisfaction over its lifetime.
* 소프트웨어의 기능성은 사용자 만족도를 유지하기 위해 증가됨


=== Declining Quality ===
*소프트웨어의 기능성은 사용자 만족도를 유지하기 위해 증가되어야 함
 
===Declining Quality===
 
;품질 감소(1996년)
;품질 감소(1996년)
E-type programs will be perceived as of declining quality unless rigorously maintained and adapted to a changing operational environment.
E-type programs will be perceived as of declining quality unless rigorously maintained and adapted to a changing operational environment.
* 소프트웨어는 엄격하게 관리 및 운영되지 않거나, 환경 변화에 적응하지 않으면 품질 하락


=== Feedback System ===
*소프트웨어는 엄격하게 관리 및 운영되지 않거나, 환경 변화에 적응하지 않으면 품질 하락
 
===Feedback System===
 
;피드백 시스템(1996년)
;피드백 시스템(1996년)
E-type Programming Processes constitute Multi-loop, Multi-level Feedback systems and must be treated as such to be successfully modified or improved
E-type Programming Processes constitute Multi-loop, Multi-level Feedback systems and must be treated as such to be successfully modified or improved
* 시스템의 지속적인 변화 또는 진화를 유지하려면 성능을 모니터링 할 수단이 필요


== 참고 문헌 ==
*시스템의 지속적인 변화 또는 진화를 유지하려면 성능을 모니터링 할 수단이 필요
* [https://peim.tistory.com/10 리먼(Lehman)의 소프트웨어 변화 법칙 원문]
 
==참고 문헌==
 
*[https://peim.tistory.com/10 리먼(Lehman)의 소프트웨어 변화 법칙 원문]
 
== 각주 ==
<references />

Latest revision as of 16:39, 20 November 2021


Lehman's laws of software evolution[1]
소프트웨어는 지속적으로 변화한다는 것을 전제로, 시스템 변화에 대해 일반적으로 적용되는 원칙 제시
  • 임페리얼 칼리지 런던의 교수였던 Lehman과 Belady가 1974년부터 1996년까지 발전시켜 온 이론

시스템 분류[edit | edit source]

  • S-타입(Static Type): 단순 계산 프로그램
  • P-타입(Practical Type): 요구되는 동작이 명확하여 변화가 거의 일어나지 않는 프로그램
  • E-타입(Embedded Type): 실제 일상(업무)에서 수행하는 활동을 위해 만들어진 프로그램
리먼의 원리는 E-타입에만 적용된다.

8가지 변화 원리[edit | edit source]

Continuing Change[edit | edit source]

지속적 변경(1974년)

An E-type program that is used must be continually adapted else it becomes progressively less satisfactory.

  • 소프트웨어는 계속 진화하며 요구사항에 의해 계속적으로 변경되어야 함
  • 소프트웨어는 자체적으로 갱신 불가하며 인간의 의지의 개입이 필요
  • 다시 만드는 것보다 더 경제적이라고 판단되는 한 계속 변화

Increasing Complexity[edit | edit source]

복잡도 증가(1974년)

As a program is evolved its complexity increases unless work is done to maintain or reduce it

  • 변경이 가해질수록 구조는 복잡해짐
  • 복잡도는 이를 유지하거나 줄이고자 하는 특별한 작업을 하지 않는 한 계속 증가

Self Regulation[edit | edit source]

자가 조절(1974년)

The program evolution process is self regulating with close to normal distribution of measures of product and process attributes.

  • 프로그램별로 변경되는 사항은 고유한 패턴/추세가 있음
  • 복잡성을 단순화 시키려는 인간 의지의 개입

Conservation of Organisational Stability[edit | edit source]

조직적 안정성(1978년)

The average effective global activity rate on an evolving system is invariant over the product life time.

  • 변화하는 시스템의 평균적인 효과성은 제품 생애 전반 동안 불변
  • 조직의 경영 사정, 전사적 안정성 추구 등에 따라 효과성은 크게 변하지 않음

Conservation of Familiarity[edit | edit source]

익숙함의 보존(1978년)

During the active life of an evolving program, the content of successive releases is statistically invariant.

  • 소프트웨어 각 버전의 변화는 일정함
  • 소프트웨어는 규칙적인 수행결과와 추이를 보여주기 때문에 계측 가능

Continuing Growth[edit | edit source]

지속적 성장(1991년)

Functional content of a program must be continually increased to maintain user satisfaction over its lifetime.

  • 소프트웨어의 기능성은 사용자 만족도를 유지하기 위해 증가되어야 함

Declining Quality[edit | edit source]

품질 감소(1996년)

E-type programs will be perceived as of declining quality unless rigorously maintained and adapted to a changing operational environment.

  • 소프트웨어는 엄격하게 관리 및 운영되지 않거나, 환경 변화에 적응하지 않으면 품질 하락

Feedback System[edit | edit source]

피드백 시스템(1996년)

E-type Programming Processes constitute Multi-loop, Multi-level Feedback systems and must be treated as such to be successfully modified or improved

  • 시스템의 지속적인 변화 또는 진화를 유지하려면 성능을 모니터링 할 수단이 필요

참고 문헌[edit | edit source]

각주[edit | edit source]

  1. 일부는 '리먼 소프트웨어 변화 원리'라고 해석하지만 law이므로 '법칙'으로 해석하는 것이 더 적절하다.