업무 사례
VSFrameWork — 산업용 장비 소프트웨어 공통 아키텍처
장비 제어 소프트웨어의 핵심 기능과 UI 플랫폼을 분리하여 재사용성과 확장성을 확보한 사내 공통 프레임워크
소개
Vision Semicon의 장비 제어 및 자동화 소프트웨어를 일관된 구조로 개발·운영하기 위해 설계한 C# 기반 사내 애플리케이션 프레임워크입니다.
장비 통신, 상태 관리, Recipe, 모니터링, 로깅, 화면 탐색 등 산업용 소프트웨어에서 반복적으로 요구되는 기능을 공통 아키텍처와 독립 모듈로 분리했습니다.
WPF MVVM을 중심으로 UI와 비즈니스 로직, 장비 제어 영역의 책임을 분리하고, 동일한 핵심 로직을 WPF, WinForms, Blazor 환경에서 재사용할 수 있도록 플랫폼 의존성을 최소화했습니다. SOLID와 의존성 역전 원칙을 적용하여 장기 운영 환경에서도 기능 확장과 기술 교체에 대응할 수 있는 구조를 구축했습니다.
주요 성과
- UI, 애플리케이션 서비스, 장비 제어 및 인프라 영역의 책임과 의존성 방향을 분리하여 공통 아키텍처를 정립함.
- ViewModel 생성과 연결, Command, 화면 탐색 및 의존성 구성을 표준화하여 반복 구현을 줄임.
- Thread, Serial, Socket, Synchronization, Logging 기능을 독립 모듈로 구성하여 여러 장비 프로젝트에서 재사용할 수 있는 기반을 구축함.
- 플랫폼 독립적인 ViewModel과 애플리케이션 로직을 설계하여 WPF, WinForms, Blazor 환경에서 핵심 기능을 재사용하도록 구현함.
- 장비 상태, Recipe, 모니터링 및 통신 기능의 계약과 구현을 분리하여 장비별 요구사항을 독립적으로 확장할 수 있도록 개선함.
- SignalR 기반 실시간 데이터 연동 구조를 구성하여 장비 상태와 모니터링 정보를 복수의 UI 환경에 전달할 수 있도록 구현함.
- Doxygen 기반 API 문서화 체계를 적용하여 프레임워크 사용 규칙과 모듈별 기술 계약을 표준화함.
활용 도구 및 역량
C#, .NET, WPF, XAML, MVVM, WinForms, Blazor, Dependency Injection, SignalR, TCP/IP, Serial Communication, Multithreading, Synchronization, Logging, Doxygen

