비주얼 모델링은 추상 레벨을 끌어올립니다.
비주얼 모델링은 소프트웨어 디자인을 캡처하기 위한 의미가 풍부한 그래픽 및 텍스트 디자인 표기법의 사용입니다. UML과 같은 표기법은 정확한 구문 및 시맨틱을 유지하면서 추상 레벨이 올라갈 수 있도록 합니다. 이
방법에서는 독자가 디자인에 대해 추론할 수 있게 하여 디자인이 형성되고 검토됨에 따라 디자인 팀의 커뮤니케이션이 개선됩니다. 또한 구현에 대한 명백한 기반을 제공합니다.
모델은 시스템의 단순화된 보기입니다. 이것은 특별한 관점에서 시스템의 필수사항을 표시하고 비필수적인 세부사항은 숨깁니다. 모델을 다음과 같은 방법으로 도움을 줄 수 있습니다.
시스템이 복잡해질수록 모델의 중요성이 증가됩니다. 예를 들어, 개집은 청사진 없이도 만들 수 있습니다. 그러나 집에서 고층 빌딩으로 진전될수록 청사진에 대한 요구는 명백해집니다.
유사하게, 한 사람이 몇 일 동안에 빌드한 작은 응용프로그램을 전체적으로 쉽게 이해할 수 있습니다. 그러나 수없이 많은 SLOC(Source Lines Of Code)를 가진 전자상거래 시스템 또는 수십만
SLOC를 가진 항공 제어 시스템은 더 이상 한 사람이 쉽게 이해할 수 없습니다. 모델을 생성하여 개발자가 큰 그림에 집중할 수 있도록 하고, 컴포넌트가 상호작용하는 방법을 이해하며 치명적인 결함을
식별할 수 있도록 합니다.
다음은 몇 가지 모델의 예입니다.
-
동작을 명확하게 지정하기 위한 유스 케이스
-
디자인을 캡처하기 위한 클래스 다이어그램 및 데이터 모델 다이어그램
-
동적 동작을 모델링하기 위한 상태 전이 다이어그램
모델링은 팀이 복잡하지 않게 시스템의 구조 및 동작을 가시화하고 구성하며 문서화하는 데 도움을 주기 때문에 중요합니다.
단순 모델은 디자인 대안을 탐색하기 위해 낮은 비용으로 작성되고 수정될 수 있습니다. 높은 비용의 코드 개발에 투자하기 전에 다른 개발자가 혁신적인 아이디어를 캡처하고 검토할 수 있습니다. 반복적 개발에
연결될 때, 비주얼 모델링은 개발자가 디자인 변경사항을 평가하고 이런 변경사항을 전체 개발 팀과 커뮤니케이션하는 데 도움을 줍니다.
오늘날 대부분의 프로젝트는 재사용가능하고 변경을 허용하며 안정적인 시스템을 얻기 위해 객체 지향 프로그래밍 언어를 사용합니다. 이런 장점을 얻으려면 더더욱 디자인 시 객체 기술을 사용해야 합니다. RUP는 구현의
기반이 되는 객체 지향 디자인 모델을 생성합니다.
적절한 도구 지원으로 디자인 모델은 구현을 위한 초기 코드 세트를 생성하는 데 사용될 수 있습니다. 이것은 "포워드 엔지니어링" 또는 "코드 생성"이라고 합니다. 디자인 모델은 시스템 빌드에 필요한 충분한 정보가
포함되도록 개선됩니다.
또한 기존 구현에서 디자인 모델을 생성하기 위해 리버스 엔지니어링이 적용될 수 있습니다. 이것은 기존 구현을 평가하는 데 사용될 수 있습니다.
"라운드 트립 엔지니어링"은 디자인 및 코드의 일관성을 위해 포워드 및 리버스 엔지니어링 기법 둘 다를 결합합니다. 반복적 프로세스 및 올바른 도구와 결합되어 라운드 트립 엔지니어링은 각 반복에서 디자인
및 코드가 동기화되도록 합니다.
시스템을 빌드하기 전에 요구사항을 캡처해야 합니다. 정확하고 명백한 모델을 사용하여 요구사항을 지정하는 것은 모든 이해 당사자(stakeholder)가 요구사항에 대해 이해하고 합의할 수 있는지 확인하는
데 도움을 줍니다.
구현에서 시스템의 외부 동작을 분리시킨 모델은 구현 세부사항에서 혼란에 빠지지 않고 의도된 시스템 사용에 집중하는 데 도움을 줍니다.
RUP는 비즈니스 엔지니어링과 시스템 엔지니어링에 적용될 수 있는 표기법인 UML을 사용합니다. 표준 표기법은 다음 역할을 수행합니다([BOO95] 참조).
-
"명백하지 않거나 코드 자체에서 추론될 수 없는 결정을 커뮤니케이션하기 위한 언어 역할을 합니다."
-
"중요한 전략적이고 전술적인 결정 모두를 캡처할 수 있을 만큼 풍부한 시맨틱을 제공합니다."
-
"사람이 추론하고 도구가 조작될 수 있을 만큼 구체적인 양식을 제공합니다."
UML은 오브젝트-기술 산업 전체에서 소프트웨어 모델링의 우수 사례 집합을 나타냅니다. UML에 대한 자세한 정보는 http://www-306.ibm.com/software/rational/uml/
웹 사이트를 참조하십시오.
|