SW/DevOps

DevOps : SW 구조 분석 도구 개념 및 종류

얇은생각 2019. 12. 8. 07:30
반응형

sw 구조

 

아키텍쳐 개요

소프트웨어 아키텍처는 여러 개의 동시 뷰, 즉 관점에 따른 다양한 형태로 접근해야 합니다. 화면 좌측 상단의 거리가 소스코드 같은 저수준이라면, 화면 우측 상단의 큰 지도가 아키텍처 같은 고수준이라고 할 수 있습니다. 지도를 확대/축소하면서 현재 위치를 확인하듯이 소프트웨어도 다양한 레벨의 관점으로 시스템을 바라보면서 다룰 수 있어야 빈번한 요구사항 변경 및 버그에 대응하기 쉽고 유지보수가 수월해집니다.

기존 개발팀이 개발을 끝낸 후 그 제품 유지보수를 담당하는 개발자에게 산출물 또는 기술문서가 필요한데, 특히 이런 문서들은 프로젝트에 새로운 멤버가 들어왔을 때 기존 개발자들과 개발속도뿐만 아니라 호흡을 맞추는 데 큰 도움이 됩니다. 그러나 훌륭한 산출물이 되기 위해서는 실제 소프트웨어의 코드와 일치하는, 즉 현행화를 유지하기 위한 많은 노력과 비용이 수반됩니다. 다시 말해 코드를 고치면 그에 상응하는 산출물도 같이 고쳐야 되기 때문입니다.

 

 

SchemaSpy

우선 스키마 스파이에 대해서 알아볼 텐데, 스키마 스파이는 JDBC로부터 얻은 메타 데이터를 분석해서 데이터베이스의 table, view, relation 등 관련 상세 정보를 HTML 형식으로 생성하는 툴로서 무료 오픈소스 자바 툴입니다.

실제 DB로부터 자동으로 생성되어 데이터베이스 스키마가 변경될 때마다 최신 다이어그램으로 업데이트되기 때문에 개발 유지보수에 필요한 문서 현행화 시 소요되는 시간을 절약할 수 있습니다.

그래픽 뷰 형태를 통해 테이블 관계 및 구조를 보여주고, 개별 HTML 하이퍼링크를 통해 primary key, foreign key, index 등의 파악이 쉽습니다. 또한 컬럼, 제한사항, 코멘트, DB의 간단한 구조적 오류 등도 알 수 있습니다.

 

 

Doxygen

다음에 알아볼 도구는 독시젠(Doxygen)입니다. 독시젠은 C, C++, PHP, JAVA 코드 등의 코스코드를 기반으로 HTML, PDF, RTF, 라텍스포맷등의 문서를 생성하는 도구입니다. 표준 자바 독 툴과 비슷하지만 보다 많은 기능을 제공하면서 사용이 편리합니다. UML 클래스 다이어그램, 콜라보레이션 다이어그램, 디펜던시 그래프 등과 같은 여러 다이어그램의 생성이 가능합니다.

클래스 간 상호참조 기능을 통해 HTML 하이퍼링크를 이용해 애플리케이션 구조를 쉽게 파악할 수 있습니다. JavaDoc 주석과 연계한 문서를 자동 생성이 가능하고, 그래프비즈 툴과 같이 사용하면 복잡한 다이어그램도 표현할 수 있습니다.

 

 

UML

UML은 애플리케이션 구조를 이해하기 쉬운 형태로 표현하고, 그 구조적 결함을 쉽게 파악할 수 있게 합니다. UML 그래프라는 툴은 UML 클래스 다이어그램을 자바 독에 추가하여 UML 다이어그램을 생성하고 하이퍼링크를 통해 직관적인 이동이 가능합니다.

 

 

Enterprise Architect

엔터프라이즈 아키텍트 툴에 대해 설명 드리겠습니다. 이 도구는 상용도구로서 스파크 시스템 상의 엔터프라이즈 아키테트를 사용해 소스코드 리버스 과정을 통해 애플리케이션의 전반적인 구조를 파악하기도 합니다.

반응형