소프트웨어 공학/소프트웨어 아키텍처 2

결합도(Coupling)

1. 개요 결합도(Coupling)는 소프트웨어 모듈 간의 독립성 정도를 나타낸다. 두 루틴 또는 모듈 간의 얼마나 관련성있게(closly) 연결되었고, 얼마나 관련성이 강한지(strong)를 측정한다. 결합도(Coupling)은 응집도(Cohesion)와 대조된다. 낮은 결합도(low coupling)는 높은 응집도와 상관관계가 있다. 낮은 결합도는 잘 구조화된 컴퓨터 시스템과 디자인이 잘 됨을 의미한다.높은 응집도(high cohesion)과 낮은 결합도가 엮어 가독성이 좋고, 유지보수가 용이한 목표이다. 또한 모듈간의 연관성을 의미하는 것으로 좋은 설계가 이루어지도록 하기 위해서는 가능한 한 모듈을 독립적으로 생성함으로써 결합도를 최소화(낮게)하는 것이다. 결합도가 낮다는 것은 하나의 시스템을, 서..

아키텍트가 알아야 할 12/97

아키텍트의 역할에 대해 공감하는 내용이 있어 공유해본다. 조언#1. 모든 요구사항을 충족시키려는 시도는 궁극적으로 아무것도 수행할 수 없는 불완전한 아키텍처를 만들게됩니다.예) Vasta호 침몰 사례 조언#2. 아키텍팅이란 균형에 관한 것이다. 이해당사자들 간의 정치관계를 조심하고, 투표권을 공정하게 배분해야 한다.활용방법론) QAW, ATAM 조언#3. 요구사항이 명확하지 않을때, 걸어다니는 해골로 시작해라.해결책) 요구사항을 명확히해야하는 노력이 필요하다 - 커뮤니케이션, 요구사항을 모르는 현업을 위해 요구사항이 나올 수 있도록 화면, DB 처리등을 뼈대만 작성하여 제공한다.참고) 걸어다니는 해골은 프로토타입핑처럼 가벼운 UI 등 어플리케이션을 작성하여 현업에게 제공함으로써 요구사항을 상세화시키고자 ..