정보처리기사 필기시험을 대비해서 1과목 소프트웨어 설계를 인프런 강의를 보면서 정리한 포스트입니다. 틀린 부분이 있을 수도 있습니다.
인프런 강의 🔽
[지금 무료]정보처리기사 자격증 대비 교육(필기)| 국립안동대학교 SW융합교육원 - 인프런 강의
현재 평점 4.9점 수강생 1,480명인 강의를 만나보세요. NCS개정 정보처리기사 필기 합격을 위한 핵심요약 특강으로 CBT 필기시험과 필답형 실기시험을 효율적으로 학습 할수 있습니다. NCS 학습모듈,
www.inflearn.com
1과목 내용 정리
1. 요구사항 확인
2. 화면 설계
3. 애플리케이션 설계
4. 인터페이스 설계
* 소프트웨어 설계에서 매회 출제되는 건 CASE, 애자일, UML 다이어그램, 럼바우 객체지향 분석 기법이라고 합니다. 참고해주세요!
0. 소프트웨어 생명주기 (SDLC: Software Development Life Cycle)
소프트웨어 제품의 개념 형성에서 시작, 운영/유지보수에 이르기까지 변화의 모든 과정
타당성 검토 => 개발 계획 => 요구사항 분석 => 설계 => 구현(코딩) =>테스트 => 운용 => 유지보수
전통적인 개발 모형 (5과목에서 1~2문제 정도 출제된다고 한다)
- 폭포수 모형 : 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 다음단계 진행, 요구사항 반영 어려움
- 나선형 모형 : 점진적으로 완벽한 최종 소프트웨어 개발 목적 (유지보수단계를 없애고 위험 분석을 한다)
- 프로토타입 모형 : 시제품으로 견본이라고 생각하면 된다 사용자에게 중간 단계를보여주는 것

🌟1. CASE(Computer Aided Software Engineering)
소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용의 소프트웨어 도구를 사용하여 자동화하는 작업이다. 자동화 도구
- 소프트웨어 생명주기의 전체 단계를 연결해주고 자동화시켜주는 통합된 도구를 제공해주는 기술이다.
- 소프트웨어 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
- 자료 흐름도 등의 다이어그램을 쉽게 작성하게 해주는 소프트웨어 CASE 도구이다
- 표준화된 개발 환경구축 및 문서 자동화 기능을 제공한다
- 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대 시킨다.
- 다양한 소프트웨어 개발 모향을 지원한다.
- 소프트웨어 모듈의 재사용성이 향상된다
즉 개발자들이 개발 단계에서 사용되는 노력을좀 줄이고 일반화하기위해 사용되는 것
CASE의 원천 기술
- 구조적 기법
- 프로토타이핑 기술
- 자동프로그래밍 기술
- 정보저장소 기술
- 분산처리 기술
상위 CASE
- 계획 수립, 요구 분석, 기본 설계 단계를 다이어그램으로 표현
- 모델들 사이의 모순 검사 및 모델의 오류 검증, 일관성 검증 지원
- 자료 흐름도 프로토타이핑 작성 지원 및 UI 설계 지원
하위 CASE
- 구문 중심 편집 및 정적, 동적 테스트 지원
- 시스템 명세서 생성 및 소스 코드 생성 지원
🌟2. 애자일(Agile)
날렵한, 재빠른의 의미로 소프트웨어 개발 중 설계 변경에 신속히 대응하여 요구사항을 수용할 수 있다
- 절차와 도구보다 개인과의 소통을 중요시하고 고객과의 피드백을 중요시한다
- 소프트웨어가 잘 실행되는데 가치를 둔다
- 소프트웨어 배포 시차를 최소화할 수 있다
- 고객과의 협업에 초점
- 짧은 릴리즈와 반복, 점증적 설계, 사용자 참여, 문서 최소화, 비공식적인 커뮤니케이션 변화

