'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선
읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.
사용 가능하고 그다음 재사용 가능
Usable Then Reusable
개요
재사용 가능한 소프트웨어를 만들기 위해서는 먼저 사용 가능한 소프트웨어를 만드는 것이 중요합니다. 이는 소프트웨어 개발의 기본 원칙으로, 안정적이고 효율적인 시스템을 구축하는 데 중점을 둡니다.
주요 내용
-
패턴 따르기 : 소프트웨어 개발 시 검증된 디자인 패턴을 적용하여 일관성과 유지보수성을 높입니다.
-
기능 활용 : 필요한 기능을 효과적으로 사용하고, 불필요한 복잡성을 피합니다.
-
책임 분리 : 모듈의 역할과 책임을 명확히 분리하여 코드의 가독성과 재사용성을 향상시킵니다.
-
의존성 매핑 : 각 모듈이 다른 모듈에 어떻게 의존하는지를 명확히 이해하고 관리합니다.
시스템 안정성 지표
시스템의 안정성은 의존하는 시스템의 수와 의존받는 시스템의 수에 의해 결정됩니다. 이를 측정하기 위한 지표는 다음과 같습니다:
-
I (불안정 지수) : 시스템의 불안정성을 0에서 1까지의 값으로 나타냅니다. 0은 완전히 안정적인 상태, 1은 완전히 불안정한 상태를 의미합니다.
-
Ce (Efferent Couplings) : 현재 모듈이 의존하는 모듈의 수를 나타냅니다.
-
Ca (Afferent Couplings) : 현재 모듈에 의존하는 모듈의 수를 나타냅니다.
이러한 지표를 통해 시스템의 의존성을 관리하고, 안정성을 유지할 수 있습니다.
결론
모든 사람에게 사용 가능한 소프트웨어를 만들고자 하는 욕심을 버리고, 먼저 안정적이고 사용 가능한 시스템을 구축하는 것이 중요합니다. 좋은 소프트웨어는 다른 곳에서 쉽게 가져와 사용할 수 있을 때 진정한 재사용성이 입증됩니다.
참고 자료
-
소프트웨어 아키텍처 패턴
-
의존성 주입의 원리
-
커플링과 응집도 이해하기