W ramach naszej witryny stosujemy pliki cookies. Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Dowiedz się więcej tutaj
X

Księgarnia PWN

   

   

   

   

   

   

   

   

.

.

Bezpłatny newsletter


Inżynieria wymagań - podstawowe definicje oraz klasyfikacje

Inżynieria wymagań - podstawowe definicje oraz klasyfikacje

Punktem startowym dla inżynierii wymagań jest tak zwany problem biznesowy. Opisuje on potrzebę czy cel biznesowy, które będą rozwiązane przez docelowy produkt. Problem biznesowy – jak nazwa wskazuje – w ujęciu biznesowym opisuje, „co chcemy osiągnąć”. Na tym etapie nie ma mowy o szczegółach planowanego produktu czy aspektach implementacyjnych. Koncentrujemy się na potrzebie. Przykładem problemu biznesowego jest potrzeba optymalizacji procesu obsługi klienta. 

Problem biznesowy jest likwidowany przez tak zwane rozwiązanie. Jest nim dowolny produkt, usługa, czy proces lub ich elementy umożliwiające spełnienie wymagań związanych z realizacją danego problemu biznesowego. Rozwiązanie definiowane jest jako zmiana w obecnym stanie organizacji wykonana w celu osiągnięcia określonej potrzeby biznesowej, likwidacji problemu biznesowego czy też wykorzystania możliwości biznesowych [IIBA].

Dochodzimy wreszcie do wymagania. Czym jest wymaganie stanowiące podstawę dyscypliny inżynierii wymagań?

Jedna z najczęściej cytowanych definicji wymagań, według standardu IEEE 610, opisuje wymaganie następująco:

1. Warunek lub umiejętność potrzebna użytkownikowi, by rozwiązać problem lub osiągnąć cel.
2. Warunek lub umiejętność, która musi być spełniona przez system lub komponent systemu, aby wypełnić założenia umowy, standardu, specyfikacji lub innego formalnego
3. Udokumentowana reprezentacja warunku lub umiejętności opisanych w 1. lub 2.

Dla zastosowań praktycznych punkt 1. warto nieco zmodyfikować, aby zaakcentować szerszy kontekst obowiązywania wymagań: dlatego też przyjmiemy następującą definicję punktu pierwszego:

1. Warunek lub umiejętność potrzebna interesariuszowi, by rozwiązać dany problem biznesowy lub osiągnąć określony cel.

Przyjęta definicja wymagania ma kilka istotnych implikacji. Po pierwsze, wymaganie wyraża oczekiwania, potrzeby i cele interesariuszy. Musi więc nieść ze sobą pewną wartość, którą gotowy produkt dostarczy interesariuszom – co implikuje, że spełnienie danego wymagania będzie konieczne do osiągnięcia pełni cech wymaganych od konkretnego produktu przez interesariuszy.

Wymaganie może wynikać ze źródeł pośrednich, takich jak przepisy i regulacje prawne lub inne wymagania, może też być wyrażone bezpośrednio jako wyraźna potrzeba interesariusza. Ważne jest, aby wymagania pochodzące z obu źródeł były przejrzyste dla wszystkich interesariuszy i udokumentowane.

Ważnym aspektem pracy z wymaganiami jest uświadomienie sobie ich znaczenia w kontekście planowania i wymiarowania projektów wytwórczych czy utrzymaniowych. Wymagania, jako podstawowy wyraz oczekiwań interesariuszy, w tym klienta (zamawiającego), stanowią podstawowy składnik umów, zamówień, planów projektowych itp., dostarczają też podstaw do oceny, planowania, przeprowadzania i monitorowania czynności projektowych. Dlatego precyzyjne i mierzalne wyrażanie wymagań jest niezmiernie ważne. Precyzja przydaje się też do wymiarowania zakresu projektu – wymagania określają granice systemu, zakres danego produktu, czy też zakontraktowanych usług serwisowych. A ponieważ wymienione elementy, jak i sama treść i zakres umowy między dostawcą a klientem, opisują, „co ma być zrobione”, precyzja w definiowaniu wymagań jest bezsprzecznie ważnym składnikiem dobrego porozumienia na linii producent – zamawiający.

Wymagania mogą dotyczyć zarówno charakterystyk samego produktu, jak i procesu jego wytwarzania oraz ograniczeń związanych z tym procesem. Jedna z bardziej popularnych klasyfikacji (IEEE 830) dzieli wymagania na projektowe oraz produktowe. Wymagania projektowe opisują porozumienie między zamawiającym a producentem dotyczące aspektów kontraktowych związanych z procesem wytwarzania lub utrzymywania produktu. Mogą obejmować na przykład budżet na wytworzenie, wymaganą dokumentację, sposób realizacji projektu (np. fazy, etapy, czynności, konkretne metody projektowania czy implementacji). Wymagania projektowe nie stanowią części specyfikacji wymagań; są zazwyczaj udokumentowane w postaci planów projektowych, planów wytwarzania czy czynności zapewnienia jakości lub dokumentu deklaracji pracy (SoW – ang. Statement of Work).

Wymagania produktowe dotyczą natomiast charakterystyk samego produktu. Charakterystyki te obejmują wymagania funkcjonalne i niefunkcjonalne. Wymagania funkcjonalne opisują funkcje (zachowanie) produktu, innymi słowy, definiują one „co robi produkt”. Wymagania niefunkcjonalne opisują atrybuty niefunkcjonalne produktu, zwane często celami lub atrybutami jakościowymi. Wyjaśniają one, jak produkt wykonuje swoje funkcje. Popularnym sposobem opisu wymagań produktowych jest FURPS lub podział zaczerpnięty z modelu jakości oprogramowania zdefiniowanego w standardzie IEEE 9126.

Oprócz wymienionej klasyfikacji typów wymagań, istnieje też podział reprezentujący różne poziomy abstrakcji (szczegółowości) wymagań. Podział ten – prócz deklaracji różnych poziomów wymagań – dobrze odzwierciedla też różne poziomy analizy wykonywane w ramach inżynierii wymagań.
Taka klasyfikacja jest jedną z bardziej rozbudowanych i wykorzystuje definicję wymagań [IIBA].

Autorzy: Bartosz Chrabski, Karolina Zmitrowicz

Artykuł jest fragmentem książki "Inżynieria wymagań w praktyce", która będzie miała swoją premierę we wrześniu.

Polecamy

Partnerzy