애플리케이션의 공통 모듈 설계
1. 설계 모델링의 단계
- 요구 사항 수집: 애플리케이션의 목적과 요구 사항을 정확하게 이해하고, 이를 문서화하여 기록
- 분석: 요구 사항을 분석하여 애플리케이션의 기능과 구조를 이해
- 설계: 애플리케이션의 구조와 동작을 설계. 이 단계에서는 대개 UML(Unified Modeling Language)을 사용하여 클래스, 객체, 상속 등의 요소를 모델링함
- 구현: 설계한 모델을 바탕으로 애플리케이션을 개발
- 테스트: 개발된 애플리케이션을 테스트하여 버그를 찾고 수정
2. 소프트웨어 아키텍처
- 애플리케이션의 구조와 동작을 결정
- 애플리케이션의 성능, 유지보수성, 확장성 등에 큰 영향을 미침
3. 소프트웨어 아키텍처의 요소
- 컴포넌트: 애플리케이션의 기능을 수행하는 논리적인 단위, 각 컴포넌트는 독립적으로 개발, 테스트, 배포될 수 있어야 함
- 인터페이스: 컴포넌트 간 상호작용을 위한 규격화된 방법, 인터페이스는 컴포넌트의 독립성과 재사용성을 보장
- 데이터: 애플리케이션에서 사용되는 데이터 구조, 애플리케이션의 동작을 지원하고 데이터의 효율적인 관리를 보장
- 연결: 컴포넌트 간의 연결 방법을 정의. 애플리케이션의 확장성과 유연성을 결정
- 패턴: 일반적인 소프트웨어 디자인 문제를 해결하기 위한 재사용 가능한 설계 템플릿. 패턴은 개발자들이 특정 문제를 해결하는 데 도움을 줌.
4. 재사용
- 이미 개발된 코드, 모듈, 컴포넌트 등을 다른 애플리케이션에서도 사용 가능하도록 만드는 것
- 일관된 코드 작성 규칙을 만들고, 재사용 가능한 모듈과 컴포넌트를 구현하는 것이 중요
- 개발 속도, 유지보수성, 코드 품질 향상, 비용 절감
5. 모듈화
- 하나의 큰 시스템을 여러 개의 모듈로 분해하는 것, 모듈을 독립적으로 다룰 수 있음
- 장점
1) 유지보수성 향상: 각 모듈이 독립적이므로 모듈을 수정하거나 추가하더라도 다른 모듈에 영향을 미치지 않음
2) 코드 재사용성 향상: 모듈화된 코드는 다른 애플리케이션에서도 재사용 가능
3) 개발 생산성 향상: 각 모듈이 독립적이므로 다수가 동시 작업 가능
4) 성능 향상: 작은 모듈들이 여러 개 동시에 실행될 수 있으므로 전체적인 시스템의 성능이 향상될 수 있음
6. 결합도
- 두 모듈이 얼마나 서로 의존하는지를 나타내는 개념
- 모듈 간의 결합도가 낮을수록 모듈의 독립성과 재사용성이 높아지며, 유지보수성도 향상
- 모듈 간의 의존성을 최소화하고, 모듈의 독립성과 재사용성을 높이는 것이 중요
- 방법 : 인터페이스, 추상화, 의존성 주입 등 다양한 기술과 디자인 패턴 활용
7. 응집도
- 모듈 내부의 요소들이 서로 밀접하게 연결되어 있는 정도를 나타내는 속성
- 응집도가 높은 모듈은 유지보수 및 확장에 용이
- 오류 발생 시 해당 모듈만 수정하면 되므로 코드 안정성 향상
- 응집도의 종류
1) 기능적 응집도 : 한 모듈 내부의 모든 기능이 한 가지 목적을 위해 묶여 있는 경우
2) 순차적 응집도 : 한 모듈 내부의 기능들이 순차적으로 실행되어야 하는 경우
3) 통신적 응집도 : 한 모듈 내부의 기능들이 서로 관련된 정보를 공유하여 수행되는 경우
4) 절차적 응집도 : 한 모듈 내부의 기능들이 서로 관련된 작업을 수행하기 위해 함께 묶여 있는 경우입니다.
5) 시간적 응집도 : 한 모듈 내부의 기능들이 같은 시간대에 실행되어야 하는 경우입니다.
'정보처리기사' 카테고리의 다른 글
정보처리기사 : 분산 데이터베이스 / 이중화 / 서버 클러스터링 (0) | 2023.04.08 |
---|---|
정보처리기사 : 관계대수 및 관계해석 (0) | 2023.04.08 |
정보처리기사 : 객체지향 프로그래밍의 접근제한자 (0) | 2023.04.06 |
정보처리기사 : 관계형 데이터베이스의 이상 현상과 정규화 (0) | 2023.04.06 |
정보처리기사 : 트랜잭션, 병행제어 기법 (0) | 2023.04.05 |
댓글