~~SLIDESHOW~~ ====== Prezentacja ====== ===== Cel Projektu ===== Dla aplikacji HQEd: * Audyt kodu - sprowadziło się to do analizy ostrzeżeń kompilacji * Statyczne zbudowanie aplikacji * Testowanie aplikacji - stworzenie dwóch dużych modeli, a także testy na małych ===== Audyt kodu ===== Analiza ostrzeżeń kompilacji: * Nieużywany parametr - najwięcej ostrzeżeń * Niebezpieczna konwersja * Niezainicjowana zmienna * Błędne nawiasowanie - wykrycie błędów logicznych * Brak klamr - wykrycie błędów logicznych ===== Statyczne zbudowanie aplikacji ===== Jednym z ważnych celów projektu było statyczne zbudowanie aplikacji z Qt4. Powody: * Zlikwidowanie potrzeby instalowania Qt4 użytkownika końcowego, czyli duże ułatwienie dla niego; * Uniknięcie problemów ze zgodnością nowych wersji Qt; Po skompilowaniu Qt4 statycznie (w wersjach: 4.2.3, 4.3.0, 4.5.2), i statycznie programu (rozmiar wzrósł do 5.9 MB z 3.8 MB), a następnie po jego uruchomieniu otrzymałem w konsoli błąd: 'segmetion fault'. ===== Testy ===== Główne Konfiguracje na których testowano aplikacja: * Ubuntu 8.10, Qt ver. 4.4.3, Gnome ver. 2.24.1 * Ubuntu 9.04, Qt ver. 4.5.0, Gnome ver. 2.26.1 a także dla Ubuntu 8.10, qt w wersjach: 4.3.0 i 4.2.3. Wykonane modele: * Thermostat - ustalenie wartości zadanej dla klimatyzacji w zależności od miesiąca, dnia i godziny * ATM - bankomat ===== Thermostat ===== Zbudowany na podstawie już dobrze opisanego sytemu: [[hekate:hekate_case_thermostat]], zmieniłem miesiące aby odpowiadały porom roku na półkuli północnej. Wykonanie w HQEd (plik '.hml' do ściągnięcia): {{:pl:miw:2009:miw09_xtt_drools:thermostat.zip}} ===== Thermostat (screen) ===== {{:pl:miw:2009:miw09_hqed_audit_1:thermostat.png}} ===== ATM ===== Zbudowałem model bankomatu zarówno na podstawie już stworzonego modelu (dostępnego w aplikacji) jak i na podstawie własnych pomysłów. Jako dane wejściowe przyjąłem: pin wprowadzony przez użytkownika, prawidłowy pin z bazy danych, deklarowaną kwotę do wypłacenia, dostępne środki na koncie oraz w bankomacie. Na podstawie tych danych program daje jedną z odpowiedzi: wypłacenie kwoty, nieprawidłowy pin, brak środków na koncie, brak środków w bankomacie. Wykonanie w HQEd (plik '.hml' do ściągnięcia): {{:pl:miw:2009:miw09_xtt_drools:atm.zip}} ===== ATM (screen) ===== {{:pl:miw:2009:miw09_hqed_audit_1:atm.png}} ===== Ważniejsze Uwagi do programu ===== * Nieintuicyjne ustawianie granic przedziału (range); * Program zawsze pyta czy zapisać zmiany, niezależnie od tego czy nastąpiły; * Mało ergonomiczny interfejs – trzeba wykonać dużą ilość kliknięć aby cokolwiek wykonać * Program czasem kończy wyjątkiem (np. zbyt skomplikowane wyrażenie, zbyt duża ilość wierszy w tabeli) * Potrzeba ponownego wczytania modelu dla niektórych zmian Program jest cały czas w trakcie tworzenia, więc tego typu uwagi często dotyczą rzeczy, których jeszcze nie zrobiono, a nie błędów.