• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

최종 정리

06 Mar 2021

1과목.소프트웨어 설계

🎈 스크럼(Scrum) 기법

  - 팀원 스스로가 스크럼 팀을 구성한다
  - 개발 작업에 관한 모든것을 스스로 해결해야 한다
  - 스프린트는 2주~4주 정도의 기간으로 진행한다
  - 제품 책임자(PO : Product owner) : 요구사항이 담긴 배로그를 작성하는 주체 , 
                                      백로그 우선순위 지정, 이해관계자들의 의견 종합
  - 스크럼 마스터 : 일일 스크럼 회의 주관 , 팀원 통제 X
  - 스크럼 개발 프로세스
        1) 스프린트 계획회의
        2) 스프린트
        3) 일일스크럼
        4) 스크럼 검토 회의
        5) 스프린트 회고

🎈 XP 기법

  - 핵심 가치
        1) 용기(Courage)
        2) 단순성(Simplicity)
        3) 의사소통(Communication)
        4) 피드백(Feedback)
        5) 존중(Respect) 
  - 기본원리
        1) Whole Team(전체 팀)
        2) Small Releases(소규모 릴리즈)
        3) Test-Driven Devlopment(테스트 주도 개발)
        4) Continuous Intergration(계속적인 통합)
        5) Collective Ownership(공동 소유권)
        6) Pair Programming(짝 프로그래밍)

🎈 요구사항 정의

  - 요구사항 개발 프로세스
        1) 도출(Elicition)/추출
        2) 분석(Analysis)
        3) 명세(Specification)
        4) 확인(Validation)/검증(Valification)
  - 요구사항 확인 기법
        1) 요구사항 검토
        2) 프로토타이핑
        3) 모델검증
        4) 인수테스트

🎈 UML

  - 구조적,정적 다이어그램
        1) 클래스
        2) 객체
        3) 컴포넌트
        4) 배치(Deployment)
        5) 복합체 구조(Composite Structure)
        6) 패키지 다이어그램
        => 컴포넌트,  배치 다이어그램은 구현단계에서 사용된다
  - 행위,동적다이어그램
        1) 유스케이스 (사용사례)
        2) 시퀀스 (순차)
        3) 커뮤니케이션 (협업)
        4) 상태
        5) 활동
        6) 상호작용 개요
        7) 타이밍

🎈 결합도(Coupling)

  - 모듈간 상호 의존하는 정도 또는 두 모듈 사이의 연관관계 의미
  - 결합도는 낮을수록 좋다
  1) 자료 결합도(Data) : 어떤모듈이 다른 모듈을 호출하면서 매개변수나 인수로 데이터를 넘겨주고
                          호출 받은 모듈은 받은 데이터에 대한 처리를 다시 돌려준다
  2) 스탬프 결합도 : 모듈간의 인터페이스로 배열이나 레코드 등의 자료구조가 전달될 때의 결합도
  3) 제어 결합도 : 어떤 모듈이 다른 모듈 내부의 논리적 흐름을 제어하기 위해 제어 신호를 이용하여
                    통신하거나 제어 요소를 전달한다
  4) 외부 결합도 : 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 떄
  5) 공통 결합도 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때
  6) 내용 결합도 : 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때

🎈 응집도(Cohesion)

  - 모듈의 내부 요소들의 서로 관련되어 있는 정도
  - 응집도는 높을수록 좋다
  1) 기능적 응집도 : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우
  2) 순차적 응집도(Sequential) : 모듈 내 하나의 활동으로부터 나온 출력데이터를 그 다음 활동의 입력데이터로 사용할 경우
  3) 통신적 응집도(Communication) : 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성요소들이 모였을 경우
  4) 절차적 응집도(Procedural) : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우
  5) 시간적 응집도(Temporal) : 특정 시간에 처리되는 몇개의 기능을 모아 하나의 모듈로 작성할 경우
  6) 논리적 응집도(Logical) : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우
  7) 우연적 응집도(Coincidental) : 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우

