Apa yang setara dengan perangkat lunak dari urutan perubahan teknik?

14

Kami memiliki perangkat yang kami pertimbangkan untuk melakukan pembaruan perangkat lunak pada mikrokontroler bare metal. Gambar baru akan diprogram pada semua produk masa depan.

Jika saya mengubah komponen pada perangkat, saya harus mengisi urutan perubahan teknik.

Apakah ada prosedur industri yang setara saat mengganti perangkat lunak?

SeanJ
sumber
1
Tergantung. Dalam dunia perangkat medis, pedoman FDA menyebutnya ECR dan ECO, jadi kami menyebutnya demikian. Namun pada kenyataannya, terutama untuk industri yang kurang diatur atau dengan manajemen yang lebih "gesit", tidak ada konsep ECO tetapi ECR. Ketika CR disampaikan, pekerjaan akan dimulai. CO biasanya diberikan secara implisit ketika "kirim persetujuan" diberikan pada perubahan. Hal-hal yang melekat pada CO seperti analisis risiko juga opsional atau tidak ada.
user3528438
Saya selalu menyebutnya "pelarian".
Hot Licks

Jawaban:

29

Saya masih menyebutnya sebagai ECO.

Jika firmware diprogram ke dalam mikro di pabrik, maka firmware dan versi spesifiknya harus menjadi item baris pada BOM.
Mengubah firmware berarti mengubah BOM.
Mengubah BOM membutuhkan ECO.

Setelah itu, pembaruan bidang firmware harus mengikuti proses serupa dengan yang akan diikuti jika mod ke perangkat keras diperlukan untuk unit di lapangan.
Jadi jika Anda menyebutnya ECO, maka ini juga ECO.

brhans
sumber
1
Ya begini cara perusahaan lama saya melakukannya. Versi firmware hanyalah item lain pada BOM untuk pemrograman pabrik. Kami dapat melakukan pembaruan lapangan pada perangkat lunak kami, sehingga kami akan memiliki rilis untuk perbaikan bug / pekerjaan khusus dan mereka akan diberi nomor komponen juga (tidak dipanggil di BOM).
shenles
Ini menjawab pertanyaan apakah proyek yang dimaksud adalah produk dengan perangkat lunak sebagai komponen. Tetapi bagaimana jika proyek itu sendiri adalah perangkat lunak?
user3528438
2
@ user3528438 - maka pertanyaannya akan di luar topik di sini di teknik elektro SE bukan?
brhans
6

Biasanya perubahan perangkat lunak disebut Patch atau (Pembaruan Perangkat Lunak). Dan sejauh yang saya tahu (tergantung pada perusahaan) prosedurnya disebut Patch atau Prosedur Pembaruan Perangkat Lunak.

Namun, dalam kebanyakan kasus, pembaruan perangkat lunak tidak lebih dari menjalankan aplikasi khusus yang menangani instalasi dan semua konversi yang diperlukan, dll. Adalah bagian dari tambalan.

Jadi tidak seperti pertukaran bagian elektronik, tidak ada perangkat lunak yang ada saat ini yang biasanya harus dihapus atau diubah, karena itu adalah bagian dari perangkat lunak tambalan itu sendiri.

Juga, jika ada batasan atau ketentuan kapan pembaruan tambalan / perangkat lunak dapat atau tidak dapat diinstal, itu akan diperiksa dalam tambalan itu sendiri dan hanya akan menginstal ketika valid untuk menginstal (atau setidaknya, itu harus bekerja seperti itu ).

Jadi pada prinsipnya pembaruan tambalan / perangkat lunak melakukan banyak hal, seperti (mungkin tidak lengkap):

  • Periksa apakah pembaruan tambalan / perangkat lunak dapat diinstal (misalnya versi sistem operasi, versi saat ini diinstal, dll.)
  • Jika tidak, pesan akan ditampilkan dan tambalan / pembaruan berhenti.
  • Jika dapat diinstal, file yang perlu dikonversi akan dilakukan (ini kadang-kadang merupakan bagian dari aplikasi utama yang akan ditambal / diperbarui).
  • File baru diperbarui atau ditambahkan ke aplikasi untuk diperbarui / ditambal.
  • Catatan rilis ditampilkan (secara opsional).
  • Aplikasi dimulai (opsional).
Michel Keijzers
sumber
@MichaelKeijzers Perangkat lunak yang saya bicarakan adalah firmware yang diprogram ke mikrokontroler logam telanjang. Ini berarti bahwa semua bagian masa depan akan memiliki perangkat lunak baru yang berbeda dengan perbaikan tambalan atau OTA. Apakah hal di atas masih berlaku, (Saya telah mengedit pertanyaan berdasarkan umpan balik Anda)
SeanJ
1
Saya pikir itu masih berlaku. Namun, pembaruan firmware adalah bagian dari pembaruan tambalan / perangkat lunak yang saya jelaskan. Jadi di perusahaan tempat saya bekerja, tambalan / peningkatan yang dibuat tidak hanya pembaruan firmware chip (kebanyakan melalui perangkat lunak pengontrol), tetapi juga langkah-langkah di atas dilakukan.
Michel Keijzers
6

