Wymagania pozafunkcjonalne

Przyjrzyjmy się trochę bliżej wymaganiom dotyczącym rozwiązania (solution requirements), a konkretnie wymaganiom pozafunkcjonalnym. Te funkcjonalne są z reguły łatwe do określenia, wiemy czego oczekujemy od rozwiązania/aplikacji, czego wymaga od nas biznes. Natomiast wymagania uzupełniające są często trudne do zdefiniowania, niezbędne jest zgłębienie kwestii technicznych, a same wymagania są niemniej istotne. Mogą dotyczyć takich kategorii: 

  • Dostępność - określenie stopnia dostępności funkcjonalnej rozwiązania, często wyrażone pod względem procentu czasu,
  • Kompatybilność - poziom dostosowania do innych elementów środowiska,
  • Łatwość utrzymania - podatność na rozwój, naprawę błędów, 
  • Wydajność - stopień wykonywania swoich funkcji przy jak najmniejszym zużyciu zasobów,
  • Przenośność - łatwość, z jaką rozwiązanie lub komponent można przenosić z jednego środowiska do drugiego,
  • Niezawodność - zdolność komponentu do wykonywania wymaganych funkcji w określonych warunkach przez określony czas,
  • Skalowalność - możliwość ewoluowania w celu obsługi większej ilości pracy,
  • Bezpieczeństwo - aspekty rozwiązania, które chronią zawartość lub składniki rozwiązania przed przypadkowym lub złośliwym dostępem, użyciem, modyfikacją, zniszczeniem lub ujawnieniem,
  • Użyteczność - łatwość z jaką użytkownik może nauczyć się obsługi rozwiązania,
  • Certyfikacja - ograniczenia dotyczące np. kwestii spełniania określonych norm,
  • Zgodność - z prawem, przepisami,
  • Lokalizacja - wymogi dotyczące języka, waluty, pisowni w zależności od regionu funkcjonowania,
  • Rozszerzalność - zdolność do włączenia nowej funkcjonalności,
  • SLA - ograniczenia organizacji obsługiwane przez rozwiązanie, które są formalnie uzgodnione zarówno przez dostawcę, jak i użytkownika rozwiązania. 

Jak widać kategorii jest dosyć sporo. Podam praktyczny przykład konkretnych wymagań pozafunkcjonalnych dotyczących aplikacji webowej z wersją mobilną, Tutaj akurat dostawca został poproszony o wyspecyfikowanie niektórych elementów, zamawiający pozostawił sporą dowolność:  

  • dostawca przedstawi opis proponowanej architektury fizycznej i logicznej rozwiązania oraz wyspecyfikuje ilość potrzebnych serwerów,
  • dostawca określi ilość i wersje systemów operacyjnych niezbędnych do działania systemu,
  • rozwiązanie ma umożliwiać prace w oparciu o bazę danych w standardzie Oracle lub MS SQL,
  • wskazane by serwery bazodanowe i aplikacyjne mogły pracować w środowisku maszyn wirtualnych VMWare,
  • rozwiązanie powinno działać w architekturze wielowarstwowej, zorientowanej na usługi,
  • rozwiązanie integruje się z usługami katalogowymi w celu uwierzytelniania użytkowników,
  • rozwiązanie umożliwia wykorzystanie platformy integracyjnej (middleware) do integracji z istniejącymi i planowanymi systemami,
  • system umożliwia dwukierunkową integrację z hurtownią danych posiadaną przez zamawiającego,
  • system jest w stanie obsłużyć X użytkowników,
  • rozwiązanie powinno być przygotowane na rozwój w zakresie ilości danych oraz nowy rodzaj danych,
  • dostawca określi dodatkowe oprogramowanie niezbędne do funkcjonowania rozwiązania (Java, Adobe),
  • dla każdego elementu systemu można wykonywać kopie bezpieczeństwa,
  • dostawca zapewni migracje danych z obecnych systemów,
  • dostawca zapewni wsparcie użytkowników w godzinach 8:00-17:00 w dni robocze,
  • zostanie dostarczona procedura disaster recovery,
  • system umożliwi archiwizowanie danych historycznych,
  • system będzie dostępny w językach: polski, angielski, hiszpański,
  • system oferuje graficzny interfejs użytkownika w rozdzielczości min. 1024x768 i jest możliwy do zainstalowania na komputerach stacjonarnych i przenośnych oraz tabletach i smartfonach z systemem iOS oraz Android,
  • system kontroluje integralność danych,
  • system wymusza złożoność hasła użytkownika,
  • rozwiązanie odnotowuje wszystkie operacje w logach,
  • rozwiązanie zapewni zabezpieczenie danych przed nieautoryzowanym dostępem,
  • system powinien posiadać zabezpieczenia przed zagrożeniami pochodzącymi z sieci publicznej poprzez wdrożenie zabezpieczeń kontrolujących przepływ informacji pomiędzy systemem informatycznym a siecią publiczną,
  • razem z rozwiązaniem dostawca dostarczy kompletną dokumentację wszystkich elementów konfiguracji.

Ta lista może być znacznie dłuższa w zależności od aplikacji i środowiska w jakim ma funkcjonować. Warto przygotować sobie taki szablon i posługiwać się nim przy analizie i wyborze nowych rozwiązań, aby uniknąć przykrych niespodzianek po starcie produkcyjnym :)

Related Articles

Kluczowe pojęcia analizy

Idea portalu

Ideę powstania tej strony można bardzo trafnie podsumować słynnym Sokratesowym  „Scio me nihil scire „ - „wiem, że nic nie wiem”.  Celem i pomysłem stworzenia Naszego portalu jest korzystanie z doświadczenia i wiedzy, jak i dzielenie się swoimi pomysłami, lekcjami, autopsjami. Nie chcielibyśmy jednak aby powstała branżowa WIKIPEDIA, a zamiast suchej wiedzy były doświadczenia, studia przypadku, konkretne sytuacje prosto z biznesu. A więc praktyka ponad teorią.

Liczymy więc na Was społeczność ludzi związaną z zarządzaniem IT i odwiedzających tę stronę na dzielenie się pomysłami i doświadczeniami. Uczmy się wszyscy !!