프로토콜 [구타의]
데이터 교환을 원활히 하기 위한 일련의 통신규약, 기술적 은어
- 구문, 타이밍, 의미
TCP [흐혼오재]
신뢰성이 있는 연결 지향형 전달 서비스
- 흐름 제어, 혼잡 제어, 오류제어, 재조립
UDP
비연결성, 비신뢰성, 비순서화인 데이터그램 서비스를 제공하는 전송 계층의 통신 프로토콜
형상관리 [식통감기]
소프트웨어 개발 전체 과정에서 발생하는 모든 항목의 변경 사항 관리 활동
- 형상 식별 : 형상 관리 대상을 정의, 식별하는 활동
- 형상 통제 : 형상 항목의 버전 관리를 위해서 변경 여부와 변경 활동을 통제
- 형상 감사 : 소프트웨어 베이스라인의 무결성 평가
- 형상기록 : 소프트웨어 형상 및 변경관리에 대한 각종 수행 결과 기록
정규화 [원부이 결다조]
관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
- 1정규화 : 도메인이 원자값
- 2정규화 : 부분 함수 종속 제거
- 3정규화 : 이행 함수 종속 제거
- BCNF : 결정자 함수이거나 후보키가 아닌 것 제거
- 4정규화 : 다치 종속 제거
- 5정규화 : 조인 종속 제거
반정규화
성능 향상과 운영의 편의성을 위해 고의적으로 정규화에 위배되는 중복을 수행
응집도 [우논시절통순기] →
모듈 내부 구성요소 간 연관 정도 | 응집도는 높게
- 우연적 응집도 : 모듈 내부의 각 구성요소들이 연관이 없을 경우
- 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리
- 시간적 응집도 : 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 절차적 응집도 : 모듈이 다수의 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행
- 통신적 응집도 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있음
- 순차적 응집도 : 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우
- 기능적 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
결합도 [자스제외공내] ←
모듈과 모듈 간 연관도 또는 모듈 간의 상호의존성 | 결합도는 낮게
- 자료 결합도 : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용함
- 스탬프 결합도 : 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
- 제어 결합도 : 단순 처리할 대상인 값과 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
- 외부 결합도 : 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유
- 공통 결합도 : 모듈 밖에서 선언된 전역 변수를 참조하고 갱신하는 등 상호 작용
- 내용 결합도 : 다른 모듈 내부에 있는 지역 변수나 기능을 다른 모듈에서 사용하는 경우
OSI 7계층 [물데네전세표응, 아파서티내다피]
- 응용 계층 : 사용자 또는 애플리케이션이 네트워크에 접근할 수 있도록 도와주는 인터페이스를 담당하는 계층
- 표현 계층 : 데이터의 변환, 압축, 암호화를 담당하는 계층
- 세션 계층 : 응용 프로그램 간의 연결을 성립하게 하고 연결이 안정되게 유지관리하며, 작업 완료 후 연결을 끊는 역할을 담당하는 계층
- 전송 계층 : 단말기 사이(종단과 종단 사이)에서 오류 수정과 흐름 제어 혼잡 제어를 수행하여 신뢰성 있고 세그먼트를 전달하는 계층
- 네트워크 계층 : 패킷이 최종 목적지에 도달하도록 경로를 정하여 최적으로 데이터를 전송하는 계층
- 데이터링크 계층 : 노드와 노드 사이의 데이터를 전송하며, 상위의 계층이 물리 계층을 정상적인 상태로 인식할 수 있게 도와주는 계층
- 물리 계층 : 두 장비 간의 전송을 위한 연결이나 전달 등의 인터페이스의 기계적, 전기적, 절차적 특성을 정의하며 비트를 물리적인 매체를 통해 전송하는 계층
UI 설계 원칙 4요소 [직유학유]
- 직관성 : 누구나 쉽게 사용할 수 있어야 한다.
- 유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있어야 한다.
- 학습성 : 누구나 쉽게 배우고 사용할 수 있어야 한다.
- 유연성 : 사용자의 인터렉션을 최대한 포옹하고 실수를 방지할 수 있어야 한다.
요구사항 개발 프로세스 [도분명확]
도출 → 분석 → 명세 → 확인 및 검증
요구사항 관리 단계 [협기변확]
협상 → 기준선 설정 → 변경관리- → 확인 및 검증
럼바우의 분석 기법 [객동기]
모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법.
- 객체 모델링 : 객체 다이어그램으로 표시하는 것
- 동적 모델링 : 상태 다이어그램을 이용하여 동적인 행위 표현
- 기능 모델링 : 자료 흐름도를 이용하여 처리 과정을 표현한 모델링
인터페이스 구현 검증 도구 [엑스피엔셀웨]
- xUnit : 다양한 언어를 지원하는 단위 테스트 프레임워크
- STAF : 다양한 환경을 지원, 데몬 사용하여 테스트 수행/통합/자동화
- FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원
- NTAF : FitNesse + STAF
- Selenium : 다양한 브라우저와 개발언어를 지원하는 웹 애플리케이션
- watir : Ruby 기반 웹 애플리케이션 테스트 프레임워크
* Ruby : 프로그래밍 언어
GOF 디자인 패턴 [생구행]
SW 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법
생성 | Builder | 복잡한 인스턴스를 조립하여 만드는 구조, 객체 생성과 구현을 분리함으로써 동일한 절차에 다른 결과를 만드는 것이 가능 |
Prototype | 일반적인 원형을 만들어 놓고, 그것을 복사한 후 필요 부분만 수정하여 사용 | |
Factory Method | 상위 클래스에서 객체 생성 인터페이스 정의, 하위 클래스에서 인스턴스 생성 | |
Abstract Factory | 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공 구체적인 구현은 Con-crete Product 클래스에서 이루어짐 |
|
Singleton | 전역 변수 사용하지 않고, 객체 하나만 생성, 생성된 객체는 어디서든지 참조 가능 한 클래스에 한 객체만 존재 |
|
구조 | Bridge | 기능 클래스 계층과 구현 클래스 계층 연결, 구현부에서 추상층 분리 실제 구현 부분을 독립적으로 확장할 수 있음 |
Decorator | 기존에 구현되어 있는 클래스에 필요 기능을 추가해나감 | |
Facade | 단순 인터페이스 제공, 사용자와 시스템 간 결합도 낮춤 → 쉬운 구조 파악 가능, 접근성 높일 수 있음 |
|
Flyweight | 모두가 갖는 본질적 요소를 클래스 화하여 공유 → 메모리 절약, 클래스의 경량화 | |
Proxy | 실제 객체에 대한 대리 객체를 사용 → 메모리 용량↓, 정보은닉 | |
Composite | 객체들의 관계를 트리 구조로 구성, 부분-전체 계층을 표현하는 패턴 | |
Adapter | 기존에 생성된 클래스를 재사용할 수 있도록 맞춰주는 인터페이스 패턴 클래스 패턴, 인스턴스 패턴 두 가지 형태로 사용 |
|
행위 | Mediator | 중재자를 만들어 중재자에게 모든 것을 요구하여 통신 빈도수를 낮추는 패턴 |
Interpreter | 언어의 다양한 해석을 맞는 클래스를 각각 작성하여 여러 형태의 언어 구문을 해석할 수 있게 만드는 패턴 |
|
Iterator | 컬렉션 구현 방법을 노출하지 않으면서 그 집합체 안에 들어있는 모든 항목에 접근할 방법을 제공 |
|
Template Method | 작업 처리 일부분을 서브 클래스로 캡슐화해 전체 수행 구조는 바꾸지 않으면서 특정 단계 수행 내역을 바꾸는 패턴 (상위 작업 구조를 바꾸지 않으면서 서브 클래스로 작업 일부분 수행) |
|
Observer | 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에 연락이 가고, 자동으로 내용이 갱신되는 방법(일대 다) |
|
State | 객체 상태를 캡슐화하여 클래스화함으로써 그것을 참조하게 하는 방식 상태에 따라 다르게 처리할 수 있도록 행위 내용 변경 가능 |
|
Visitor | 각 클래스에서 처리 기능을 분리, 별도 클래스 생성 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴 |
|
Command | 실행될 기능을 캡슐화, 여러 기능 실행 가능한 재사용성이 높은 클래스를 설계 추상 클래스에 메서드 생성, 명령이 들어오면 그에 맞는 서브 클래스가 선택되어 실행 |
|
Strategy | 알고리즘 정의 후 각각 하나의 클래스로 캡슐화, 필요할 때 서로 교환해서 사용할 수 있게 하는 패턴 → 행위 객체를 클래스로 캡슐화 해 동적으로 자유롭게 변환 |
|
Memento | 클래스 설계 관점에서 객체의 정보를 저장할 필요가 있을 때 적용, Undo | |
Chain of Responsibility | 정적으로 어떤 기능에 대한 처리의 연결이 하드코딩 되어 있을 때 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결한 것 |
'자격증 > 정보처리기사' 카테고리의 다른 글
내가 공부하려고 정리하는 정보처리기사 실기 정리 (6/6) (1) | 2021.10.03 |
---|---|
내가 공부하려고 정리하는 정보처리기사 실기 정리 (5/6) (0) | 2021.10.02 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (4/6) (0) | 2021.10.01 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (3/6) (1) | 2021.09.30 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (2/6) (1) | 2021.09.29 |
댓글