Co to jest inżynieria wymagań?
Duże systemy sprzętu lub oprogramowania, takie jak statek kosmiczny, mają złożone wymagania. Wymagania są specyfikacją tego, co należy zbudować, w jaki sposób system powinien się zachowywać lub ograniczenia w procesie budowania systemu. Inżynieria wymagań to wykorzystanie dobrych praktyk inżynieryjnych w celu zrozumienia wymagań przed zbudowaniem systemu. Zakłada to znaczenie, ponieważ zainteresowane strony systemu same nie mają jasności co do swoich potrzeb i mają rozbieżne potrzeby.
Złożony system może mieć wielu interesariuszy, takich jak osoby, które zlecą system, użytkownicy, którzy używają jednego lub więcej aspektów systemu, oraz osoby, które korzystają z systemu. Możliwe jest również, że interesariusze obejmują członków społeczeństwa, których dotkną pewne osobliwości systemu. Zainteresowane strony mają własne specjalne potrzeby. Z drugiej strony ludzie, którzy rozwijają system, mogą być technicznie zdolni, ale mogą nie w pełni zrozumieć punkt widzenia interesariuszy. Inżynieria wymagańto niezbędna zdolność łącząca te strony.
Formalnie działalność inżynieryjna wymagań jest podzielona na rozwój wymagań i zarządzanie wymaganiami. Rozwój wymagań składa się z wywołania, analizy, specyfikacji i weryfikacji. Zarządzanie wymaganiami to kontrola całego procesu wymagań, zwłaszcza obsługę wszelkich zmian wymagań. Przeciwnie, niektórzy praktycy nazywają całą działalność jako analizę wymagań.
Wywołanie wymagań od interesariuszy staje się konieczne, ponieważ interesariusze często nie określają ich potrzeb i nie rozumieją implikacji nowego systemu. Zainteresowane strony nie mogą się otworzyć, ponieważ mogą obawiać się wpływu na ich obecne miejsca pracy. Wywołanie jest zatem ostrożnym i być może długim procesem, w którym potrzebna jest empatia i subtelna psychologia. Trzeba uważać na kulturaMostane są różnice między różnymi zainteresowanymi stronami, a także deweloperami.
Do wywołania wymagań stosuje się kilka technik. Wymagania można wywołać poprzez indywidualne wywiady, spotkania grupowe i obserwowanie ludzi podczas ich zadań. Techniki, które mogą wydawać wymagania, obejmują grupy fokusowe, tworzenie priorytetowych list, prototypowanie i porównanie z innymi działającymi systemami. Wymagania dotyczące wywołania potrzeb biznesowych systemu, procesów biznesowych użytkowników podczas korzystania z systemu oraz funkcjonalne funkcje systemu. Ponadto należy wywołać wymagania niefunkcjonalne, takie jak czas odpowiedzi, dostępność systemu i łatwość użytkowania.
Analiza w wymaganiach inżynierii stanowi wymagania niskiego poziomu, które spełnią pierwotne wymagania wysokiego poziomu. Obejmuje to tworzenie modeli koncepcyjnych i prototypów w celu ustalenia kompletności wymagań. Konflikty w potrzebach różnych udziałówPosiadacze częściej znajdują modele i prototypy niż z zwykłej listy wymagań. Do wymagań analityków należy dodać pożądane cechy systemowe, takie jak bezpieczeństwo, elastyczność i możliwość utrzymania.
Wymagania są określone w dokumencie dla ułatwienia zrozumienia wszystkich zainteresowanych stron. W polu oprogramowania dokument nazywa się SRS, który oznacza specyfikację wymagań oprogramowania. Wymagania są weryfikowane przez kluczowych interesariuszy. Odbywa się to głównie za pośrednictwem prezentacji i dokumentu specyfikacji, ale czasem również z przypadkami testowymi odpowiadającymi wymaganiom.
Inżynieria wymagań jest przede wszystkim komunikacją, aktywnością, a nie techniczną. Potrzebuje umiejętności multidyscyplinarnych. Inżynieria wymagań pomaga zainteresowanym stronom i deweloperom rozwiązywać konflikty i łączą je w swoich celach; Prowadzi to do solidnego systemu.