응집도 / 결합도 중요 필수 암기
1. 응집도 (Cohesion)
- 모듈의 독립성을 나타내는 정도 / 응집도가 높을 수록 좋은 품질
[응집도의 유형 - 우논시절 통순기]
1) 우연적 (Coincidental)
- 모듈 내부의 각 구성요소가 연관이 없을 경우
2) 논리적 (Logical)
- 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
3) 시간적 (Temporal)
- 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
4) 절차적 (Procedural)
- 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
5) 통신적 (Communication)
- 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있는 경우
6) 순차적 (Sequential)
- 모듈 내에서 한 활동으로부터 나온 출력값이 다른 활동이 사용할 경우
7) 기능적 (Functional)
- 모듈 내부의 모든 기능이 단일한 목적으로 수행되는 경우
2. 결합도 (Coupling)
- 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호 의존성 / 결합도가 낮을수록 좋은 품질
[결합도의 유형 - 내공 외제 스자]
1) 내용 (Content)
- 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
2) 공통 (Common)
- 모듈 밖에 선언된 전역 변수를 참조 / 전역 변수를 갱신으로 상호작용하는 경우
3) 외부 (External)
- 두개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우
4) 제어 (Control)
- 단순 처리 대상인 값만 전달 되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
5) 스탬프 (Stamp)
-모듈간 인터페이스로 배열이나 객체, 구조 등이 전달 되는 경우
6) 자료 (Data)
- 모듈간 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우
3. MVC
1) Model
- 애플리케이션이 무엇을 할 것인지를 정의 / 내부 비지니스 로직을 처리하기 위한 역할
2) View
- 화면에 무엇인가를 보여주기 위한 역할 / 모델, 컨트롤러가 보여주려고 하는 것들을 화면에 처리
3) Controller
- 모델이 어떻게 처리할지를 알려주는 역할 / 뷰에 명령을 보내어 화면 요청 결과를 전달
4. 공통 모듈 테스트 개념
1) 통합 개발 환경 (IDE,Integrated Development Environment)
- 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어
/ 이클립스, Visual Studio
2) 디버깅
- 컴퓨터 프로그램의 논리적인 오류를 검출하여 제거하는 과정
5. 화이트박스(White Box) 테스트의 개념
- 내부 소스코드의 동작을 개발자가 추적할 수 있어 동작의 유효성 뿐만아니라 실행되는 과정을 살펴봄으로써 불필요한 코드 혹은 테스트 되지 못한 코드를 살펴볼 수 있음
6. 루틴(Routine)
- 소프트웨어에서 특정 동작을 수행하는 일련의 코드 / 기능을 가진 명령어들의 모임
7. Fan-in / Fan-out
1) Fan-in
- 어떤 모듈을 제어(호출) 하는 모듈의 수 / Fan-in이 높을 경우 재사용 측면에서 설계가 잘 되었지만 단일 장애점 발생 -> 관리 비용 및 테스트 비용 증가
2) Fan-out
- 어떤 모듈에 의해 제어(호출)되는 모듈의 수 / Fan-out 이 높을 경우 불필요한 모듈 호출 여부 검토 필요 / 단순화 여부 검토 필요
8. Mybatis
- ORM(Object Relation Mapping) 도구 중 하나 / 객체 지향 언어인 자바의 관계형 DB프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크
9. DAO (Data Access Object)
- 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체로 세부 내용 노출 없이 데이터 조작
10. DTO(Data Transfer Object)
- 프로세스 사이에서 데이터를 전송하는 객체 / 데이터 저장,회수 외에 다른 기능 없음
11. VO(Value Object)
- 간단한 엔티티를 의미하는 작은 객체 가변 클래스인 DTO와 달리 고정 클래스를 가짐
'정보처리기사 실기' 카테고리의 다른 글
[ 정처기 실기 ] 서버 프로그램 구현 #1 / 개발환경 구축 (0) | 2022.04.26 |
---|---|
[ 정처기 실기 ] 통합 구현 #3 / 내외부 연계 모듈 구현 (0) | 2022.04.22 |
[ 정처기 실기 ] 통합 구현 #2 / 연계 메커니즘 구성 (0) | 2022.04.22 |
[ 정처기 실기 ] 통합 구현 #1 / 연계 데이터 구성 (0) | 2022.04.22 |
[ 정처기 실기 ] 데이터 입출력 구현 #2 / 물리 데이터 저장소 확인 (0) | 2022.04.21 |