공부한 것
정처기 22년 1회차
알게된 것
[1과목] 소프트웨어 설계
1. 소프트웨어 설계 방법
- 상향식 설계 방법 : 바텀업, 작은 문제를 해결하여 큰 문제로 통합, 객체 지향 프로그래밍 (Java)
- 하향식 설계 방법 : 탑다운, 큰 문제를 작은 문제로 분해, 절차 중심 프로그래밍 (C)
2. 데이터 흐름도
- 프로세스 : 원
- 데이터 흐름 : 화살표
- 데이터 저장 : 평행선
- 종료 : 사각형
3. UI 설계 도구
- 와이어 프레임 : 페이지에 대한 대략적인 레이아웃 및 UI 요소 설계
- 목업 : 와이어 프레임에서 디자인, 사용 방법 설명, 평가를 위해 실제 화면과 유사하도록 UI를 변경 (정적)
- 스토리보드 : 와이어 프레임에서 콘텐츠 설명, 흐름도 추가
- 프로토타입 : 와이어 프레임이나 스토리보드에서 실제 동작 추가
- 유스케이스 : 사용자 측면에서의 요구 사항
4. 클래스 설계 원칙
- 단일 책임의 원칙 (Single Responsibility Principle) : 소프트웨어의 설계 부품(클래스, 함수) 는 단 하나의 책임을 가져야 한다.
- 개방 폐쇄의 원칙 (Open-Closed Principle) : 기존 코드를 변경하지 않고 기능을 수정하거나 추가할 수 있어야 한다.
- 리스코프 치환 원칙 (Liskov Substitution Principle) : 자식 클래스는 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다.
- 의존 역전의 원칙 (Dependency Inversion Principle) : 의존 관계에서 변화하기 어려운 것과 의존해야 한다.
- 인터페이스 분리 원칙 (Interface Segregation Principle) : 하나의 일반적인 인터페이스보다는 여러 개의 구체적인 인터페이스 분리한다.
5. 아키텍쳐 설계 과정
- 설계 목표 설정 -> 시스템 타입 결정 -> 스타일 적용 및 커스터마이징 -> 서브시스템의 기능, 인터페이스 동작 작성 -> 아키텍쳐 설계 검토
6. 디자인 패턴
- 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법
7. FEP
- Front-end-Processor : 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세스가 처리하는 시간을 줄여주는 프로그램이나 하드웨어
8. 객체 지향 분석 기법
- Rumbaugh : 가장 일반적인 방법으로 객체 모델, 동적 모델, 기능 모델로 나누는 분석 방법
- Booch : 미시적, 거시적 개발 프로세스를 모두 사용하는 분석 방법
- Jacobson : 유스케이스를 강조하여 사용하는 분석 방법
- Wirfs-Brock : 분석과 설계의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 분석 방법
[2과목] 소프트웨어 개발
1. 테스트 스텁 & 테스트 드라이버
- 테스트 스텁 : 하향식 테스트, 상위 모듈에서 하위 모듈로 테스트를 진행하는 것
- 테스트 드라이버 : 상향식 테스트, 하위 모듈에서 상위 모듈로 테스트를 진행하는 것
2. NS Chart
- 논리의 기술에 중점을 둔 도형을 이용한 표현 방법
- 임의의 제어 이동이 어려움
- 그림으로 표현해서 이해가 쉬움
3. 블랙 박스 & 화이트 박스
- 블랙 박스 : 소프트웨어 내부 구조나 작동 원리를 모른 상태에서 테스트를 진행
- 화이트 박스 : 소프트웨어의 내부 구조나 코드를 알고 있는 상태에서 테스트를 진행
[3과목] 데이터베이스 구축
1. 데이터베이스 테이블
튜플 : 테이플(릴레이션)의 행
어트리뷰트 : 테이블(릴레이션)의 열
카더닐리티 : 튜플의 개수 = 행의 개수
디그리 : 어트리뷰트의 개수 = 열의 개수
[4과목] 프로그래밍언어 활용
1. IPv4 & IPv6
- IPv4 : 주소 공간 32비트, Header Checksum O
- IPv6 : 주소 공간 128비트, Auto Configuration 지원, Header Checksum X
2. 에러
- 컴파일 에러 : 구문 오류로 프로그램 컴파일 불가, 대부분 문법상의 에러 (Syntax Error)
- 런타임 에러 : 실행 시 발생하는 에러 (NullPointerException, Divide by Zero)
3. ICMP
- Internet Control Message Protocol : TCP/IP 에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
4. 결합도 & 응집도
- 결합도는 낮게 응집도는 높게
- 결합도 : 소프트웨어에서 한 요소가 다른 요소와 얼마나 강력하게 연결되어 있는지, 얼마나 의존하고 있는지
- 응집도 : 소프트웨어에서 비슷한 요소끼리 얼마나 뭉쳐있는지
5. 메모리 할당 기법
- First-Fit : 메모리를 처음부터 탐색해서 들어갈 수 있는 블록 중에 첫 번째에 할당
- Best-Fit : 메모리를 처음부터 탐색해서 가장 적합한 블록에 할당
- Worst-Fit : 들어갈 수 있는 블록 중 가장 큰 블록에 할당 -> 내부단편화가 심해짐
6. 빌드 도구
- Make -> Ant -> Maven -> Gradle
7. 연산자 우선순위
- 단항 연산자 > 비트 연산자 > 이항 연산자 > 논리 연산자
8. 쉘
- 커널과 사용자 사이의 인터페이스
- 명령어 해석기 기능
- 반복적인 명령 가능
- 초기화 파일로 사용자 환경 설정 가능
[5과목] 정보시스템 구축관리
공부할 것
정처기 21년 1회차
느낀 점
작년에 배운 것들 복습하는 느낌이라 재밌다😎
일주일 벼락치기 가보자
'💻 개발 > TIL' 카테고리의 다른 글
[TIL] 22.04.20 (0) | 2022.04.20 |
---|---|
[TIL] 22.04.18 (0) | 2022.04.18 |
[TIL] 22.04.17 (0) | 2022.04.17 |
[TIL] 22.03.23 (0) | 2022.03.23 |
[TIL] 22.03.22 (0) | 2022.03.22 |
[TIL] 22.03.20 (0) | 2022.03.20 |