WOJSKOWA AKADEMIA TECHNICZNA
im. Jarosława Dąbrowskiego
WYDZIAA CYBERNETYKI
Standardy w projektowaniu systemów dialogowych
SPRAWOZDANIE Z PROJEKTU
Temat: Wirtualny dziekanat standard VoiceXML
Autor: ProwadzÄ…cy:
Piotr Stelmach dr inż. Andrzej Wiśniewski
W a r s z a w a 2012
Spis treści
1. Treść zadania ...................................................................................................................... 2
2. Identyfikacja aplikacji ........................................................................................................ 2
2.1 Założenia funkcjonalne i niefunkcjonalne ............................................................... 2
2.2 Scenariusz użytkowania aplikacją przykładowe dialogi ....................................... 3
2.3 Model dialogu w postaci schematu blokowego ....................................................... 6
2.4 Dostęp użytkownika do aplikacji ............................................................................. 7
3. Struktura bazy danych ........................................................................................................ 7
3.1 Tabele....................................................................................................................... 7
3.2 ZarzÄ…dzanie bazÄ… danych ......................................................................................... 8
3.3 Skrypty zarzÄ…dzajÄ…ce bazÄ… danych........................................................................... 8
4. Architektura aplikacji ......................................................................................................... 9
4.1 Schemat strukturalny portalu głosowego ................................................................. 9
4.2 Struktura plików..................................................................................................... 10
5. Opis działania aplikacji .................................................................................................... 10
5.1 Z punktu widzenia użytkownika ............................................................................ 10
5.2 Z punktu widzenia systemu ................................................................................... 11
6. Podpowiedzi w aplikacji .................................................................................................. 18
7. Gramatyka aplikacji ......................................................................................................... 19
8. Opis testowania ................................................................................................................ 21
Podsumowanie ......................................................................................................................... 21
1. Treść zadania
Tematem projektu była aplikacja wirtualny dziekanat. Z założenia aplikacja zawiera
następujące opcje:
·ð użytkownik może zapiać siÄ™ na konsultacje do wybranego wykÅ‚adowcy
·ð użytkownik może sprawdzić swój plan zajęć
·ð użytkownik może sprawdzić dostÄ™pne ogÅ‚oszenia w dziekanacie
2. Identyfikacja aplikacji
2.1 Założenia funkcjonalne i niefunkcjonalne
Założenia funkcjonalne określają co system będzie realizować:
·ð System umożliwia zapisanie siÄ™ na konsultacje
·ð System umożliwia sprawdzenie planu zajęć
·ð System umożliwia sprawdzenie dostÄ™pnych ogÅ‚oszeÅ„ z dziekanatu
Założenia niefunkcjonalne określają m.in. użytą platformę, dostępność serwisu itd , :
·ð Główna część aplikacji jest osadzona na portalu evolution.voxeo.com
·ð Pomocnicze pliki osadzone sÄ… na serwerze lab18.ugu.pl
·ð System może obsÅ‚ugiwać jednoczeÅ›nie wielu klientów
·ð Z systemu można korzystać dziÄ™ki programowi skype bÄ…dz telefonu
komórkowego/stacjonarnego
·ð Co do dostÄ™pnoÅ›ci serwisu trudno powiedzieć gdyż domena voxeo i ugu.pl jest
niezależna od autora projektu
2
2.2 Scenariusz użytkowania aplikacją przykładowe dialogi
·ð Dialog 1
S- System
U- User
S: Welcome to the voice academic system.
If you want subscribe to the consultation, press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
U: press 1
S: You selected consultation.... Please input your pin code to identify your personality.
U: press 345
S: Sorry. Your pin is invalid. Please input valid pin code.
U: press 123
S: In this section you can subscribe to the consultation.
Please give me teacher name, surname and day.
U: I would like subscribe to John Deep in Monday.
S: You subscribed to John Deep in Monday. Do you want exit from application ?
U: Yes
S: (rozłączenie połaczenia)
·ð Dialog 2
S- System
U- User
S: Welcome to the voice academic system.
If you want subscribe to the consultation, press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
U: press 1
S: You selected consultation.... Please input your pin code to identify your personality
U: press 123
S: In this section you can subscribe to the consultation.
Please give me teacher name, surname and day.
U: (użytkownik milczy..)
S: What is teacher name? Available name: John, Jan, Alan.
3
U: John
S: What is teacher surname? Available surname: Kowalsky, Nowak, Deep.
U: Deep
S: What day do you choose ? Available day: monday, tuesday, wednesday, thursday, friday.
U: Monday
S: You subscribed to John Deep in Monday. Do you want exit from application ?
U: Yes
S: (rozłączenie połaczenia)
·ð Dialog 3
S- System
U- User
S: Welcome to the voice academic system.
If you want subscribe to the consultation, press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
U: press 2
S: You selected plan. Give me a day.
U: Monday
S: In Monday you have: history, biology, mathematic. Do you want exit from application ?
U: Yes
S: (rozłączenie połaczenia)
·ð Dialog 4
S- System
U- User
S: Welcome to the voice academic system.
If you want subscribe to the consultation, press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
U: press 3
4
S: You selected advertisment. Available advertisment: finance and exams.
Which advertisment want you hear ?
U: finance
S: Scholarship will be paid May 10, 2012.
Money will be transferred to your indywidual account. Thank you for your patience.
Do you want exit from application ?
U: No
S: Welcome to the voice academic system.
If you want subscribe to the consultation, press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
5
2.3 Model dialogu w postaci schematu blokowego
Welcome to the voice academic system.
REPROMPT
If you want subscribe to the consultation, press 1.
I don't understand. Please
If you want check your plan, press 2.
press one, two or three.
If you want check advertisment, press 3.
[dtmf]
You selected consultation. Please input
your pin code to identify your personality.
You selected advertisment.
[pin]
Which advertisment want you hear ?
You selected plan. Give me a day.
Available advertisment: finance and
exams.
[day]
[advert]
no
Is valid ?
yes
Send query to database
In this section you can subscribe to the
consultation.
Please give me teacher name, surname
and day.
In [day] you have..
What is teacher name? Available name:
John, Jan, Alan.
You have exams:
Scholarship will be paid May 10,
physics, date, twenty-fifth may,
2012. Money will be transferred
hour nine am, room 223 .
[name] to your indyvidual account.
real-time systems, date,
Thank you for your patience.
thirtieth may, hour ten am,
room 240.
What is teacher surname? Available
Przemienna inicjatywa
surname: Kowalsky, Nowak, Deep.
[surname]
What day do you choose ? Available day:
monday, tuesday, wednesday, thursday,
friday.
[day]
You subscribe
to[name][surname] in [day]
Send information to database
Do you want exit
no
from application?
[quit]
yes
Thank you for your phone. Goodbye.
6
2.4 Dostęp użytkownika do aplikacji
Użytkownik ma możliwość dzwonienia z telefonu komórkowego/stacjonarnego bądz przez
program skype.
3. Struktura bazy danych
3.1 Tabele
Aplikacja korzysta z jednej bazy danych o nazwie db596119. Baza ta posiada 2 tabele o
nazwie: plan i consult.
W tabeli plan znajduję się plan zajęć użytkownika na cały tydzień. Poniżej jej zawartość:
Tabela plan
W kolumnie day znajdują się dni szkolne. Natomiast w kolumnie subject przedmioty które
użytkownik ma w ciągu tygodnia.
Następna tabela które jest wykorzystywana w projekcie to tabela consult. W tej tabeli są
zapisywane informacje dotyczące konsultacji. Imie, nazwisko wykładowcy oraz dzień
konsultacji.
7
Tabela consult
3.2 ZarzÄ…dzanie bazÄ… danych
Zarzadzanie bazÄ… danych odbywa siÄ™ przez panel phpMyAdmin. Panel jest bardzo wygodny
w użyciu. Nawet mało doświadczony użytkownik będzie mógł się tu odnalezć.
Poniżej rys. przedstawiający panel phpMyAdmin.
3.3 Skrypty zarzÄ…dzajÄ…ce bazÄ… danych
Na serwerze zewnętrznym lab18.ugu.pl znajdują się następujące pliki:
- consult.php (skrypt odpowiedzialny za zapisanie siÄ™ na konsultacje do wybranego
nauczyciela, zapisuje do bazy imie i nazwisko nauczyciela oraz dzień konsultacji)
- plan.php (skrypt odpowiedzialny za sprawdzenie planu zajęć użytkownika, odczytuje z
bazy danej plan)
- show.php (skrypt wykorzystywany podczas testowania, wywołanie jego pomaga przy
sprawdzaniu poprawności zapisu do bazy)
8
4. Architektura aplikacji
4.1 Schemat strukturalny portalu głosowego
Serwer Voxeo
- root/www/advert.xml
- root/www/consultation.xml
- root/www/exams.xml
- root/www/grammar.xml
- root/www/main.xml
- root/www/plan.xml
- root/www/finance.xml
- root/www/quit.xml
INTERNET
Serwer lab18.ugu.pl
- http://lab18.ugu.pl/consult.php
- http://lab18.ugu.pl/plan.php
- http://lab18.ugu.pl/show.php
Użytkownik Skype
Baza danych:
- consult
Użytkownik telefonu
- plan
Opis poszczególnych elementów:
Na serwerze Voxeo znajdują się pliki takie jak przedstawione na rysunku powyżej.
Głównym plikiem który jest odpowiedzialny za działanie systemu i który jest uruchamiany
jako pierwszy jest plik main.xml
Plikami następnymi pod względem ważności są pliki: consultation.xml , plan.xml,
advert.xml. , grammar.xml. Te pliki są wywoływane z pliku main.xml .
W pliku consultation.xml znajduje siÄ™ kod odpowiedzialny za procedurÄ™ zapisu na
konsultacje.
W pliku plan.xml znajduje się kod który odpowiada za poprawne przedstawienie planu
zajęć dla użytkownika.
W pliku advert.xml znajduję się kod który odpowiada ze poprawne przedstawienie
ogłoszeń z dziekanatu.
W pliku grammar.xml znajduje siÄ™ gramatyka dla przemiennej inicjatywy.
Ostatnie pliki na serwerze Voxeo to finance.xml oraz exams.xml. Pliki te są wywoływane z
pliku advert.xml. Z tych plików użytkownik może dowiedzieć się odpowiednio o stypendiach
oraz egzaminach.
9
Po wybraniu opcji z menu i odsłuchaniu zawartości wykonuje się plik quit.xml który pyta się
czy użytkownik chce wyjść z aplikacji.
Pliki znajdujące się na zewnętrznym serwerze lab18.ugu.pl zostały opisane w
rozdziale 3.3 Skrypty zarzÄ…dzajÄ…ce bazÄ… danych.
4.2 Struktura plików
Poniżej znajduje się schemat plików który pokazuje relację która zachodzi między
plikami. Taka struktura jest zachowana w aplikacji wirtualny dziekanat.
main.xml
plan.xml consultation.xml advert.xml
exams.xml
plan.php finance.xml
grammar.xml consult.php
quit.xml quit.xml quit.xml
quit.xml
5. Opis działania aplikacji
5.1 Z punktu widzenia użytkownika
Osoba chcąca skorzystać z aplikacji w najprostszy sposób może dostać się do niej za
pomocą skype bądz telefonu komórkowego/stacjonarnego. Dzwoniąc na wybrany numer
usłyszy głos automatu który powita w wirtualnym systemie dziekanat a następnie przedstawi
dostępne 3 opcje w sekcji menu.
Jeśli użytkownik wybierze z klawiatury telefonu bądz z klawiatury skype przycisk 1
zostanie przekierowany do sekcji konsultacji. Następnie zostanie poproszony o podanie 3
wartości: imię, nazwisko nauczyciela oraz dzień konsultacji. Zastosowana jest tutaj
przemienna inicjatywa. Użytkownik w tym miejscu może podać różne kombinacje tych trzech
pól oraz podać pełne zdanie. Zostanie również rozpoznane. Po podaniu tych wartości dane
zostaną wysłane do bazy danych. Następnie użytkownik jest pytany czy chcę zakończyć
połączenie czy też nie.
Jeśli użytkownik wybierze przycisk 2 zostanie przekierowany do sekcji plan zajęć. W
tym miejscu uzyska informacje o swoim planie zajęć na cały tydzień. Pierwsze co zrobi
10
system to poprosi użytkownika o podanie dnia tygodnia. Jeśli użytkownik powie bezbłędnie
dostanie informację zwrotną w postaci przedmiotów. Zapytanie zostanie wysłane do bazy
oraz zwrócone z wybranymi przedmiotami. Następnie użytkownik jest pytany czy chcę
zakończyć połączenie czy też nie.
Jeśli użytkownik wybierze przycisk numer 3 zostanie przekierowany do sekcji ogłoszenia
dziekanatu. System wymieni dostępne działy ogłoszeń: finanse i terminy egzaminów. Jeśli
użytkownik powie finanse dostanie wiadomość na temat stypendium. Jeśli użytkownik powie
egzaminy dostanie informacje o swoich egzaminach. Następnie użytkownik jest pytany czy
chcę zakończyć połączenie czy też nie.
5.2 Z punktu widzenia systemu
Podczas gdy użytkownik dzwoni do wirtualnego dziekanatu jest wywoływany tu główny
plik całej aplikacji. Plik z menu nazywa się main.xml Jego struktura jest pokazana poniżej.
11
W zależności od wyboru dzwoniący jest przełączany do pliku consultation.xml lub
plan.xml lub advert.xml Taka struktura w aplikacji pozwoliła na utrzymanie porządku w
plikach oraz na Å‚atwiejsze testowanie.
Jeśli użytkownik wybierze przycisk 1 zostanie przekierowany do sekcji z plikiem
consultation.xml
Struktura tego pliku pokazana jest na rysunku poniżej.
Gdy użytkownik znajdzie się już w tej sekcji dostanie informacje że wybrał konsultacje.
Opcjonalnie jest proszony o weryfikacyjny kod pin który ma wartość 123. Kod został
wprowadzony aby osoba nieuprawniona nie zapisywała danych do bazy. Gdy użytkownik
wpisze poprawny pin zostanie przekierowany do tagu
. Od tego momentu będzie
wykonywać się przemienna inicjatywa.
12
Użytkownik będzie poproszony o podanie trzech wartości : imię i nazwisko nauczyciela oraz
dzień konsultacji. Zbieranie informacji jest pokazane na rysunku poniżej.
W polu field znajduję się indywidualna gramatyka która jest zdefiniowana w pliku
grammar.xml Przemienna inicjatywa polega na podaniu przez użytkownika różnych
odpowiedzi do pytania systemu. Użytkownik może udzielić odpowiedzi w różnej kolejności a
nawet pełnym zdaniem. Poniżej zaprezentowano wycinek kodu który pozwala na udzielenie
odpowiedzi pełnym zdaniem. Kod znajduje się w pliku grammar.xml
Są to tak zwane wypełniacze. Wypełniacze zdefiniowane są dla name, surname i day.
Rezultat tego jest taki że gdy użytkownik powie np. zdanie I would like subscribe to John
Rambo in Monday zostaną wyłapane John Rambo Monday, odpowiednio name, surname i
day.
13
Użytkownik będzie tak długo proszony o podanie wartości aż poda je wszystkie,
odpowiedzialny za to jest tag
Następnie dane pobrane w formularzu zostaną wysłane do bazy danych przez tag .
Plik consult.php odpowiedzialny jest za wykonanie polecenie insert do bazy danych. Poniżej
struktura pliku consult.php
Po wykonaniu polecenie INSERT do bazy danych użytkownik zostaje przekierowany do
pliku quit.xml dzięki tagowi
Poniżej struktura pliku quit.xml
14
Użytkownik jest pytany czy chce opuścić aplikację i tym samy rozłączyć się czy też chce
dalej skorzystać z funkcjonalności portalu dzięki przełączeniu z powrotem do menu
głównego.
Jeśli natomiast użytkownik dzwoniąc do wirtualnego dziekanatu wybierze przycisk 2
zostanie przekierowany do pliku plan.xml
W sekcji tej wykonuje się następujący kod:
15
Fragment kodu gdzie użytkownik jest proszony o podanie dnia został pominięty. W
powyższym kodzie gdy użytkownik powie jakiś dzień to do zmiennej day zostanie on
przypisany. Następnie zostanie wysłany tagiem do bazy danych gdzie obsługuje to
plik plan.php Struktura pliku plan.php została przedstawiona poniżej.
Zapytanie z dniem zostanie zrealizowane za pomocą SELECT. W zależności od podanego
dnia zostanie zwrócony subject. Następnie użytkownik zostanie przekierowany do pliku
quit.xml za pomocÄ… tagu
Jeśli użytkownik zadzwoni do systemu i wybierze przycisk numer 3 zostanie
przekierowany do pliku advert.xml Struktura tego pliku pokazana jest poniżej.
Podczas gdy użytkownik wypowie finance zostanie przekierowany do pliku finance.xml jeśli
zaÅ› powie exams zostanie przekierowany do pliku exams.xml
Zawartość pliku finance.xml :
16
Po wysłuchaniu tej wiadomości zostanie przekierowany znowu do pliku pliku quit.xml który
został już wcześniej opisany.
Zawartość pliku exams.xml :
Po odsłuchaniu wiadomości użytkownik zostanie przekierowany do pliku quit.xml
W tym momencie zostały opisane już wszystkie możliwości aplikacji wirtualny dziekanat.
17
Dodatkowo przy testowaniu sekcji zapis na konsultacje wspomagałem się plikiem show.php
który pokazywał bazę danych z tabeli consult. Przykład poniżej:
6. Podpowiedzi w aplikacji
Podpowiedzi w aplikacji zostały zaprojektowane w taki sposób aby użytkownik nawet
niedoświadczony mógł sobie poradzić bez najmniejszego problemu. Gdy użytkownik powie
coś zle aplikacja natychmiast podpowiada. W tabeli poniżej znajdują się podpowiedzi oraz
pytania zadawane przez system. Po lewej stronie tabeli jest nazwa pliku po prawej zaÅ›
prompty występujące w tym pliku.
main.xml Welcome to the voice academic system.
If you want subscribe to the
consultation,press 1.
If you want check your plan, press 2.
If you want check advertisment, press 3.
consultation.xml You selected consultation.... Please input
your pin code to identify your personality.
In this section you can subscribe to the
consultation. Please give me teacher name,
surname and day.
What is teacher name? Available name:
John, Jan, Alan.
What is teacher surname? Available
surname: Kowalsky, Nowak, Deep.
What day do you choose ? Available day:
monday, tuesday, wednesday, thursday,
friday.
plan.xml You selected plan. Give me a day.
advert.xml You selected advertisment. Available
18
advertisment: finance and exams.
Which advertisment want you hear ?
quite.xml Do you want exit from application?
W aplikacji znajdują się także znaczniku oraz które mówią
odpowiednio o braku danych oraz braku zgodności danych.
W tabeli poniżej znaczniki które znajdują się w plikach.
main.xml I don't understand. Please press one, two or
three.
consultation.xml I can not hear.
Sorry. Your pin is invalid. Please input valid
pin code.
Okay, I'll ask you for information one piece
at a time.
plan.xml I can not hear.
I don't understand. Give me a day.
advert.xml I can not hear.
Available advertisment: finance and exams.
quit.xml I don't understand. Say yes or no.
7. Gramatyka aplikacji
W aplikacji głosowej wirtualny dziekanat znajduję się kilka gramatyk. Zaczynając od
początku pierwsza styczność z gramatyką rozpoczyna się w pliku main.xml
Użytkownik ma do wyboru 3 przyciski: 1, 2 i 3. Następnie w pliku consultation.xml znajduje
się gramatyka która dotyczy przemiennej inicjatywy. Jest zdefiniowana na początku pliku i
ma postać:
W pliku grammar.xml znajdują się różne kombinacje jakie użytkownik może wykonać.
Poniżej część pliku:
19
Użytkownik może powiedzieć kombinację name, surname, day. Może też łączyć parami np.:
name, surname. Dostępna jest też kombinacja surname, name a także name, day. Wszystkie
kombinacje są dostępne w pliku gramatyki grammar.xml
20
W pliku plan.xml jest następna gramatyka typu:
Gramatyka dotyczy dni tygodnia. W pliku advert.xml znajdujÄ™ siÄ™ ostatnia gramatyka :
Gramatyka dotyczy wyboru typu ogłoszeń jakie są dostępne w wirtualny dziekanacie.
Poniżej gramatyka pliku quit.xml :
Użytkownik jest pytany czy chce wyjść z aplikacji czy nie. Dostępne parametry yes/no.
8. Opis testowania
Powiazanie plików w taki sposób dał możliwość łatwego testowania wybranych części
oraz wyszukanie błędów. Każdy plik z rozszerzeniem .xml oprócz gramma.xml może działać
samodzielnie co znacznie ułatwiło napisanie aplikacji wirtualny dziekanat. Stopniowo gdy
części działały były łączone w całość. Dobrze to obrazuje struktura plików aplikacji
pokazanej w rozdziale 4.2
Podczas testowania używany był telefon komórkowy oraz skype. Znacznie lepiej
rozpoznawana była mowa przez telefon komórkowy. Słabiej zaś mowa była rozpoznawana
gdy testowałem przez skype.
Podsumowanie
Realizując projekt wirtualny dziekanat nabyłem umiejętność posługiwania się
językiem vxml. Język ten nie jest trudny do opanowania, posiada bardzo dobrą dokumentację
oraz daje dużo możliwości. Aatwo można łączyć z innymi językami programowania przez co
aplikacja stajÄ™ siÄ™ bardzo dynamiczna. W aplikacji zrealizowanej przeze mnie podczas
projektu wykorzystałem zewnętrzny język php który pośredniczył między aplikacją głosową a
bazÄ… danych.
21
Portal Voxeo na którym były umieszczane pliki .xml oceniam na bardzo dobry.
Posiada funkcję debugowania dzięki temu można zobaczyć gdzie i jakiego typu są błędy.
Przydała mi się ta funkcja podczas łączenia vxml z php gdzie często występowały
nieścisłości.
22
Wyszukiwarka
Podobne podstrony:
sprawozdanie z projektu
Sprawozdanie projekt2
Sprawozdanie z projektu 3
Sprawozdanie KON o projekcie ustawy o broni
sprawozdanie IUM 15 projekt 4 Byczek
Sprawozdanie IUM 15 projekt 1 Byczek
sprawozdanie IUM 15 projekt 1 Byczek
Sprawozdanie IUM 15 projekt Byczek
Projekt 2 Technika obliczen i sposob przedstawienia wynikow w sprawozdaniu
Projekt cz 1 Sprawozdanie
Projekt 1 Sortowanie Sprawozdanie
Sprawozdanie IUM projekt 3 Byczek
więcej podobnych podstron