Dokumentacja wymagań przy użyciu języka naturalnego

Wykorzystanie języka naturalnego jest najbardziej popularnym sposobem dokumentowania wymagań. Jego największą zaletą jest brak potrzeby poświęcenia czasu przez interesariuszy na poznanie nowych notacji wykorzystywanych w przypadku modelów konceptualnych (np. UML) oraz możliwość opisu rzeczywistości, która może być trudna do przedstawienia za pomocą innych notacji.

Stosowanie języka naturalnego ma niestety także wiele wad. Wymagania są definiowane i analizowane przez ludzi, którzy posiadają zróżnicowany poziom wiedzy, różne uwarunkowania społecznościowe oraz doświadczenie. Te czynniki wpływają na częste niezrozumienie lub różną interpretację wymagań tworzonych przy użyciu języka naturalnego.

Różna percepcja oraz reprezentacja informacji przez ludzi zaangażowanych w projekt wynika z tak zwanego „efektu transformacji”.

Pięć procesów transformacyjnych, które są najbardziej istotne dla inżynierii wymagań:

  • Nominalizacja
  • Rzeczowniki bez indeksu referencyjnego
  • Uniwersalne kwantyfikatory
  • Niekompletnie określone warunki
  • Niekompletnie określone czasowniki

Nominalizacja

Nominalizacja ma miejsce, gdy czasownik opisujący jakiś proces zostaje przekształcony w rzeczownik. Nie ma powodu do niestosowania nominalizacji w opisie złożonych procesów, przy czym proces ten powinien być wyraźnie określony przez używany termin. Używany termin nie może pozwolić na jego swobodną interpretację, a opisywany przez niego proces musi być wyraźnie określony wraz z uwzględnieniem wejść i wyjść dla tego procesu oraz możliwych błędów i wyjątków.

Przykład

Dla wymagania „W przypadku awarii systemu należy wykonać jego restart” terminy „awaria systemu” i „restart”, które opisują proces powinny być przeanalizowane bardziej precyzyjnie.

Rzeczowniki bez indeksu referencyjnego

Określanie rzeczowników bez indeksu referencyjnego odnosi się do niekompletnego opisu rzeczowników. Przykładami rzeczowników bez indeksu referencyjnego mogą być: dane, komunikat, funkcja. Takie użycie rzeczownika nie wyczerpuje informacji o nim i może być różnie zinterpretowane.

Przykład

Wymaganie „Dane powinny zostać wyświetlone użytkownikowi na terminalu” nie określa jakie dane powinny zostać wyświetlone, jakiemu użytkownikowi i na którym terminalu. Aby uniknąć nieporozumień wymaganie może zostać sformułowane jako „Dane faktury powinny zostać wyświetlone zalogowanemu użytkownikowi na terminalu, na którym został zalogowany”.

Uniwersalne kwantyfikatory

Kwantyfikatory określają ilość oraz częstotliwość. Podczas użycia uniwersalnych kwantyfikatorów istnieje ryzyko, że określone zachowanie lub właściwość nie będzie miała zastosowania do wszystkich obiektów zgrupowanych za pomocą kwantyfikatora. Przykładami kwantyfikatorów są: nigdy, zawsze, wszystkie, niektóre.

Przykład

Wymaganie „System wyświetla wszystkie zbiory danych dla każdego podmenu” powinno zostać przeanalizowane pod kątem określenia, czy na pewno każde podmenu powinno je uwzględniać oraz czy na pewno istnieje potrzeba prezentacji wszystkich zbiorów danych dla danego podmenu.

Niekompletnie określone warunki

Wymagania zawierające warunek określają zachowanie systemu, które występuje jeżeli dany warunek zostanie spełniony. Niekompletne określenie warunku może spowodować utratę ważnych informacji.

Przykład

Wymaganie „System restauracji powinien pozwalać na sprzedaż napojów alkoholowych zarejestrowanym użytkownikom, którzy ukończyli 18 lat” nie określa jakie napoje mogą być sprzedawane użytkownikom którzy nie ukończyli 18 lat. Wymaganie może zostać sprecyzowane przez określenie „System restauracji powinien pozwalać na sprzedaż tylko napoi bezalkoholowych zarejestrowanym użytkownikom, którzy nie ukończyli 18 lat oraz wszystkich napoi zarejestrowanym użytkownikom, którzy ukończyli 18 lat”.

Niekompletnie określone czasowniki

Niektóre czasowniki opisujące jakiś proces wymagają więcej niż jednego rzeczownika, aby mogły zostać prawidłowo zinterpretowane. Na przykład czasownik przekazać powinien zostać określony przez trzy rzeczowniki określające co będzie przekazane, skąd i gdzie. Niekompletne określenie czasownika może spowodować utratę ważnych informacji.

Przykład

Wymaganie „Zalogowanie użytkownika wymaga wprowadzenia danych logowania” nie określa jednoznacznie kto, gdzie i jakie dane wprowadza. Wymaganie może zostać doprecyzowane przez sformułowanie „System musi pozwolić na wprowadzenie przez użytkownika jego loginu i hasła wykorzystując klawiaturę terminalna, aby mógł się zalogować w systemie”.

Podobne wpisy

  • Wykorzystanie dokumentów wymagań W trakcie trwania projektu dokumentacja wymagań stanowi podstawę dla różnych zadań: Planowanie: Specyfikacja wymagań stanowi podstawę dla planowania pracy i punktów milowych w procesie […]
  • Konstrukcja wymagań z zastosowaniem szablonów Zastosowanie szablonów wymagań zapewnia proste i zrozumiałe podejście do dokumentowania wymagań w języku naturalny redukując niepożądane skutki jego użycia.  Szablony wymagań […]
  • Wymagania a zarządzanie zmianą Trakcie życia oprogramowania zmiany wymagań są nieuniknione. Powodem zmian w wymaganiach mogą być wykryte błędy, nowe lub zmienione cele interesariuszy, zmiany prawne, udostępnienie nowych […]
  • Słownik w inżynierii wymagań Najczęstszym problemem podczas inżynierii wymagań jest inna interpretacja używanych terminów przez ludzi biorących udział w projekcie. Rozwiązaniem tego problemu jest utrzymywanie […]
  • Zasady walidacji wymagań Walidacja wymagań wymaga kilku czynników. Dziś przedstawię kilka zasad. Zaangażowanie odpowiednich interesariuszy Podczas wyboru interesariuszy do walidacji wymagań należy mieć na uwadze, […]
Reklama

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *