System & Software Engineering 소프트웨어 구현, 그 이상 Beyond Software Construction

Engineering for High Reliability and Reuse

이남희
Contact us| 이남희 사진
이남희
이 남 희 솔루션링크 전무

Affiliation and Experience

  • 현. 솔루션링크 전무
  • 현. KAIST 전산학과 겸임교수
  • 현. 충북대 소프트웨어학과 겸임교수
  • Ph.D. in Computer Science / Software Engineering, KAIST
  • M.S. in Computer Science / Software Engineering, KAIST
  • B.S. in Computer Science / Software Engineering, KAIST
  • Samsung Electronics
  • Samsung SDS
  • LG Electronics

System & SW 요구사항 관리 및 개발

Requirements Reuse

시스템 및 소프트웨어에서 공통적으로 많이 사용되는 요구사항을 표준화함으로써 고품질의 사양을 유지/개선할 수 있습니다. 표준화된 요구 사항을 확보하는 것은 향후 제품군 기반의 개발(Product Line Engineering)을 수행하기 위한 초석이 됩니다. 또한, 파생 제품개발에서의 소프트웨어 재사용을 극대화하기 위해 요구사항과 플랫폼의 구현 컴포넌트 간 추적성 관리가 필요합니다.

솔루션링크는 관련 팀들 간의 R&R 및 절차를 명확히 하는 프로세스 개선을 통해 다양한 채널의 요구사항을 체계적으로 통합 및 일원화하고, Decision Tree, Goal Analysis, Use Case, SCR(Software Cost Reduction) 등과 같은 요구사항 작성을 위한 구체적인 기법들을 제공함으로써, 강건한 제품 개발사양을 조기에 확보할 수 있도록 합니다. 또한, 요구사항 수준에서의 직관적인 재사용을 통해 플랫폼 및 핵심 자산(Core Asset)을 지속적으로 정교화할 수 있도록 합니다.

System & SW 아키텍처 설계

Architecturing and Methodology

최근 시스템 및 소프트웨어 개발의 특성은 플랫폼을 기반으로 다양한 제품 및 서비스를 빠르게 제공할 수 있도록 하는 것입니다. 플랫폼을 이용한 다양한 서비스 개발이 이루어지기 위해서 API (Application Programming Interface)가 잘 설계되어야 함은 물론, 다양한 제품으로 파생 가능하기 위해서 추상화 (Abstraction)를 통해 Device 의존성이 최소화되어야 합니다. 또한, 체계적인 소프트웨어 공학 기술을 적용한 아키텍처링이 뒷받침되지 못한 플랫폼은 진화에 어려움을 겪게 될 것입니다.

솔루션링크는 국내 최초로 제1금융권의 SOA (Service Oriented Architecture) 기반 Java Application Framework를 개발하는 등 전문적인 아키텍처링 역량을 바탕으로 체계적인 플랫폼 아키텍처 분석/설계 및 검증 방법론을 제공합니다. 대상 제품 및 시스템 도메인에 대한 가변성 및 공통성 분석을 통해 플랫폼의 가변 요건을 정의하고, 성능, 가용성, 유지보수성 등 품질속성에 대한 아키텍처 메커니즘 설계 경험을 바탕으로 아키텍처를 설계하고 ATAM (Architecture Tradeoff Analysis Method) 등과 같은 아키텍처 검증방법을 통해 검증함으로써, 최적의 플랫폼 아키텍처를 확보할 수 있도록 합니다.

System & SW 구현

Pragmatic Implementation

대부분의 개발자들은 설계 산출물과 개발 표준 (예, MISRA-C 코딩 룰)을 준수하면서 구현하는 것에 익숙하지 않기 때문에, 개발 생산성도 낮을 뿐만 아니라 구현된 소스 코드에 오류를 많이 내포하고 있습니다. 따라서, 대부분의 플랫폼 개발 또는 표준스펙 기반의 개발에서는 실용적인 구현을 가이드하기 위해서 참조 아키텍처 (Reference Architecture) 및 참조 구현 (Reference Implementation)을 제공하는 것이 필요합니다.

솔루션링크는 다양한 도메인에서의 플랫폼 개발 경험과 이때 필수적으로 준수해야 하는 개발 표준들에 대한 이해를 바탕으로 참조 구현을 제공하여 개발자들이 쉽게 따라서 구현할 수 있도록 합니다. 참조 구현에는 테스트 환경, 빌드 환경, 협업 환경 등을 포함함으로써 품질 및 생산성을 향상시킵니다.

 

System & SW 테스팅

Test Driven Development

많은 소프트웨어 조직들이 최종 소프트웨어 품질에 대해 확신을 갖고 있지 못합니다. Audit, Review, Inspection, Testing 등 많은 품질활동을 수행하지만, 비슷한 유형의 장애가 반복적으로 발생하고 있고, 테스트를 얼마나 더해야 하는지, 제대로 하고 있는지 판단하는데도 어려움을 겪고 있습니다.

솔루션링크는 테스트 프로세스, 기법 및 지원도구, 담당자의 역량이 유기적으로 연계되고, 프로젝트 초기 단계부터 테스트 담당자가 참여하도록 하는 통합 품질체계를 수립함으로써 시스템 및 소프트웨어의 품질을 획기적으로 향상시킵니다. 이를 토대로 조직의 소프트웨어 개발 특성에 맞는 테스트 전문역량을 확보하고 지속적으로 장애를 개선할 수 있도록 합니다.

통합 개발 환경 구축

Development Architecture

비즈니스 프로세스 및 제품 요구사항 정의를 통해 파악된 요건들을 기반으로 설계한 아키텍처가 개발로 이어지기 위해서는 필요한 기술을 소유한 개발팀의 구성은 물론 이들이 사용할 개발 절차와 개발 산출물, 개발 가이드 (환경 설치, 도구 사용) 등이 사전에 정의되어야 합니다.

솔루션링크는 OS, 컴파일러, DB, Device 등과 같이 일반적으로 고려되는 개발 환경 구성요소들에 대한 최적의 정의는 물론 플랫폼 통합, 빌드, 배포 등과 관련된 관리 환경도 같이 정의하고 이에 대한 자동화 환경을 구축함으로써, 동일한 아키텍처를 공유하는 시스템 및 소프트웨어 개발을 위해 필요한 개발 환경이 효율적으로 준비될 수 있도록 합니다.