Aby zagwarantować wysoką jakość programów, konieczny jest certyfikat producenta oprogramowania. Certyfikaty producenta oprogramowania dla motoryzacji ASPICE informują klientów, czy produkty danego wykonawcy działają według specyfikacji, czy producent jest w stanie zapewnić obsługę techniczną swoich produktów i jak wydajnie działa jego organizacja. Przeczytaj artykuł, aby dowiedzieć się więcej.
Gdy byłem na studiach, wykonałem wraz z kilkoma kolegami pewien projekt na zaliczenie z programowania systemów wbudowanych. Zrobiliśmy budzik działający w „Internecie rzeczy” (IoT), który mógł bezprzewodowo włączać lampy WiFi, bezprzewodowy czajnik elektryczny, a także głośniki Bluetooth. W dniu prezentacji wszystkie te funkcje działały, chociaż najczęściej nie naraz. Szczęśliwie złożyło się, że gdy profesor przyszedł obejrzeć nasz projekt, wszystko funkcjonowało idealnie. Nie jestem pewien, czy nadal mielibyśmy tyle szczęścia, gdyby egzaminował nasz projekt dzień później.
Jako programista wiesz, że aby napisać program działający według określonej specyfikacji, potrzeba niezliczonych iteracji debugowania. Ważne jest, żeby mieć kompilator gwarantujący długoterminowe wsparcie produktu, który może uzyskać dostęp do odpowiedniego sprzętowego modułu bezpieczeństwa (HSM) procesora, i który ma regularnie aktualizowane biblioteki. Certyfikat Automotive Software Process Improvement and Capability Determination (zwany ASPICE lub Automotive SPICE) pozwala programistom oddzielić mężczyzn od chłopców w dziedzinie zestawów narzędzi programistycznych.
Aby wcielić ten pomysł w życie, potrzebujesz niezawodnego, przyszłościowego zestawu narzędzi programistycznych.
Jako programista prawdopodobnie słyszałeś już o standardzie SPICE. ASPICE to ten sam certyfikat procesu produkcji oprogramowania, tyle że dostosowany do procesu motoryzacyjnego. Wywodzi się on z normy ISO 15504. Certyfikat ASPICE świadczy o tym, że producent Twojego zestawu narzędzi programistycznych może się pochwalić poważnym i dobrze zarządzanym procesem produkcji. Teraz pokrótce przypomnę, co oznaczają poszczególne poziomy certyfikatu SPICE. Certyfikat ASPICE jest bardzo ważny przy produkcji oprogramowania wysokiej jakości.
Jest 6 wymagań certyfikacyjnych ASPICE, oznaczanych cyframi 0-5.
0 - Procesy produkcji oprogramowania nie zostały ukończone. Może to oznaczać, że ocena procesu produkcji wykazała, że nie spełnił on wszystkich celów projektowych, wbudowane oprogramowanie nie posiada dokumentacji, bądź też inne elementy są niedokończone.
1 - Krytyczne dla bezpieczeństwa procesy produkcji oprogramowania zostały ukończone i udokumentowane. Oznacza to, że oprogramowanie danej firmy działa i posiada dokumentację. Certyfikat poziomu 1 może oznaczać, że przedsiębiorstwo jest np. nowym start-upem.
2 - Procesy produkcji oprogramowania są w pełni zarządzane. Przeskok z poziomu 1 na 2 jest prawdopodobnie największy wśród wszystkich poziomów certyfikatu. Certyfikat poziomu 2 oznacza, że przedsiębiorstwo ma wykwalifikowanych programistów i utrwalony proces zarządzania. Ocena procesu jest w pełni udokumentowana, a firma jest gotowa do implementacji i wsparcia technicznego swoich produktów.
3 - Certyfikat poziomu 3 oznacza, że procesy w przedsiębiorstwie są dobrze określone i utrwalone, tzn. procesy poziomu 2 certyfikatu zostały zaimplementowane już jakiś czas temu.
4 - Można prognozować przebieg procesów poziomu 3. Ten poziom oznacza, że dana firma operuje swoimi procesami na tyle długo, że jest w stanie przewidzieć ich przyszłe działanie.
5 - Poziom 5 świadczy o tym, że dana firma w pełni rozumie swoje procesy, kontroluje je oraz może je optymalizować.
Aby przedsiębiorstwo mogło otrzymać certyfikat, asesor musi je odwiedzić i przebadać jego produkty. Firmie może zostać przyznany certyfikat poziomu 1, jeżeli asesor potwierdzi, że jej produkty osiągnęły swoje cele projektowe i zostały dokładnie udokumentowane. W przypadku poziomów 2-5, asesor przeprowadza wywiady z pracownikami i kadrą zarządzającą, a także ocenia działanie wszelkich wewnętrznych procesów przedsiębiorstwa. Model oceny i certyfikacji procesów jest tak rygorystyczny, ponieważ w produkcji zaawansowanych systemów wspomagania kierowcy (ADAS) niezbędne jest spełnienie standardów bezpieczeństwa funkcjonalnego.
Nasz budzik IoT spełniał proste funkcje, takie jak włączanie lampy, ale Twoje oprogramowanie będzie przetwarzać dane z wielu czujników oraz reagować na nie. Certyfikat ASPICE da Ci przede wszystkim pewność, że oprogramowanie będzie działało poprawnie. Na pewno chcesz jednak również, aby Twój kompilator pozostawał aktualny wraz z rozwojem systemów ADAS i Twojego oprogramowania.
Certyfikat ASPICE poziomu 1 gwarantuje, że zestaw narzędzi programistycznych będzie działał – przynajmniej na początku. Mój zespół także mógłby dostać certyfikat poziomu pierwszego. Oprogramowanie naszego budzika na pewno działało przy pierwszym budzeniu, ale niekoniecznie po dodaniu funkcji drzemki. Certyfikat ASPICE poziomu 1 wystarcza, abyś wiedział, że kupowany przez Ciebie zestaw narzędzi programistycznych naprawdę działa, ale to za mało, abyś mógł używać go do rozwoju oprogramowania w dłuższej perspektywie czasu. W certyfikacie ASPICE chodzi o to, aby dać gwarancję, że w każdym procesie produkcji stale wprowadzane są ulepszenia.
Potrzebujesz takiego zestawu narzędzi programistycznych, który będzie działał przez cały cykl życia Twojego oprogramowania, a także będzie można go rozbudować do celów przyszłych projektów. Jeżeli w Twoim zestawie narzędzi zostaną odkryte błędy, będziesz mógł oczekiwać tego, że producent szybko opublikuje odpowiednie poprawki i aktualizacje. Gdy na rynku pojawią się nowe czujniki, będziesz natomiast wymagał tego, aby producent Twojego zestawu narzędzi zintegrował w nim nowe funkcje tych czujników. Certyfikat poziomu 2 lub wyższego gwarantuje, że dany wykonawca jest w stanie zarówno stworzyć zestaw narzędzi programistycznych, jak i zapewnić mu odpowiednie wsparcie. Jeżeli producent Twojego zestawu narzędzi ma jedynie certyfikat poziomu 1, może nie być w stanie udzielić Ci w przyszłości wsparcia. Certyfikat poziomu 2 jest absolutnie niezbędny, gdy pracujesz nad oprogramowaniem, które będzie kontrolować krytyczne dla systemu funkcje i dbać o bezpieczeństwo produktu.
Dobrze jest posiadać certyfikaty wyższych poziomów niż drugi, ale dotyczą one bardziej sprawnego funkcjonowania przedsiębiorstwa, niż wysokiej wydajności samego oprogramowania. Najważniejsze są certyfikaty poziomów 1 i 2. Gwarantują one, że produkty danej firmy będą działać, że firma ma ugruntowaną pozycję, oraz że będzie ona w stanie zapewnić wsparcie produktu w przyszłości. Oprogramowanie TASKING® otrzymało właśnie certyfikat ASPICE poziomu 2, udowadniając to, co wykonawcy oprogramowania dla motoryzacji wiedzą już od dawna – że firma Altium tworzy i wspiera dobre oprogramowanie. Uzyskanie przez nią certyfikatu producenta oprogramowania dla motoryzacji tylko potwierdza ten fakt.
Chcesz dowiedzieć się więcej o certyfikatach branżowych?
Wypróbuj Altium Designer® w działaniu...
Skuteczne projektowanie płytek PCB