Jakość na każdym etapie

Subskrybuj RSS A A A
20 czerwca 2005
Marta Piechowiak

Zarządzanie jakością oprogramowania wymaga odpowiedniego ustawienia procesów wytwórczych w całym cyklu jego tworzenia.

Zarządzanie jakością oprogramowania wymaga odpowiedniego ustawienia procesów wytwórczych w całym cyklu jego tworzenia.

Trudno wskazać jakąś uniwersalną definicję jakości oprogramowania, ponieważ taka ocena jest subiektywna, bo pozostaje uzależniona od potrzeb i oczekiwań jego odbiorców (którzy będą utrzymywać oprogramowanie) oraz docelowych użytkowników (którzy będą wykorzystywać oprogramowanie w realizowanych przez siebie zadaniach). Kombinacja różnych kryteriów oceny będzie składała się na definicję jakości oprogramowania dostosowaną do warunków realizacji projektu.

Błędy w dziedzinieKliknij, aby powiększyćBłędy w dziedzinieJakość oprogramowania nie jest cechą, którą można "wbudować" w oprogramowanie po jego wytworzeniu. Jakość powstaje we wszystkich fazach rozwoju oprogramowania. Luki i niedociągnięcia na różnych etapach tego procesu odbijają się na jakości produktu końcowego. Na przykład brak w oprogramowaniu funkcji wymaganych przez użytkownika może być spowodowany błędem w implementacji, ale także może wynikać z tego, iż wymagania użytkownika nie zostały w ogóle udokumentowane lub też zostały co prawda udokumentowane przez projektantów systemu, ale w sposób niewystarczający, z pominięciem elementów wymaganej funkcjonalności (przypuszczalnie dokumentacja opisująca wymagania nie została zweryfikowana i zatwierdzona przez użytkownika). Co w takim razie jest istotne w procesie tworzenia oprogramowania, by rezultaty tego procesu były jak najlepsze?

Proces i projekt

Jakość procesu tworzenia oprogramowania jest niewątpliwie związana z jakością zarządzania projektem, w tym planowania prac, alokacji zasobów, terminów realizacji. Błędy w oszacowaniu budżetu oraz harmonogramu, niewłaściwy zespół, niewłaściwa komunikacja, brak zarządzania ryzykiem projektowym czy wreszcie brak wypracowanego podejścia do zarządzania jakością negatywnie odbijają się na jakości rezultatów procesu tworzenia oprogramowania.

W procesie tworzenia oprogramowania można wyróżnić dwa podstawowe obszary działań związanych z zarządzaniem jakością: (1) planowanie zarządzania jakością oraz (2) monitorowanie przestrzegania planu zarządzania jakością i przyjętych standardów jakości w realizacji prac projektowych.

Plan zarządzania jakością oprogramowania powinien zostać opracowany przed rozpoczęciem prac projektowych. Powinien uwzględniać ocenę jakości poszczególnych produktów (kryteria oceny jakości, procedury kontroli jakości, akceptacji prac), określenie działań mających na celu uzyskanie zakładanych celów w zakresie jakości oprogramowania i odpowiedzialności za te działania. Istotne jest także powiązanie rezultatów kontroli jakości z systemem oceny członków zespołu projektowego. Potrzebne są: wprowadzenie harmonogramu planowanych działań kontroli jakości oraz kamienie milowe związane z akceptacją poszczególnych produktów prac. Trzeba także ustalić standardy sposobu dokumentowania produktów w poszczególnych fazach tworzenia oprogramowania oraz kryteria oceny kompletności tych dokumentów, sposobu komentowania kodu oprogramowania.

Ważną rolę odgrywa podejście do komunikacji pomiędzy zespołem projektowym opracowującym dane rozwiązanie informatyczne a innymi zespołami pracującymi nad równoległymi projektami (w tym standardy komunikacji pomiędzy poszczególnymi członkami zespołu projektowego).

