3 분 소요

정리 노트

구조적 다이어그램 📘 1과목_C2 UML

  • 클래스 다이어그램
    • 클래스와 클래스 사이의 관계를 표현
    • 시스템의 구조와 문제점을 파악할 수 있음
  • 객체 다이어그램
    • 클래스의 인스턴스를 객체 간의 관계로 표현
  • 컴포넌트 다이어그램
    • 구현 단계에서 사용
    • 컴포넌트 간의 인터페이스를 표현
  • 배치 다이어그램
    • 구현 단계에서 사용
    • 물리적인 요소인 결과물이나 컴포넌트 등의 위치를 표현
  • 복합체 구조 다이어그램
    • 복합적 구조를 갖는 컴포넌트, 클래스 등의 내부 구조를 표현
  • 패키지 다이어그램
    • 모델 요소들을 그룹화한 패키지들의 관계 표현


구조적 다이어그램 📘 1과목_C4 소프트웨어 아키텍처


   " 표현, 프로세스, 비즈니스, 데이터 접근 계층 "


애자일의 핵심가치 📘 1과목_C1 소프트웨어 생명주기 모델

  • 절차보다 상호작용에 더 가치를 둠
  • 방대한 문서보다는 실행되는 소프트웨어어에 더 가치를 둠
  • 계약 내용보다는 고객과의 협업에 더 가치를 둠
  • 계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둠


XP(eXtreme Programming)의 기본 원리 📘 1과목_C1 소프트웨어 생명주기 모델

  • Fine scale feedback
    • Pair Programming
    • Planning Game
    • Test Driven Development : 선 단위 테스트 후 실제 코드 작성
    • Whole Team
  • Continuous process
    • Continuous Integration
    • Design Improvement
    • Small Releases
  • Shared understanding
    • Coding Standards
    • Collective Ownership
    • Simple Design
    • System Metaphor
  • Programmer welfare
    • Sustainable Pace


프레임워크의 특징 📘 1과목_C1 소프트웨어의 분류와 특성


   " 모듈화, 재사용성, 제어의 역 흐름, 확장성 "


요구사항 검증 기법 📘 1과목_C2 요구사항 정의


   " 요구사항 검토, 프로토타이핑, 모델 검증, 인수 테스트 "


요구사항 관리 도구 📘 1과목_C2 요구사항 정의

  • 프로젝트 생성: 타입 및 기본 모듈 템플릿, 역할별 뷰를 설정하여 프로젝트 생성
  • 요구사항 작성: 모든 요구사항에 고유 ID가 생성, 부여되고 사용자에 의해 임의 변경 불가능
  • 파일 내보내기/가져오기: 요구사항의 일괄 등록 및 추출, 다양한 형식 파일 지원
  • 이력 관리: 요구사항별로 히스토리를 제공하여 변경 이력 관리
  • 베이스라인: 요구사항이 베이스인지 구분하기 위한 기능
  • 협업 환경: 공유 모드를 제공하고 선점 사용자 외에는 수정 및 삭제 제한
  • 외부 연동 환경: 설계 도구, 형상 관리 도구와의 연동 지원
  • 확장성: API를 통해 타 시스템과의 연동 기능 제공


SPICE🔥 📘 1과목_C1 소프트웨어 개발 방법론 활용


   " 불안정 > 수행 > 관리 > 확립 > 예측 > 최적화 "


설계 단계 산출물🔥 📘 1과목_C1 소프트웨어 개발 방법론 활용

  • 클래스 설계서
  • 사용자 인터페이스 설계서
  • 인터페이스 설계서
  • 아키텍처 설계서
  • 총괄시험 계획서
  • 시스템시험 시나리오
  • 엔티티 관계 모형 기술서
  • 데이터베이스 설계서
  • 통합시험 시나리오
  • 단위시험 케이스
  • 데이터 전환 및 초기 데이터 설계서


