리먼 소프트웨어 변화 법칙: Difference between revisions
(새 문서: 분류:소프트웨어 공학 ;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's laws of software evolution<ref>일부는 '리먼 소프트웨어 변화 원리'라고 해석하지만 law이므로 '법칙'으로 해석하는 것이 더 적절하다. </ref> | |||
;소프트웨어는 지속적으로 변화한다는 것을 전제로, 시스템 변화에 대해 일반적으로 적용되는 원칙 제시 | ;소프트웨어는 지속적으로 변화한다는 것을 전제로, 시스템 변화에 대해 일반적으로 적용되는 원칙 제시 | ||
== 시스템 분류 == | *임페리얼 칼리지 런던의 교수였던 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=== | |||
;지속적 변경(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]
- ↑ 일부는 '리먼 소프트웨어 변화 원리'라고 해석하지만 law이므로 '법칙'으로 해석하는 것이 더 적절하다.