🎈 인터페이스 요구사항 검증

  - 요구사항 검증 방법
        1) 동료 검토(Peer Review) : 요구사항 명세서 작성자가 직접 설명, 동료들이 이를 들으며 결함 발견
        2) 워크 스루 : 검토회의전 명세서 미리 배포하여 사전 검토후 짧은 검토회의 통해 결함 발견
        3) 인스펙션 : 명세서 작성자를 제외한 다른 검토 전문가들이 확인하면서 결함 발견

2과목.소프트웨어 개발

🎈 화이트박스,블랙박스 테스트

  - 화이트박스
        1) 모듈 안의 내용(작동)을 직접볼 수 있다
        2) 내부의 논리적인 모든 경로를 테스트해 테스트 케이스 설계
        3) 소스코드의 모든 문장을 한번이상 수행함으로써 진행된다
        4) 선택,반복 등의 부분들을 수행함으로써 논리적 경로 점검한다
        - 종류 : 기초경로검사, 제어구조검사(조건,루프,데이터흐름 검사)
  - 블랙박스
        1) 모듈 안에서 어떤 일(작동)이 일어나는지 알 수 없다
        2) 소프트웨어가 수행할 특정기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트로
           => 기능 테스트 라고도 한다
        3) 소프트웨어 인터페이스에서 실시되는 테스트 이다
        - 종류 : 동치분할,경계값,원인-효과 그래프, 비교, 오류예측 검사

🎈 애플리케이션 성능 분석

  - 애플리케이션 성능
        1) 처리량(Throughput) : 일정 시간 내 애플리케이션이 처리하는 일의 양
        2) 응답시간(Response Time) : 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
        3) 경과 시간(Turn Around Time) : 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린시간
        4) 자원 사용률(Resource Usage) : 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량,
                                         메모리 사용량, 네트워크 사용량 등 자원 사용률

3과목.데이터베이스 구축

🎈 데이터베이스 설계 순서

  1) 요구 조건 분석 : 요구 조건 명세서 작성
  2) 개념적 설계(정보 모델링, 개념화) : 독립적인 개념 스키마 모델링,트랜잭션 모델링, E-R 다이어그램
  3) 논리적 설계(데이터 모델링) : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계,
                                 테이블 설계(RDB),논리적 데이터베이스 구조로 매핑, 스키마의 평가 및 정제
  4) 물리적 설계(데이터 구조화) : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환, 저장레코드, 접근경로 설계
  5) 구현 : 목표 DBMS의 DDL(데이터 정의어)로 데이터베이스 생성,트랜잭션 작성

🎈 데이터 모델에 표시할 요소

  - 구조(Structure) : 논리적인 개체 타입들 간의 관계, 데이터 구조 및 정적 성질 표현
  - 연산(Operation) : 실제 데이터를 처리하는 작업에 대한 명세, 조작하는 기본도구
  - 제약조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적인 제약조건

🎈 관계대수

  - 관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어
  - 순수관계 연산자 : Select(시그마), Project(파이),Join(세모 마주보는거), Division(나누기)
  - 일반집합 연산자 : Union(합집합), Interection(교집합),Difference(차집합),CartesianProduct(교차곱)

🎈 관계해석

  - 수학의 Predicate Calculus에 기반을 두고 관계 데이터베이스를 위해 제한
  - 원하는 정보가 무엇 이라는 것만 정의하는 비절차적 특성
  - 튜플 관계해석,도메인 관계해석
  - 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하다
  - 관계대수로 표현한 식은 관계해석으로 표현할 수 있다

