Dokumentacja INOPSYNTEZATOR
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.
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.
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
1. Bazy danych
· class CConnectionobsługa połączenia z bazą danych
· class CSender : public CConnectionwysyła dane do serwera poprzez protokoły FTP i HTTP, zawiera w sobie metody wirtualne
· class CIndex : public CSenderobsługa strony głównej
· class CNews : public CSenderobsługa aktualności
· class CGallery : public CSenderobsługa galerii
· class CMail : public CSenderobsługa poczty
2. Syntezator, nagrywanie I rozpoznawanie tekstu
· class CStreamoperacje wejścia i wyjścia na na strumieniach tekstowych i plikach
· class CSyntezator : public CStreamobsługa syntezatora
· class CRecording : public CStreamobsługa nagrywania dźwięku
· class COcr : public COcrobsługa rozpoznawania tekstu
3. Zakładki
· class CPageinformacje o jednej zakładce
· class CPageListkontener przechowujący zakładki
· class CPagesoperacje na zakładkach
· class CManager : public CPagesmanager zakładek i programu
4. Zapis ustawień program
· class CXmlobsługa format XML
· class CSettings : public CXmlzapisz / odczyt ustawień program
5. Interfejs użytkownika
· class TForm (klasa wbudowana w bibliotekę VCL)
· class TFrmSyntezator : public TFormgłówna forma aplikacji
· class TFrmPomocnik : public TFormformularz pomocnika
· class TFrmAddPage : public TFormdodawanie zakładek
· class TFrmPageOptions : public TFormopcje zakładek
· class TFrmViewOptions : public TFormopcje widoku
· class TFrmRecordingOptions : public TFormopcje nagrywania
· class TFrmPlugins : public TFormopcje pluginów
· class TFrmProgramOptions : public TFormopcje programu
· class TFrmOtherOptions : public TForminne opcje
· class TFrmServerOptions : public TFormopcje serwera WWW
· class TFrmDatabase : public TFormobcje serwera baz danych
· class TFrmHelp : public TFormopcje okna pomocy
· class TFrmAbout : public TFormokno „O programie”
jejkop