| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- c++ solved.ac
- 유니티
- 백준코테
- 티스토리챌린지
- 바킹독
- unity게임만들기
- 백준코딩테스트
- unity게임
- 유니티공부
- c#기본문법
- 유니티게임만들기
- c#코테
- 백준 구현문제
- 백준 C++
- unity3dservival
- 유니티서바이벌게임만들기
- C#문법
- 백준 c++ 공부
- c#코딩기초트레이닝
- Unity
- 백준
- unity3d게임만들기
- C++
- 오블완
- 리그오브레전드턴제게임
- c#
- c++ 백준
- 바킹독알고리즘
- c#기초문법
- solved class 2
- Today
- Total
나 개발자 진짜 되냐?
정보처리기사 1과목 정리 _ 소프트웨어 설계 본문

1과목 정리
1. 애자일
2001년도 애자일 모임 결성으로 만든 가치
애자일 소프트웨어 개발 선언문 발표
원칙 : 가볍지만 충분한
1) XP
애자일의 가치를 적용한 개발방법론
" 고객의 요구사항은 변경된다."
5가지의 가치
단순성, 의사소통, 피드백, 용기, 존중
* 기존 전통적인 개발방법은 문서 였다. 바꾸기 너무 어려웠다고 한다.
2. 객체지향 방법론
1) 럼바우의 OMT
객체 모델링, 동적 모델링, 기능 모델링
객동기 순으로 외워야 한다.
2) 부치의 방법론
DFD
3) 코드 & 야드네 방법론
E-R 다이어그램
4) 쉐일러 & 멜러
정보 모델링, 상태 모델링, 처리 모델링
3. UML에서 활용되는 다이어그램
1) 정적 모델 ( 시스템 구조 )
클래스 다이어그램
오브젝트 다이어그램
컴포넌트 다이어그램
배치 다이어그램
패키지 다이어그램
클오컴배패
큰오빠는 컴퓨터를 배 위에 올려놔, 확 패버릴까
2) 동적 모델 ( 시스템 행위 )
유스케이스 다이어그램
순차(시퀀스) 다이어그램
통신 다이어그램
상태 다이어그램
액티비티 다이어그램
4. UI 종류
UI는 사용자와 시스템을 연결해 준다.
1) CLI
Command Line Interface
커맨드로 직접 입력하는 것
2) GUI
아이콘 같은 거
Graphic User Interface
3) NUI
Natural User Interface
사용자 반응, 직관적 터치나 음성
4) OUI
Organic User Interface
모든 사물이나 물질들
5) CUI
Cell User Interface
셀 기반의 사용자 인터페이스
6) MUI
모바일 장치, 사용자 경험 UX, 직관적
Model User Interface
5. UI 설계 원칙
1) 직관성
누구나 쉽게 사용 가능하도록
2) 유효성
사용자의 목적을 정확하게 달성하도록
3) 학습성
누구나 쉽게 배우도록
4) 유연성
오류를 최소화하도록
6. 응집도
우리 가족이 얼마나 끈끈한지, 높을수록 좋다.
1) 기능적 응집도
모든 기능이 단일한 목적을 위해 수행되는 경우
( ex 가족)
2) 순차적 응집도
한 활동으로부터 나온 출력값을 다른 활동이 사용
( 앞에서 나온 출력값을 쓰는 것 )
3) 통신(교환)적 응집도
처리 순서에 상관없이 동일한 자료를 사용하여
다른 기능을 수행하는 활동들이 모여있는 경우
4) 절차적 응집도
입출력 순서는 관련 없지만 배열된 순서로 수행되는 경우
( 순서대로 쓰는 것 )
5) 시간적 응집도
특정 시간에 처리되어야 하는 활동
6) 논리적 응집도
유사한 성격, 특정 형태로 분류되는 처리 요소
7) 우연 응집도
구성 요소들이 연관이 없을 경우
( 결국 관련 없음 )
응집도 낮은 순서
우리 놀던 시절 통 순수했던 기억뿐이네
7. 결합도
우리가 옆집이랑 얼마나 연관 있는지, 낮을수록 좋다.
1) 자료 결합도
파라미터를 통해서만 모듈 간의 상호작용
2) 스탬프 결합도
배열이나 오브젝트, 스트럭처 등 전달
3) 제어 결합도
제어 요소를 전달
4) 외부 결합도
외부에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스를 공유
5) 공통 결합도
전역 변수를 참조하고 전역 변수를 갱신
6) 내용 결합도
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용
결합도 높은 순서
내공을 높이기 위해 외재스자
8. 디자인 패턴
1) 디자인 패턴이란?
- 반복적으로 나타나는 문제점들에 대한 해결방안 제시
- 다양한 응용 소프트웨어 시스템들을 개발할 때 존재하는
공통되는 설계문제, 공통되는 해결책을 묶은 것
- 팀원 사이의 의사소통을 쉽게
- UML과 같은 일종의 설계 기법 & 설계 방법
- SW 설계 시, SW 재사용성, 호환성, 유지 보수성을 보장
올바른 설계를 빠르게 만들 수 있도록 도와준다
2) 디자인 패턴 분류
1 생성 패턴
객체 생성에 관련된 패턴
간단한 블록의 코드로 여러 가지 다양한 객체를 생성
- 추상 팩토리
- 팩토리메서드
- 빌더
- 프로토타입
- 싱글톤
2 구조 패턴
클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
복잡한 구조의 큰 시스템을 쉽고 효율적으로 만들기 가능
- 어댑터
- 브리지
- 컴퍼지트
- 데커레이터
- 퍼사드
- 플라이웨이트
- 프록시
3 행위 패턴
반복적으로 일어나는 객체들의 상호작용을 패턴화
객체들 간의 알고리즘이나 역할 분담에 관련된 것들을 정의
- 책임연쇄
- 커맨드
- 인터프리터
- 이터레이터
- 미디에이터
- 메멘토
- 옵서버
-스테이트
- 스트래티지
- 탬플릿 메서드
- 비지터
9. 객체지향 방법론의 용어
1) 객체
정보를 효율적으로 관리하기 위한 개념적인 단위
( ex 붕어빵 )
2) 클래스
공통 속성과 행위를 가진 객체를 묶어 추상화
( ex 붕어빵 틀)
3) 속성
객체가 가지고 있는 데이터값
( ex 붕어빵 팥, 슈크림 )
4) 메서드
객체를 사용하는 방법이나 연산
5) 상속성
상위 클래스의 자료구조와 연산을 이어받는 것
6) 다형성
같은 연산인데 다르게 수행하는 것
7) 메시지
객체들을 연결하는 수단
8) 캡슐화
자료구조와 연산을 묶어 놓은 것
9) 추상화
문제를 단순화하는 과정
10) 정보 은닉
연산을 통해서만 그 자료에 접근
10. 요구 사항 검증 방법
1) 동료 검토
2 - 3명이 진행하는 리뷰 형태
작성자가 요구 사항 명세서를 설명, 이해관계자들이 결함을 발견
2) 워크스루
검토자료를 회의 전에 배포 & 사전 검토
짧은 시간 동안 회의를 진행
3) 인스펙션
저작자 외의 다른 전문가가 검사하여 오류를 찾아내는 공식적 검토
'CS를 공부해봐요!' 카테고리의 다른 글
| 정보처리기사 2과목 정리 _ 소프트웨어 개발 (0) | 2026.06.07 |
|---|---|
| 정보처리기사 25년 3회차 - 2과목 공부 (0) | 2026.06.02 |