1) 환경 적응력 (Cooperation)
2) 견고한 내부 디자인 (Appropriate form)
3) 최소 시스템 요구 사항 (System minimality)
4) 구성 요소의 단일화된 목적과 기능 (Component singularity)
5) 구성 요소의 분류와 집합 (Functional locality)
6) 보고 이해할 수 있는 코드 구성 (Readability)
상대적으로 가장 난해 하다고 할 수 있는 1), 2), 5) 항목이
변동성과 관련이 있다고 볼 수 있네요.
내,외부적인 변동성으로 인한 SM 요소는
바로 TCO와 직결되는 아주 중요한 요소임에 틀림 없습니다.
현재는 소프트웨어 공학에서도 ERM (Enterprise Risk Managemet)
과 같이 (악성!?)변동요인에 따른 위험요소 관리 개념을 도입하여
프로젝트의 성공률 증대를 모색하려 하고 있습니다.
2004.06.19 01:58:24 (*.125.73.194)
김형찬
환경에 적응한다...라는건 아직모르겠군요
견고한내부디자인이라는것은 역시 수정과 복귀의 용의함..일테고
간략화라는것은 필수불가결요소...
4번은..모르겠군요..
범용성도좋지만 전채적으로 하나의목적을 가지고 짜여져야한다는걸까요..
5번은모르겠고..
6번은 역시.... 전채적으로공감하는녀석.,,
2004.06.26 22:06:59 (*.75.190.115)
창한군~
'아 이것도 좋은데 이런걸 더 넣어보면 어떨까?' 라는 요구사항이 들어왔을때 최소한의 변동으로 원하는 목적이 달성할 수 있다면 일단좋겠죠
처음부터 모든 요구사항을 다 완벽하게 만들어서 그것만하면 더 할일이 없다는 경우는 없으므로, 결국 현실은 항상 만들어지면서 변동이 생기기 마련입니다.
그러면 위의 목적을 달성하기위해서 지키면 몸에좋을 원칙같은것은 없을까? 에서나온것이 바로 위위의 변동성의 원리겠죠,
패턴들은 다 비슷한데 입력되는 변수만 조금씩 다르다 면 - 그 패턴부분을 따로빼서 묶고(Functional locality) 그것에 단일화된 기능을 부여한뒤(Component singularity) 변동되지않는 부분으로 떼어주고 입력되는 변수만 조금씩바꿔가며 그 변동되지않는부분을 불러주면 되는겁니다. 그런데 이렇게 해놓으면 일단 신경써야하는부분들이 최소한으루 줄게되므로 읽어서 이해하기도 편하고 (Readability) 문제가발생하면 변동되지않는 한부분만 고치면 나머지 부분들은 자동으로 다 이득을보게되므로 안정성이 높아지고 점점 더 견고해집니다.(Appopriate form) 어떤것을 최적화할때도 부분부분으로 잘 나누어져있고 특히 변동성이 낮은 부분이 속도가 느리다면 그 부분을 최적화하므로 그곳에 의존하는 다른많은 변동성높은것들이 다같이 이득을보게되므로 최적화하기에도 쉬워집니다.(System minimality) 이모든것들은 결국 환경적응력을 높여주는 요소로 작용하게 되는겁니다.(Cooperation)
좀 억지로 풀어봤는데 어차피 '아' 다르고 '어' 다른것이니-_-;
결국 읽기도편하게하고 안정성도 높이고 최적화도 쉽게하고 기능추가도 쉽게하기위한 좋은 원칙은없을까? 에대한 해답이라고 볼수있을,,
1) 환경 적응력 (Cooperation)
2) 견고한 내부 디자인 (Appropriate form)
3) 최소 시스템 요구 사항 (System minimality)
4) 구성 요소의 단일화된 목적과 기능 (Component singularity)
5) 구성 요소의 분류와 집합 (Functional locality)
6) 보고 이해할 수 있는 코드 구성 (Readability)
상대적으로 가장 난해 하다고 할 수 있는 1), 2), 5) 항목이
변동성과 관련이 있다고 볼 수 있네요.
내,외부적인 변동성으로 인한 SM 요소는
바로 TCO와 직결되는 아주 중요한 요소임에 틀림 없습니다.
현재는 소프트웨어 공학에서도 ERM (Enterprise Risk Managemet)
과 같이 (악성!?)변동요인에 따른 위험요소 관리 개념을 도입하여
프로젝트의 성공률 증대를 모색하려 하고 있습니다.