반응형

리만의 법칙(Lehman's Theory)

리만은 소프트웨어의 진화에 대하여 연구한 결과, 유지보수에서의 변경에 대한 추세와 패턴에 대하여 여러 가지 사실을 알려주었는데 이를 리만의 법칙 혹은 소프트웨어 진하의 법칙이라고 부른다.

 

리만은 소프트웨어 시스템을 두 가지 타입으로 구분했다.

  1. E(Evolution) 타입: 시스템이 계속 진화하는 타입으로, 완전히 확실하게 정의할 수 없는 타입의 시스템
  2. S(Static) 타입: 시스템이 정적인 타입으로, 완전히 확실하게 정의할 수 있는 타입의 시스템

 

위 타입 중에서 리만의 법칙은 오직 E 타입, 완전히 확실하게 정의할 수 없는 타입인 경우에만 적용된다.

 

리만의 법칙은 다음과 같다.

1. 지속적인 변경의 원칙

2. 엔트로피, 복잡도 증가의 법칙

3. 자기 통제의 법칙

4. 안정성 유지의 법칙

5. 친근성 유지의 법칙

6. 지속적 성장의 법칙

7. 품질 저하의 법칙

8. 피드백 시스템의 법칙

 

리만의 기고에 보면, 엔트로피 증가의 법칙은 시스템의 유지보수 비용이 새 시스템의 개발비용을 초과하기 때문에 시스템이 대체되면 결국 엔트로피는 증가된다는 것을 의미한다고 한다.

 

즉, 소프트웨어 사용 기관이 레거시 시스템을 교체하는 것은 선택이지만 계속 유지보수하여 사용하는 이유는 비즈니스 프로세스와 룰을 레거시 시스템에서만 구현해 왔기 때문이다. 더 나아가 수많은 데이터가 데이터베이스에 저장되어 있기 때문에 쉽게 소프트웨어를 변경하지 않고 유지보수하며 사용하는 것이다.