Streszczenie rozprawy doktorskiej

Transkrypt

Streszczenie rozprawy doktorskiej
Politechnika Poznańska
Wydział Informatyki
Automatyczne generowanie instrukcji obsługi dla
aplikacji internetowych
Bartosz Alchimowicz
Streszczenie rozprawy doktorskiej
Promotor:
Promotor pomocniczy:
dr hab. inż. Jerzy Nawrocki
dr inż. Mirosław Ochodek
Poznań, 2015
Spis treści
1
Wprowadzenie
1
2
Model jakości COCA dla dokumentacji użytkownika
3
2.1
Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Założenia do modelu jakości . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3
Model jakości COCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3.1
Ocena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3.2
Profil jakości dla instrukcji obsługi . . . . . . . . . . . . . . . . .
5
2.4
Empiryczna ocena operowalności . . . . . . . . . . . . . . . . . . . . . .
6
2.5
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3
4
Automatyczne wyjaśnienie składni pól w aplikacjach internetowych
10
3.1
Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2
Opis problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3
Generowanie opisów słownych . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4
Generowanie przykładów . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5
Ocena eksperymentalna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Ponowne użycie artefaktów do automatycznego generowania instrukcji
15
obsługi
4.1
Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2
Zawartość wygenerowanej instrukcji obsługi . . . . . . . . . . . . . . . . 16
4.2.1
Komponenty instrukcji obsługi . . . . . . . . . . . . . . . . . . . 16
4.2.2
Warianty instrukcji obsługi . . . . . . . . . . . . . . . . . . . . . . 17
4.2.3
Analiza kompletności . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3
Uniwersalne artefakty w projektach programistycznych . . . . . . . . . 18
4.4
Generowanie instrukcji obsługi . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5
Naiwna instrukcja obsługi . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I
II
4.6
Wymagania dotyczace
˛ środowiska pracy . . . . . . . . . . . . . . . . . . 20
4.7
Przykłady użycia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8
Wst˛epna ocena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.9
5
4.8.1
Badania wst˛epne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8.2
Ocena empiryczna . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Podsumowanie
Bibliografia
25
27
Rozdział 1
Wprowadzenie
Instrukcje obsługi sa˛ jednym z artefaktów powstajacych
˛
podczas projektów programistycznych. Ich celem jest “opisanie, wyjaśnianie oraz poinstruowanie jak należy
poprawnie używać oprogramowania” [17, 19]. Cel ten osiaga
˛ si˛e poprzez stworzenie
dokumentacji dla ludzi pełniacych
˛
specyficzne role podczas korzystania z aplikacji
(np. instrukcja obsługi może zawierać rozdziały dedykowane różnym użytkownikom,
np. rozdział dla głównego ksi˛egowego czy kierownika magazynu, itd.).
Stworzenie wysokiej jakości dokumentacji jest kosztownym i czasochłonnym zadaniem [24, 40]. Wg Jonesa na każdy oszacowany punkt funkcyjny konieczne jest
napisanie 0.425 strony dokumentu [24], podczas gdy w materiałach opracowanych
przez SUN Technical Publications mowa jest o 3-5 godzin potrzebnych na stworzenie
jednej strony instrukcji [40]. Niestety, powszechna presja czasu i dażenie
˛
do minimalizacji kosztów umniejsza zadania inne niż rozwój kodu aplikacji. Sytuacja jest
dodatkowo utrudniona przez niskie ponowne użycie wcześniej napisanych tekstów.
Wg badań Jonesa tylko 15% dokumentacji może być ponownie użyta, podczas gdy powtórne użycie kodów szacuje si˛e na ok 36% (w zależności od j˛ezyka programowania)
[40].
Niska jakość instrukcji obsługi jest przyczyna˛ cz˛estego niezadowolenia użytkowników aplikacji. Irytacja klientów nie jest jedynym problemem, braki w instrukcjach
moga˛ przyczynić si˛e również do strat finansowych. Np. brak instrukcji lub jej niska jakość może spowodować, że firma b˛edzie zmuszona do zorganizowania dodatkowych
szkoleń. Ponadto pracownik, który nie jest w stanie sam rozwiazać
˛
problem najprawdopodobniej b˛edzie zmuszony do szukania pomocy gdzie indziej. W rezultacie może
przeszkodzić innym pracownikom w ich obowiazkach,
˛
a tym samym zmniejszy produktywność firmy. Podobny problem może zaistnieć kiedy dost˛epna funkcjonalność
oprogramowania nie jest wystarczajaco
˛ objaśniona, np. kiedy użytkownik nie jest
ostrzeżony o konsekwencjach użycia pewnych poleceń.
1
Wprowadzenie
2
Niespodziewane straty nie sa˛ ograniczone tylko do klientów. Użytkownik końcowy
cz˛esto prosi o pomoc producenta produktu, co wpływa na zwi˛ekszenie kosztów obsługi klienta. Co wi˛ecej, opisanie w instrukcji funkcjonalności, która nie jest dost˛epna
w oprogramowaniu, może być zgłoszona jako bład
˛ w aplikacji. Wszystko to może
wpłynać
˛ negatywnie na budżet producenta oraz na opini˛e odnośnie produktu.
Aby podnieść jakość instrukcji obsługi postawiono nast˛epujace
˛ pytanie:
P YTANIE 1. Czy jest możliwym wygenerowanie instrukcji obsługi dla aplikacji internetowych, których jakość przypominałaby teksty tworzone przez człowieka?
Termin instrukcja obsługi odnosi si˛e do różnego typu dokumentów, dlatego zdecydowano si˛e ograniczyć badania poprzez zdefiniowanie nast˛epujacego
˛
założenia:
Z AŁO ŻENIE 1. Instrukcja obsługi jest oceniona z punktu widzenia użytkownika końcowego.
W pracy zdecydowano skupić si˛e na użytkownikach końcowych, gdyż zdaja˛ si˛e
oni najwi˛eksza˛ grupa˛ osób korzystajacych
˛
z aplikacji. Ludzie ci cz˛esto posiadaja˛ ograniczona˛ wiedz˛e lub doświadczenie komputerowe, dlatego też dobrze napisany tekst
wydaje si˛e być korzystny zarówno dla nich, jak i dla producentów oprogramowania.
Współczesne aplikacje internetowe używaja˛ formularzy (b˛edacych
˛
zbiorem pól)
jako sposobu wprowadzenia danych od użytkownika. Oczekuje si˛e, iż użytkownik wpisze dane (tekst) w określone pole. Niektóre z pól posiadaja˛ skomplikowana˛ składni˛e,
która powinna być odpowiednio wyjaśniona użytkownikowi (np. w HTML5 istnieje
atrybut nazywany “tytuł”, który zawiera tekst wyświetlany użytkownikom końcowym).
“Objaśnienia pól” opisuja˛ jak wyglada
˛ składnia danych wejściowych.
Z AŁO ŻENIE 2. Dokumentacja użytkownika zawiera instrukcj˛e obsługi i objaśnienia
pól.
Model jakości jest potrzebny aby porównać jakość dwóch instrukcji obsługi, dlatego postawiono nast˛epujace
˛ pytania:
P YTANIE 2. Które kryteria oceny powinny być brane pod uwag˛e podczas analizy
jakości instrukcji obsługi?
P YTANIE 3. Jaka jest jakość przeci˛etnej komercyjnej instrukcji obsługi?
P YTANIE 4. Jakie elementy powinny być opisane w instrukcji obsługi?
W pracy wzi˛eto pod uwag˛e także problemy j˛ezykowe:
Z AŁO ŻENIE 3. Praca skupia si˛e na generowaniu w j˛ezyku angielskim, jednakże kwestie wieloj˛ezyczności sa˛ również rozważane (szczególnie dla j˛ezyka polskiego).
Rozdział 2
Model jakości COCA dla
dokumentacji użytkownika
2.1 Wprowadzenie
Instrukcja obsługi o dobrej jakości może przynieść korzyści zarówno producentom
oprogramowania jak i użytkownikom. Według Fishera [11], projekt programistyczny
można nazwać udanym jeśli, program działa zgodnie z oczekiwaniami oraz użytkownicy sa˛ zadowoleni. Z punktu widzenia użytkownika końcowego oczekiwane działanie
programu powinno być opisane w instrukcji obsługi. Stad
˛ też, z punktu widzenia
Fishera, wybrakowana instrukcja (np. taka, która jest niespójna z oprogramowaniem)
ma efekt podobny do wadliwego oprogramowania (niezgodnego ze specyfikacja)
˛ —
obie sytuacje prowadza˛ do frustracji użytkownika, co zmniejsza jego zadowolenie z
programu. Dodatkowo, Pedraz-Delhaes i inni [34] podkreślaja,
˛ że użytkownicy na
podstawie dostarczonej dokumentacji oceniaja˛ zarówno produkt, jak i producenta.
Według danych zebranych przez Spencera [39], dobrej jakości instrukcja obsługi
może zmniejszyć liczb˛e rozmów telefonicznych działu obsługi klienta z 641 do 59 w
przeciagu
˛ 5-miesi˛ecy (w 2008 średni koszt pojedynczej rozmowy z działem obsługi
klienta wynosił $32 [26]).
Niestety użytkownicy końcowi cz˛esto sa˛ niezadowoleni z jakości instrukcji. Narzekaja˛ na skomplikowany j˛ezyk, nudne opisy, nieaktualne lub bezużyteczne informacje
[28, 29]. Co wi˛ecej, niektórzy użytkownicy czuja˛ si˛e sfrustrowani używajac
˛ oprogramowania [13].
Tak wi˛ec dobrej jakości instrukcja obsługi jest potrzebna. Stad
˛ też pojawia si˛e pytanie co w tym kontekście oznacza dobra jakość oraz jakiego rodzaju charakterystyki
powinny być rozważane przy ocenianiu jakości instrukcji.
3
2.2. Założenia do modelu jakości
4
2.2 Założenia do modelu jakości
Według Standardu ISO 25000:2005 [15], model jakości jest to zbiór powiazanych
˛
ze
soba˛ charakterystyk, które to stanowia˛ podstaw˛e do opracowania wymagań jakościowych i oceny jakości.
Model jakości opisany w niniejszej pracy zorientowany jest na dokumentacj˛e
użytkownika, rozumianej jako dokumentacj˛e systemu dla użytkowników, zawierajacej
˛
opis systemu oraz procedur jego użycia do uzyskania zamierzonego rezultatu [19].
Poniżej przedstawiono założenia dotyczace
˛ modelu jakości:
Z AŁO ŻENIE 1. Zakłada si˛e, iż dokumentacja użytkownika jest przedstawiona w formie statycznej (np. pliku PDF).
Z AŁO ŻENIE 2. Zakłada si˛e, iż instrukcja obsługi jest oceniona z punktu widzenia
użytkownika końcowego.
Z AŁO ŻENIE 3. Model jakości dla dokumentacji użytkownika może zostać ograniczony
do external quality oraz quality-in-use.
Z AŁO ŻENIE 4. Dokumentacja użytkownika ma wspierać użytkownika w wykonywaniu zadań biznesowych.
Z AŁO ŻENIE 5. Dobry model jakości dla dokumentacji użytkownika powinien być
ortogonalny.
Z AŁO ŻENIE 6. Dobry model jakości dla dokumentacji użytkownika powinien być
kompletny z punktu widzenia użytkownika końcowego.
2.3 Model jakości COCA
Model jakości COCA prezentuje punkt widzenia użytkownika końcowego odnośnie
jakości instrukcji obsługi. Proponowany model zawiera cztery charakterystyki jakości:
Completeness (kompletność), Operability (operowalność), Correctness (poprawność)
i Appearance (wyglad).
˛
Cechy te sa˛ zdefiniowane poniżej:
D EFINICJA 1. Kompletność jest to stopień, w którym dokumentacja użytkownika
dostarcza wszystkie informacje potrzebne użytkownikowi końcowemu do użycia opisanego oprogramowania.
D EFINICJA 2. Operowalność sensu stricto (Operowalność w ścisłym znaczeniu) określa
stopień w jakim dokumentacja użytkownika posiada atrybuty, które to pozwalaja˛
2.3. Model jakości COCA
5
UC: Ocena instrukcji obsługi
Scenariusz główny:
1. Lider przegladu
˛ tworzy, na polecenie Osoby decyzyjnej, Evaluation Mandate.
Tworzy również Evaluation Forms .
2. Eksperci oceniaja˛ dokumentacj˛e użytkownika z punktu widzenia charakterystyk jakości im przypisanych (np. Kompletność i Poprawność) a także
wypełniaja˛ Evaluation Forms.
3. Lider przegladu
˛ otrzymuje Evaluation Forms.
4. Potencjalni użytkownicy oceniaja˛ dokumentacj˛e użytkownika pod katem
˛
cech jakości im przypisanych (np. Operowalność i Wyglad)
˛ i uzupełniaja˛
Evaluation Forms.
5. Lider przegladu
˛ gromadzi Evaluation Forms, analizuje zabrane informacje
i tworzy Evaluation Report .
Rozszerzenia:
3.A. Ocena Ekspertów jest negatywna.
3.A.1. Przejdź do punktu 5.
Rysunek 2.1: Procedury oceny dokumentacji użytkownika
użyć ja˛ w sposób prosty oraz ułatwiaja˛ zdobywanie wiedzy zawartej w dokumentacji
użytkownika.
D EFINICJA 3. Poprawność jest to stopień w jakim opisy zawarte w dokumentacji
użytkownika sa˛ poprawne.
D EFINICJA 4. Wyglad
˛ jest to stopień w którym informacje zawarte w dokumentacji
użytkownika sa˛ przedstawione w estetyczny sposób.
2.3.1 Ocena
Czynności potrzebne do oceny dokumentacji użytkownika sa˛ przedstawione (w formie przypadku użycia [7]) na Rysunku 2.1.
2.3.2 Profil jakości dla instrukcji obsługi
Aby zdecydować czy można zaprezentować użytkownikom końcowym dokumentacj˛e
użytkownika zaleca si˛e porównanie danej dokumentacji użytkownika z innymi do-
6
2.4. Empiryczna ocena operowalności
Tablica 2.1: Lista ocenionych instrukcji obsługi (strony sa˛ liczone bez okładki i spisu
treści; ostatnia kolumna przedstawia liczb˛e Ekspertów i Potencjalnych użytkowników
uczestniczacych
˛
w ewaluacji)
Nazwa
Plagiat.pl – Instrukcja użytkownika indywidualnego
Podstawy obsługi Dziekanatu.XP
Sekretariat Optivum – Podr˛ecznik użytkownika programu
Instrukcja obsługi Platformy nSzkoła – Panel Ucznia
Sekretariat DDJ 6.8
LangSystem 4.2.5 – Dokumentacja użytkownika
School Manager – Podr˛ecznik użytkownika
Instrukcja obsługi aplikacji HERMES 2012
Dziennik elektroniczny e-oceny
Liczba Eksperci/
stron Użytkownicy
13
3/16
19
3/17
25
3/17
16
3/16
21
3/16
22
3/17
27
3/17
21
3/16
23
3/16
kumentacjami opracowanymi przez dana˛ organizacj˛e lub innymi dokumentacjami
dost˛epnymi na rynku. Zamiast porównywać dokumenty r˛ecznie jedno po drugim,
proponuje si˛e opracowanie profilu jakościowego, który to prezentuje uśrednione
wartości.
W celu sprawdzenie zaproponowanego podejścia, przeprowadzono badanie, którego cel był nast˛epujacy:
˛
Analiza zestawu instrukcji obsługi w celu stworzenia profilu jakości z
punktu widzenia użytkowników końcowych i w kontekście w którym rol˛e
użytkowników końcowych przej˛eli studenci a rol˛e Ekspertów wykładowcy
i doktoranci.
W celu opracowania profilu jakości poddano ocenie 9 instrukcji obsługi (patrz
Tabela 2.1). Każda z charakterystyk została oceniona poprzez udzielenie odpowiedzi
na pytania przyporzadkowane
˛
do charakterystyk (patrz Tabela 2.2). Na każde z pytań
uczestnicy mogli wybrać jedna˛ z nast˛epujacych
˛
odpowiedzi: Wcale (N), Słabo (w),
trudno powiedzieć (?), wystarczajaco
˛ (g), bardzo dobrze (VG). Przykładowy profil
dla instrukcji obsługi opisujacych
˛
oprogramowanie używane w szkolnictwie został
przedstawiony w Tabeli 2.3.
2.4 Empiryczna ocena operowalności
Aby ocenić instrukcje obsługi eksperymentalnie można użyć metod˛e Browser Evaluation Test [42]. Metoda ta została stworzona do oceniania jakości przegladarek
˛
nagrań spotkań. Podczas oceny jakości, każdemu uczestnikowi przedstawiona jest
2.4. Empiryczna ocena operowalności
7
Tablica 2.2: Przykładowe pytania dla metody COCA oraz ich przyporzadkownie
˛
do
charakterystyk
Pytanie
Kompletność
• W jakim stopniu dokumentacja użytkownika pokrywa cała˛ funkcjonalność
systemu z wymaganym poziomem szczegółowości?
• W jakim stopniu dokumentacja użytkownika dostarcza informacje pomocne w podj˛eciu decyzji czy system odpowiedna potrzeb potencjalnych
użytkowników?
• W jakim stopniu dokumentacja użytkownika zawiera informacje o tym jak
z niej korzystać w sposób skuteczny i efektywny?
Operowalność
• W jakim stopniu dokumentacja użytkownika jest łatwa w użyciu i pomocna
podczas obsługi systemu udokumentowanego przez nia?
˛
Poprawność
• W jakim stopniu dokumentacja użytkownika dostarcza poprawne opisy z
wymaganym poziomem szczegółowości?
Wyglad
˛
• W jakim stopniu informacje zawarte w dokumentacji użytkownika prezentowane sa˛ w estetyczny sposób?
lista dopełniajacych
˛
si˛e twierdzeń (jedno prawdziwe i jedno fałszywe). Zadaniem
uczestnika jest wskazanie prawdziwego twierdzenia (np. jedno z nich może być Susan
mówi, że stołek nie jest drogi, a drugie Susan mówi, że stołek jest drogi [42]). Poprzez
proste zgadywanie można odgadnać
˛ około 50% poprawnych odpowiedzi, co nie jest
akceptowalne z naszego punktu widzenia. Aby temu zaradzić, opracowano wariant
BET nastawiony na ocen˛e instrukcji obsługi i nazwano go Documentation Evaluation
Test (DET) — metoda ta ogranicza możliwość odgadni˛ecia poprawnych odpowiedzi
do około 25% poprzez zadanie 4 pytań. Procedura DET jest zaprezentowana na Rysunku 2.2. W celu sprawdzenie opracowanej metody przeprowadzono eksperyment,
którego cel był nast˛epujacy:
˛
Analiza instrukcji obsługi w celu oceny jakości z uwaga˛ skierowana˛ na
Operowalność, z punktu widzenia użytkowników końcowych w kontekście
doktorantów odgrywajacych
˛
rol˛e Ekspertów i studentów jako Potencjalnych użytkowników.
8
2.5. Wnioski
Tablica 2.3: Przykładowy profil jakości
Id Pytanie
N
w
?
g
VG
Kompletność
odpowiedzialny: Ekspert
3.7%
18.5%
29.6% 44.4% 3.7%
Q1 W jakim stopniu dokumentacja użytkownika
pokrywa cała˛ funkcjonalność systemu z wymaganym poziomem szczegółowości?
Q2 W jakim stopniu dokumentacja użytkownika 0.0% 3.7% 11.1% 55.6% 29.6%
dostarcza informacje pomocne w podj˛eciu decyzji czy system odpowiedna potrzeb potencjalnych użytkowników?
odp.: Potencjalny użytkownik
Q3 W jakim stopniu dokumentacja użytkownika 6.1% 9.5% 7.4% 50.0% 27.0%
zawiera informacje o tym jak z niej korzystać
w sposób skuteczny i efektywny?
Operowalność
odp.: Potencjalny użytkownik
Q4 W jakim stopniu dokumentacja użytkownika 1.4% 6.8% 14.9% 48.0% 29.1%
jest łatwa w użyciu i pomocna podczas obsługi
systemu udokumentowanego przez nia?
˛
Poprawność
odp.: Ekspert
0.0%
18.5%
25.9%
44.4% 11.1%
Q5 W jakim stopniu dokumentacja użytkownika
dostarcza poprawne opisy z wymaganym poziomem szczegółowości?
Wyglad
˛
odp.: Potencjalny użytkownik
Q6 W jakim stopniu informacje zawarte w doku- 1.4% 12.2% 12.2% 49.3% 25.0%
mentacji użytkownika prezentowane sa˛ w estetyczny sposób?
Eksperyment został zaprojektowany podobnie do tego przedstawionego w cz˛eści
2.3.2. Przeanalizowano pi˛eć instrukcji obsług, których wyniki pokazano w Tabeli
2.4. Wszystkie instrukcje zostały wcześniej sprawdzone przez Ekspertów pod katem
˛
Kompletności i Poprawności (rola ta była odegrana przez nauczycieli akademickich i
doktorantów).
2.5 Wnioski
Przedstawiono model oceny jakości COCA. Zawiera on tylko cztery charakterystyki:
kompletność, operowalność, poprawność i wyglad.
˛ Model jest uznany za ortogonalny i kompletny. Opracowano profil jakości poprzez ocen˛e dziewi˛eciu instrukcji
obsług dost˛epnych na polskim rynku. Chociaż ocena dotyczy oprogramowania komercyjnego, ich jakość nie jest zbyt wysoka. Na przykład, tylko w 48.1% Ekspertów
oceniło instrukcje jako dobre lub bardzo dobre. W przypadku metody DET, Eksperci
9
2.5. Wnioski
UC: Documentation Evaluation Test
Scenariusz główny:
1. Eksperci indywidualnie czytaja˛ instrukcje obsługi, tworza˛ Pytania i przekazuja˛ je Liderowi przegladu.
˛
˛ czyści Pytania przekazane od Ekspertów (np. usuwa dupli2. Lider przegladu
katy, poprawia pisowni˛e, itd.).
3. Lider przegladu
˛ przygotowuje Test poprzez losowy wybór Pytań.
4. Potencjalni użytkownicy, aby ocenić Operowalność, wypełniaja˛ Test korzystajac
˛ z instrukcji obsługi.
5. Lider przegladu
˛ pisze Raport dotyczacy
˛ instrukcji obsługi.
Rozszerzenia:
˛ dochodzi do wniosku, że liczba Pytań jest niewystarcza3.A. Lider przegladu
jaca.
˛
˛ prosi dodatkowego Eksperta o wykonanie kroku 1.
3.A.1. Lider przegladu
Rysunek 2.2: Procedura oceny metoda˛ DET
tworza˛ 1.5 pytania na stron˛e, a procent poprawnych odpowiedzi udzielonych przez
Potencjalnych użytkowników wynosi od 77% do 87%.
Tablica 2.4: Wyniki oceny metoda˛ DET
Instrukcja
obsługi
Plagiat.pl
Dziekanat.XP
Sekretariat Optivum
LangSystem
Hermes
Suma
Liczba
Liczba
uczestników stron
16
17
17
17
16
83
Średni
Liczba Średni procent
czas
Pytań poprawnych
odpowiedzi [min]
odpowiedzi
13
39
29
82.97%
19
40
28
86.97%
25
61
30
76.47%
22
52
30
81.76%
21
52
28
77.01%
100
244
145
Rozdział 3
Automatyczne wyjaśnienie składni
pól w aplikacjach internetowych
3.1 Wprowadzenie
Aplikacje internetowe cz˛esto wymagaja˛ wprowadzenia tekstu (ciagu
˛ znaków) w pola
formularzy. Niestety, składnia tych pól cz˛esto nie jest przedstawiona. Nie jest to
problem dla typowych ciagów
˛
znakowych, jak np. nazwa użytkownika czy wiek.
Istnieja˛ jednak pola, które stanowia˛ wyzwanie dla użytkownika końcowego, jak np.
ISBN, ISSN. Aby pomóc użytkownikom można umieścić opisy składni pól w aplikacji
lub w instrukcji obsługi. Jednakże złożone pola nie pojawiaja˛ si˛e cz˛esto i zdarza si˛e,
iż ich opisy sa˛ pomijane, co w konsekwencji pozostawia użytkowników bez pomocy.
Rozwiazaniem
˛
tego problemu może być automatyczna generacja objaśniania pola na
podstawie informacji dost˛epnych w kodzie źródłowym.
Niniejszy rozdział rozważa możliwość generowania objaśnienia pola na podstawie
wyrażenia regularnego. Praca ta rozszerza poprzednie badania prowadzone przez
Alchimowicza i Nawrockiego [3], które to skupiały si˛e na graficznej reprezentacji
wyrażeń.
3.2 Opis problemu
Niniejszy rozdział dotyczy nast˛epujacego
˛
problemu badawczego:
P ROBLEM 1. Biorac
˛ pod uwag˛e opis pola składajacego
˛
si˛e z jego nazwy i składni
opisanej przy pomocy wyrażenia regularnego, wygeneruj opis objaśniajacy
˛ składni˛e
pola. Wygenerowane objaśnienie powinno być tak samo pomocne jak to napisane
przez człowieka.
10
11
3.3. Generowanie opisów słownych
VAT is described by the following diagram:
VAT consists of 3 digits, a hyphen (-), two Ingredients and three digits.
An Ingredient consists of two digits and a hyphen (-).
Example
948-93-00-158
195-19-75-984
793-28-87-441
563-328
23987-58-87-441
Correct?
Yes
Yes
Yes
No (absence of Header)
No (too long)
Rysunek 3.1: Przykład 3-cz˛eściowego opisu
Dodatkowo postawiono nast˛epujace
˛ wymagania:
W YMAGANIE 1. Wygenerowany opis powinien być dost˛epny w wielu j˛ezykach.
U ZASADNIENIE . J˛ezyk angielski jest bardzo popularnym j˛ezykiem, ale wiele aplikacji
internetowych nadal jest używanych przez ludzi preferujacych
˛
j˛ezyk rodzimy. Dlatego
też pomocne byłoby, aby generator wspierał wiele j˛ezyków. Obecna wersja wspiera
j˛ezyk angielski i polski.
Z AŁO ŻENIE 1. Wygenerowane objaśnienie powinno zawierać opis słowny, graficzna˛
reprezentacj˛e wyrażenia regularnego (oparta˛ na koncepcji diagramów składni [3])
oraz zestaw przykładów (z poprawnymi i niepoprawnymi danymi wejściowymi).
W dalszej cz˛eści pracy ten typ objaśnienia nazwany b˛edzie 3-cz˛eściowym opisem.
U ZASADNIENIE . Istotność założeń została potwierdzona poprzez empiryczna˛ ocen˛e
prezentowanych metod (patrz Rozdział 3.5). Jednakże, dalsze badania b˛eda˛ konieczne, aby sprawdzić ważność każdej z trzech cz˛eści opisu.
Na przykład, dla pola VAT, którego składnia jest opisywana przez nast˛epujace
˛
wyrażenie:
VAT = [0-9]{3}-([0-9]{2}-){2}[0-9]{3}
możnaby otrzymać opis (w j˛ezyku angielskim) przedstawiony na Rysunku 3.1.
3.3 Generowanie opisów słownych
Generowanie objaśnień pól jest swojego rodzaju tłumaczeniem, a reguły generowania moga˛ być opisana jako syntax-directed definitions [2]. W celu wygenerowania
12
3.3. Generowanie opisów słownych
Zero = " 0 "
PL (): " zero "
;
Rysunek 3.2: Prosta reguła generowania.
Tablica 3.1: Przykładowe reguły sprawdzania czy pole akceptuje pusty ciag
˛ znaków
Wyrażenie regularne r
r1∗
r1?
r1+
r 1 {a, b}
r 1 |..|r n
r 1 ..r n
² in L(r )
true
true
iff ² in L(r 1 )
iff (a = 0) or (² in L(r 1 ))
iff there exists j : 1 ≤ j ≤ n • ² in L(r j )
iff for every j : 1 ≤ j ≤ n • ² in L(r j )
objaśnień, opracowano zestaw reguł. Rysunek 3.2 prezentuje prosta˛ reguł˛e, która˛ dla
cyfry 0 zwraca tekst zero. W pracy użyto zapis bazujacy
˛ na EBNF [14].
Zakłada si˛e, iż opis słowny b˛edzie stworzony przy pomocy szablonów generowania tekstu, które to b˛eda˛ si˛e nakładać (szablon może używać opisu wygenerowanego przez inny szablon). Takie podejście jest niezwykle atrakcyjne, lecz wymaga
uwzgl˛ednienia kontekstu podczas wstawiania danego szablonu. Informacje odnośnie
kontekstu przekazywane sa˛ do owych szablonów poprzez atrybuty gramatyczne.
Cz˛eść wyrażeń regularnych dopuszcza wprowadzenie pustego ciagu.
˛
Może to
prowadzić do wygenerowania opisów podobnych do nie puste opcjonalne ciagi
˛ ...,
co jest poprawnym opisem, ale niekoniecznie łatwym do zrozumienia. Ze wzgl˛edu
na zrozumiałość byłoby lepiej napisać wprost, iż dane pole można pozostawić puste. Na przykład, można by wygenerować objaśnienie w formie Możesz pozostawić
pole puste lub dokonać wpisu. . . . W celu usprawnienia czytelności opisu, wyrażenie
regularne sprawdzane jest pod katem
˛
możliwości przyjmowania pustych ciagów
˛
znaków. Jeżeli dane pole dopuszcza taka˛ sytuacj˛e, to generowany opis jest odpowiednio
usprawniany. Tabela 3.1 prezentuje przykładowych zestaw reguł.
Kolejny problem jest połaczony
˛
ze specyficzna˛ struktura˛ wyrażeń regularnych,
która nie jest odpowiednia dla bezpośredniego przekształcenia w j˛ezyk naturalny.
Na przykład, przy dosłownym przekształceniu nast˛epujacego
˛
wyrażenia regularnego
Seria = [0-9](","[0-9])+ możnaby stworzyć opis Seria jest ciagiem
˛
zawieraja˛
cym cyfr˛e dziesi˛etna,
˛ z nast˛epujacym
˛
po niej ciagiem
˛
składajacym
˛
si˛e z przecinka i
cyfry dziesi˛etnej. Co jest poprawne, ale znów nie do końca łatwe do zrozumienia.
Lepsze było by: Seria jest ciagiem
˛
co najmniej dwóch cyfr dziesi˛etnych oddzielonych
przecinkami. W tym celu wprowadzono idiomatic patterns, które to służa˛ do wykrywania zależności pomi˛edzy składnikami wyrażenia regularnego. Przykład wykrywania
13
3.4. Generowanie przykładów
takiej sytuacji i generowania opisu słownego prezentowany jest poniżej:
C o m p o n e n t 1= > F a c t o r 1 F a c t o r 2
&& F a c t o r 2
=> Primary "+"
&& P r i m a r y
=> "(" Regex ")"
&& R e g e x
=> Component2
&& C o m p o n e n t 2 = > F a c t o r 3 F a c t o r 4
&& F a c t o r 1
== F a c t o r 4
EN ( ): " a sequence of at least two " F a c t o r 1 < 2
" separated with " F a c t o r 3 < 2
;
Niektóre z wyrażeń regularnych sa˛ zbyt skomplikowane, by objaśnić je na jednym
diagramie lub opisać jednym zdaniem. Byłoby łatwiej, gdyby opis został rozbity na
kilka cz˛eści, np.
Index = [0 -9]+(\ +[0 -9]+)+
może zostać przepisane na
Number = [0 -9]+
Gap = \ +
Index = Number ( Gap Number )+
W ten sposób uzyskuje si˛e dodatkowe wyrażenia, które łatwiej opisać.
W niektórych przypadkach może dojść do wygenerowania nieczytelnych opisów.
W odniesieniu do nich, zdecydowaliśmy si˛e zastosować rozwiazanie
˛
podobne do
miecza Aleksandra, tzn. poprzez stworzenie i utrzymanie “czarnej listy” wyrażeń zbyt
trudnych do objaśnienia przy pomocy poprzedniego podejścia i dostarczyć dla nich
gotowy zestaw opisów.
3.4 Generowanie przykładów
Każde objaśnienie pola powinno być wzbogacone zbiorem przykładowych ciagów
˛
znakowych zawierajacy
˛ poprawne i niepoprawne wpisy. Ponadto, każdy niepoprawny
przykład powinien być uzupełniony opisem dlaczego został on uznany za bł˛edny
(Rysunek 3.1). Stad
˛ też pojawia si˛e nast˛epujacy
˛ problem:
P ROBLEM 2. Jak wygenerować przykłady niepoprawnych ciagów
˛
wejściowych, aby
móc wyjaśnić co jest bł˛edne w przedstawionych danych wejściowych?
W tym celu zaproponowano kontrolowane posiewanie bł˛edów w wyrażeniu regularnym. Proponuje si˛e dwa typy posiewania bł˛edów:
3.5. Ocena eksperymentalna
14
• Usuni˛ecie — pomini˛ecie jednego z czynników w wyrażeniu regularnym,
• Zanieczyszczenie — wstawienie zaburzenia w wyrażeniu regularnym.
Aby mieć pewność, że wygenerowane kontrprzykłady sa˛ odpowiednio dobrane,
każde ze zmodyfikowanych wyrażeń regularnych i stworzonych na ich podstawie
ciagów
˛
znakowych jest sprawdzane pod katem
˛
spełnienia nast˛epujacych
˛
warunków:
• Czy wykracza si˛e poza j˛ezyk opisany przez pierwotne wyrażenie regularne?
• Czy jest to nowy bł˛edny ciag
˛ znaków, który nie został poprzednio wykryty?
3.5 Ocena eksperymentalna
Aby stwierdzić czy wygenerowane opisy sa˛ nie gorsze niż objaśnienia przygotowane
przez ludzi stworzono prototyp narz˛edzia i przeprowadzono kontrolowany eksperyment. W tym celu wybrano pi˛eć wyrażeń regularnych opisujacych
˛
skomplikowane
pola oraz poproszono grup˛e 15 studentów oprogramowania o napisanie objaśnień
do nich. Nast˛epnie wygenerowane i stworzone przez studentów objaśnienia dano
do oceny 207 uczestnikom. Podczas eksperymentu otrzymano około 84% wyników
pozytywnych dla opisów wygenerowanych (procent poprawnie rozpoznanych ciagów
˛
znaków przez uczestników) oraz około 79% dla opisów stworzonych przez człowieka.
3.6 Wnioski
Celem pracy było zbadanie czy jest możliwym automatyczne wygenerowanie 3-cz˛eściowego opisu składni pól o jakości nie gorszej niż opisy stworzone przez człowieka.
Założono, że 3-cz˛eściowy opis powinien składać si˛e z nast˛epujacych
˛
elementów:
opisu słownego, reprezentacji graficznej, oraz zestawu przykładów (pozytywnych i
negatywnych).
Generowanie 3-cz˛eściowego opisu sterowane jest przy pomocy zestawu reguł
zapisanych w specjalnie zaprojektowanym j˛ezyku (DSL), który przypomina syntax-directed definition. Powstałe opisy moga˛ być w wielu jezykach oraz dostosowane do
potrzeb klienta, np. lingwista może dodać nowe opisy lub dodać zasady dla nowego
j˛ezyka.
Każdy opis słowny wzbogacony jest zbiorem przykładów i kontrprzykładów oraz
reprezentacja˛ graficzna.
˛ Aby otrzymać bł˛edny ciag
˛ znakowy, cz˛eść wyrażenia regularnego może być usuni˛eta lub też wyrażenie regularne może być zanieczyszczone w
“kontrolowany” sposób.
Rozdział 4
Ponowne użycie artefaktów do
automatycznego generowania
instrukcji obsługi
4.1 Wprowadzenie
Korzyści płynace
˛ z generowanych dokumentów zostały spostrzeżone przez Reitera
i innych [36]. Według ich badań, automatyczne podejście może zredukować koszty
tworzenia i utrzymania dokumentacji, zapewnić ciagłość
˛
pomi˛edzy produktem a
jego opisem, tworzyć tłumaczenia wieloj˛ezyczne, dostosować złożoność opisu do
wymagań odbiorcy oraz prezentować informacje w różnych formach (np. tekst lub
grafika). Pojawiaja˛ si˛e zatem pytania dotyczace
˛ możliwości oraz ograniczeń w zakresie
generowania instrukcji obsługi dla aplikacji internetowych:
P YTANIE 1. W jakim stopniu możliwe jest wygenerowanie instrukcji obsługi korzystajac
˛ z artefaktów dost˛epnych w projektach programistycznych?
P YTANIE 2. W jakim stopniu instrukcja obsługi wygenerowana na bazie dost˛epnych artefaktów spełnia kryteria stawiane przez model jakości COCA oraz metod˛e
Documentation Evaluation Test (DET)?
U ZASADNIENIE . Instrukcja obsługi (stworzona czy też przez człowieka, czy to przez
program) powinna spełniać wymogi dotyczace
˛ jakości. Do porównania jakości wygenerowanych instrukcji z tymi opracowanymi przez ludzi zdecydowano si˛e użyć
modelu oceny jakości COCA oraz metody DET [4]. Model jakości COCA pozwala na
ocen˛e jakości instrukcji obsługi z punktu widzenia czterech ortogonalnych charakterystyk: kompletności, operowalności, poprawności oraz wygladu.
˛
Metoda DET skupia
si˛e na ocenie operowalności.
15
4.2. Zawartość wygenerowanej instrukcji obsługi
16
Cel niniejszego rozdziału jest nast˛epujacy:
˛
C EL . Opracować zestaw metod umożliwiajacych
˛
generowanie instrukcji obsługi dla
aplikacji internetowych przeznaczonej dla laików komputerowych.
4.2 Zawartość wygenerowanej instrukcji obsługi
W nawiazaniu
˛
do celu pracy zaprezentowanego w Rozdziale 4.1, należy rozpatrzyć
nast˛epujac
˛ a˛ kwesti˛e:
P ROBLEM 1. Jakie informacje powinny być zawarte w instrukcji obsługi i jak powinny
być one zorganizowane?
W odniesieniu do elementów składowych instrukcji obsługi zostanie użyty termin
komponent, zgodnie z terminologia˛ użyta˛ w standardzie ISO/IEC 26514:2008 [17].
4.2.1 Komponenty instrukcji obsługi
Aby określić zawartość i struktur˛e instrukcji obsługi przeprowadzono analiz˛e dost˛epnej literatury i materiałów. Przeglad
˛ literatury uwzgl˛ednił publikacje naukowe (m.in.:
[28, 29, 37]), rekomendacje ([9, 10, 40]) oraz standardy ([6, 17, 18, 20, 21, 22]). Analiza
instrukcji obsługi obejmowała 9 dokumentów użytych do stworzenia profilu jakości
COCA [4].
Zdecydowano, że wygenerowana instrukcja obsługi powinna składać si˛e z nast˛epujacych
˛
komponentów:
• Okładka (ang. Cover)—pozwala czytelnikowi zidentyfikować instrukcj˛e obsługi.
Okładka może zawierać nazw˛e aplikacji i jej wersj˛e, wersj˛e instrukcji obsługi,
nazw˛e firmy, itd. Z tyłu okładki można umieścić Mi˛edzynarodowy Standardowy
Numer Ksiażki
˛ (ISBN) oraz inne użyteczne informacje.
• Spis treści (ang. Table of contents)—przedstawia komponenty wraz z numerami
stron. Moga˛ pojawić si˛e różnego rodzaju spisy, np. spis rozdziałów, wykresów,
tablic, słów kluczowych, itd.
• Ostrzeżenia i uwagi (ang. Warning and Notices)—prezentuje ostrzeżenia, uwagi,
informacje wymagane przez prawo, itd.
• Konwencje (ang. Conventions)—opisuje konwencje użyte w instrukcji obsługi.
• Wprowadzenie (ang. Introduction)—przedstawia koncepcj˛e i ide˛e stojac
˛ a˛ za
aplikacja,
˛ problemy i sposób w jaki oprogramowanie pomaga je rozwiazać.
˛
17
4.2. Zawartość wygenerowanej instrukcji obsługi
Wariant
Naiwna instrukcji obsługi
Kompletna instrukcja obsługi
Komponent
Okładka
Spis treści
Ostrzeżenia i uwagi
Konwencje
Wprowadzenie
Wymagania dotyczace
˛ środowiska pracy
Obiekty informacyjne
Zadania:
Aktorzy
Scenariusze
Przykłady
Słownik
—
—
—
Tablica 4.1: Warianty instrukcji obsługi
• Wymagania dotyczace
˛ środowiska pracy (ang. Requirements concerning operating environment)—prezentuje wymagania, które użytkownik musi spełnić
by korzystać z aplikacji (np. typ i wersj˛e przegladarki).
˛
• Obiekty informacyjne (ang. Information objects)—przedstawia dane, które
użytkownik tworzy, pobiera, uaktualnia oraz kasuje korzystajac
˛ z opisywanej
aplikacji.
• Zadania (ang. Tasks)—prezentuje cele jakie można osiagn
˛ ać
˛ przy pomocy
aplikacji oraz opisuje jak je zrealizować.
• Słownik (ang. Glossary)—wyszczególnia i objaśnia terminy użyte w aplikacji.
4.2.2 Warianty instrukcji obsługi
Używajac
˛ komponentów z Rozdział 4.2.1 można stworzyć wiele odmian instrukcji
obsługi (np. aby dostosować zawartość do odbiorcy). Proponujemy dwie wersje:
kompletna instrukcja obsługi (korzystajac
˛ ze wszystkich elementów w cz˛eści 4.2.1)
oraz naiwna instrukcja obsługi (korzystajac
˛ z jak najmniejszej liczby elementów)—
patrz Tabela 4.1.
4.2.3 Analiza kompletności
W celu sprawdzenia czy informacje wymagane przez czytelnika sa˛ dost˛epne w wygenerowanej instrukcji obsługi przeprowadzono porównanie zaproponowanych komponentów z rekomendacjami standardu ISO/IEC 26514:2008 [17] i wytycznymi przedstawionymi w ksiażce
˛
Read Me First! (wydanej przez Sun Technical Publishing [40]).
Wynik porównania przedstawiony jest w Tabeli 4.2.
Z porównania wynika, że zaproponowane komponenty spełniaja˛ wymagania i
zalecenia wspomnianych opracowań.
18
4.3. Uniwersalne artefakty w projektach programistycznych
ISO/IEC Std 26514:2008 [17]
Komponenty wymagane i/lub zalecane
Identification data
Identification data
Table of contents
Introduction
Information for use of the documentation
Concept of operations
Procedures
Error messages and problem resolution
Glossary
Index
Komponenty opcjonalne
List of illustrations
Related information sources
Sun Technical Publishing [40]
Komponent 4.2.1
Title page
Legal notice
Table of contents
Preface
Preface
Preface
(content of a) Chapter
Index
Cover
Warning and Notices
Table of contents
Introduction
Conventions
Introduction
Tasks (Scenarios)
Tasks (Examples)
Glossary
Table of contents
List of figures
List of tables
List of examples
Chapter table of contents
Appendixes
Glossary
Bibliography
Revision history
Table of contents
Table of contents
Table of contents
Table of contents
—
Glossary
—
—
Tablica 4.2: Porównanie komponentów rekomendowanych w standardzie ISO/IEC
26514:2008 (wersja paper based, instructional mode) [17] i Sun Technical Publishing
(wersja z wieloma rozdziałami) [40], z komponentami dost˛epnymi w kompletnej
instrukcji obsługi (zachowano oryginalne nazewnictwo w j˛ezyku angielskim).
4.3 Uniwersalne artefakty w projektach programistycznych
Zamiast wymagać tworzenia nowych artefaktów proponujemy ponowne użycie już
istniejacych;
˛
stad
˛ też rozpatrujemy nast˛epujac
˛ a˛ kwesti˛e:
P ROBLEM 2. Jakie artefakty sa˛ zazwyczaj dost˛epne w projektach programistycznych?
Bez wzgl˛edu na metodyk˛e używana˛ w projekcie, nast˛epujace
˛ informacje zdaja˛ si˛e
być używane dość cz˛esto [12, 16, 38, 41]:
• Uzasadnienie Biznesowe—prezentuje uzasadnienie dla prowadzenia prac.
• Specyfikacja Wymagań Oprogramowania—opisuje oprogramowanie, które ma
zostać stworzone.
• Testy Akceptacji—zapewniaja,
˛ że oprogramowanie spełnia wymagania klienta
[19, 32].
4.4 Generowanie instrukcji obsługi
W celu wygenerowania instrukcji obsługi należy rozpatrzeć również nast˛epujac
˛ a˛
kwesti˛e:
4.4. Generowanie instrukcji obsługi
19
P ROBLEM 3. Jakiego rodzaju dane sa˛ wymagane aby wygenerować instrukcj˛e obsługi
i gdzie można te dane znaleźć?
W celu skupienia prac badawczych na generowaniu instrukcji obsługi postanowiono postawić nast˛epujace
˛ założenia dotyczace
˛ artefaktów:
Z AŁO ŻENIE 1. Nast˛epujace
˛ artefakty sa˛ dost˛epne: 1) Uzasadnienie biznesowe, 2)
Specyfikacja wymagań, 3) Testy Akceptacyjne, oraz 4) interaktywne makiety lub działajaca
˛ aplikacja.
Artefakty moga˛ si˛e różnić pomi˛edzy firmami i metodykami (np. ze wzgl˛edu na
ich dopasowanie do warunków i zwyczajów panujacych
˛
w firmie), stad
˛ też ważne jest
by określić ich zawartość:
Z AŁO ŻENIE 2. Wymagania funkcjonalne sa˛ zdefiniowane w postacji przypadków
użycia [7] przy pomocy Formal USE Cases notation (FUSE) [27].
U ZASADNIENIE . Wymagania funkcjonalne moga˛ być przedstawione w wielu formach,
np. jako przypadki użycia lub historyjki [1, 8, 23]. Oba zapisy używaja˛ j˛ezyka naturalnego (co pozwala opisać funkcjonalność w łatwy do zrozumienia sposób), jednakże
przypadki użycia zdaja˛ si˛e być lepiej dostosowane do analizy automatycznej [31].
FUSE pozwala na zorganizowanie struktury przypadków użycia.
Z AŁO ŻENIE 3. Testy akceptacyjne definiuje si˛e używajac
˛ Test Description Language
(TDL) [32], a makiety ekranów definiuje si˛e przy użyciu ScreenSpeca [33].
U ZASADNIENIE . ScreenSpec pozwala na zdefiniowanie szkiców ekranów, które można
zwizualizować i umieścić w instrukcji obsługi. Gdy aplikacja jest już dost˛epna szkice
można zastapić
˛
zrzutem ekranu pochodzacym
˛
z rzeczywistej aplikacji. Z testów
akceptacyjnych można pobrać przykładowe dane. Ponadto, TDL łaczy
˛
przypadki
testowe z przypadkami użycia, a to pozwala zobaczyć za co odpowiedzialny jest dany
przypadek testowy.
Z AŁO ŻENIE 4. Wymagania pozafunkcjonalne (NFRs) sa˛ zdefiniowane przy pomocy
Non-functional Requirement Templates (NoRTs) [25], a ograniczenia techniczne przy
pomocy Technical Constraint Templates (TeCTs).
U ZASADNIENIE . Używanie katalogu NoRTs do zdefiniowania NFRs pozwala zwi˛ekszyć
jakość artefaktów. TeCTs używaja˛ takiego samego podejścia.
Aby skupić si˛e na celu przedstawionym w Rozdziale 4.1, założono także:
Z AŁO ŻENIE 5. Wszystkie artefakty sa˛ aktualne oraz sa˛ napisane zgodnie z popularnymi rekomendacjami.
4.5. Naiwna instrukcja obsługi
20
U ZASADNIENIE . Celem pracy jest wygenerowanie instrukcji obsługi, a nie analizowanie jakości informacji zawartych w artefaktach.
Dane z artefaktów użyte sa˛ do konstrukcji bazy danych. Specyficznym rodzajem danych sa˛ szablony, które to organizuja˛ struktur˛e instrukcji obsługi poprzez
zdefiniowanie gdzie należy umieścić dany komponent i co ma si˛e w nim znajdować.
4.5 Naiwna instrukcja obsługi
W tym podejściu informacje dost˛epne w artefaktach kopiowane sa˛ do instrukcji
obsługi bez przetworzenia. Wydaje si˛e naiwnym opierać wyjaśnienia aplikacji głównie
na scenariuszach z przypadków użycia, zwłaszcza że dobrze napisane przypadki nie
maja˛ ani odniesienia do komponentów GUI, ani przykładowych danych. Ta obawa
została potwierdzona w trakcie wst˛epnej oceny.
4.6 Wymagania dotyczace
˛ środowiska pracy
Na podstawie uwag uczestników wst˛epnego eksperymentu (Rozdział 4.5) postanowiono zadać (m.in.) dodatkowe pytania:
P ROBLEM 4. Gdzie można znaleźć adres strony internetowej?
P ROBLEM 5. Gdzie można uzyskać wymagania dotyczace
˛ komputerów użytkowników i informacje na temat ich wykształcenia (wiedza, umiej˛etności, itd)?
Aby podołać tym kwestiom, postanowiono skorzystać z informacji zawartych
w wymaganiach pozafunkcjonalnych i ograniczeniach technicznych. Wymagania
te cz˛esto sa˛ definiowane w j˛ezyku naturalnym, a użycie katalogu Non-Functional
Requirements Templates wraz z Technical Constraint Templates pozwala na łatwe
pozyskanie wymaganych informacji [25].
4.7 Przykłady użycia
Według wst˛epnych badań (patrz Rozdział 4.5) opis zadań powinien być wzbogacony
o przykłady pokazujace
˛ jak osiagn
˛ ać
˛ wymagany cel przy użyciu aplikacji. Według
uczestników badań, dobrym sposobem na to byłaby prezentacja interakcji pomi˛edzy
użytkownikiem a systemem używajac
˛ zrzutów ekranu oraz rzeczywistych danych.
Niniejszy rozdział skupia si˛e na tej kwestii:
21
4.8. Wst˛epna ocena
P ROBLEM 6. Jak można wygenerować opisy prezentujace
˛ interakcj˛e pomi˛edzy użytkownikiem a systemem używajac
˛ zrzutów ekranu, przykładowych danych oraz opisu
słownego?
Testy akceptacyjne zawieraja˛ przykładowe dane (które moga˛ zostać użyte do
uruchomienia aplikacji, aby zebrać zrzuty ekranu), a przypadki użycia opisuja˛ zamierzenia stojace
˛ za czynami użytkownika. Używajac
˛ tych danych można wygenerować
opis prezentujacy
˛ jak użyć aplikacji.
Proces tworzenia przykładów przebiega nast˛epujaco:
˛
1. Analiza zależności (w danych)
2. Wybór przypadków testowych (które posłuża˛ do generowania opisów)
3. Planowanie opisu
4. Analiza aktywności w przypadkach użycia [30, 31]
5. Generowanie opisów
Rysunek 4.1 przedstawia przykładowa˛ reguł˛e generowania, a Rysunek 4.2 jej
wynik.
4.8 Wst˛epna ocena
W celu wyeliminowania potencjalnych słabości przeprowadzono wst˛epna˛ ocen˛e
zaproponowanych metod1 , opracowano prototyp, wygenerowano instrukcj˛e obsługi
oraz przeprowadzono ocen˛e eksperymentalna.
˛
1 Naiwna instrukcja obsługi została oceniona podczas innej oceny
User < SELECT > [ CLICK ] {
The browser should look like this :
{{ $1 . tests [0]. screen [" pre "]| screen }}
Select {{ $1 . ucstep . matter }} by clicking
{{ $1 . tests [0]. component . screen [" pre "]| screen ( ’ inline ’) }}.
}
Rysunek 4.1: Prosta reguła generowania treści
The browser should look like this :
<img >
Select system main page by clicking OPEN .
Rysunek 4.2: Wynik reguły generowania z Rysunku 4.1 (zrzut ekranu został zastapiony
˛
etykieta˛ <img> dla zaoszcz˛edzenia miejsca)
4.9. Wnioski
22
4.8.1 Badania wst˛epne
Badanie zostało przeprowadzone w dwóch etapach. Na poczatku
˛
pierwszego etapu
przygotowano trzy warianty nast˛epujacych
˛
komponentów: Wprowadzenie, Wymagania dotyczace
˛ środowiska pracy, Obiekty informacyjne, oraz Zadania. Nast˛epnie zorganizowano spotkania na których omówiono propozycje. Odbyły si˛e cztery spotkania,
na które zaproszono dwóch programistów (osoby z komercyjnym doświadczeniem)
oraz dwóch laików komputerowych.
Po przeprowadzeniu wszystkich spotkań zaprojektowano nowa˛ wersj˛e każdego z
komponentów i przystapiono
˛
do drugiego etapu. Tym razem zaprezentowano jeden
wariant każdego z komponentów i poproszono uczestników o jego ulepszenie.
4.8.2 Ocena empiryczna
Instrukcja obsługi dla aplikacji Plagiat.pl [35] została wygenerowana i oceniona za
pomoca˛ modelu jakości COCA oraz metody DET [4]. Plagiat.pl jest aplikacja˛ pozwalajac
˛ a˛ na wykrycie plagiatu w różnego rodzaju dokumentach, np. w pracach
magisterskich.
Tuż przed wygenerowaniem instrukcji stworzono wymagane artefakty na podstawie naszego doświadczenia z aplikacja˛ Plagiat.pl.
Wygenerowana instrukcja obsługi została oceniona przez 3 Ekspertów i 16 potencjalnych użytkowników2 . Eksperyment został przeprowadzony zgodnie z procedura˛
zaproponowana˛ przez Alchimowicza i Nawrockiego [4].
Wyniki eksperymentu przedstawiono w Tabelach 4.3 i 4.4. Odpowiedzi dostarczone przez Ekspertów sa˛ zbliżone do odpowiedzi z eksperymentu przeprowadzonego w ramach prac nad modelem jakości COCA. W przypadku metody DET, potencjalni użytkownicy byli w stanie znaleźć 85.13% poprawnych odpowiedzi, co było
lepszym wynikiem niż wersja podstawowa oraz profil jakości (odpowiednio 2.16% i
4.09%).
4.9 Wnioski
Celem pracy było zbadanie możliwości wygenerowania instrukcji obsługi o jakości nie
gorszej niż materiały opracowane przez człowieka. Praca opisuje wst˛epne badania.
Założono, że wygenerowanie instrukcji obsługi opiera si˛e na uzasadnieniu biznesowym, specyfikacji wymagań, testach akceptacyjnych oraz na działajacej
˛ aplikacji (czy
też makietach). Założono również, że specyfikacja wymagań zawiera wymagania
funkcjonalne i poza-funkcjonalne, a także ograniczenia techniczne.
2 Wszyscy zadeklarowali brak znajomości aplikacji.
23
4.9. Wnioski
Tablica 4.3: Ocena jakości instrukcji obsługi dla Plagiat.pl (model jakości COCA).
Id Charakterystyka
Profil
wraz z pytaniem
–
?
+
Kompletność
Q1 W jakim stopniu dokumentacja 22.22% 29.63% 48.15%
użytkownika pokrywa cała˛ funkcjonalność systemu z wymaganym poziomem szczegółowości?
Q2 W jakim stopniu dokumentacja 3.70% 11.11% 85.19%
użytkownika dostarcza informacje pomocne w podj˛eciu decyzji czy system odpowiada potrzebom potencjalnych użytkowników?
Q3 W jakim stopniu dokumentacja
użytkownika zawiera informacje
jak z niej korzystać w sposób
skuteczny i efektywny?
Operowalność
Q4 W jakim stopniu dokumentacja
użytkownika jest łatwa w użyciu
i pomocna podczas obsługi systemu udokumentowanego przez
nia?
˛
Poprawność
Q5 W jakim stopniu dokumentacja użytkownika dostarcza poprawne opisy z wymaganym poziomem szczegółowości?
Wyglad
˛
Q6 W jakim stopniu informacje zawarte w dokumentacji użytkownika prezentowane sa˛ w sposób
estetyczny?
15.60%
R˛ecznie napisana
–
?
+
0.00% 33.33%
0.00%
7.40% 77.00% 25.00%
Wygenerowana
–
?
+
odpowiedzialny: Ekspert
66.67% 0.00% 33.33% 66.67%
0.00% 100.00%
0.00%
0.00% 100.00%
odpowiedzialny: Potencjalny użytkownik
6.25% 68.75% 12.50% 12.50% 75.00%
odpowiedzialny: Potencjalny użytkownik
8.20% 14.90% 77.10% 31.25% 12.50% 56.25% 0.00% 25.00% 75.00%
18.52% 25.93% 55.56%
0.00% 33.33%
66.67%
odpowiedzialny: Ekspert
0.00% 33.33% 66.67%
odpowiedzialny: Potencjalny użytkownik
13.60% 12.20% 74.30% 31.25% 12.50% 56.25% 12.50% 6.25% 81.25%
Tablica 4.4: Porównanie operowalności instrukcji obsługi do aplikacji Plagiat.pl (metoda DET).
Profil
Liczba uczestników
Średni czas wyszukiwania odpowiedzi
Procent poprawnych odpowiedzi
148
49 min
81.04%
Wariant
R˛ecznie napisana
Wygenerowana
16
16
39 min
42 min
82.97%
85.13%
4.9. Wnioski
24
Struktura wygenerowanej instrukcji obsługi opiera si˛e na analizie literatury. Zaproponowano dwa warianty instrukcji obsługi:
• naiwna—która˛ można stworzyć na podstawie informacji zawartych w artefaktach, oraz
• kompletna–która wymaga istniejacych
˛
oraz wygenerowanych elementów (opcja
ta jest zgodna ze standardem ISO 26514:2008 [17] i rekomendacjami Sun Technical Publications [40]).
Instrukcja obsługi dla komercyjnej aplikacji Plagiat.pl została wygenerowania
i oceniona w kontrolowanym eksperymencie przy użyciu modelu jakości COCA oraz
metody DET. Wyniki pokazuja,
˛ że jakość wygenerowanej instrukcji jest nie gorsza
od tej sporzadzonej
˛
przez ludzi. Aby sprawdzić jakość wygenerowanej instrukcji w
innych przypadkach potrzebne sa˛ dodatkowe badania.
Rozdział 5
Podsumowanie
Celem pracy było zbadanie możliwości generowania dokumentacji użytkownika (zawierajacej
˛
instrukcj˛e obsługi wraz z objaśnieniami pól), której jakość nie ust˛epowałaby materiałom opracowanym przez człowieka. Wyniki badań potwierdzaja,
˛ że
istnieje możliwość wygenerowania instrukcji obsługi dla aplikacji internetowych o
jakości nie gorszej niż materiały stworzone przez człowieka.
Z badań można wyciagn
˛ ać
˛ nast˛epujace
˛ wnioski:
W NIOSEK 1. Jakość komercyjnych instrukcji nie jest zbyt wysoka.
Komentarz 1. Żadna z komercyjnych instrukcji użytych do stworzenia profilu jakościowego COCA nie otrzymała 100% odpowiedzi “bardzo dobrych” na którekolwiek z
zadanych pytań (Rozdział 2). 29% uczestników eksperymentu udzieliło odpowiedzi
“bardzo dobre” na pytanie Q4 i była to najwyższa ocena ze wszystkich. Co wi˛ecej, tylko
55% uczestników eksperymentu dało odpowiedź “wystarczajaco”
˛ pytaniu Q2. W przypadku zsumowania odpowiedzi “wystarczajaco”
˛ i “bardzo dobre” najwyżej ocenionym
pytaniem jest Q2 - 85% pozytywnych odpowiedzi. Podczas omawiania metody DET
procent poprawnych odpowiedzi mieścił si˛e pomi˛edzy 77% a 87%, a średnia wartość
wynosiła około 81%.
W NIOSEK 2. Korzystajac
˛ z wyrażeń regularnych możliwe jest stworzenie 3-cz˛eściowego
opisu pola (zawierajacego
˛
opis słowny, diagramy oraz zestaw przykładów), którego
jakość jest nie gorsza od odpowiedników napisanych przez człowieka.
Komentarz 2. Opracowano szereg metod, które pozwalaja˛ na analiz˛e wyrażeń regularnych i stworzenie na ich podstawie łatwych do zrozumienia objaśnień. Zaproponowane metody zostały eksperymentalnie ocenione poprzez sprawdzenie 5 przykładowych
pól używanych w aplikacjach internetowych. W przeprowadzonym eksperymencie
25
Podsumowanie
26
objaśniania pól stworzone przez prototypowe narz˛edzie otrzymało 84% poprawnych
odpowiedzi, podczas gdy objaśnienia napisane przez człowieka 77-78%.
W NIOSEK 3. Możliwym jest wygenerowanie dobrej jakości instrukcji obsługi na podstawie uzasadnienia biznesowego, specyfikacji wymagań (zawierajacej
˛ przypadki użycia), testów akceptacyjnych oraz działajacego
˛
oprogramowania (badź
˛ makiety GUI).
Komentarz 3. Badania, oparte na systemie komercyjnym Plagiat.pl i opracowanym
zestawie metod generowania (Rozdział 4) pokazuja,
˛ że wygenerowana instrukcja nie
ust˛epuje jakościa˛ jej komercyjnemu odpowiednikowi. Wygenerowana instrukcja była
nie gorsza w przypadku wszystkich charakterystyk jakości dla modelu jakości COCA.
Metoda DET także potwierdziła, że wygenerowane instrukcje obsługi sa˛ nie gorsze od
tych napisanych przez człowieka: procent poprawnych odpowiedzi dla wersji wygenerowanej wynosił 85%, podczas gdy dla stworzonej przez człowieka 83%.
W NIOSEK 4. Dokumenty dobrej jakości (takie jak uzasadnienie biznesowe, przypadki
użycia, skrypty do testów akceptacyjnych) moga˛ być użyte do automatycznego generowania instrukcji obsługi, co pozwala na zmniejszenie kosztów produkcji .
Komentarz 4. Zastosowanie wygenerowanej instrukcji obsługi nie jest ograniczone do
celów edukacyjnych. Berry i inni stwierdzili, że instrukcja obsługi może być użyta jako
wymagania dla tworzonego oprogramowania [5]. Tak wi˛ec, wygenerowana instrukcja
obsługi może być użyta jako dodatkowy artefakt użyty do zapewnienia jakości.
Bibliografia
[1]
Steve Adolph and Paul Bramble. Patterns for Effective Use Cases. Addison Wesley, Boston, 2002.
ISBN 978-0201721843.
[2]
Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques,
and Tools. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition, 2006.
ISBN 0321486811.
[3]
Bartosz Alchimowicz and Jerzy Nawrocki. Generating syntax diagrams from regular expressions.
Foundations of Computing and Decision Sciences, 36(2):81–97, 2011.
[4]
Bartosz Alchimowicz and Jerzy Nawrocki. The COCA quality model for user documentation.
Software Quality Journal (not assigned to an issue yet), 2014.
[5]
Daniel M Berry, Khuzaima Daudjee, Jing Dong, Igor Fainchtein, Maria Augusta Nelson, Torsten
Nelson, and Lihua Ou. User’s manual as a requirements specification: case studies. Requirements
Engineering, 9(1):67–82, 2004.
[6]
IEEE-SA Standards Board. IEEE Std 1063-2001, IEEE standard for Software User Documentation.
Institute of Electrical and Electronics Engineers, 2001.
[7]
Alistair Cockburn. Writing Effective Use Cases. Addison-Wesley Longman Publishing Co., Inc.,
Boston, MA, USA, 1st edition, 2000. ISBN 0201702258.
[8]
Mike Cohn. User stories applied: For agile software development. Addison-Wesley Professional,
2004.
[9]
Microsoft Corporation. Microsoft Manual of Style. Microsoft Press Series. Microsoft Press, 4th
edition, 2012. ISBN 9780735648715.
[10] F. DeRespinis, J. Jenkins, International Business Machines Corporation, A. Laird, P. Hayward, and
L.I. McDonald. The IBM Style Guide: Conventions for Writers and Editors. IBM Press Series. IBM
Press/Pearson, 2011. ISBN 9780132101301.
[11] Julie Fisher. User Satisfaction and System Success: considering the development team. Australasian
Journal of Information Systems, 9(1):21–29, 2001. ISSN 1449-8618.
[12] Karl Fogel. Producing open source software: How to run a successful free software project. O’Reilly
Media, Inc., 2005.
[13] Richard Hazlett. Measurement of user frustration: a biologic approach. In CHI ’03 Extended
Abstracts on Human Factors in Computing Systems, CHI EA ’03, pages 734–735, New York, NY, USA,
2003. ACM. ISBN 1-58113-637-4. doi: 10.1145/765891.765958.
[14] ISO/IEC. ISO/IEC 14977:1996 - Information technology – Syntactic metalanguage – Extended BNF.
International Organization for Standardization, Geneva, Switzerland, 1996.
27
28
[15] ISO/IEC. ISO/IEC 25000:2005 - Software engineering – Software product Quality Requirements and
Evaluation (SQuaRE) – Guide to SQuaRE. International Organization for Standardization, Geneva,
Switzerland, 2005.
[16] ISO/IEC. ISO/IEC 12207:2008 - Systems and software engineering – Software life cycle processes.
International Organization for Standardization, Geneva, Switzerland, 2008.
[17] ISO/IEC. ISO/IEC 26514:2008 - Systems and software engineering – Requirements for designers
and developers of user documentation. International Organization for Standardization, Geneva,
Switzerland, 2008.
[18] ISO/IEC. ISO/IEC 26513:2009 - Systems and software engineering – Requirements for testers and
reviewers of user documentation. International Organization for Standardization, Geneva, Switzerland, 2009.
[19] ISO/IEC/IEEE. ISO/IEC/IEEE 24765:2010 - Systems and software engineering – Vocabulary. International Organization for Standardization, Geneva, Switzerland, 2010.
[20] ISO/IEC/IEEE. ISO/IEC 26512:2011 - Systems and software engineering – Requirements for acquirers
and suppliers of user documentation. International Organization for Standardization, Geneva,
Switzerland, 2011.
[21] ISO/IEC/IEEE. ISO/IEC 26511:2012 - Systems and software engineering – Requirements for managers
of user documentation. International Organization for Standardization, Geneva, Switzerland, 2012.
[22] ISO/IEC/IEEE. ISO/IEC 26515:2012 - Systems and software engineering – Developing user documentation in an agile environment. International Organization for Standardization, Geneva,
Switzerland, 2012.
[23] Ivar Jacobson. Concepts for Modeling Large Real Time Systems. Royal Institute of Technology,
Department of Telecommunication Systems-Computer Systems, 1985.
[24] T. Capers Jones. Estimating Software Costs: Bringing Realism to Estimating. McGraw-Hill, Inc.,
New York, NY, USA, 2nd edition, 2007. ISBN 9780071483001.
[25] S. Kopczynska and J. Nawrocki. Using non-functional requirements templates for elicitation: A
case study. In Requirements Patterns (RePa), 2014 IEEE 4th International Workshop on, pages
47–54, Aug 2014.
[26] Mike Markel. Technical Communication. Bedford/St. Martin’s, 2012. ISBN 9780312679484.
[27] Jerzy R. Nawrocki and Łukasz Olek. Use-Cases Engineering with UC Workbench. In Krzysztof
Zielinski and Tomasz Szmuc, editors, Software Engineering: Evolution and Emerging Technologies,
volume 130 of Frontiers in Artificial Intelligence and Applications, pages 319–329. IOS Press, 2005.
ISBN 978-1-58603-559-4.
[28] David G. Novick and Karen Ward. What users say they want in documentation. In Shihong Huang,
Rob Pierce, and John W. Stamey Jr., editors, SIGDOC, pages 84–91. ACM, 2006. ISBN 1-59593-523-1.
[29] David G. Novick and Karen Ward. Why don’t people read the manual? In Shihong Huang, Rob
Pierce, and John W. Stamey Jr., editors, SIGDOC, pages 11–18. ACM, 2006. ISBN 1-59593-523-1.
[30] Mirosław Ochodek and Jerzy Nawrocki. Automatic Transactions Identification in Use Cases. In
Balancing Agility and Formalism in Software Engineering: 2nd IFIP Central and East European
Conference on Software Engineering Techniques CEE-SET 2007, volume 5082 of LNCS, pages 55–68.
Springer Verlag, 2008.
[31] Mirosław Ochodek, Bartosz Alchimowicz, Jakub Jurkiewicz, and Jerzy Nawrocki. Improving the
reliability of transaction identification in use cases. Information and Software Technology, 53(8):
885–897, 2011.
29
[32] Łukasz Olek, Bartosz Alchimowicz, and Jerzy Nawrocki. Acceptance testing of web applications
with test description language. Computer Science, 15(4):459–477, 2014.
[33] Łukasz Olek, Jerzy Nawrocki, and Miroslaw Ochodek. Enhancing Use Cases with Screen Designs.
In Zbigniew Huzar, Radek Kocí, Bertrand Meyer, Bartosz Walter, and Jaroslav Zendulka, editors,
CEE-SET, volume 4980 of Lecture Notes in Computer Science, pages 48–61. Springer, 2008. ISBN
978-3-642-22385-3.
[34] Arancha Pedraz-Delhaes, Muhammad Aljukhadar, and Sylvain Sénécal. The effects of document
language quality on consumer perceptions and intentions. Canadian Journal of Administrative
Sciences/Revue Canadienne des Sciences de l’Administration, 27(4):363–375, 2010.
[35] Plagiat.pl. Instrukcja Użytkownika Internetowego Systemu Antyplagiatowego Plagiat.pl. Plagiat.pl Sp. z o.o., 2012. URL https://www.plagiat.pl/cms_pdf/Plagiat_pl_instrukcja_
uzytkownika_indywidualnego.pdf. [Online; accessed 2 July 2014].
[36] Ehud Reiter, Chris Mellish, and Jon Levine. Automatic Generation of Technical Documentation.
Journal of Applied Artificial Intelligence, 9(3):259–287, 1995.
[37] Marc Rettig. Nobody Reads Documentation. Communications of the ACM, 34(7):19–24, July 1991.
[38] Ken Schwaber. Agile project management with Scrum. Microsoft Press, 2004.
[39] Cathy J. Spencer. A Good User’s Guide Means Fewer Support Calls and Lower Support Costs.
Technical Communication, 42(1):52–55(4), February 1995.
[40] Sun Technical Publications. Read Me First!: A Style Guide for the Computer Industry. Prentice Hall,
3rd edition, 2010. ISBN 9780137058266.
[41] TSO. Managing successful projects with PRINCE2. HM Government – Best management practice.
Stationery Office, 2009. ISBN 9780113310593.
[42] Pierre Wellner, Mike Flynn, Simon Tucker, and Steve Whittaker. A Meeting Browser Evaluation Test.
In CHI ’92: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, New
York, NY, USA, 0 2005. ACM Press. ISBN 1-59593-002-7.

Podobne dokumenty