공부한 것
정처기 21년 3회차
알게된 것
[1과목] 소프트웨어 설계
1. 람바우 분석 기법
- 객체 모델링 -> 동적 모델링 -> 기능 모델링 순으로 진헹
- 객체 모델링 : 정보 모델링이라고도 부르며 클래스 다이어그램을 작성
- 동적 모델링 : 상태 다이어그램을 작성
- 기능 모델링 : 자료 흐름도(Data Flow Diagram)을 작성
2. 요구사항 개발 프로세스
도출(요구사항 수집) -> 분석 -> 명세 -> 확인(요구사항 검증)
3. 애자일 개발 프로세스
- 익스트림 프로그래밍 : XP, 고객과 함꼐 2주 정도의 반복 개발, TDD
- 스크럼 : 30일마다 동작 가능한 제품을 제공하는 스프린트 개발
4. UML 관계
- 일반화 : Generalization, 실선 삼각 화살표, 일반적인 것과 특화된 것의 관계
- 실체화 : Realization, 점선 삼각 화살표. 인터페이스와 이를 구현한 것의 관계
- 의존 : Dependency, 점선 화살표, 어떤 클래스에 변경이 발생하면 다른 클래스에도 변경이 발생하는 관계
- 연관 : Association, 실선, 어떤 클래스가 작업을 수행하기 위해 다른 클래스를 알아야하는 관계
[2과목] 소프트웨어 개발
1. 테스트 드라이버 && 테스트 스텁
테스트 드라이버 : 상향식 설계, 상위 컴포넌트가 존재하지 않음
테스트 스텁 : 하향식 설계, 하위 컴포넌트가 존재하지 않음
2. 그래프 탐색
- 전위 순회 : Preorder, 루트 노드부터 탐색
- 중위 순회 : Inorder, 왼쪽 하위 리프 노드부터 탐색
- 후위 순회 : Postorder, 하위 리프 노드부터 탐색
3. 요구사항 검증 && 확인
- 검증 : 개발자 관점
- 확인 : 사용자 관점
4. 디지털 저작권 관리
- 클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 관리 등을 수행하는 곳
- 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
- 패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶는 프로그램
- 콘텐츠 분배자 : 콘텐츠를 유통하는 주체
- 콘텐츠 소비자 : 콘텐츠를 구매해서 사용하는 주체
[3과목] 데이터베이스 구축
1. DBMS 데이터 언어
- DDL : Data Definition Language, 테이블과 같은 데이터 구조를 정의하는데 사용 - CREATE, ALTER, DROP, RENAME, TRUNCATE
- DML : Data Manipulation Language, 테이블 내부에 있는 데이터를 조회, 검색, 변형하는데 사용 - SELECT, INSERT, UPDATE, DELETE
- DCL : Data Control Language, 데이터베이스에 접근하고 권한을 부여하고 회수하는데 사용 - GRANT, REVOKE
- TCL : Transaction Control Language, 논리적인 작업의 단위를 묶어서 단위별로 제어하는데 사용 - COMMIT, ROLLBACK, SAVEPOINT
2. 로킹 단위
- 로킹 : 데이터베이스 병행 제어를 위해 트랜잭션이 접근하고자 하는 데이터를 잠가(Lock) 다른 트랜잭션이 접근하지 못하도록 하는 병행 제어 기법
- 트랜잭션은 로킹이 된 데이터에 대해서만 연산을 수행
- 로킹 단위가 클수록, 병행 제어 단순, 오버헤드 감소, 병행성 감소, 공유도 감소
- 로킹 단위가 작을수록, 병행 제어 복잡, 오버헤드 증가, 병행성 증가, 공유도 증가
3. 키
- 후보키 : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분 집합, 유일성과 최소성을 만족
- 기본키 : 후보키 중에서 선택한 메인키, 특정 튜플을 유일하게 식별할 수 있는 속성, 중복 불가
- 대체키 : 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
- 슈퍼키 : 릴레이션을 구성하는 속성들의 부분 집합, 유일성은 만족하지만 최소성은 만족하지 않음
4. 트랜잭션의 특성
- 원자성 : Atomicity - 트랜잭션이 실행되다가 중단되지 않는 것을 보장, 일단 시작하면 끝을 봐야함
- 일관성 : Consistency - 트랜잭션이 성공적으로 완료되면 언제가 일관성 있는 데이터베이스 상태로 유지
- 독립성 : Isolation - 트랜잭션이 수행될 때 다른 트랜잭션이 접근할 수 없음, 트랜잭션 실행 내용은 연속적이어야 함
- 지속성 : Durability - 트랜잭션이 성공적으로 완료되면 영원히 반영되어야 함
[4과목] 프로그래밍언어 활용
1. IP 클래스
- A 클래스 : 0 ~ 127 -> 128
- B 클래스 : 128 ~ 191 -> 64
- C 클래스 : 192 ~ 223 -> 32
2. 디스크 스케쥴링 기법
- FIFO : 디스크 대기 큐에 먼저 들어온 트랙부터 처리
헤드 위치 50
대기 큐 : [100 180 40 120]
처리 순서 : 50 -> 100 -> 180 -> 40 -> 120
- SSTF : 탐색거리가 짧은 트랙부터 처리
헤드 위치 50
대기 큐 : [100 180 40 120]
처리 순서 : 50 -> 40 -> 100 -> 120 -> 180
- SCAN : 진행 방향으로 탐색거리가 짧은 트랙부터 처리
헤드 위치 50
대기 큐 : [100 180 40 120]
처리 순서 : 50 -> 40 -> 100 -> 120 -> 180
3. 파일 디스크립터
- 운영체제가 필요로 하는 파일에 대한 정보를 갖고 있는 제어 블록(FCB)
- 보조기억장치에 저장되어 있다가 파일이 열릴 때 주기억장치로 이동
- 파일 시스템이 관리하므로 사용자가 직접 참고할 수 없음
공부할 것
정처기 20년 1회차
느낀 점
'💻 개발 > iOS' 카테고리의 다른 글
[TIL] 22.05.27 (0) | 2022.05.27 |
---|---|
[TIL] 22.05.26 (0) | 2022.05.26 |
[TIL] 22.04.18 (0) | 2022.04.18 |
[TIL] 22.04.17 (0) | 2022.04.17 |
[TIL] 22.03.23 (0) | 2022.03.23 |