Podstawowym dokumentem jest lista kontrolna oceny kompletności oraz poprawności prac:

  • Czy funkcje oprogramowania zostały zdefiniowane w sposób jednoznacznie zrozumiały?
  • Czy zostały zdefiniowane interfejsy pomiędzy elementami systemu?
  • Czy została wybrana najlepsza opcja rozwiązania z możliwych?
  • Czy przyjęte rozwiązanie jest technicznie wykonalne?
  • Czy komponenty systemu są spójne (pomiędzy dokumentacją projektową oraz oprogramowaniem)?
  • Czy model danych poprawnie odzwierciedla obiekty danych, ich atrybuty oraz relacje?
  • Czy zostały uwzględnione wymagania użytkowników na poszczególnych etapach prac?
  • Czy zostały udokumentowane w sposób kompletny rezultaty poszczególnych etapów prac projektowych?
  • Czy zostały zachowane przyjęte standardy dokumentacji oraz kodowania?

    Kontrolne pytania powinny być uwzględnione w planie zarządzania jakością w odniesieniu do poszczególnych faz tworzenia oprogramowania. Zaletą stosowania planu jakości jest to, że działania kontrolne oraz korekty błędów są podejmowane systematycznie, przez co nie kumulują się pod koniec realizacji prac projektowych - często na etapie przekazania oprogramowania do eksploatacji. Kontrola jakości etapów poszczególnych prac istotnie podnosi jakość całego procesu oraz rezultatu końcowego. W zarządzaniu jakością w fazie realizacji prac projektowych szczególną wagę ma właściwe zrozumienie wymagań użytkowników. Błędy, które powstają na etapie specyfikacji potrzeb, bardzo dotkliwe przekładają się na koszty i czas tworzenia oprogramowania, ponieważ wymagają zmian we wszystkich fazach jego powstawania.

    Na etapie definiowania potrzeb użytkowników istotny wpływ na jakość oprogramowania ma ryzyko wystąpienia problemów w komunikacji pomiędzy przyszłymi użytkownikami systemu a wykonawcami rozwiązania. Użytkownicy często nie wiedzą, w jaki sposób opisać swoje potrzeby, informatycy natomiast nie rozumieją, czego potrzebują użytkownicy i przyjmują własne założenia, których rozbieżność z faktycznymi wymaganiami nierzadko ujawnia się dopiero na etapie testów oprogramowania. By temu zapobiec, należy zadbać o opracowanie dokumentacji specyfikującej te potrzeby w języku zrozumiałym dla użytkownika, a jednocześnie wystarczająco konkretnym i jednoznacznym dla opracowania projektu.

    Kryteria operacyjne jakości oprogramowania

    • Użyteczność: czy ma praktyczne zastosowanie, czy wnosi wartość do organizacji.

    • Bezpieczeństwo: czy zapewnia odpowiednie bezpieczeństwo dostępu do danych.

    • Kompletność: czy posiada wymaganą funkcjonalność.

    • Niezawodność: czy działa poprawnie, czy transakcje są realizowane w sposób poprawny, jak duże jest ryzyko awarii systemu.

    • Wydajność: czy czas odpowiedzi na zapytania, przetwarzania danych jest zadowalający.

    • Integralność: czy oprogramowanie działa poprawnie w powiązaniu z innymi systemami.


    Kryteria związane z utrzymaniem oprogramowania

    • Możliwość obsłużenia awarii: jak szybko można przywrócić system do działania w razie awarii.

    • Elastyczność na zmiany - czy można wprowadzić zmiany do oprogramowania, jak bardzo jest to złożone, jakie są ograniczenia.

    • Przenoszalność - czy oprogramowanie może działać na innym sprzęcie.

    • Otwartość - czy oprogramowanie może współpracować z innymi systemami.

    • Możliwość przeprowadzenia testów - czy można zweryfikować poprawność działania oprogramowania po wprowadzeniu w nim zmian, jeszcze przed przekazaniem go do eksploatacji.

    Koszty zarządzania jakością oprogramowania

  • Koszty zapobiegania powstawaniu błędów:
    - Szkolenia pracowników
    - Analizy potrzeb użytkowników
    - Opracowywanie prototypu rozwiązania
    - Monitorowanie i usprawnianie procesu tworzenia oprogramowania

  • Koszty identyfikacji błędów:
    - Przeglądy dokumentacji projektowej
    - Przegląd kodu źródłowego
    - Testy

    Koszty związane ze skutkami wywołanymi przez powstanie błędów

  • Koszty ponoszone przez dostawcę oprogramowania:
    - Dodatkowe prace związane z usuwaniem błędów
    - Koszty niedotrzymania terminu dostawy gotowego rozwiązania

  • Koszty ponoszone przez odbiorcę oprogramowania:
    - Koszty utraconych korzyści, jakie daje wdrożenie rozwiązania informatycznego
    - Koszty obniżenia satysfakcji klientów

    Źródło: "Evaluating the Cost of Software Quality", ACM

  • Oceń artykuł

    średnio: 0 liczba ocen: 0
    1  2  3  dalej »

    Komentarze (0)

    Najnowsze

    Państwo do konsolidacji

    Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

    Zarządzanie po japońsku

    W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

    e-Sąd z odsieczą sprawiedliwości

    Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

    e-Zdrowie w Polsce i na świecie

    Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

    Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

    Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

    Cyberprzestępcy podążają za użytkownikami

    Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

    Jak zaplanować karierę w branży IT

    Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

    Rekomendacje

    

    Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
    Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
    Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
    © Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88