Wyższa Szkoła Biznesu w Dąbrowie Górniczej Wydział: Informatyczny zamiejscowy w Cieszynie Kierunek studiów: Informatyka Tryb studiów: Stacjonarne Semestr: Trzeci Numer albumu: 24716 Adam Sztuchlik TYTUŁ PROJEKTU: Uniwersalny Przelicznik Projekt pisany pod kierunkiem: Dr Inż. Robert Bucki Cieszyn, 22.01.2014 r.
Spis treści Dokumentacja projektowa...3 Geneza...3 Przegląd istniejących rozwiązań...3 Specyfikacja systemu...3 Schemat działania aplikacji...8 Analiza użytkowników...8 Oprogramowanie, narzędzia, zasoby...8 Testowanie oprogramowania...9 Wymagania sprzętowe...9 Bibliografia...9
Dokumentacja projektowa Geneza Powodem realizacji projektu "Uniwersalny Przelicznik" jest stworzenie programu, który umożliwia szybkie i łatwe przeliczenie walut, jednostek odległości, wag, temperatur, czasu, objętości, prędkości, powierzchni oraz danych. Przegląd istniejących rozwiązań Większość aplikacji tego typu jest rozwiązana w technologiach webowych, są dostępne na stronach internetowych jako aplikacje pisane głównie w języku PHP. Żadne z tych aplikacji nie posiadają tak szerokiego zakresu działania. Aplikacje dostępne w internecie nie oferują aktualizacji kursów walut. Specyfikacja systemu System działa na zasadzie wpisania danej wartości w polu oznacznym jako "Wartość". Następnie z listy należy wybrać odpowiednią jednostkę, tą, z której się chce skorzystać. Wartość jest pobierana z pola tekstowego a następnie przeprowadzane są na niej odpowiednie operacje matematyczne. Wynik zostaje wyświetlony w kilku lub kilkunastu polach tekstowych zależnie od zakładki. Wynik zostaje zaokrąglony domyślnie do 3 liczby po przecinku. Możliwa jest zmiana tej wartości w przedziale od 1 do 14 w ustawieniach programu. Program dzieli się na 9 zakładek: 1. Odległości: - milimetr - centrymetr - decymetr - metr - kilometr - jard - cal - mila - mila morska - stopa 2. Waluty - Polski złoty - Euro - USD - Frank szwajcarski - Funt brytyjski
- Jen japoński - Korona czeska - Dolar australijski - Kuna horwacka - Lew bułgarski - Rubel 3. Wagi - nanogram - mikrogram - miligram - gram - dekagram - kilogram - tona - uncja - kamień - funt 4. Temperatury - Kelwin - Fahrenheit - Celsjusz 5. Czas - milisekunda - sekunda - minuta - godzina - dzień - tydzień - miesiąc - rok 6. Objętość - cm sześcienny - dm sześcienny - hektolitr - metr sześcienny - galon USA - baryłka petro
- stopa sześcienna 7. Prędkość - kilometr na godzinę - mila na godzinę - metr na sekundę - węzeł - mach - prędkość światła 8. Powierzchnia - centymetr kwadratowy - metr kwadratowy - kilometr kwadratowy - ar - hektar - akr - morga - stopa kwadratowa 9. Dane - bit - bajt - kilobajt - megabajt - gigabajt - terabajt - petabajt Jednostki pogrubione oznaczają jednostkę domyślną, która aktywowana jest po każdym pierwszym wyborze zakładki. Program zapamiętuje ostatni wybór użytkownika. Po wyborze jednostki i przełączeniu zakładki i po powrocie do niej wybrana jednostka jest jednostką wybraną wcześniej przez użytkownika. 8 z 9 zakładek opiera się na przeliczaniu jednostek w sposób opisany powyżej, jednakże zakładka waluty działa w inny sposób. Oprócz języka C++ zastosowano tutaj skrypt PHP z wykorzystaniem JSON oraz zapisu kursów walut do bazy MySQL. Skrypt PHP jest uruchamiany co 2 godziny za pomocą mechanizmu CRON JOBS. Skrypt wysyła JSON string z zapytaniem do darmowego API walutowego, które zwraca wynik w postaci liczby zmiennoprzecinkowej, która nastepnie zapisywana jest w bazie danych. Aplikacja podczas uruchamiania się automatycznie łączy się z bazą danych pobierając i uzupełniając dane bezpośrednio w textboxach. Komunikaty potwierdzające połączenie z bazą danych wyłączają się automatycznie po 6 sekundach.
Można je również wyłączyć klikając w napis standardowe wyłączenie okna. Waluty można również zaktualizować przyciskiem lub też przywrócić wartości zapisane na stałe w kodzie. W przypadku braku dostępu do internetu program automatycznie używa wartości domyślnych i powiadamia użytkownika o niepowodzeniu połączenia i o tym, że wartości kursów walut mogą być nieaktualne. Użytkownik może dowolnie modyfikować wartości walut. Wartości bazują się na walucie podstawowej PLN. Przykładowo chcąc zmienić wartość Euro należy wpisać cenę Euro w walucie PLN. Główne okno programu. Kod odpowiedzialny za obsługę większości wszystkich textboxów. Nie pozwala wpisać w textbox wartości innej niż liczba lub jednego przecinka. Dla zakładki temperatur istnieje osobny handler, pozwala on dodatkowo na wpisywanie jednego znaku"-".
Kod PHP odpowiedzialny za aktualizację kursów walut. Program posiada konfigurację zapisującą się do pliku konfiguracyjnego. Można edytować bezpośrednio w menu ustawień. W program wbudowana jest również instrukcja oraz krótka notatka o autorze.
Powiadomienie o poprawnym połączeniu z MySQL. Schemat działania aplikacji Analiza użytkowników Użytkownikami systemu mają być firmy oraz użytkownicy domowi w wieku powyżej 13 lat. Od użytkownika wymagana jest podstawowa znajomość obsługi komputera. System jest intuicyjny i prosty w obsłudze. Oprogramowanie, narzędzia, zasoby. Oprogramowanie jest tworzone głównie z wykorzystaniem środowiska Microsoft Visual Studio 2008 C++. Projekt jednakże w mniejszym stopniu wykorzystuje języki: PHP, JSON oraz MySQL. Do stworzenia programu niezbędny również jest zewnętrzny serwer WWW oraz terminarz zadań CRON.
Ikona programu jest rozprowadzana za darmo na licencji General Public License. Testowanie oprogramowania Testowanie oprogramowania odbywało się poprzez wprowadzanie losowych danych. Pola tekstowe zostały sprawdzone i zabezpieczone przez niepoprawnymi wpisami. Program testowany był na następujących systemach operacyjnych: Windows XP, Windows 7, Windows 8. Wymagania sprzętowe System operacyjny: Windows XP, 7, 8 CPU: 800MHz RAM: 256MB Dostęp do internetu wymagany jest do pełnego wykorzystania oprogramowania. Bibliografia 1. "Microsoft Visual C++ 2008 Praktyczne przykłady" Wyd. Helion 2010. Mariusz Owczarek 2. "PHP Zaawansowane programowanie" Wyd. Helion 2012. Peter MacIntyre, Brian Danchilla, Mladen Gogala. 3. Microsoft Developer Network. http://msdn.microsoft.com/en-us/. 4. Stackoverflow http://stackoverflow.com/ 5. CodeProject - For those who code http://www.codeproject.com/ 6. Wikipedia http://en.wikipedia.org/wiki/wikipedia