Yumin B
실무와 IT
Yumin B
전체 방문자
오늘
어제
  • 분류 전체보기
    • slackbot, 크롤링 역량
    • 분석 역량
      • 데이터 분석(SQL)
      • 유저 행동 분석(GA)
      • 유저 CX 분석 (정성적, ETC)
    • 관련 도서 및 지식
      • 강의 및 인사이트
      • 자격증
      • BOOK
      • 모빌리티 이슈
      • 영어
    • 실전과제
      • 역기획
      • 신사업 기획
    • 프라임 칼리지
      • 3학년 1학기
      • 3학년 2학기
      • 4학년 1학기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 카카오모빌리티
  • 서비스기획
  • 정보처리기사
  • pm
  • 모빌리티뉴스
  • IT
  • 프로젝트매니저
  • 영어공부
  • 모빌리티
  • 프로덕트매니저

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Yumin B

실무와 IT

[ 정보처리기사 필기 ] 1~2파트 요약 (1) : 데이터베이스 언어, 데이터베이스 설계 , DB 회복 , 국제 프로세스 품질 표준 , 테스트
관련 도서 및 지식/자격증

[ 정보처리기사 필기 ] 1~2파트 요약 (1) : 데이터베이스 언어, 데이터베이스 설계 , DB 회복 , 국제 프로세스 품질 표준 , 테스트

2023. 1. 14. 18:30

 

출처 : CBT, https://velog.io/@jeonjunhyeon/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-1%EA%B3%BC%EB%AA%A9-%EC%9A%94%EA%B5%AC%EC%82%AC%ED%95%AD-%EC%82%AC%ED%95%AD

* 3과목과 섞인 부분도 있습니다. 제가 보기 편한 위주로 정리했기 때문이죠
230122추가 : 다빈도 내용은 빨간글씨 처리합니다 (회색바탕은 개인적 중요도를 나타냄)

데이터베이스 언어

출처 : 해시넷

- 릴레이션 = 테이블 수

  • 동일 튜플(행) 포함 불가, 어트리뷰트(열) 사이 순서없음, 속성값은 원자값(원자값 = 가장 작은 논리적 단위)
  • 릴레이션 차수 = 속성 수 = 어트리뷰트(열) 수 = 차수를 구할 땐 +

- 튜플 = 로우(행) 수 = 카디널리티 = 카디널리티를 구할땐 *
- 어트리뷰트 = 컬럼(열) 수
- 어트리뷰트 값 = 각 데이터

  • 어트리뷰트 집합 = 도메인

사진출처 :  https://m.blog.naver.com/k97b1114/140152585883


- 뷰 : 하나이상 테이블로 유도되는 가상 테이블

  • 논리적 독립성, 인덱스 없음, 데이터 보완 용이, CREATE로 생성하고 DROP으로 제거함

 


데이터베이스 설계

- 요구를 분석 후 컴퓨터에 저장할 수 있는 구조로 변경하여 구현하는 과정

[ 선형 자료 구조 ]

  • 스택 : 한쪽 끝으로만 삽입/삭제 = 후입선출 (LIFO)
  • 큐 : 한쪽은 삽입, 한쪽은 삭제 = 선입선출(FIFO)
  • 데크 : 양방향에서 삭제와 삽입이 가능함


[ 설계 고려 요소 ]

  • Integrity 무결성 : 장점들(데이터 정확성, 일관성, 유효성 유지)을 위해 연산에 제한을 두는 데이터 제약 조건
    • 개체 무결성 = 기본키는 NULL , 중복 불가
    • 도메인 무결성 = 주어진 속성값은 정의된 도메인 속 값
    • 참조 무결성 = 외래키는 NULL, 참조 릴레이션 기본키 중 한개
    • NULL 무결성 
    • 사용자 정의 무결성
    • 키 무결성 = 하나의 릴레이션은 최소 1개 키 보유
    • 관계 무결성 = 튜플 관계 관련 적절성 여부 충족
  • 일관성 : 질의 응답이 늘 일관적
  • 회복성 : 장애 발생시 직전으로 복구
  • 보안성 : 불법 데이터 노출되어도 보호됨
  • 효율성 : 응답 시간 단축 = 생산성 향성, 공간최적화
  • 확장성 : 운영에 영향없이 확장


