1) 자료 흐름도(DFD; Data Flow Diagram) ★★ __ 개정 전 기출문제, 1, 2, 3회 기출문제
#PTSD → Process, Terminator, Data Store, Data Flow
2) UML 확장 모델의 스테레오 타입 객체 표현 기호 __ 20년 1, 2회 기출문제
# << >>
3) 자료 사전 기호 __ 개정 전 기출문제, 20년 1, 2, 3회 기출문제
기호 |
의미 |
= |
자료의 정의: ~로 구성되어 있다(is composed of) |
+ |
자료의 연결: 그리고(and) |
( ) |
자료의 생략: 생략 가능한 자료(Optional) |
[ | ] |
자료의 선택: 또는(or) |
{ } |
자료의 반복: 자료 반복(Iteration of) |
* * |
자료의 설명: 주석(Comment) |
4) 객체지향 기법에서 클래스들 사이의 '부분-전체(part-whole)'관계 또는 '부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어는? __ 20년 1, 2회 기출문제
① 일반화 ② 추상화 ③ 캡슐화 ④ 집단화
① 일반화(Generalization)
일반화는 객체들에 있어 공통적인 성질들을 상위 객체로 정의하고, 특수화(specialization)된 객체들을 하위의 부분형(subtype) 객체로 정의하는 추상화 방법이다.
② 추상화(Abstraction)
현실 세계의 물체를 객체에 사상할 때에는 현실을 그대로 객체로서 표현하는 것이 아니고, 문제의 중요한 측면, 혹은 주목하고 싶은 문제의 측면을 강조한다. 즉, 불필요한 부분을 생략하고 객체의 가장 중요한 것에만 중점을 두어 간략화 시킨 것을 말한다.
③ 캡슐화(Encapsulation)
객체의 자료와 행위를 하나로 묶고, 실제 구현 내용을 외부에 감추는 것을 캡슐화라고 한다. 이렇게 캡슐화 된 객체의 행위는 외부에서 볼 때는 실제가 아닌 추상적인 것이 되므로 정보 은닉(information hiding)개념이 지켜진다.
+ 정보 은닉은 객체가 캡슐화를 통하여 내부의 데이터나 오퍼레이션의 구현 내용을 감추는 것을 말한다. 즉, 외부에서의 무분별한 접근을 허용하지 않는다는 것이다.
④ 집단화(Aggregation)
집단화는 서로 관련 있는 여러 개의 객체를 묶어 한 개의 상위 객체를 만드는 것이다. 집단화는 여러 개의 속성을 묶어 사용자 정의형의 엔티티를 만드는 수단으로 사용한다. 한 객체에서 하나 이상의 객체는 사용자 표정의 형이 될 때 복합 객체(composite object)라고 불린다. 즉, 집단화는 복합 객체의 종속 성분을 모델링하기 위해 사용되며, 이들 복합 성분 클래스 관계를 통해 복합 속성 계층(composite attribute hierarchy)을 형성한다.
5) HIPO(Hierarchy Input Process Output) __ 개정 전 기출문제, 20년 1, 2회 기출문제
- 하향식 소프트웨어 개발을 위한 문서화 도구
- HIPO 차트 종류: 가시적 도표, 총체적 도표, 세부적 도표
- 기능과 자료의 의존 관계를 동시에 표현할 수 있음
- 보기 쉽고 이해하기 쉬움
6) 객체지향 분석 방법론 __ 개정 전 기출문제, 20년 1, 2회 기출문제
▶ Coad와 Yourdon 방법 ★
-E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것
▶ Booch 방법
-미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법
▶ Jacobson 방법
-유스케이스(Use Case, 사용사례)를 강조하여 사용하는 분석 방법
▶ Wirfs-Brocks 방법
-분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 분석 방법
7) UML의 시퀀스 다이어그램의 구성 항목 __ 20년 3회 기출문제
- 생명선(Life line)
- 실행(Activation, 활성 박스)
- 메시지(Message)
#생실메
8) 객체지향 설계 원칙 ★ __ 개정 전 기출문제, 20년 3회 기출문제
원칙 |
설명 |
SRP, 단일 책임 원칙 (Single Responsibility Principle) |
소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 함 |
OCP, 개방-폐쇄 원칙 (Open-Closed Principle) |
기존의 코드를 변경하지 않고(Closed), 기능을 수정하거나 추가할 수 있도록(Open) 설계해야 함 |
LSP, 리스코프 치환 원칙 (Liskov Substitution Principle) |
서브타입(하위 클래스, 자식 클래스)은 어디에서나 자신의 기반타입(상위 클래스, 부모클래스)으로 교체할 수 있어야 함 |
ISP, 인터페이스 분리 원칙 (Interface Segregation Principle) |
한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 않아야 함 → 자신이 사용하지 않는 기능(인터페이스)에는 영향을 받지 않아야 함 |
DIP, 의존 역전 원칙 (Dependency Inversion Principle) |
의존 관계를 맺을 때, 변화하기 쉬운 것보단 변화하기 어려운 것에 의존해야 한다는 원칙 |
#SOLID
9) 디자인 패턴 구성요소 __ 20년 3회 기출문제
구성요소 |
설명 |
패턴의 이름과 구분 |
패턴을 부를 때 사용하는 이름과 패턴의 유형 |
문제 및 배경 |
패턴이 사용되는 분야 또는 배경, 해결하는 문제를 의미 |
솔루션 |
패턴을 이루는 요소들, 관계, 협동(Collaboration) 과정 |
사례 |
간단한 적용 사례 |
결과 |
패턴을 사용하면 얻게 되는 이점이나 영향 |
샘플코드 |
패턴이 적용된 원시코드(Source Code) |
#패문솔 사결샘
10) DBC(Design by Contract, 계약에 의한 설계) __ 20년 3회 기출문제
- 프로그램 모듈들의 책임을 문서화하는데 초점을 맞춤
- 각각의 모듈이 가져야 하는 기능만큼만 동작하도록 함
- 위의 개념들을 문서화하고 검증하는 것이 핵심임
11) CASE(Computer-Aided Software Engineering) 도구 __ 20년 3, 4회 기출문제
- 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구
- 표준화된 개발 환경 구축 및 문서 자동화 기능 제공
- 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션 증대
주요기능: S/W 라이프 사이클 전 단계의 연결, 그래픽 지원, 다양한 소프트웨어 개발 모형 지원
'정보처리기사 필기 총정리 > 1과목: 소프트웨어 설계' 카테고리의 다른 글
1과목 추가 정리: 수제비 ★★★ (0) | 2020.09.30 |
---|---|
미들웨어 솔루션 명세 ★★ (0) | 2020.09.30 |
인터페이스 방법 명세화 ★★ (0) | 2020.09.30 |
인터페이스 ★ (0) | 2020.09.30 |
인터페이스 요구사항 검증 ★ (0) | 2020.09.30 |
댓글