본문 바로가기

전체 글

Software Isolation During the Software Refactoring 최근 3~4년간 시간들을 돌이켜보면 소프트웨어 관련 기술들을 실무에 적용하기 위해 상당한 시간을 들였던 것으로 기억합니다. 소프트웨어를 개발하는 조직에서 소프트웨어 엔지니어로 살기 위해 여러 케이스를 고려한 나름의 노력이었는데, 안타깝지만 성과는 크지 않았던 것이 현실이었습니다.이런 무성과? 저성과?의 이유를 생각해 보면, 결국 조직적 이슈였던거 같은데 지속적으로 소프트웨어를 개발하고 유지보수하는 업무를 단순화 그리고 효율화하기 위한 노력이 왜 조직적 이슈로 인해 무산(?) 되었을까.. 그리고 무엇이 이러한 조직적 이슈를 야기시키고 있는 것일까 생각해 봅니다. 결국 생각해보면, "소프트웨어에 새로운 기능이 요구되고, 시간이 지남에 따라 복잡해지고 (예를 들어 불필요한 종속성, 중복되거나 강하게 결합된 기.. 더보기
MBSE (Model Based System Engineering) Model Based System Engineering (MBSE)MBSE란 복잡한 시스템의 요구사항, 설계, 분석, 검증 및 확인을 지원하는 정형화된 방법론으로 코드나 문서 기반의 기존 개발 방식과는 달리 개발하고자 하는 대상 즉, 시스템 자체를 하나의 모델로 간주하며, 컴퓨팅 환경의 발전으로 MBSE를 많은 산업군에서 활발하게 채택하고 있습니다. 이는 기존 코드나 문서 기반 개발 방식에서는 전통적 개발 프로세스를 따르는 경우, 최종 아웃풋이 나오기까지 많은 시간과 노력이 필요한 반면, 전통적 개발 프로세스를 따르지 않는 경우, 급변하는 환경/법규/규정 등을 만족하기 어려울 수 있다는 점도 한몫 한다고 생각합니다. 실제 NASA에서는 2020년 1월 MBSE가 시스템 복잡성을 추적하기 위한 수단으로.. 더보기
Software Product Line (SPL) 소프트웨어 제품 라인의 정의소프트웨어 제품 라인은 여러 소프트웨어 시스템이 공통의 관리된 기능 세트를 공유하여 특정 시장 또는 임무의 필요를 충족하는 것을 의미합니다. 이 시스템들은 공통의 핵심 자산에서 개발되며, 이는 재사용 가능한 구성 요소, 아키텍처, 도구, 프로세스, 인력의 지식 등을 포함합니다. 소프트웨어 제품 라인의 주요 개념1. Core Assets정의: 여러 제품에 사용되는 재사용 가능한 아티팩트 또는 리소스예시: 아키텍처, 소프트웨어 구성 요소, 요구 사항 명세서, 테스트 계획, 도메인 모델, 문서, 도구, 프로세스.2. 재사용 전략소프트웨어 제품 라인은 재사용을 전략적으로 계획하고 조직 전체에서 이를 실행하는 것을 포함한다. 이는 단순한 코드 재사용을 넘어 시스템 수준에서의 재사용을 의.. 더보기
Automotive Software (2017) [출처] https://store.computer.org/csdl/magazine/so/2017/03/mso2017030033/13rRUwInvd61. 자동차 소프트웨어의 중요성경쟁 요소: 소프트웨어는 자동차 산업에서 가장 중요한 경쟁 요소로 자리 잡았습니다. 혁신적인 운전자 보조 시스템, 에너지 효율 운전 등의 기능은 복잡한 소프트웨어 솔루션을 필요로 합니다.복잡성 관리: 점점 더 복잡해지는 소프트웨어를 관리하고 안전한 동작을 보장해야 합니다. 글로벌 경쟁과 빠른 출시 주기는 지속적인 효율성 개선과 비용 최적화를 요구합니다.2. 전자제품과 IT의 융합변화: 자동차 전자제품과 IT가 빠르게 변화하고 있습니다. 멀티모달 모빌리티는 자동차와 대중교통과 같은 이전에 분리된 영역을 연결합니다.서비스와 비즈니스 .. 더보기
시스템 엔지니어링 개요 Introduction to Systems EngineeringSEBoK는 도메인 독립적인 시스템 엔지니어링을 실현하기 위한 현재 알려진 기본 지식을 제공하는 것을 목표로 한다. 이러한 지식 영역에는 시스템 엔지니어링 실현에 대한 개요, 경제적 가치, 역사적 발전, 주요 관계 등이 있으며, SEBoK는 이러한 지식영역에 대한 설명을 포함한다. TopicsSEBoK는 관련 주제별로 그룹화된 지식 영역으로 나누어진다. 그리고 각 지식 영역은 하위의 세부 주제로 나누어진다.시스템 엔지니어링 개요시스템 엔지니어링의 경제적 가치시스템 엔지니어링의 역사적 의미 및 미래에 대한 도전시스템 엔지니어링과 연계 학문 System Engineering시스템 엔지니어링은 시스템을 구현하기 위한 초학문적 접근법으로, 성공적인 .. 더보기
J1939-71 TSC1 동작 개요 J1939-71은 상용차와 중장비의 통신 프로토콜로, 주로 엔진, 변속기, 브레이크, 배터리 관리 시스템 등의 전자 제어 장치간의 통신을 표준화 한다. 여기서 TSC1(Torque/Speed Control 1) 메시지는 특히 중요한 역할을 한다. TSC1 메시지는 엔진의 토크와 속도를 제어하는데 사용된다.TSC1 동작을 이해하려면 다음을 고려해야 한다.1. 메시지 형식TSC1 메시지는 J1939 프로토콜의 데이터 프레임을 통해 전달됩니다. 데이터 프레임은 다음과 같은 필드로 구성된다.PGN (Parameter Group Number): 0x00에 대한 값으로, TSC1은 0x00의 PGN 0의 데이터 페이지(DP)로 정의된다.Source Address (SA): 메시지를 보낸 ECU의 주소.Destina.. 더보기
시스템 공학 관점과 시스템 사고 시스템 공학 관점은 시스템적 사고를 기반으로 한다. 이러한 시스템적 사고는 현실을 이해하는 특별한 방법을 제공하며, 전체 시스템과 그 내부의 구성요소들이 어떻게 상호작용하는지를 이해하는 것이 중요하다. 시스템적 사고의 주요 개념부분이 아니라 전체를 바라 볼 수 있어야 한다.시스템적 사고는 시스템을 단순히 부분들의 합으로 보지 않고 하나의 완전한 실체로 보는 것이 중요하다.상호작용을 이해할 수 있어야 한다.시스템을 구성하는 구성요소들이 어떻게 상호작용하고 서로 관계를 맺는지를 이해하는 것이 중요하다.새로운 사실에 대한 발견과 학습이 지속되어야 한다.시스템적 사고를 위해서는 시스템에 대한 깊은 이해를 얻기 위한 지속적인 노력과 이에 기반한 학습이 반복적이며 점진적으로 확대되어야 한다.시스템과 시스템적 사고를.. 더보기
The Good, The Bad & The Ugly of Software-Defined Vehicles: Success & Lessons Learned 이 문서는 제너럴 모터스의 전 기술 트렌드 전문가였던 "파르타 고스와미(Partha Goswami)"와의 인터뷰로, 소프트웨어 정의 차량(SDV)의 도입과 관련하여 자동차 산업이 직면한 변화와 도전에 대해 논의하고 있습니다. 주요 내용은 다음과 같다:제너럴 모터스의 SDV 여정울티엄 SDV 플랫폼: GM은 2020년에 울티엄 SDV 플랫폼을 출시하여 전통적인 차량에서 SDV로 전환하기 시작했습니다. 이 전략적 변화는 종단 간 디지털 경험을 제공하고 테슬라 및 리비안과 같은 새로운 EV 전용 OEM과 경쟁하기 위한 것입니다.SDV 개발의 도전 과제전통적인 OEM 구조: 전통적인 OEM은 시스템 간 협력이 적고, 선형적인 제품 개발 프로세스를 가진 독립적인 하위 시스템 개발 구조로 인해 도전에 직면합니다. .. 더보기