엔지니어링 변경 주문에 해당하는 소프트웨어는 무엇입니까?


14

베어 메탈 마이크로 컨트롤러에서 소프트웨어 업데이트를 고려중인 장치가 있습니다. 새로운 이미지는 향후 모든 제품에 프로그래밍 될 것입니다.

장치의 구성 요소를 변경하려면 엔지니어링 변경 순서를 작성해야합니다.

소프트웨어를 변경할 때 동등한 산업 절차가 있습니까?


1
때에 따라 다르지. 의료 기기 세계에서 FDA 지침은이를 ECR 및 ECO라고 칭합니다. 그러나 실제로는 규제가 덜한 산업이나보다 "민첩한"관리의 경우 ECO 개념이 아니라 ECR이 있습니다. CR이 제출되면 작업이 시작됩니다. CO는 일반적으로 "승인 제출"이 변경 될 때 암시 적으로 제공됩니다. 위험 분석과 같은 CO에 첨부 된 사항도 선택 사항이거나 존재하지 않습니다.
user3528438

나는 항상 "탈출"이라고 불렀습니다.
핫 릭

답변:


29

나는 아직도 그것을 ECO라고 부릅니다.

펌웨어가 공장에서 마이크로로 프로그래밍 된 경우 해당 펌웨어 및 특정 버전 은 BOM 의 개별 항목이어야합니다.
펌웨어 변경은 BOM 변경을 의미합니다.
BOM을 변경하려면 ECO가 필요합니다.

그런 다음, 펌웨어의 필드 업데이트는 해당 필드의 장치에 하드웨어 수정이 필요한 경우 수행되는 프로세스와 유사한 프로세스를 따라야합니다.
ECO라고하면 ECO이기도합니다.


1
그렇습니다. 이것은 내 오래된 회사가 한 일입니다. 펌웨어 버전은 공장 프로그래밍을위한 BOM의 또 다른 항목이었습니다. 우리는 소프트웨어를 현장에서 업데이트 할 수 있었기 때문에 버그 수정 / 사용자 정의 작업에 대한 릴리스가 있었고 부품 번호도 지정되었습니다 (BOM에서 호출되지 않음).
shenles

문제의 프로젝트가 소프트웨어를 구성 요소로 사용하는 제품인 경우 질문에 대답합니다. 그러나 프로젝트 자체가 소프트웨어라면 어떨까요?
user3528438

2
@ user3528438-그렇다면 전기 공학 SE에 관한 질문은 주제가 아닐 것입니다.
brhans

6

일반적으로 소프트웨어 변경을 패치 또는 (소프트웨어 업데이트)라고합니다. 그리고 내가 아는 한 (회사에 따라) 절차를 패치 또는 소프트웨어 업데이트 절차라고합니다.

그러나 대부분의 경우 소프트웨어 업데이트는 설치를 관리하는 특수 응용 프로그램을 실행하는 것 이상이 아니며 필요한 모든 변환 등이 패치의 일부입니다.

따라서 전자 부품 교환과 달리 현재 기존 소프트웨어는 패치 소프트웨어 자체의 일부이므로 일반적으로 제거하거나 변경하지 않아도됩니다.

또한 패치 / 소프트웨어 업데이트를 설치할 수 있거나 설치할 수없는 경우에 제한이나 조건이있는 경우, 패치 자체에서 확인되어 설치가 유효한 경우에만 설치됩니다 (적어도 그 방법으로 작동해야 함). ).

따라서 원칙적으로 패치 / 소프트웨어 업데이트는 다음과 같은 많은 작업을 수행합니다.

  • 패치 / 소프트웨어 업데이트를 설치할 수 있는지 확인하십시오 (예 : 운영 체제 버전, 현재 버전 설치 등).
  • 그렇지 않으면 메시지가 표시되고 패치 / 업데이트가 중지됩니다.
  • 설치가 가능하면 변환해야하는 파일이 수행됩니다 (패치 / 업데이트되는 기본 응용 프로그램의 일부 임).
  • 업데이트 / 패치 할 새 파일이 업데이트되거나 응용 프로그램에 추가됩니다.
  • 릴리스 정보가 표시됩니다 (선택 사항).
  • 응용 프로그램이 시작됩니다 (선택 사항).

@MichaelKeijzers 제가 말하는 소프트웨어는 베어 메탈 마이크로 컨트롤러에 프로그래밍되는 펌웨어입니다. 향후의 모든 부품에는 패치 또는 OTA 업그레이드와 다른 새 소프트웨어가 포함됩니다. 위의 사항이 여전히 적용됩니까 (귀하의 의견에 따라 질문을 편집했습니다)
SeanJ