🎈 정규화

  - 정규화 : 하나의 종속성이 하나의 릴레이션에 표현 될 수 있도록 분해해가는 과정, DB의 논리적 설계단계에서 수행
  - 정규화의 목적
        1) 데이터 구조의 안정성 및 무결성 유지
        2) 어떠한 릴레이션이라도 데이터베이스 내에서 쵸현 가능하게 만든다
        3) 효과적인 검색 알고리즘 생성 가능하다
        4) 데이터 중복을 배제해 이상의 발생 방지 및 자료 저장공간의 최소화
        5) 개체와 속성의 누락 여부 확인 가능
        6) 데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다
  - 이상(Anomaly) : 정규화를 거치지 않아 데이터베이스 내에 데이터들이 불필요하게 중복 되어
                          릴레이션 조작시 예기치 못하게 발생하는 곤란한 현상

🎈 반정규화

  - 반정규화 : 시스템의 성능향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복,
              분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위
              => 데이터의 일관성 및 정합성이 저하될 수 있다
  - 반정규화 방법 
        1) 테이블 통합 : 1:1 관계, 1:N관계, 슈퍼타입/서브타입(테이블통합)
        2) 테이블 분할 : 수평,수직 분할 -> 기본키의 유일성 관리가 어려워진다
        3) 중복 테이블 추가 : 집계,진행,특정 부분만을 포함하는 테이블
        4) 중복 속성 추가 : 자주 사용하는 속성을 하나 더 추가하는것 

🎈 트랜잭션

  - 트랜잭션 : 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위,
              한꺼번에 모두 수행되어야 할 일련의 연산들
  - 트랜잭션의 특성 : 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영속성(Durability)
  - CRUD매트릭스 : C > D > U > R 의 우선순위 적용

4과목.프로그래밍 언어 활용

🎈 기억장치 관리

  - 기억장치의 관리 : 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기,위치 등을 
                     지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위해
                     => 반입(Fetch), 배치(Placement), 할당(Allocation), 교체(Replacement)
  - 배치(Placement) 전략 : 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지 결정
  - Locality(지역성,구역성) 
        1) 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질
        2) 스래싱을 방지하기 위한 워킹셋 이론의 기반
        3) 데닝 교수에 의해 구역성의 개념이 증명 됐으며 캐시 메모리 시스템의 이론적 근거
  - 워킹셋(Working Set) : 프로레스가 일정시간 동안 자주 참조하는 페이지들의 집합

5과목.정보시스템 구축 관리

🎈 하향식 비용 산정 기법

  - 하향식 비용산정 기법 : 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한
                          회의를 통해 비용을 산정하는 비 과학적인 방법
                          => 전문가 감정 기법, 델파이 기법

🎈 상향식 비용 산정 기법

  - 상향식 비용 산정 기법 : 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정
                           => LOC , 개발 단계별 인월수, 수학적 산정기법(COCOMO), Putnam모형,기능점수 모형
  - COCOMO 모형
        1) 보헴이 제안,LOC에 의한 비용산정기법
        2) Organic,Semi-Detached,Embedded 
  - Putnam 모형
        1) 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포토를 기초로 한다
        2) SLIM : 자동화추정도구

🎈 네트워크 관련 신기술

  1) IOT : 사람과 사물,사물과 사물 
  2) Mesh Network : 대규모 디바이스의 네트워크 생성에 최적화, 차세대 이동통신, 홈 네트워킹, 공공안전 등
                    특수 목적을 위한 새로운 방식
  3) Wi-sun : 저전력 장거리 통신기술
  4) SDN : 네트워크를 컴퓨터처럼 모델링
  5) PICONET : UWB통신기술 또는 블루투스 기술
  6) Ad-hoc Network : 재난 현장
  7) Network Slicing : 5G
  8) NFC : 고주파, RFID기술의 일종

🎈 암호 알고리즘

  - 개인키 암호방식 : 동일한 키로 데이터를 암호화하고 복호화한다 ,비밀키는 DB사용 권한이 있는 사용자만 가짐
        1) 블록 암호화 : DES,AES,SEED,ARIA
        2) 스트림 암호화 : RC4, LFSR
  - 공개키 암호방식 : 데이터를 암호화할때 사용하는키는 DB사용자에게 공개하고 복호화 할때의 키는 관리자가 관리
        -종류 : RSA,Diffie-Hellman


Share Tweet +1