리먼 소프트웨어 변화 법칙 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 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): 실제 일상(업무)에서 수행하는 활동을 위해 만들어진 프로그램
*S-타입(Static Type): 단순 계산 프로그램
; 리먼의 원리는 E-타입에만 적용된다.
*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 />
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)