공통 모듈 구현

공통 모듈 구현

1. 모듈

 - 하나의 완전한 기능을 수행할 수 있는 독립된 실체

 

2. 모듈화

 - SW의 성능을 향상시키거나 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법

 

3. 모듈화 기법

기법 설명
루틴 SW에서 특정 동작을 수행하는 일련의 코드로서 기능을 가진 명령들의 모임
메인 루틴 프로그램의 주요한 부분. 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴
서브 루틴 메인 루틴에 의해 필요할 때마다 호출되는 루틴

 

4. 응집도 (Cohesion)

 - 모듈의 독립성을 타나내는 정도. 모듈 내부 구성요소간 연관 정도 (낮을수록 나쁜 품질, 높을수록 좋은 품질)

 

5. 응집도의 유형

유형 설명
우연적 응집도
(Coincidental Cohesion)
(가장 낮음) (나쁜 품질)
모듈 내부의 각 구성요소연관이 없을 경우
논리적 응집도
(Logical Cohesion)
유사한 성격, 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
시간적 응집도
(Temporal Cohesion)
특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
절차적 응집도
(Procedural Cohesion)
모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
통신적 응집도
(Communication Cohesion)
동일한 입출력을 사용하여, 다른 기능을 수행하는 활동들이 모여있는 경우
순차적 응집도
(Sequential Cohesion)
한 활동으로부터 나온 출력 값 다른 활동이 사용할 경우
기능적 응집도
(Functional Cohesion)
(가장 높음) (좋은 품질)
모듈 내부 모든 기능단일한 목적을 위해 수행는 경우

 

6. 결합도 (Coupling)

 - 모듈 내부가 아닌 외부 모듈과의 연관도 or 모듈 간의 상호 의존성 (높을수록 나쁜 품질, 낮을수록 좋은 품질)

 

7. 결합도의 유형

유형 설명
내용 결합도
(Content Coupling)
(가장 높음) (나쁜 품질)
다른 모듈 내부에 있는 변수 or 기능다른 모듈에서 사용하는 경우
공통 결합도
(Common Coupling)
파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 갱신하는 식으로 상호작용하는 경우
외부 결합도
(External Coupling)
두 개의 모듈외부에서 도입된 인터페이스를 공유할 경우
제어 결합도
(Control Coupling)
어떤 모듈이 다른 모듈의 내부 논리 조작을 제어하기 위한 목적으로 제어 신호를 이용해 통신하는 경우
스탬프 결합도
(Stamp Coupling)
인터페이스배열, 객체, 구조 등이 전달되는 경우
자료 결합도
(Data Coupling)
(가장 낮음) (좋은 품질)
파라미터를 통해서만 상호작용이 일어나는 경우

 

8. MVC 패턴 역할

구분 역할
모델(Model) 애플리케이션이 무엇을 할 것인지를 정의
(View) 화면에 무엇인가를 보여주기 위한 역할
컨트롤러(Controller) 모델이 어떻게 처리할지를 알려주는 역할

 

9. 팬인(Fan-In) 팬아웃(Fan-Out)

 - SW의 구성요소인 모듈을 계층적으로 분석하기 위해 활용

    - 팬인 : 어떤 모듈을 제어(호출)하는 모듈의 수

    - 팬아웃 : 어떤 모듈에 의해 제어(호출)되는 모듈의 수

'정보처리기사 > DB' 카테고리의 다른 글

소프트웨어 개발 보안 설계 2  (0) 2023.04.03
소프트웨어 개발 보안 설계 1  (0) 2023.04.01
개발환경 구축  (0) 2023.03.30
집계성 SQL 작성  (0) 2023.03.29
트랜잭션 2  (0) 2023.03.29