Next: Główne mechanizmy aplikacji PROTONET
Up: Implementacja
Previous: Implementacja
  Contents
Kompilator C++
Kompilator gcc/g++ w wersji 2.95.2 dostarczany wraz z Linuksem na
licencji GNU.
Biblioteka Qt
Biblioteka w wersji 2.0.2 dostarczana przez firmę TrollTech [TrollTech]
na zasadach licencji GNU, jako bazowa biblioteka GUI pozwalająca na tworzenie
oprogramowania w środowisku graficznym X-Window oraz MS Windows. Jej podstawowe
zalety to:
- jest kompletnym, dobrze zaprojektowanym, wieloplatformowym, zorientowanym obiektowo
szkieletem do tworzenia graficznego interfejsu użytkownika (GUI) w języku C++;
- obsługuje także Windows 9x i NT (z ich wyglądem i zachowaniem). Kod stworzony
dla X-Window wykorzystujący bibliotekę Qt może być zrekompilowany i uruchomiony
z użyciem wersji dla Windows 9x/NT i odwrotnie. Należy jednak zaznaczyć, że
wersja biblioteki dla systemów Windows 9x/NT jest produktem komercyjnym;
- jest obecnie używana w setkach projektów oprogramowania na świecie -- przykłady
zastosowania można znaleźć pod adresem WWW [QTProgs]. Najbardziej znane to:
KDE (środowisko okienkowe), Opera (przeglądarka stron WWW) oraz Kylix (pakiet
programistyczny firmy Borland dla platformy Linux);
- posiada doskonałą dokumentację: ponad 600 stron w Postscripcie oraz dokumentację
w postaci HTML z dużą liczbą dowiązań hipertekstowych. Dostępny jest także podręcznik
do nauki w HTML-u (powiązany z resztą dokumentacji);
- istotnie skraca czas tworzenia interfejsu użytkownika -- pozwala programiście
skupić się nad pozostałą częścią oprogramowania;
- jest całkowicie zorientowana obiektowo. Wszystkie widgety (elementy interfejsu)
i dialogi są obiektami w C++ -- używają dziedziczenia, tworzenie nowych widgetów
jest bardzo proste;
- dostarcza prawdziwie komponentowy mechanizm programowania, oparty na sygnałach
i slotach. Komponenty mogą być używane wielokrotnie, komunikować się między
sobą bez wiedzy o istnieniu innych odbiorców i nadawców zdarzeń w systemie (emitują
sygnały bez konieczności znajomości odbiorców, odbierają sygnały bez znajomości
ich nadawców);
- zapewnia dużą wydajność (szybkość) graficzną -- wersja dla X-Window bazuje
bezpośrednio na bibliotece Xlib;
- dowolny projekt napisany z zastosowaniem biblioteki Qt można zrekompilować na
inne platformy (jeśli nie używa innych bibliotek specyficznych dla systemu):
- Microsoft Windows 95,
- Microsoft Windows NT,
- Solaris,
- SunOS,
- FreeBSD,
- OSF/1,
- Irix,
- BSD/OS,
- SCO,
- HP-UX,
- AIX,
- Digital UNIX,
- różne odmiany systemu Linux;
- dostępny jest program moc (ang. meta object compiler) automatycznie
generujący metametody dla obiektów dziedziczących po głównej klasie Qt, QObject
(obiekt musi dziedziczyć po tej klasie, aby móc wykorzystywać wygodny mechanizm
sygnałów i slotów).
Tmake
Jest to łatwe w użyciu narzędzie, dostarczone przez firmę Troll Tech,
do tworzenia i pielęgnacji plików projektu Makefile. Narzędzie to rozszerza
możliwość programu autoconf znanego z systemów UNIX. Napisane jest
w języku Perl (wymaga interpretera Perla w wersji co najmniej 5) i działa na
wszystkich platformach, na których jest dostępny interpreter (a więc także na
systemach Windows 9x oraz NT). Dodatkowo tmake analizuje kod napisany
w C++ przez programistę i generuje odpowiednie informacje w projekcie aplikacji
służące jako konfiguracja dla programu moc. Narzędzie jest rozpowszechniane
bezpłatnie, podlega prawu do modyfikacji i dalszego rozpowszechniania.
CVS -- Concurrent Versions System
System pozwalający na jednoczesną pracę nad kodem źródłowym kilku
osobom na raz, scalający w sposób niemal automatyczny zmiany pochodzące z kilku
źródeł, wersjonujący źródła. Całość źródeł jest trzymana w repozytorium, można
wyciągać pełen zestaw źródeł z rezpozytorium, importować nowe wersje źródeł
z plików, zatwierdzać lub usuwać zmiany. W 99 % system scalał nasze modyfikacje
na źródłach, czasami jednak prosił o ręczne wskazanie sposobu scalenia (fragment,
który nie może być scalony automatycznie jest wykomentowany w dwóch alternatywnych
wersjach, zadaniem użytkownika jest stworzenie z nich wersji ostatecznej).
QTArchitect
Jest to program do wizualnego projektowania dialogów z zastosowaniem
klas dostarczanych przez Qt. Współpracował on z wersją 1.x Qt. Nie został dostosowany
do wersji 2.x, tak więc wykorzystywaliśmy go tylko we wczesnej wersji aplikacji
(przed przejściem na wersję 2 bliblioteki Qt). Oprogramowanie dostarczane jest
na zasadzie licencji GNU General Public License.
Doxygen
Program wspierający dokumentowanie kodu C++, IDL (Corba i Microsoft)
oraz C, napisany przez Dimitri van Heesch (dostępny na zasadach GNU General
Public License, udostępniony wraz z kodem źródłowym pod adresem WWW [Doxygen]).
Główne możliwości tego produktu to:
- generowanie dokumentacji dostępnej on-line w formacie HTML oraz podręcznika
w postaci LATEX, na podstawie zbioru plików z odpowiednio udokumentowanym (poprzez
komentarze w odpowiednim formacie) kodem źródłowym. Program może także generować
dokumentację w postaciach: RTF (Microsoft Word), Postscript, PDF z dowiązaniami
hipertekstowymi, skompresowany HTML oraz jako strony systemowego podręcznika
uniksowego. Dokumentacja jest generowana bezpośrednio na podstawie kodu źródłowego,
co ułatwia utrzymanie spójności dokumentacji ze stanem faktycznym oprogramowania.
- można go skonfigurować do wygenerowania struktury kodu dla nieudokumentowanych
projektów (na podstawie plików źródłowych). Może to być bardzo przydatne do
poruszania się w kodzie źródłowym dużych dystrybucji. Relacje pomiędzy różnymi
elementami projektu mogą być wizualizowane poprzez grafy zależności, diagramy
dziedziczenia i diagramy współistnienia (wzajemnego wykorzystywania) -- wszystkie
generowane są automatycznie.
- program można zmusić do wygenerowania tradycyjnej dokumentacji na podstawie
zbioru plików, tak jak uczynił to autor w przypadku dokumentacji dla doxygena.
Pakiet graphviz
Jest to pakiet narzędzi do szybkiego tworzenia rysunków złożonych
z linii, figur, tekstu, z możliwością użycia kolorów, operacjami wklejania fragmentów
innych rysunków i zapisywania wyniku w postaci pliku GIF. Pakiet wspiera w szczególności
rysowanie wszelkiego rodzaju grafów zależności pomiędzy obiektami. Dane wejściowe
to definicja obiektów i zależności pomiędzy nimi w postaci pliku tekstowego,
rezultatem jest plik w formacie GIF, będący wizualizacją grafu. Pakiet jest
dostarczony przez AT&T Lucent Bell Labs i dostępny pod adresem WWW [Graphviz].
Pakiet ten jest opcjonalnie wykorzystywany przez pakiet Doxygen.
KDevelop
Narzędzie wspomagające tworzenie oprogramowania z zastosowaniem biblioteki
Qt, pracujące w środowisku okienkowym KDE.
Next: Główne mechanizmy aplikacji PROTONET
Up: Implementacja
Previous: Implementacja
  Contents
Symulator protokołów sieciowych TCP/IP