Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_hqed_audit_1:slideshow [2009/10/14 11:25]
jsi08 utworzono
pl:miw:2009:miw09_hqed_audit_1:slideshow [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ~~SLIDESHOW~~ ~~SLIDESHOW~~
  
-===== Prezentacja ===== +====== Prezentacja ====== 
- +===== Cel Projektu ​=====
-==== Cel Projektu ====+
  
 Dla aplikacji HQEd: Dla aplikacji HQEd:
-  ​* Audyt kodu+ 
 +  ​* Audyt kodu - sprowadziło się to do analizy ostrzeżeń kompilacji
   * Statyczne zbudowanie aplikacji   * Statyczne zbudowanie aplikacji
-  * tesowanie ​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):​
  
-==== Audyt kodu ====+{{:​pl:​miw:​2009:​miw09_xtt_drools:​atm.zip}}
  
-Analiza ostrze kompilacji:+===== ATM (screen) =====
  
-nieużywany parametr 
-niebezpieczna konwersja 
-niezainicjowana zmienna 
-Błędne nawiasowanie 
-Brak klamr 
  
 +{{:​pl:​miw:​2009:​miw09_hqed_audit_1:​atm.png}}
 +===== Ważniejsze Uwagi do programu =====
  
  
-==== Wykonane Modle ====+  * 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 ====+ 
pl/miw/2009/miw09_hqed_audit_1/slideshow.1255512321.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0