1. 순차 다이어그램
- 행위 다이어그램
- 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용하는 과정을 액터, 객체, 메시지 등의 요소를 사용하여 그림으로 표현한 것
- 동적인 오퍼레이션을 표현
- 수직 방향은 시간의 흐름을 나타냄
- 회귀 메시지, 제어 블록 등으로 구성
- 구성요소 : 액터, 객체, 생명선, 실행상자, 메시지
1-1. 유스케이스 다이어그램
- 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것
- 외부 요소와 시스템 간의 상호작용 확인 가능
- 사용자 요구사항 분석 도구
- 구성요소 ; 시스템 범위, 액터, 유스케이스, 관계
1-2. 클래스 다이어그램
- 시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 이에 대한 제약조건, 클래스 간의 관계를 표현한 것
- 시스템 구성 요소에 대해 이해할 수 있는 구조적 다이어그램
- 시스템 구성 요소를 문서화하는 데 사용됨
- 시스템 모델링에 자주 사용
- 구성요소 : 클래스, 제약조건, 관계
2. 메시지 지향 미들웨어(MOM)
- 비동기형 메시지를 전달하는 방식의 미들웨어
- 이기종 분산 데이터 시스템의 데이터 동기를 위해 사용
- 독립된 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할
- 송신, 수신측 연결 시 메시지 큐를 활용하는 방법이 있음
- 다소 느리고 안정적인 응답을 필요로 하는 경우 많이 사용
3. XP
- 애자일 방법론
- 변경이 많은 요구에 적절
- 고객의 적극적인 참여
- 핵심 가치 : 의사소통, 단순성, 용기, 존중, 피드백
4. 유스케이스
- 연관, 확장, 일반화, 포함
7. 미들웨어
- 서로 다른 기종 간의 원만한 통신을 위한 서비스 제공
- 위치 투명성 제공(실제 위치를 알 필요 없이 논리적인 명칭만으로 액세스 가능)
- 시스템 간의 데이터 교환의 일관성 보장
- 1:1, 1:N, N:M 등 여러 형태로 연결 가능
- 사용자가 미들웨어의 내부 동작을 확인하려면 별도의 응용 소프트웨어를 사용해야 함
9. 객체지향
- 클래스 : 공통된 속성과 연산을 갖는 객체의 집합, 하나 이상의 유사한 객체를 묶음
- 캡슐화 : 서로 관련성이 많은 데이터와 연산들을 묶음, 객체 간 결합도가 낮아진다.
- 상속 : 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 다형성 : 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- 오버로딩 : 메소드 이름은 같지만 인수를 받는 자료형과 개수 달리함
- 오버라이딩 : 상위 클래스에서 지정한 메소드와 이름은 같지만 실행 코드를 달리하여 재정의
15. 디자인 패턴
- 생성 패턴
- 추상 팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤
- 구조 패턴
- 어댑터, 브리지, 컴포지트, 데코레이터, 퍼싸드, 플라이웨이트, 프록시
- 행위 패턴
- 책임 연쇄, 커맨드, 인터프리터, 반복자, 중재자, 메멘토
20. MVC
- 모델 : 서브시스템의 핵심 기능과 데이터 보관
- 뷰 : 사용자에게 정보를 표시
- 컨트롤러 : 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보냄
- 컨트롤러가 모델을 갱신, 모델은 뷰에 변경을 알리고, 뷰는 모델에게 정보를 요청, 컨트롤러가 뷰를 제어
21. 통합 테스트
- 단위 테스트가 끝난 모듈을 통합하는 과정에서의 오류 및 결함을 찾는 기법
- 하향식 통합 테스트 : 종속 모듈을 스텁으로 대체
- 상향식 통합 테스트 : 하위 모듈을 클러스터로 결합하고, 더미 모듈인 드라이버를 작성
23. 워크스루
- 정적 테스트
- 작업 내역을 개발자가 모집한 전문가들이 검토하는 것
- 오류의 조기 검출을 목적으로 하며 발견된 오류는 문서화
30. 화이트박스 테스트
- 동적 테스트
- 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계
33. 인스펙션
- 정적 테스트
- 워크스루의 발전된 형태
- 개발 단계에서 산출된 결과물의 품질을 평가하며 이를 개선하기 위한 방법 등을 제시
35. 단위 테스트
- 모듈이나 컴포넌트에 초점을 맞춰 테스트
41. 정규형
도메인이 원자값
부분적 함수 종속 제거
이행적 함수 종속 제거
결정자이면서 후보키가 아닌 것 제거
다치 종속 제거
조인 종속성 이용
46. 데이터베이스 설계
- 개념적 설계 : 개념 스키마 모델링, 트랜잭션 모델링
- 논리적 설계 : 논리적 스키마 설계
- 물리적 설계 : 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
- 트랙잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화 고려
73. 응집도
- 우연적 < 논리적 < 시간적 < 절차적 < 통신적 < 순차적 < 기능적
73-1. 결합도
- 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료
81. 정보보안의 3요소
- 기밀성, 무결성, 가용성
트리
- preorder : root, left, right
- inorder : left, root, right
- postorder : left, right, root
정렬
- 삽입 정렬 : 2번째 요소부터 시작하여 맞는 자리에 삽입
- 평균, 최악 모두 O(N^2)
- 선택 정렬 : 최소값을 찾아 첫번째에 놓고, 나머지 N-1개 중 다시 최소값을 찾아 두 번째에 놓는 방식
- 평균, 최악 모두 O(N^2)
- 버블 정렬 : 인접한 두 개의 레코드 키 값을 비교하여 위치를 서로 교환하는 정렬 방식
- 평균, 최악 모두 O(N^2)
- 퀵 정렬 : 부분적으로 나누어가며 정렬하는 방법, pivot 기준으로 divide and conquer
- 평균 : O(NlogN), 최악 : O(N^2)
- 힙 정렬 : 전이진트리를 이용한 정렬
- 평균과 최악 모두 O(NlogN)
해싱함수
- 제산법(Division) : 나머지
- 제곱법 : 제곱
- 폴딩법 : XOR
- 기수 변환법 : 진수 변환
- 대수적 코딩법 : 비트 수 이용
- 숫자 분석법 : 숫자 분포 분석
- 무작위법
SQL
- DDL : CREATE, ALTER, DROP
- DML : SELECT, INSERT, DELETE, UPDATE
- DCL : COMMIT, ROLLBACK, GRANT, REVOKE
트랜잭션
- Aborted : rollback 연산을 수행한 상태
- 트랜잭션 분석 : CRUD
분산 데이터베이스
- 위치 투명성
- 중복 투명성
- 병행 투명성
- 장애 투명성
데이터베이스 보안
- 개인키 암호 방식 = 비밀키 암호 방식
- 동일한 키로 데이터를 암호화 하고 복호화 함
- 대칭 암호 방식, 단일키 암호화 기법
- 데이터베이스 사용 권한이 있는 사용자만 나누어 가짐
- 공개키 암호 방식
- 서로 다른 키로 데이터를 암호화하고 복호화 함
- 공개키는 데이터베이스 사용자에게 공개, 복호화 키(비밀키)는 관리자가 비밀리에 관리
- 비대칭 암호 방식
- 대표적으로 RSA
데이터베이스 접근통제
- DAC(임의접근통제)
- MAC(강제접근통제)
- RDBC(역할기반접근통제)
LOC(원시 코드 라인 수)
낙관치, 비관치, 기대치
'공부' 카테고리의 다른 글
[퍼센트마이닝] 융합동아리 8회차 (0) | 2023.02.26 |
---|---|
[퍼센트마이닝] 융합동아리 7회차 (0) | 2023.02.19 |
[퍼센트마이닝] 융합동아리 4회차 (0) | 2023.01.29 |
[퍼센트마이닝] 융합동아리 3회차 (0) | 2023.01.24 |
[퍼센트마이닝] 융합동아리 2회차 (0) | 2023.01.15 |