Rozwiązania wizyjne


Wsparcie
Zarejestruj się
Zaloguj
Zacznij Free Trial

Inżynieria wymagań

Spis treści

Aby wyprodukować produkt wysokiej jakości, ważne jest, aby klient miał dokładne wymagania. Rozpoczyna się to procesem inżynierii wymagań, który można podzielić na pięć kroków: zbieranie wymagań, dokumentowanie wymagań, analizowanie i weryfikacja wymagań, zarządzanie zmianami wymagań i zamykanie fazy wymagań. W tym poście na blogu szczegółowo omówimy każdy z tych kroków i pokażemy, w jaki sposób pomagają one wytwarzać produkt wysokiej jakości.

Czym są wymagania i inżynieria wymagań?

Występują tutaj dwa terminy: „Wymagania” i „Inżynieria wymagań”. Wymaganie jest precyzyjnie zdefiniowane jako warunek lub zdolność, której użytkownik potrzebuje, aby rozwiązać problem lub osiągnąć cel. Innymi słowy, wymagania to warunki lub możliwości, które system musi spełnić lub posiadać, aby spełnić warunki umowy, standardów, specyfikacji i innej formalnej dokumentacji. 

Inżynieria Wymagań jest definiowana jako proces definiowania, dokumentowania i utrzymywania wymagań. Dyscyplina obejmuje wszystkie techniki, metody i procedury związane z definiowaniem i zarządzaniem potrzebami użytkowników związanych z badanym systemem. 

Ogólnie rzecz biorąc, Inżynieria Wymagań to zestaw działań, które dotyczą identyfikacji i komunikowania celu systemu lub oprogramowania oraz kontekstu, w którym będzie on używany. 

Dlatego Inżynieria Wymagań działa jako pomost między rzeczywistymi potrzebami użytkowników, klientów i innych środowisk, na które ma wpływ oprogramowanie lub system, a możliwościami i możliwościami oferowanymi przez technologie intensywnie korzystające z oprogramowania.

Jakie są zasady Inżynierii Wymagań?

Dwie podstawowe zasady Inżynierii Wymagań to problem i rozwiązanie inżynierii wymagań. 

  • Przy zbieraniu wymagań przydatne jest oddzielenie problemu od rozwiązania.
  • Tego oddzielenia nigdy nie da się w pełni osiągnąć w życiu praktycznym.

Inżynieria wymagań polega na zbudowaniu odpowiedniego systemu. Zasadniczo chodzi o zbudowanie systemu dopasowanego do problemów użytkownika. To jest część zorientowana na problem. Zasadniczo chodzi o zaprojektowanie, weryfikację, wdrożenie i utrzymanie systemu, który jest tworzony w celu zapewnienia, że ​​odpowiada on problemom użytkownika. To jest część zorientowana na rozwiązanie.

Proces Inżynierii Wymagań

Jest kilka czynności, z którymi mamy do czynienia podczas pracy z wymaganiami. W cyklu Inżynierii Wymagań występuje pięć głównych czynności, a mianowicie:

  1. Pozyskiwanie wymagań – jest to proces przeglądu, dokumentowania i zrozumienia interesariuszy oraz potrzeb użytkowników i ograniczeń na dany sezon. Użytkownicy potrzebują informacji o domenie, istniejących informacji o systemie, przepisach, normach itp. Na podstawie tych informacji określamy wymagania. Następnie przechodzimy do analizy wymagań i negocjacji. 
  2. Analiza wymagań i negocjacje – analiza to proces dopracowywania potrzeb i ograniczeń użytkownika na podstawie zebranych i wydobytych informacji. Następnie przechodzimy do czynności dokumentacyjnych. 
  3. Dokumentacja wymagań/specyfikacja – po uzyskaniu specyfikacji wymagań przechodzimy do części dokumentacji. Jasno i precyzyjnie dokumentujemy potrzeby i ograniczenia użytkownika. 
  4. Walidacja wymagań – na koniec w czynności walidacyjnej wstawiamy, że wymagania sezonowe są kompletne, zwięzłe i jasne. 
  5. Zarządzanie wymaganiami – Zarządzanie wymaganiami to sposób na zbieranie, analizowanie, udoskonalanie i ustalanie priorytetów wszystkich produktów lub wymagań w fazie rozwoju.

