정보처리기사 필기시험을 대비해서 1과목 소프트웨어 설계를 인프런 강의를 보면서 정리한 포스트입니다. 틀린 부분이 있을 수도 있습니다.
인프런 강의 🔽
[지금 무료]정보처리기사 자격증 대비 교육(필기)| 국립안동대학교 SW융합교육원 - 인프런 강의
현재 평점 4.9점 수강생 1,481명인 강의를 만나보세요. NCS개정 정보처리기사 필기 합격을 위한 핵심요약 특강으로 CBT 필기시험과 필답형 실기시험을 효율적으로 학습 할수 있습니다. NCS 학습모듈,
www.inflearn.com
1과목 소프트웨어 설계 정리 (1) 포스트
[정보처리기사] 1과목 소프트웨어 설계 정리 (1)
정보처리기사 필기시험을 대비해서 1과목 소프트웨어 설계를 인프런 강의를 보면서 정리한 포스트입니다. 틀린 부분이 있을 수도 있습니다. 인프런 강의 🔽 [지금 무료]정보처리기사 자격증 대
studycodinging.tistory.com
1과목은 기출문제 출제빈도가 높은 편
9. 소프트웨어 모델링 (설계)
현실 세계에 존재하는 데이터를 추상화하여 컴퓨터 세계로 옮기는 변환 과정이다.
- 모델링 작업의 결과물은 다른 모델링에 영향을 준다.
- 개념적 모델링과 논리적 모델링으로 구분된다.
- 데이터 모델링의 결과물을 데이터 모델이라고 한다.
- 전 단계에 걸쳐서 모델링 기법을 활용한다.
구조적 방법론
DFD, DD 등을 사용하여 요구사항의 결과를 표현한다. 정형화된 분석 절차에 따라 사용자 요구 사항을 파악하여 문서화하는 체계적인 분석이론
객체 지향 방법론
UML 표기법을 사용한다.
10. 자료 흐름도 (DFD:Data Flow Diagram)
자료는 처리를 거쳐 변환될 때마다 새로운 명칭을 부여해야한다. 절차적인 프로그램을 위한 자료 흐름도는 프로세스 위주의 모델링 방법이다. (데이터의 흐름파악 가능)
- 자료 흐름도의 최하위 처리(Process)는 소단위 명세서를 갖는다.
- 어떤 처리(Process)가 출력 자료를 산출하기 위해서는 필요한 자료가 반드시 입력 되어야한다.
- 시스템이나 프로그램 간의 총체적인 데이터흐름을 표시할 수 있으며, 기본적인 데이터 요소와 그들 사이의 데이터 흐름 형태로 기술된다.
- 다차원적이며 자료흐름 그래프 또는 버블 차트라고도 한다
- 구조적 분석 기법에 사용된다.
- 그림 중심의 표현이고 하향식 분할 원리를 적용한다.
자료 흐름도의 구성요소
- Process 처리
- Data Flow 흐름
- Data Store 저장소
- Terminator 단말

11. 데이터 사전 (DD, 자료사전 Data Dictionary)
자료사전
- 시스템 자신이 필요로 하는 여러 가지 객체(기본 테이블, 뷰, 인덱스, 데이터베이스, 패키지, 접근권한 등)에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.
- 시스템 카탈로그 (system catalog), 메타 데이터(meta data)라고도 한다.
- 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL문을 이용하여 내용 검색이 가능하다.
- 데이터 사전에 있는 데이터에 실제로 접근하는데 필요한 위치 정보는 데이터 디렉터리라는 곳에서 관리한다.
- 일반 사용자가 참조할 수는 있지만 생성, 유지 및 수정할 수는 없다. DBMS가 자동으로 관리한다.
자료 사전 표기법
- = : 자료의 정의
- + : 자료의 연결
- ( ) : 자료의 생략
- [ | ] : 자료의 선택
- { } : 자료의 반복
- **: 자료의 설명
- | : 대체 항목 나열

🌟12. 응집도, 결합도 그리고 효과적인 모듈 설계
응집도(Cohesion) (응집도가 높을 수록 독립성을 제공)
- 한 모듈 내에 있는 처리 요소들 사이의 기능적인 연관 정도를 나타낸다.
- (높음) 기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적응집도 > 논리적 응집도> 우연적 응집도 (낮음)
결합도 (결합도가 낮을 수록 독립성을 제공)
- 모듈들이 변수를 공유하지 않도록 결합도를 낮추어야 한다.
- (낮음) 데이터 결합도 < 스탬프결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도 (높음)
효과적인 모듈화 설계 방법
- 응집도는 강하게 결합도는 약하게 설계한다.
- 복잡도와 중복성을 줄이고 일관성을 유지할 수 있도록 설계한다.
- 유지보수가 용이하도록 설계한다.
- 모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운크기로 설계한다.
- 모듈 기능은 예측이 가능해야하며 지나치게 제한적이어서는 안된다.
모듈설계는 독립성을 높이기 위해서 사용한다.
13. 객체지향/캡슐화
객체지향(Object Oriented) 분석
- 현실 세계의 대상체인 개체(Entity)를 속성(Attribute)과 메소드(Method)로 결합하여 객체(Object)로 표현(모델링)한다.
- 소프트웨어 개발의 대상을 기능이 아닌 개체를 대상으로 하여 개체 간의 상호관계를 모델링하는방식
캡슐화(Encapsulation)
- 서로 관련성이 높은 데이터(속성)와 그와 관련된 기능(메소드, 함수)을 묶는 기법이다.
- 결합도가 낮아져 소프트웨어 개발에 있어 재사용성이 높아진다.
- 정보 은닉을 통하여 타 객체와 메세지 교환 시 인터페이스가 단순해진다.
14. 객체지향의 구성 요소와 설계 원칙
객체지향의 구성 요소
- 클래스(class) : 유사한 객체를 정의한프로그램. 객체지향 프로그램에서 데이터를 추상화하는 단위
- 객체 (object) : 데이터와 함수를 묶어서 캡슐화한 것
- 속성 (Attribute) : 객체가 가지고 있는 데이터 값
- 메소드 (Method) : 객체의 행위인 함수
- 메세지 (Message) : 객체 간에 서로 주고받는통신을 의미한다.
클래스에 속한 인스턴스를 객체라고 한다.
객체지향 설계 원칙 (SOLID)
- 단일 책임의 원칙
- 개방-폐쇄의 원칙
- 리스코프 치환 원칙
- 인터페이스 분리 원칙
- 의존 역전 원칙

