1. 모듈화
- 정의
- 모듈의 독립성은 결합도와 응집도에 의해 측정되며, 독립성을 높이려면 모듈의 결합도를 약하게 하고 응집도를 강하게 하며 모듈의 크기를 작게 만들어야 한다.
- 기능 별로 분리하여 구현하면 유지보수에도 용이함 ex)
- 단위 모듈화의 원리 < 정 / 분 / 추 / 모 >
- 정보은닉 - 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허횽하는 것
- 분할과 정복 - 복잡한 문제를 분해하여, 모듈 단위로 문제를 해결하는 것
- 데이터 추상화 - 각 모듈 자료구조를 엑세스하고 수정하는 함수 내 자료구조 표현 내역을 감춤
- 모듈 독립성 - 모듈간의 독립성이 강한 모듈은 낮은 결합도와 높은 응집도를 지향
- 모듈화의 장점
- 프로그램의 효율적인 관리 및 성능 향상
- 소프트웨어 이해의 용이성 증대와 복잡성 감소
- 기능 분리 가능 / 단순한 인터페이스
- 모듈의 재사용 가능으로 개발과 유지보수 용이
- 모듈 설계 유의사항
- 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
- 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
- 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이면 안된다.
- 유지보수가 용이해야 한다.
2. 결합도
- 정의
- 두 모듈 간의 상호작용 또는 의존도 정도를 나타내는 것
- 모듈 간의 결합도를 약하게 하면 모듈 독립성이 향상
- 결합도의 유형 : 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료 결합도 순으로 결합도가 낮아짐
- 결합도의 유형
3. 응집도
- 정의
- 응집도의 유형 : 우연적 < 논리적 < 시간적 < 절차적 < 통신적 < 순차적 < 기능적
- 응집도가 낮아지면 독립성이 낮아진다
- 응집도가 높아지면 독립성이 높아지고 유지보수가 용이하다
- 특징
- 유사기능 영역구성
- 단일 책임할당
- 함수 간 상호협력
- 응집도 유형 (우리가 논 시절 통은 순기다)
4. 보안 취약성 식별
- 정의
- 응용 프로그램의 보안 취약점, 위협 요소, 허점을 탐지하는 데 도움을 준다.
- 침투 테스트
- 침투 테스트는 시스템을 안전하게 만들기 위해 전문 해커가 공격자보다 먼저 취약점을 찾기 위한 방법
- 침투 테스트 절차
- 정찰 > 탐색 > 접근권한 취득 > 액세스 유지 > 추적 방지
- 취약성에 따른 공격기법
5. API
- 정의
- 응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만드는 인터페이스
6. 배치 프로그램
- 정의
- 사용자와의 상호 작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
- 배치 프로그램의 필수 요소
'정보처리기사 준비 > 프로그래밍 파트 정리' 카테고리의 다른 글
[프로그래밍] 오답 및 요점 정리 (1) | 2024.04.19 |
---|---|
[프로그래밍] 라이브러리, 예외처리, 프로토타입, 프레임워크, 재사용 (0) | 2024.04.16 |
[프로그래밍] 구조체 (0) | 2024.04.12 |
[프로그래밍] C언어-포인터, 배열 (0) | 2024.04.12 |
[프로그래밍] 데이터 입출력, 제어문, 반복문 (0) | 2024.04.11 |