Kiedy finalizujemy te pięć czynności, powtarzamy je raz za razem, aż otrzymamy zestaw uzgodnionych dokumentów wymagań, które są formalnymi specyfikacjami.

Pozyskiwanie wymagań

Jak omówiliśmy wcześniej, pozyskiwanie wymagań to proces przeglądania, dokumentowania i zrozumienia potrzeb użytkowników i ograniczeń w danym sezonie. Użytkownicy potrzebują informacji o domenie, istniejących informacji o systemie, przepisach, normach itp. Na podstawie tych informacji określamy wymagania. Używamy słowa „pozyskiwanie” zamiast „zbieranie”, ponieważ zbieranie oznacza po prostu zebranie wymagań i umieszczenie ich w dokumencie. Z drugiej strony pozyskiwanie jest procesem bardziej złożonym. Nie dostajesz wymagań tak łatwo, jak podczas zbierania. Wymaga dodatkowego wysiłku. 

Podczas pozyskiwania pytasz użytkownika lub klienta:

  • Jakie są ich cele dla systemu/produktu? 
  • Co ma zostać osiągnięte?
  • Jak sezonowe potrzeby wpisują się w potrzeby firmy?
  • W jaki sposób należy regularnie korzystać z produktu/systemu sezonowego?

Brzmi prosto, ale tak nie jest!

Według Iana Sommerville'a i Pete'a Sawyera, Pozyskiwanie Wymagań to proces odkrywania wymagań dla systemu poprzez komunikowanie się z klientami, użytkownikami systemu i innymi osobami zainteresowanymi rozwojem systemu. Ponieważ „zbieranie” lub „przechwytywanie” nie brzmi zbyt trafnie, używamy słowa „pozyskiwanie”. 

„Wiem, że wierzysz, iż zrozumiałeś to, co myślisz, że powiedziałem, ale nie jestem pewien, czy zdajesz sobie sprawę, że to, co usłyszałeś, nie jest tym, co miałem na myśli” — Robert McCloskey, rzecznik Departamentu Stanu.

Przez swój cytat miał na myśli to, że czasami ludzie źle rozumieją, co mówią do nich inni ludzie. Czasami to, co mówią, nie jest tym, co mają na myśli. Ostatecznie cała ta nieporozumienia doprowadziła do błędnego działania w zakresie zbierania wymagań.

Jakie są kroki podczas pozyskiwania?

KROK 1 

Źródło wymagań:

Istnieje wiele źródeł, z których możemy zebrać nasze wymagania. Niektóre z nich to:

  • Zainteresowane strony
  • Istniejące systemy
  • Istniejące dokumenty
  • Konkurenci i inne podobne systemy
  • Interfejsy z systemami
  • Prawa i standardy
  • Polityka firmy

KROK 2

Ustaw zakres projektu:

W celu ustalenia zakresu projektu można wykonać następujące kroki:

  1. Dowiedz się, dlaczego projekt został zainicjowany 
  2. Własność określa kluczowe cele do osiągnięcia w ramach projektu 
  3. Sporządź zestawienie pracy nad projektem, które pomoże Ci odpowiednio podzielić pracę pomiędzy członków zespołu
  4. Wypisz przedmioty, które mają zostać dostarczone na koniec projektu
  5. Wybierz kluczowe kamienie milowe do osiągnięcia
  6. Zidentyfikuj główne ograniczenia i ograniczenia, z którymi zespół może się zmierzyć podczas opracowywania projektu
  7.  Utwórz listę elementów, które są wykluczone z listy elementów zakresu
  8. Poproś interesariuszy o podpisanie dokumentu zakresu, ponieważ stanowi on potwierdzenie, że zostali poinformowani o projekcie i jego zawartości. 

KROK 3

Zadania pozyskiwania:

