MASZYN.OLECKO.PL

Forum dyskusyjne
It is currently September 9, 2010, 6:29 pm

All times are UTC





Post new topic Reply to topic  [ 1 posts ] 
Author Message
PostPosted: 2007-02-07 14:01:48
Online
Registered User

Joined: 2007-02-07 14:01:48
Author: michalrej
Date: Wed Feb  7 14:01:53 2007
New Revision: 1270
Modified:
   paperwork/praca/src/rozdzialy/chapter-05.tex
Log:
rozdzial 5
Modified: paperwork/praca/src/rozdzialy/chapter-05.tex
=========================================================================== ===
--- paperwork/praca/src/rozdzialy/chapter-05.tex        (original)
+++ paperwork/praca/src/rozdzialy/chapter-05.tex        Wed Feb  7 14:01:53 2007
@@ -1,14 +1,176 @@
-%   @version $Id:$
-chapter{Rozdzial testowy}
-Zobacz cite{bio-CASP-predictioncenter}, a w slowniku  gloss{atomowa-jednostka-masy}.
+%  {$Id:$}
+chapter{Projekt}
+%Zobacz cite{bio-CASP-predictioncenter}, a w slowniku  gloss{atomowa-jednostka-masy}.
+subsection{Zalozenia projektowe}
+Przy projektowaniu aplikacji kierowano sie jej edukacyjnym przeznaczeniem.
+Zdecydowalo to miedzy innymi o zastosowaniu przyjaznego interfejsu uzytkownika,
+latwo odczytywalnej nawigacji przez kolejne kroki obliczen algorytmow oraz czytelnych
+i interakcyjnych form wizualizacji wynikow ich dzialania.
+Jako jezyk programowania wybrano Jave w wydaniu J2SE 5.0 (1.5.0).
+Jest to obiektowy jezyk programowania stworzony przez firme Sun Microsystems.
+Zaleta programow w Javie jest to, ze kompilowane sa do postaci wykonywanej przez
+maszyne wirtualna, co pozwala uruchamiac programy napisane dla roznych systemow
+operacyjnych bez zadnych zmian lub tylko z niewielkimi modyfikacjami.
+Zastosowanie Javy mialo decydujacy wplyw na sposob realizacji projektu.
+Z projektowaniem oprogramowania obiektowego wiazala sie miedzy innymi
+mozliwosc zastosowania takich usprawnien, jak wzorce projektowe (ang. design patterns)
+czy jezyk modelowania (UML).
+Java to obecnie bardzo popularny jezyk, wiele bibliotek i narzedzi
+udostepnianych jest na zasadach wolnego oprogramowania, bogactwo materialow
+czy przykladowych fragmentow kodu mozna odnalexc w Internecie.
+Oprocz powyzszych wlasciwosci jezyka, o wyborze zadecydowalo rowniez doswiadczenie
+akademickie odnosnie programowania w Javie zarowno menedzerow jak i programistow.
+Do stworzenia interfejsu graficznego programu  posluzono sie biblioteka
+graficzna Swing. Jest to podstawowy interfejs Javy charakteryzujacy sie
+duzym wyborem komponentow graficznych, przejrzysta implementacja oraz elastycznoscia.
+„Lekkosc” komponentow Swinga oznacza, ze interfejs powstaly przy uzyciu
+Swinga nie uzywa elementow GUI systemu operacyjnego a aplikacja wyglada i zachowuje
+sie tak samo na roznych platformach. Inne biblioteki i klasy wykorzystane w aplikacji
+zostaly omowione w podrozdziale 5.3 [odnosnik].
+
+section{Glowne moduly programu}
+Podzial na podstawowe moduly odzwierciedla organizacja pakietow w projekcie.
+Uklad taki, oprocz unikalnosci nazw klas i ich skladowych, zapewnia latwosc
+nawigacji w kodzie, latwiejsze zarzadzanie praca nad aplikacja,
+latwa rozbudowe w zaleznosci od potrzeb. Przy projektowaniu modulow
+kierowano sie idea rozdzielenia klas dotyczacych danych, obliczen oraz
+interfejsu graficznego.
+Ponizej wymieniono i krotko opisano te podstawowe elementy skladowe programu.
+
+subsection{ Modul wejscia – wyjscia (pakiet pl.go.clasterix.io)}
+Modul ten obejmuje klasy, ktorych zadaniem jest wczytywanie oraz zapisywanie
+danych wymaganych przez oba implementowane algorytmy. Formaty zapisu i odczytu
+danych zostaly wyszczegolnione w specyfikacji wymagan projektu. Wczytywane dane
+analizowane sa pod katem przydatnosci do dalszego przetwarzania
+Zastosowanie odpowiednich interfejsow ma na celu mozliwosc rozszerzenia  tego
+modulu  o klasy umozliwiajace wczytywanie danych z kolejnych xrodel,
+w tym rowniez z zewnetrznych baz danych.
+
+
+subsection{Modul przechowywania i przetwarzania danych }
+Przechowuje wczytane dane i udostepnia je do obliczen.
+Wykonuje operacje przeksztalcajace dane do postaci wymaganych przez algorytmy.
+subsection{Moduly obliczen}
+Zawieraja klasy wykonawcze z glownymi petlami algorytmow oraz klasy
+pomocnicze przechowujace
+posrednie oraz koncowe wyniki ich dzialania.
+subsubsection{Modul obliczen algorytmu AHC (pakiet
+pl.go.clasterix.algorithms.ahc)}
+Oprocz klas wykonujacych obliczenia algorytmu AHC, zajmuje sie budowa drzewa,
+ktore stanowi podstawowy wynik dzialania tego algorytmu. Klasy pakietu przedstawione
+zostaly na ponizszym schemacie. Klasa glowna jest klasa AlgorithmAHC.
+To w niej wywolywana jest glowna petla algorytmu. Przeliczaniem odleglosci pomiedzy
+agregowanymi grupami zajmuja sie klasy dziedziczace po abstrakcyjnej klasie
+AbstractDistMeasure. Stosownie do wybranej wersji algorytmu tworzona jest instancja
+jednej z nich. W trakcie obliczen przeksztalcane odleglosci miedzy grupami oraz
+inne dane z nimi zwiazane przechowywane sa w strukturach klasy DistMatrix.
+Tam rowniez nastepuje przeksztalcanie macierzy w kolejnych iteracjach.
+Zapisywaniem wynikow dzialania algorytmu zajmuje sie klasa Tree, zarzadzajaca tworzeniem
+wynikowego drzewa. Drzewo budowane jest z lisci oraz wezlow. Liscie (klasa TreeLeaf)
+stanowia obiekty wejsciowe algorytmu, jeszcze nie zagregowane. Wezly (klasa TreeNode)
+opisuja laczenie potomnych obiektow drzewa w nowa grupe, ich podstawowym atrybutem
+jest wysokosc dla ktorej nastapilo to polaczenie. Wezel opisywac moze laczenie par lisci,
+par wezlow badx lisci z wezlami. W celu efektywniejszej implementacji zastosowano wiec
+klase abstrakcyjna AbstractTreeObject po ktorej dziedzicza klasy TreeLeaf i TreeNode.
+Dodatkowa klasa ClusterPair zajmuje sie porzadkowaniem par wezlow podlegajacych
+grupowaniu i zastepuje pojedyncze wystepowanie wezlow jako argumentow roznych metod.
+subsubsection{Modul obliczen algorytmu K-srednich(pakiet pl.go.clasterix.algorithms.kmeans)}
+Modul obliczen algorytmu k-srednich (pakiet pl.go.clasterix.algorithms.kmeans)
+Wykonuje obliczenia algorytmu k-srednich.
+Podstawowe obliczenia algorytmu wykonywane sa w klasie DistanceAnalysys.
+Obliczanie na potrzeby algorytmu odleglosci w jednej z trzech przyjetych metryk
+(patrz rozdzial 4…) realizuja klasy implementujace interfejs Distances.
+Do zadan klasy HeuristicCentroids nalezy heurystyczne wyznaczenie polozenia
+inicjujacych centroidow, jesli wybrano taka opcje. Klasa ClusterDescriptiveStatistics
+oblicza statystyki dla uzyskanych grup obiektow.
+Interfejs Point jest implementowany zarowno przez kazdy obiekt podlegajacy
+przeksztalceniom (klasa DataPoint), jak i abstrakcyjny obiekt reprezentujacy centroid
+grupy punktow w pewnej iteracji algorytmu (klasa Cluster).
+Podstawowe dane algorytmu stanowia grupy punktow przechowywane w klasie
+Cluster wraz z obliczonym dla nich Centroidem.
+
+subsection{Modul graficznego interfejsu uzytkownika (pakiet
+pl.go.clasterix.gui))}
+Modul ten zawiera klasy odpowiedzialne za tworzenie i wyswietlanie elementow
+graficznego interfejsu uzytkownika. Modul posiada dodatkowo wyroznione dwa
+pakiety:
+subsubsection{Modul raportow (pakiet pl.go.clasterix.gui.reports)}
+Zawiera Klasy odpowiedzialne za budowanie i wyswietlanie raportow
+dla obu zaimplementowanych algorytmow.
+subsubsection{Modul kreatora (pakiet pl.go.clasterix.gui.wizard)}
+Klasy tego modulu sa odpowiedzialne za wyglad i organizacje ramki
+kreatora oraz jego paneli skladowych ,
+ktore odpowiadaja kolejnym krokom realizacji algorytmow.
+section{Technologie programistyczne}
+Wymagania funkcjonalne, niefunkcjonalne oraz wybor jezyka Java
+zadecydowaly o zastosowaniu wymienionych tutaj klas i bibliotek.
+Dodatkowymi kryteriami wyboru byla popularnosc tych rozwiazan,
+ich dostepnosc oraz dotychczasowe doswiadczenie menedzerow i
+programistow przy dotychczasowej pracy z niektorymi z  nich.
+subsubsection{Log4j}
+Jest to biblioteka sluzaca do zapisywania zdarzen zachodzacych w programie – tzw. logow.
+Przy pomocy zewnetrznego pliku konfiguracyjnego mozna zdefiniowac generowanie okreslonych
+ grup komunikatow logu wedlug ustalonych kryteriow oraz przy uzyciu wybranych urzadzen
+ w samodzielnie zdefiniowanym formacie wiadomosci. Umozliwia to wplywanie na ilosc
+ pozyskiwanej informacji bez ingerencji w kod programu. Stosowanymi metodami drukujacymi
+ sa: error, warn, info i debug. Nazwy mowia o priorytecie zdarzenia, ktore jest logowane
+ za pomoca danej metody. Zdarzenie jest rejestrowane, jezeli jego priorytet (okreslany
+ odpowiednia metoda) jest wyzszy lub rowny priorytetowi ustalonemu dla danej kategorii.
+ W pliku konfiguracyjnym mozna rowniez konfigurowac logowanie zdarzen na wielu
+ urzadzeniach. Urzadzenie, na ktorym biblioteka zapisuje zdarzenie to appender.
+ W bibliotece sa zdefiniowane takie urzadzenia jak konsola, plik, zdalny serwer i inne.
+ Pakiet log4j (log4j.org) dystrybuowany jest na licencji IBM Public License i dostepny
+ w ramach inicjatywy Open Source.
+subsubsection{JAXB}
+Jest to standard definiujacy dostep do plikow XML-owych z poziomu jezyka programowania.
+Biblioteka posiada kompilator schematow (lub dtd),
+ktory z tych schematow generuje klasy - dla kazdego elementu XML powstaje jedna klasa.
+Podstawowe operacje jakie udostepnia JAXB to: zamiana pliku XML-owego na obiekty Javy,
+modyfikacja dokumentu XML-owego (na kopii z pamieci), zamiana obiektow
+Javy na dokument XML-owy oraz walidacja - sprawdzenie poprawnosci z DTD
+(takze dokonywane na dokumencie w pamieci).
+Biblioteka zostala wykorzystana do zapisu i odczytu danych zapisanych w formacie XML.
+subsubsection{JFreeReport}
+Waznym elementem tworzonej aplikacji jest mozliwosc przegladania
+a nastepnie zapisywania wynikow dzialania algorytmow w uniwersalnych
+i czytelnych formatach, mozliwosci takie udostepnia biblioteka JFreeReport.
+Dane do raportu pobiera ona z obiektow implementujacych interfejs TableModel.
+Ten wchodzacy w sklad bibliotek Swinga interfejs sluzy do przedstawiania danych
+w postaci dwuwymiarowej tabeli i zostal przyjety jako podstawowa forma prezentacji
+wynikow kolejnych etapow dzialania aplikacji. Dodatkowo wymagane jest stworzenie
+pliku w formacie XML, definiujacego wyglad i zawartosc takiego raportu.
+Po uruchomieniu otrzymujemy pelnoekranowy podglad raportu wygenerowanego
+na podstawie przyjetych parametrow. Mozemy go nastepnie zapisac do pliku
+w jednym z popularnych formatow, takich jak: PDF, HTML, CSV czy XLS.
+subsubsection{TMXResourceBundle (Translation Memory eXchange ResourceBundle)}
+Dziedziczy po klasie jezyka Javy – ResourceBundle. Wspomaga przystosowanie interfejsu aplikacji
+w zakresie jezyka jakim posluguje sie uzytkownik.
+Stosowany jest tu otwarty standard pliku TMX w formacie XML.
+Stosowanie tego rozwiazania daje mozliwosc lokalizacji tekstow etykiet
+GUI zgodnie z ustawieniami srodowiska i bez ingerencji w kod aplikacji.
+Jedynym warunkiem jest zdefiniowanie jezykowych odpowiednikow w pliku.
+Zastosowanie tej klasy bylo nastepstwem zawartej w specyfikacji wymagan
+decyzji o stosowaniu jezykow: polskiego i angielskiego (patrz rozdzial 4 …).
+subsubsection{SwingWorker}
+Klasa wspomaga odswiezanie panelu graficznego podczas gdy w tle aplikacja
+prowadzi skomplikowane obliczenia.  W tym celu tworzony jest przez nia
+dedykowany watek w ktorym nalezy umieszczac kod odpowiedzialny za rysowanie
+interfejsu graficznego – okno aplikacji zachowuje swoj wyglad podczas gdy
+glowny watek aplikacji zajmuje sie obliczeniami.
+Klasa nalezy do standardowych pakietow.
+subsubsection{Klasy powiazane z wyswietlaniem okna aplikacji.}
+Klasy udostepnione  ramach licencji Wolnego Oprogramowania przez m. in. Santhosh’a
+Kumar’a, Patrick’a Gotthardt’a Guy’a Davies’a, Gregory’ego Kotsaftis’a.
+Zarzadzaja oknami wyswietlanymi jako wewnetrzne okna w ukladzie graficznym Swinga -
+JDesktopPane - ktory  nasladuje pulpit. Klasy pozwalaja na wygodne zarzadzanie
+elementami na pulpicie, np. dowolny rozklad, minimalizacje i maksymalizacje wszystkich
+okien z wykorzystaniem opcji menu.
+subsubsection{TableSorter}
+Dodaje funkcjonalnosc sortowania kolumn do klas implementujacych standardowy model
+tablicy Swinga – TableModel. Po przycisnieciu naglowka danej kolumny tabeli,
+jej wiersze sa sortowane wedlug danej kolumny. Pierwsze przycisniecie sortuje
+wiersze w kolejnosci rosnacych wartosci, drugie wedlug malejacych a trzecie
+przywraca poczatkowy uklad wierszy. Autorzy: Philip Milne, Brendon McLean,
+Dan van Enckevorti Parwinder Sekhon.
-Nullam ante. Sed quam purus, eleifend sit amet, congue ultrices, vestibulum ut, purus. Etiam porta rutrum massa. Donec sed pede. Nullam vitae sapien. Nam sed turpis non massa vestibulum luctus. Nunc placerat eros nec nibh. Vivamus blandit libero consequat orci. Quisque vestibulum auctor urna. Suspendisse in augue. Maecenas magna. Suspendisse felis. Nulla non libero eget ligula convallis iaculis.
-Donec vitae ipsum a arcu faucibus tristique. Aenean nonummy mi. Donec pharetra, magna sit amet vestibulum malesuada, ante nibh vehicula libero, ac mattis dui tortor ut ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam at nisi. Proin consequat. Donec nec mauris. Pellentesque turpis est, luctus in, congue sit amet, mollis id, augue. Suspendisse diam. Nam quis tellus. Sed at diam a nisi dignissim volutpat. Cras vitae diam sed elit pellentesque dapibus. Proin nibh nisi, consectetuer ut, iaculis et, mollis varius, velit.
-
-
-Aenean purus diam, volutpat in, ornare in, sollicitudin id, dui. Donec ornare, lorem non accumsan dignissim, sapien nisi porta eros, sed placerat orci justo vel mauris. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam nisl ipsum, nonummy vitae, varius eu, molestie vel, magna. In hac habitasse platea dictumst. Aenean odio nisi, ultricies convallis, euismod nec, cursus quis, risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed venenatis accumsan libero. Etiam posuere, sem sed hendrerit vestibulum, massa erat hendrerit orci, at mollis eros odio vel purus. Duis odio tortor, vehicula ut, euismod id, hendrerit a, quam. In at orci sed nisi iaculis auctor. Nam sodales, lectus eu laoreet dignissim, sem diam semper turpis, luctus auctor metus nunc ut nibh. Morbi vehicula sem in nunc. Curabitur est turpis, viverra eu, convallis nec, laoreet elementum, neque. In hac habitasse platea dictumst.
-
-Nulla at quam at ligula imperdiet elementum. Nam ac erat ut pede vulputate molestie. Donec consequat tristique lorem. Suspendisse eget massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vehicula magna eu lorem. Etiam id arcu. Proin lobortis, urna et luctus mollis, nulla lectus iaculis justo, ac mattis ipsum erat dapibus augue. Ut dictum consequat urna. Pellentesque quis quam. Curabitur gravida luctus leo. Pellentesque malesuada elit elementum mi laoreet placerat. Curabitur a quam et ante posuere fermentum. Aenean nec magna ac neque accumsan tincidunt. Donec eu nisi. Aenean scelerisque tincidunt sem. Nunc leo. In lorem.
-
-Mauris ac augue et mi aliquam dapibus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus tincidunt, massa a commodo lobortis, sem magna consequat libero, vitae lobortis augue tortor sed dui. Maecenas consequat, tellus vitae ornare semper, justo felis auctor est, in accumsan orci tortor eget risus. Etiam augue dolor, tempus eget, ornare nec, volutpat quis, augue. In diam est, pulvinar in, accumsan id, cursus sit amet, velit. Nunc cursus, neque nec tristique ornare, mauris augue commodo sem, vel sagittis arcu neque at nisl. Integer sit amet purus. Sed tristique. Vivamus vel purus. Aliquam ornare fringilla mi. Cras adipiscing, enim bibendum scelerisque ultricies, eros quam condimentum sem, in facilisis mauris metus sed pede. Cras dolor.
No newline at end of file