[ 데이터 베이스 설계 순서 ]
1) 요구조건 분석 : 명세서 작성
2) 개념적 설계 : E-R다이어그램 모델링, 추상화 , 트랜잭션 모델링
3) 논리적 설계 : 논리 스키마 제작, 트랜잭션 인터페이스 설계
4) 물리적 설계 : 물리적 구조로 데이터화, 접근 경로 설계
5) 구현 : DDL로 DB와 트랜잭션 생성

 

[ 인터페이스 기능 구현 정의 ]
- 컴포넌트 명세서(=외부통신명세) 확인 ~ 인터페이스 명세서(=세부조건명세) 확인 ~ 일괄 인터페이스 기능 구현 정의 ~ 정의된 인터페이스 기능 구현 정형화

  • 정형 명세 = Z, VDM, Petri-Net(모형기반), 대수법 = 간결
  • 비정형 명세는 자연어 기반으로 작성하여, 이해가 쉽지만 일관성이 떨어짐


데이터베이스 설계 : 논리적 설계 단계

- 특정 DBMS가 지원하는 논리적 자료 구조로 매핑하고 변환하는 모델링
- 종속적 논리스키마(스키마 평가,정제,인터페이스 설계)를 활용함

  • 외부스키마 = 각 개인 입장 / 내부스키마 = 설계자 입장, 제약조건과 무결성 서술


[정규화]
- 특징 : 안정성과 무결성 유지, 효과적 검색 알고리즘 생성, 누락요소 확인, 어떤 릴레이션도 DB내 표현 가능
- 원칙 : 무손실, 분리, 중복성 감소
- 도(메인원자) 부(분제거) 이(행적) 결(정자후보키) 다(치값) 조(인종속)

  • 완전 함수종속이란 B가 A 속성 전체에 함수 종속하고 부분 집합 속성에 함수 종속하지 않음을 의미한다.


[반정규화]
- 특징 : 처리량 감소로 빠른 속도 (단점은 일관성과 정합성 감소), 속도를 위한 저장공간 투자, 데이터 단순화 목적의 통합
- 방법(추가 통합 분할 속성추가)


[ 머징 ]
- 목적 : 둘 이상의 데이터 세트를 단일 세트로 결합 / 공통 이름에 따른 데이터 프레임 병합

[ 집단화 ]
- 속성 세트로 구성되는 새로운 속성 정의

데이터베이스 설계 :물리적 설계 단계

- 기본 데이터 저장단위인 레코드로 구조화 진행
- DB파일 저장 구조, 엑세스 경로 설정
- 논리적 구조로 표현된 데이터를 물리적 구조 데이터로 변환, 성능에 중요한 작업

  • 성능 분석 측정 : 응답시간, 가용성, 사용률 (비용과 튜닝은 포함대상이 아님!)


[ 파티션 설계 ]
- 물리데이터 저장소 분리

  • RANGE 범위 분할 : 지정 열의 값 기준 분할, 관리시간 단축
  • HASH 해시 분할 : 해싱함수(무결성 검증 목적, 제곱/분석/제산division)적용따른 결과값 분할
  • COMPOSITE 조합 분할
  • LIST 리스트 분할 : 해당 컬럼 조건이 많이 들어오는 경우
  • ROUND-ROBIN 회전을 통한 새로운 행을 파티션의 할당(고른분포 실현)

 

데이터베이스 회복

- 트랜잭션 도중 손상(트랜잭션 장애 / 시스템 장애 / 미디어 장애)된 DB를 취소연산(UNDO) , 기법으로 복구하는 작업

  • Immediate 즉각 갱신 기법 : 취소연산 사용으로 실DB에 반영
  • Defferend 연기 갱신 기법 : 트랜잭션 완료까지 갱신을 연기하고 취소연산 사용
  • Check 검사점 기법 : 검사점을 로그로 보관하여 부분 취소로 회복
  • Shadow 그림자페이지 대체 기법 : 유일하게 로그 없이 복사본으로 회복

 


시스템 구성요소

- 입력 / 처리 / 출력 / 제어 / 피드백


