2021/08 34

MVC 모델_Model, View, controller, 구조스타일, 소프트웨어 아키텍처, 브로커

▣ MVC 모델_Model, View, controller, 구조스타일, 소프트웨어 아키텍처, 브로커 MVC 는 Model, View, Controller의 약자임 Model : 프로그램에서 사용되는 실제 데이터 저장 및 데이터 조작 로직을 처리하는 부분 View : 사용자에게 실제로 제공되어 보여지는 UI부분 Controller : 사용자의 입력처리와 흐름 제어를 담당 ▶ MVC 모델 작동 순서 1. Controller로 사용자의 입력 들어옴 2. Controller로 Model에 데이터 업데이트를 하고 Model 호출함 3. Model은 해당 데이터로 보여줄 View를 업데이트하여 화면에 보여 주게 됨 ▶ MVC 모델 단점 View와 Model이 서로 의존적 ▣ MVP 모델 ▶ MVP 모델 작동 순서..

모듈화 응집도, 결합도 우논시절통순기, 내공외제스자

▣ 응집도, 결합도 1. 응집도 - 하나의 모듈 내부의 처리 요소들간의 기능적 연관성을 측정하는 척도 - 응집도는 모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도 - 응집도의 유형은 우연적공통>외부>제어>스탬프>자료 * 내공외제스자 2015년 40번 정답 : 3번 응집도는 모듈 내부의 요소를 대상으로 하므로 우선 모듈과 내부요소가 무엇인지 파악해야 함 문제 소스코드에서 모듈은 setValue함수라고 할 수 있고, 내부 요소는 2개의 각 if문임 응집도는 모듈 내부 요소간의 관계를 보는 것인데, 문제를 보면 각 요소들(if문)은 단지 if문이라는 공통점만 있을 뿐 서로 큰 관련은 없음 -> 논리적 응집 결합도는 모듈 간의 관련성을 보는 것으로, 문제 소스코드에서 한 모듈은 setVal..

SW 개발 방법론_나선형 모델(spiral model)_계획수립, 위험분석, 개발, 평가

▣ SW 개발 방법론_나선형 모델(spiral model)_계획수립, 위험분석, 개발, 평가 2015년 26번 정답 : 1번 계획수립 - 위험분석 - 개발 - 평가 계획수립 계획 및 요구분석 단계 혹은 계획 및 요구정의 단계 프로젝트 목표를 명확히 하고, 제약 조건이 무엇인지 파악하며, 이를 통해 전체적인 계획을 수립 사용자의 요구를 파악하여 기능 및 비기능 요구사항을 정의하고 분석 위험분석 전체 프로젝트의 위험을 최소화하기 위해 위험을 분석하는 단계를 추가한 것임 위험 분석이라는 것은 가능한 위험 요소를 찾아 목록화 하고 위험 예방 대책을 논의 위험 요소를 평가하여 개발에 얼마나 영향을 주는지를 분석하는 것임 위험 분석 단계는 위험을 최소화 하는것이 목적임 만약 위험이 너무 크다면 프로젝트를 종료할 수..

오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델

▣ 오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델 - 정분류율 (Accuracy): 전체 데이터 중 예측한게 맞을 확률 - 오분류율 (Error Rate) : 1-정분류율 - 재현율 or 민감도(Recall or Sensitivity) : 실제 Positive로 나온 데이터 중 Positive로 예측한 데이터 - 정확도 or 정밀도(Precison) : 예측을 Positvie로 한 데이터 중 실제 Positive로 나온 데이터 - 특이도(Specificity) : 실제 Negative로 나온 데이터 중 Negatvie로 예측한 데이터 - F1 Score(조화평균) : 2*(정밀도*재현율)/(정밀도+재현율)=2*..

데이터베이스 2021.08.29

데이터마이닝_연관규칙(Association)_지지도, 신뢰도, 향상도, Apriori, 빈발항목

▣ 연관규칙(Association)_지지도, 신뢰도, 향상도, Apriori, 빈발항목 - 항목들 간의 관계를 얻기 위해 한 항목의 존재가 다른 항목의 존재를 암시하는 조합을 발견하는 분석 방법 - 동시에 발생한 사건 간의 관계 정의 - 지지도는 X->Y = Y->X (상호대칭) - 신뢰도는 X->Y ≠ Y->X (지지도가 낮아도 신뢰도가 높은 경우 유용한 규칙) - 향상도는 X->Y = Y->X (상호대칭) L > 1 : 양의 상관관계 (같이 구매할 확률 높음) L < 1 : 음의 상관관계 (같이 구매할 확률 낮음) L = 1 : 독립적 상관관계 (서로 영향 미치지 않음) ▣ Apriori 알고리즘 Apriori 원리 전체 거래 중 A, B가 포함되는 거래 빈도는 A, B, C가 포함되는 거래 빈도보다..

데이터베이스 2021.08.29

정규화- BCNF 분해

