소프트웨어 산업이 UML 다이어그램과 애증의 관계를 갖는 이유
게시 됨: 2017-05-19UML은 소프트웨어 시스템을 모델링하는 데 사용되는 다목적 시각적 언어입니다. 소프트웨어 업계는 UML 다이어그램의 사용에 대해 의견이 분분합니다. 어떤 사람들은 그것을 소프트웨어 시스템과 개발의 필수적인 부분으로 여기지만, 그것을 완전히 불필요하다고 생각하는 상당수의 사람들이 있습니다.
이 포스트에서 우리는 이 주장의 양면(UML의 장점과 단점 모두)을 탐구하고 UML 디자인 다이어그램과 소프트웨어 산업의 애증 관계를 이해하려고 시도합니다.
UML의 장점
가장 많이 사용되는 유연성
UML은 소프트웨어 설계를 위한 높은 인지도와 이해 플랫폼입니다. 소프트웨어 개발자 사이의 표준 표기법입니다. 대부분의 소프트웨어 전문가가 UML 다이어그램에 정통하지 않더라도 최소한 알고 있을 것이라고 안전하게 가정할 수 있습니다.
UML이 소프트웨어 개발에 적합하고 꼭 필요한 이유는 유연성 때문입니다. 사용 중인 도메인 또는 기술에 맞게 특별히 UML 다이어그램에서 모델링 요소 및 상호 작용을 사용자 정의할 수 있습니다.
소프트웨어 아키텍처는 효과적으로 전달되어야 합니다.
소프트웨어 아키텍처는 시스템의 청사진입니다. 시스템과 프로세스의 효율성이 의존하는 프레임워크입니다. 그러나 이 프레임워크는 그것을 사용하고 작업하는 모든 사람들에게 제대로 전달되어야만 효과적입니다. 여기서 UML(Unified Modeling Language)이 등장합니다.
UML은 객체 지향 소프트웨어 엔지니어링뿐만 아니라 애플리케이션 구조와 동작, 비즈니스 프로세스도 모델링하는 데 사용할 수 있는 풍부하고 광범위한 언어입니다. 소프트웨어 플레이어들은 아키텍처 문서화를 없앨 수 없다는 데 동의했습니다. 그건 중요해. 성능, 보안, 추적을 평가하는 데 도움이 되며 작업 중인 할당에 대한 중요한 지침을 제공합니다.
광범위한 범위로 인해 UML은 아키텍처에 대한 자세한 정보를 가장 많은 사용자에게 전달할 수 있는 완벽한 시각적 언어입니다.
사용하려면 언어의 일부만 알면 됩니다.
모델링 애플리케이션을 위한 14가지 유형의 UML 다이어그램이 있지만 개발자는 소프트웨어 시스템을 문서화하는 데 3-4개만 사용합니다. 클래스 다이어그램, 시퀀스 다이어그램 및 유스 케이스 다이어그램이 여전히 가장 유행하고 있습니다.
이것이 의미하는 바는 모델링 요구의 80%를 설명하기 위해 UML 언어의 20%만 알면 된다는 것입니다. UML 다이어그램을 사용하여 효과적으로 의사 소통하기 위해 전체 표기법을 알거나 이해할 필요가 없습니다. 표기법의 하위 집합을 알면 충분합니다.
풍부한 UML 도구
UML 도구는 UML이 널리 사용되는 가장 중요한 이유 중 하나입니다. UML 도구는 무료 오픈 소스 소프트웨어에서 수백만 달러에 이르는 도구에 이르기까지 다양합니다. 이러한 도구는 다이어그램을 그리는 것 이상의 영역을 다룹니다. 설계에서 코드를 생성하고, 설계 패턴을 적용하고, 요구 사항을 마이닝하고, 코드를 리버스 엔지니어링하고, 영향 및 복잡성 분석을 수행할 수 있습니다.
이러한 장점과 풍부한 UML 도구 자체로 인해 UML은 소프트웨어 엔지니어링 분야에서 모델링 및 개발 언어로 사용됩니다.
UML의 무수한 용도와 이점에도 불구하고 UML이 모든 사람에게 선호되는 것은 아닙니다. 사실, 소프트웨어 개발자의 상당 부분은 UML을 사용하지 않으며 이에 대해 많은 비판을 받습니다. UML 사용에 반대하는 주장을 살펴보겠습니다.
UML의 단점: UML에 대한 추론
형식 표기는 필요하지 않습니다
UML에 대한 가장 강력한 주장은 디자인을 전달하기 위해 UML 다이어그램이 실제로 필요하지 않다는 것입니다. PowerPoint, Visio 또는 화이트보드에서 만든 비공식적인 상자 및 선 다이어그램을 사용하여 동일한 효과와 효과를 얻을 수 있습니다. 코딩은 그 자체로 형식적인 언어이기 때문에 많은 개발자들이 아키텍처 수준에서 복잡성과 형식을 선호하지 않습니다. 이는 UML 사용을 방해하고 단점 중 하나가 되었습니다.
복잡성의 오름차순
시작 이후 지금까지 UML은 복잡성과 규모가 커졌습니다. UML의 엄청난 규모는 많은 사람들을 처음부터 긴장하게 만들고, 배울 수 없을 것이라고 느끼며 UML이 없으면 더 나을 것입니다.
'건축 무심한 디자인'에서는 필요하지 않습니다
George Fairbanks가 만든 용어인 '아키텍처에 무관심한 디자인'은 UML이 불필요한 것으로 간주되는 상황입니다.
기본적으로 아키텍처 무관 설계는 단순하고 기본적이며 설계를 표현하거나 설명하기 위해 복잡한 다이어그램이 필요하지 않은 소프트웨어 아키텍처를 말합니다. 회사가 형식적 코딩을 더 강조하고 최소한의 설계 문서화 문화가 널리 퍼져 있다면 UML은 불필요한 것으로 간주됩니다.
이 애증 관계 해독:
소프트웨어 산업에서 UML의 중복성에 대해 많은 이야기가 있지만 지금까지는 UML을 전체적으로 또는 적절하게 대체할 수 없다는 사실을 부인할 수 없습니다. UML의 중요성과 운명에 대한 편견 없는 관점을 얻기 위해 우리는 소프트웨어 산업과 밀접하게 관련되어 있지만 관점에서 중립적인 하드웨어 거물들과 이야기를 나눴습니다.
“디자인 문서가 없는 것은 단기적으로는 괜찮지만, 다른 나라에 있는 개발자나 6개월 후에 팀에 합류할 누군가에게 디자인을 전달해야 할 때 장기적으로 문제가 될 수 있습니다. . UML은 그런 상황에서 큰 도움이 되고 디자인에 대한 모호함과 질문을 완화합니다.” 여성 헤더 제조업체인 Sconect의 대표는 의견을 밝혔습니다.
"시각적 모델링을 위한 도메인별 언어에 대해 이야기할 수 있지만 그 중 어느 것도 폭넓은 수용을 찾지 못했다는 사실이 남아 있으며, 이는 시각적 언어에 관한 한 UML이 최고의 대안이라고 주장할 뿐입니다." 이 관찰은 핀 헤더 커넥터 제조를 전문으로 하는 Scondar의 담당자가 매우 흥미롭게 제시했습니다.
Ismolex 담당자의 의견은 UML 설계 다이어그램과 소프트웨어 산업의 애증 관계의 사례를 적절하게 요약합니다. "UML 사용에 대해 수천 가지 주장이 있을 수 있지만 디자인 아키텍처에 대한 정보의 뉘앙스를 포착하는 능력과 디자인 문서의 중요성이 증가함에 따라 UML은 대체할 수 없는 상태로 남아 있습니다."
UML의 장점과 단점: 당신은 어느 편에 있습니까?
UML 다이어그램에 대한 거부 및 준수는 소프트웨어 업계에서 계속될 것입니다. 그러나 UML은 여기에 있습니다. 그러나 UML 다이어그램은 사용이 아키텍처 설명 및 통신에만 국한되지 않고 동적 변경을 수용할 수 있는 시스템을 나타내고 생성할 수 있도록 확장되어야 합니다.
저자 소개
저는 Rachel Oliver입니다. 저는 지난 몇 년 동안 프리랜서 작가로 일해 왔으며 현재는 핀 헤더 제조업체인 Ismolex와 제휴하고 있습니다. 에너지, 비즈니스, 스포츠, 주택 개조 및 패션을 포함하여 태양 아래 있는 모든 것에 대해 글을 쓰는 것을 좋아하지만 특히 비즈니스, 기술 및 전자 제품에 열정이 있습니다. Google+, Facebook 및 Twitter에서 저에게 연락할 수 있습니다.