728x90
반응형

Software Engineering 96

MISRA C:2020 Compliance - 편차 기록(Deviation Record)의 목적과 필요성

목차 MISRA 규칙을 적용하는 과정에서 모든 규칙을 100% 준수하는 것이 불가능한 상황이 발생할 수 있습니다. 이때 deviation이 발생하며, deviation을 정당화하고 기록하는 것이 중요합니다. 이를 통해 규칙 위반이 단순 실수가 아니라, 프로젝트 특성에 따른 필연적인 선택임을 설명하고, deviation이 소프트웨어의 안전성이나 품질에 미치는 영향을 최소화할 수 있는 방안을 마련하게 됩니다."Deviation 기록(Deviation Record)"은 이러한 deviation이 발생했을 때, 왜 규칙을 준수하지 않았는지, 그 이유와 대처 방안을 명확하게 문서화한 기록입니다. 이 기록은 MISRA 규칙 준수를 선언할 때도 매우 중요한 문서로 작용하며, 프로젝트의 투명성을 높이고, 품질 보증에 ..

MISRA 준수를 위한 프로세스 및 도구 체크리스트

MISRA 준수를 달성하려면 정확한 절차와 적절한 도구를 일관되게 사용하는 것이 필수적입니다. 프로세스 및 도구 체크리스트는 이러한 과정에서 발생할 수 있는 누락을 방지하고, 각 단계가 올바르게 진행되고 있는지를 평가하는 데 중요한 역할을 합니다.  MISRA Compliance 2020: 어떻게 MISRA를 준수할 수 있을까? (MISRA 준수 방법)1. MISRA 준수를 위한 소프트웨어 개발 프로세스: 핵심 요소와 도구 관리MISRA 규칙 준수는 안전하고 신뢰성 있는 소프트웨어를 개발하는 데 중요한 기준입니다. 소프트웨어 개발 과정에서 MISRA 규habana4.tistory.com 프로그램 언어 사용에 대한 교육 (Staff have been trained in the use of the progr..

MISRA Compliance 2020: 어떻게 MISRA를 준수할 수 있을까? (MISRA 준수 방법)

목차1. MISRA 준수를 위한 소프트웨어 개발 프로세스: 핵심 요소와 도구 관리MISRA 규칙 준수는 안전하고 신뢰성 있는 소프트웨어를 개발하는 데 중요한 기준입니다. 소프트웨어 개발 과정에서 MISRA 규칙을 올바르게 적용하기 위해서는 체계적인 개발 계약, 프레임워크 설정, 교육, 스타일 가이드, 메트릭스, 도구 관리 등 다양한 요소들이 필요합니다. 이번 글에서는 MISRA Compliance 2020의 섹션 2에서 다루는 소프트웨어 개발 프로세스의 각 주요 요소를 설명하고, 도구 관리에 대해서는 하위 항목별로 구체적으로 살펴보겠습니다. 1.1. 개발 계약 (Development Contract)개발 계약(The Development Contract)은 프로젝트가 시작될 때, MISRA 규칙 준수를 ..

MISRA-C:2023 개요 (소프트웨어 코딩룰 준수)

MISRA-C:2023은 임베디드 시스템을 위한 C 언어 코딩 표준의 최신 버전으로, 안전성, 보안성, 신뢰성을 개선하기 위한 규칙들을 포함하고 있습니다. 이 버전은 이전 버전(MISRA C:2012) 및 그 수정 사항들을 통합한 종합적인 업데이트이며, C 언어의 최신 버전인 C11과 C18을 지원합니다. 이 표준은 주로 자동차, 의료기기, 항공우주 등 고신뢰성 산업에서 많이 사용됩니다.MISRA-C 주요 특징:C 언어의 최신 버전 지원: C11과 C18에서 추가된 기능에 대한 규칙이 포함되었으며, 멀티스레딩 및 원자적 연산과 같은 현대적인 프로그래밍 이슈를 해결하기 위한 규칙들이 추가되었습니다.멀티스레딩 지원: C11에서 도입된 멀티스레딩을 위한 새로운 규칙들이 추가되었으며, 이를 통해 경쟁 조건, 데..

시스템/소프트웨어 영향도 분석 (Impact Analysis)

"세상에 변하지 않는 것은 오직 모든 것은 변화한다는 것 뿐이다“ 라는 말이 있습니다. 이는 흔히 들을 수 있는 말일 수도 있고, 말장난일 수도 있습니다만, 변화는 수시로 우리 주변에서 일어나고 있으며, 심지어 그 빈도가 너무 잦아 소프트웨어 개발에 차질을 주기도 합니다. 따라서 이러한 변화에 신속하게 적응하고 그로 인한 부정적인 영향을 줄이기 위해서는 영향도 평가가 무엇인지 이해하고, 어떻게 영향 분석을 수행하는지 분석하는 방법을 사전에 숙지하고 있다면, 잦은 변경에 따른 개발 위험은 어느정도 예방할 수 있을 것으로 생각합니다. 목차  영향도 분석(Impact Analysis) 정의표준에서 언급하는 영향도 분석 정의(1) ISO/IEC 27005 (정보 보안 리스크 관리 표준)ISO/IEC 27005는..

DevOps란 무엇인가요?

DevOps는 “Development”(개발)와 “Operations”(운영)의 합성어로, 소프트웨어 개발과 IT 운영 간의 협업과 통합을 촉진하는 일련의 문화, 관행, 도구를 말합니다. DevOps의 목표는 소프트웨어 제품 및 서비스를 신속하게, 신뢰성 있게 배포하는 것입니다. 1. DevOps의 주요 원칙지속적 통합 및 지속적 배포 (CI/CD):지속적 통합 (Continuous Integration, CI): 개발자가 자주 코드를 저장소에 통합하고, 각 통합을 자동으로 빌드하고 테스트하는 과정입니다. 이를 통해 코드의 품질을 유지하고, 오류를 조기에 발견할 수 있습니다.지속적 배포 (Continuous Deployment, CD): 통합된 코드를 자동으로 배포 환경에 배포하는 과정입니다. 이를 통해..

인공지능과 소프트웨어 공학: 융합의 시대

인공지능(AI, Artificial Intelligence)과 소프트웨어 공학(Software Engineering)은 현대 소프트웨어 기술 발전에 절대적 기여를 하고 있는 분야로서, 이 두 분야의 융합은 다양한 산업에 혁신을 가져올 수 있다고 생각합니다. 하지만 두 분야의 융합을 위해 필요한 개념 정리와 고려사항들이 체계적으로 정리되지 못한 듯하여, 이번 블로그에서는 이런 내용을 다뤄보고자 합니다. 1. 인공지능(AI)란 무엇인가?인공지능은 컴퓨터 시스템이 인간의 지능적 작업을 수행할 수 있도록 만드는 기술입니다. AI는 머신 러닝(ML, Machine Learning), 자연어 처리(NLP, Natual Language Processing), 컴퓨터 비전(CV, Computer Vision) 등 다양..

애자일 소프트웨어 개발 (Agile Software Development)

소프트웨어를 개발하는 방법론은 매우 다양합니다. 그리고 산업별/조직별로 다양한 개발 방법론을 취사 선택하고 있을 것입니다. 이는 각 방법론이 갖는 장점으로 인해 그리고 기타 여러 이유로 인해 다른 개발 방법로으로의 전환을 고려하고 있는 조직/회사도 있을 것으로 생각합니다. 이때 선택할 수 있는 개발 방법론 중 하나로 애자일 소프트웨어 개발(Agile Software Development)이 있을 것 입니다.그렇다면 애자일 소프트웨어 개발이란 무엇일까요? 1. 애자일 소프트웨어 개발이란 무엇인가?애자일 소프트웨어 개발은 유연성의 필요성을 예측하고 완성된 제품의 전달에 실용적인 접근을 적용하는 소프트웨어 개발 방법론의 한 유형입니다. 애자일 소프트웨어 개발은 많은 회사에서 문화적 변화를 요구하는데, 이는 전..

소프트웨어 형상관리와 소프트웨어 개발

소프트웨어 형상관리 (Software Configuration Management)의 의미소프트웨어 형상관리는 다양한 소프트웨어 개발 표준에서 중요하게 언급되며, 각 표준은 형상관리의 정의와 목적을 명확히 하고 있습니다. 다음은 대표적인 소프트웨어 관련 표준에서 언급한 소프트웨어 형상관리의 정의입니다.더보기 ISO/IEC/IEEE 12207ISO/IEC/IEEE 12207은 소프트웨어 생명 주기 프로세스를 정의하는 국제 표준으로 소프트웨어의 일관성, 무결성, 추적성을 유지하고, 변경사항을 효과적으로 관리하여 소프트웨어 품질을 보장하기 위한 방안으로 소프트웨어 형상관리를 다음과 같이 정의하고 있습니다."형상관리는 소프트웨어 제품의 구성 요소와 관련 문서의 상태를 식별하고, 변경을 제어하며, 상태와 변경 이..

소프트웨어 품질:: 형상관리 측정 지표

소프트웨어 개발에서 형상관리(Software Configuration Management, SCM)는 소프트웨어의 품질과 일관성을 유지하는데 필수적인 역할을 합니다. 따라서 얼마나 충실하게 SCM이 이루어지고 있는지를 확인할 필요가 있는데, 이를 위해 SCM 지표를 알아보고자 합니다. SCM 지표는 개발 과정에서 체계적으로 관리하고 효율성을 높이는데 중요한 도구입니다. 1. 버전 관리 지표 (Version Control Metrics)변경 요청 수 (Number of Change Requests, NCR)소프트웨어 변경은 프로젝트 과정에서 수시로 발생하며, 요구사항 분석의 오류나 설계 오류, 버그 등 다양한 이유에서 발생하게 됩니다. NCR은 Fred Brooks는 "The Mythical Man-Mon..

728x90
반응형