▣ 정규화- BCNF 분해 2015년 51번 정답 : 3번 후보키(A,B)가 C를 종속하고, C가 후보키 B를 종속 2012년 56번 정답 : 3번 C->D가 R3(C,D)릴레이션으로 추출 E->C가 R2(E,C)릴레이션으로 추출 마지막으로 A->(B,C,D,E), B->(A,C,D,E)에서 C,D,E가 나왔으므로 A->(B,E) 혹은 B->(A,E)만 추가하면 문제에서 제시하는 종속이 보존되므로 R1(A,B,E) 혹은 R1(B,A,E) A와 B는 같은 릴레이션 내 동격인 후보키임 (A->B, B->A) ∴ R1(A,B,E), R2(E,C), R3(C,D) 이거나 R1(B,A,E), R2(E,C), R3(C,D) 로 분해됨 2013년 55번 정답 : 4번 보이스/코드(BCNF) 분할 결과는 (X, Z)와..

데이터베이스 2021.08.29

GROUP BY, HAVING SQL 예제 3, 부양가족 2명이상, 사원, 사번, 성명

▣ GROUP BY, HAVING 예제 3 2015번 69번 정답 : 3번, 4번 1) 1번 보기 : 집계 함수에 대한 조건절은 HAVING 을 사용해야 함 2) 2번 보기 : Group by 절을 사용했으나 SELECT 절 count(*) 전체 갯수 리턴 -- 2015년 정보시스템감리사 DB 69번 CREATE TABLE DEPEND_69 ( ENO INT , DNAME VARCHAR(20) , REL VARCHAR(20) , PRIMARY KEY (ENO, DNAME) ) ; INSERT INTO DEPEND_69 VALUES (1, '홍길동', '부'); INSERT INTO DEPEND_69 VALUES (1, '김영희', '모'); INSERT INTO DEPEND_69 VALUES (2, '이..

데이터베이스 2021.08.28

GROUP BY 관련 SQL 예제 2, 고객, 주문, 총액, 쇼핑몰 데이터베이스

▣ GROUP BY 관련 SQL 예제 2 - SELECT문에 있는 서브쿼리 : Scalar Subquery - FROM절에 있는 서브쿼리 : Inline View - WHERE절에 있는 서브쿼리 : Subquery 2012년 57번 정답 : 3번 쇼핑몰 데이터베이스 중 고객 테이블의 고객번호 컬럼을 GROUP BY한 값이 10보다 큰 고객의 이름과 주문 수량의 합을 구하는 조회문임 고객번호로 GROUP BY 한 값이 10보다 크다는 것은 주문 횟수가 11번 이상이라는 의미임 3번 '열한 번 이상 상품을 주문한 고객이름과 주문한 수량의 합을 구한다.' 정답임 2015년 65번 정답 : 3번 -- 실제 SQL 실행시 에러 발생, WHERE 절의 ALIAS명 인식 불가 -- WHERE절에서 서브쿼리 사용 시 ..

데이터베이스 2021.08.28

병행제어 - 낙관적 동시성 제어

▣ 낙관적 동시성 제어(optimistic concurrency control) 읽기 단계 (read phase) - 트랜잭션이 다른 사본(copy)을 만들어 관리 - 트랜잭션의 갱신(update)는 사본에 대해서 실행하고, 실제 DB에는 실행하지 않음 검증 단계 (validation phase) - 트랜잭션 실행 결과가 직렬가능성 위반 check - 검증 조건 - 3조건 중 하나만 만족하면 검증 성공 - 검증 실패시 트랜잭션은 rollback, 재실행(반복적 재시작) 쓰기 단계 (write phase) - 검증 단계를 통화하면, 트랜잭션의 실행결과를 데이터베이스에 반영 2015년 59번 정답 : 1번

데이터베이스 2021.08.28

트랜잭션_병행제어 _ 충돌 직렬, 뷰 직렬 가능 스케쥴, 직렬성

▣ 트랜잭션_병행제어 _ 충돌 직렬, 뷰 직렬 가능 스케쥴, 직렬성 1. 충돌(Conflict) 서로 다른 트랜잭션의 두 명령어가 동일한 항목(x)에 접근하고 하나 이상의 쓰기가 발생하는 경우 Ti-R(x) ->Tj-R(x) : 비충돌 Ti-R(x) ->Tj-W(x) : 충돌 Ti-W(x) ->Tj-R(x) : 충돌 Ti-W(x) ->Tj-W(x) : 충돌 2. 충돌 직렬(Serialize) 가능 스케쥴 충돌 동등 : 비충돌 연산의 교환 원리를 적용하여 어떤 스케쥴로 변환 가능한 경우 충돌 연산이 아닌 두 연속 연산은 그 순서를 교환하더라도 상관없음 두 트랜잭션 간 충돌하지 않는 나머지 연산자(비 충돌 명령)의 순서를 서로 맞바꿈으로서 직렬 스케줄과 동일한 스케줄이 가능할 경우 충돌 직렬 가능하다고 함 ..

데이터베이스 2021.08.28