HQedAudit

Projekt zakończony

Łukasz Rachwalski, LukaszRachwalski@gmail.com Audyt kodu, dokumentacja, uzupełenie komentarzy w kodzie w języku angielskim, testowanie. Wymagana miw08_hqedaudit.

Spotkania

Projekt

Główne cele projektu

  1. Postawić środowisko uruchomieniowe dla HQed, CVS, DoxyGen.
  2. Uzupełnić dokumentację w kodzie HQed i w wiki.
  3. Przeprowadzić serię testów aplikacji.

Co się udało osiągnąć?

  • Przeprowadzić testy apliacji na przykładach z miw08_xtt_serialization.
  • 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ą:

  1. System operacyjny: Linux - Ubuntu ver. 7.10.
  2. Concurrent Versions System (CVS) ver. 1.12.13.
  3. Biblioteka Qt ver. 4
  4. DoxyGen ver. 1.5.3
  5. Mantis Bug Tracker
  6. HQed

Konfiguracja poszczególnych komponentów

Ubuntu ver. 7.10

System operacyjny dostępny jest na stronie producenta: http://ubuntu.pl/.

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

pl/miw/miw08_hqedaudit.txt · ostatnio zmienione: 2019/06/27 15:50 (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