컴포넌트
의 정의 (OMG UML Specification)객체지향 관점 (Object-Oriented view)
: 컴포넌트는 협력하는 클래스들의 집합을 포함
전통적인 관점 (traditional view)
: 처리(processing) 로직, 처리 로직 구현을 위해 필요한 내부 자료구조, 컴포넌트의 호출, 데이터 전달을 가능하게 하는 인터페이스
프로세스 관련 관점 (process-related view)
: 재사용 가능한 소프트웨어 컴포넌트 또는 설계 패턴을 (컴포넌트 기반 소프트웨어공학) 카탈로그에서 선택하여 시스템 구축
Open-Closed Principle (OCP) : 개방-폐쇄 원칙
: 모듈(컴포넌트)은 확장을 위해 열려있어야 하지만, 수정을 위해서 닫혀있어야 한다.
Release Reuse Equivalence Principle (REP)
: 재사용의 단위(granule)은 릴리즈의 단위이다
Common Closure Principle (CCP)
: 함께 변하는 클래스는 함께 속한다
Common Reuse Principle (CRP)
: 함께 재사용되지 않는 클래스는 같이 그룹화해서는 안 된다
<<infrastructure>>
<<database>>
<<table>>
인터페이스
종속성(dependencies)과 상속(inheritance)
전통적인 관점 (traditional view)
: 모듈의 "single-mindedness"
객체지향 관점 (object-oriented view)
: 컴포넌트나 클래스는 서로 밀접하게 관련된 속성과 연산만 캡슐화
응집력(cohesion)의 수준
전통적인 관점 (traditional view)
: 컴포넌트가 다른 컴포넌트와 외부 세계에 연결되는 정도
객체지향 관점 (object-oriented view)
: 클래스 사이 연결 정도에 대한 정성적 척도
결합도(coupling)의 수준