2. 정의
① formality and modularity
실질적으로 모듈을 나눠 seperation을 세세하게 잘라내어 명확하게 표현하여 모호함을 줄일 수 있도록 하는 방식.
② formality and separation of concerns
단계별, 크기별, 역할별, 품질별로 분리하여 문제를 해결하는데, 명확하게 표현하여 모호함을 줄여, 해결해야할 문제를 효과적으로 다룰 수 있도록 해야 한다. 프로세스의 모호한 정의는 다양하게 해석될 수 있기 때문에 재사용성은 어렵다.
③ separation of concerns and modularity
복합성을 축소시킨 독립적인 문제로써, 실질적으로 모듈을 나눠서 겹치는 것이 없이 서로의 연계성을 높게 만드는데, 결합도를 낮추고, 응집도를 높일 수 있도록 각 파트별로 분리하여 문제를 해결한다.
④ modularity and abstraction
관심 및 목적에 따라 필요한 부분만을 정보화하여 모듈간의 정보 공유나 정보 교환의 횟수를 적게 설계하는 것으로, 목적이나 관점에 따라 달라진다.
⑤ modularity and anticipation of change
미래에 예상되는 변화를 미리 예측하여, 재사용성을 높여 설계하여 후에 타 시스템과의 통합 등의 변화를 신속히 수용할 수 있도록 해야 한다.
⑥ anticipation of change and generality
3-Tier Client/Server, 이기종 통합/연계를 위한 SOA 등 미래에 예상되는 변화를 예측하여, 문제를 일반화를 시켜 미래에 재사용성을 용이하게끔 설계를 한다.
⑦ abstraction and generality
중요한 것은 확대하고, 디테일한 부분은 축소시키면서, 특정 문제보다는 일반화를 시켜 모듈이나 컴포넌트 등의 재사용 가능성을 높이는 관계로 하나의 Abstraction으로 여러 개를 만든다.
⑧ modularity and incrementality
모듈 간의 정보 공유나 정보 교환 횟수를 적게 하며, 소프트웨어 개발을 점진적으로 완성하는데, 서로의 연계성을 높게 하는 관계.
⑨ anticipation of change and
incrementality
미래에 예상되는 변화를 미리 예측을 하며 프로젝트를 진행하는데, 환경의 변화나, 타 시스템과의 연계 등을 신속히 수용할 수 있도록, 하나하나 점진적으로 완성해 나가는 관계로써, 단위 테스트가 끝난 모듈은 점진적으로 통합을 한다.
⑩ generality and incrementality
소프트웨어 개발을 점진적으로 항상 체크하고 리뷰를 해가며 전체적으로 계획을 가지며 프로젝트를 진행시키는데, 그 문제를 특정화시키기 보다는 일반화를 시켜 비용을 생각해가며, 여러 가지 문제를 동시에 해결하여 그 답의 활용도를 높이는 관계.
3. 출처
- blog.naver.com/sharon0a – SW의 모듈성
- booksummary.tistory.com/
댓글 없음:
댓글 쓰기