Zarządzanie jakością oprogramowania - wprowadzenie
Oprogramowanie wysokiej jakości odnosi się do oprogramowania, które jest pozbawione błędów lub defektów, jest dostarczane na czas iw określonym budżecie, spełnia wymagania i / lub oczekiwania oraz jest możliwe do utrzymania. W kontekście inżynierii oprogramowania jakość oprogramowania odzwierciedla jedno i drugiefunctional quality jak również structural quality.
Software Functional Quality - Odzwierciedla to, jak dobrze spełnia dany projekt, w oparciu o wymagania funkcjonalne lub specyfikacje.
Software Structural Quality - Zajmuje się obsługą wymagań niefunkcjonalnych, które wspierają spełnienie wymagań funkcjonalnych, takich jak odporność lub łatwość konserwacji oraz stopień, w jakim oprogramowanie zostało wyprodukowane poprawnie.
Software Quality Assurance- Software Quality Assurance (SQA) to zestaw działań mających na celu zapewnienie jakości w procesach inżynierii oprogramowania, które ostatecznie prowadzą do wysokiej jakości produktów oprogramowania. Działania ustanawiają i oceniają procesy, które wytwarzają produkty. Obejmuje działanie skoncentrowane na procesie.
Software Quality Control- Kontrola jakości oprogramowania (SQC) to zestaw działań mających na celu zapewnienie jakości oprogramowania. Działania te koncentrują się na określeniu wad faktycznie wytworzonych produktów. Obejmuje działanie skoncentrowane na produkcie.
Wyzwanie dotyczące jakości oprogramowania
W branży oprogramowania programiści nigdy nie zadeklarują, że oprogramowanie jest wolne od wad, w przeciwieństwie do innych producentów produktów przemysłowych. Ta różnica wynika z następujących powodów.
Złożoność produktu
Jest to liczba trybów pracy, na które pozwala produkt. Zwykle produkt przemysłowy umożliwia tylko mniej niż kilka tysięcy trybów pracy przy różnych kombinacjach ustawień maszyny. Jednak pakiety oprogramowania zapewniają miliony możliwości operacyjnych. W związku z tym zapewnienie wszystkich tych możliwości operacyjnych we właściwy sposób jest głównym wyzwaniem dla branży oprogramowania.
Widoczność produktu
Ponieważ produkty przemysłowe są widoczne, większość jego wad można wykryć podczas procesu produkcyjnego. Również brak części w produkcie przemysłowym można łatwo wykryć w produkcie. Jednak wady oprogramowania przechowywanego na dyskietkach lub dyskach CD są niewidoczne.
Rozwój produktu i proces produkcji
W produkcie przemysłowym wady można wykryć w następujących fazach -
Product development - Na tym etapie projektanci i pracownicy działu zapewnienia jakości (QA) sprawdzają i testują prototyp produktu w celu wykrycia jego wad.
Product production planning- Na tym etapie proces produkcji i narzędzia są projektowane i przygotowywane. Ta faza zapewnia również możliwość sprawdzenia produktu w celu wykrycia wad, które pozostały niezauważone w fazie rozwoju.
Manufacturing- Na tym etapie procedury zapewniania jakości są stosowane do wykrywania usterek samych produktów. Wady produktu wykryte w pierwszym okresie wytwarzania można zwykle skorygować poprzez zmianę konstrukcji produktu, materiałów lub narzędzi produkcyjnych w sposób eliminujący takie wady w produkowanych w przyszłości produktach.
Jednak w przypadku oprogramowania jedyną fazą, w której można wykryć defekty, jest faza rozwoju. W przypadku oprogramowania planowanie produkcji i fazy produkcyjne nie są wymagane, ponieważ wytwarzanie kopii oprogramowania i drukowanie podręczników oprogramowania odbywa się automatycznie.
W poniższej tabeli przedstawiono czynniki wpływające na wykrywanie defektów w oprogramowaniu w porównaniu z innymi produktami przemysłowymi.
Charakterystyka | Oprogramowanie | Inne produkty przemysłowe |
---|---|---|
Złożoność | Miliony opcji operacyjnych | tysiące opcji operacyjnych |
widoczność produktu | Produkt niewidoczny Trudno jest wykryć wady wzrokiem | Widoczny produkt Skuteczne wykrywanie wad wzrokiem |
Charakter rozwoju i procesu produkcyjnego | może uszkodzić wady tylko w jednej fazie | może wykryć usterki we wszystkich następujących fazach
|
Te cechy oprogramowania, takie jak złożoność i niewidoczność, sprawiają, że opracowanie metodologii zapewniania jakości oprogramowania i jej pomyślne wdrożenie jest wysoce profesjonalnym wyzwaniem.