Widok SFIA: Podstawowe kompetencje w zakresie inżynierii oprogramowania
Podstawowe kompetencje w zakresie inżynierii oprogramowania
Są to kompetencje zwykle potrzebne praktykom inżynierii oprogramowania. Pamiętaj, że nie wszystkie wymienione kompetencje są wymagane przez wszystkich inżynierów oprogramowania. Zestaw wymaganych kompetencji zależy od charakteru organizacji zatrudniającej i / lub konkretnych ról i obowiązków zatrudnionych inżynierów oprogramowania.
Definicja wymagań i zarządzanie REQM
Ujawnienie, analiza, specyfikacja i sprawdzanie wymagań i ograniczeń na poziomie umożliwiającym skuteczny rozwój i obsługę nowego lub zmienionego oprogramowania, systemów, procesów, produktów i usług. Zarządzanie wymaganiami przez cały okres dostawy i operacyjnego cyklu życia oprogramowania, systemu, procesów, produktów i usług. Negocjacje dotyczące kompromisów akceptowalnych dla kluczowych udziałowców oraz mieszczących się w ramach budżetu, wymagań technicznych, ustawowych i innych ograniczeń. Przyjęcie i wdrożenie modeli cyklu życia zarządzania wymaganiami w oparciu o kontekst pracy oraz odpowiedni wybór pomiędzy podejściem prognozowanym / opartym na planie a bardziej adaptacyjnym (iteracyjnym i zwinnym).
Projektowanie systemów DESN
Projektowanie systemów w celu spełnienia określonych wymagań, zgodnie z ustalonymi architekturami systemów, przestrzegając standardów korporacyjnych i w ramach ograniczeń dotyczących wydajności i wykonalności. Wskazanie koncepcji i ich przełożenia na projekt, stanowiący podstawę konstrukcji i weryfikacji systemów. Projekt lub wybór elementów. Rozwój kompletnego zestawu szczegółowych modeli, właściwości i/lub cech opisanych w sposób odpowiedni do wdrożenia. Przyjęcie i dostosowanie modeli cyklu życia projektu systemów opartych na kontekście pracy i dokonaniu odpowiedniego wyboru pomiędzy podejściem prognozowanym (opartym na planie) lub podejściem adaptacyjnym (iteracyjnym/zwinnym).
Projektowanie oprogramowania SWDN
Specyfikacja i projekt oprogramowania spełniającego zdefiniowane wymagania poprzez przestrzeganie uzgodnionych standardów i zasad projektowania. Definicja oprogramowania, elementów, interfejsów i powiązanych cech. Wskazanie koncepcji i wzorców oraz przełożenia na projekt zapewniający podstawę tworzenia i weryfikacji oprogramowania. Ocena alternatywnych rozwiązań i kompromisów. Ułatwienie podejmowania decyzji dotyczących projektu w ramach ograniczeń projektowania systemów, standardów projektowania, jakości, wykonalności, rozszerzania i łatwości konserwacji. Rozwój i iteracja prototypów/symulacji w celu umożliwienia doinformowanego podejmowania decyzji. Przyjęcie i dostosowanie modeli projektowania oprogramowania, narzędzi i technik w oparciu o kontekst pracy i odpowiedni wybór pomiędzy podejściem prognozowanym (opartym na planie) lub podejściem adaptacyjnym (iteracyjnym/zwinnym).
Programowanie / opracowanie oprogramowania PROG
Planowanie, projektowanie, tworzenie, zmienianie, weryfikacja, testowanie i dokumentacja nowych i zmienionych elementów oprogramowania w celu dostarczenia uzgodnionej wartości dla udziałowców. Wskazanie, tworzenie i zastosowanie uzgodnionego rozwoju oprogramowania i standardów oraz procesów bezpieczeństwa. Przyjęcie i wdrożenie modeli cyklu życia rozwoju oprogramowania i dokonanie odpowiedniego wyboru pomiędzy podejściem prognozowanym (opartym na planie) lub podejściem adaptacyjnym (iteracyjnym/zwinnym).
Rozwój systemów w czasie rzeczywistym / osadzonych RESD
Architektura, projekt i rozwój niezawodnego oprogramowania w czasie rzeczywistym, systemów operacyjnych, narzędzi i systemów osadzonych. Wyposażenie systemów komputerowych w dedykowane funkcje w ramach większych systemów mechanicznych lub elektronicznych, często w czasie rzeczywistym przy istnieniu ograniczeń związanych z bezpieczeństwem i niezawodnością. Zazwyczaj obejmuje współdziałanie ze sprzętem, czujnikami mechanicznymi i elementami uruchamiającymi do monitorowania i sterowania w zastosowaniach przemysłowych, motoryzacyjnych, lotniczych, maszynach medycznych, robotach i urządzeniach, włączając urządzenia IoT (internet rzeczy).
Metody i narzędzia METL
Definicja, dostosowanie, wdrożenie, ocena, pomiar, automatyzacja i usprawnianie metod i narzędzi w celu wspierania planowania, rozwoju, testowania, obsługi, zarządzania i konserwacji systemów. Zapewnienie przyjęcia i skutecznego stosowania metod i narzędzi w organizacji.
Zarządzanie konfiguracją CFMG
Planowanie, zarządzanie, kontrola i nadzór nad zasobami i artefaktami usług, organizacyjnymi i projektowymi. Identyfikacja, klasyfikacja i specyfikacja pozycji konfiguracji (CI) oraz ich wzajemnych relacji. Identyfikacja konfiguracji i wersji kodu źródłowego, oprogramowania, systemów, dokumentów i zależnych od usługi CI w różnych punktach w czasie. Systematyczne kontrolowanie zmian konfiguracji oraz utrzymanie spójności i śledzenia konfiguracji w ramach cyklu życia projektu, systemu i/lub usługi. Wskazanie i dokumentowanie cech funkcjonalnych i fizycznych CI, kontrolowanie zmian tych cech, rejestrowanie i raportowanie statusu przetwarzania i wdrożenia zmiany. Weryfikacja i audyt CI pod kątem jakości danych oraz zgodności z określonymi wymaganiami wewnętrznymi i zewnętrznymi.
Testowanie TEST
Planowanie, projektowanie, zarządzanie, wykonanie i dokonywanie raportów z testów przy użyciu odpowiednich narzędzi i technik testowania oraz zgodnie z ustalonymi standardami dotyczącymi procesów oraz regulacjami branżowymi. Celem testowania jest zapewnienie, że nowe i zmienione systemy, konfiguracje, pakiety lub usługi wraz z dowolnymi interfejsami działają zgodnie ze specyfikacją (włączając wymagania bezpieczeństwa), a ryzyka powiązane z wdrożeniem są odpowiednio poznane i udokumentowane. Testowanie obejmuje proces inżynierii, korzystania i utrzymania testaliów (przypadki testowe, skrypty testowe, raporty z testów, plany testów itd.) w celu zmierzenia i poprawy jakości testowanego oprogramowania.
Integracja i tworzenie systemów SINT
Planowanie, wdrażanie i kontrolowanie działań dotyczących elementów integracji/kompilacji, podsystemów i interfejsów do budowania systemów operacyjnych, produktów lub usług dostarczanych klientom lub do celów wewnętrznych i tymczasowych, takich jak testowanie. Rozwój możliwości organizacyjnych pod kątem integracji oraz kompilacji systemów, włączając automatyzację i ciągłą integrację.
Wprowadzanie i wdrażanie RELM
Zarządzanie procesami, systemami i funkcjami w tworzenia pakietów, budowania, testowania i wdrażania zmian oraz aktualizacji (które są połączone jako wydania) w rzeczywistym środowisku, ustalanie i kontynuowanie określonej usługi w celu umożliwienia kontrolowanego i skutecznego przekazania kierownictwu operacyjnemu i społeczności użytkowników. Zastosowanie automatyzacji do poprawy skuteczności i jakości wprowadzenia.
Zapewnienie jakości QUAS
Proces zapewnienia, w ramach niezależnej oceny i przeglądu, istnienia i przestrzegania odpowiednich praktyk pracy, czynności kontroli jakości, procesów organizacyjnych oraz standardów jakości oraz promowania najlepszych praktyk w ramach organizacji. Zapewnienie jakości daje pewność kierownictwu wewnętrznemu i organom zewnętrznym, takim jak klienci lub organy nadzorcze, że wymagania dotyczące jakości będą spełniane. Zapewnienie jakości może odnosić się do dowolnego obszaru, w którym stosowane są standardy jakości, włączając produkty, dane, usługi i procesy biznesowe.
Pomiar MEAS
Rozwój i obsługa możliwości pomiaru w celu wspierania uzgodnionych potrzeb dotyczących informacji danej organizacji. Planowanie, wdrożenie i kontrolowanie czynności w celu pomiaru atrybutów procesów, produktów i usług w celu oceny wydajności, postępu i zapewnienia wskazań i spostrzeżeń dotyczących faktycznych lub potencjalnych problemów i ryzyka. Wskazanie wymagań, wybór środków i skali pomiarowych, ustalenie metod gromadzenia i analizy danych, wyznaczenie wartości docelowych i progowych. Pomiar można stosować wobec organizacji, projektów, procesów i produktów pracy.
Inżynieria bezpieczeństwa SFEN
Zastosowanie odpowiednich metod w celu zapewnienia bezpieczeństwa podczas wszystkich faz cyklu życia rozwoju systemów pod kątem bezpieczeństwa, włączając konserwację i ponowne wykorzystanie. Obejmują one analizę zagrożeń i ryzyka dla bezpieczeństwa, specyfikację wymagań bezpieczeństwa, projekt architektury systemu powiązanego z bezpieczeństwem, projektowanie metod formalnych, zatwierdzanie i weryfikację bezpieczeństwa oraz przygotowanie analizy bezpieczeństwa.
Obsługa aplikacji ASUP
Świadczenie usług konserwacji i wsparcia dla aplikacji, zarówno bezpośrednio dla użytkowników systemu lub funkcji realizacji usługi. Wsparcie zazwyczaj obejmuje dochodzenie i rozwiązanie problemów i może również obejmować monitoring wydajności. Problemy można rozwiązać, zapewniając porady lub szkolenia dla użytkowników, doradzając korekty (stałe lub tymczasowe) usterek, wprowadzając modyfikacje ogólne lub dostosowane do danej placówki, aktualizując dokumentację, manipulując danymi lub definiując usprawnienia. Wsparcie często obejmuje bliską współpracę z twórcami systemu i/lub współpracownikami specjalizującymi się w różnych obszarach, takich jak administracja bazą danych lub obsługa sieci.