Co powinniśmy zapamiętać
Identyfikowanie pojęć w słowniku dziedziny
Słownik dziedziny w inżynierii wymagań oprogramowania pełni podobną rolę do słownika w potocznym znaczeniu tego słowa. Rolę słownika można także porównać do roli opisów przyrody w powieściach. W specyfikacji wymagań takie „opisy przyrody” umieszczamy w słowniku dziedziny i nie wplatamy ich w treść wymagań. Taki słownik dziedziny stanowi swoistą „mapę terenu” określonej dziedziny problemu, zatem warto przedstawić go w formie graficznej. Słownik tworzymy przez cały okres projektu, uzupełniając go o kolejne pojęcia w miarę specyfikowania coraz bardziej szczegółowych wymagań. Definiowanie słownika opiera się na wyodrębnianiu wszystkich pojęć użytych w opisach wymagań. Pojęcia wyróżnione w opisach wymagań umieszczamy w słowniku i dokonujemy ich opisu. Raz opisane pojęcia możemy używać w kolejnych opisach wymagań. Bardzo istotnym problemem podczas identyfikacji pojęć słownikowych jest występowanie synonimów i homonimów. W identyfikacji pojęć słownikowych może nam pomóc zidentyfikowanie podobszarów analizowanej dziedziny problemu. Takie podobszary tworzą pakiety, które wypełniamy pojawiającymi się pojęciami.
Formułowanie słownika dziedziny
W słowniku tekstowym umieszczamy pojęcia wraz z definicjami, które powinny spełniać kilka podstawowych założeń. Definicje powinny być na tyle rozbudowane, aby nie pozostawiały wątpliwości co do znaczenia definiowanych pojęć. Definicje powinny zawierać odniesienia do innych pojęć oraz składników definiowanych pojęć. Definiując pojęcia w słowniku powinniśmy używać jednolitej notacji – czcionek, wyróżnień, kolorów, itp. Alternatywą dla słownika przechowywanego w dokumencie tekstowym jest zastosowanie struktury typu Wiki. Trzecią, często używaną formą słownika dziedziny jest diagram (forma graficzna), który ma największą ekspresję. Wizualne przedstawienie relacji między pojęciami umożliwia szybkie rozeznanie w strukturze danej dziedziny problemu. Diagramy klas stanowią najbardziej uniwersalną i prawdopodobnie najbardziej rozpowszechnioną formę graficznej reprezentacji słownika dziedziny. Podstawowym elementem diagramu klas jest klasa, reprezentująca pojęcie w danej dziedzinie problemu. Dla klas definiujemy atrybuty wraz z ew. typami. Czasami potrzebne jest zdefiniowanie typów wyliczeniowych. Między klasami definiujemy relacje. Najczęściej używane są relacje asocjacji, agregacji oraz generalizacji. Diagram klas zawiera większość informacji, które moglibyśmy przedstawić w formie tekstowej. Ewentualne dodatkowe informacje definiujące pojęcia w słowniku graficznym możemy podać jako opisy klas-pojęć.
Specyfikowanie szczegółowego modelu dziedziny
Kompletna definicja pojęcia w słowniku dziedzinowym powinna zawierać opis pojęcia, atrybuty, operacje oraz relacje z innymi pojęciami. Atrybuty pojęcia słownikowego definiują szczegółowo cechy, którymi może być opisane pojęcie. Operacje pojęcia słownikowego definiują czynności, które mogą być wykonane na pojęciu lub z pojęciem.
Słownik pojęć dziedzinowych może być wizualizowany w postaci diagramu pojęć słownika. Reprezentacja graficzna pozwala łatwo zobrazować i analizować zarówno relacje pomiędzy pojęciami jak i atrybuty i operacje pojęć słownikowych. Diagram taki może być zamodelowany za pomocą modelu klas w dowolnym narzędziu CASE. Każda operacja zdefiniowana w pojęciu słownikowym (fraza czasownikowa) powinna znaleźć się wraz z definicją w słowniku przy odpowiednim pojęciu.
Specyfikowanie modelu interfejsu użytkownika
Na poziomie wymagań oprogramowania musimy określić szczegóły wymiany danych systemu z otoczeniem. W przypadku systemów interaktywnych, wymiana ta odbywa się poprzez interfejs użytkownika. Konieczne jest zatem ustalenie szczegółowej zawartości poszczególnych elementów tego interfejsu. Powinniśmy uzgodnić wszelkiego rodzaju opcje, pola formularzy, przyciski, elementy graficzne itd. Często ustalenia te są dokonywane bezpośrednio podczas projektowania okienek. W wielu wypadkach korzystne jest jednak wykonanie modelu interfejsu użytkownika, który odnosi się do modelu dziedziny. Pozwala to w jednoznaczny sposób określić te składniki obiektów dziedziny problemu, które będą uwidaczniane i modyfikowane w poszczególnych elementach interfejsu użytkownika.
Wykorzystanie modelu słownikowego
Wyraźne rozróżnienie opisu struktury od opisu dynamiki zdecydowanie ułatwia zachowanie spójności wymagań. Każde pojęcie występujące w opisie wymagań funkcjonalnych i jakościowych posiada jednoznaczną definicję z modelu dziedziny (słowniku), wspólną dla wszystkich wymagań. Oznacza to, że wszystkie wystąpienia tego pojęcia wskazują na tę jedną definicję. Pojęcia ze słownika również mogą być wykorzystywane do opisu innych pojęć. W ten sposób, tworzymy sieć pojęciową danej dziedziny, którą możemy wyrazić za pomocą modelu klas.