Planowanie pozyskiwania:

  • Dlaczego to szczególne wymaganie powinno zostać wdrożone i jakie przyniesie korzyści? - Cele projektu 
  • Kto będzie odpowiedzialny za jego stworzenie? – Profesjonaliści do działań zbierackich
  • Kiedy będzie najlepszy czas na jego wdrożenie? – Zaplanuj źródła szacunkowe 
  • Jak będzie realizowany? – Strategie i procedury
  • A ryzyko 

Podczas pozyskiwania:

  • Potwierdź wykonalność projektu. Dowiedz się, czy projekt jest naprawdę tego wart, czy nie
  • Zrozumieć problemy i kwestie z perspektywy interesariuszy
  • Wyodrębnij istotę wymagań stawianych przez interesariuszy
  • Znajdź lepsze sposoby wykonywania pracy dla użytkowników
  • Innowacja to klucz do zwycięstwa

Po pozyskaniu:

  • Przeanalizuj wyniki, aby właściwie zrozumieć zebrane informacje
  • Negocjuj spójny zestaw wymagań akceptowalnych dla interesariuszy. Ustal również priorytety
  • Zapisz wyniki w specyfikacjach wymagań

Pozyskiwanie jest procesem przyrostowym. Musisz powtórzyć ten krok tak często, jak to konieczne. 

Teraz wybierz odpowiedni zestaw technik dla każdego źródła wymagań. Określ tę technikę w oparciu o źródło, system, który ma zostać opracowany, i tak dalej. Pamiętaj, że nie wszystkie techniki można zastosować w każdej sytuacji. 

KROK 4

Dokumentacja wymagań – 

Ostatnim krokiem w procesie rekrutacji jest sfinalizowanie wszystkich wymagań w formie dokumentu. Ten dokument zawiera głównie uwagi i wymagania użytkownika. A te wymagania będą niekompletne, niespójne i niezorganizowane. Ale to dopiero początek. Dokument można od czasu do czasu edytować, a także dodawać lub zmieniać.

Analiza wymagań i negocjacje

Analiza wymagań jest zwykle procedurą analizy, walidacji i dopasowywania wymagań udokumentowanych w fazie pozyskiwania wymagań. Innymi słowy, analiza wymagań to proces badania i zrozumienia wymagań określonych przez interesariuszy. Analiza wymagań wymaga częstej komunikacji z interesariuszami i użytkownikami końcowymi w celu określenia oczekiwań, rozwiązania konfliktów i wreszcie udokumentowania kluczowych wymagań. Rozwiązania mogą dotyczyć problemów takich jak:

  • Różne rodzaje konfiguracji przepływu pracy w firmie
  • Konfigurowanie nowego systemu, który ma być używany od teraz itp. 

Należy pamiętać, że pozyskiwanie wymagań i analiza wymagań współpracują ze sobą. Karmią się nawzajem. Kiedy zaczynamy zbierać wymagania, pozyskujemy je i jednocześnie analizujemy.

Cele analizy wymagań

  1. Pierwszym i najważniejszym celem analizy wymagań jest zrozumienie wymagań i potrzeb użytkowników 
  2. Kiedy korzystamy z różnych źródeł do zbierania wymagań, mogą wystąpić między nimi pewne konflikty. Analiza wymagań polega na znalezieniu tych konfliktów pomiędzy wymaganiami stawianymi przez użytkowników i ich rozwiązaniu. 
  3. Negocjuj wymagania z użytkownikami i interesariuszami. Nie ma możliwości, aby nasz system spełnił wszystkie wymagania w dokładnie taki sposób, w jaki zostały one wyjaśnione przez interesariuszy i użytkowników. 
  4. Będziemy musieli negocjować i ustalać priorytety wymagań. Niektóre wymagania mogą nie być dla nas duże, ale mogą być bardzo ważne dla użytkowników końcowych. Aby je zrozumieć, musimy przeanalizować i uszeregować wymagania interesariuszy. 
  5. Musimy rozwinąć wymagania stawiane przez użytkowników i system. Pomaga to podczas dokumentowania wymagań w specyfikacjach wymagań. Pomaga to również programistom w lepszym opracowywaniu, projektowaniu i testowaniu, ponieważ rozumieją wymagania w dopracowany i lepszy sposób. 
  6. Musimy podzielić wymagania na różne kategorie i podkategorie, a następnie przyporządkować te wymagania do różnych podsystemów. 
  7. Musimy również ocenić wymagania dotyczące jakości pożądanej przez organizację. 
  8. Wreszcie musimy zadbać o to, aby nie przegapić niczego ważnego.

