220212_정리노트 5
정리 노트
소프트웨어 아키텍처의 개념 📘 1과목_C4 소프트웨어 아키텍처
- 구성 요소의 유기적인 결합 형태와 전체 구조
- 설계 및 구현을 위한 구조적인 틀
- 모듈이나 컴포넌트들과의 관계를 정의
- 개발에서 요구되는 기능이나 품질을 확보하고, 개선이 용이하도록 함
- 소프트웨어 품질 요구사항은 소프트웨어 아키텍처를 결정하는데 중요한 요소
프로젝트 관리의 3P 📘 1과목_C3 소프트웨어 생명주기 모델
명세서 작성 시 고려사항 📘 1과목_C2 요구사항 정의
- 고객과 개발자가 이해하기 쉽게
- 시스템의 모든 기능과 제약조건 기술
- 요구사항 검증을 위해 품질 측정 및 검증 방법, 기준 등 기술
- 우선순위에 따른 중요도 기술
UI 개발 시스템의 필수기능 📘 1과목_C3 UI 설계
- 사용자의 명령을 받을 수 있는 프롬프트 기능
- 사용자의 명령을 검증하는 기능
- 결함(error) 처리와 결함 메시지 출력 기능
- 도움말 지원 기능
CWE(Commom Weakness Enumeration) 📘 1과목_C1 소프트웨어 개발 방법론 활용
- 입력 데이터 검증 및 표현
- 보안 기능
- 시간 및 상태
- 에러 처리
- 코드 오류
- 캡슐화
- API 오용
CVS 📘 2과목_C2 통합 구현 도구
서버 저장소에 클라이언트가 접속해서 버전 관리 "
델파이 기법 📘 2과목_C2 연계 통합 도구
인터페이스 데이터 표준 📘 2과목_C 인터페이스 구현
- 인터페이스 데이터 형태가 같은 경우
- 송신 시스템에서 인터페이스 데이터 영역에 맞는 데이터를 전송
- 인터페이스 데이터 형태가 다른 경우
- 송신 시스템에서 인터페이스 데이터 영역에 맞게끔 데이터를 변환하여 전송
반환시간 응답시간 📘 2과목_C4 성능 분석 및 품질 평가
- 응답 시간: 처음 CPU를 얻는데 기다린 시간
- 반환 시간: 프로그램 제출 혹은 시작된 후 최종 결과물까지 소요되는 시간
인터페이스 구현 검증 도구🔥 📘 2과목_C5 인터페이스 구현
- xUnit: java, C++ 등 다양한 언어를 지 원하는 단위 테스트 프레임워크
- STAF: 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- FitNesse: 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크
- NTAF: Naver 테스트 자동화 프레임워크이며, STAF와 FitNesse를 통합한 프레임워크
- Selenium: 다양한 브라우저(웹) 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir: Ruby 기반 웹 애플리케이션 테스트 프레임워크
해싱 함수 📘 2과목_C1 탐색
- 계산법
- 키를 특정 값으로 나눈 나머지 값으로 저장할 위치를 결정하는 방법
- 해시 테이블의 크기, 소수, 전체 데이터 수 등을 사용
- 폴딩법
- 키를 여러 부분으로 나누어 부분별 숫자의 합연산이나 XOR연산의 결과로 위치를 결정
- 제곱법
- 키를 제곱한 결과의 일부분으로 위치를 결정
- 숫자 분석법
- 키의 숫자 분포를 파악하여 분포가 고른 부분을 이용하여 위치를 결정하는 방법
- 기수 변환법
- 키의 값을 다른 진법으로 변환하여 결과값으로 위치를 결정하는 방법
- 의사 무작위법
- 난수를 이용하여 위치를 결정하는 방법
스토리지의 종류 📘 3과목_C4 물리 데이터 모델 설계
- DAS(Direct Attached Storage)
- 서버와 저장장치를 전용 케이블로 직접 연결하는 방식으로 일반 가정에서 컴퓨터에 외장하드를 연결하는 방식
- 서버 측에서 저장장치를 관리하여 다른 서버에서 접근 및 파일 공유가 불가능
- 속도가 빠르고 설치 및 운영이 용이하여 초기 구축 비용 및 유지보수 비용이 저렴
- 확장성 및 유연성이 상대적으로 떨어지므로 저장 데이터가 적고 공유가 필요없는 환경에 적합
- NAS(Network Attached Storage)
- 서버와 저장장치를 네트워크를 통해 연결하는 방식
- 별도의 파일 관리 기능이 있는 NAS Storage가 내장된 저장장치를 관리함
- Ethernet 스위치를 통해 다른 서버에서도 스토리지에 접근할 수 있고 확장성 및 유연성이 우수
- 파일 공유가 가능하지만 접속 증가 시 성능 저하의 우려가 있음
- SAN(Storage Area Network)
- DAS의 빠른 처리와 NAS의 파일 공유의 장점을 혼합한 방식
- 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성
- 저장장치 및 파일 공유가 가능하고 확장성, 유연성, 가용성 뛰어남
- 장비 업그레이드가 필수이며 비용이 많이 듦
E-R 다이어그램 📘 3과목_C1 E-R 다이어그램
- 표기법
- 개체: 사각형
- 속성: 타원
- 관계: 동그라미
- 스키마 변환 원리
- 분해의 원칙
- 정보 무손실 원칙
- 데이터 중복 감소의 원칙
- 이상 현상
- 정의: 잘못된 스키마 설계로 인해 릴레이션에 예기치 못한 현상이 발생
- 종류
- 삭제 이상: 특정 튜플을 삭제할 때, 고나련된 정보도 함께 삭제하지 않으면 삭제 불가
- 삽입 이상: 특정 튜플을 삽입할 때, 관련되지 않은 정보도 함께 삽입하지 않으면 삽입이 불가능
- 갱신 이상: 특정 데이터를 갱신할 때, 데이터의 불일치가 발생
UPDATE문 📘 3과목_C2 SQL 응용
DBMS 필수기능 📘 3과목_C1 관계형 데이터 베이스
논리적 설계 단계 📘 3과목_C3 논리 데이터 모델링
- 논리적 데이터베이스 구조로 매핑
- 트랜잭션 인터페이스를 설계
- 스키마의 평가 및 최적화
물리적 설계 단계 📘 3과목_C3 논리 데이터 모델링
- 레코드 분석 및 형식 설계
- 저장 레코드 등을 클러스터링
- 접근 경로 설계
운영 데이터 📘 3과목_C1 데이터베이스 관리 시스템
HDBMS 📘 3과목_C1 관계형 데이터베이스
- 🔥 데이터 접근 속도가 빠르지만, 데[이터 구조 변화에 유연하게 대응하기 어려움
- 🔥 속성들의 관계를 묶어 레코드로 표현하고, 레코드들의 관계를 링크로 표현
무결성 제약사항 📘 3과목_C1 관계형 데이터베이스
- 도메인 무결성: 하나의 속성에 입력되는 값이 지정된 도메인의 범위를 벗어나지 않음
- 개체 무결성: 기본키로 지정된 속성은 중복값과 Null값이 있어서는 안됨
- 참조 무결성: 외래키로 지정된 속성은 참조하는 기본키에 존재하지 않는 값을 입력할 수 없음
스래싱(Thrashing) 📘 4과목_C4 기억장치 관리
- 페이지 부재가 많이 발생
-
CPU 이용률 감소
- 방지하는 방법
- 다중 프로그램의 정도를 적정 수준으로 유지
- 페이지 부재 빈도를 조절하여 사용
- 워킹 셋을 유지
- 부족한 자원을 증설하고, 일부 프로세스를 중단
- CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영
윈도우즈의 특징 📘 4과목_C4 운영체제
- PnP
- 선점형 멀티태스킹: 특정 응용프로그램이 CPU 독점하는 것 방지
- OLE: 응용 프로그램에서 작성된 이미지, 차트 등의 개체를 다른 문서에서 자유롭게 연결하여 사용 가능
- 그래픽 사용자 인터페이스
- Single-User 시스템
프로세스 스케줄링 개념 📘 4과목_C4 프로세스
- 장기 스케줄링: 어떤 프로세스를 커널에 등록할 것인지
- 중기 스케줄링: 어떤 프로세스에게 메모리르 할당할 것인지
- 단기 스케줄링: 어떤 프로세스에게 CPU를 할당할 것인지
댓글남기기