CodeMaru
포트폴리오로 돌아가기
업무 사례

VSFrameWork — 산업용 장비 소프트웨어 공통 아키텍처

장비 제어 소프트웨어의 핵심 기능과 UI 플랫폼을 분리하여 재사용성과 확장성을 확보한 사내 공통 프레임워크

C#.NETWPFXAMLMVVMWinFormsBlazorEquipment SoftwareIndustrial AutomationMachine ControlSignalRTCP/IPSerial CommunicationMultithreadingRecipe ManagementMonitoringModular Architecture
장기 내부 프로젝트프레임워크 아키텍처 설계 · 핵심 모듈 개발 주도 · 기술 표준 수립Vision Semicon · 사내 장비 소프트웨어 플랫폼

소개

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