Dokumentacja wymagań oparta na modelu

Poza opisem słownym warto jest dokumentować wymagania w oparciu o model.

Definicja: Model

Model to abstrakcyjna reprezentacja istniejącej rzeczywistości lub rzeczywistości, która będzie stworzona.

Model może odnosić się tak do bytów materialnych, jak i niematerialnych.

W inżynierii wymagań modele są wykorzystywane do dokumentowania wymagań jako uzupełnienie dokumentacji wymagań w języku naturalnym. W inżynierii wymagań można wyróżnić trzy rodzaje wymagań modelowanych niezależnie i wykorzystywanych we wspólnej dokumentacji: cele, przypadki użycia i wymagania opisujące funkcje systemu i ich jakość.

Każdy model ma za zadanie zmapowanie całej lub części interesującej nas rzeczywistości na poszczególne elementy modelu. Mapowanie może dotyczyć rzeczywistości już istniejącej lub też pożądanej, a także istniejącej i pożądanej (np. dokument wymagań może zawierać istniejący model procesów biznesowych klienta oraz model tworzonego systemu).

Model ma za zadanie reprezentację interesującej nas rzeczywistości. Tworzenie modelu pełni funkcję poznawczą i/lub opisową i aby ta funkcja została spełniona model musi redukować tą rzeczywistość i prezentować ją na pewnym poziomie abstrakcji.

Każdy model tworzony jest w określonym celu i w określonym kontekście. Idealny model zawiera tylko te informacje, które są istotne z określonej perspektywy.

Podczas tworzenia modelu, który będzie zrozumiały dla jego autora oraz odbiorcy, konieczne jest posługiwanie się przez nich tym samym językiem/notacją. Jeżyk modelowania jest definiowany poprzez:

  • Składnię – która definiuje jakie elementy mogą zostać wykorzystane w tym języku oraz określa możliwe połączenia tych elementów,
  • Semantykę – która określa znaczenie poszczególnych elementów i ich powiązać, co pozwala na prawidłową interpretację modeli utworzonych przy pomocy tego języka.

Najczęściej stosowanym językiem wykorzystywanym do modelowania wymagań jest język UML.

Badanie dotyczące możliwości poznawczych ludzi wykazały, że mózg ludzki jest zdolny szybciej i lepiej postrzegać i zapamiętywać informacje, które są przedstawione graficznie, niż informacje przedstawione za pomocą języka naturalnego.

Języki modelowania zazwyczaj mają ściśle określone zastosowanie i ich semantyka koncentruje się na modelowaniu określonych problemów. Zastosowanie tych języków pozwala na tworzenie modeli właściwych dla określonej perspektywy, pomijając informacje nieistotne lub mało istotne z punktu widzenia tej perspektywy.

Modele celów

Zadaniem inżynierii wymagań jest pozyskiwanie, dokumentacja oraz zarządzanie wymaganiami, które reprezentują potrzeby interesariuszy. Potrzeby te mogą być traktowane jako ich cele, które mają zostać osiągnięte za pomocą tworzonego systemu.

Nakład pracy potrzeby do określenia celów w porównaniu z całym nakładem poniesionym na inżynierię wymagań jest bardzo mały natomiast może on w znacznym stopniu poprawić jakość i kompleksowość wymagań oraz bardzo przydatne podczas określania wizji tworzonego systemu.

Cele mogą być dokumentowane za pomocą języka naturalnego, a także za pomocą modeli celów.

Do modelowania celów wykorzystać można dwa tym relacji dekompozycji AND i OR. Hierarchia dekompozycji może zostać zamodelowana za pomocą drzewa. W przypadku dekompozycji AND wszystkie cele podrzędne muszą zostać spełnione aby był spełniony cel nadrzędny. W przypadku dekompozycji OR wystarczy spełnić tylko jeden cel podrzędny aby został spełniony cel nadrzędny.

image

Przykład

image

Kolejną techniką wspomagającą dokumentowanie wymagań są przypadki użycia, które opiszę w kolejnym wpisie.

Tekst zainspirowany książką: Klaus Pohl, Chris Rupp „Requirements engineering fundamentals : a study guide for the Certified Professional for Requirements Engineering exam : foundation level”, IREB compliant Wydawnictwo: Rocky Nook Inc, 2011

Podobne wpisy

  • Zarządzanie relacjami pomiędzy wymaganiami Zarządzanie wymaganiami to ważny element procesu wytwórczego oprogramowania. Jednym z jego elementów budowanie i zarządzanie relacjami pomiędzy wymaganiami. Najczęściej spotykanym jest […]
  • Architektura procesów biznesowych a modelowanie procesów biznesowych – poziomy modelowania W poprzednim wpisie Modelowanie procesów biznesowych w procesie wytwórczym oprogramowania opisałem znaczenie modelowania procesów biznesowych. W moim odczuciu, modelowanie procesów […]
  • Wymagania są najważniejsze Podczas mojej pracy zauważyłem, że spory problem stanowią wymagania. Trudnością nie jest ich spisanie. Trudnością jest ich wyartykułowanie. Pomijam turbulencje związane z celem zamiany czy […]
  • Plan zarządzania wymaganiami Plan zarządzania wymaganiami to dokument, który opisuje zasady postępowania z wymaganiami. W moim odczuciu to jeden z najważniejszych dokumentów, gdyż w jawny sposób opisuje szereg ważnych […]
  • Wymagania – Zarządzanie wersjami Zmiany w wymaganiach wymaga ich wersjonowania.Wersje wymagań pomagają uzyskać dostęp do określonego stanu wymagania w trakcie życia oprogramowania. Najczęściej wersje wymagań określane są […]
Reklama
MODESTO - licencje Enterprise Architect

Zostaw komentarz

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

Przewiń do góry