정보처리기사 실기

[ 정처기 실기 ] 서버 프로그램 구현 #2 / 공통 모듈 구현

Josh 2022. 4. 26. 19:39
반응형

응집도 / 결합도 중요 필수 암기

 

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와 달리 고정 클래스를 가짐

 

 

 

반응형