[SI] 프로젝트 4주차(2)

소복치·2024년 8월 4일

이글에선 저번글에 다루지 못했던 공통모듈에 대해 알아 보고 프로젝트에 어떤 기능을 공통모듈로 사용하기 위해 설계를 하였는지 작성할 것이다.

공통모듈

정보 시스템 구축 시 자주 사용하는 기능들을 모듈화하여 재사용이 가능한 패키지로 제공하는 것

말그대로 공통모듈은 여러프로그램에서 매번사용하는 기능들을 공통으로 사용할 수 있는 모듈이다.

공통모듈을 효과적으로 설계하기 위해선

  1. 결합도는 줄이고 응집도는 높여서 모듈의 독립성과 재사용성을 높인다.
  2. 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
  3. 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이어서는 안된다.
  4. 모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해한다.
  5. 효과적인 제어를 위해 모듈 간의 계층적 관계를 정의하는 자료가 제시되어야 한다.

간단하게 응집도와 결합도가 무엇인지 알아본 뒤 나는 어떤 방식으로 프로젝트때 공통모듈을 설계했는지 얘기해 볼 것이다.

응집도

모듈이 독립적인 기능으로 정의되어 있는 정도

  • 응집도의 정도

다양한 기준으로 모듈을 구성할 수 있으나 응집도가 강할수록 품질이 높고, 양할수록 품질이 낮다.

결합도

모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계

  • 결합도의 정도

다양한 결합을 모듈을 구성할 수 있으나 결합도가 약할수록 품질이 높고, 강할수록 품질이 낮다.
그리고 결합도가 강하면 시스템 구현 및 유지보수 작업이 어렵다.

위와 같은 효과적인 설계내용을 바탕으로 코드를 작성하기전 프로젝트의 전체 흐름을 다시 한번 더 파악하고, 그 뒤로 전체적인 흐름을 따라 공통모듈로 사용되어야할 기능을 추려냈다.

먼저 내가 진행하는 프로젝트의 전체 흐름은

DB연결을 한다 -> 파일을 읽는다 -> 데이터 정합성을 체크한다 -> DB에 적재한다.

이 중에서 우리가 사용할 공통모듈은

  • DB Connection
  • Value check
  • Error

를 우선 정하고 추후에 개발진행하면서 혹여나 필요한 모듈이 생긴다면 다시 한번 더 의논을 하기로 했다.

profile
오늘 터져도내일 다시극복

0개의 댓글