Jakość oprogramowania: standardy i ocena. Zapewnienie jakości oprogramowania technologicznego

Jakość oprogramowania (oprogramowania) określana jest na podstawie badania zewnętrznych i wewnętrznych cech produktu. Jakość zewnętrzna zależy od tego, jak działa w czasie rzeczywistym, jak wydajna jest dla użytkowników. Druga funkcja koncentruje się na aspektach wewnętrznych, które zależą od jakości napisanego kodu. Użytkownik koncentruje się bardziej na tym, jak działa na poziomie zewnętrznym, którego jakość można utrzymać tylko wtedy, gdy specjalista napisał dobry kod programu.

Jakość oprogramowania

Istnieją obecnie dwa ważne podejścia stosowane do określenia jakości:
  • Zarządzanie defektami.
  • Atrybut jakości.
  • Wszystko, co nie spełnia wymagań klienta, należy do kategorii wad. Zespół programistów, którzy nie mogą w pełni zrozumieć wymagań klienta, pozwoli na błędy projektowe.


    W zarządzaniu wadami ich kategorie są określane na podstawie wagi. Liczba problemów jest liczona i podejmowane działania zgodnie z ustaloną dotkliwością. Tabele kontrolne można utworzyć w celu zmierzenia zdolności rozwojowych. Jakość oprogramowania znacznie się poprawiła w ciągu ostatnich dwóch dekad. Jednym z powodów jest to, że firmy korzystają z nowych technologii, takich jak rozwój obiektowy i narzędzia CASE. Ponadto możesz oglądaćrosnące znaczenie wprowadzania metod zarządzania w produkcji. Zarządzanie jakością ZA dzieli się na trzy główne obszary:
  • Gwarancja. Opracowanie podstaw środków organizacyjnych i standardów jakości oprogramowania
  • Planowanie. Wybór odpowiednich norm i dostosowanie do konkretnego projektu programu.
  • Kontrola. Określ procesy, które zapewniają, że tworzenie oprogramowania spełnia standardy jakości.
  • Polityka organizacji SQA

    Polityka organizacji dotycząca jakości oprogramowania musi spełniać następujące wymagania:


  • Związek z celami organizacji.
  • Zobowiązanie do ogólnej koncepcji zapewnienia jakości.
  • Zobowiązanie do przestrzegania norm jakości przyjętych przez organizację.
  • Odpowiedzialność za przydzielanie odpowiednich zasobów.
  • Chęć ciągłego podnoszenia jakości i produktywności organizacji.
  • Aby spełnić wszystkie wymogi normy, firmy wyznaczają odpowiedzialne za jakość. Obowiązki pracownika:
  • Odpowiedzialność za przygotowanie rocznego programu środków i budżetu SQA.
  • Organizacja opracowywania planów rozwoju systemu SQA.
  • Ogólne monitorowanie realizacji rocznego programu regularnych działań i planowanych projektów rozwojowych.
  • Określenie kwalifikowalności działań w ramach programu według charakterystyki i wielkości usług podwykonawców oraz zamówień planowanych na nadchodzący rok.
  • Prezentacja i promocja zagadnień SQA dotyczących zarządzania wykonawczego.
  • Przygotowane wnioski badawczeDział SQA dla rocznego programu działań, sprawdzający potencjał propozycji do osiągnięcia celów.
  • Koncepcje wysokiego poziomu

    Jakościowe cechy to koncepcje wysokiego poziomu, które odzwierciedlają ważne aspekty i nie podlegają bezpośredniej ocenie jakości oprogramowania. Zamiast tego plan powinien określać odpowiednie wskaźniki, które można wykorzystać do określenia jednej lub więcej charakterystyk.
    Na przykład podczas oceniania analizatora składni XML można użyć zestawu testów zgodności XML W3C. Obejmuje testy przeznaczone dla wszystkich aspektów kontroli, a także zalecenia W3C Extensible Markup Language (XML) ze szczególnym naciskiem na wymagania dotyczące obsługi błędów w dokładności lub autentyczności dokumentów XML. W związku z tym procent przekazanych przypadków testowych jest używany jako miara oceny takich cech analizowanego analizatora XML:
  • Perspektywa użytkownika.
  • Funkcjonalność.
  • Niezawodność i odporność na uszkodzenia.
  • Z punktu widzenia użytkownika istnieje kilka ważnych cech, które odpowiadają na następujące pytania:
  • Kto zapewnia pełny zakres wymaganych funkcji do tego celu?
  • Czy działa niezawodnie, aby uzyskać pożądane wyniki przy prawidłowym użytkowaniu?
  • Czy program działa bezpiecznie i niezawodnie w przypadku błędnego wprowadzenia?
  • Czy korzystanie z oprogramowania jest proste?
  • Czy działa szybko, czy wydaje się zbyt wolny?
  • Dobrze zintegrowany program z innym produktem, któryużywa użytkownika?
  • Zakładając, że problemy z jakością są ważne dla użytkownika, zespół informatyczny odpowiedzialny za wdrożenie i konserwację może napotkać inne problemy:
  • Ochrona przed szkodliwymi atakami.
  • Jakość wykorzystania zasobów komputerowych.
  • Zasoby niskiej jakości to te, które wymagają więcej pamięci i mocy obliczeniowej, niż jest to konieczne. ISO zapewnia temu modelowi dwie nowe kategorie wyższego poziomu związane z zapewnieniem jakości oprogramowania technologicznego.

    Wymagania normy ISO 9126 dla produktu

    ISO 9126 jest międzynarodowym standardem oceny. Jest on podzielony na cztery części, które obejmują następujące tematy:
  • Wskaźniki zewnętrzne.
  • Wskaźniki wewnętrzne.
  • ​​
  • Model jakości.
  • Wskaźniki jakości oprogramowania.
  • Pierwsza część normy ISO 9126 jest rozszerzeniem poprzedniego standardu stworzonego przez McCall (1977), Boehm'a (1978) i FURPSa w definiowaniu zestawu cech jakościowych. Dokumentacja ISO 9126 jest przedmiotem prawa autorskiego. Model jakości ISO 9126-1 określa 6 głównych cech:
  • Funkcjonalność.
  • Wiarygodność.
  • Użyteczność.
  • Efektywność.
  • Okres ważności.
  • Przenośność.
  • Funkcjonalność produktu

    Funkcjonalność jest głównym celem każdego produktu lub usługi. Im więcej możliwości korzystania z produktu, tym trudniejsze staje się określenie jego funkcjonalności. Może to być lista tego, co jest dla niego dostępne. Niektóre z wymienionych funkcji (na przykład wygoda) są obecne tylko wdo pewnego stopnia, to znaczy, nie tylko "włączony" lub "wyłączony". Wiele osób nie rozumie ogólnej funkcjonalności procesu i oprogramowania. Często wynika to z faktu, że diagramy przepływu danych (DFD) i inne narzędzia symulacyjne mogą odzwierciedlać funkcjonalność procesu, jako zbiór danych przekonwertowanych danych wyjściowych.

    ISO 9126-1 i inne modele jakości nie pomagają zmierzyć ogólnych kosztów lub korzyści związanych z procesem, ale jedynie badają komponent oprogramowania. Związek między funkcjonalnością w ramach całego procesu biznesowego wykracza poza ISO 9126. Takie możliwości atrybutów charakteryzują użyteczność w tym środowisku. Każdy z nich można zmierzyć tylko wtedy, gdy istnieją odpowiednie programy systemu.

    Cechy niezawodności i użyteczności

    Gdy tylko system oprogramowania zaczyna funkcjonować, charakterystyka niezawodności decyduje o jego zdolności do świadczenia usług pod pewnymi warunkami w określonych okresach czasu. Jednym z aspektów tej funkcji jest odporność na uszkodzenia. Na przykład, jeśli sieć jest wyłączona przez 20 sekund, system powinien móc wznowić i kontynuować pracę. Umiejętność uczenia się korzystania z systemu (uczenia się) jest jedną z głównych cech użyteczności. Wydajność jest powiązana z zasobami systemowymi, które są wykorzystywane do zapewnienia wymaganej funkcjonalności. Ilość miejsca na dysku, pamięć i sieć to dobre wskaźniki wydajności. Podobnie jak w przypadku wielu innych kryteriów, istnieje zbieżność między nimi. Na przykład wygoda korzystania z systemuwpływa na jego działanie.

    Przebudowa i przenoszenie

    Zdolność do identyfikowania i korygowania błędu w komponencie oprogramowania jest tym, do czego odnosi się charakterystyka wydajności. Na jego wydajność ma wpływ czytelność lub złożoność kodu, a także jego modułowość. Jest to coś, co pomaga zidentyfikować przyczynę usterki, aby rozwiązać ją później. Charakterystyka utrzymania:
  • Analiza - identyfikuje główną przyczynę niepowodzenia.
  • Zmienność - Określa wysiłek dodany w celu zmodyfikowania kodu w celu wyeliminowania błędu.
  • Stabilność - Pokazuje, jak stabilny system działa, gdy się zmienia.
  • Testowanie - Określa, ile wysiłku potrzeba, aby przetestować system.
  • Tolerancja - zdolność systemu do przystosowania się do zmian w jego otoczeniu.
  • Zdolność adaptacyjna - Jak łatwo system dostosowuje się do zmian wprowadzonych do specyfikacji.
  • Szybkość konfiguracji - jak łatwo można zainstalować system.
  • Możliwość wymiany - jak łatwo można zastąpić element systemu.
  • Koszt jakości. Ona jest bardzo ważna. Kiedy programista zdecyduje się przetestować swój produkt, faktycznie poświęci czas, pieniądze i wysiłki, aby go przetestować.
  • Kwalifikowalność - Określa, czy funkcja spełnia wymagania.
  • Dokładność - określa poprawność realizacji funkcji.
  • Interoperacyjność - interakcja z innymi elementami systemu.
  • ZGODNOŚĆ Z NIEZBĘDNYMI PRZEPISAMI I ZALECENIAMI.
  • Zapewnienie jakości i bezpieczeństwa oprogramowania i przetwarzania transakcji związanych z danymi.
  • Wiarygodność - zdolność do pracy w pewnych warunkach w wyznaczonym czasie.
  • Dojrzałość to częstotliwość niepowodzeń.
  • Odnowienie - idea zdolności systemu do powrotu do pełnowartościowej pracy po awarii.
  • Przenośność odnosi się do tego, jak dobrze może dostosować się do zmian w środowisku lub jego wymagań. Obiektowe metody projektowania i wdrażania mogą przyczynić się do tego, jak te cechy jakości oprogramowania są obecne w tym systemie.

    Koszty procesów analizy

    Koszt jakości oblicza się, analizując koszty przestrzegania przepisów i niespójności. Cena pierwszego wskaźnika jest związana z:
  • Kosztem prewencji. Jest to kwota przeznaczona na zapewnienie właściwego przestrzegania wszystkich metod. Obejmuje szkolenia zespołowe, sprawdzanie poprawności kodu i wszelkie inne działania związane z kontrolą jakości.
  • Szacunkowe koszty. Jest to kwota wydana na zaplanowanie wszystkich zadań testowych, a następnie na ich wykonanie, na przykład, przy tworzeniu przypadków testowych.
  • Koszty niezgodności. Są to koszty wynikające z wewnętrznych i zewnętrznych awarii.
  • Wewnętrzne awarie są kosztami, które występują, gdy przypadki testowe są wykonywane po raz pierwszy na poziomie wewnętrznym, z pewnymi błędami. Koszty powstają, gdy programista musi naprawić wszystkie usterki znalezione w jego fragmencie podczas testowania modułowego lub komponentowego. Zewnętrzneawarie są kosztami, które powstają, gdy defekt ustala klient, a nie tester. Koszty te są znacznie wyższe niż te, które pojawiają się na poziomie wewnętrznym. Jest to szczególnie ważne w przypadku niepowodzenia oprogramowania.

    Dyscyplinowa analiza procesu

    Jest to ocena procesora oprogramowania. Obejmuje to identyfikację i charakterystykę obecnych praktyk, identyfikację mocnych i słabych stron, a także zdolność kontrolowania lub unikania znaczących przyczyn złej jakości produktu. Audyt programów może mieć trzy rodzaje:
  • Poczucie własnej wartości. Prowadzone w ramach własnego personelu organizacji.
  • Oszacowanie organizacji trzeciej.
  • Ocena przez stronę trzecią.
  • Proces kontroli procesu przeprowadzany jest w otwartym środowisku w celu poprawy jego wydajności przy użyciu oprogramowania o jakości oprogramowania. Wyniki takiej kontroli są poufne dla organizacji. W odniesieniu do zbierania danych stosowane są cztery metody:
  • Standardowa lista problemów z terminem zapadalności.
  • Wywiady indywidualne i grupowe.
  • Recenzje dokumentów.
  • Przeglądy projektu oceny przez uczestników.
  • Standardowa metoda SCAMPI

    Definicja IEEE dla zapewnienia jakości oprogramowania:
  • Planuje się systematyczny plan dla wszystkich działań niezbędnych do stworzenia wystarczającego zaufania, że ​​produkt lub produkt spełnia niezbędne wymagania techniczne.
  • Zestaw działań oceniających jakość jakości oprogramowania za pośrednictwemprodukty są opracowywane lub produkowane.
  • CMMI (Software Engineering Institute) do udoskonalania procesów (SCAMPI) został opracowany w celu spełnienia wymagań opartych na CBA IPA i CBA. IPI i SCAMPI składają się z trzech etapów:
  • Plan i przygotowanie.
  • Weryfikacja oceny na miejscu.
  • Sprawozdanie dotyczące wyników.
  • Działania związane z planem i fazą szkolenia obejmują następujące czynniki:
  • Definicja obszaru oceny.
  • Opracowanie planu.
  • Przygotowanie zespołu oceniającego.
  • Ocena uczestników.
  • Administrowanie kwestionariuszem CMMI.
  • Badanie odpowiedzi w kwestionariuszach.
  • Przeprowadzanie wstępnego przeglądu dokumentów.
  • Środki na etapie składania sprawozdań obejmują:
  • Składanie ostatecznych wyników.
  • Przeprowadzenie sesji wykonawczej.
  • Zakończenie oceny jakości oprogramowania.
  • Środki dotyczące fazy oceny na miejscu obejmują:
  • Organizacja otwarcia projektu.
  • Przeprowadzanie wywiadów.
  • Generalizacja informacji.
  • Przygotowanie prezentacji wyników.
  • Organizacja zamknięcia projektu.
  • Struktura organizacyjna personelu

    Obejmuje to tych, którzy są odpowiedzialni za jakość oprogramowania. Takimi osobami mogą być:
  • Menedżerowie.
  • Główni menedżerowie, zwłaszcza ci bezpośrednio odpowiedzialni za zapewnienie jakości.
  • Szefowie działu rozwoju i wsparcia.
  • Kierowników działów testujących.
  • Menedżerowie projektów oraz zespoły opracowujące i wspierające zespół projektowy.
  • Liderzy zespołówtestowanie
  • Testerów.
  • Członkowie zespołu testującego:
  • specjaliści SQA i zainteresowane praktyki.
  • Powiernicy SQA.
  • Członkowie komitetu i członkowie forum SQA.
  • Członkowie zespołu oddziału SQA.
  • Tylko kierownictwo i personel działu testowego są zatrudnieni na pełen etat dla zadań SQA. Inni poświęcają tylko część swojego czasu pracy na kwestie jakości. W rzeczywistości istnieją trzypoziomowe struktury zarządzania w organizacjach rozwojowych:
  • Kierownictwo wyższego szczebla.
  • Zarządzanie departamentami.
  • Zarządzanie projektem.
  • Kierownik projektu jest osobą odpowiedzialną za zapewnienie, że wszyscy członkowie zespołu postępują zgodnie z określonymi procedurami i instrukcjami. Do jego zadań należy profesjonalne zagadnienie praktyczne i kierownicze. Menedżerowie projektów wykonują następujące funkcje:
  • Praca działu tworzenia oprogramowania i wsparcia.
  • Prace nad integracją i testowaniem rozwoju oprogramowania, korekty i wykonywania testów regresywnych.
  • Wykonywanie inspekcji i późniejsze korekty braków.
  • Wykonanie testów akceptacyjnych.
  • Instalowanie oprogramowania na zdalnych stronach klientów.
  • Potrzeba instalowania narzędzi antywirusowych

    Kupując nową, użytkownik zastanawia się, kiedy kupić oprogramowanie antywirusowe. Wielu wciąż nazywa ten typ antywirusa, chociaż dzisiaj termin ten jest nieaktualny. Co najgorsze, fakt, że "najlepszy" złośliwy program, jeśli można go nazwać, spokojnie przenikana komputerze bez wiedzy właściciela. Może to będzie ukryte przed oczami użytkownika, ale przyniesie szkodę. Wraz z poważną aktualizacją systemów operacyjnych zniknęła potrzeba zainstalowania takich podejrzanych programów w celu ochrony komputera. Użytkownicy mają teraz system Windows 10. Microsoft zbudował dwa ważne narzędzia: zaporę i program Windows Defender. Te dwa ostrzeżenia mają na celu ochronę komputera. Ponieważ są one zintegrowane z systemem operacyjnym, nie są wymagane dodatkowe zewnętrzne zasoby oprogramowania. Microsoft często aktualizuje narzędzia, starając się zapobiegać pojawianiu się nowych zagrożeń. Jeśli z jakiegoś powodu coś się zepsuje, pojawi się ulepszona wersja "obrony" - obrońcy Windows. Działa w trybie offline. Możesz go uruchomić bez połączenia z Internetem z urządzenia pamięci masowej USB. Windows Defender to dobre narzędzie. Nie ma powodu, aby tego nie używać. Dzięki temu nowi właściciele nie spotykają się z takimi sytuacjami kryzysowymi podczas zakupu oprogramowania antywirusowego.

    Powiązane publikacje