15. CBD (Component Based Development)
재사용이 가능한 컴포넌트의 개발 또는 상용 컴포넌트들을 조합하여 애플리케이션 개발 생산성과 품질을 높이고, 시스템 유지보수 비용을 최소화할 수 있는 개발 방법 프로세스이다.
- 컴포넌트 단위의 개발 및 조립을 통하여 정보시스템의 신속한 구축 변경 확장의 용이성과 타 시스템과의 호환성을 달성하고자 하는소프트웨어 공학 프로세스, 방법론 및 기술의 총체적 개념이다.
🌟16. GoF(Gang of Fout) 디자인 패턴
- 구조 : Adapter , Brdge, Composite, Decorator, Facade, Flyweight, Proxy
- 행위: Chain of Responsibility, Iterator, Command, Interpreter, Memento, Observer, State, Strategy, Visitory, Template Method, Mediator
- 생성: Facotry Method, Singleton, Prototype, Builder, Abstraction Factory

디자인 패턴을 사용할 때의 장단점

디자인 패턴의 특징
- 자주 사용하는 설계 형태를 정형화하여 유형별로 설계 탬플릿을 만들어 두고 소프트웨어 개발 중 나타나는 과제를 해결하기 위한 방법 중 한 가지 이므로 개발 프로세스를 무시할 수 없다.
17. 요구사항 검토기법
요구사항 검토 기법
- 프로토타이핑
- 테스트설계
- CASE

요구사항 검증 방법
- 동료검토 : 작성자가 명세서 내용을 직접 설명하면서 결함을 발견함
- 워크스루 : 미리 배포한 명세서를 사전 검토한 후 결함을 발견함
- 인스펙션 : 작성자를 제외한 다른검토 전문가들이 결함을 발견함

18. 미들웨어
분산 컴퓨팅 환경에서 서로 다른 기종 간을 연결한다.
미들웨어 솔루션의 정의
- DB(Database) : 데이터베이스벤더에서 제공하는 클라이언트와 데이터 베이스를 연결하는 미들웨어. 2-Tier 아키텍처라고한다
- 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어다
- 이기종 하드웨어, 소프트웨어, 네트워크,프로토콜, PC환경, 운영체제환경 등에서 시스템 간의 표준화된 연결을도와주는 소프트웨어이다.
- 표준화된 인터페이스를 통하여 시스템 간의 데이터 교환에 있어 일관성을 제공한다
- 운영체제와 애플리케이션 사이에서 중간 매개 역할을 하는 다목적 소프트웨어다.
미들웨어 솔루션의 유형
- TP-Monitory(Transcation Processing Monitor) : 여러 프로토콜에서 동작하는 세션, 시스템 , 데이터베이스 사이의 트랜잭션 감시하여 일관성있게 보관 유지하는 역할
- ORB(Object Request Broker): 객체 지향 미들웨어
- RPC(Remote Procedure Call) : 응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출
- MOM(Message Oriented Middleware) : 메세지 기반 비동기형 메세지를 전달하는 방식의 미들웨어
- WAS (Web Application Server) :사용자의 요구에 따라 변하는 동적인콘텐츠 처리를 위해 사용되는 미들웨어
19. 인터페이스 보안 기술
IPSec(IP Security Protocol)
- 보안에 취약한 인터넷상에서 안전한 통신을 실현하는
- 가상 전용 회선을 구축하여 데이터를 도청당하는등의 행위를 방지하기 위한 통신 규약이다.
SSL(Secure Sockets Layer)
- 웹 브라우저와 웹 서버 간에 데이터를 안전하게 주고받기 위한 업계 표준프로토콜이다
- 미국 넷스케이프 커뮤니케이션스사가개발했고 마이크로소프트사등 주요 웹 제품 업체가 채택하고 있다
- FTP 등 다른 TCP/IP 애플리케이션에 적용할 수 있다
- 인증 암호화 기능을 제공한다.
'{etc} > qualifications' 카테고리의 다른 글
| [정보처리기사] 3과목 데이터베이스 구축 정리 및 요약 (1) (1) | 2026.01.20 |
|---|---|
| [정보처리기사] 2과목 소프트웨어 개발 정리 및 요약 (2) (0) | 2026.01.20 |
| [정보처리기사] 2과목 소프트웨어 개발 정리 및 요약 (1) (1) | 2026.01.19 |
| [정보처리기사] 1과목 소프트웨어 설계 정리 및 요약 (1) (1) | 2026.01.17 |
| 제 53회 SQLD 합격 시험 후기, 공부법 (4) | 2024.06.20 |