728x90
반응형
📖 참고
2025 시나공 기출문제집 정보처리기사 필기 요약 pdf
2025년도 정보처리기사 시험일정
📂 정보처리기사 필기 1과목 소프트웨어 설계
01. [필기 | 소프트웨어 설계] 소프트웨어 생명 주기 모형
02. [필기 | 소프트웨어 설계] 스크럼과 XP
03. [필기 | 소프트웨어 설계] 현행 시스템 파악 / 데이터베이스 관리 시스템(DBMS) / 웹 에플리케이션 서버(AWS)
04. [필기 | 소프트웨어 설계] 요구사항 정의
05. [필기 | 소프트웨어 설계] 요구사항 분석
06. [필기 | 소프트웨어 설계] UML(Unified Modeling Language)
07. [필기 | 소프트웨어 설계] 사용자 인터페이스(UI)
08. [필기 | 소프트웨어 설계] 품질 요구사항
09. [필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계
10. [필기 | 소프트웨어 설계] 패턴
11. [필기 | 소프트웨어 설계] 객체와 클래스
12. [필기 | 소프트웨어 설계] 객체지향
13. [필기 | 소프트웨어 설계] 모듈
14. [필기 | 소프트웨어 설계] 코드
15. [필기 | 소프트웨어 설계] 디자인 패턴
16. [필기 | 소프트웨어 설계] 시스템 연계
✏️ 객체지향 분석의 방법론
럼바우(Rumbaugh) 방법
- 가장 일반적으로 사용되는 방법으로, 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행
- 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법으로, 객체 모델링기법(OMT, Object-Modeling Technique)라고도 함
- 분석 활동은 '객체 모델링 > 동적 모델링 > 기능 모델링' 순
객체 모델링 (Object Modelign) |
정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 객체 다이어그램으로 표시하는 것 |
동적 모델링 (Dynamic Modeling) |
상태 다이어그램을 이용하여 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링 |
기능 모델링 (Functional Modeling) |
자료 흐름도(DFD)를 이용하여 다수의 프로세스들간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링 |
부치(Booch) 방법
- 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고, 클래스의 속성과 연산을 정의
Jacobson 방법
- Use Case를 강조하여 사용하는 분석
Coad와 Yourdon 방법
- E-R 다이어그램을 사용하여 객체의 행위를 모델링
- 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메세지 연결 정의 등의 과정으로 구성하는 기법
Wirfs-Brock 방법
- 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
✏️ 객체지향 설계 원칙
시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할 다섯가지 원칙으로, 다섯가지 원칙의 앞 글자를 따 SOLID 원칙이라고도 불림
단일 책임 원칙(SRP, Single Responsibility Principle)
- 객체는 단 하나의 책임만 가져야 한다는 원칙
개방-폐쇠 원칙(OCP, Open-Closed Principle)
- 기존의 코드를 변경하지 않고, 기능을 추가할 수 있도록 설계해야 한다는 원칙
리스코프 치환 원칙(LSP, Liskov Substitution Principle)
- 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다는 설계 원칙
인터페이스 분리 원칙(ISP, Interface Segregation Principle)
- 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 원칙
의존 역전 원칙(DIP, Dependency Inversion Principle)
- 각 객체들 간의 의존 관계가 성립될 때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙
728x90
반응형
'연구원생활' 카테고리의 다른 글
[머신러닝] 머신러닝이란? (0) | 2025.03.13 |
---|---|
[SQL] 내가 들은 음악 결산 - 실습 설명 (0) | 2025.03.13 |
[필기 | 소프트웨어 설계] 객체와 클래스 (0) | 2025.03.12 |
[필기 | 소프트웨어 설계] 패턴 (1) | 2025.03.11 |
[필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계 (0) | 2025.03.11 |