Preface
On the Criteria To Be Used in Decomposing Systems into Modules, D.L. Parnas의 오래 된 글을 읽었다. 1996년 5월 CACM에 기고된 글로써 96년이면 10년된 글인데 이글 조차 1972년의 파나스의 글을 고전으로 소개하고 있는 재 출판한 글이다. 읽는 속도가 더뎌서 고전이라는 느낌을 확실히 느낄 수 있다.
일단 파나스(Parnas)는 모듈러 프로그래밍의 장점을 강조했는데 주된 장점을 다음이라 했다.
일단 파나스의 생각은 익히 많이 들어왔던 것이라 큰 거부감이 없었다.
두가지의 예를 들었는데 첫번째는 Unix의 Stadard Input/output 같은 기반의 표준화된 데이타 구조를 가지고
여러 평션간의 전달로 처리 하는 것이었고,
두번째는 OO 방식으로 데이타 캡슐화를 거친 후 처리하는 방식이었는데
내 영어 실력의 한계일지도 몰라도 첫번째의 방식이 결코 나쁘거나 안좋은 구현이 아니라고 짚고(@!!)!)! 넘어간다는 것이었다. 와우~
물론 제목 자체에 모듈에 대한 생각이 담겨져 있을 것이겠지만. 모듈이란 큰 의미를 가지고 있기에 첫번째 경우를 옹호 해줄지는 생각도 못했다.
으흠. 나의 어리석고 좁은 생각에 한번 반성하게 되었다.
다들 읽어보시길..
On the Criteria To Be Used in Decomposing Systems into Modules, D.L. Parnas의 오래 된 글을 읽었다. 1996년 5월 CACM에 기고된 글로써 96년이면 10년된 글인데 이글 조차 1972년의 파나스의 글을 고전으로 소개하고 있는 재 출판한 글이다. 읽는 속도가 더뎌서 고전이라는 느낌을 확실히 느낄 수 있다.
일단 파나스(Parnas)는 모듈러 프로그래밍의 장점을 강조했는데 주된 장점을 다음이라 했다.
- 서로 다른 모듈 간에서 코드에 대한 극히 일부분만을 가지고 코드 작성할 수 있게 해준다. 즉 다른 모듈에 대해 많을 것을 알지 않아도 됀다~!
- 전체 시스템을 재조립 하지 않고도 재 조립과 재 배치를 할 수 있도록 해준다.
- Managerial : 모듈 개발 그룹내의 커뮤니케이션이 덜 들기 때문에 개발 속도를 줄일 수 있다.
- Product Flexibility : 다른 모듈 의 변경 없이 극적인 변화를 모듈에 줄 수 있다.
- Comprehesibility : 한 모듈을 한번에 하나씩 이해해가며 공부 할수 있다. 시스템이란 더 잘 이해할 때 더 잘 개선 할 수 있다.
일단 파나스의 생각은 익히 많이 들어왔던 것이라 큰 거부감이 없었다.
두가지의 예를 들었는데 첫번째는 Unix의 Stadard Input/output 같은 기반의 표준화된 데이타 구조를 가지고
여러 평션간의 전달로 처리 하는 것이었고,
두번째는 OO 방식으로 데이타 캡슐화를 거친 후 처리하는 방식이었는데
내 영어 실력의 한계일지도 몰라도 첫번째의 방식이 결코 나쁘거나 안좋은 구현이 아니라고 짚고(@!!)!)! 넘어간다는 것이었다. 와우~
물론 제목 자체에 모듈에 대한 생각이 담겨져 있을 것이겠지만. 모듈이란 큰 의미를 가지고 있기에 첫번째 경우를 옹호 해줄지는 생각도 못했다.
으흠. 나의 어리석고 좁은 생각에 한번 반성하게 되었다.
다들 읽어보시길..
'indirect' 카테고리의 다른 글
| Microsoft is dead : paulgraham (0) | 2007/04/10 |
|---|---|
| 성공적인 블로깅을 위한 10가지 방법 (0) | 2007/03/27 |
| On the Criteria To Be Used in Decomposing Systems into Modules (0) | 2007/03/26 |
| Web Design Cheet Sheet (0) | 2007/03/15 |

