Niefunkcjonalne wymagania systemowe: pojęcia i przykłady

Przy opracowywaniu jakiegokolwiek nowego systemu informacyjnego (lub wprowadzenia istniejącego) eksperci z konieczności napotkają w swojej pracy potrzebę określenia tego rodzaju wymagań. Warto rozważyć je szczegółowo. Jakie są niefunkcjonalne wymagania, jakie są określone przez profesjonalistów.

Dwie kategorie wymagań

Wymagania dotyczące charakterystyki, jakości oprogramowania, systemów informacyjnych są duże. Można je jednak podzielić na dwie ogólne kategorie - wymagania funkcjonalne i niefunkcjonalne. Na początku artykułu ważne jest rozróżnienie między nimi. A więc:
  • Wymagania funkcjonalne. Opisz, co dokładnie musi zostać wdrożone w danym systemie lub produkcie, jakie działania powinni podjąć użytkownicy w związku z tym rozwojem.
  • Wymagania niefunkcjonalne. Opisz, jak działa stworzony system lub oprogramowanie, jakie właściwości i cechy mają konkretny rozwój.
  • Pkt 1. Koncepcja wymagań funkcjonalnych i niefunkcjonalnych, które stworzyliśmy. Przejdźmy teraz do drugiej kwestii - zastanówmy się, co dokładnie można przypisać temu ostatniemu.


    Jaka jest kategoria?

    Zasadniczo wymagania funkcjonalne obejmują przede wszystkim różne cechy jakości produktu. Mianowicie - wymagania określające jakościowe cechy rozwoju (oprogramowanie, system informacyjny). To, oczywiście, niezawodność, skalowalność, wydajność produktu. Jednak bardzo ważne są następująceWymagania niefunkcjonalne:
  • Ograniczenia. Oznacza to, że warunki ograniczają wybór decyzji dotyczących wdrożenia niektórych wymagań (lub zestawów wymagań). Ograniczają wybór narzędzi, strategii, narzędzi w tworzeniu struktury (architektury) i wyglądu produktu informacyjnego produktu programowego.
  • Reguły biznesowe. Należą do nich wytyczne, zasady, zasady, przepisy, które w jakiś sposób ograniczają niektóre aspekty działalności. Mogą na przykład określić skład i zasady realizacji dowolnych projektów biznesowych. Co można przypisać do tej kategorii? Polityka korporacyjna, wszelkiego rodzaju dekrety i dekrety rządowe, standardy przemysłowe, algorytmy obliczeniowe. Wszystkie zasady, które wpływają na rozwój systemu, produktu, są używane podczas pracy nad projektem.
  • Propozycje dotyczące wdrożenia. Grupa zawiera konkretne propozycje, które oceniają możliwość zastosowania pewnych rozwiązań architektonicznych i technologicznych.
  • Interfejsy zewnętrzne. Opis kluczowych aspektów interakcji produktu z innymi systemami i środowiskiem operacyjnym. Przede wszystkim są to wymagania dotyczące systemu lub produktu API, a także wymagania API innych systemów, które mają zintegrować opracowywany produkt.
  • Propozycje testowania, testowania opracowanego oprogramowania. Jest to seria dodatków do wymagań, wskazująca, w jaki sposób należy zweryfikować jedno lub drugie wymaganie w praktyce.
  • Wymogi prawne. Do licencjonowania produktów, dostępności patentu itp.
  • Ważne jest, aby pamiętać, że niefunkcjonalne wymagania systemowepredefiniowane i naprawione. Tylko wtedy specjalista może rozpocząć opracowywanie produktu.


    Przykłady wymagań

    Aby mieć jaśniejszy obraz niefunkcjonalnych wymagań systemu informacyjnego, należy wziąć pod uwagę kilka przykładów:
  • Ograniczenia. "Rozwój ten jest realizowany tylko na platformie Vendora X". "Podczas uwierzytelniania użytkownika w systemie informacyjnym należy używać wyłącznie technik identyfikacji biometrycznej."
  • Reguły biznesowe. "Wysyłając produkt, kierownik jest zobowiązany do zażądania od księgowego faktury przedsiębiorstwa oraz faktur wysyłki i wysyłki." "Zamówienie zostanie anulowane, jeśli płatność na konto nie zostanie odebrana przez dostawcę w ciągu 14 dni."
  • Zewnętrzne interfejsy. "Upewnij się, logując system operacyjny takich zdarzeń: wiadomość o uruchomieniu i zatrzymaniu usługi X". "Upewnij się, że dziennik programu jest zapisany w parametrach danych programu: jądro, skaner, antywirusowa baza danych i informacje powinny zostać wprowadzone do dziennika zarówno podczas uruchamiania, jak i odzyskiwania modułów".
  • Jak ustalić te wymagania?

    Przeanalizowaliśmy konkretne przykłady wymagań funkcjonalnych. A teraz kolejne ważne pytanie brzmi: "Jak zidentyfikować je w odniesieniu do konkretnego produktu?"
    Po pierwsze, eksperci tworzą szablon, który wymienia główne rodzaje niefunkcjonalnych wymagań dla produktu. Przede wszystkim jest to konieczne, aby nie pominąć żadnej pozycji z tej listy. Programiści zazwyczaj wybierają źródła do rysowania podobnych szablonówco następuje:
  • GOST (stanowy standard Federacji Rosyjskiej) 34. seria.
  • Książka "Rozwój wymagań oprogramowania" (autor K. Wigers). W szczególności należy zwrócić uwagę na sekcję "Załącznik G". Zawiera konkretne przykłady wymagań dotyczących dokumentacji.
  • Spójrzmy teraz, kto konkretnie zajmuje się tą pracą.

    Definicja wymagań dotyczących produktu

    Specjalne grupy robocze biorą udział w opracowywaniu funkcjonalnych i niefunkcjonalnych wymagań dla systemu. Ich członkowie określają nie tylko, ale także sprawdzają, zatwierdzają te recepty.
    Jeśli chodzi o kategorię niefunkcjonalną, ważne jest zaangażowanie nie tylko użytkowników i analityków, ale także kluczowych twórców produktów, architektów systemów, a także grupy testerów do jej zdefiniowania. Dlaczego to jest ważne? Architekt, na przykład, dostrzeże wymagania niefunkcjonalne jako dane wejściowe do wyboru i zaprojektowania architektury programu. Zespół testujący zaplanuje dla niego odpowiednie scenariusze testowania obciążenia. To przez to ostatnie będą sprawdzane wymagania wydajnościowe. W zasadzie dotyczy to atrybutów jakości.

    Role uczestników grup roboczych

    Rozważmy teraz, jakie role są przydzielane członkom zespołu, którzy definiują i zatwierdzają niefunkcjonalne wymagania dotyczące produktu:
  • Użytkownicy. Uczestnicy ci oceniają wartości parametrów, które określają niefunkcjonalne wymagania.
  • Analityk systemu. Ten uczestnik zbiera, analizuje,systematyzuje i dokumentuje wymagania niefunkcjonalne.
  • Kluczowi programiści i architekt systemów. Jaką rolę odgrywa ta grupa? Uczestniczyć w definiowaniu, analizowaniu wymagań niefunkcjonalnych i sprawdzać ich stopień realizacji w życiu.
  • Grupa testowa. Bierze także udział w definiowaniu, analizie listy niefunkcjonalnych wymagań dla programu. Dodatkowo opracowuje scenariusze testów dla tych recept.
  • skrypt określić wymagania

    Poniżej podajemy konkretny przykład skryptu, który jest używany do określenia wymagań funkcjonalnych dla modułu wydajności, przeznaczony do wysyłania wiadomości do użytkowników poczty zasobów internetowych:

  • System otrzymuje sygnał o zdarzeniu, inicjując wysyłanie wiadomości elektronicznych.
  • System wysyła wiadomości do użytkowników na liście A, korzystając z szablonu B. Do wysyłania wiadomości wykorzystywana jest usługa.
  • W przypadku, gdy operacja nie może zostać zakończona, system podejmie próbę ponownego przesłania wiadomości ponownie.
  • Tworzenie scenariusza wymagań produktu

    Teraz petycję do ustalone w poprzednim napisów skryptu:
  • Wymagania dotyczące czasu powiadomienia o wydarzeniu, które rozpoczyna wysyłanie wiadomości, system musi otrzymywać powiadomienia o wydarzeniu inicjowanie newslettera , nie później niż X minut po jego wystąpieniu.
  • Wymagania dotyczące wysyłania wiadomości: wiadomości muszą być wysłane przez system nie później niż X sekund po otrzymaniu sygnału o zdarzeniu.
  • Wymagania dotyczące ponownego wysyłania wiadomości w przypadku niepowodzenia próby: liczba ponownych prób powinna wynosić X. Interval - X minut od każdego przypadku nieudanego wysłania wiadomości.
  • Kryteria dotyczące ważnych kryteriów

    Najbardziej niefunkcjonalne wymogi muszą ściśle spełniać szereg kryteriów jakościowych dotyczących ich treści:
  • Kompletność (jako osobny wymóg i ich pełna lista). Co to znaczy? Żądanie musi zawierać wszystkie informacje niezbędne do jego realizacji.
  • Jednoznaczny. Wymóg ten nie powinien być sprzeczny z żadną inną pozycją na liście. Wszyscy profesjonaliści pracujący z nim powinni rozumieć to w ten sam sposób.
  • Poprawność odrębnego wymogu zapewniającego systemową spójność.
  • Konieczność. Realizacja tego wymogu jest naprawdę potrzebna dla użytkowników.
  • Wykonalność. Uświadom sobie ten wymóg życia.
  • Weryfikowalność. Konieczne jest zapewnienie jednoznacznej weryfikacji jego realizacji.
  • Poznaliśmy z takimi pojęciami jak niefunkcjonalnych wymagań oprogramowania, systemu informacyjnego. Demontowali również swoje konkretne przykłady, w przeciwieństwie do kategorii funkcjonalnej, kryteria jakościowe tej kategorii. Wiesz, które grupy profesjonalistów tworzą i zatwierdzają te recepty.

    Powiązane publikacje