알고리즘식

- 전위식 = 연산자가 앞에 = 연 변 변
- 중위식 = 연산자가 안에 = 변 연 변
- 후위식 = 연산자가 뒤에 = 변 변 연

[ 식 변환진행 방식 ]
1) 연산자를 원래 용도따라 괄호로 묶음

  • 원래 용도 = 연산순서 = (왼부터 우선순위 높음) () * +

2) 괄호를 기준하여 순회법에 따른 배치함
3) 괄호를 제거한 그대로 결과로 입력
* 추가 문제 = https://chobotogosu.tistory.com/39
전위식에서 후위식으로 옮길때는 중위식을 거치고 후위식으로 가야함

사실 이거 맞추려고 식 다 공부할 시간 없으면 다른 개념을 정확히 아는게 현명할 수도

- 모듈a의 Fan In = a를 제어하는 수 = 영향을 받아짐 = 공유도
- 모듈a의 Fan Out = a가 제어되는 수 = 영향 줌 = 제어도



SW 개발

- 관리 유형 : 일정관리 / 비용관리 / 인력관리 / 위험관리 / 품질관리

  • SW품질속성 = 가용성, 변경용이성, 성능, 보안성, 사용편의성, 시험용이성


[ 설계 방식 ]
- 상위설계 : UI 설계, 시스템 분할, 아키텍쳐 설계(전체적 구조, DB, 인터페이스)
- 하위 설계 : 상세 설계 , 모듈 설계 (자료구조와 알고리즘 등 내부구조)
* 서비스 지향 아키텍쳐 SOA = Presentation 계층(UI) + Process 계층(서비스) + 비즈니스 계층(도메인) + 데이터 접근 계층(Persistency)

[ SW 요구사항 분석 ]
- 요구사항 도출(관계 형성) ~ 요구사항 분석(제약+조사+문서화) ~ 명확한 명세 작성 ~ 확인

[ 프로젝트 단계 정의 ]

  • 1단계 : 관리와 재사용 현황을 방법론에 반영
  • 2단계 : 절차를 소프트웨어 생명주기에 맞춰 수립, 프로세스 확인
  • 3단계 : 정의된 개발 방법론의 매뉴얼 작성

[ 협약 설계 ]
- 클래스 =공통 속성과 연산을 갖는 객체 집합
- 클래스에 대한 여러 가정을 공유하도록 한 명세 의거한 설계

  • 명세 : 선행조건(수행전만족사항) , 결과조건(수행후만족사항) , 불변조건(클래스 실행시 항상만족사항)


[ SW 개발 방법론 ]
1) 애자일 방법론 : 전통 방법론 보완한 기능 초점적, 일정주기 반복, 고객 중심, 코드가 문서보다 중요함

  • 구체적 모형 = XP(Extreme Programming) /  스크럼  /  린
    • XP 5 원칙 : 의사소통 단순성 용기 존중 피드백
    • XP 구체적 개발모형 = Pair Programming , Contious Integration , Collective Ownership

2) 구조적 방법론 : 전체 시스템을 기능 따라 개발 후 통합 = 프로세스 중심, 하향식, 나씨-슈나이더만 차트(IF논리기술 바탕의 직사각형 포개기 기법) 활용
3) 정보공학 방법론 : DB 사용, 은행권용, 관리 절차와 작업 기반을 체계화
4) 객체지향 방법론 : 객체 단위로 시스템 분석 및 설계
5) 컴포넌트 기반 방법론(CBD) : 큰 확장성, 재사용, 큰 생산성, SW구성의 컴포넌트 조립을 통한 새 응용프로그램 작성


[ 소프트웨어 생명주기 모델 SDLC = SW Development Life Cycle ]
- 요구사항 분석 ~ 설계 ~ 구현 ~ 테스트 ~ 유지보수

폭포수 BY보헴, 선형 순차적=앞단계 요구 추가 반영없음 = 결과에 위험발생가능, 타당성 위주
나선형 점진지속적, 대규모 시스템용, 고객 피드백 반영 가능, 위험관리 위주 = 유지보수 없음
- 계획 ~ 위험분석 ~ 개발 검증 ~ 고객평가
프로토타입 요구한 주요기능을 넣은 견본을 통한 결과 예측 (폭포수 보완모델)
RAD모형 쉽게 응용프로그램 제작이 가능한 시각적 도구
* JRP ~ JAD ~ 구축/운영 ~ 이전


