구조적 방법론 structural methodology

  • 시스템의 대표적인 기능을 찾아내고, 대표 기능을 수행하기 위한 서브 기능을 찾아가는 식으로 분석한다.
  • 전체에서 세부를 알아내가는 하향식 방법이다.

    예시

  • 대표기능: 밥먹기
  • 서브기능: 이빨로 자른다 -> 목구멍으로 넘긴다 -> 식도를 타고 내려간다 -> 위에서 녹인다 -> 장에서 흡수한다 -> 항문에서 배출한다.
  • ‘장에서 흡수한다’ 세부기능: 모세혈관이 흡수한다 -> 심장으로 보낸다 -> 동맥을 통해 근육과 내장기관에 보낸다.

객체 지향 방법론 object-oriented methodology

  • 시스템의 구성 요소들을 찾아내고 구성 요소들간의 연관성을 증명해내는 과정이다.
  • 세부에서 전체를 만들어가는 상향식 방법이다.

예시

럼바우의 OMT Object Modeling Technique 기법 적용

  1. 객체 모델링
    • 객체: 이빨, 목구멍, 식도, 위, 장, 항문, 심장, 동맥, 정맥, 모세혈관, 근육, 내장 기관
    • [이빨] - 전달 - [목구멍] - 전달 - [위] - 전달 - [장] - 전달 - [항문]
    • [장] - 흡수 - [모세혈관] - 전달 - [심장] -> 동맥 - [전달] - [모세혈관] - 전달 - [근육, 내장기관]
  2. 동적 모델링
    • 음식물: 초기 상태 -> 잘린 상태 -> 녹은 상태 -> 흡수 상태 -> 배출 상태
  3. 기능 모델링
    • [초기 상태] -이빨로 자른다 -> [잘린 상태] - 위로 전달해 위액으로 녹인다 -> [녹은 상태] ->  소장으로 전달한다 -> [흡수 상태] - 대장으로 전달한다 -> [배출 상태]

장단점 비교

| | 구조적 방법론 | 객체 지향 방법론 | |—–|————————————————————–|————————————————————–| | 장점 | 상하 관계가 명확하고 결합도가 강하므로 어떻게 처리가 진행되는지 따라가기 쉽기 때문에 사소한 기능 수정에는 매우 편리하다. | - 각 객체는 독립적(응집성이 높고, 결합도가 낮다)이므로 개별적인 객체의 작동은 파악하기 쉽다.
- 객 객체 요소들이 독립적이므로 새로운 기능을 추가하거나 재활용할 때는 기존 구조에 큰 영향을 주지 않고 수정할 수 있다. | | 단점 | 새로운 기능을 추가하거나 재활용하려면 각 기능들을 다시 뜯어내야 하므로 상당한 노력이 필요하다. | 전체의 작동 원리를 알기 위해서는 객체간 연관 관계에 대한 이해가 필요하기 때문에, 객체간 관계 정립 없이 작업을 진행하는 것은 매우 어렵다. |

참고자료

소프트웨어 공학: 구조적 방법론과 객체 지향 방법론의 차이

댓글남기기