Jak Państwo dba o jakość oprogramowania?

Jak Państwo dba o jakość oprogramowania?
Oprogramowanie jest ważnym elementem wspierającym działanie firm i instytucji państwowych. Ważne jest, aby było dobrze definiowanie, zamawiane i wdrażane. Organy państwowe komunikują to poprzez ustawy i rozporządzenia. Rozpoczynamy cykl artykułów dotyczących aktów prawnych i rozporządzeń, które jakości oprogramowania dotyczą.
 

Dokument, jaki chcemy zaprezentować na początek to ROZPORZĄDZENIE RADY MINISTRÓW z dnia 12 kwietnia 2012 r. w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych.

Pierwszym ważnym elementem jest tutaj niewiele mówiący tytuł, który sam w sobie utrudni osobom poszukującym prawnych uwarunkowań dla zamawianego oprogramowania jego odnalezienie. Należy więc wiedzieć, gdzie go znaleźć i mieć wolę, aby go zbadać. Widać to również w rozdziale I Przepisy ogólne, gdzie ciężko jednoznacznie zdiagnozować cel powstania dokumentu. 

Wartościowym elementem na pewno jest słownik, który dość szczegółowo (niekoniecznie jasno) wyjaśnia, co kryje się za poszczególnymi pojęciami. Przykładowo:

architektura systemu teleinformatycznego – opis składników systemu teleinformatycznego, powiązań i relacji pomiędzy tymi składnikami;

autentyczność – właściwość polegającą na tym, że pochodzenie lub zawartość danych opisujących obiekt są takie, jak deklarowane;

dostępność – właściwość określającą, że zasób systemu teleinformatycznego jest możliwy do wykorzystania na żądanie, w założonym czasie, przez podmiot uprawniony do pracy w systemie teleinformatycznym;

integralność – właściwość polegającą na tym, że zasób systemu teleinformatycznego nie został zmodyfikowany w sposób nieuprawniony;

niezaprzeczalność – w rozumieniu przepisów rozporządzenia Ministra Spraw Wewnętrznych i Administracji z dnia 27 kwietnia 2011 r. w sprawie zakresu i warunków korzystania z elektronicznej platformy usług administracji publicznej (Dz. U. Nr 93, poz. 546);

podatność systemu teleinformatycznego – właściwość systemu teleinformatycznego, która może być wykorzystana przez co najmniej jedno zagrożenie;

poufność – właściwość zapewniającą, że informacja nie jest udostępniana lub wyjawiana nieupoważnionym osobom fizycznym;

polityka bezpieczeństwa informacji – zestaw efektywnych, udokumentowanych zasad i procedur bezpieczeństwa wraz z ich planem wdrożenia i egzekwowania;

zagrożenie systemu teleinformatycznego – potencjalną przyczynę niepożądanego zdarzenia, która może wywołać szkodę w systemie teleinformatycznym.

 

Widać więc, że w pojęciu „interoperacyjności” jaka znana jest chociażby z materiału ISTQB mamy również ukryte pojęcia bezpieczeństwa informacji i systemu informatycznego oraz pojęcia dostępności rozumianej jako możliwości korzystania z systemu.

 

Silną wytyczną wynikającą z Krajowych Ram Interoperacyjności jest próba osiągnięcia następujących celów (§ 4. 1.): 

1) ujednolicenie, rozumiane jako zastosowanie kompatybilnych norm, standardów i procedur przez różne podmioty realizujące zadania publiczne, lub

2) wymienność, rozumianą jako możliwość zastąpienia produktu, procesu lub usługi bez jednoczesnego zakłócenia wymiany informacji pomiędzy podmiotami realizującymi zadania publiczne lub pomiędzy tymi podmiotami a ich klientami, przy jednoczesnym spełnieniu wszystkich wymagań funkcjonalnych i pozafunkcjonalnych współpracujących systemów, lub

3) zgodność, rozumianą jako przydatność produktów, procesów lub usług przeznaczonych do wspólnego użytkowania, pod specyficznymi warunkami zapewniającymi spełnienie istotnych wymagań i przy braku niepożądanych oddziaływań.

Jest to w dużym uproszczeniu próba zdefiniowania reguł umożliwiających zakup oprogramowania i redukcji zależności od jego wytwórcy. Pojawia się tu również aspekt wymagań funkcjonalnych i pozafunkcjonalnych i jego przełożenie na interoperacyjność rozumianą jako stosowanie jednego ze standardów przechowywania i przekazywania danych. Przykładowo dalej czytamy: Minister właściwy do spraw informatyzacji publikuje w repozytorium interoperacyjności na ePUAP schemat XML struktury danych cech informacyjnych obiektów, o których mowa w ust. 1.

 

Rozdział VI Minimalne wymagania dla systemów teleinformatycznych przynosi kolejne rozszerzenie definicji podanej na wstępie. Możemy przeczytać: § 15. 1. Systemy teleinformatyczne używane przez podmioty realizujące zadania publiczne projektuje się, wdraża oraz eksploatuje z uwzględnieniem ich funkcjonalności, niezawodności, używalności, wydajności, przenoszalności i pielęgnowalności, przy zastosowaniu norm oraz uznanych w obrocie profesjonalnym standardów i metodyk.

Mówimy więc o znacznie szerszym zakresie niż tylko interoperacyjność. Dodatkowo twórcy rozporządzenia zakładają, że w danym obszarze jakościowym mogą obowiązywać normy, które musza być uwzględnione:

Wymagania określone w ust. 1 i 2 uznaje się za spełnione, jeśli projektowanie, wdrażanie, eksploatowanie, monitorowanie, przeglądanie, utrzymanie i udoskonalanie zarządzania usługą podmiotu realizującego zadanie publiczne odbywają się z uwzględnieniem Polskich Norm: PN-ISO/IEC 20000-1 i PN-ISO/IEC 20000-2.

