1-1. 공통 모듈 식별 및 명세
1-2. 공통 모듈 설계
1-3. 공통 모듈 인덱스 및 기능 코드 설계
1-1. 공통 모듈 식별 및 명세
: 공통 모듈, 기능 명세, 화면 설계, 로직 설계, UML, 모듈화, 아키텍쳐 시스템 연동, 미들웨어
[1] 공통 모듈
모듈
: 특정 기능을 처리할 수 있는 실행 코드, 자체 컴파일과 재사용이 가능
공통 모듈
: 여러 기능 및 프로그램에서 공통적으로 사용할 수 있는 모듈
정확성 | |
명확성 | |
완전성 | |
일관성 | |
추적성 |
[2] 재사용
: 개발 시간 및 비용 절감을 위해 검증된 기능을 파악하고 재구성해 적합하게 최적화 하는 작업
분 류 | 내 용 |
함수와 객체 재사용 | 클래스나 메소드 단위 재사용 |
컴포넌트 재사용 | 컴포넌트 단위 재사용, 컴포넌트 수정없이 인터페이스를 통해 통신 |
애플리케이션 재사용 | 공통된 업무의 기능이 구현된 애플리케이션 공유 |
-> 재사용과 관련된 내용이 이해하기 쉽고, 누구나 사용가능하도록 사용법 공개
-> 외부 모듈과의 연관성(결합도)는 적고, 자체적인 완성도(응집도)는 높아야 한다.
[3] 유스케이스 및 관계
유스케이스 : 통합 모델링 언어(UML)에서 시스템에 제공되는 고유기능단위, 액터를 통해 시스템이 수행하는 일의 목표
관계 :
관계 | 설명 |
포함 | 시스템의 기능이 별도의 기능을 포함 |
확장 | 특별한 조건을 만족할 때 수행하는 유스케이스 |
1-2. 공통 모듈 설계
[1] 모듈화
: 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화해 성능을 향상시키거나 시스템의 수정 및 재사용, 유지관리를 용이하게 하는 기법
필요성
: 모듈의 크기가 작아서 많으면 -> 통합 비용의 증가
: 모듈의 크기가 크면 -> 개별 비용의 증가
-> 모듈 개수와 노력 비용의 최소비용영역 찾기
[2] 응집도
: 모듈 내부에서 구성 요소 간에 밀접한 관계를 맺고 있는 정도
-> 응집도가 높음= 필요한 요소로 구성
-> 응집도가 낮음= 관련이 적은 요소로 구성
구분 | 설명 |
기능적 응집도 | 응집도 높음 [좋은 품질] |
순차적 응집도 | |
통신적 응집도 | |
절차적 응집도 | |
시간적 응집도 | |
논리적 응집도 | |
우연적 응집도 | 응집도 낮음 [나쁜 품질] |
[3] 결합도
: 모듈간의 어느정도 관련성이 있는지 나태냄
-> 결합도가 낮음 = 모듈의 독립성이 높음 : 모듈 간 영향이 적음
-> 결합도가 높음 = 모듈의 독립성이 낮음 : 모듈 간 영향이 크다
구분 | 설명 |
자료 결합도 | 결합도 낮음 [높은 품질] |
스탬프 결합도 | |
제어 결합도 | |
외부 결합도 | |
공통 결합도 | |
내용 결합도 | 결합도 높음 [낮은 품질] |
[4] 시퀀스 다이어그램
: 객체들간의 어떻게 교류하는지 나타내는 다이어그램으로,
시간의 흐름에 따른 객체 간의 상호 작용을 명세화한 다이어그램
구성 | 설명 |
객체 | |
생명선 | |
실행 | |
메시지 | 객체 간 사홍 작용 매개체, 다른 객체로 메시지를 전달해 오퍼레이션 수행 [인터페이스역할 수행] |
시간 |
1-3. 공통 모듈 인덱스 및 기능 코드 설계
[1] 코드
: 데이터의 사용 목적에 따라 그룹으로 분류 및 나열해 특정 자료의 선별 및 추출 작업을 용이하게 한 기호체계
기능
식별 | 각 데이터 간 성격에 따른 구분 |
분류 | 특정 기준이나 동일한 유형에 대한 그룹화 |
배열 | 의미를 부여하여 나열 |
기타 | 표준화, 간소화, 연상, 암호화, 오류 검출 |
분류
유형 | 설명 |
순차 코드 | |
블록 코드 | |
10진 코드 | |
그룹 분류 코드 | |
연상 코드 | |
표의 숫자 코드 | |
합성 코드 |
[2] 공통 모듈 인덱스
: DB에서 사용할 때 인덱스가 존재하면 모든 블록의 데이터를 조회하지 않아도 색인화된 인덱스 파일로 속도 향상 가능
방법
: 공통 모듈을 유일하게 식별할 수 있는 번호 체계를 부여하여 그룹화와 식별 및 정보 추출을 용이하게 하는 기법
-> 각 단위 시스템에 대한 코드를 설계하고, 공통 기능은 별도 코드 부여해 코드를 기준으로 인덱스 번호를 추가
'Application > Software Service' 카테고리의 다른 글
[소프트웨어 서비스-App 설계] 2. 타 시스템 연동설계하기 (0) | 2021.04.15 |
---|