티스토리 뷰



구조적 방법론

시스템의 대표적인 기능을 찾아내고, 
대표 기능을 수행하기 위한 서브 기능을 찾아가는 식으로 분석한다.

전체에서 세부를 알아내가는 하향식 방법이다.
사람의 구조적인 분석

대표기능: 밥먹기
서브기능: 이빨로 자른다 -> 목구멍으로 넘긴다 -> 식도를 타고 내려간다 -> 
위에서 녹인다 -> 장에서 흡수한다 -> 항문에서 배출한다.

서브기능: 장에서 흡수한다.
세부기능: 모세혈관이 흡수한다 -> 심장으로 보낸다 -> 동맥을 통해 근육과 내장기관에 보낸다.

특정 기능을 수행하는 엔트리 포인트를 찾아 한단계씩 진행하며 소스를 따라 가능 디버깅 방식을
참고 하면 될듯...


객체 지향 방법론
시스템의 구성 요소들을 찾아내고
구성 요소들간의 연관성을 증명해내는 과정이다.

세부에서 전체를 만들어가는 상향식 방법이다.
사람의 객체 지향적인 분석

1. 객체 모델링
- 뇌, 척수, ..
- 눈, 코, 귀, ...
- 이빨, 목구멍, 식도, 위, 장, 항문, ...
- 심장, 동맥, 정맥, 모세혈관, ...
- 근육, 내장 기관

[이빨] - 전달 - [목구멍] - 전달 - [위] - 전달 - [장] - 전달 - [항문]
[장] - 흡수 - [모세혈관] - 전달 - [심장] -> 동맥 - [전달] - [모세혈관] - 전달 - [근육, 내장기관]

2. 동적 모델링

음식물
초기 상태 -> 잘린 상태 -> 녹은 상태 -> 흡수 상태 -> 배출 상태

3. 기능 모델링

[초기 상태] - 이빨로 자른다 -> [잘린 상태] - 위로 전달해 위액으로 녹인다 -> [녹은 상태]
소장으로 전달한다 -> [흡수 상태] - 대장으로 전달한다 -> [배출 상태]

... 사람의 소화 시스템 완성;



구조적 방법론과 객체 지향 방법론의 장단점

구조적 방법론에서는 
상하 관계가 명확하고 결합도가 강하므로 
어떻게 처리가 진행되는지 따라가기 쉽기 때문에
사소한 기능 수정에는 매우 편리하다.
하지만 새로운 기능을 추가하거나 재활용하려면 
각 기능들을 다시 뜯어내야 하므로 상당한 노력이 필요하다.

객체 지향 방법론에서는 각 객체는 독립적(응집성이 높고, 결합도가 낮다)이므로
개별적인 객체의 작동은 파악하기 쉽다. 하지만 전체의 작동 원리를 알기 위해서는
객체간 연관 관계에 대한 이해가 필요하기 때문에, 객체간 관계 정립 없이 
작업을 진행하는 것은 매우 어렵다.
하지만 객 객체 요소들이 독립적이므로 새로운 기능을 추가하거나 재활용할때는
기존 구조에 큰 영향을 주지 않고 수정할 수 있다.


[출처] http://imp17.com/tc/myevan/185



소프트웨어 공학 (개정판)
국내도서
저자 : 왕창종
출판 : 정익사 2000.06.10
상세보기


'프로그램' 카테고리의 다른 글

RAD(Rapid Application Development)기법 모델  (0) 2014.12.17
CBD(Component Based Development)  (0) 2014.12.16
JSTL 정수형 설정  (0) 2014.07.11
JSTL : sql 사용법  (0) 2014.07.04
자바스크립트 CSS display block? none?  (0) 2014.04.01
댓글