Czym jest oprogramowanie równoważne zleceniu zmiany inżynierskiej?

14

Mamy urządzenie, na którym rozważamy wykonanie aktualizacji oprogramowania na czystym metalowym mikrokontrolerze. Nowy obraz zostanie zaprogramowany na wszystkich przyszłych produktach.

Gdybym miał zmienić komponent urządzenia, musiałbym wypełnić zamówienie zmiany technicznej.

Czy przy zmianie oprogramowania istnieje równoważna procedura branżowa?

SeanJ
źródło
1
To zależy. W świecie urządzeń medycznych wytyczne FDA nazywają to ECR i ECO, więc my też to nazywamy. Ale w rzeczywistości, szczególnie w przypadku mniej regulowanych branż lub z bardziej „zwinnym” zarządzaniem, nie ma koncepcji ECO, ale ECR. Po przesłaniu CR praca zacznie się. CO jest zwykle podawane domyślnie, gdy zmiana jest przekazywana „przedłóż zatwierdzenie”. Rzeczy związane z CO, takie jak analiza ryzyka, są albo opcjonalne, albo nie istnieją.
user3528438,
Zawsze nazywałem to „ucieczką”.
Hot Licks,

Odpowiedzi:

29

Nadal nazwałbym to ECO.

Jeśli oprogramowanie układowe jest fabrycznie zaprogramowane w mikro, to oprogramowanie układowe i jego konkretna wersja powinny być pozycjami na BOM.
Zmiana oprogramowania oznacza zmianę BOM.
Zmiana BOM wymaga ECO.

Następnie aktualizacja oprogramowania układowego w terenie powinna przebiegać podobnie jak w przypadku, gdyby do urządzenia w terenie wymagana była modyfikacja sprzętu.
Jeśli więc nazywacie to ECO, to jest to również ECO.

brhans
źródło
1
Tak właśnie to zrobiła moja stara firma. Wersje oprogramowania układowego były po prostu kolejnym elementem BOM do programowania fabrycznego. Byliśmy w stanie zaktualizować nasze oprogramowanie w terenie, więc będziemy mieli wydania poprawek błędów / niestandardowych zadań, a także otrzymają numer części (po prostu nie wywoływany na BOM).
shenles,
To odpowiada na pytanie, czy projekt jest produktem z oprogramowaniem jako komponentem. Ale co jeśli sam projekt jest oprogramowaniem?
user3528438,
2
@ user3528438 - to pytanie byłoby nie na temat tutaj na temat inżynierii elektrycznej SE, prawda?
brhans
6

Zwykle zmiana oprogramowania nazywa się łatką lub (aktualizacja oprogramowania). I o ile mi wiadomo (w zależności od firmy) procedury nazywane są Procedurami aktualizacji lub aktualizacji oprogramowania.

Jednak w większości przypadków aktualizacje oprogramowania to nie więcej niż uruchomienie specjalnej aplikacji, która zajmuje się instalacją, a wszystkie potrzebne konwersje itp. Są częścią poprawki.

W przeciwieństwie do elektronicznej wymiany części, obecnie istniejące oprogramowanie nie musi być zwykle odinstalowywane ani zmieniane, ponieważ jest ono częścią samego oprogramowania łaty.

Ponadto w przypadku, gdy istnieją ograniczenia lub warunki dotyczące tego, kiedy łatka / aktualizacja oprogramowania może lub nie może zostać zainstalowana, zostanie ona sprawdzona w samej łatce i zainstaluje się tylko wtedy, gdy jest ważna do zainstalowania (lub przynajmniej powinna działać w ten sposób ).

Tak więc w zasadzie łatka / aktualizacja oprogramowania robi wiele rzeczy, takich jak (być może niekompletna):

  • Sprawdź, czy można zainstalować poprawkę / aktualizację oprogramowania (np. Wersje systemu operacyjnego, zainstalowana bieżąca wersja itp.)
  • Jeśli nie, pojawi się komunikat, a łatka / aktualizacja się zatrzyma.
  • Jeśli można go zainstalować, zostaną wykonane pliki, które należy przekonwertować (czasami jest to część głównej aplikacji do łatania / aktualizacji).
  • Nowe pliki są aktualizowane lub dodawane do aplikacji, która ma być aktualizowana / łatana.
  • Informacje o wersji są pokazane (opcjonalnie).
  • Aplikacja zostanie uruchomiona (opcjonalnie).
Michel Keijzers
źródło
@MichaelKeijzers Oprogramowanie, o którym mówię, to oprogramowanie układowe programowane na czystym metalowym mikrokontrolerze. Oznacza to, że wszystkie przyszłe części będą miały nowe oprogramowanie, które różni się od poprawki lub aktualizacji OTA. Czy powyższe nadal obowiązuje (zredagowałem pytanie na podstawie opinii użytkowników)
SeanJ,
1
Myślę, że nadal obowiązuje. Jednak zaktualizowane oprogramowanie układowe jest częścią opisanej przeze mnie aktualizacji / oprogramowania. Tak więc w firmach, w których pracowałem, utworzone łatki / uaktualnienia nie tylko aktualizują oprogramowanie układowe układów scalonych (głównie za pomocą oprogramowania kontrolera), ale wykonywane są również powyższe kroki.
Michel Keijzers,
6

