정처기 1과목 3장 소프트웨어 설계 주요 개념 정리
모듈화
-기능들을 모듈 단위로 나누기
-인터페이스 단순화
-오류의 파급효과
소프트웨어 아키텍쳐 설계과정
-설계목표 설정 => 시스템 타입 결정 => 아키텍쳐 패턴 적용 => 서브시스템 구체화 => 검토
파이프-필터 패턴
-파이프를 통해 데이터 전송
-오버헤드 바생
객체
-데이터와 메소드를 묶어놓음(캡슐화)
메시지
-명령
클래스
-객체들의 집합
-데이터 추상화 단위
캡슐화
-데이터와 메소드를 하나로 묶는것을 의미한다.
상속
-상위 클래스의 모든 연산과 속성을 물려줌
다형성
-오버로딩(매개변수)
-오버라이딩(메소드)
객체지향 분석 방법론
1. coad와 yourdon방법
-객체지향 분석
-E-R 다이어그램을 사용하여 객체의 행위를 모델링
2.럼바우의 분석 기법
-객체 모델링=> 동적모델링 => 기능 모델링
-객체 모델링 : 객체 찾아서 관계 규정
-동적 모델링 : 시간의 흐름
-기능 모델링 : 자료의 흐름
객체지향 설계 원칙
-SRP
-OCP
-LSP
-ISP
-DIP
결합도
-자료<스탬프 <제어 <외부 < 공통 < 내용
-자료 : 인터페이스, 자료 '요소'
-스탬프 : 인터페이스. 자료 '구조'
-제어 : 논리적인 흐름, 제어흐름
-외부 : 데이터 참조
-공통 : 공통 데이터
-내용 : 내부 기능, 참조 or 수정
응집도의 종류
-우연적<논리적<시간적<절차적<교환적<순차적<기능적
-우연적 : 관련 없는 요소
-논리적 : 처리 요소, 하나의 모듈
-시간적 : 특정 시간
-절차적 : 순차적
-교환적 : 동일한 입력과 출력, 다른 기능
-순차적 : 출력 데이터, 입력데이터
-기능적 : 기능 요소
디자인 패턴
-생성패턴
-구조 패턴
-행위 패턴
생성패턴의 종류
-추상 팩토리 : 구체적인 클래스에 의존 하지않고, 인터페이스를 통해 서로 연관,의존하는 객체들의 그룹으로 변환
-빌더 : 인스턴스를 조합
-팩토리 메소드 : 객체 생성을 서브클래스에서
-프로토타입 : 원본 객체 복사
-싱글톤 : 하나의 객체를 어디서든 참조, 동시 참조 불가능
구조 패턴의 종류
-어댑터 : 호환성
-브리지 : 독립적으로 확장
-컴포지트 : 복합 객체, 단일 객체
-데코레이터 : 부가적
-퍼싸드 : 상위 간편
-플라이웨이트 : 인스턴스 공유
-프록시 : 접근 어려운 객체
행위패턴의 종류
-책임 연쇄 : 요청 처리
-커맨드 : 요청을 객체
-인터프리터 : 문법
-반복자 : 동일한 인터페이스
-중재자 : 상호작용 캡슐화
-메멘토 : 되돌리기
-옵서버 : 상태 변화
-상태 : 동일한 동작을 다르게
-전략 : 동일한 계열 알고리즘
-템플릿 메소드 : 상위 골격
-방문자 : 데이터 구조, 처리기능 분리