-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwstep.tex
More file actions
33 lines (16 loc) · 6.97 KB
/
wstep.tex
File metadata and controls
33 lines (16 loc) · 6.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
\chapter{Wstęp}
Rozwój technologii internetowych w ostatnich latach umożliwił programistom tworzenie wysoce interaktywnych narzędzi przy jednoczesnym ograniczeniu wymagań systemowych jakie muszą spełnić klienci, chcący skorzystać z wytworzonego oprogramowania. W szczególności, niedawno wprowadzona na rynek, technologia HTML5 pozwala na tworzenie rozwiązań, które były dotychczas zarezerwowane głównie dla technologii Flash, MS Silverlight czy Java-FX, bez konieczności instalacji dodatków do przeglądarek.
Z inżynierią wymagań wykonawcy spotykają się praktycznie na samym początku pracy nad projektem informatycznym. Niezbędne są skuteczne narzędzia opisu i przetwarzania gromadzonej wiedzy oraz komunikowania jej wszystkim członkom zespołu. Dzięki wyżej wspomnianej technologii HTML5, istnieje możliwość usprawnienia procesów fazy analizy przy jednoczesnym zachowaniu wysokiej dostępności aplikacji, wprowadzając nowe narzędzia oparte na metodach graficznych.
Na rynku nowych technologii istnieje wiele aplikacji rozwiązujących rozmaite problemy, od prostych list zakupów, po zaawansowane narzędzia wspierające zarządzanie projektami. Pomimo istnienia wielu aplikacji skupiających się na dziedzinie inżynierii wymagań, bardzo ciężko znaleźć rozwiązanie dostosowane do potrzeb i realiów prowadzenia niewielkich projektów.
W niniejszej pracy zaprezentowano koncepcję aplikacji wspomagającej gromadzenie i zarządzanie wymaganiami. Rozwiązanie stworzono z myślą o rzeczywistych problemach jakie wiążą się z fazą analizy w projekcie informatycznym. Zaproponowany system ma za zadanie ułatwić zespołom projektowym komunikację i dostęp do wiedzy przy jednoczesnym skupieniu uwagi na najistotniejszych aspektach definiowania i przetwarzania zebranej wiedzy.
\section{Cel pracy}
W małych i średnich przedsiębiorstwach, procesy inżynierii wymagań są najczęściej słabo sformalizowane. Informacje często są przekazywane werbalnie lub trafiają do zespołu z różnych, heterogenicznych źródeł i w wielu, zwykle niekompatybilnych, formatach. Pomimo faktu, iż na rynku nie brakuje oprogramowania wspierającego zarządzanie wymaganiami, istniejące rozwiązania, często nie są przystosowane do realiów prowadzenia projektów w małych, dynamicznych przedsiębiorstwach. Skomplikowane i trudno dostępne systemy często narzucają potrzebę instalacji oprogramowania po stronie klienta a rozwiązania dostępne online, w formule SaaS (Software As A Service), często powielają tylko funkcjonalności potężnych (i drogich) systemów takich jak IBM DOORS czy IBM ReqiusitePro. Ponadto niezwykle trudno jest znaleźć rozwiązanie darmowe lub posiadające ogólnodostępną wersję demonstracyjną.
Celem niniejszej pracy jest prezentacja koncepcji usprawniającej zbieranie i przetwarzanie artefaktów fazy analizy, dostarczając narzędzi edycji tekstu oraz graficznego modelowania przypadków użycia. W efekcie, użytkownik ma możliwość automatycznego wygenerowania dokumentu SRS (Software Requirement Specification) \cite{IEEE89} na podstawie wprowadzonych do systemu danych.
Podejście zaprezentowane w tej pracy, opiera się na założeniach, że nowoczesne oprogramowanie konkurujące w segmencie wspierania procesów powstawania projektów, powinno m.in.: stanowić centralne repozytorium wiedzy o wymaganiach; być łatwo dostępne w jak największej ilości różnych środowisk; umożliwiać łatwą kolaborację oraz być łatwe w obsłudze, prowokując do kreatywności, zamiast stawiać bariery w postaci skomplikowanych formularzy i tabel oraz niejasnych funkcjonalności.
\section{Zarys koncepcji}
Proces analizy wymagań jest trudny, ponieważ często jest procesem niesformalizowanym, rozproszonym i udokumentowanym na wiele sposobów (różne nośniki danych, niekompatybilne oprogramowanie). Ponadto wymagania zwykle pochodzą od wielu interesariuszy: od sponsora projektu, po użytkowników końcowych. Niezależnie od poziomu dojrzałości organizacji i stosowanej metodyki zarządzania projektami, źródła pochodzenia wiedzy na temat systemu pozostają silnie rozproszone i niekompatybilne.
Na potrzeby niniejszej pracy, został stworzony prototyp systemu pozwalający w łatwy sposób dokumentować gromadzoną na etapie analizy wiedzę. W powstałym systemie, głównymi narzędziami definiowania wymagań są pliki tekstowe oraz diagramy przypadków użycia. Projektanci systemu, otrzymują proste w obsłudze narzędzia, pozwalające na skupienie się nad sednem problemu, który budowany system ma za zadanie rozwiązać. W przedstawionej w niniejszej pracy koncepcji narzędzia, użytkownik ma do dyspozycji edytor tekstowy, w którym dokumentuje zidentyfikowane wymagania. Dzięki wykorzystaniu prostego języka znaczników (Markdown \cite{Grub04}), może skupić się na logicznej strukturze opisywanego zagadnienia. Brak narzędzi typu ,,WYSIWYG'' znanych ze standardowych edytorów tekstu jest zabiegiem celowym - ma za zadanie sprawiać, że korzystający z systemu nie są rozpraszani potrzebą myślenia o graficznej reprezentacji tekstu opisującego problem, przy jednoczesnym zachowaniu czytelnej struktury dokumentu. System załączników i komentarzy, umożliwia iteracyjną pracę nad wymaganiami przy wykorzystaniu zewnętrznych źródeł informacji.
Dzięki graficznemu edytorowi przypadków użycia standardu UML, użytkownik ma możliwość definiowania kluczowych funkcjonalności systemu i łączenia ich z wybranymi wymaganiami. Tworzone diagramy, są dostępne do ponownego wykorzystania w innych miejscach w systemie, dzięki czemu wspierana jest kolaboracja i korzystanie z już istniejących rozwiązań. Zarówno opisy wymagań jak i przypisane im przypadki użycia, są integralną częścią dokumentu specyfikacji systemu informatycznego. Dlatego na każdym etapie fazy analizy istnieje możliwość automatycznego wygenerowania specyfikacji wymagań na podstawie danych wprowadzonych do aplikacji. Takie podejście sprzyja iteracyjnej konstrukcji oprogramowania oraz umożliwia prezentację prac nad dokumentacją już na wczesnym etapie projektu.
Koncepcja systemu bazuje na silnym przekonaniu, że brak ograniczeń w postaci skomplikowanych i przytłaczających funkcjonalności pozwala skupić się na procesie twórczym w fazie definiowania wymagań, umożliwiając rozwiązywanie rzeczywistych problemów.
\section{Struktura pracy}
Rozdział 2 przedstawia dostępne na rynku narzędzia wspierające zarządzanie wymaganiami. Rozdział 3 jest dokładnym opisem dziedziny problemu oraz koncepcji zaimplementowanego prototypu. W rozdziale 4 zaprezentowano najistotniejsze technologie, jakie wykorzystano podczas pracy nad prototypem oraz krótkie omówienie środowiska programistycznego w jakim powstał przedmiot pracy. Rozdział 5 stanowi opis zaimplementowanego prototypu. W rozdziale 6 zawarto podsumowanie wyników pracy oraz propozycje kierunków dalszego rozwoju.