INOPSYNTEZATOR
KKBM Corporation
Jakub Kobylański
Jakub Koniuszenny
Mateusz Biesiada
Szymon Majrański
Spis treści
1. Standardy firmy 3
1.1 Standardy ogólne 3
1.2 Standardy szczegółowe 3
1.3 Odstępstwa od standardów 3
2. Opis procedury testowania 4
3. Opis pracy QA 4
4. Opis klas 5
5. Dokumentacja fazy strategicznej 6
5.1 Określenie wymagań projektu 6
5.1.1 Funkcjonalne 6
5.1.2 Niefunkcjonalne 6
5.2 Cele przedsięwzięcia z punktu widzenia klienta 6
5.3 Zakres i kontekst przedsięwzięcia 7
5.4 Możliwości rozwiązań 7
5.5 Oszacowanie kosztów 8
5.6 Harmonogram Przedsięwzięcia 8
6. Raport błędów 9
7. Dokumentacja Użytkownika 10
1. Standardy firmy KKBM Corporation
1.1 Standardy ogólne:
Języki programowania: C++
Kompilator: BCB
Środowisko programistyczne: Borland C++ Builder 6 Enterprise
projekt uznawany jest za zakończony po zaakceptowaniu go przez klienta
Biblioteka dla GUI (interfejs użytkownika): VLC (Visual Component Library)
Dodatkowe biblioteki: Pakiet komponentów Indy 9 do obsługi połączeń sieciowych
Klient aktualizuje stronę w oparciu o nasz framework
Dodatkowe języki: PHP, SQL
Baza danych: MySQL
1.2 Standardy szczegółowe:
Pliki obowiązkowo muszą posiadać charakterystyczne podpis autora
Nie używa się funkcji typu „GOTO”
Każdorazowa modyfikacja kodu musi być udokumentowana
Nazwy klas zaczynamy od dużej litery "C", klasy Borlandowe zaczynają się od "T"
Nazwy zmiennych piszemy z małych liter
Nazwy stałe zapisujemy z dużych liter
Zmienne prywatne: podkreślnik przed nazwa
Zmienne w parametrach metod: podkreślnik po nazwie
Nazwy wskaznikow: podkreslnik, mala litera p, nazwa z duzej litery, np. _pWskaznik
Używamy biblioteki STL
Nie używamy zmiennych globalnych
każda klasa w innym pliku
Ikony programu tworzymy w programie: icon workshop
1.3. Odstępstwa od standardów
Każdorazowo kiedy programista będzie chciał odejść od standardów opisanych powyżej ma obowiązek skonsultować się z przełożonym w celu uzyskania pozwolenia tudzież odmowy. Uwzględniane będą tylko przypadki kiedy takie odstępstwo pozwoli na zwiększenie efektywności pracy programu lub nie uda się tego wykonać w inny prosty sposób.
2. Opis procedury testowania
Wyróżniamy trzy rodzaje testów wykonywanych podczas prac nad oprogramowaniem:
Testy modułów - na etapie implementacji
Testy systemu - kontrola działalności modułów w całości
Testy akceptacji -Program jest testowany przez klienta
Dopuszczalne są trzy rodzaje błędów według skali od 1 do 3 gdzie 1 oznacza błąd mało znaczący, a 3 błąd krytyczny.
Zadaniem testera jest wypełnienie tabeli błędów, która znajduje się w rozdziale 6. Raport błędów.
Obowiązkiem testera jest sprawdzenie wszystkich wymagań funkcjonalnych i czy program działa zgodnie z instrukcją użytkownika.
3. Opis pracy QA
QA odnosi się do procesów planowania i produkcji aby zapewnić produktowi oczekiwany poziom jakości. Sprawdza on jakość napisanego kodu, ale przede wszystkim skupia się na funkcjonalności i wygodzie użytkowania programu.
sprawdza zgodność kodu ze standardami
sporządza oraz uaktualnia listę klas
odpowiada za aktualność dokumentacji postępów
uzupełnia raport QA
4. Opis klas
Bazy danych
class CConnection
obsługa połączenia z bazą danych
class CSender : public CConnection
wysyła dane do serwera poprzez protokoły FTP i HTTP, zawiera w sobie metody wirtualne
class CIndex : public CSender
obsługa strony głównej
class CNews : public CSender
obsługa aktualności
class CGallery : public CSender
obsługa galerii
class CMail : public CSender
obsługa poczty
Syntezator, nagrywanie I rozpoznawanie tekstu
class CStream
operacje wejścia i wyjścia na na strumieniach tekstowych i plikach
class CSyntezator : public CStream
obsługa syntezatora
class CRecording : public CStream
obsługa nagrywania dźwięku
class COcr : public COcr
obsługa rozpoznawania tekstu
Zakładki
class CPage
informacje o jednej zakładce
class CPageList
kontener przechowujący zakładki
class CPages
operacje na zakładkach
class CManager : public CPages
manager zakładek i programu
Zapis ustawień program
class CXml
obsługa format XML
class CSettings : public CXml
zapisz / odczyt ustawień program
Interfejs użytkownika
class TForm (klasa wbudowana w bibliotekę VCL)
class TFrmSyntezator : public TForm
główna forma aplikacji
class TFrmPomocnik : public TForm
formularz pomocnika
class TFrmAddPage : public TForm
dodawanie zakładek
class TFrmPageOptions : public TForm
opcje zakładek
class TFrmViewOptions : public TForm
opcje widoku
class TFrmRecordingOptions : public TForm
opcje nagrywania
class TFrmPlugins : public TForm
opcje pluginów
class TFrmProgramOptions : public TForm
opcje programu
class TFrmOtherOptions : public TForm
inne opcje
class TFrmServerOptions : public TForm
opcje serwera WWW
class TFrmDatabase : public TForm
obcje serwera baz danych
class TFrmHelp : public TForm
opcje okna pomocy
class TFrmAbout : public TForm
okno „O programie”
5. Dokumentacja fazy strategicznej
5.1. Określenie wymagań projektu
Podstawą do określenia wymagań jest szereg rozmów z klientem i osobami dla których program będzie realizowany.
5.1.1 Funkcjonalne:
Wprowadzanie informacji do bazy danych.
Synteza odczytu wpisywanego tekstu.
Operacja przetwarzania danych na serwerze
Powiększanie tekstów i grafik
5.1.2 Niefunkcjonalne:
Ograniczenie powiększania obrazu.
Sprecyzowanie dla jednego typu baz danych: MySQL dla potrzeb internetowych.
Strony internetowe pisane w języku PHP.
Praca programu na odpowiednim sprzęcie.
5.2. Cele przedsięwzięcia z punktu widzenia klienta
Program wspomagający pracę osób niedowidzących.
Program służy do wpisywania informacji do bazy danych.
Program zawiera ułatwienia dostępu wspomagające pracę osób niedowidzących.
Program służy do pracy na stanowisku wyposażonym w jeden lub dwa monitory.
Łatwość obsługi programu.
5.3. Zakres i kontekst przedsięwzięcia
Obsługa stanowiska wyposażonego w jeden lub dwa (zalecane) monitory.
Odczytywanie tekstu wyświetlanego na ekranie za pomocą syntezatora mowy.
Powiększanie wybranego elementu okna.
Wprowadzanie informacji tekstowych do baz danych.
Komunikacja programu z serwerem internetowym.
Obsługa komunikatów z błędami.
5.4. Możliwości rozwiązań
Interfejs programu jest odpowiednio powiększony. W oknie głównym będącym głównym narzędziem pracy użytkownika znajduje się aplikacja do wprowadzania danych, przyciski służące do zmiany rozmiaru interfejsu, a także panel aplikacji odpowiedzialny za obsługę błędów.
Drugi monitor może być dotykowy. Aplikacja umożliwia obsługę monitora dotykowego.
Syntezator mowy użyty do odczytywania tekstu to napisany na podstawie bibliotek zakupionych od producenta oprogramowania INONA przez naszą firmę. Działa jako program zintegrowany ze środowiskiem programu. Dane do niego przekazywane są przez wtyczkę stworzoną na potrzeby projektu.
5.5. Oszacowanie kosztów
Sprzęt: 10000 PLN
Wyjazdy 1000 PLN
Zakup narzędzi: 3000 PLN
Nakład pracy (ocena przez analogię): 30000 PLN
5.6. Harmonogram przedsięwzięcia
|
Luty |
Marzec |
Kwiecień |
Maj |
Czerwiec |
Lipiec |
||||||||||||||||||
Zebranie wymagań |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Budowa prototypu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Opracowanie wymagań |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Analiza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Projekt GUI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Projekt połączeń programowych |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Implementacja |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Testy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Wdrożenie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dokumentacja |
|
|
6. Raport błędów
Zadaniem testera jest sprawdzać wszystkie funkcje programu zgodnie z procedurą, a wszelkie błędy dokumentować wg wzoru:
Raport błędów
Lp |
Data |
Osoba testująca |
Wersja |
Błąd |
Rodzaj błędu |
Kto naprawił błąd |
Uwagi |
1 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
…………………………
Podpis
7. Dokumentacja użytkownika
Wymagania:
Procesor: 500 MHz
Pamięć RAM: 256 MB
Wolne miejsce na HDD: 40 MB
System operacyjny: Windows 2000/XP/Vista
Instalacja programu
Plik setup.exe rozpoczyna instalację programu. W pierwszym oknie widzimy licencję programu. Po zaakceptowaniu licencji wybieramy ścieżkę. Następnie wybieramy skróty, które chcemy aby pojawiły się w naszym systemie. Przycisk dalej rozpoczyna instalację. Po zakończeniu instalacji klikamy przycisk „Zakończ”. Program jest już gotowy do użycia. (instalator nie jest uwzględniony w częściowej implementacji)
Strona główna
(zakładka „Strona główna” nie jest uwzględniona w częściowej implementacji)
Aktualności
Dział Aktualności pozwala wprowadzić zmiany w dziale strony internetowej, w której umieszczono skrypt. Program pozwala syntezować wpisany tekst, w prosty sposób powiększać tekst oraz pozwoli łatwo dostać się do okna Pomocnika.
Pobieranie danych
Przycisk „Pobierz dane” pozwala na pobranie danych z serwera bazy danych. Następnie na liście wyświetlane są dane dotyczące pobranych informacji. W pierwszej kolumnie znajduje się id informacji, w drugiej data, a w trzeciej jej treść. Kliknięcie na poszczególne wiersze powoduje aktywację przycisku „Usuń”. Dwukrotne kliknięcie uaktywnia przyciski „Usuń” i „Edytuj”.
Dodawanie aktualności
Klikamy na ikonę „Nowy” widoczną po prawej stronie kalendarza. Aktywne staje się pole tekstowe, które wypełniamy treścią. Przycisk z ikoną „Otwórz” pozwala wczytać informacje z pliku.
W kalendarzu wybieramy datę. Kliknięcie na nazwę miesiąca lub na przyciski ze strzałkami w lewo i w prawo pozwala wybrać miesiąc. Kliknięcie na rok zmienia - rok.
Po wypełnieniu pola tekstowego i wybraniu daty klikamy przycisk „Dodaj”. Po chwili pole tekstowe staje się nieaktywne co oznacza że dane są już na serwerze.
Edytowanie aktualności
Klikamy przycisk „Pobierz dane”. Po chwili na liście powinny pojawić się informacje z aktualnościami. Klikamy podwójnie na żądanym przez nas wierszu. Pole tekstowe staje się aktywne i można już edytować tekst. Następnie klikamy przycisk „Edytuj”. Dane powinny znaleźć się na serwerze.
Usuwanie aktualności
Klikamy przycisk „Pobierz dane”. Po chwili na liście powinny pojawić się informacje z aktualnościami. Zaznaczamy wiersz lub klikamy na niego podwójnie. Następnie klikamy przycisk „Usuń”. Z listy znika wybrany wiersz. Nie ma go także na serwerze.
Zmiana rozmiaru czcionki
Przyciski „Powiększ” i „Pomniejsz” znajdujące się pod kalendarzem pozwalają szybko zmienić rozmiar czcionki w polu tekstowym. Zmiana czcionki w polu tekstowym nie spowoduje zmiany czcionki na stronie internetowej.
Synteza tekstu z poziomu głównego okna programu
Program pozwala przeczytać wpisany tekst z poziomu okna głównego programu / zakładki bez otwierania okna Pomocnika. Kliknięcie przycisku „Syntezuj” powoduje rozpoczęcie czytania tekstu znajdującego się w polu tekstowym. Przycisk „Pauza” wstrzymuje czytanie i je wznawia, przycisk „Stop” zatrzymuje czytanie. Wciśnięcie przycisku „Syntezator” otwiera okno Pomocnika, w którym mamy więcej opcji syntezatora.
Galeria
(zakładka „Galeria” nie jest uwzględniona w częściowej implementacji)
Poczta
(zakładka „Poczta” nie jest uwzględniona w częściowej implementacji)
Pomocnik
Pomocnik jest dodatkowym oknem programu, który ułatwia pracę zwłaszcza osobom niedowidzącym. Okno może działać na tym samym monitorze lub na dodatkowym. Okno Pomocnika może być dodatkowo obsługiwane przez monitor dotykowy.
Otwieranie okna pomocnika
Okno Pomocnika można otworzyć z każdej zakładki poprzez kliknięcie odpowiedniego przycisku. Z menu „Widok” można wybrać opcję „Pokaż okno Pomocnika”. Okno Pomocnika można otworzyć także za pomocą skrótu Ctrl + P.
Syntezator
Po kliknięciu przycisku „Syntezator” na odpowiedniej zakładce tekst znajdujący się w polu tekstowym na tej zakładce wysyłany jest do okna syntezatora w Pomocniku. Do dyspozycji mamy przyciski:
Syntezuj - synteza tekstu
Pauza - wstrzymanie i wznowienie czytania
Stop - zatrzymanie czytania
Ustawienia - ustawienia syntezatora
Słownik - pozwala ustawić dodatkowe opcje czytania
Lektor - wybór lektora
Nagrywanie
Dzięki opcji nagrywania mamy możliwość nagrania dźwięku, zapisania go, odsłuchania a także próby zapisania słów do pliku. Rozpoznany tekst jest przekazywany do okna syntezatora.
Rozpoznawanie i przetwarzanie tekstu
W oknie Pomocnika mamy możliwość wybrania plików typu PDF, JPEG, PNG, BMP a następnie rozpoznania tekstu. Rozpoznany tekst możemy syntezować lub zapisać do pliku.
Dokumentacja INOPSYNTEZATOR
2