Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

동산로의 블로그

OOAD 본문

카테고리 없음

OOAD

동산로 2025. 4. 24. 11:23

OOAD(Object Oriented Analysis and Design)의 방법론에 대해서 정리해보자.

Object-Oriented Analysis와 Object-Oriented Design 둘 다를 통칭하는 말 입니다. OOAD는 어떻게 객체지향프로그램을 통해서 어플리케이션, 시스템, 비즈니스를 분석하고 디자인을 할 수 있을 지에 대한 기술적인 접근입니다.

이 글에서는 RDD(Wirfs-Brock), OMT(Rumbaugh), Booch method, Jacbson(OOSE) 그리고 Coad/Yourdon의 방법론에 대해서 정리하겠습니다. 다만 미리 알아두셔야 할 점은 이 방법론들은 UML이 등장하기 전 혹은 등장할 때 쯤에 나온 개념들 입니다. 특히 그 중 3명 Rumbaugh, Jacobson, Booch이 이후에 UML1.0을 만들었기 때문에 UML과 상통합니다. 이 개념들은 현대 OOP에 잘 녹아 있습니다.

Wirfs-Brock : Responsibility-Driven Design(RDD)

핵심 요소 3가지가 있습니다.

책임(Responsibilities) : 객체가 알고 있는 것과 객채의 행위 이것을 책임이라 부릅니다.

Collaborators : 객체가 상호작용하는 대상입니다.

Role : 객체는 항상 같은 역할을 수행하는 것이 아니라 어떤 collaborator과 상호작용 하는지에 따라 역할이 다릅니다.

핵심요소를 사용해서 CRD 카드 (Class-Responsibility-Collaborator)을 작성합니다. 각각의 카드에는 Class name, Responsibilites, Collaborator가 포함됩니다.

디자인 가이드라인

  • 행위에 집중
  • 책임이 비슷한 것 끼리 그룹짓기
  • 중앙 컨트롤 보다는 delegation을 사용
  • 디자인은 외부에서 안으로, 즉 각각의 시스템의 외부 상호작용을 먼저 정의하고 내부를 채워갑니다.

Rumbaugh : Object Modeling Technique(OMT)

핵심 요소

object model : 클래스 다이어그램, association, 상속

dynamic model : 상태 기계와 상호작용

function model : data flow diagrams.

프로세스

분석->시스템디자인->객체 디자인 -> 적용(implementation)

Booch method

프로세스

컨셉잡기(conceptualization)->분석->디자인->진화(evolution)->유지보수(maintainance)

6가지 model/diagrams

class diagram, state transition diagrams, object diagrams, process diagrams, module diagrams, interaction diagram

class, object diagram은 정적이고 state diagram은 동적입니다.

Jacobson Methodology : Object-Oriended Software Engineering (OOSE)

OOSE에서 가장 중요한 점은 유스케이스(Use case)입니다. 이를 통해서 다음 프로세스를 적용합니다.

요구사항(requirements) : use case diagram과 problem domain object diagram을 생성

분석 : analysis diagram

디자인 : state transition diagram, interaction diagram

적용(implementation)

테스팅 모델

Coad/Yourdon

coad-yourdon은 DFD(Data Flow Diagram)을 어떻게 그려야 할 지에 대해서 정리하였다. (Gane-Sarson 도 있다. 서로 다른 표현법을 가지고 있다.).

E-R diagram (정보처리 기사 책에서는 ERD를 쓴다는데??? )

참고자료

https://www.wirfs-brock.com/Design.html

https://www.conceptdraw.com/examples/student-analysis-sample

https://iq.opengenus.org/rumbaugh-booch-and-jacobson-methodologies/

https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

https://en.wikipedia.org/wiki/Object-oriented_analysis_and_design#Object-oriented_design

https://www.geeksforgeeks.org/booch-methodology-in-object-oriented-analysis-and-designooad/