Istilah yang biasanya saya gunakan adalah Ubah Permintaan untuk hal-hal yang perlu diubah karena persyaratan yang dimodifikasi, dan Laporan Masalah untuk hal-hal yang perlu diubah karena kesalahan.

Ini dikumpulkan, dan kemudian dijadwalkan untuk siklus pembaruan tertentu. Jika sebuah siklus hanya internal, itu disebut Milestone , jika itu digunakan untuk pelanggan, itu disebut Rilis .

Garis waktu tipikal memiliki beberapa tonggak sebelum rilis, disebut Rilis Calon yang menjalani pengujian ekstensif, dan setiap kesalahan yang ditemukan di sana menghasilkan Laporan Masalah lebih lanjut yang lagi dijadwalkan untuk tonggak berikutnya jika mereka cukup penting, atau rilis kemudian jika tidak.

Dimungkinkan juga untuk membuat Cabang yang hanya menangani PR tertentu dalam menanggapi keluhan pelanggan, dengan rilis terpisah yang tidak memiliki perubahan lebih lanjut, dengan harapan lebih sedikit kesalahan yang diperkenalkan di sini. Ini biasanya hanya dilakukan jika upaya pembaruan cukup rendah (misalnya karena pembaruan dapat diinstal hanya dengan mencolokkan stik USB dengan file dengan nama tertentu di atasnya).

Simon Richter
sumber
4

Jawaban singkat: Ini dibangun ke dalam sistem versi perangkat lunak.

Jawaban panjang:

Perangkat lunak cenderung berubah jauh lebih cepat daripada perangkat keras. Biasanya perangkat lunak menggunakan semacam sistem kontrol versi (VCS), seperti Git yang populer. Sebagian besar perusahaan perangkat lunak tempat saya bekerja menggunakan VCS untuk melacak perubahan pada perangkat lunak, dengan masing-masing komit menjelaskan alasan di balik perubahan tersebut. Beberapa juga menggunakan pelacak masalah, yang melacak bug yang diketahui, peningkatan, dan semacamnya. Biasanya ada proses di tempat pengembangan terjadi pada satu cabang, maka pengembangan itu diuji sebelum digabung menjadi cabang "utama" (rilis). Ini cenderung jauh lebih efisien untuk frekuensi tinggi perubahan dalam pengembangan perangkat lunak vs tempo yang lebih lambat dalam perangkat keras. Implementasi dan proses spesifik ini bervariasi dari perusahaan ke perusahaan, dan sering dipengaruhi oleh standar untuk tujuan QA (ISO9001, AS9100D, dll.).

Sebuah contoh:

  1. Anda memutuskan untuk melakukan perubahan.

  2. Anda membuat masalah di pelacak masalah.

  3. Anda membuat cabang untuk mengatasi masalah ini.
  4. Anda membuat beberapa perubahan perangkat lunak.
  5. Anda meminta perubahan rekan sejawat Anda per kebijakan perusahaan
  6. Anda mengeluarkan permintaan tarik dan bergabung kembali ke cabang dev.
  7. Anda menutup masalah.
ScarySpider
sumber
3
Ini menjawab pertanyaan yang salah. Pertanyaan OP ada di baris pertama dari contoh Anda: apa nama proses "memutuskan untuk melakukan perubahan"
whatsisname
4

Dalam pengaturan industri yang dijalankan dengan benar, firmware yang akan di-flash ke mikro itu sendiri adalah bagian dan memiliki nomor bagian untuk itu yang dapat dieksekusi spesifik (file hex atau apa pun). Jika Anda ingin mengubah firmware, itu adalah perubahan ke BOM (bill of material). Dan itu membutuhkan ECO dengan cara yang sama seperti jika Anda ingin mengganti sebuah chip.

Ini sangat sederhana.

Ada konsekuensi wajar untuk ini. Jika firmware Anda tidak memiliki nomor bagian dan tidak terdaftar dalam BOM dan karenanya tidak terkontrol, maka proses kualitas Anda mungkin perlu ditingkatkan. Jika Anda seharusnya memenuhi ISO-9001 atau yang serupa, ini adalah celah yang pasti dalam proses Anda yang perlu diperbaiki.

Graham
sumber
3

Pembaruan perangkat lunak disebut tambalan atau mereka adalah "pembaruan perangkat lunak". Saya selalu bertanya kepada insinyur perangkat lunak apakah unit diperbarui "ke versi terbaru".

Idealnya versi "ditandatangani" oleh para pemangku kepentingan dan diuji sebelum dirilis ke dalam produksi, tetapi lebih sering daripada tidak di sebagian besar tempat praktik ini hanya terjadi sebagian besar waktu.

Lonjakan tegangan
sumber