Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:miw09_hqed_audit_1:slideshow [2009/10/14 12:04] jsi08 |
pl:miw:2009:miw09_hqed_audit_1:slideshow [2019/06/27 15:50] (aktualna) |
| |
====== Prezentacja ====== | ====== Prezentacja ====== |
| |
| |
===== Cel Projektu ===== | ===== Cel Projektu ===== |
| |
Dla aplikacji HQEd: | Dla aplikacji HQEd: |
* Audyt kodu - sprowadziło się do analizy ostrzeżeń kompilacji | |
| * Audyt kodu - sprowadziło się to do analizy ostrzeżeń kompilacji |
* Statyczne zbudowanie aplikacji | * Statyczne zbudowanie aplikacji |
* Testowanie aplikacji - stworzenie dwóch dużych modeli, jak i testy na małych | * Testowanie aplikacji - stworzenie dwóch dużych modeli, a także testy na małych |
| |
===== Audyt kodu ===== | ===== Audyt kodu ===== |
| |
Analiza ostrzeżeń kompilacji: | Analiza ostrzeżeń kompilacji: |
| |
* nieużywany parametr - najwięcej ostrzeżeń | * Nieużywany parametr - najwięcej ostrzeżeń |
* niebezpieczna konwersja | * Niebezpieczna konwersja |
* niezainicjowana zmienna | * Niezainicjowana zmienna |
* Błędne nawiasowanie - wykrycie błędów logicznych | * Błędne nawiasowanie - wykrycie błędów logicznych |
* Brak klamr - 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 ===== | ===== Testy ===== |
| |
| |
Wykonane modele: | Wykonane modele: |
* Thermostat - ustalenie wartości zadanej dla klimatyzacji w zależności od miesiąca i godziny | * Thermostat - ustalenie wartości zadanej dla klimatyzacji w zależności od miesiąca, dnia i godziny |
* ATM - bankomat | * ATM - bankomat |
| |
| |
===== Thermostat ===== | ===== Thermostat ===== |
| |
Zbudowany na podstawie juz dobrze opisanego sytemu:[[hekate:hekate_case_thermostat]], zmieniłem miesiące aby odpowiadały porom roku na półkuli północnej. | 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' o ściągnięcia): | Wykonanie w HQEd (plik '.hml' do ściągnięcia): |
| |
{{:pl:miw:2009:miw09_xtt_drools:thermostat.zip}} | {{:pl:miw:2009:miw09_xtt_drools:thermostat.zip}} |
| |
===== Thermostat (screen) ===== | ===== Thermostat (screen) ===== |
| |
{{:pl:miw:2009:miw09_hqed_audit_1:thermostat.png?600|}} | |
| |
| |
| {{:pl:miw:2009:miw09_hqed_audit_1:thermostat.png}} |
===== ATM ===== | ===== ATM ===== |
| |
Zbudowałem model bankomatu trochę na podstawie już stworzonego modelu (dostępnego w aplikacji) i trochę na podstawie własnych pomysłów. Jak dane wejściowe otrzymuje pin wprowadzony przez użytkownika, prawidłowy z bazy danych, deklarowana kwota, dostępne środki na koncie jak i w bankomacie. Na podstawie tych danych daje jedną z odpowiedzi: ok, nieprawidłowy pin, brak środków na koncie, brak środków w bankomacie. | 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' o ściągnięcia): | Wykonanie w HQEd (plik '.hml' do ściągnięcia): |
| |
{{:pl:miw:2009:miw09_xtt_drools:atm.zip}} | {{:pl:miw:2009:miw09_xtt_drools:atm.zip}} |
===== ATM (screen) ===== | ===== ATM (screen) ===== |
| |
{{:pl:miw:2009:miw09_hqed_audit_1:atm.png?600|}} | |
| {{: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. |
| |
===== Wnioski ===== | |