Dokumentacja wymagań/specyfikacja

Specyfikacja wymagań, zwana również dokumentacją, to proces zapisywania wszystkich wymagań systemowych i użytkowych w formie dokumentu. Wymagania te muszą być jasne, kompletne, wyczerpujące i spójne. 

W trakcie przechwytywania zbieramy wszystkie wymagania z różnych źródeł. Podczas czynności analitycznych i negocjacyjnych analizujemy i rozumiemy te wymagania. Teraz musimy przygotować formalny dokument wyjaśniający te wymagania. Taka jest specyfikacja wymagań. Aby być precyzyjnym, jest to proces dokumentowania wszystkich potrzeb i ograniczeń użytkowników i systemu w jasny i dokładny sposób. 

Metoda dokumentowania wymagań

USZY byłaby skuteczną metodologią tutaj. To znaczy Łatwe podejście do składni wymagań. W tej metodzie piszemy jasnym, zwięzłym i zrozumiałym językiem. Poprawia to cały przepływ pracy inżynierii wymagań i upraszcza pracę, czyniąc rzeczy całkiem łatwymi do zrozumienia. 

Aby to osiągnąć, oto kilka zasad, o których należy pamiętać podczas pisania wymagań. Obejmują one:

Każde wymaganie musi mieć formę pełnego zdania. Nie należy używać punktorów, akronimów, skrótów ani modnych słów. Staraj się tworzyć krótkie, bezpośrednie i pełne zdania. 

Upewnij się, że każde wymaganie ma właściwy podmiot, orzeczenie i czasownik. Tematem byłby typ użytkownika lub system, o którym mówimy. Predykatem byłyby warunki lub działania lub oczekiwane rezultaty, których oczekujemy. Musimy używać słów takich jak „będzie”, „będzie” i „musi”, aby wyrazić jakąś konieczność, a słów takich jak „może”, aby wyrazić opcjonalność w wymaganiu. 

Każde wymaganie musi skutecznie wyjaśniać efekt końcowy, którego oczekujemy od systemu. 

Ponadto wymaganie musi opisywać jakość, jakiej oczekujemy od systemu. Pomaga, gdy mierzymy efekt końcowy i sprawdzamy, czy wymaganie jest prawidłowo wdrożone, czy nie.

Walidacja wymagań

Walidacja to proces używany do sprawdzania, czy system jest zgodny z normą, czy nie. Walidacja odpowiada na pytanie „Czy budujemy właściwy system?” Chodzi o testowanie i walidację systemu oraz sprawdzenie, czy zbudowany przez nas system jest właściwy, czy nie i czy spełnia oczekiwania klienta, czy nie. Różne metody używane do walidacji systemu obejmują testowanie czarnoskrzynkowe, testowanie białoskrzynkowe, testowanie integracyjne i testowanie jednostkowe. Walidacja zawsze następuje po weryfikacji. 

Weryfikacja to proces używany do sprawdzenia, czy system osiąga zakładane cele, czy nie, bez żadnych błędów lub problemów. Weryfikacja odpowiada na pytanie „Czy budujemy produkt dobrze?” Chodzi o testowanie i weryfikację, czy system bez problemu spełnia swoje wymagania. Różne metody używane do weryfikacji systemu obejmują przeglądy, instruktaże, inspekcje i kontrole zza biurka. Weryfikacja to proces wykonywany ręcznie przed walidacją.

Techniki walidacji