3. 익스트림 프로그래밍(XP: eXtreme Programming)
애자일 방법론 중 하나이다. 요구에 맞는 양질의 소프트웨어를 신속하게 제공하는 것 목표
- 요구 사항을 모두 정의해 놓고 작업하는 것이 아닌 요구사항이 변경되는것을적용하는 방식으로 예측성보다는 적응성에 더 높은 가치를 부여한 방법이다.
- 고객의 참여와 개발과정의 반복을 극대화하여 생산성을 향상시키는 방법
XP의 핵심 가치
- 의사소통
- 단순성
- 용기
- 존중
- 피드백
4. 요구사항 분석
요구사항 간 상충되는 것을 해결하고 소프트웨어 범위를 파악한다.
- 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화하는 활동을 의미한다.
- 소프트웨어 개발의 실제적인 첫 단계이다.
- 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다.
- 성능,보안,품질,안정 등에 대한 요구사항은 비기능적 요구사항에 해당한다.
요구사항개발 프로세스
도출 => 분석 => 명세 => 확인
🌟5. UML 다이어그램
UML: 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
UML 기본 구성요소 : 사물, 관계, 다이어그램
| 구성 | 내용 |
| 사물 | 객체 지향 모델을 구성하는 기본 요소 객체 간의 관계 형성 대상 |
| 관계 | 객체간의 연관성을 표현하는 것 (연관, 집합, 포함, 일반화, 의존, 실체화) |
| 다이어그램 | 객체 관계를 도식화한 것 정적 모델 - 구조 다이어그램 동적 모델 - 행위 다이어그램 |
UML 다이어그램의 분류
1. 구조적(정적) 다이어그램
- 클래스 다이어그램(Class Diagram)
- 객체 다이어그램 (Object Diagram)
- 컴포넌트 다이어그램 (Component Diagram)
- 배치 다이어그램 (Deployment Diagram)
- 복합체 구조 다이어그램 (Composite Structure Diagram)
- 패키지 다이어그램( Package Diagram)
2. 행위 (동적) 다이어그램
- 유스케이스 다이어그램(Use Case Diagram)
- 순차 다이어그램 (Sequence Diagram)
- 커뮤니케이션 다이어그램 (Communication Diagram)
- 상태 다이어그램 (State Diagram)
- 활동 다이어그램(Activity Diagram)
- 상호작용 개요 다이어그램(Interaction Overview Diagram)
- 타이밍 다이어그램 (Timing Diagram)
6. 유스케이스의 구성 요소 간의 관계
- 연관 관계(Association) : 유스케이스와 액터간의 상호 작용이 있음을 표현하는 관계
- 포함 관계(Include) : 하나의 유스케이스가 다른 유스케이스의 실행을전제로 할 때 형성되는 관계
- 확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계
- 일반화 관계(Generalization): 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터와 연결해 그룹을 만들어 이해도를 높이기 위한 관계
🌟7. 럼바우 객체지향 분석 기법 (Rumbaugh)
- 객체 모델링 : 정보 모델링이라고도 한다. 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체 간의 관계를 규정하여 객체를 다이어그램으로 표시한다.
- 동적 모델링 : 제어 흐름, 상호 작용, 동작 순서 등의 상태를 시간 흐름에 따라 상태 다이어그램으로 표시한다.
- 기능 모델링 : 자료 흐름도를 이용하여 여러 프로세스 간의 자료 흐름을 표시한다. 어떤 데이터를 입력하여 어떤 결과를 가져올 수 있을지를 표현하다.
8. UI 설계 원칙과 설계 지침
UI 설계 원칙
- 직관성
- 유효성
- 학습성
- 유연성
UI 설계 지침
- 사용자 중심
- 일관성
- 단순성
- 가시성
- 표준화
- 접근성
- 결과 예측 가능
- 명확성
- 오류 발생 해결
UI 설계에 도움을 주는 도구
- 1. 와이어 프레임
- 2. 목업 (실물과 흡사한 정적인 모형)
- 3. 프로토타입
- 4. 스토리보드
'{etc} > qualifications' 카테고리의 다른 글
| [정보처리기사] 3과목 데이터베이스 구축 정리 및 요약 (1) (1) | 2026.01.20 |
|---|---|
| [정보처리기사] 2과목 소프트웨어 개발 정리 및 요약 (2) (0) | 2026.01.20 |
| [정보처리기사] 2과목 소프트웨어 개발 정리 및 요약 (1) (1) | 2026.01.19 |
| [정보처리기사] 1과목 소프트웨어 설계 정리 및 요약(2) (1) | 2026.01.17 |
| 제 53회 SQLD 합격 시험 후기, 공부법 (4) | 2024.06.20 |