Lub też ogólnie uznane standardy:

 W przypadku gdy w danej sprawie brak jest przepisów, norm lub standardów, o których mowa w ust. 1, stosuje się standardy uznane na poziomie międzynarodowym, w szczególności opracowane przez:

1) Internet Engineering Task Force (IETF) i publikowane w postaci Request For Comments (RFC),

2) World Wide Web Consortium (W3C) i publikowane w postaci W3C Recommendation (REC)

 

W dalszej części dokumentów dużą uwagę przywiązuje się do aspektu bezpieczeństwa. Zarówno dbania o bezpieczeństwo danych i funkcji, jak i monitorowanie poprawności ich użycia Jest to opis ogólnikowy i napisany we właściwy dla urzędników sposób, ale merytorycznie poprawny.

Zarządzanie bezpieczeństwem informacji realizowane jest w szczególności przez zapewnienie przez kierownictwo podmiotu publicznego warunków umożliwiających realizację i egzekwowanie następujących działań:

1) zapewnienia aktualizacji regulacji wewnętrznych w zakresie dotyczącym zmieniającego się otoczenia;

2) utrzymywania aktualności inwentaryzacji sprzętu i oprogramowania służącego do przetwarzania informacji obejmującej ich rodzaj i konfigurację;

3) przeprowadzania okresowych analiz ryzyka utraty integralności, dostępności lub poufności informacji oraz podejmowania działań minimalizujących to ryzyko, stosownie do wyników przeprowadzonej analizy;

4) podejmowania działań zapewniających, że osoby zaangażowane w proces przetwarzania informacji posiadają stosowne uprawnienia i uczestniczą w tym procesie w stopniu adekwatnym do realizowanych przez nie zadań oraz obowiązków mających na celu zapewnienie bezpieczeństwa informacji;

5) bezzwłocznej zmiany uprawnień, w przypadku zmiany zadań osób, o których mowa w pkt 4;

6) zapewnienia szkolenia osób zaangażowanych w proces przetwarzania informacji ze szczególnym uwzględnieniem takich zagadnień, jak:

a) zagrożenia bezpieczeństwa informacji,

b) skutki naruszenia zasad bezpieczeństwa informacji, w tym odpowiedzialność prawna,

c) stosowanie środków zapewniających bezpieczeństwo informacji, w tym urządzenia i oprogramowanie minimalizujące ryzyko błędów ludzkich;

7) zapewnienia ochrony przetwarzanych informacji przed ich kradzieżą, nieuprawnionym dostępem, uszkodzeniami lub zakłóceniami, przez:

a) monitorowanie dostępu do informacji,

b) czynności zmierzające do wykrycia nieautoryzowanych działań związanych z przetwarzaniem informacji,

c) zapewnienie środków uniemożliwiających nieautoryzowany dostęp na poziomie systemów operacyjnych, usług sieciowych i aplikacji;

8) ustanowienia podstawowych zasad gwarantujących bezpieczną pracę przy przetwarzaniu mobilnym i pracy na odległość;

9) zabezpieczenia informacji w sposób uniemożliwiający nieuprawnionemu jej ujawnienie, modyfikacje, usunięcie lub zniszczenie;

10) zawierania w umowach serwisowych podpisanych ze stronami trzecimi zapisów gwarantujących odpowiedni poziom bezpieczeństwa informacji;

11) ustalenia zasad postępowania z informacjami, zapewniających minimalizację wystąpienia ryzyka kradzieży informacji i środków przetwarzania informacji, w tym urządzeń mobilnych;

12) zapewnienia odpowiedniego poziomu bezpieczeństwa w systemach teleinformatycznych, polegającego w szczególności na:

a) dbałości o aktualizację oprogramowania,

b) minimalizowaniu ryzyka utraty informacji w wyniku awarii,

c) ochronie przed błędami, utratą, nieuprawnioną modyfikacją,

d) stosowaniu mechanizmów kryptograficznych w sposób adekwatny do zagrożeń lub wymogów przepisu prawa,

e) zapewnieniu bezpieczeństwa plików systemowych,

f) redukcji ryzyk wynikających z wykorzystania opublikowanych podatności technicznych systemów teleinformatycznych,

g) niezwłocznym podejmowaniu działań po dostrzeżeniu nieujawnionych podatności systemów teleinformatycznych na możliwość naruszenia bezpieczeństwa,

h) kontroli zgodności systemów teleinformatycznych z odpowiednimi normami i politykami bezpieczeństwa;

13) bezzwłocznego zgłaszania incydentów naruszenia bezpieczeństwa informacji w określony i z góry ustalony sposób, umożliwiający szybkie podjęcie działań korygujących;

14) zapewnienia okresowego audytu wewnętrznego w zakresie bezpieczeństwa informacji, nie rzadziej niż raz na rok.

Końcowa część dokumentu to załączniki opisujące identyfikatory obiektów i formatów danych (plików).

Dodatkową ciekawostką jest to, że przepisy staną się obligatoryjne dla nowych systemów trzy lata po wejściu rozporządzenia w życie, czyli w kwietniu 2015, a dla utrzymywanych systemów w momencie ich modernizacji. 

 

Rozporządzeniu można zarzucić chaotyczność i próbę upieczenia wszystkich aspektów jakościowych na jednym ogniu. Może nie jest to najlepszy dokument i nie jest to najlepsze rozwiązanie, ale na pewno jest to światełko w tunelu.

 

Radek Smilgin

 

Źródło dokumentu: http://isap.sejm.gov.pl/DetailsServlet?id=WDU20120000526

 

 

To powinno Cię zainteresować