Rozdział IV. Zwinna specyfikacja wymagań
|
|
- Ludwika Chmielewska
- 9 lat temu
- Przeglądów:
Transkrypt
1 Rozdział IV Zwinna specyfikacja wymagań Lech Madeyski, Marcin Kubasiak Wydziałowy Zakład Informatyki, Wydział Informatyki i Zarządzania Politechnika Wrocławska {Lech.Madeyski, Marcin.Kubasiak}@pwr.wroc.pl We want to restore a balance. We accept modeling, but not in order to file some diagram in a dusty corporate repository. We accept documentation, but not hundreds of pages of never-maintained and rarely used tomes. We plan, but recognize the limits of planning in a turbulent environment. --- Jim Highsmith Streszczenie Rozdział dotyczy propozycji sprawnej i wykonywalnej 1 specyfikacji wymagań osadzonej na gruncie metodyki XP (ang. extreme Programming). Przedstawiono i porównano zarówno stosowane wcześniej przez autorów podejście do specyfikacji wymagań wykorzystujące przypadki użycia (ang. use cases), jak i nowe podejście bazujące na kartach wymagań, szkicach ekranów, testach akceptacyjnych oraz otwartym formacie przechowywania wymagań - XML. Jednym z rezultatów proponowanego podejścia jest uzyskanie wykonywalnej specyfikacji wymagań. Testy akceptacyjne okazały się niemal odpowiednikiem wykonywalnych przypadków użycia. Fakt ten, wydaje się mieć duży wpływ na efektywność procesu wytwarzania oprogramowania. 1 Przez wykonywalną specyfikację wymagań nie rozumiemy specyfikacji zapisanej w wykonywalnym języku specyfikacji wymagań tylko specyfikację, która umożliwia ciągłą i automatyczną walidację tworzonego systemu w kontekście jego zgodności z wymaganiami klienta oraz dostarcza informację zwrotną na temat postępów w realizacji systemu. Wykonywalność specyfikacji wynika z możliwości wykonania testów akceptacyjnych, zapisanych w postaci skryptów XML, przez odpowiednie narzędzie. W proponowanym podejściu testy akceptacyjne nie są opracowywane na podstawie specyfikacji wymagań, lecz są jej integralną częścią (ang. Test-Driven Requirements Specification). Jest to analogia do programowania/projektowania poprzez pisanie testów (ang. Test-Driven Development) przeniesionego na grunt specyfikacji wymagań.
2 54 Lech Madeyski, Marcin Kubasiak 1. Wstęp W czerwcu 2002 roku na Wydziale Informatyki i Zarządzania Politechniki Wrocławskiej pojawił się pomysł realizacji serwisu e-informatyka ( Przedsięwzięcie to miało na celu przygotowanie i wypromowanie liczącego się, w pełni profesjonalnego czasopisma o charakterze naukowym i popularno-naukowym, które będzie skupiało polskie środowisko informatyczne. Założeniem było, iż czasopismo będzie posiadało zarówno formę drukowaną, jak i elektroniczną. Wyłoniona została wówczas grupa sześciu studentów, której zadaniem było przygotowanie wizji systemu oraz, na tej podstawie opracowanie dokumentu specyfikacji wymagań tak, aby począwszy od października 2002 roku, system mógł być realizowany przez większą, sześćdziesięcioosobową grupę studentów w ramach przedmiotu Technologie Biznesu Elektronicznego prowadzonego przez jednego z autorów. W niniejszym rozdziale przedstawimy tradycyjne podejście do specyfikacji wymagań wykorzystane przez studentów na początku przedsięwzięcia, wpływ tego podejścia na dalszą realizację projektu oraz nowe podejście do specyfikacji wymagań, które autorzy stosują realizując drugie wydanie serwisu e-informatyka. 2. Tradycyjne podejście do specyfikacji wymagań Specyfikując wymagania dla pierwszego wydania serwisu e-informatyka, studenci wykorzystali popularną technikę przypadków użycia (ang. use cases). Aby zapewnić spójność i kompletność opisów poszczególnych przypadków użycia, studenci rozpoczęli pracę od ustalenia standardowego szablonu opisu pojedynczego przypadku użycia. Szablon ten zawierał następujące pola: aktorzy; cele; priorytet; warunki początkowe; scenariusz bazowy; scenariusze alternatywne; wyjątki; warunki końcowe; wymagania niefunkcjonalne. Następnie, spotykając się wielokrotnie, studenci dyskutowali o możliwej funkcjonalności systemu i na podstawie notatek ze spotkań, indywidualnie dokumentowali kolejne
3 Zwinna specyfikacja wymagań 55 wymagania wobec systemu. Opis jednego z przypadków użycia, Zalogowanie się na konto, przedstawiamy poniżej: UC #008: Zalogowanie się na konto Aktorzy pierwszoplanowi: Zarejestrowany Użytkownik Aktorzy drugoplanowi: - Cele: Dostęp do pełnych wersji artykułów. Priorytet: Wysoki Warunki początkowe: Zarejestrowany Użytkownik nie jest zalogowany. Scenariusz bazowy: 1. Zarejestrowany Użytkownik wybiera łącze umożliwiające zalogowanie się na konto. 2. System wyświetla formularz logowania. Formularz logowania powinien zawierać następujące pola: login, hasło, łącze umożliwiające przypomnienie zapomnianego hasła (patrz UC #009: Przypomnienie zapomnianego hasła). 3. Zarejestrowany Użytkownik wprowadza w formularzu wymagane dane. 4. Zarejestrowany Użytkownik zatwierdza podane dane. 5. Zarejestrowany Użytkownik przesyła zatwierdzone dane do Systemu. 6. System weryfikuje kompletność i poprawność danych przesłanych przez Zarejestrowanego Użytkownika. Scenariusz alternatywny nr 1: 6a1. Dane przesłane przez Zarejestrowanego Użytkownika w p. 5 są niekompletne lub niepoprawne. 6a2. System ponownie wyświetla formularz logowania wraz z notką wyjaśniającą przyczynę odrzucenia podanych przez Zarejestrowanego Użytkownika danych. 6a3. Dalej wg scenariusza bazowego p. 3. Warunki końcowe: Zarejestrowany Użytkownik jest zalogowany. Wyjątek nr 1: Jeżeli w p. 4 Zarejestrowany Użytkownik nie zatwierdza podanych w p. 3 danych, wówczas: 1. Wykonanie przypadku użycia jest przerywane. Zarejestrowany Użytkownik nie jest zalogowany. Wyjątek nr 2: Jeżeli w p. 6 System nie może zweryfikować kompletności i poprawności danych przesłanych przez Zarejestrowanego Użytkownika w p. 5, wówczas: 1. System wyświetla informację o zaistniałym problemie. 2. Wykonanie przypadku użycia jest przerywane. Zarejestrowany Użytkownik nie jest zalogowany. Wymagania niefunkcjonalne: Wygenerowanie strony logowania przez serwer nie powinno trwać dłużej niż 1 sekundę.
4 56 Lech Madeyski, Marcin Kubasiak W wyniku podjętych prac, niedługo po rozpoczęciu semestru, gotowy był 80-stronicowy dokument opisujący ponad 40 możliwych przypadków użycia systemu. Opracowany dokument specyfikacji wymagań stał się podstawą pracy dla wspomnianej wcześniej, większej grupy studentów, którzy mieli w ciągu semestru zrealizować system w ramach przedmiotu Technologie Biznesu Elektronicznego Zagrożenia projektu i podjęte środki zapobiegawcze Zadanie wydawało się bardzo trudne do wykonania ze względu na następujące fakty: 1. Technologie i narzędzia, które planowano wykorzystać do budowy systemu (platforma Java 2 Enterprise Edition, XML/XSLT, szkielet publikacji Apache Cocoon, Web Services), miały być przez większość realizatorów dopiero poznane w ramach przedmiotu, przy czym literatura w języku polskim nie była dostępna. 2. Studenci biorący udział w projekcie musieli równolegle realizować inne przedmioty, często równie czasochłonne. 3. Bardzo trudno jest zarządzać tak dużą grupą. Zagrożenie związane z pkt. 1. było trudne do usunięcia, ponieważ ideą przedmiotu, w ramach którego realizowano projekt, jest właśnie poznawanie najnowocześniejszych technologii internetowych w praktyce. Zagrożenie związane z pkt. 2. było jeszcze trudniejsze do wyeliminowania. Realizatorzy nie mieli żadnego wpływu na zmiany w siatce godzin. Problem związany z zarządzaniem bardzo dużym zespołem (pkt. 3.) postanowiono rozwiązać w ten sposób, że cały projekt zdekomponowano na 10 podprojektów. Szefowie podprojektów tworzyli rdzeń zespołu (ang. core team). Ich zadaniem było kierowanie pracą poszczególnych zespołów oraz zapewnienie komunikacji pomiędzy podprojektami. W tym celu utworzono listy dyskusyjne: jedną dla szefów podprojektów, drugą dla wszystkich uczestników projektu. Listy dyskusyjne sprawdziły się doskonale i były intensywnie wykorzystywane Problemy związane ze specyfikacją wymagań W trakcie realizacji systemu bardzo szybko okazało się, że: 1. Pomimo dużej szczegółowości opisów przypadków użycia nie precyzują one jednak wszystkich szczegółów wymaganych do realizacji systemu. 2. Opisy przypadków użycia są różnie interpretowane przez różne osoby realizujące system. 3. Duża objętość i formalność dokumentu specyfikacji wymagań zniechęca osoby realizujące system do pełniejszego zapoznania się z jego treścią.
5 Zwinna specyfikacja wymagań 57 Problemy z pkt. 1. i pkt. 2. spowodowały pojawianie się propozycji ulepszeń i uwag do pierwotnie wyspecyfikowanych wymagań. Nanoszenie poprawek w dokumencie specyfikacji wymagań okazało się bardzo czasochłonne. Z kolei zaniechanie pielęgnacji tego dokumentu oznaczałoby jego stopniową dezaktualizację i wystąpienie problemów w komunikacji między grupami realizującymi poszczególne części systemu (każda z grup miałaby inny obraz systemu). Pomocą w rozwiązaniu problemu braku jednoznaczności opisów przypadków użycia (pkt. 2.) okazało się sporządzanie obrazujących je szkiców ekranów. Idea ta została jednak rozwinięta i w pełni zastosowana dopiero podczas dalszych prac nad systemem. Duża objętość i formalność dokumentu specyfikacji (pkt. 3.) w połączeniu z faktem, iż większa część studentów realizujących system nie brała udziału w procesie specyfikacji wymagań, doprowadziły do sytuacji, w której osoby implementujące system nie miały jego całościowego i spójnego obrazu. Ponadto pod koniec projektu okazało się, że studenci nie zdołali zrealizować wszystkich wyspecyfikowanych na wstępie przypadków użycia (wg autorów głównym powodem takiego stanu rzeczy była decyzja o zastosowaniu do realizacji systemu nowych, nieznanych większości studentom technologii oraz bardzo duże obciążenie studentów innymi zajęciami). Niezależnie od powodów, z punktu widzenia pierwszego wydania e-informatyki, można stwierdzić, że czas i zasoby poświęcone na szczegółowe wyspecyfikowanie niezrealizowanych przypadków użycia zostały wykorzystane nieefektywnie. 3. Propozycja nowego podejścia do specyfikacji wymagań Z edukacyjnego punktu widzenia przedmiot zakończył się sukcesem. Studenci mieli okazję zapoznać się w praktyce z najnowszymi technologiami internetowymi (Java, Apache Cocoon, XML, XSLT, Web Services), pracować wspólnie nad dużym projektem w dużym zespole, praktycznie wykorzystywać narzędzia do wersjonowania oprogramowania CVS (ang. Concurrent Versioning System) czy automatycznej integracji Apache Ant. Z biznesowego punktu widzenia pierwsze wydanie e-informatyki należy jednak uznać za niepowodzenie. Pomimo wysiłku sześćdziesięcioosobowego zespołu otrzymaliśmy zaledwie wykonywalny prototyp systemu, weryfikujący założenia poczynione na etapie specyfikacji wymagań, a nie działający system nadający się do wdrożenia w produkcji. Aby nie powtórzyć wcześniejszych błędów, podczas prac przygotowawczych do rozpoczęcia realizacji wydania drugiego stwierdzono, że: 1. W projekcie brało udział zbyt wiele osób, co utrudniało komunikację w zespole. W związku z tym dalsze prace będą kontynuowane w znacznie węższym gronie, na zasadach wolontariatu przy jednoczesnej starannej selekcji. Niewielki, ale bardzo dobry zespół jest w stanie zrobić więcej niż zespół duży, ale przeciętny.
6 58 Lech Madeyski, Marcin Kubasiak 2. Zbyt dużo czasu poświęcono szczegółowej specyfikacji wymagań nie sprawdzając jednocześnie w praktyce przyjmowanych założeń (brak informacji zwrotnej o systemie). Autorzy zwrócili swoje zainteresowanie w kierunku metodyk zwinnych (ang. agile methodologies), takich jak FDD (ang. Feature Driven Development), SCRUM a w szczególności w kierunku metodyki XP (ang. extreme Programming). Drugie wydanie e-informatyki realizowane jest przez zespół ośmioosobowy, który stosuje nowe podejście do realizacji projektu bazujące na zwinnej metodyce XP. W dalszej części rozdziału opisane zostanie stosowane przez autorów nowe podejście do specyfikacji wymagań. Kluczowymi elementami tego podejścia są: karty wymagań (ang. user stories), szkice ekranów, testy akceptacyjne specyfikowane przed implementacją będące integralną częścią specyfikacji wymagań, forum projektu Karty wymagań Zespół zbiera się w pełnym składzie w pomieszczeniu wyposażonym w tablicę. Dodatkowo należy przygotować plik czystych kartek, kilka pisaków i cyfrowy aparat fotograficzny. Ważne jest, aby każdy z członków zespołu brał aktywny udział w procesie specyfikacji wymagań tak, aby wszyscy mieli pełną i spójną wizję mającego powstać systemu. Unikamy w ten sposób sytuacji z realizacji pierwszego wydania e-informatyki, kiedy osoby implementujące system nie miały jego całościowego obrazu. Zespół zaczyna dyskutować o pożądanej funkcjonalności systemu. Na początku należy koncentrować się na funkcjach o największej wartości biznesowej. Nazwę każdej z proponowanych funkcji zespół zapisuje na osobnej karcie wymagania. Karty wymagań zawierają nazwę, właściwą treść i oszacowania [BECK2000]. Po zidentyfikowaniu kluczowych dla danego wydania systemu funkcji zespół przystępuje do dyskusji nad każdą z nich z osobna. Jedna z osób próbuje ująć dyskutowaną funkcję w kilku zdaniach, zapisując je na odpowiedniej karcie wymagania. Następnie odczytuje głośno zapisane zdania. Jeżeli zespół ma zastrzeżenia co do opisu wymagania, wówczas karta jest odrzucana i ta sama lub inna osoba próbuje ponownie opisać dyskutowane wymaganie uwzględniając uwagi zgłoszone przez zespół. Procedura ta powtarzana jest tak długo, aż cały zespół uzna opis wymagania znajdujący się na karcie za właściwy. Ważne jest, aby opisy na kartach wymagań nie były zbyt szczegółowe (nie chcemy powtarzać błędu polegającego na całościowym, szczegółowym specyfikowaniu wymagań na początku wydania, ponieważ nie mamy pewności, że wszystkie z nich zostaną zrealizowane w danym wydaniu systemu). Zazwyczaj wystarczy kilka zdań. Karty wymagań mają bowiem reprezentować a nie dokumentować wymagania. Przykład karty opisującej funkcję Zalogowania się na konto przedstawiamy poniżej:
7 Zwinna specyfikacja wymagań 59 Nazwa: Zalogowanie się na konto Treść: Zarejestrowany Użytkownik loguje się na konto podając swój login i hasło. Oszacowanie: 2 dni Z kolei karta wymagania opisująca funkcję Przypomnienia zapomnianego hasła wygląda następująco: Nazwa: Przypomnienie zapomnianego hasła Treść: Jeżeli Zarejestrowany Użytkownik zapomni swoje hasło, może poprosić System o jego przypomnienie. Zarejestrowany Użytkownik podaje swój adres a System wysyła hasło Zarejestrowanego Użytkownika na wskazany adres. Oszacowanie: 2 dni Na podstawie powyższych opisów nie można jeszcze przystąpić do realizacji systemu. Karty wymagań pozostawiają zbyt wiele pytań bez odpowiedzi, np. jak powinien zareagować system, gdy podczas logowania użytkownik poda zły login, czy też jak powinien zareagować system, gdy podczas przypominania zapomnianego hasła współpracy odmówi serwer pocztowy? Opis przypadku użycia uwzględniałby odpowiedzi na takie pytania. Ale karty wymagań są tylko jednym z trzech elementów specyfikacji wymagań. Uzupełniamy je o szkice ekranów i testy akceptacyjne. W dalszej części rozdziału postaramy się wykazać, że karty wymagań, szkice ekranów i testy akceptacyjne są efektywniejszą metodą specyfikacji wymagań niż przypadki użycia. Warto w tym miejscu podkreślić jeszcze jeden fakt. Mimo, że karty wymagań nie precyzują wszystkich szczegółów opisywanej funkcjonalności systemu, to dają programistom dobre pojęcie odnośnie tego, co ma zostać zrealizowane. Mała ziarnistość funkcji opisywanych przez karty wymagań umożliwia programistom dokładne szacowanie czasu ich realizacji. Jest to szczególnie istotne, gdyż dokładne szacunki programistów umożliwiają z kolei precyzyjne planowanie (więcej na ten temat można znaleźć w [BECK1999, JEFF2000, BECK2000] pod hasłem Gra w planowanie, Planowanie wydania, Planowanie iteracji ). Tak więc karty wymagań pełnią również bardzo istotną rolę w procesie planowania Szkice ekranów Wspomnieliśmy już wcześniej o problemie, który pojawił się w trakcie realizacji pierwszego wydania e-informatyki i dotyczył rozbieżności w interpretacji opisów
8 60 Lech Madeyski, Marcin Kubasiak przypadków użycia. Niejednoznaczność interpretacji wymagań prowadziła do nieporozumień, co w efekcie negatywnie wpłynęło na efektywność pracy całego zespołu. W zaistniałej sytuacji pomocną techniką okazało się sporządzanie szkiców ekranów obrazujących przypadki użycia systemu. Technikę tę stosujemy obecnie jako integralny element procesu specyfikacji wymagań. Równolegle z formułowaniem opisu funkcji systemu na karcie wymagania, zespół szkicuje na tablicy ekrany związane z daną funkcją. Po zatwierdzeniu opisu dyskutowanej funkcji i związanych z nią szkiców ekranów, szkice ekranów zapisywane są za pomocą cyfrowego aparatu fotograficznego. Szkice ekranów nie powinny być zbyt szczegółowe obrazują jedynie najważniejsze elementy funkcjonalne wynikające z opisu słownego na karcie wymagania. Przykład szkicu ekranu dla karty Zalogowanie się na konto przedstawiamy poniżej: Rys. 1. Szkic ekranu związany z kartą wymagania Zalogowanie się na konto Zauważmy również, że szkice ekranów dają nam pierwszą, podstawową informację zwrotną o tworzonym systemie. Co więcej, zbiór wszystkich szkiców stanowi doskonały punkt wyjścia do projektowania właściwego interfejsu użytkownika systemu.
9 Zwinna specyfikacja wymagań Testy akceptacyjne Karty wymagań i związane z nimi szkice ekranów wciąż nie opisują wystarczającej liczby szczegółów wymaganych do implementacji systemu 2. Świadomie opóźniamy jednak specyfikowanie szczegółów do momentu, w którym są one naprawdę potrzebne. Wszystkie prace składające się na realizację kolejnego wydania systemu przebiegają w rytmie około 1, 2-tygodniowych iteracji. Każda iteracja rozpoczyna się od wybrania kart wymagań, które będą implementowane w ramach danej iteracji. Przy wyborze kart, z jednej strony kierujemy się ich wartością biznesową, z drugiej zaś, oszacowanym wcześniej kosztem realizacji (więcej na ten temat można znaleźć w [BECK1999, JEFF2000, BECK2000] pod hasłem Planowanie iteracji ). Dopiero po wybraniu kart, które będą realizowane w ramach danej iteracji przystępujemy do uzupełniania ich o wymagane szczegóły. Warto podkreślić zalety takiego podejścia opóźniając specyfikowanie szczegółów do momentu, w którym są one naprawdę potrzebne, otwieramy się na możliwość uwzględnienia w nich informacji zwrotnej z już zaimplementowanej części systemu. Jest to podejście adaptacyjne charakterystyczne dla zwinnych metodyk wytwarzania oprogramowania. W efekcie dokładnie specyfikujemy tylko to, co rzeczywiście będzie implementowane i ma największą wartość biznesową. Po wybraniu kart wymagań, które będą realizowane w ramach danej iteracji, zespół ustala szczegóły wymagane do ich implementacji. Następnie do każdej z kart zgłasza się osoba, która będzie odpowiedzialna za wyspecyfikowanie ustalonych dla danej karty szczegółów w formie testów akceptacyjnych. Testy akceptacyjne specyfikujemy w pierwszej kolejności, przed przystąpieniem do realizacji pozostałych zadań związanych z implementacją wybranych kart. Specyfikowanie testów w pierwszej kolejności prowadzi do lepszego zrozumienia funkcji, które mają być zrealizowane oraz odkrycia ewentualnych szczegółów, które nie zostały jeszcze ustalone. Specyfikowanie testów akceptacyjnych powinno przebiegać zatem w miarę sprawnie. W przypadku projektu e-informatyka wykorzystujemy do tego narzędzia takie jak: JUnit [WWW2003a], HttpUnit [WWW2003b], DBUnit [WWW2003c] i XmlUnit [WWW2003d]. Szczególnie obiecujące, m. in. pod względem sprawności specyfikowania, wydaje się jednak zapisywanie testów akceptacyjnych w postaci skryptów XML [WWW2003e]. Testy akceptacyjne zapisywane w postaci skryptów XML są bardziej zwięzłe i czytelne niż odpowiadający im kod w języku programowania. W związku z tym pisze się je szybciej. Skrypty XML same w sobie nie reprezentują wykonywalnych programów. Służą raczej do reprezentacji danych wejściowych i wyjściowych oraz definiują na nich odpowiednie asercje, które weryfikowane są dopiero przez odpowiednie narzędzie. Przykład takiego skryptu, definiującego szczegóły dla karty wymagania Zalogowanie się na konto, przedstawiamy poniżej: 2 Implementacja i projekt systemu w metodykach zwinnych są ze sobą ściśle powiązane.
10 62 Lech Madeyski, Marcin Kubasiak <?xml version="1.0" encoding="utf-8"?> Test akceptacyjny dla karty wymagania "Zalogowanie się na konto". <testspec application="e-informatyka" baseurl=" W pierwszej kolejności specyfikujemy strukturę strony logowania. Strona logowania składa się z formularza logowania i łącza umożliwiającego przypomnienie zapomnianego hasła. Formularz logowania zawiera z kolei: pole tekstowe 'login', pole hasła 'password', przycisk 'submit' i przycisk 'reset'. <definepage name="login" url="account/login"> <form name="form" method="post" action="do-login"> <input name="login" type="text" set="#{login}"/> <input name="password" type="password" set="#{password}"/> <input name="submit" type="submit"/> <input name="reset" type="reset"/> </form> <link name="forgotten-password" href="password-reminder"/> </definepage> Następnie definiujemy poszczególne testy. <steps> Test pierwszy sprawdza, czy struktura strony logowania zwracanej przez System zgadza się ze strukturą zdefiniowaną na początku skryptu. <suite name="testpagestructure"> <with page="login"> <fetch/> <verify/> </suite> Użytkownik logując się musi podać zarówno swój login jak i hasło. Jeżeli dane przesłane przez Użytkownika są niekompletne, wówczas System ponownie wyświetla formularz logowania wraz z notką informującą o tym, że zarówno pole 'login' jak i 'hasło' są wymagane. Powyższe warunki sprawdza następujący test: <suite name="testrequiredfields"> <with page="login"> <fetch/> <set name="login" value=""/> <set name="password" value=""/> <submit/> <with page="do-login"> <verify contenttype="text/xml"> <element xpath="//login[@status='failed']"/> <element xpath="//errors/error[@field='login' <element xpath="//errors/error[@field='password' </verify> </suite>
11 Zwinna specyfikacja wymagań 63 Kolejny test sprawdza sytuację, w której Użytkownik podaje nieistniejący login. System powinien ponownie wyświetlić formularz logowania i poinformować Użytkownika o zaistniałym problemie. <suite name="testinvalidlogin"> <with page="login"> <fetch/> <set name="login" value="invalid-login"/> <set name="password" value="password"/> <submit/> <with page="do-login"> <verify contenttype="text/xml"> <element xpath="//login[@status='failed']"/> <element xpath="//errors/error[@field='login' </verify> </suite> Użytkownik może również podać złe hasło do istniejącego konta. Również i w tej sytuacji System powinien ponownie wyświetlić formularz logowania i poinformować Użytkownika o pomyłce. <suite name="testinvalidpassword"> <with page="login"> <fetch/> <set name="login" value="login"/> <set name="password" value="invalid-password"/> <submit/> <with page="do-login"> <verify contenttype="text/xml"> <element xpath="//login[@status='failed']"/> <element xpath="//errors/error[@field='password' </verify> </suite> Ostatecznie podejmujemy próbę pomyślnego zalogowania się do Systemu. O pomyślnym zalogowaniu się do Systemu świadczy wartość 'success' atrybutu 'status' elementu 'login' w odpowiedzi generowanej przez System. <suite name="testsuccessfullogin"> <with page="login"> <fetch/> <set name="login" value="login"/> <set name="password" value="password"/> <submit/> <with page="do-login"> <verify contenttype="text/xml"> <element xpath="//login[@status='success']"/> </verify> </suite> Mając definicje wymaganych testów możemy je wykonać. <run suite="testpagestructure"/>
12 64 Lech Madeyski, Marcin Kubasiak <run suite="testrequiredfields"/> <run suite="testinvalidlogin"/> <run suite="testinvalidpassword"/> <run suite="testsuccessfullogin"/> </steps> </testspec> Testy akceptacyjne pozwalają wyspecyfikować wszystkie szczegóły wymagane do rozpoczęcia implementacji systemu, których brak w zwięzłych opisach funkcji na kartach wymagań. Co więcej, testy akceptacyjne są wykonywalną postacią specyfikacji wymagań w znaczeniu przytoczonym we wstępie rozdziału. Integrując je z procesem budowania (ang. build) systemu i często budując system (praktyka ciągłej integracji z XP) będziemy otrzymywać ciągłą i konkretną informację zwrotną o naszych postępach w realizacji projektu Forum projektu Każdy uczestnik projektu powinien mieć bezpośredni dostęp do wyspecyfikowanych wymagań (wartość komunikacji podkreślana w XP) oraz możliwość łatwej ich modyfikacji (praktyka kolektywnego prawa do zmian zapożyczona z XP). Realizując e-informatykę, korzystamy w tym celu z forum projektu bazującego na pomyśle Wiki zaproponowanym przez Warda Cunninghama [WWW2003f]. Wiki umożliwia uczestnikom projektu szybkie tworzenie nowych i modyfikowanie istniejących specyfikacji wymagań. Głównymi zaletami Wiki są prostota i kontrola wersji. Na forum projektu prezentowane są również wyniki procesu ciągłej integracji tworzonego systemu. W przypadku realizowanego przez nas projektu obejmuje to: listę ostatnich modyfikacji bazy kodu w CVS, logi z procesu budowania systemu: kompilacji, pakowania i rozmieszczania komponentów aplikacji na serwerze, raporty z wykonania zautomatyzowanych testów akceptacyjnych i jednostkowych. 4. Porównanie obu podejść do specyfikacji wymagań Zestawmy obie techniki specyfikacji wymagań przypadki użycia oraz proponowane podejście: 1. Zarówno przypadki użycia jak i karty wymagań mają identyfikującą je nazwę (np. Zalogowanie się na konto ). 2. Przypadek użycia w sposób jawny wyraża cele związane z jego wykonaniem (np. Dostęp do pełnych wersji artykułów ). Podczas wstępnego specyfikowania funkcjonalności systemu za pomocą kart wymagań również rozważamy cele użycia
13 Zwinna specyfikacja wymagań 65 proponowanych funkcji. Funkcje dla których nie można określić celów użycia nie są brane pod uwagę. 3. Przypadki użycia mają określony priorytet. Podobnie karty wymagań mają określoną wartość biznesową, którą szacujemy na początku każdej iteracji (ponieważ wartość biznesowa karty może zależeć od już zrealizowanej funkcjonalności systemu). 4. Przypadki użycia definiują warunki początkowe i końcowe (np. warunek początkowy: Zarejestrowany Użytkownik nie jest zalogowany ). Również testy akceptacyjne mogą zawierać kroki weryfikujące warunki początkowe i końcowe, np. dla przykładowego warunku początkowego sekwencja kroków w teście akceptacyjnym byłaby następująca: (1) zalogowanie Zarejestrowanego Użytkownika; (2) próba ponownego logowania, która powinna zakończyć się błędem. 5. Przypadki użycia definiują scenariusze (bazowy, alternatywne i wyjątkowe) składające się z sekwencji interakcji pomiędzy zidentyfikowanymi wcześniej aktorami a rozważanym systemem. Testy akceptacyjne specyfikuje się na tej samej zasadzie. Symulują one działania aktorów i weryfikują zachowania systemu w tych samych sytuacjach, co scenariusze przypadku użycia. 6. Przypadki użycia, oprócz wymagań funkcjonalnych, umożliwiają również specyfikowanie wymagań niefunkcjonalnych (np. Wygenerowanie strony logowania przez serwer nie powinno trwać dłużej niż 1 sekundę). W testach akceptacyjnych także można wyrażać proste wymagania niefunkcjonalne. Wymagania niefunkcjonalne nie związane z żadną kartą wymagania specyfikujemy w osobnym teście akceptacyjnym. Powyższe porównanie pokazuje, że w sensie funkcjonalnym karty wymagań połączone z testami akceptacyjnymi odpowiadają przypadkom użycia. Również wysiłek związany z przygotowaniem przypadków użycia i testów akceptacyjnych jest podobny, przy założeniu, że do specyfikowania testów akceptacyjnych wykorzystujemy skrypty XML. W czym zatem tkwi różnica? Dlaczego proponujemy i w swojej praktyce stosujemy zaprezentowane w tym rozdziale podejście do specyfikacji wymagań? 4.1 Zalety zwinnego specyfikowania wymagań Zdaniem autorów proponowane podejście wydaje się efektywniejsze niż technika przypadków użycia z następujących powodów: 1. Testy akceptacyjne są wykonywalną postacią specyfikacji wymagań. Możemy zintegrować je z procesem budowania systemu i, stosując praktykę ciągłej integracji znaną z XP, będziemy otrzymywać ciągłą i konkretną informację zwrotną o postępach w realizacji projektu. 2. Ponieważ testy akceptacyjne są niemal odpowiednikiem wykonywalnych przypadków użycia, zatem praca nad jednym a potem nad drugim artefaktem
14 66 Lech Madeyski, Marcin Kubasiak osobno wydaje się autorom marnowaniem zasobów. Mogłoby się wydawać, że opisy przypadków użycia są bardziej czytelne, ale specyfikacja testu akceptacyjnego w postaci skryptu XML może być równie czytelna i, co więcej, w prosty sposób transformowana za pomocą XSL (ang. extensible Stylesheet Language) na dokumentację systemu w dowolnej, dostosowanej do potrzeb użytkownika postaci i formacie (np. HTML czy PDF). 3. W proponowanym podejściu, przy porównywalnym wysiłku, oprócz specyfikacji wymagań otrzymujemy jednocześnie obszerny, budowany od samego początku projektu zestaw zautomatyzowanych testów akceptacyjnych. W efekcie pokrycie systemu testami będzie lepsze niż w podejściu klasycznym. Dodatkowo automatyzacja testów akceptacyjnych znacznie przyspiesza sam proces testowania. Dzięki temu pozostaje więcej czasu na ręczne testowanie, co w przypadku średnich i dużych systemów jest niezmiernie czasochłonne. Ręcznie testujemy głownie to, czego nie da się zautomatyzować (np. spójność graficzną poszczególnych stron portalu). 4. Sytuacja, w której wymagania nie ulegają zmianie i są jasno określone na początku projektu należy do rzadkości. W przypadku klasycznego podejścia, każda zmiana wymagań sprawia, że modyfikowane są dokumenty specyfikujące przypadki użycia i istniejące testy akceptacyjne. W przypadku zaproponowanego podejścia i realizowanych bądź już zrealizowanych funkcji systemu, wymagania zawarte są w testach akceptacyjnych, przypadki użycia nie są potrzebne a co za tym idzie zakres modyfikowanych dokumentów jest mniejszy. Dodatkowo rozbudowany zestaw automatycznych testów gwarantuje wychwycenie ewentualnych problemów, które mogą pojawić się po wprowadzeniu zmian w już zaimplementowanej części systemu. W przypadku funkcji, które dopiero będą realizowane, testy akceptacyjne jeszcze nie istnieją - nie ma potrzeby modyfikowania jakichkolwiek dokumentów. 5. W proponowanym podejściu szczegółowe wymagania specyfikowane są dopiero wtedy, gdy są potrzebne nie wcześniej. Specyfikujemy tylko to, co jest naprawdę potrzebne, ma największą wartość biznesową i powinno być zrealizowane w pierwszej kolejności. Dodatkowo, specyfikując szczegóły dopiero wtedy, gdy są potrzebne - możemy uwzględnić w nich informację zwrotną z już zaimplementowanej części systemu. 6. Karty wymagań z definicji są ograniczone czasem realizacji, co umożliwia dokładne planowanie i kompletną implementację kart wymagań w pojedynczej iteracji. Przypadki użycia są zwykle bardziej gruboziarniste, gdyż są niezależne od ograniczeń czasowych. 7. Specyfikacja wymagań jest łatwo dostępna w formie elektronicznej w formacie XML, może być zdalnie modyfikowana, wersjonowana (z wykorzystaniem np. CVS) i prezentowana w różnych formatach wyjściowych (np. HTML, PDF, PS). Zdaniem autorów z powyższego porównania wynika, że proponowane podejście do specyfikacji wymagań może być znacznie efektywniejsze - oferując wykonywalną specyfikację wymagań, ciągłą informację zwrotną, obszerny, budowany od początku projektu zestaw testów, jak również pozwalając uniknąć marnowania czasu na czynności
15 Zwinna specyfikacja wymagań 67 związane z tworzeniem i uaktualnianiem powiązanych ze sobą artefaktów (przypadków użycia i testów akceptacyjnych). Za szczególnie istotne uważają autorzy również: 1. Zaangażowanie całego zespołu w specyfikację wymagań, co skutkuje pełną i spójną wizją systemu u każdego członka zespołu. 2. Wykorzystanie szkiców ekranów, które zmniejszają niejednoznaczności w interpretacji wymagań, dają pierwszą informację zwrotną o systemie i stanowią punkt wyjścia dla projektowania właściwego interfejsu użytkownika Ograniczenia proponowanego rozwiązania Oczywiście proponowane przez autorów rozwiązanie nie jest doskonałe. Dostrzegamy następujące związane z nim ograniczenia: 1. Aktualnie pojawiające się pierwsze rozwiązania skryptowe bazujące na XML są funkcjonalnie bardzo proste i nie pozwalają m. in. na łatwe i elastyczne ustawianie i testowanie stanu bazy danych, pełną obsługę formularzy (np. sprawdzanie typów pól obecnych w pobranym formularzu) czy też asercje dotyczące wydajności (np. czasu odpowiedzi serwera na żądanie). W związku z tym, na chwilę obecną, pisanie testów akceptacyjnych wymaga od zespołu bardzo dobrej znajomości narzędzi takich jak: JUnit, HttpUnit, DBUnit czy XmlUnit. 2. Ograniczenia wynikające z osadzenia proponowanego rozwiązania na gruncie metodyki XP (np. nie wszyscy klienci mogą być przygotowani do określania wymagań o ziarnistości wymaganej przez karty wymagań [WAGN2001]). 5. Podsumowanie Testy akceptacyjne zapisane w XML są wykonywalną postacią specyfikacji wymagań. Można powiedzieć, że są niemal odpowiednikiem wykonywalnych przypadków użycia. Fakt ten warto wykorzystać, by zoptymalizować proces wytwarzania oprogramowania i uzyskać wcześniejszą informację zwrotną nt. realizowanego systemu. Taki jest też zamiar autorów, którzy w przyszłości chcą opisać podstawowe założenia metodyki wytwarzania aplikacji internetowych bazującej na wykonywalnej specyfikacji wymagań za pomocą testów akceptacyjnych. Zdaniem autorów metodyka taka w połączeniu z odpowiednio dobraną architekturą szkieletu tworzonych aplikacji internetowych (ang. application framework) pozwoli na bardzo sprawne realizowanie projektów.
16 68 Lech Madeyski, Marcin Kubasiak Bibliografia [BECK1999] Beck K., Extreme Programming Explained: Embrace Change. Addison-Wesley, [BECK2000] Beck K., Fowler M., Planning Extreme programming. Addison-Wesley, [JEFF2000] Jeffries R., Anderson A., Hendrickson Ch, Extreme Programming Installed. Addison-Wesley, [WAGN2001] Wagner L., Extreme Requirements Specification, Cutter IT Journal, Vol. 14, No. 12, December [WWW2003a] JUnit szkielet umożliwiający testowanie jednostkowe aplikacji pisanych w Javie, [WWW2003b] HTTPUnit rozszerzenie JUnit o możliwość pisania testów akceptacyjnych dla aplikacji webowych, [WWW2003c] DBUnit rozszerzenie JUnit o możliwość ustawiania i testowania stanu bazy danych, [WWW2003d] XmlUnit rozszerzenie JUnit o możliwość definiowania asercji dotyczących danych XML, [WWW2003e] XmlTestSuite narzędzie umożliwiające specyfikowanie testów akceptacyjnych dla aplikacji webowych w postaci skrytpów XML, [WWW2003f]
Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming
Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu
Usługa: Testowanie wydajności oprogramowania
Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych
Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Wprowadzenie do Behaviordriven
Wprowadzenie do Behaviordriven development Jakub Kosiński Email: ja@ghandal.net Czym jest BDD? praktyka, powstała na podstawie TDD, wykorzystywana w zwinnych metodykach stworzona przez Dana Northa w 2003
Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)
Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów
SYSTEMY INFORMATYCZNE ćwiczenia praktyczne
SYSTEMY INFORMATYCZNE ćwiczenia praktyczne 12.03.2019 Piotr Łukasik p. 373 email: plukasik@agh.edu.pl / lukasik.pio@gmail.com www.lukasikpiotr.com Zakres tematyczny implementacji projektu informatycznego
Procesowa specyfikacja systemów IT
Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Analiza antyplagiatowa prac dyplomowych w Uniwersyteciee Zielonogórskim w modułach StudNet, PracNet systemu Dziekanat oraz w systemie OSA.
Analiza antyplagiatowa prac dyplomowych w Uniwersyteciee Zielonogórskim w modułach StudNet, PracNet systemu Dziekanat oraz w systemie OSA. Opracowanie: mgr inż. Łukasz Stefanowicz Centrum Komputerowe UZ
Programowanie zespołowe
Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof
Inżynieria oprogramowania II
Wymagania funkcjonalne, przypadki użycia Inżynieria oprogramowania II Problem i cel Tworzenie projektów bez konkretnego celu nie jest dobre Praktycznie każdy projekt informatyczny powstaje z uwagi na jakiś
Opis realizacji dla czterech zespołów (4 przypadki użycia)
Projektowanie oprogramowania Termin zajęć: czwartek, sala L2.6, C16 7.30-9.00, 9.15-10.45 Na podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1)
Projektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Projektowanie oprogramowania. Termin zajęć: poniedziałek, 18.00-19.45. a podstawie materiału ze strony. http://gromit.iiar.pwr.wroc.
Projektowanie oprogramowania Termin zajęć: poniedziałek, 18.00-19.45 a podstawie materiału ze strony http://gromit.iiar.pwr.wroc.pl/p_inf/ Przebieg realizacji projektu (tabela 1) Nr tygo dnia Spotkanie
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Główne założenia XP. Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness)
Extreme programming Główne założenia XP Prostota (Simplicity) Komunikacja (Communication) Sprzężenie zwrotne (Feedback) Odwaga (Agressiveness) Praktyki Planowanie: Planowanie releasu Planowanie iteracji
Maciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD
PLATFORMA ACTIVE FORMS Kreator Formularzy Internetowych ze wsparciem dla RWD ACTIVE FORMS 2 Spis treści WPROWADZENIE 3 Dowolnie złożone formularze 3 Niski czas i koszt zbudowania formularza 4 TOP 10 WŁAŚCIWOŚCI
SCRUM niełatwe wdrażanie metodyki w praktyce. Adam Krosny
SCRUM niełatwe wdrażanie metodyki w praktyce Adam Krosny 1 Czym się zajmujemy Realizujemy projekty informatyczne średniej wielkości Ilość osób w projekcie 10-50 Architektura SOA, EBA Wiele komponentów
Usługa: Audyt kodu źródłowego
Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności
Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36
Automatyzacja testowania oprogramowania Automatyzacja testowania oprogramowania 1/36 Automatyzacja testowania oprogramowania 2/36 Potrzeba szybkich rozwiązań Testowanie oprogramowania powinno być: efektywne
Feature Driven Development
Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami
Diagram przypadków użycia
Diagram przypadków użycia Diagram przypadków użycia opisuje system z punktu widzenia użytkownika, pokazuje, co robi system, a nie jak to robi. Diagram ten sam w sobie zazwyczaj nie daje nam zbyt wielu
Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Projektowanie oprogramowania
Wrocław, 26.09.2012 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia). Zajęcia składają się z
Tester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
Programowanie Zespołowe
Programowanie Zespołowe Programowanie zwinne dr Rafał Skinderowicz mgr inż. Michał Maliszewski Programowanie zwinne Grupa metodyk wytwarzania oprogramowania oparta na modelu iteracyjno-obiektowym Powstała
Testowanie i walidacja oprogramowania
i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 3 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Zarządzanie testami Cykl życia testów (proces) Planowanie Wykonanie Ocena Dokumentacja
Michał Olejnik. 22 grudnia 2009
Continuous TDD Politechnika Wrocławska Informatyka 22 grudnia 2009 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda Wprowadzenie 1 Wprowadzenie 2 3 4 5 Agenda
INSTRUKCJA KROK PO KROKU Z UWZGLĘDNIENIEM ROLI
Instrukcja obsługi funkcjonalności Systemu Monitorowania Kształcenia Pracowników Medycznych (SMK) dla diagnostów laboratoryjnych i farmaceutów oraz podmiotów zaangażowanych w proces kształcenia ww. grup
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis
Opis metodyki i procesu produkcji oprogramowania
Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Przewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie
Inżynieria wymagań Wykład 2 Proces pisania przypadków użycia Część 6 Wskazówki i sugestie Opracowane w oparciu o materiały IBM (kurs REQ570: Writing Good Use Cases) Wyzwania podczas pisania przypadków
Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań
Metodyka Scrum Podejście tradycyjne plan wykonanie sekwencyjna natura wykonywanych zadań analiza i definiowanie wymagań projektowanie rozwiązań kodowanie rozwiązań testowanie odstępstwo od planu jest kosztowne
Podręcznik Użytkownika LSI WRPO
Podręcznik użytkownika Lokalnego Systemu Informatycznego do obsługi Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2007 2013 w zakresie wypełniania wniosków o dofinansowanie Wersja 1 Podręcznik
Programowanie Zespołowe
Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design
Elektroniczny Urząd Podawczy
Elektroniczny Urząd Podawczy Dzięki Elektronicznemu Urzędowi Podawczemu Beneficjent może wypełnić i wysłać formularz wniosku o dofinansowanie projektów w ramach Regionalnego Programu Operacyjnego Województwa
INSTRUKCJA OBSŁUGI PLATFORMY E-LEARNINGOWEJ
E-LEARNINGOWEJ 1 Spis treści Wprowadzenie... 3 1. Zakładanie konta na platformie... 3 2. Logowanie... 5 3. Przypomnienie zapomnianego hasła... 5 4. Zmiana profilu... 5 5. Zapisy na szkolenie...6 6. Proces
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Zarządzanie testowaniem wspierane narzędziem HP Quality Center
Zarządzanie testowaniem wspierane narzędziem HP Quality Center studium przypadku Mirek Piotr Szydłowski Ślęzak Warszawa, 17.05.2011 2008.09.25 WWW.CORRSE.COM Firma CORRSE Nasze zainteresowania zawodowe
SDP systemu SOS. Marcin Suszczewicz Michał Woźniak Krzysztof Kostałkowicz Piotr Kuśka. 6 czerwca 2006
SDP systemu SOS Marcin Suszczewicz Michał Woźniak Krzysztof Kostałkowicz Piotr Kuśka 6 czerwca 2006 1 Spis treści 1 Wprowadzenie 4 1.1 Cel.......................................... 4 1.2 Zakres........................................
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Instrukcja. Systemu Obsługi Praktyk -Moduł Student UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE
UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE Centrum Kształcenia i Obsługi Studiów Biuro Spraw Studenckich Instrukcja Systemu Obsługi Praktyk -Moduł Student Aktualizacja z dnia 30.05.2016 Spis treści
Instrukcja do modułu Kontroli Zarządczej (KZ)
Instrukcja do modułu Kontroli Zarządczej (KZ) www.budzet-zadaniowy.com 1 Spis treści I Kontrola Zarządcza... 3 II Ogólna budowa KZ... 4 III Tworzenie nowych dokumentów KZ opcja Nowy... 5 IV Otwieranie
EXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Zakres wykładu. Podstawy InŜynierii Oprogramowania
Zakres wykładu Pojęcia podstawowe InŜynierii Oprogramowania Proces wytwarzania oprogramowania Artefakty procesu wytwarzania i ich modele Jakość oprogramowania Literatura: [1] Sacha K., InŜynieria oprogramowania,
Galileo - encyklopedia internetowa Plan testów
Galileo - encyklopedia internetowa Plan testów Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Matek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel..........................................
Instrukcja do programu Przypominacz 1.5
Instrukcja do programu Przypominacz 1.5 Program Przypominacz 1.5 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do prowadzenia tzw. miękkiej windykacji poprzez wysyłanie kontrahentom
Analityk i współczesna analiza
Analityk i współczesna analiza 1. Motywacje 2. Analitycy w IBM RUP 3. Kompetencje analityka według IIBA BABOK Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
1. Rejestracja 2. Logowanie 3. Zgłaszanie nowego wniosku projektowego
1. Rejestracja Dostęp do wniosku projektowego możliwy jest jedynie dla zarejestrowanych użytkowników. Aby zostać zarejestrowanym należy wypełnić formularz dostępny na stronie www.polskapomoc.gov.pl, a
Portal Personelu Medycznego. 2010 Global Services Sp. z o.o.
Portal Personelu Medycznego 2 Portal Personelu Medycznego Spis treści Rozdział I Wprowadzenie 3 Rozdział II Konfiguracja 4 Rozdział III Aktywacja 5 Rozdział IV Opis aplikacji 7 Rozdział V Obsługa okien
Instrukcja użytkownika
Instrukcja użytkownika Systemu MEWA 2.0 w ramach Regionalnego Programu Operacyjnego Województwa Mazowieckiego 2014-2020 dla wnioskodawców/beneficjentów 1. Wstęp System MEWA 2.0 jest narzędziem przeznaczonym
Instrukcja obsługi dla Wnioskodawcy
Internetowy System Wniosków Instrukcja obsługi dla Wnioskodawcy. Wstęp Instrukcja opisuje sposób działania panelu Wnioskodawcy będącego częścią Internetowego Systemu Wniosków. System dostępny jest pod
Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Ewidencja Opłat za Korzystanie ze Środowiska
Ewidencja Opłat za Korzystanie ze Środowiska Instrukcja obsługi 1 Spis treści 1. Logowanie do systemu 2. Ustawienia 2.1.Ustawienia firmy 2.2.Instalacje a) Zarządzanie instalacjami b) Pozwolenia c) Urządzenia/Procesy
Zarządzanie działem serwisu przy wykorzystaniu aplikacji Vario
Zarządzanie działem serwisu przy wykorzystaniu aplikacji Vario rejestracja i obsługa zleceń montażowych rejestracja i obsługa zleceń serwisowych rejestracja i planowanie przeglądów serwisowych rejestracja
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania
Instrukcja Użytkownika (Nauczyciel Akademicki) Akademickiego Systemu Archiwizacji Prac
Instrukcja Użytkownika (Nauczyciel Akademicki) Akademickiego Systemu Archiwizacji Prac Akademicki System Archiwizacji Prac (ASAP) to nowoczesne, elektroniczne archiwum prac dyplomowych zintegrowane z systemem
Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Deduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
Instrukcja modułu BKD - Wykonawca
Instrukcja modułu BKD - Wykonawca 1 Autor Izabela Kaniewska Projekt Platforma zakupowa GPP Manager Wioleta Tymorek Data utworzony 2014-04-28 Data modyfikacji 2014-12-03 19:34:00 Wersja 1.0 Ilość stron
SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki
Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework Edyta Tomalik Grzegorz Ziemiecki 1 Nokia Siemens Networks 2013 Tradycyjne podejście analityk programista tester implementacja
Dokumentacja smsapi wersja 1.4
Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację
Archiwum Prac Dyplomowych
Archiwum Prac Dyplomowych instrukcja dla promotorów prac Spis treści 1. Informacje wstępne... 2 1.1. Logowanie... 2 1.2. Poruszanie się po serwisie... 2 2. Archiwizacja pracy w APD zadania promotora pracy
Instrukcja Użytkownika (Studenta) Systemu Obsługującego Lokalne Archiwum Dokumentów
Instrukcja Użytkownika (Studenta) Systemu Obsługującego Lokalne Archiwum Dokumentów Szkoła Główna Handlowa 1/15 System Obsługujący Lokalne Archiwum Dokumentów (SOLAD) jest programem służącym do wprowadzania,
Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
Forex PitCalculator INSTRUKCJA UŻYTKOWNIKA
Forex PitCalculator Forex PitCalculator jest aplikacją służącą do obliczania podatku należnego z tytułu osiągniętych na rynku walutowym zysków. Jest to pierwsze tego typu oprogramowanie na polskim rynku.
Wyjaśnienia z dnia r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego.
Wyjaśnienia z dnia 14.09.2017r. do treści Zapytania Ofertowego nr ZO/3/FO/POPC/2017 w odpowiedzi na pytania dotyczące Zapytania ofertowego. 1. Czy dobrze rozumiem, że administracja portalem jest po Państwa
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA
KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA Przygotował: mgr inż. Radosław Adamus Wprowadzenie Podstawą każdego projektu, którego celem jest budowa oprogramowania są wymagania, czyli warunki,
OfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Produkt pośredni nr 3: Opis produktu pośredniego -aplikacji Life Design 50+
Załącznik nr 12 do Opisu Produktu Finalnego Produkt pośredni nr 3: Opis produktu pośredniego -aplikacji Life Design 50+ 1 Life Design 50+, to aplikacja multimedialna dostępna poprzez internetową stronę
Instrukcja Użytkownika Nauczyciel Akademicki Akademickiego Systemu Archiwizacji Prac w Uniwersytecie Papieskim Jana Pawła II w Krakowie
Instrukcja Użytkownika Nauczyciel Akademicki Akademickiego Systemu Archiwizacji Prac w Uniwersytecie Papieskim Jana Pawła II w Krakowie V. 01. 25.03.14 Akademicki System Archiwizacji Prac (ASAP) to elektroniczne
Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie
Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie
Aby skorzystać z wyżej wymienionych funkcji zaloguj się na swoje konto w e-dok zgodnie z opisanymi poniżej 7 krokami:
Drogi Kliencie, Możesz teraz dodatkowo, poza telefonem na naszą Infolinię, samodzielnie, za pomocą Internetu, załatwić następujące sprawy: Sprawdzić najbliższe planowane terminy dostaw, Zapoznać się oraz
3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM
\ 3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S FAX SYSTEM SPIS TREŚCI 1. LOGOWANIE DO APLIKACJI... 3 2. WYGLĄD OKNA... 4 3. SKRZYNKA ODBIORCZA... 5 3.1. SKRZYNKA ODBIORCZA - Objaśnienie kolumn:...
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Skrócona instrukcja. DriveConfigurator Konfigurator produktu firmy SEW-EURODRIVE
Technika napędowa \ Automatyzacja napędów \ Integracja systemowa \ Usługi Skrócona instrukcja DriveConfigurator Konfigurator produktu firmy SEW-EURODRIVE Wydanie 11/2014 20089333/PL SEW-EURODRIVE Driving
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
IIIIIIIIIIIIIIIMMIMMIII
IIIIIIIIIIIIIIIMMIMMIII O programie Program Itelix itender Manager przeznaczony jest do zarządzania zapytaniami ofertowymi przesyłanymi za pomocą poczty elektronicznej przez firmy korzystające z systemu
Instrukcja do programu Przypominacz 1.6
Instrukcja do programu Przypominacz 1.6 Program Przypominacz 1.6 pozwala w prosty sposób wykorzystać dane z systemu sprzedaży Subiekt GT do prowadzenia tzw. miękkiej windykacji poprzez wysyłanie kontrahentom
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy
OMNITRACKER Wersja testowa. Szybki przewodnik instalacji
OMNITRACKER Wersja testowa Szybki przewodnik instalacji 1 Krok 1:Rejestracja pobrania (jeżeli nie wykonana dotychczas) Proszę dokonać rejestracji na stronieomninet (www.omnitracker.com) pod Contact. Po
Skrócona instrukcja pracy z Generatorem Wniosków
Skrócona instrukcja pracy z Generatorem Wniosków I. OGÓLNA OBSŁUGA GENERATORA WNIOSKÓW Rozpoczynanie pracy z generatorem przez nowych użytkowników Aby skorzystać z Generatora Wniosków należy posiadać konto
timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje
timetrack Przewodnik Użytkownika timetrack jest łatwą w obsłudze aplikacją, stworzoną do rejestracji czasu. Pozwala ona na zapisywanie czasu spędzonego z klientami oraz podczas pracy nad projektami i zadaniami
SEO.341-4/06 Gryfino, dnia 27 czerwca 2006r.
projekt e-gryfino I wdrożenie rozwiązań społeczeństwa informacyjnego w Gminie GRYFINO Projekt współfinansowany przez Unię Europejską w ramach Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego działanie
Lekkie metodyki. tworzenia oprogramowania
Lekkie metodyki tworzenia oprogramowania Programowanie zwinne ( Agile software development) grupa metodyk wytwarzania oprogramowania opartego o programowanie iteracyjne (model przyrostowy). Wymagania oraz
Wdrożenie technologii procesowej IBM BPM w EFL
Wdrożenie technologii procesowej IBM BPM w EFL Marcin Naliwajko Z-ca dyrektora Departamentu Technologii Dominik Lisowski Starszy Architekt Systemów IT Grupy EFL WebSphere Message Broker 2008 r. Wdrożenie
Podręcznik użytkownika Publikujący aplikacji Wykaz2
Podręcznik użytkownika Publikujący aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK
KLUCZ ODPOWIEDZI Część DODATEK 8.1 9.4 PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB Na podstawie: Syllabus REQB Certified Professional for Requirements Engineering, Advanced Level, Requirements
Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI
KARTA PRZEDMIOTU przedmiotu Stopień studiów i forma Rodzaj przedmiotu Grupa kursów Zaawansowane techniki analizy systemowej oparte na modelowaniu warsztaty Studia podyplomowe Obowiązkowy NIE Wykład Ćwiczenia
MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia 2010. Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska
MiASI Modelowanie systemów biznesowych Piotr Fulmański Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska 7 stycznia 2010 Spis treści 1 Czym jest system biznesowy? Po co model bizensowy? Czym