Warunki, których zwykle używam to Żądanie zmiany rzeczy, które wymagają zmiany ze względu na zmodyfikowane wymagania, oraz Raport problemów dla rzeczy, które należy zmienić z powodu błędów.

Są one gromadzone, a następnie planowane na określone cykle aktualizacji. Jeśli cykl jest tylko wewnętrzny, nazywa się Kamieniem Milowym , a jeśli jest wdrażany dla klientów, nazywa się Wydaniem .

Typowa oś czasu ma kilka kamieni milowych przed wydaniem, zwana Release Candidate, która przechodzi szeroko zakrojone testy, a wszelkie wykryte tam błędy generują kolejne raporty problemów, które są ponownie zaplanowane na kolejny kamień milowy, jeśli są wystarczająco ważne, lub późniejsze wydanie, jeśli nie.

Możliwe jest również utworzenie Oddziału, który zajmuje się konkretnymi PRami w odpowiedzi na skargi klientów, z osobną wersją, która nie zawiera dalszych zmian, w nadziei, że wprowadzi się tutaj mniej błędów. Zwykle robi się to tylko wtedy, gdy nakład aktualizacji jest wystarczająco niski (np. Ponieważ aktualizacje można zainstalować po prostu podłączając pamięć USB z plikiem o określonej nazwie).

Simon Richter
źródło
4

Krótka odpowiedź: jest wbudowany w system kontroli wersji oprogramowania.

Długa odpowiedź:

Oprogramowanie zmienia się znacznie szybciej niż sprzęt. Zwykle oprogramowanie korzysta z pewnego rodzaju systemu kontroli wersji (VCS), takiego jak popularny Git. Większość firm programistycznych, z którymi współpracowałem, używa VCS do śledzenia zmian w oprogramowaniu, a każde zatwierdzenie wyjaśnia przyczynę zmiany. Niektórzy używają także narzędzia do śledzenia problemów, które śledzi znane błędy, ulepszenia i tym podobne. Zwykle istnieje proces, w którym rozwój odbywa się w jednej gałęzi, a następnie jest testowany przed połączeniem w gałąź „główną” (wydanie). Jest to zwykle znacznie bardziej wydajne w przypadku wysokiej częstotliwości zmian w tworzeniu oprogramowania w porównaniu do wolniejszego tempa sprzętowego. Konkretne wdrożenie i proces różni się w zależności od firmy i często ma na nią wpływ standard do celów kontroli jakości (ISO9001, AS9100D itp.).

Przykład:

  1. Decydujesz się na zmianę.

  2. Problem tworzysz w narzędziu do śledzenia problemów.

  3. Tworzysz oddział, aby rozwiązać problem.
  4. Wprowadzasz zmiany oprogramowania.
  5. Zmiany są sprawdzane przez ekspertów pod kątem zgodności z polityką firmy
  6. Wystawiasz polecenie ściągnięcia i ponownie łączysz się z gałęzią programistów.
  7. Zamykasz problem.
ScarySpider
źródło
3
To odpowiada na złe pytanie. Pytanie OPs znajduje się w pierwszym wierszu Twojego przykładu: jak nazywa się proces „decydowania o zmianie”
whatsisname
4

W prawidłowo uruchomionym środowisku przemysłowym oprogramowanie wbudowane do mikro jest samo w sobie częścią i ma numer części dla tego konkretnego pliku wykonywalnego (plik heksadecoralny lub cokolwiek innego). Jeśli chcesz zmienić oprogramowanie układowe, jest to zmiana BOM (zestawienia materiałów). A to wymaga ECO w taki sam sposób, jakbyś chciał wymienić układ.

To naprawdę tak proste.

Jest to następstwem tego. Jeśli oprogramowanie układowe nie ma numeru części i nie znajduje się na liście BOM, a zatem nie jest kontrolowane, proces jakości prawdopodobnie wymaga poprawy. Jeśli masz spełniać ISO-9001 lub coś podobnego, jest to wyraźna luka w twoim procesie, która wymaga naprawy.

Graham
źródło
3

Aktualizacje oprogramowania nazywane są łatkami lub są to tak zwane „aktualizacje oprogramowania”. Zawsze pytam inżynierów oprogramowania, czy urządzenie zostało zaktualizowane „do najnowszej wersji”.

Najlepiej byłoby, gdyby wersjonowanie zostało „podpisane” przez interesariuszy i przetestowane przed wprowadzeniem do produkcji, ale najczęściej w większości miejsc taka praktyka zdarza się tylko przez większość czasu.

Skok napięcia
źródło