Istnieją różne techniki, które można wykorzystać do walidacji wymagań. Zawierają:

  • Wykrywanie urządzeń szpiegujących – Podczas sprawdzania wymagań dokonujemy korekty dokumentów wymagań, aby upewnić się, że nie pominięto żadnych uwag pozwu. Podczas tych kontroli sprawdzamy również poziom identyfikowalności pomiędzy wszystkimi wymaganiami. W tym celu wymagane jest stworzenie macierzy identyfikowalności. Ta macierz zapewnia, że ​​wszystkie wymagania są traktowane poważnie, a wszystko, co jest określone, jest uzasadnione. Podczas tych kontroli sprawdzamy również format wymagań. Widzimy, czy wymagania są jasne i dobrze napisane, czy nie. 
  • Prototypowanie – To sposób na zbudowanie modelu lub symulacji systemu, który mają zbudować deweloperzy. Jest to bardzo popularna technika walidacji wymagań wśród interesariuszy i użytkowników, ponieważ pomaga im łatwo zidentyfikować problemy. Możemy po prostu dotrzeć do użytkowników i interesariuszy i uzyskać ich opinie. 
  • Projekt testowy – Podczas projektowania testów postępujemy zgodnie z małą procedurą, w której najpierw finalizujemy zespół testowy, a następnie budujemy kilka scenariuszy testowych. Testy funkcjonalne można wyprowadzić z samej specyfikacji wymagań, gdzie każde wymaganie ma skojarzony test. Wręcz przeciwnie, wymagania niefunkcjonalne są trudne do przetestowania, ponieważ każdy test musi być powiązany z jego wymaganiami. Celem tego jest ustalenie błędów w specyfikacji lub pominiętych szczegółów. 
  • Przegląd wymagań – Podczas przeglądu wymagań grupa dobrze poinformowanych osób analizuje wymagania w ustrukturyzowany i szczegółowy sposób oraz identyfikuje potencjalne problemy. Następnie zbierają się, aby omówić problemy i wymyślić sposób ich rozwiązania. Przygotowywana jest lista kontrolna składająca się z różnych standardów, a recenzenci zaznaczają pola, aby dokonać przeglądu formalnego. Następnie następuje ostateczne podpisanie zatwierdzenia.

Zarządzanie wymaganiami

Według Iana Sommerville'a „Zarządzanie wymaganiami to proces zarządzania zmieniającymi się wymaganiami podczas procesu inżynierii wymagań i rozwoju systemu”.

Głównym celem zarządzania wymaganiami jest zapewnienie zespołowi inżynierów jasnych, zwięzłych i wolnych od błędów wymagań, tak aby mogli upewnić się, że wykryją błędy w systemie i potencjalnie zredukować koszty projektu oraz ryzyko. 

Główne problemy związane z zarządzaniem wymaganiami

Istnieją pewne obawy dotyczące zarządzania wymaganiami. Zawierają:

  • Zarządzanie zmianami w uzgodnionych wymaganiach
  • Zarządzanie relacjami między wszystkimi wymaganiami
  • Zarządzanie zależnościami między dokumentami wymagań, które są tworzone podczas procesu inżynierii systemu.

Rodzaje wymagań

Zasadniczo istnieją dwa rodzaje wymagań:

  1. Wymagania systemowe – Wymagania systemowe można nazwać rozszerzoną wersją wymagań użytkownika. Wymagania systemowe stanowią punkt wyjścia dla każdego nowego projektu systemu. Wymagania te są szczegółowym opisem wymagań użytkownika, jakie musi spełniać system. 
  2. Wymagania użytkownika – Wymaganie użytkownika to połączenie wymagań funkcjonalnych i niefunkcjonalnych. Te wymagania użytkownika muszą być zaprojektowane w taki sposób, aby były łatwo zrozumiałe dla użytkowników, którzy nie mają żadnej wiedzy technicznej. Dlatego muszą być napisane w języku naturalnym za pomocą prostych tabel, formularzy i diagramów. Upewnij się również, że dokument nie zawiera szczegółów dotyczących projektu systemu, oprogramowania lub formalnych zapisów.