[ SDLC 보완 방법론 ]
- 테일러링 : 정의된 개발 방법론 보완

  • 내부 요건 : 환경 / 납기와비용 / 구성원기술력 / 프로젝트 규모
  • 외부 요건 : 표준 품질 기준 / 법 제약

- Seven TouchPoints : 검증된 모범 사례를 기존 SDLC에 통합 보완
- Clasp : SDLC 운영 초기에 보안 강화를 목적한 정형화 프로세스

 

 



국제 프로세스 품질 표준 ISO / IEC

- 기본생명주기 : 획득, 공급, 개발, 운영, 유지보수 (그 외는 지원 생명주기)

 

[ISO / IEC 12119]
- 패키지 SW 품질 요구사항과 테스트 표준화

 

[ISO / IEC 9126] 기 신 사 효 유 이
- 소프트웨어 품질 특성 및 척도 표준화
1) 기능성 : 명시요구력 = 적합성,정확성,상호운용성,보안성,준수성
2) 신뢰성 : 유지력 = 성숙성,결함허용성,복구성
3) 사용성 : 사용력 = 이해성,학습성,운용성,준수성
4) 효율성 : 자원양 따른 요구된 성능력 = 시간반응성, 자원효율성, 준수성
5) 유지보수성 : 변경능력 = 분석성, 변경성, 안정성, 시험성, 준수성
6) 이식성 : 환경 전이력 = 적응성, 설치성, 공존성, 대체성, 준수성

[ISO / IEC 122207] 기 조 지
- SW생명 주기 프로세스를 각 입장에서 지속 개선하는 행위
- 기본 공정 / 조직 공정 / 지원 공정

[ISO / IEC 15504] = SPICE
- SW 품질 및 생산성 향상을 위한 평가 프레임워크 제공, 개선의 국제 표준 기준
- 순서 : 불안정 ~ 수행 ~ 관리 ~ 확립 ~ 예측 ~ 최적화

[ CMMI ] Capability maturity model integration
- 조직의 능력 성숙도 평가용 통합 모델
- 순서 : 초기화(정의없음) ~ 정의(표준 정의하여 수행) ~ 전략적(핵심 프로세스 통제) ~ 최적화(프로세스 역량 향상 목적의 혁신 활동)


 

어플리케이션 테스트 법칙

- 작은 부분에서 큰 부분으로 확대하면서 테스트
- 필수 요소 : Validation(요구에 부합하는가) + Verification(명세서에 부합하는가)

[ 법칙 종류 ]
- 파레토 법칙 : 오류 80%는 전체 20%에서 발견됨, 결함집중 법칙과 연계됨
- BOEHM 법칙 : LOC에 의한 비용 산정

  • LOC = 원시 코드라인 수 기법 = 노력/인원수 = (라인수/라인)/인원수 = 예상 라인 / 월 평균 생산라인*인원수

- ABSENCE of errors fallacy 오류 부재의 궤변 : 결함 없어도 유저 불만족이면 저품질 간주
- PESTICIDE PARADOX 살충제 페러독스 : 동일 케이스 테스트 반복시 결함 없음
- BROOKS 법칙 : 지연 프로젝트에 인력 투입시 더 지연됨

[ 소스코드 따른 테스트 종류 ]
1) 정적 테스트 : 실행없이 소스코드 분석하여 검토 , 초기개발용

  • 동료 검토 (명세서 설명)
  • 워크스루(명세서 선배포)
  • 인스팩션(타전문가의 명세서 확인)
  • CASE=Computer Aided Software Engineering(자동화,분산처리, 차트와 다이어그램 등 협업 도구 활용)
    • 기능 구분 : 상위(요구분석 및 설계단위 지원) / 하위(코드 작성 및 문서화) / 통합(개발 전 주기 지원)


2) 동적 테스트 : 실행으로 오류 도출, 개발 전과정용
- 소스/구조 볼 수 있는지 없는지 따른 테스트 2가지 분류

