nullvuild

Bloger @nullvuild

Created Date '2025/06/29 오후 05:47

Modified Date '2025/08/03 오후 10:02

#요구사항정의 #임베디드SW #기능명세 #프로젝트관리 #소프트웨어품질

소프트웨어 요구사항의 정의

소프트웨어 요구사항이란 "소프트웨어가 무엇을 해야 하는지, 어떤 조건을 만족해야 하는지"를 명확하게 기술한 약속 또는 기준입니다.


즉, 개발팀과 고객, 이해관계자 모두가 “이 SW는 이렇게 동작해야 한다”고 합의한 사항을 구체적인 문장, 표, 그림 등으로 문서화한 것입니다.


주요 특징은 다음과 같습니다.

  • 기능에 대한 설명뿐만 아니라, 성능, 품질, 제약조건 등 모든 측면을 포함한다.
  • 소프트웨어 설계, 구현, 테스트, 검증의 모든 기준점이 된다.
  • 요구사항이 명확할수록 프로젝트가 안정적으로 진행될 가능성이 높다.

예시)

  • “시스템은 전원이 인가된 후 10초 이내에 CAN 메시지 송수신을 해야한다.”
  • “에러 발생 시, 시스템은 2초 이내에 안전모드로 전환해야 한다.”


임베디드 시스템에서 요구사항의 역할

임베디드 시스템은 자동차, 가전, 산업기기 등 특정 목적을 가진 HW와 SW가 결합된 시스템입니다.

이 분야에서는 요구사항이 특히 더 중요한 이유가 있습니다.


  • 하드웨어와 소프트웨어의 긴밀한 상호작용:
    • SW 요구사항이 HW 제약이나 센서/액추에이터 등 실제 물리적 환경과 연결되어 있다.

  • 안전성, 신뢰성, 실시간성:
    • 임베디드 제품은 오작동이 안전사고로 이어질 수 있어, 요구사항이 법적·기술적으로 엄격하게 관리되어야 한다.

  • 변경 및 확장성:
    • HW, OS, 주변장치가 바뀔 때마다 요구사항이 명확하게 정리되어 있지 않으면 전체 시스템 유지보수/변경이 거의 불가능하다.

임베디드 프로젝트에서는 요구사항이 곧 전체 개발의 “설계도” 역할을 하며 개발, 테스트, 생산, 고객 대응의 모든 출발점이 됩니다.



요구사항 관리 실패 사례와 시사점

요구사항 관리를 제대로 하지 못한 대표적 실패 사례는 실제로 현장에서 빈번하게 발생합니다.


  • 구두로만 전달된 요구로 개발 시작→ 개발 도중 “내가 듣기로는 이랬다”, “고객이 바뀌었다는데?” 혼란 발생
  • 요구사항 문서가 있어도, 최신 내용 반영이 안 됨 → 테스트 단계에서 “왜 이 기능이 없죠?” → 전면 재개발
  • 담당자가 퇴사/이동 후 요구사항 이력 미비 → 신규 투입자가 기준 없이 기존 코드만 해석, 결과적으로 같은 실수 반복


이런 상황이 반복되면

  • 일정 지연, 불필요한 재작업
  • 품질 저하, 고객 신뢰도 하락
  • 인증 심사, 변경 요청에 대처 불가

와 같은 상황들이 발생합니다.



결국, 요구사항을 명확하게 문서화하고 지속적으로 최신 상태로 관리하지 않으면 프로젝트 전체가 흔들릴 수 있다는 점을 꼭 기억해야 합니다.

Nullvuild

Nullvuild

@nullvuild

프로필