Co to jest inżynieria wymagań?

Duże systemy sprzętowe lub programowe, takie jak statki kosmiczne, mają złożone wymagania. Wymagania to specyfikacja tego, co należy zbudować, jak powinien zachowywać się system lub ograniczenia w procesie budowania systemu. Inżynieria wymagań to stosowanie dobrych praktyk inżynieryjnych w celu zrozumienia wymagań przed zbudowaniem systemu. Ma to znaczenie, ponieważ interesariusze systemu sami nie mają jasności co do swoich potrzeb i mają rozbieżne potrzeby.

Złożony system może obejmować wielu interesariuszy, takich jak osoby, które uruchamiają system, użytkownicy korzystający z jednego lub więcej aspektów systemu oraz osoby korzystające z systemu. Możliwe jest również, że interesariuszami są członkowie społeczeństwa, których dotyczą pewne szczególne cechy systemu. Interesariusze mają swoje specjalne potrzeby. Z drugiej strony ludzie, którzy opracowują system, mogą być technicznie zdolni, ale mogą nie w pełni zrozumieć punkt widzenia zainteresowanych stron. Inżynieria wymagań to podstawowa zdolność łącząca te strony.

Formalnie działalność związana z inżynierią wymagań dzieli się na opracowywanie wymagań i zarządzanie wymaganiami. Opracowywanie wymagań składa się z pozyskiwania, analizy, specyfikacji i weryfikacji. Zarządzanie wymaganiami to kontrola całego procesu wymagań, w szczególności obsługa wszelkich zmian wymagań. Przeciwnie, niektórzy praktykujący nazywają całą działalność analizą wymagań.

Konieczne staje się określenie wymagań od interesariuszy, ponieważ interesariusze często nie do końca określają swoje potrzeby i nie rozumieją konsekwencji nowego systemu. Zainteresowane strony mogą się nie otworzyć, ponieważ mogą obawiać się wpływu na ich bieżącą pracę. Wywoływanie jest zatem ostrożnym i być może długim procesem, w którym potrzebna jest empatia i subtelna psychologia. Trzeba uważać, aby różnice kulturowe między różnymi interesariuszami, a także deweloperami, zostały wyeliminowane.

Do wywołania wymagań stosuje się kilka technik. Wymagania można uzyskać poprzez indywidualne wywiady, spotkania grupowe i obserwowanie ludzi przy ich zadaniach. Techniki, które mogą przedstawiać wymagania, obejmują grupy fokusowe, tworzenie priorytetowych list, prototypowanie i porównywanie z innymi działającymi systemami. Wymagania, które należy uzyskać, obejmują potrzeby biznesowe systemu, procesy biznesowe użytkowników korzystających z systemu oraz funkcje funkcjonalne systemu. Ponadto należy uzyskać wymagania niefunkcjonalne, takie jak czas reakcji, dostępność systemu i łatwość użytkowania.

Etap analizy w inżynierii wymagań tworzy 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 interesariuszy są częściej wykrywane przez modele i prototypy niż na podstawie jedynie listy wymagań. Analitycy muszą dodać do wymagań pożądane cechy systemu, takie jak bezpieczeństwo, elastyczność i łatwość konserwacji.

Wymagania są określone w dokumencie, aby ułatwić zrozumienie wszystkich interesariuszy. W polu oprogramowania dokument nosi nazwę SRS, co oznacza specyfikację wymagań oprogramowania. Wymagania są weryfikowane przez kluczowych interesariuszy. Odbywa się to głównie poprzez prezentacje i dokumentację specyfikacji, ale także czasami z przypadkami testowymi, które odpowiadają wymaganiom.

Inżynieria wymagań to przede wszystkim komunikacja, działanie, a nie technika. Potrzebuje umiejętności multidyscyplinarnych. Inżynieria wymagań pomaga interesariuszom i programistom rozwiązywać konflikty i jednoczy je w swoich celach; To prowadzi do solidnego systemu.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?