블랙박스 테스트 경계값 분석
Boundary value
동치 분할 보완방법,
경계값 검사
원인-효과그래프
Cause-effect Grapging
데이터 관계와 출력에 미치는 영향 분석 후 고효용 케이스 선정 검사
오류예측 검사
Fault based
과거 데이터 기반 확인 검사
비교 검사
Comparsion
원본과 동일 자료로 동일 결과 출력하는지 여부 검사
동치 분할 기법
Equivalence Partitioning
입력자료를 타당/비타당 균등 배분하여 검사
화이트 박스 테스트
(주로 개발 단계에서 수행)
기초경로 검사
Based path
논리적 복잡성 측정
제어구조 검사
Control Structure
논리 조건 검사, 루프 검사,
데이터 흐름 변수 검사


[ 개발 단계 따른 테스트 종류 ]
- 개발단계 연결 표현의 V-모델 사용
1) 인수 테스트 : 사용자 니즈 충족 여부 파악

  • 테스트 명칭 : 계약 , 규정 , 알파(개발자가 통제환경 속), 베타(사용자가 비통제 환경속) , 사용자 인수(시스템 적절성 파악), 운영(관리자가 관리)

 


 

통합

[ 단위 모듈 ]
- 1동작 수행을 위한 기능 모듈화 = 1기능
- 단위 모듈 구현 프로세스 : 단위 기능 명세서(추=>구체=>캡) ~ 입출력 구현 ~ 알고리즘 구현 ~ 테스트

[ IPC ] = Inter-Process Communication
- 단위 모듈 구현 시 입출력을 구현하는 연동과 통신
- 대표 메소드 (5개)


[ 통합 종류 ]
- 하향식(HIPO) 통합 : 상에서 하로 검사, 제어모듈 기준 아래쪽 통합

  • 종속 모듈을 STUB(임시모듈)로 대체 ~ 실모듈과 교체 ~ 모듈 통합시마다 검사 ~ 회귀 검사


- 상향식 통합 : 하에서 상으로 검사, 제어모듈 없음
- 클러스터 = 데이터 액세스 효율 향상 목적의 물리적 저장법, 하나 이상의 로우를 같은 장소에 저장함

  • 하위 모듈을 클러스터로 결합 ~ 입출력 조정용도의 DRIVER 작성 ~ 클러스터 검사 ~ DRIVER 제거 ~ 클러스터를 상위로 이동시켜 결합

 

728x90

'관련 도서 및 지식 > 자격증' 카테고리의 다른 글

[ 정보처리기사 필기 ] 3파트 요약 : SQL , KEY, 트랜잭션 , 분산DB , 병행 제어 , 관계 데이터 모델 , 관계 대수 연산 , 모듈 연계 솔루션 , 테스트  (0) 2023.01.15
[ 정보처리기사 필기 ] 1~2파트 요약 (2) : 알고리즘, 객체 지향 구성, UML, 코드, 품질 분석, 설계  (0) 2023.01.14
[ 정보처리기사 ] 2020 CBT 개념 공부 - 언어 활용  (0) 2023.01.13
[ 정보처리기사 ] 2020 CBT 개념 공부 - 트리 + 알고리즘 식 표기법  (0) 2023.01.13
[ 정보처리기사 ] 2020 CBT 개념 공부 - 테스트 종류  (0) 2023.01.13
    '관련 도서 및 지식/자격증' 카테고리의 다른 글
    • [ 정보처리기사 필기 ] 3파트 요약 : SQL , KEY, 트랜잭션 , 분산DB , 병행 제어 , 관계 데이터 모델 , 관계 대수 연산 , 모듈 연계 솔루션 , 테스트
    • [ 정보처리기사 필기 ] 1~2파트 요약 (2) : 알고리즘, 객체 지향 구성, UML, 코드, 품질 분석, 설계
    • [ 정보처리기사 ] 2020 CBT 개념 공부 - 언어 활용
    • [ 정보처리기사 ] 2020 CBT 개념 공부 - 트리 + 알고리즘 식 표기법
    Yumin B
    Yumin B
    IT 애정 가득한 주니어매니저

    티스토리툴바