Wymagania dotyczące wizualizacji Platforma ALM

Wymagania dotyczące wizualizacji Platforma ALM to jedna z najbardziej zaufanych nowoczesnych platform ALM, która specjalizuje się w zarządzaniu wymaganiami dla organizacji różnej wielkości na całym świecie. 

Jest to niezbędne narzędzie dla zespołów tworzących złożone produkty, systemy i oprogramowanie, które wymagają pełnej identyfikowalności od koncepcji do testowania i wdrożenia, aż do kodu źródłowego, a także zgodności ze standardową certyfikacją.

Visure Requirements to sprawdzone, elastyczne i kompletne narzędzie Inżynierii Wymagań, zdolne do usprawnienia procesu wymagań oprogramowania w ramach procesu definiowania sprzętu i mechaniki. Wymagania programu Visure wspomagają efektywną współpracę w ramach projektu i podnoszą jakość oprogramowania poprzez przechwytywanie, analizę, specyfikację, walidację i weryfikację, zarządzanie i ponowne wykorzystanie.

Visure Solutions może pomóc przezwyciężyć wyzwania związane z rozwojem produktów i systemów wbudowanych,

  • Poprawa jakości definicji jako niezbędny pierwszy krok w podnoszeniu jakości oprogramowania
  • Odzyskaj kontrolę nad procesami rozwojowymi i regulacyjnymi
  • Standaryzacja i egzekwowanie definicji wymagań w całej organizacji
  • Wspieraj efektywne ponowne wykorzystanie wymagań w zespołach projektowych oraz liniach i wariantach produktów
  • Sformalizuj wspólną strukturę specyfikacji wymagań i obsługuj zmiany w całym cyklu życia
  • Osiągać pełna identyfikowalność przez wszystkie elementy, od wymagań, przez testy, po wykonanie
  • Z łatwością śledź wszystkie aspekty rozwoju, od grafik obliczania ryzyka po raporty wymagań osieroconych
  • Unikaj pułapek i ograniczaj ryzyko na wszystkich poziomach, od pisania lepszych wymagań i ustalania priorytetów potrzeb po zmieniające się możliwości analizy wpływu.
Narzędzia programowe ALM

Korzyści z używania wymagań dotyczących wizualizacji dla rozwoju produktu i oprogramowania wbudowanego

  • Wsparcie certyfikacyjne dla standardy przemysłowe, takich jak DO-178B/C, IEC 61508, ISO 26262, IEC 62304, FMEA i GAMP5
  • Jedna kompletna platforma do wszystkich działań związanych z wymaganiami
  • Egzekwowanie procesów za pomocą elastycznego rozwiązania, które obsługuje różne modele procesów, w tym Automotive SPICE, CMMI, V-model, Agile i ad hoc
  • Lepsza komunikacja i współpraca w zespole dzięki funkcjom opartym na rolach
  • Wsparcie dla produktów lepszej jakości i zredukowanych defektów oprogramowania.

Firmy, które aktywnie korzystają z programu Visure, zapewniają wyraźny wpływ dzięki terminowym dostawom projektów, zgodności projektów oraz zmniejszeniu kosztów rozwoju i czasów cykli.

Wnioski

Inżynieria wymagań jest kluczowym procesem zapewniającym, że tworzone przez nas produkty i systemy odpowiadają potrzebom naszych klientów. Pięcioetapowy proces opisany w tym artykule może pomóc w dobrym rozpoczęciu projektu poprzez wczesne i częste uzyskiwanie informacji zwrotnych od interesariuszy oraz wykorzystywanie tych opinii do generowania jasnych i zwięzłych wymagań. Jeśli szukasz narzędzia, które pomoże Ci zarządzać procesem inżynierii wymagań, platforma Visure Requirements ALM może Ci w tym pomóc. Poproś o swoje darmowy test 30 dzisiaj, aby zobaczyć, jak nasza platforma może sprawić, że Twój kolejny projekt zakończy się sukcesem.

Nie zapomnij udostępnić tego posta!

Topy