Wymagania Systemowe - Software requirements

Wymagania dla systemu to opis tego, co system powinien robić, usługi lub usługi, które świadczy oraz ograniczenia jego działania. Standardowy słownik terminologii inżynierii oprogramowania IEEE definiuje wymagania jako:

  1. Stan lub zdolność potrzebna użytkownikowi do rozwiązania problemu lub osiągnięcia celu.
  2. Warunek lub zdolność, które muszą być spełnione lub posiadane przez system lub składnik systemu, aby spełnić warunki umowy, normy, specyfikacji lub innego formalnie narzuconego dokumentu.
  3. Udokumentowana reprezentacja stanu lub zdolności jak w 1 lub 2.

Działania związane z pracą z wymaganiami oprogramowania można ogólnie podzielić na pozyskiwanie, analizę, specyfikację i zarządzanie.

Należy zauważyć, że sformułowanie Wymagania dotyczące oprogramowania jest dodatkowo używane w uwagach do wersji oprogramowania , aby wyjaśnić, które w zależności od oprogramowania są wymagane do zbudowania/zainstalowania/używania określonego oprogramowania.

Wywołanie

Pozyskiwanie to zbieranie i odkrywanie wymagań od interesariuszy i innych źródeł. Można zastosować różne techniki, takie jak wspólne sesje projektowania aplikacji (JAD), wywiady, analiza dokumentów, grupy fokusowe itp. Pozyskiwanie jest pierwszym krokiem tworzenia wymagań.

Analiza

Analiza to logiczny podział, który pochodzi z pozyskiwania. Analiza polega na osiągnięciu bogatszego i bardziej precyzyjnego zrozumienia każdego wymagania oraz reprezentowaniu zestawów wymagań na wiele komplementarnych sposobów.

Kolejną czynnością, często następującą po analizie, jest segregacja wymagań lub priorytetyzacja wymagań. Odnosi się to do rozwoju oprogramowania Agile w fazie planowania, np. przez Planning poker , jednak może nie być to samo w zależności od kontekstu i charakteru projektu oraz wymagań lub produktu/usługi, który jest budowany.

Specyfikacja

Specyfikacja obejmuje reprezentowanie i przechowywanie zgromadzonej wiedzy o wymaganiach w trwały i dobrze zorganizowany sposób, który ułatwia efektywną komunikację i zarządzanie zmianą. Przypadki użycia, historyjki użytkownika, wymagania funkcjonalne i modele analizy wizualnej są popularnymi opcjami określania wymagań.

Walidacja

Walidacja obejmuje techniki potwierdzające, że określono poprawny zestaw wymagań w celu zbudowania rozwiązania, które spełnia cele biznesowe projektu.

Kierownictwo

Wymagania zmieniają się w trakcie projektów i często jest ich wiele. Zarządzanie tą zmianą staje się kluczowe dla zapewnienia, że ​​odpowiednie oprogramowanie jest budowane dla interesariuszy.

Wsparcie narzędziowe dla Inżynierii Wymagań

Narzędzia do pozyskiwania, analizy i walidacji wymagań

Biorąc pod uwagę, że te działania mogą obejmować pewne artefakty, takie jak raporty z obserwacji ( obserwacje użytkowników ), kwestionariusze ( wywiady , ankiety i sondaże), przypadki użycia , historyjki użytkowników ; zajęcia takie jak warsztaty wymagań ( charrettes ), burza mózgów , mapowanie myśli , odgrywanie ról ; a nawet prototypowanie ; Oprogramowanie zapewniające niektóre lub wszystkie z tych możliwości może być wykorzystane do pomocy w realizacji tych zadań.

Jest co najmniej jeden autor, który wyraźnie opowiada się za narzędziami do mapowania myśli, takimi jak FreeMind ; i alternatywnie do wykorzystania specyfikacji przez przykładowe narzędzia, takie jak Concordion . Ponadto pomysły i stwierdzenia wynikające z tych działań można gromadzić i organizować za pomocą wiki i innych narzędzi współpracy, takich jak Trello . Faktycznie wdrożone funkcje i zgodność ze standardami różnią się w zależności od produktu.

Narzędzia do specyfikacji wymagań

Dokument specyfikacji wymagań dotyczących oprogramowania (SRS) można utworzyć przy użyciu tak ogólnego narzędzia programowego, jak edytor tekstu lub elektroniczny arkusz kalkulacyjny; istnieje jednak kilka specjalistycznych narzędzi do wykonywania tej czynności.

Niektóre z tych narzędzi mogą importować, edytować, eksportować i publikować dokumenty SRS. Mogą, ale nie muszą, pomóc użytkownikowi w przestrzeganiu standardów, takich jak IEEE 2918-2011, w komponowaniu wymagań zgodnie z pewną strukturą. Podobnie, narzędzie może lub nie wykorzystywać jakiegoś standardu do importowania lub eksportowania wymagań (takich jak ReqIF ); lub w ogóle nie zezwalaj na te wymiany.

Narzędzia do weryfikacji dokumentów wymagań

Tego rodzaju narzędzia weryfikują, czy nie ma błędów w dokumencie wymagań zgodnie z oczekiwaną strukturą lub normą.

Narzędzia do porównywania wymagań

Narzędzia tego rodzaju porównują dwa zestawy wymagań zgodnie z oczekiwaną strukturą dokumentu i standardem.

Narzędzia do łączenia i aktualizacji wymagań

Tego rodzaju narzędzia umożliwiają łączenie i aktualizację dokumentów wymagań.

Narzędzia do śledzenia wymagań

Tego rodzaju narzędzia pozwalają na śledzenie wymagań do innych artefaktów, takich jak modele i kod źródłowy (forward traceability) lub do wcześniejszych, takich jak reguły biznesowe i ograniczenia (backwards traceability).

Narzędzia do oprogramowania opartego na modelach lub inżynierii wymagań systemowych

Inżynieria systemów oparta na modelach (MBSE) to sformalizowane zastosowanie modelowania w celu wspierania wymagań systemowych, projektowania, analizy, pomiarów, weryfikacji i walidacji, rozpoczynających się w fazie projektowania koncepcyjnego i kontynuowanych w fazie rozwoju i późniejszych fazach cyklu życia. Możliwe jest również zastosowanie podejścia modelowego dla niektórych etapów inżynierii wymagań, a bardziej tradycyjnego dla innych. Możliwych jest bardzo wiele kombinacji.

Poziom formalności i złożoności zależy od zastosowanej metodologii (na przykład i* jest znacznie bardziej formalny niż SysML, a nawet bardziej formalny niż UML )

Narzędzia do ogólnej inżynierii wymagań

Narzędzia z tej kategorii mogą zapewniać pewną kombinację wspomnianych wcześniej możliwości oraz innych, takich jak zarządzanie konfiguracją wymagań i współpraca. Faktycznie wdrożone funkcje i zgodność ze standardami różnią się w zależności od produktu.

Istnieją jeszcze bardziej wydajne lub ogólne narzędzia, które wspierają inne etapy i działania. Są klasyfikowane jako narzędzia ALM .

Zobacz też

Bibliografia

Dalsza lektura