HIPO(Hiercharchy Input Process Output) 📘 1과목_C2 요구사항 정의

  • 시스템의 기능을 고유한 모듈로 분할하고 이들 간의 인터페이스를 계층 구조로 표현한 양식
  • 입력, 처리, 출력으로 기본 시스템 모델이 구성됨
  • 하향식 소프트웨어 개발을 위한 문서화 도구
  • 기호, 도표 등을 사용해서 직관적이며 기해가 쉬움
  • 기능과 자료의 의존 관계를 동시에 표현할 수 있음
  • 수정 및 유지 보수에 좋고 소규모 프로젝트에 적합
  • 종류에는 가시적, 총체적 세부적 도표 등이 있음


CLASP(Comprehensive, Lightweight Application Secrity Process) 📘 1과목_C2 요구사항 정의

  • 소프트웨어 개발 생명 주기 초기 단계의 보안을 강화하기 위해 정형화된 절차
  • 활동 중심 역할 기반 프로세스로 구성된 집합체
  • 이미 운영중인 시스템에 적용하기 좋음
  • 개념, 역할 기반, 활동 평가, 활동 구현, 취약성의 5가지 관점에서 따라 개발 보안 절차를 진행


비점증적 통합테스트 방식 📘 2과목_C4 개발 단계에 따른 애플리케이션 테스트


   " 모든 모듈을 통합하여 전체 프로그램을 한 번에 테스트 "


블랙박스 테스트🔥 📘 2과목_C4 애플리케이션 테스트


   " 프로그램의 기능, 결과를 위주로 테스트 "


SQL 응용 📘 3과목_C2 SQL 응용


   " A테이블이 B필드가 C테이블의 D필드를 참조하고 있을 때,
B필드를 못 삭제하도록 하는 명령어는 RISTRICT "

  • 🔥 둘다 변경 또는 삭제되는 것은 CASCADE


Trigger 📘 3과목_C3 SQL 활용


   " Trigger는 특정 테이블에 삽입, 수정등의 데이터 변경이 발생하면
Procedure는 호출을 해주어야 실행되고 매일 또는 주기적으로 반복되는 작업에 사용"


순수 관계 연산자🔥 📘 3과목_C1 정규화


   " SELECT, PROJECT, JOIN , Devision "


정규화의 장단점 📘 3과목_C1 정규화

  • 장점
    • 데이터의 정확성이 높아짐
    • 데이터 구축이 유연해짐
  • 단점
    • 물리적 접근이 복잡해짐
    • 조인이 많아짐


가상기억장치의 구현 기법 📘 4과목_C4 기억장치 관리

  • 페이징 기법
    • 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 페이지를 동일하게 나눠진 주기억장치의 영역에 적재하는 기법
    • 외부 단편화는 발생하지 않지만, 내부 단편화는 발생할 수 있음
    • 페이지의 위치정보를 저장하는 페이지 맵 테이블을 사용해야 하므로 비용이 증가하고 처리 속도가 감소
  • 세그멘테이션 기법
    • 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 세그먼트로 나눈 후 주기억장치에 적재
    • 기억장치의 사용자 관점을 보존하는 기억장치 관리 기법
    • 내부 단편화는 발생하지 않지만, 외부단편화는 발생
    • 세그먼트의 위치정보를 저장하는 세그먼트 맵 테이블과 서로의 영역을 침범하지 않게 기억장치 보호키가 필요


배치 프로그램의 필수 요소 📘 4과목_C4 기억장치 관리


   " 배치 프로그램이란 사용자의 명령 입력 없이 특정 작업들을 주기적으로 반복 수행하거나 일괄적으로 처리하는 프로그램 "

  • 대용량 데이터: 대용량의 데이터를 처리할 수 있어야함
  • 자동화: 일반적인 상황에서는 사용자의 개입 없이 동작되어야 함
  • 견고함: 예외 처리를 하여 중단되지 않아야함
  • 안정성: 발생한 문제에 대해 분석, 추적이 가능해야함
  • 성능: 주어진 시간 내에 다른 애플리케이션을 방해하지 않고 처리를 완료할 수 있어야함


제어/처리 프로그램 📘 4과목_C4 운영체제

  • 제어 프로그램
    • 모니터링
    • 작업제어
    • 데이터 관리
  • 처리 프로그램
    • 언어 번역
    • 서비스
    • 문제해결 응용

업데이트:

댓글남기기