Top
 Profile
 
Post new topic Reply to topic  [ 1 posts ] 




 Topics   Author   Replies   Views   Last post 
No new posts [michalrej] r1362 - paperwork/praca/src/rozdzialy

comm

0

0

2010-01-04 16:59:08

No new posts [michalrej] r1276 - paperwork/praca/src/rozdzialy

comm

0

0

2010-01-08 11:28:16

No new posts praca

Agnieszka

0

0

2010-03-03 23:42:07

No new posts KAZDA PRACA

Henryk

0

0

2010-03-08 01:52:10

No new posts Praca na koleji

Rafik

0

0

2010-02-09 09:00:01

No new posts Praca magisterska

Tom

0

0

2010-01-20 01:37:48

No new posts Wadowice - kazda praca

Henryk

0

0

2010-03-08 02:40:21

No new posts Praca dyplomowa - aparatura RC

Roman Rumian

0

0

2009-12-26 09:26:26

No new posts Praca ELEKTRONIK - Zory

Mariusz Kawa (AIKOM)

0

0

2010-01-06 15:55:46

No new posts Praca nauczyciela (kurs pedagogiczny)

*Xyladecor*

0

0

2010-03-01 18:00:59


Who is online

Users browsing this forum: Imka,Pyzol,:-) KaDwa,CTRL, prezenty and 3 guests


New posts New posts    No new posts No new posts    Announce Announcement
New posts [ Popular ] New posts [ Popular ]    No new posts [ Popular ] No new posts [ Popular ]    Sticky pozycjonowanie
New posts [ Locked ] New posts [ Locked ]    No new posts [ Locked ] No new posts [ Locked ]    Moved topic Moved topic
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group - Pozycjonowanie