-
객체 지향적 방법론프로그래밍/개발 방법론 2018. 4. 10. 00:46
객체 지향적 방법론을 알기전에 간단한 기본 정의에 대하여 공부하고 들어가고자 한다.
먼저 객체란 무엇일까?
(출처 :네이버 지식백과)
네이버 백과사전을 통해 객체에 조사해보니 실세계에 존재하거나 생각할 수 있는 것을 객체라고 정의를 하는데 그렇다면 지향이란 무엇일까?
지향 또한 똑같이 네이버에 검색해보니 형용사적 표현으로 ~을 지향하는 이라는 뜻을 지닌다.
즉 객체 지향이라는 말은 객체를 중심으로 사고하는 것 이라는 제 나름대로의 결론을 생각해 보았는데
객체 지향이라는 뜻을 알게된후 객체지향적 방법론을 생각해보니 객체를 단위로 시스템을 분석하고 설계하여 구현하는 방법론 이라는 결과가 나왔다.
그렇다면 객체는 어째서 우리에게 나타나 인기를 끌게 되었는지가 궁금해졌다.
70년대 이전의 소프트웨어 개발방식은 무계획적으로 하위의 프로그램을 완성해가며 최종 시스템을 나타내는 형식의 상향식 개발이었다.
그뒤에 구조적 개발방법론이 에츠허르 다익스트라에 의해 발표되어 대부분의 프로그램의 방법론은 모듈화를 통한 코딩과 하향식 개발을 통해
모듈간 인터페이스를 계획하여 전체 시스템을 조절할수있게 된것이다.
그러나 구조적 방법론은 프로세스랑 데이터를 분리하는 철학을 가지고 있어 분석 단계에서 잘 분석 해놓은 내용을 설계단계에서 어려움을 겪는 경우가 많아지며 데이터와 프로세스가 분리되어 사용자와 개발자와의 의사소통에 문제를 겪었다.
그로인해 객체지향 프로그래밍이 나오게 된것이다.
이제 본격적인 객체 지향적 방법론에 대하여 알아보면
(출처 : http://i-bada.blogspot.com/2012/03/)
위 그림은 객체 지향적 방법론의 순서를 표로 나타낸 그림이다.
요구분석을 통해 요견정의를 하면 본격적인 객체지향분석으로 넘어오게 되는데
객체지향적 분석은 럼바우 분석 기법을 사용한다.
먼저 객체 모델링을 하기전 도메인 모델링을 통해서 개발자가 해결하고자 하는 문제의 영역을 파악한 뒤 시스템에 요구되는 객체를 설계하여 객체들과의 관계를 중심으로 정의하여 객체 다이어그램으로 나타내는 것이며
시간의 흐름이나 데이터의 변화에 따라 변하는 객체들과의 흐름, 관계, 상호작용등의 동적인 행위를 상태다이어그램으로 나타내는 것
다수의 프로세스 간의 데이터의 흐름이나 처리과정을 자료흐름도로 나타내는 것 이렇게 3개의 모델링 작업을 UML (통합 모델링 언어)를 통해 결과물을 나타낸다.
이렇게 간단히 객체 지향적 방법론을 마치고 본문사이의 틀린내용이나 지적할점 혹은 추가했으면 하는 점은 알려주시면 감사히 받겠습니다