Search

Object Oriented Analysis Methodology and Design Principle

[- Disclaimer -] 아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
객체 지향 분석 방법론 - Rumbaugh (=OMT, Object-Modeling Technique)
✦ 가장 일반적
✦ 객체 Modeling (=정보 Modeling)
✧ 객체 간 관계 Diagram 표시
✦ 동적 Modeling
✧ 시간 흐름에 따른 객체 행위 표시
✦ 기능 Modeling
✧ DFD를 이용해 다수 프로세스 간 자료 흐름 기준으로 표시
객체 지향 분석 방법론 - Booch
✦ 미시적(Micro) 개발 프로세스 + 거시적(Macro) 개발 프로세스
✦ Class와 객체들 분석 및 식별, Class 속성 및 연산
객체 지향 분석 방법론 - Jacobson
✦ Use Case 사용
✧ 사용자, 외부 시스템, 타요소들 <-> 시스템 간 상호 작용하는 방법 설명
객체 지향 분석 방법론 - Code와 Yourdon
✦ E-R Diagram으로 객체 행위 모델링
✦ 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연결과 메세지 연결 정의 등
객체 지향 분석 방법론 - Wirfs-Brock
✦ 분석 <-> 설계 간 구분 없음
✦ 고객 명세서를 평가해 설계 작업까지 연속 수행
SOLID (=객체 지향 설계 원칙)
✦ SRP (=Single Responsibility Principle, 단일 책임 원칙)
✧ 객체는 단 하나의 책임만 가져야 함
✧ 응집도 높음, 결합도 낮음
✦ OCP (=Open-Closed Principle, 개방-폐쇄 원칙)
✧ 기존 Code 변경없이 새 기능 추가 가능해야 함
✧ Ex) 공통 Interface를 하나의 Interface로 묶어 캡슐화
✦ LSP (=Liskov Substitution Principle, 리스코프 치환 원칙
✧ Child Class에서 최소한 Parent Class에서 가능한 행위의 수행이 가능해야 함
✧ Child Class는 Parent Class의 책임 무시 및 재정의 금지, 확장만 가능
✦ ISP (=Interface Segregation Principle, 인터페이스 분리 원칙)
✧ 미사용 Interface와 의존 관계를 맺지않고 영향 받지 않아야 함
✦ DIP (=Dependency Inversion Principle, 의존 역전 원칙)
✧ 객체 간 의존 관계 성립 시 추상성 높은 Class와 의존 관계를 맺어야 함
✧ Interface 활용 시 통상 해당 원칙 준수 됨