HQedAudit
Spotkania
Projekt
Główne cele projektu
Postawić środowisko uruchomieniowe dla HQed, CVS, DoxyGen.
Uzupełnić dokumentację w kodzie HQed i w wiki.
Przeprowadzić serię testów aplikacji.
Co się udało osiągnąć?
-
Skomentować wszystkie moduły XTT.
Skompilować hqed w środowisku na własnym komputerze.
Wstępnie zapoznać się z programem jako aplikacją oraz jego kodem źródłowym.
Wygenerować dokumentację na swoim komputerze.
Pobrać projekt ze zdalnego repozytorium (niestety nie charona) i skomentowanie z wykorzystaniem DoxyGen.
Zaznajomić z biblioteką Qt - kompilacja, budowanie prostych aplikacji z wykorzystaniem QtDesigner oraz opcjonalnie QDeveloper.
Zaznajomić się z CVS - uruchomienie na lokalnym komputerze bazy, dodanie projektu, update, check out, diffing, itp.
Poszerzyć znajomość DoxyGen - używanie wyłącznie konsoli, budowa pliku konfiguracyjnego .cfg, generowanie dokumentacji.
Zapoznanie się z obsługą systemu Mantis Bug Tracker - zalogowanie do projektu DEMO, poznanie podstawowych operacji na projektach, poznanie terminologii systemu i sposobu jego działania.
Postawić kompletne środowisko uruchomieniowe.
Kompletne środowisko uruchomieniowe
W skład kompletnego środowiska uruchomieniowego wychodzą:
System operacyjny: Linux - Ubuntu ver. 7.10.
Concurrent Versions System (CVS) ver. 1.12.13.
Biblioteka Qt ver. 4
DoxyGen ver. 1.5.3
Mantis Bug Tracker
HQed
Konfiguracja poszczególnych komponentów
Ubuntu ver. 7.10
Concurrent Versions System 1.12.13
Producent Ubuntu http://ubuntu.pl/ udostępnił wersje programu do pobrania za pośrednictwem Menedżera pakietów Synaptic.
Qt 4
W celu zainstalowania poszczególnych komponentów biblioteki należy wpisać następujące komendy:
sudo apt-get install libqt4-core
sudo apt-get install libqt4-debug
sudo apt-get install libqt4-gui
sudo apt-get install libqt4-qt3support
sudo apt-get install libqt4-sql
sudo apt-get install qt4-designer
sudo apt-get install qt4-dev-tools
sudo apt-get install qt4-doc
sudo apt-get install qt4-qtconfig
Edytor bądź środowisko programistyczne to już kwestia gustu i wygody programisty. Poniżej umieszczono jednak przykładowe aplikacje.
Następnie przystąpiono do komentowania źródeł. Proces ten przebiegał w następujący sposób. Na początku dokonano pobieżnej analizy metody w pliku cpp, a następnie na podstawie wyciągniętych wniosków komentowano nagłówek. Na słowa pochwały zasługuje autor aplikacji, który napisał kod bardzo przejrzysty oraz w dużej mierze skomentowany. Bardzo to uprościło pracę nad audytem kodu jednak nie wykluczyło przeprowadzonej analizy źródeł i potwierdzenia zapisanych informacji.
W procesie komentowania przyjęto następujące założenia:
Komentowano tylko pliki nagłówkowe.
Jako generatora dokumentacji użyto DoxyGen.
Wykorzystano JavaDoc jako styl komentowania.
Wszystkie komentarze plików nagłówkowych zostały zapisane w języku angielskim.
Po skomentowaniu dowolnego modułu dokonywano kompilacji całej aplikacji oraz próby jej uruchomienia. Dokonywano bowiem zmian zarówno w pliku *.cpp jak i *.h. Pracując na źródłach pobranych z repozytorium za pośrednictwem CVS wprowadzano wiele zmian. Starano się również aby kod który wysyłano z powrotem do repozytorium nie zawierał błędów.
Proces komentowania kodu przebiegał w sposób systematyczny. Na cotygodniowych konsultacjach raportowane były postępy w pracach. Ponadto uzgadniano szczegóły co do planowanych zmian.
Podczas realizacji projektu skomentowano 43 pliki nagłówkowe redagując 43 pliki cpp. Czas komentowania jednego pliku wahał się od ok. 1 godziny do 5-6 godzin. Po skomentowaniu wszystkich modułów dokonano ponownego przeglądu źródeł i niewielkich poprawek.
Program został skompilowany oraz uruchomiony na Ubuntu wersji 7.10. Dzięki uprzejmości makamin@student.agh.edu.pl do testu finalnego wykorzystano bankomat_xttml.
Wszelkie potencjalne błędy, sugestie zgłaszano autorowi poprzez system raportowania błędów CVStrack.
Aplikacja została gruntownie przetestowana. Wykonano testy funkcjonalności mające na celu sprawdzenie czy program posiada funkcje umożliwiające generowanie i zarządzanie diagramami XTT. Testy te wypadły dość dobrze. Aplikacja co prawda posiada kilka niedociągnięć, są one jednak na tyle nieszkodliwe, że nie uniemożliwiają pracy w HQed. Ponadto wykonano testy polegające na wprowadzeniu dwóch systemów regułowych. Wprowadzano je od zera i generowano pliki XTT. HQed przeszedł pomyślnie również tę partię testów.
Materiały pomocnicze
1. CVS
2. Qt
3. DoxyGen
4. Mantis Bug Trucker