객체지향 분석(Object Oriented Analysis)
- 사용자의 요구사항과 관련된 객체,속성, 연산,관계 등을 정의, 모형화(특히 클래스 식별 이 주 목적)
- SW 개발 위한 비즈니스 객체와 속성. 클래스와 멤버, 전체와 부분 등으로 나누어 분석
객체지향 분석 방법론 개정 전 기출, 20년 1, 2회 기출
▶ Coad와 Yourdon 방법 20년 3회 필기
-E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성
▶ Booch 방법
-미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법
- 클래스, 객체들의 분석 및 식별, 클래스와 속성 연산 정의
- 절차지향 프로그램: 동사, OOP: 명사
▶ Jacobson 방법
-유스케이스(Use Case, 사용사례)를 강조하여 사용하는 분석 방법
▶ Wirfs-Brocks 방법
-분석과 설계 간의 구분이 없음
- 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 분석 방법
▶ 럼바우(Rumbaugh) 20년 1, 2, 3, 4회
- ER 다이어그램 사용하여 객체 행위 모델링
- 객체, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 구성
- 순서 #객동기
(1) 객체/정보 모델링: 객체 다이어그램
(2) 동적 모델링: 상태도 (상태 다이어그램) 시스템 행위 기술
(3) 기능 모델링: 자료 흐름도 처리과정
- 입출력 결정- DFD – 기능의 내용 기술 – 제약 사항 결정,최소화)
객체지향 설계
변경, 확장에 유연한 시스템을 설계하기 위한 원칙
1) 객체지향 설계 원칙 #SOLID 20년 3회 기출
- 단일 책임 원칙(Single Responsibility Principle,SRP)
- 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 함
- 개방-폐쇄 원칙(Open-ClosedPrinciple, OCP)
- 기존의 코드를 변경하지 않고(Closed), 기능을 수정하거나 추가할 수 있도록(Open) 설계해야 함( 확장에 open, 변경에 closed)
- 리스코프 치환 원칙(Liskov Substitution Principle,LSP)
- 서브타입(상속 받은 하위/자식 클래스)은 어디에서나 자신의 기반타입(상위/부모클래스)으로 교체할 수 있어야 함
- 인터페이스 분리 원칙 (Interface Segregation Principle,ISP)
- 클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 맺지 않음
- 클라이언트가 사용하지 않는 기능(인터페이스)에는 영향을 받지 않아야 함
- 의존 역전 원칙(Dependency Inversion Principle,DIP)
- 의존 관계를 맺을 때, 변화하기 쉬운 것보단 변화하기 어려운 것에 의존해야 한다는 원칙
2) 객체지향 개발 단계 #분설구테
1 분석: 객체 이름, 상태, 행위들의 개념적 파악 ,객체들의 상관관계 분석
2 설계: 객체 속성, 연산 정의, 접근 방법 구체화 (객체 ->클래스, 상관관계 ->상속)
- 시스템 기술서 객체(명사), 연산(동사),객체 서비스(동사)
- 문제 정의 – 요구 명세화 – 객체 연산자 정의 – 객체 인터페이스 결정 – 객체 구현
3 구현: OOP (분석, 설계ㅔ,구현 단계 사이의 의미적 갭 적음)
4 테스트: 클래스 단위 & 시스템 테스트
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]1. 소프트웨어 설계/인터페이스 설계/인터페이스 방법 명세화 (0) | 2021.08.11 |
---|---|
[정보처리기사]1. 소프트웨어 설계/인터페이스 구현/미들웨서 솔루션 (0) | 2021.08.11 |
[정보처리기사]1.소프트웨어 설계/인터페이스 설계/인터페이스 (0) | 2021.08.10 |
[정보처리기사]1. 소프트웨어 설계/애플리케이션 설계/코드 (0) | 2021.08.10 |
[정보처리기사]1.소프트웨어 설계/애플리케이션 /디자인 패턴 (0) | 2021.08.10 |