1
나는 그것이 여전히 적용된다고 생각합니다. 그러나 업그레이드 된 펌웨어는 내가 설명하는 패치 / 소프트웨어 업그레이드의 일부입니다. 내가 일했던 회사에서, 생성 된 패치 / 업그레이드는 칩 펌웨어 업데이트 (대부분 컨트롤러 소프트웨어를 통해)뿐만 아니라 위의 단계도 수행됩니다.
Michel Keijzers

6

일반적으로 사용하는 용어는 수정 된 요구 사항으로 인해 변경해야하는 사항에 대한 변경 요청 과 오류로 인해 변경해야하는 사항에 대한 문제 보고서 입니다.

이들은 수집 된 다음 특정 업데이트 주기로 예약됩니다. 주기가 내부 전용 인 경우 마일스톤 이라고하며 고객에게 배포 된 경우 릴리스 라고합니다 .

일반적인 타임 라인에는 릴리스 전에 릴리스 후보 라고하는 몇 가지 중요 시점이 있으며, 광범위한 테스트를 거쳤으며, 오류가 발견되면 다음 중요 시점에 대해 다시 중요하게 예정된 문제 보고서를 생성합니다.

또한 고객 불만에 대한 응답으로 특정 PR 만 처리 하는 지점 을 만들 수 있으며 여기에는 더 적은 오류가 발생하지 않기 위해 더 이상 변경되지 않는 별도의 릴리스가 있습니다. 이것은 일반적으로 업데이트 노력이 충분하지 않은 경우에만 수행됩니다 (예 : 특정 이름의 파일이있는 USB 스틱을 꽂기 만하면 업데이트를 설치할 수 있기 때문에).


4

짧은 대답 : 소프트웨어 버전 관리 시스템에 내장되어 있습니다.

긴 대답 :

소프트웨어는 하드웨어보다 훨씬 빠르게 변하는 경향이 있습니다. 일반적으로 소프트웨어는 널리 사용되는 Git과 같은 일종의 버전 제어 시스템 (VCS)을 사용합니다. 내가 함께 일한 대부분의 소프트웨어 회사는 VCS를 사용하여 소프트웨어 변경 사항을 추적하고 각 커밋은 변경 이유를 설명합니다. 일부는 알려진 버그, 개선 사항 등을 추적하는 이슈 트래커도 사용합니다. 일반적으로 하나의 지점에서 개발이 수행되는 프로세스가 있으며 "주"(릴리스) 지점으로 병합되기 전에 개발을 테스트합니다. 이것은 하드웨어의 느린 템포에 비해 소프트웨어 개발의 높은 빈도의 변경에 훨씬 더 효과적인 경향이 있습니다. 구체적인 구현 및 프로세스는 회사마다 다르며 QA 목적 표준 (ISO9001, AS9100D 등)의 영향을받는 경우가 많습니다.

예를 들면 :

  1. 변경하기로 결정했습니다.

  2. 이슈 트래커에서 이슈를 생성합니다.

  3. 문제를 해결하기 위해 지점을 만듭니다.
  4. 일부 소프트웨어를 변경했습니다.
  5. 회사 정책에 따라 변경 사항을 검토합니다.
  6. 풀 요청을 발행하고 dev 브랜치로 다시 병합합니다.
  7. 당신은 문제를 닫습니다.

3
이것은 잘못된 질문에 대한 답변입니다. OPs 질문은 예제의 첫 번째 라인에 있습니다. "변경 결정"프로세스의 이름은 무엇입니까
whatsisname

4

올바르게 실행되는 산업 환경에서 마이크로에 플래시되는 펌웨어는 그 자체로 부품이며 해당 특정 실행 파일 (16 진 파일 등)의 부품 번호가 있습니다. 펌웨어를 변경하려면 BOM (Bill of Materials)이 변경됩니다. 그리고 칩 교체와 같은 방식으로 ECO가 필요합니다.

정말 간단합니다.

이것에 대한 추론이 있습니다. 펌웨어가없는 경우 없는 부품 번호가되어 있지 되고 따라서 BOM에 나열 되지 제어, 당신의 품질 프로세스는 아마 개선이 필요합니다. ISO-9001 또는 이와 유사한 것을 충족시켜야하는 경우, 이는 수정해야 할 공정상의 명확한 차이입니다.


3

소프트웨어 업데이트를 패치라고하거나 "소프트웨어 업데이트"라고합니다. 항상 소프트웨어 엔지니어에게 장치가 "최신 버전"으로 업데이트되는지 묻습니다.

이상적으로 버전 관리는 이해 관계자가 "사인"하여 프로덕션으로 출시하기 전에 테스트를 거치지 만, 대부분의 경우이 방법은 대부분의 경우에만 발생합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.