정처기

정처기 1과목 3장 소프트웨어 설계 주요 개념 정리

수연정 2024. 1. 31. 18:27

모듈화

-기능들을 모듈 단위로 나누기

-인터페이스 단순화

-오류의 파급효과

 

소프트웨어 아키텍쳐 설계과정

-설계목표 설정 => 시스템 타입 결정 => 아키텍쳐 패턴 적용 => 서브시스템 구체화 => 검토

 

파이프-필터 패턴

-파이프를 통해 데이터 전송

-오버헤드 바생

 

객체

-데이터와 메소드를 묶어놓음(캡슐화)

 

메시지

-명령

 

클래스

-객체들의 집합

-데이터 추상화 단위

 

캡슐화

-데이터와 메소드를 하나로 묶는것을 의미한다.

 

상속

-상위 클래스의 모든 연산과 속성을 물려줌

 

다형성

-오버로딩(매개변수)

-오버라이딩(메소드)

 

객체지향 분석 방법론

1. coad와 yourdon방법

-객체지향 분석

-E-R 다이어그램을 사용하여 객체의 행위를 모델링

2.럼바우의 분석 기법

-객체 모델링=> 동적모델링 => 기능 모델링

-객체 모델링 : 객체 찾아서 관계 규정

-동적 모델링 : 시간의 흐름

-기능 모델링 : 자료의 흐름

 

객체지향 설계 원칙

-SRP

-OCP

-LSP

-ISP

-DIP

 

결합도

-자료<스탬프 <제어 <외부 < 공통 < 내용

-자료 : 인터페이스, 자료 '요소'

-스탬프 : 인터페이스. 자료 '구조'

-제어 : 논리적인 흐름, 제어흐름

-외부 : 데이터 참조

-공통 : 공통 데이터

-내용 : 내부 기능, 참조 or 수정

 

응집도의 종류

-우연적<논리적<시간적<절차적<교환적<순차적<기능적

-우연적 : 관련 없는 요소

-논리적 : 처리 요소, 하나의 모듈

-시간적 : 특정 시간

-절차적 : 순차적

-교환적 : 동일한 입력과 출력, 다른 기능

-순차적 : 출력 데이터, 입력데이터

-기능적 : 기능 요소

 

디자인 패턴

-생성패턴

-구조 패턴

-행위 패턴

 

생성패턴의 종류

-추상 팩토리 : 구체적인 클래스에 의존 하지않고, 인터페이스를 통해 서로 연관,의존하는 객체들의 그룹으로 변환

-빌더 : 인스턴스를 조합

-팩토리 메소드 : 객체 생성을 서브클래스에서

-프로토타입 : 원본 객체 복사

-싱글톤 : 하나의 객체를 어디서든 참조, 동시 참조 불가능

 

구조 패턴의 종류

-어댑터 : 호환성

-브리지 : 독립적으로 확장

-컴포지트 : 복합 객체, 단일 객체

-데코레이터 : 부가적

-퍼싸드 : 상위 간편

-플라이웨이트 : 인스턴스 공유

-프록시 : 접근 어려운 객체

 

행위패턴의 종류

-책임 연쇄 : 요청 처리

-커맨드 : 요청을 객체

-인터프리터 : 문법

-반복자 : 동일한 인터페이스

-중재자 : 상호작용 캡슐화

-메멘토 : 되돌리기

-옵서버 : 상태 변화

-상태 : 동일한 동작을 다르게

-전략 : 동일한 계열 알고리즘

-템플릿 메소드 : 상위 골격

-방문자 : 데이터 구조, 처리기능 분리