Praca dyplomowa magisterska

Wielkość: px
Rozpocząć pokaz od strony:

Download "Praca dyplomowa magisterska"

Transkrypt

1 Politechnika Gdańska WYDZIAŁ ELEKTRONIKI, TELEKOMUNIKACJI I INFORMATYKI Katedra: Katedra Architektury Systemów Komputerowych Imię i nazwisko dyplomanta: Radosław Kleczkowski Nr albumu: Forma i poziom studiów: Stacjonarne jednolite studia magisterskie Kierunek studiów: Informatyka, Aplikacje rozproszone i systemy internetowe Praca dyplomowa magisterska Temat pracy: Integracja ontologii zapisanych w języku OWL Kierujący pracą: Konsultant pracy: dr inż. Piotr Szpryngier mgr inż. Tomasz Boiński Zakres pracy: Niniejsza praca magisterska poświęcona jest rozwinięciu edytora ontologicznego dla systemu OCS o funkcjonalność integracji ontologii. Gdańsk, 2010

2 Spis treści 1. Wstęp Problematyka i jej znaczenie Cel i zakres pracy Przegląd dostępnych narzędzi ułatwiających integrację ontologii Wprowadzenie Przedstawienie istniejących narzędzi Prompt OBO-Edit Przyjęta metodyka oceny Ocena narzędzi Prompt OBO-Edit Podsumowanie Specyfikacja wymagań i projekt rozszerzenia systemu OCS Wprowadzenie Wymagania Wymagania funkcjonalne i niefunkcjonalne Diagram przypadków użycia Architektura Analiza obiektowa Struktura plików projektu Harmonogram prac Analiza SWOT Projekt interfejsu użytkownika Implementacja Wprowadzenie Metodologia projektowania i implementacji Środowiska i narzędzia wspomagające Główne problemy informatyczne Przykłady rozwiązań szczegółowych

3 Struktura komponentów panelu integracji Wybór zarządcy układu Podsumowanie Ocena rozszerzenia Dalsze możliwości rozbudowy Literatura 46 Wykaz skrótów i symboli 48 A. Specyfikacja Wymagań systemowych 51 A.1. Przypadki użycia A.1.1. Diagram przypadków użycia A.1.2. Opis przypadków użycia A.2. Cele systemu A.2.1. Cele biznesowe A.2.2. Cele funkcjonalne A.3. Otoczenie systemu A.3.1. Użytkownicy A.3.2. Systemy zewnętrzne A.4. Przewidywane komponenty systemu A.4.1. Podsystemy A.4.2. Komponenty sprzętowe A.4.3. Programowe A.5. Wymagania funkcjonalne A.5.1. Wymagania w zakresie wizualizacji A.6. Wymagania na dane A.7. Wymagania jakościowe A.7.1. Wymagania w zakresie wiarygodności A.7.2. Wymagania w zakresie wydajności A.7.3. Wymagania w zakresie elastyczności A.7.4. Wymagania w zakresie użyteczności A.8. Sytuacje wyjątkowe A.9. Dodatkowe wymagania A.9.1. Wymagania sprzętowe

4 A.9.2. Wymagania programowe A.9.3. Inne wymagania A.10.Kryteria akceptacyjne

5 1. Wstęp 1.1. Problematyka i jej znaczenie Gwałtowny rozwój Internetu i upowszechnienie dostępu do komputerów spowodował, że obecnie w sieci internetowej znajdują się olbrzymie zasoby nieuporządkowanej wiedzy. Już kilkanaście lat temu naukowcy rozpoczęli próby opisania i ustrukturalizowania danych i informacji dostępnych w sieci WWW w taki sposób, aby komputery mogły je odczytać. Prace te dążą obecnie do realizacji idei sieci semantycznej (Semantic Web) stworzonej przez twórcę WWW, Tima Bernersa-Lee. Sieć Semantyczna jest rozszerzeniem istniejącej sieci WWW o mechanizmy semantyczne, tak aby informacje dostępne w tej sieci były dobrze zdefiniowane i umożliwiały lepszą współpracę komputerom i ludziom [1]. Na rysunku 1.1 pokazano sposób, w jaki zorganizowane są standardy stworzone na potrzeby Sieci Semantycznej. Tworzą one hierarchiczną strukturę języków, w której języki niższego poziomu są wykorzystywane do zbudowania języków wyższego poziomu. W środku tej struktury znajdują się języki RDF, RDFS oraz OWL, służące do opisu ontologii. Ontologie są kluczowe dla idei Sieci Semantycznej, gdyż to właśnie one mają umożliwić komputerom zrozumienie informacji zawartych w sieci internetowej, a także wnioskowanie z tych informacji. Rys Warstwy Sieci Semantycznej, czyli tzw. Tort Sieci Semantycznej (Semantic Web Layer Cake) [8]. Wg Grubera [4] ontologia to formalna specyfikacja pojęć i relacji pomiędzy nimi w pewnej dziedzinie wiedzy. Podstawowym fundamentem ontologii w Sieci Semantycznej są języki RDF oraz RDF Schema (RDFS). Zdefiniowany w 1999 roku język RDF pozwala opisywać zasoby sieci za pomocą tzw. trójek RDF (obiekt, właści- 5

6 wość, wartość). Elementami takiej trójki mogą być dowolne zasoby sieciowe, które są identyfikowane poprzez URI, lub wartości takie jak napisy, liczby, czy daty, o określonym poprzez URI typie danych. Co więcej, taka trójka również jest zasobem sieciowym, co oznacza że można ją wykorzystać do skonstruowania innych, bardziej złożonych trójek. RDF Schema to standard definiujący podstawowe pojęcia dla języka RDF, dzięki którym jest on w stanie opisać proste ontologie. Informacje opisane w języku RDF można zapisać m.in. jako graf lub plik XML. Składnia XML dla języka RDF jest określana jako RDF/XML. Rozwinięciem języka RDF oraz RDFS jest język OWL. Wprowadza on dodatkowe pojęcia oraz semantykę formalną, dzięki czemu można w nim zapisać nawet najbardziej złożoną ontologię. Istnieją trzy odmiany tego języka, z których każda następna jest rozszerzeniem poprzedniej: OWL Lite - dla użytkowników potrzebujących przede wszystkim hierarchicznej klasyfikacji oraz prostych ograniczeń, OWL DL - dla użytkowników potrzebujących największej możliwej ekspresji języka, zachowując jednocześnie jego rozstrzygalność, OWL Full - dla użytkowników potrzebujących największej możliwej ekspresji oraz wolności składniowej języka RDF. Ta odmiana nie daje żadnej gwarancji rozstrzygalności. Ze względu na brak możliwości praktycznego zastosowania odmiany OWL Full, najczęściej stosowana jest odmiana OWL DL. Zarówno XML jak i RDF, RDFS oraz OWL są otwartymi standardami zatwierdzonymi przez konsorcjum W3C, które sprawuje pieczę nad rozwojem sieci internetowej. Wielu badaczy i naukowców pracowało nad ontologiami w różnych dziedzinach nauki. Ich prace często były niezależne, dlatego też powstało mnóstwo ontologii, których obszary wiedzy zachodzą na siebie lub też nawet całkowicie się pokrywają. Przykładem mogą być ontologie stworzone przez Yahoo! ( oraz DOMOZ Open Directory ( [15]. Obie te ontologie kategoryzują informacje dostępne w sieci internetowej, a więc dotyczą tej samej dziedziny wiedzy. Mają też wiele różnic. Integracja kilku ontologii w jedną, może znacznie przyspieszyć pracę nad nowymi ontologiami, jednocześnie ułatwiając wymianę danych, pomiędzy rozproszonymi po całym świecie źródłami informacji. Jest to proces iteracyjny, w którym można wyróżnić następujące kroki [11]: 1. Wyszukanie miejsc, w których ontologie zachodzą na siebie. 2. Wprowadzenie relacji równoważności oraz hierarchii pomiędzy konceptami, które są sobie semantycznie bliskie. 3. Kontrola niesprzeczności, spójności oraz braku nadmiarowości. 6

7 Niestety realizacja tego procesu jest niezwykle skomplikowana zarówno dla człowieka jak i dla maszyn ze względu na liczne niezgodności językowe i znaczeniowe. Pomimo iż podjęto już próby opracowania rozwiązań całkowicie automatyzujących integrację, żadne z nich nie jest jeszcze na tyle rozwinięte, aby wyeliminować rolę człowieka w tym procesie. Konieczne jest zatem jak największe uproszczenie tego procesu poprzez specjalnie zaprojektowane do tego celu narzędzia wspomagające Cel i zakres pracy OCS (Ontology Creation System) to system powstający na Katedrze Architektury Systemów Komputerowych na Wydziale Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej. System służy do tworzenia, składowania i wersjonowania ontologii. W skład systemu wchodzi także edytor ontologiczny. Edytor ten wyróżnia się na tle innych poniższymi cechami [9]: kooperacyjna edycji ontologii, kontrola uprawnień do edycji ontologii oraz publikacji kolejnych jej wersji, integracja z systemem OCS, wsparcie dla wielojęzyczności, łatwa instalacja przez sieć WWW. Praca zespołowa, którą umożliwia edytor OCS, mogła by znacznie przyspieszyć skomplikowany proces integracji ontologii, jednak w obecnej wersji edytor nie jest w stanie obsługiwać więcej, niż jednej ontologii jednocześnie. Niniejsza praca magisterska poświęcona jest rozwinięciu edytora ontologicznego dla systemu OCS o funkcjonalność integracji ontologii. Należy zaznaczyć, iż głównym celem nie jest pełna automatyzacja procesu integracji, a jedynie opracowanie i implementacja prostego i czytelnego interfejsu, który umożliwiłby ręczne zintegrowanie dwóch ontologii w trzecią. Najistotniejsze dla tego projektu wymagania przedstawiono w punkcie na stronie 22. W ramach pracy udało się zrealizować wszystkie najważniejsze wymagania funkcjonalne. Powstała także obszerna dokumentacja projektowa dla zmian zaimplementowanych w edytorze. Przeprowadzono również testy jednostkowe zaimplementowanych funkcjonalności. W pierszej części pracy przedstawiono i porównano istniejące narzędzia, umożliwiające zintegrowanie ontologii. Kolejny rozdział zawiera analizę wykonalności SWOT, omówienie wymagań oraz najważniejsze fragmenty z dokumentacji projektowej, powstałej w ramach prac nad rozszerzeniem. Następnie opisano metodykę 7

8 implementacji, wykorzystane narzędzia oraz najważniejsze problemy napotkane podczas prac implementacyjnych. Ostatni rozdział zawiera ocenę wyników projektu oraz opis dalszych perspektyw rozwoju systemu OCS. 8

9 2. Przegląd dostępnych narzędzi ułatwiających integrację ontologii 2.1. Wprowadzenie Poniższy rozdział prezentuje dwa istniejące rozwiązania w zakresie wspomagania integracji ontologii. Na początku rozdziału znajduje się opis obu rozwiązań, następnie opis przyjętej metodyki oraz ocena rozwiązań za pomocą tej metodyki. Końcowy wynik odzwierciedla stopień dostosowania danego rozwiązania do wymagań dla rozszerzenia edytora OCS przedstawionych w punkcie Na końcu rozdziału znajduje się krótkie podsumowanie wyników Przedstawienie istniejących narzędzi Prompt Prompt jest wtyczką dla edytora ontologii Protégé. Rys Interfejs Prompt - klasy. 9

10 Podobnie jak Protégé, wtyczka Prompt napisana jest w Javie i posiada całkowicie otwarty kod (licencja Mozilla Public License). Jej autorem jest Natasha Noy z uniwersytetu w Stanfordzie. Umożliwia ona zarządzanie wieloma ontologiami jednocześnie. Za jej pomocą, w edytorze Protégé można wykonywać następujące operacje [7]: porównywanie różnych wersji tej samej ontologii, przesuwanie elementów pomiędzy projektami załączonym i załączającym, scalanie dwóch ontologii w jedną, wydzielenie części ontologii. Podczas testowania programu skupiono się na funkcjonalności scalania ontologii. Rys Interfejs Prompt - lista dopasowań. Działa ona według następującego algorytmu [15]: 1. Utworzenie początkowej listy dopasowań na podstawie podobieństwa językowego nazw klas przez Prompt. 10

11 2. Uruchomienie kolejnej operacji przez użytkownika. 3. Wykonanie wybranej operacji, a następnie dokonanie automatycznej aktualizacji listy dopasowań w oparciu o strukturę integrowanych ontologii po dokonaniu zmian przez użytkownika. Powrót do punktu 2. Wtyczka wspomaga więc użytkownika, znajdując miejsca potencjalnie wymagające jego interwencji. Na rysunku 2.2 widoczna jest propozyjca scalenia dwóch elementów: pizzy LaReine oraz rozmiaru Large z ontolgii aminokwasów. Jest ona wynikiem działania tego mechanizmu podpowiedzi. Jak widać otrzymywane rezultaty nie zawsze są sensowne, mimo to mechanizm ten jest niewątpliwie zaletą ocenianego narzędzia. Niestety wtyczka nie jest kompatybilna z najnowszą wersją edytora Protégé ze względu na zmiany w implementacji wtyczek. Do testów wykorzystano edytor Protégé 3.0 oraz wtyczkę Prompt w stabilnej wersji OBO-Edit OBO-Edit to otwarty edytor ontologii napisany w języku Java. Jest on zoptymalizowany pod format plików OBO reprezentujących ontologie biologiczne. Edytor został stworzony przez Gene Ontology Consortium i jest rozwijany w ramach Berkeley Bioinformatics and Ontologies Project [6]. Narzędzie to posiada dwie, interesujące z punktu widzenia integracji, funkcjonalności: klonowanie i scalanie klas, zarządzanie różnymi wersjami tej samej ontologii, niestety tylko w formacie OBO. W trakcie testów podjęta zostanie próba wykorzystania tych funkcjonalności do zintegrowania ontologii. Aby zintegrować 2 ontologie w edytorze OBO-Edit należy je najpierw przekształcić do formatu OBO. Następnie trzeba je scalić wskazując, jako wspólną wersję źródłową dla programu, pusty plik. W efekcie powstanie ontologia, zawierająca wszystkie elementy z obu scalanych ontologii, na której można pracować. Ontologię tą najlepiej zapisywać i przechowywać w formacie OBO. 11

12 Rys Interfejs Obo-Edit. W testach posłużono się najnowszą dostępną wersją edytora, 2.1-beta6. 12

13 2.3. Przyjęta metodyka oceny Przyjęta metodyka oceny narzędzi jest oparta o model oceny jakości oprogramowania zawarty w specyfikacji standardu międzynarodowego ISO/IEC 9126 [12]. Zakłada ona zdefiniowanie modelu jakości produktu programowego na podstawie ogólnego modelu oraz potrzeb biznesowych, a następnie wyznaczenie ilościowej oceny jakości produktu programowego w oparciu o zdefiniowany wcześniej model. Ogólny model jakości produktu programowego, zwany również drzewem jakości, ma następującą strukturę: Rys Ogólny model jakości produktu programowego [12]. Drzewo to składa się z sześciu charakterystyk, z których każda jest wyrażona poprzez kilka metryk. Ostateczną jakość produktu programowego wyznacza się ze wzoru [12]: J = i A i w i i w i (2.1) gdzie: A i - kolejna charakterystyka w i - waga charakterystyki J - jakość Do wyznaczenia wartości charakterystyk wykorzystuje się ich metryki [12]: A i = j M j w j j w j (2.2) gdzie: M j - kolejna metryka w j - waga metryki Aby wyznaczyć jakość analizowanych narzędzi, trzeba jeszcze wybrać interesujące z punktu widzenia projektu charakterystyki i metryki oraz określić ich wagi. Na 13

14 podstawie przygotowanej specyfikacji wymagań systemowych (punkt na stronie 22) dla edytora OCS, utworzono następujący model jakości: Jakość Funkcjonalność Użyteczność Przenośność dopasowanie zabezpieczenie łatwość nauki łatwość użycia zgodność Rys Przyjęty model jakości. Składa się on z następujących charakterystyk oraz metryk: Tab Charakterystyki. Nazwa charakterystyki Waga Funkcjonalność 0.5 Użyteczność 0.3 Przenośność 0.2 Tab Metryki: Zabezpieczenie Nazwa metryki Zabezpieczenie Waga 0.2 Opis Określa stopień zabezpieczenia programu przed nieautoryzowanym dostępem do danych. Sposób pomiaru Przyznanie 1 punktu za twierdzącą odpowiedź na każde z poniższych pytań: 1. Czy możliwe jest ograniczenie dostępu do projektu/ontologii poprzez mechanizm logowania? 2. Czy możliwa jest kontrola i modyfikacja uprawnień do projektu/ontologii? 3. Czy uprawnienia do odczytu, modyfikacji oraz usunięcia są wydzielone? 14

15 Tab Metryki: Dopasowanie Nazwa metryki Dopasowanie Waga 0.8 Opis Określa dopasowanie programu do wymagań określonych w specyfikacji. Sposób pomiaru Przyznanie 1 punktu za twierdzącą odpowiedź na każde z poniższych pytań: 1. Czy podczas integracji możliwe jest scalenie dwóch elementów w jeden? 2. Czy podczas integracji możliwe jest dodawanie nowych elementów? 3. Czy podczas integracji możliwe jest usuwanie elementów? 4. Czy podczas integracji możliwa jest modyfikacja hierarchii elementów? 5. Czy podczas integracji możliwa jest modyfikacja nazw elementów? 6. Czy możliwy jest zapis procesu integracji na dysku oraz jego późniejsze wznowienie? 7. Czy możliwe jest utworzenie nowej ontologii poprzez import elementów? 8. Czy możliwe jest utworzenie nowej ontologii poprzez skopiowanie elementów? 9. Czy możliwe jest filtrowanie elementów ontologii wg ich typu? 10. Czy możliwe jest wyszukiwanie elementów ontologii po ich nazwie? 11. Czy podczas integracji dostępne są pewne sugestie, umożliwiające automatyczne rozwiązanie pewnych potencjalnych problemów integracyjnych wychwyconych przez edytor? 15

16 Tab Metryki: Łatwość nauki Nazwa metryki Łatwość nauki Waga 0.5 Opis Określa stopień dostępności pomocy, przyspieszającej naukę pracy z programem. Sposób pomiaru Przyznanie 1 punktu za twierdzącą odpowiedź na każde z poniższych pytań: 1. Czy istnieje instrukcja użytkownika? 2. Czy pomoc jest dostępna w trakcie korzystania z programu? 3. Czy istnieje pomoc kontekstowa? 4. Czy istnieje samouczek? 5. Czy interfejs użytkownika jest intuicyjny (podobny do stosowanych w innych programach)? Tab Metryki: Łatwość użycia Nazwa metryki Łatwość użycia Waga 0.5 Opis Określa atrakcyjność i czytelność interfejsu użytkownika. Sposób pomiaru Przyznanie 1 punktu za twierdzącą odpowiedź na każde z poniższych pytań: 1. Czy istnieje tekstowo-okienkowy interfejs użytkownika? 2. Czy istnieje graficzny interfejs użytkownika? 3. Czy interfejs jest konfigurowalny? 4. Czy są dostępne skróty klawiszowe? 5. Czy jest dostępne menu kontekstowe? 16

17 Tab Metryki: Zgodność Nazwa metryki Zgodność Waga 1 Opis Określa stopień zgodności programu ze standardami. Sposób pomiaru Przyznanie 1 punktu za twierdzącą odpowiedź na każde z poniższych pytań: 1. Czy możliwe jest poprawne odczytanie ontologii z formatu RDF/XML? 2. Czy możliwe jest poprawne zapisanie ontologii do formatu RDF/XML? 3. Czy możliwe jest poprawne odczytanie ontologii z formatu OWL? 4. Czy możliwe jest poprawne zapisanie ontologii do formatu OWL? 5. Czy możliwe jest poprawne odczytanie ontologii z formatu OWL DL? 6. Czy możliwe jest poprawne zapisanie ontologii do formatu OWL DL? 7. Czy możliwe jest poprawne odczytanie i zapisanie ontologii z/do innych formatów (poza RDF, OWL oraz OWL DL)? Wyznaczone atrybuty i metryki umożliwiają ocenę aplikacji do integracji ontologii, pod kątem dopasowania do potrzeb projektu. 17

18 2.4. Ocena narzędzi Prompt Tab Ocena: Protégé + Prompt Nazwa metryki Dopasowanie Zabezpieczenie Łatwość nauki Łatwość użycia Zgodność Wynik Odpowiedź pozytywna na pytania: 1, 2, 3, 4, 5, 6, 8, 9, 10, 11; Odpowiedź negatywna na pytania: 7; Razem: 10 / 11 Odpowiedź pozytywna na pytania: -; Odpowiedź negatywna na pytania: 1, 2, 3; Razem: 0 / 3 Odpowiedź pozytywna na pytania: 1, 4; Odpowiedź negatywna na pytania: 2, 3, 5; Razem: 2 / 5 Odpowiedź pozytywna na pytania: 1; Odpowiedź negatywna na pytania: 2, 3, 4, 5; Razem: 1 / 5 Odpowiedź pozytywna na pytania: 1, 2, 3, 4, 5, 6, 7; Odpowiedź negatywna na pytania: -; Razem: 7 / 7 Integracja ontologii przy pomocy edytora Protégé z wtyczką Prompt daje duże możliwości. Jego największą zaletą jest czytelny interfejs pozwalający łatwo rozróżnić elementy integrowanych ontologii i ich typy, dzięki odpowiedniemu kolorowaniu, aliasom nadawanym integrowanym ontologiom oraz sufiksom dla wynikowych elementów, które można łatwo usunąć po zakończeniu prac. Niestety czytelność interfejsu nie idzie w parze z łatwością jego użycia. W programie najbardziej brakuje menu kontekstowego i skrótów klawiszowych. Proces integracji ontologii może być czasochłonny i skomplikowany, ze względu na ich potencjalnie duże rozmiary, dlatego też wtyczka Prompt posiada mechanizm podpowiedzi, który zwraca uwagę operatora na możliwe problemy związane z integracją. Pozwala ona także na zapisanie przekształcenia scalającego. Aby wznowić pracę, wystarczy wybrać scalane ontologie oraz przekształcenie. Wtyczka pozwala również na porównywanie różnych wersji tej samej ontologii, jednak funkcjonalność ta nie pozwala na prównanie różnych wersji pliku przekształceń. Korzystając ze wzorów na jakość (2.1, 2.2) uzyskujemy ostateczny wynik edytora Protégé z wtyczką Prompt, który wynosi w przybliżeniu 65%. 18

19 OBO-Edit Tab Ocena: OBO-Edit Nazwa metryki Dopasowanie Zabezpieczenie Łatwość nauki Łatwość użycia Zgodność Wynik Odpowiedź pozytywna na pytania: 1, 2, 3, 4, 5, 9, 10; Odpowiedź negatywna na pytania: 6, 7, 8, 11; Razem: 7 / 11 Odpowiedź pozytywna na pytania: -; Odpowiedź negatywna na pytania: 1, 2, 3; Razem: 0 / 3 Odpowiedź pozytywna na pytania: 1, 2; Odpowiedź negatywna na pytania: 3, 4, 5; Razem: 2 / 5 Odpowiedź pozytywna na pytania: 1, 3, 4, 5; Odpowiedź negatywna na pytania: 2; Razem: 4 / 5 Odpowiedź pozytywna na pytania: 7; Odpowiedź negatywna na pytania: 1, 2, 3, 4, 5, 6; Razem: 1 / 7 Edytor ontologiczny OBO-Edit jest przeznaczony do pracy z ontologiami biologicznymi. Mimo, iż posiada opcje wczytywania i zapisu w formacie OWL, nie są one całkowicie zgodne z tym standardem. Edytor nie posiada funkcji integrowania ontologii, jednak proces integracji jest możliwy poprzez funkcjonalność scalenia dwóch wersji tej samej ontologii. W trakcie edycji możemy scalać, dodawać, usuwać, kopiować i modyfikować wszystkie elementy. Niestety edytor nie ma możliwości rozróżnienia, z której ontologii pochodzą edytowane elementy, co może utrudnić proces integracji. Na dodatek, po wyeksportowaniu ontologii do formatu OWL, w miejscach nazw elementów pojawiają się numerki. W kontekście pracy zespołowej, OBO-Edit pozwala na zapisanie historii zmian wykonanych na ontologii operacji. Po wczytaniu pliku z historią, można wykonywać i cofać wszystkie zapisane w niej operacje. Poprzez opisaną powyżej funkcjonalność scalania można łatwo scalić pliki z historiami operacji, tak aby otrzymać scaloną wersję ontologii, edytowanej jednocześnie przez kilku użytkowników. Daje to podobne możliwości, co plik z przekształceniem scalającym w przypadku wtyczki Prompt. Wynik edytora OBO-Edit to w przybliżeniu 46%. 19

20 2.5. Podsumowanie Oba testowane narzędzia posiadają podobną funkcjonalność. Różnica w punktach, na korzyść edytora Protégé z wtyczką Prompt, wynika głównie z metryki zgodność, gdyż OBO-Edit jest rozwiązaniem dedykowanym dla formatu OBO. Niestety żadne z narzędzi nie zapewnia mechanizmu uwierzytelniania, ani kontroli wersji. Wymusza to konieczność stosowania narzędzi zewnętrznych (takich jak SVN, czy CVS), które najczęściej opierają się na porównywaniu tekstu. Ułatwieniem może być fakt, iż przy scalaniu wersji w obu narzędziach, wystarczy scalić jeden plik ze zmianami, zamiast całej ontologii. Znacznie prościej i wydajniej byłoby jednak pracować z narzędziem dedykowanym do pracy zespołowej z ontologiami. Właśnie takim narzędziem jest system OCS. Posiada on wbudowane mechanizmy uwierzytelniania i kontroli wersji, a w ramach niniejszej pracy magisterskiej zostanie rozszerzony o możliwość zintegrowania ontologii. Dalsze plany rozwoju edytora OCS zostały przedstawione w punkcie

21 3. Specyfikacja wymagań i projekt rozszerzenia systemu OCS 3.1. Wprowadzenie Celem projektu jest wzbogacenie edytora ontologicznego systemu OCS o interfejs umożliwiający ręczne zintegrowanie dwóch ontologii w trzecią. Poniższy rozdział zawiera najistotniejsze fragmenty z dokumentacji, powstałej w trakcie prac nad rozszerzeniem dla edytora OCS. Pierwszą część rozdziału stanowi ekstrakt z dokumentu Specyfikacji Wymagań Systemowych oraz krótkie omówienie wymagań i istniejącej architektury systemu OCS. Dalej umieszczono najważniejsze fragmenty analizy obiektowej. Następnie omówiono strukturę plików projektu integracji. Kolejne podrozdziały zawierają plan prac implementacyjnych w postaci harmonogramu i analizę SWOT. Na końcu szczegółowo opisany jest projekt interfejsu użytkownika stanowiący istotną część implementacji rozszerzenia Wymagania Wymagania funkcjonalne i niefunkcjonalne Poniżej znajduje się zestawienie wymagań funkcjonalnych oraz niefunkcjonalnych w formie dwóch tablic. Wymagania te są szczegółowo opisane w załączonej Specyfikacji Wymagań Systemowych. Dla zwiększenia czytelności posortowano je wg przyjętych priorytetów, zaczynając od najważniejszych: 21

22 Tab Wymagania funkcjonalne. Kod Nazwa Priorytet WF005 Utworzenie projektu integracji ontologii. bardzo ważne WF006 Dodawanie nowych elementów. bardzo ważne WF008 Zapisanie projektu integracji ontologii. bardzo ważne WF009 Wczytanie projektu integracji ontologii. bardzo ważne WF011 Utworzenie nowej ontologii poprzez import elementów. bardzo ważne WF012 Utworzenie nowej ontologii poprzez skopiowanie elementów. bardzo ważne WF015 Modyfikacja elementów. ważne WF007 Usuwanie elementów. ważne WF010 Wybór ontologii. średnio ważne WF013 Wizualizacja importowanych ontologii. średnio ważne WF014 Jednoczesna wizualizacja integrowanych ontologii średnio ważne WF003 Funkcja Zasugeruj. mało ważne Tab Wymagania niefunkcjonalne. Kod Nazwa Priorytet WD001 Obsługa obiektów OWL API. bardzo ważne WJ003 Obsługiwane wersje Javy. bardzo ważne WJ004 Obsługiwane wersje OWL API. bardzo ważne WU001 Tekstowo-okienkowy interfejs do integracji. bardzo ważne WI001 Dokumentacja w Javadoc. ważne WI003 Dokumentacja w języku polskim. ważne WI004 Nazwy zmiennych i funkcji w języku angielskim. ważne WU002 Graficzny interfejs do integracji. mało ważne WI002 Dokumentacja w języku angielskim. mało ważne Spełnienie wymagań określonych jako średnio i mało ważne, jest opcjonalne. Są wśród nich m.in. wymagania dotyczące wizualizacji oraz funkcja automatycznego podpowiadania przy tworzeniu powiązań. Funkcje te zostaną zrealizowane, jeżeli projekt zostanie zakończony przed czasem. 22

23 Diagram przypadków użycia Diagram ten przedstawia funkcjonalność wnoszoną lub zmienianą przez moduł do integracji. Nie zawiera on przypadków użycia, które nie będą modyfikowane przez moduł. Rys Diagram przypadków użycia. Z diagramu można odczytać trzy główne funkcjonalności, które muszą zostać zaimplementowane. Po pierwsze, musi istnieć możliwość utworzenia projektu integracji ontologii oraz jego zapisywania i wczytywania. Główną i najważniejszą funkcją będzie tryb edycji projektu integracji. Najczęściej będzie to dodawanie elementów opisujących wzajemne relacje pomiędzy integrowanymi ontologiami. Dodatkowo, przewidziano także możliwość modyfikacji i usunięcia istniejących elementów. Po zakończeniu prac, będzie można wyeksportować wynikową ontologię do pliku na dwa sposoby: poprzez import integrowanych ontologii lub poprzez skopiowanie wszystkich elementów do nowej przestrzeni nazw Architektura System OCS napisany jest w technologii J2EE. Na rysunku 3.2 pokazano jego obecną architekturę. 23

24 Rys Architektura systemu OCS [9]. Realizowany projekt ma na celu jedynie rozszerzenie edytora dla systemu OCS (zaznaczonego na rys. 3.2), dlatego też istniejąca architektura systemu OCS pozostanie bez zmian. Sam edytor jest aplikacją Java Web Start, działającą po stronie klienta. Takie rozwiązanie pozwala na łatwe pobranie aktualnej wersji edytora z serwera i jego późniejsze uruchamianie nawet bez połączenia internetowego. Prace implementacyjne obejmą refaktoryzację i rozszerzenie funkcjonalności kilku istniejących klas oraz utworzenie kilku nowych pakietów. 24

25 3.3. Analiza obiektowa W tym rozdziale, zostaną przedstawione najważniejsze diagramy klas, przedstawiające w jaki sposób komponenty interfejsu użytkownika zostaną rozszerzone i wykorzystane do budowy interfejsu zaprojektowanego w poprzednim rozdziale niniejszej pracy. Jest to jedynie fragment analizy obiektowej, która została stworzona na potrzeby tego projektu. Interfejs edytora ontologicznego OCS został wykonany przy użyciu biblioteki Swing, dlatego też wiele przedstawionych w tym rozdziale klas będzie rozszerzało lub korzystało w inny sposób z elementów tej biblioteki. Na rysunku 3.3 pokazano strukturę pakietu org.pg.eti.kask.ont.editor.tree.model. W pakiecie tym znajdują się klasy, odpowiedzialne za przechowywanie drzewiastych struktur poszczególnych rodzajów elementów ontologii. Rys Diagram DK004 - Klasy odpowiedzialne za modelowanie drzew elementów ontologii. Klasa BasicTreeNode reprezentuje element ontologii w drzewie. Zostanie ona rozszerzona o wewnętrzny obiekt typu wyliczeniowego TypeOfNode, który określa rodzaj reprezentowanego elementu, oraz o pole elementontologyalias przechowu- 25

26 jące informację o aliasie ontologii, z której element pochodzi. Pozostałe klasy rozszerzają klasę javax.swing.tree.defaulttreemodel, która przechowuje model wyświetlanego w komponentach javax.swing.jtree drzewa. Po rozszerzeniu uzyskały one nowy tryb działania, w którym są w stanie przechowywać dane o elementach trzech ontologii jednocześnie. Wyznacznikiem trybu działania tych struktur jest zmienna integrationpreview, która jest ustawiana w konstruktorze danej klasy. Na rysunku 3.4 widoczna jest struktura pakietu org.pg.eti.kask.ont.editor.tree. Rys Diagram DK003 - Klasy odpowiedzialne za obsługę drzew elementów ontologii. Jego główną klasą jest klasa EditableTree. Rozszerza ona klasę javax.swing.jtree umożliwiając dodawanie i usuwanie węzłów drzewa oraz pobranie zaznaczonych ele- 26

27 mentów drzewa w wygodnej formie. Na diagramie widoczne są również klasy reprezentujące dwa rodzaje paneli z pakietu org.pg.eti.kask.ont.editor.panels. Klasa ComponentRepositoryPanel reprezentuje główny panel, na którym widoczne są drzewa z elementami danego typu z wszystkich trzech integrowanych ontologii. Klasa IntegrationPanel reprezentuje panel stworzony specjalnie na potrzeby projektu integracji ontologii, opisany bardziej szczegółowo w dalszej części tego rozdziału. Pozostałe klasy rozszerzają klasę EditableTree dając możliwość zróżnicowania menu kontekstowego dla różnego rodzaju drzew. Na rysunku 3.5 pokazano strukturę klas panelu integracji. Rys Diagram DK002 - Diagram klas przedstawiający strukturę panelu integracji. Składa się on z dwóch drzew reprezentujących elementy scalanych ontologii. Przyciski operacji, umieszczone pomiędzy drzewami, obsługiwane są poprzez klasy typu Listener. W określeniu typu operacji pomagają specjalnie w tym celu utworzone typy wyliczeniowe. 27

28 3.4. Struktura plików projektu Zgodnie z wymaganiami WF008 oraz WF009 (tab. 3.1), musi istnieć możliwość zapisania projektu na dysku oraz wznowienia zapisanej w ten sposób pracy. Projekt integracji ontologii, oprócz danych które zawiera każdy projekt systemu OCS, musi zapisać szereg dodatkowych informacji. Przede wszystkim, konieczne jest zapisanie obu integrowanych ontologii oraz wszystkich utworzonych w procesie integracji elementów. Integrowane ontologie zostaną zapisane w plikach o nazwie będącej aliasem nadanym danej ontologii podczas tworzenia projektu integracji. Ponieważ elementy wynikowej ontologii pochodzące z ontologii integrowanych znajdą się w tych dwóch plikach, w pliku base.ont zostaną zapisane jedynie nowe elementy, utworzone podczas integracji. Do deskryptora projektu zostanie dodany nowy znacznik integration z atrybutem fileuri. Obecność tego znacznika w deskryptorze oznaczać będzie, że dany projekt jest projektem integracji ontologii, a atrybut fileuri będzie wskazywał ścieżkę do deskryptora integracji. Strukturę deskryptora integracji najlepiej zobrazuje przykład: <?xml version="1.0" encoding="utf-8"?> <integration> <ontologies> <ontology alias="amino-acid" fileuri="file:/home/infinity/ocs/acidpizza/amino-acid" /> <ontology alias="pizza" fileuri="file:/home/infinity/ocs/acidpizza/pizza" /> </ontologies> <newontology alias="acidpizza2" /> </integration> Zawiera on informacje o aliasach wszystkich trzech ontologii oraz o położeniu plików ontologii integrowanych. 28

29 3.5. Harmonogram prac Rozdział ten zawiera harmonogram prac w formie tablicy oraz dwóch wykresów Gantta. Rys Planowany harmonogram prac. 29

30 Rys Planowany harmonogram prac. 30

31 Rys Planowany harmonogram prac. 31

32 3.6. Analiza SWOT Celem analizy SWOT jest ocena wykonalności postawionego przed autorem niniejszej pracy zadania. W ramach przeprowadzonej analizy SWOT zidentyfikowano silne i słabe strony projektu rozszerzenia edytora OCS (czynniki wewnętrzne) oraz szanse i zagrożenia, które mogą się pojawić w trakcie realizacji projektu (czynniki zewnętrzne). Tab Czynniki zidentyfikowane w trakcie analizy SWOT Mocne strony znajomość języka OWL znajomość biblioteki OWL API Słabe strony brak dokumentacji projektowej dla istniejącej części edytora znajomość pakietu Swing Szanse napotkanie przystępnego, łatwo rozszerzalnego kodu przyspieszenie prac dzięki wysokiej dostępności klienta Zagrożenia napotkanie skomplikowanego, trudno rozszerzalnego kodu spowolnienie prac z powodu innych zajęć na uczelni Zidentyfikowane mocne strony projektu pozwolą częściowo zniwelować słabości oraz zagrożenie związane z koniecznością przeanalizowania istniejącego kodu edytora OCS. Największym zagrożeniem dla realizowanego projektu może się okazać po prostu brak czasu, który może spowodować znaczne opóźnienia. 32

33 3.7. Projekt interfejsu użytkownika Interfejs użytkownika jest kluczowym elementem edytora. Na rysunku 3.9 pokazano istniejący interfejs edytora służący do edycji pojedynczej ontologii. Rys Interfejs edytora OCS podczas edycji pojedynczej ontologii. Po lewej stronie widoczny jest panel główny edytora. Ontologia jest na nim prezentowana jako trzy drzewa: klas, właściwości i bytów. Wszystkie możliwe do wykonania na ontologii operacje są dostępne z menu kontekstowego na tym panelu. Większy panel po prawej stronie zawiera zakładki, prezentujące ontologię wizualnie w postaci różnych grafów. Do pracy z projektem integracji ontologii, konieczne jest zaprojektowanie nowego interfejsu, ponieważ użytkownik będzie pracował jednocześnie z trzema ontologiami: dwoma integrowanymi oraz wynikową. Wymusza to konieczność zaprezentowania trzech ontologii jednocześnie, najlepiej w tej samej lub zbliżonej formie. W ramach pracy skupiono się na stworzeniu interfejsu tekstowo-okienkowego. Stworzenie interfejsu graficznego, umożliwiającego integrowanie ontologii, a więc prezentującego kilka ontologii jednocześnie, jest tematem osobnej pracy magisterskiej. Na rysunku 3.10 pokazano projekt interfejsu użytkownika dla edycji projektu integracji ontologii. 33

34 Rys Interfejs edytora OCS podczas edycji projektu integracji ontologii. Dodatkowa funkcjonalność wymaga dużo miejsca i dlatego zostanie umieszczona na większym, prawym panelu. Posługiwanie się pełnym URI dla każdej z integrowanych ontologii byłoby kłopotliwe, ze względu na jego długość, dlatego też podczas tworzenia projektu integracji ontologii, użytkownik będzie zobowiązany do wprowadzenia aliasu dla każdej z trzech ontologii. Alias ten powinien być jak najkrótszym ciągiem znaków, różnym dla każdej z ontologii. Jednocześnie powinien on umożliwiać łatwe rozpoznanie ontologii, którą reprezentuje. Do prezentacji ontologii zdecydowano się wykorzystać istniejący już komponent drzewa znajdujący się na panelu głównym. Na rysunku przedstawione są przykładowe drzewa klas dla ontologii integrowanych (aliasy A oraz B ) oraz wynikowej (alias C ). Dzięki zastosowaniu aliasów, wiadomo będzie która ontologia jest prezentowana w danym drzewie. Elementy prezentowane w głównym drzewie ontologii wynikowej będą poprzedzone etykietami w zależności od ich pochodzenia. Widoczne na rysunku 3.1 etykiety, oznaczają: A, B lub C - widoczny element pochodzi z ontologii oznaczonej danym aliasem, A+B - widoczny element pochodzi z ontologii A i jednocześnie z B (jest zdefiniowany w obu ontologiach), Usunięto - widoczny element został usunięty i nie zostanie zapisany podczas eksportu. 34

35 Pomiędzy dwoma integrowanymi ontologiami znajdować się będą przyciski, umożliwiające szybkie dodanie lub usunięcie relacji wiążących elementy obu ontologii. Odpowiednie przyciski (dodawania lub usuwania relacji) będą włączane i wyłączane w zależności od istnienia danej relacji, pomiędzy zaznaczonymi w obu drzewach elementami. Dzięki takiemu rozwiązaniu, użytkownik będzie zawsze wiedział, czy zaznaczone elementy są w danym związku. Inne, bardziej złożone operacje, będzie można wykonać poprzez menu kontekstowe w głównym drzewie, w sposób identyczny jak podczas edycji pojedynczej ontologii. Możliwe jest też dalsze usprawnienie zaprojektowanego interfejsu, obejmujące następujące funkcje: implementacja wyświetlania elementów w postaci listy posortowanej alfabetycznie zamiast drzewa (widoczna na rys. 3.10), implementacja filtra umożliwiającego wyszukiwanie elementów za pomocą wyrażeń regularnych (widoczna na rys. 3.10). 35

36 4. Implementacja 4.1. Wprowadzenie W rozdziale tym, opisano przebieg prac związanych z implementacją rozszerzenia edytora ontologicznego OCS. Na początku znajduje się opis metodyki wg której prowadzone były prace nad projektem. Następnie wymieniono i krótko opisano wykorzystywane do tych prac środowiska i narzędzia. Na końcu opisano najpoważniejsze problemy napotkane w trakcie prac oraz przedstawiono kilka szczegółowych przykładów zastosowanych w trakcie prac rozwiązań implementacyjnych Metodologia projektowania i implementacji Podczas prac nad rozszerzaniem edytora OCS posłużono się metodyką RUP. Definiuje ona iteracyjny proces wytwarzania oprogramowania, który może zostać odpowiednio dopasowany, w zależności od potrzeb konkretnego projektu. Projekt wykonywany w ramach niniejszej pracy magisterskiej jest specyficzny z dwóch powodów. Po pierwsze, jest to praca jednoosobowa, a więc nietypowa, jeżeli chodzi o projekty informatyczne. Po drugie, ma on na celu rozszerzenie funkcjonalności istniejącego już edytora dla systemu OCS. W związku z tym, dokumentacja wytwarzana w ramach przyjętej metodyki, została odpowiednio przycięta i dopasowana do specyfiki projektu. W szczególności, ze względu na brak komunikacji pomiędzy członkami zespołu (występuje jedynie komunikacja z klientem), możliwe było znaczne skrócenie czasu trwania pojedynczej iteracji. Dzięki temu, implementacja przebiegała małymi kroczkami, a klient miał lepszą kontrolę nad kierunkiem rozwoju edytora. Metodyka RUP dzieli proces wytwarzania oprogramowania na cztery fazy [2]: 1. Faza wstępna (Inception). 2. Faza opracowywania (Elaboration). 3. Faza konstrukcji (Construction). 4. Faza przejścia (Transition). Celem fazy wstępnej jest przede wszystkim wyznaczenie zakresu prac. W ramach tej fazy dokonano przeglądu literatury oraz istniejących narzędzi w temacie integracji ontologii. Następnie rozpoczęto prace nad Specyfikacją Wymagań Systemowych oraz sporządzono pierwsze wersje Diagramu Przypadków Użycia, określającego docelową funkcjonalność systemu. W kolejnych iteracjach tej fazy aktualizowano dokument SWS. 36

37 W fazie opracowania, wstępnie zapoznano się z architekturą oraz rozwiązaniami zastosowanymi w istniejącej wersji edytora OCS. Umożliwiło to uszczegółowienie wymagań i w konsekwencji utworzenie pełnego dokumentu SWS z dokładnym opisem przypadków użycia oraz wszystkich wymagań. W fazie tej zaprojektowano również interfejsy oraz architekturę rozszerzenia. W trakcie kolejnych iteracji tej fazy aktualizowano projekt interfejsu oraz analizę obiektową. Najbardziej czasochłonną fazą jest faza konstrukcji. W ramach tej fazy mieści się większość wykonanych prac implementacyjnych oraz testów wewnętrznych edytora OCS. Każda faza konstrukcji kończyła się utworzeniem kolejnej wersji edytora w repozytorium SVN. Ostatnią fazą jest faza przejścia. W trakcie tej fazy zaimplementowana w fazie konstrukcji funkcjonalność jest testowana przez klienta, mgr inż. Tomasza Boińskiego, który następnie akceptuje zmiany lub zgłasza do nich uwagi. Po otrzymaniu uwag od klienta, następuje kolejna iteracja. Podczas ostatniej iteracji zostały przeprowadzone gruntowne testy pełnej funkcjonalności edytora OCS, celem uzyskania ostatecznej akceptacji dla wszystkich wprowadzonych zmian Środowiska i narzędzia wspomagające Prace nad projektem były prowadzone w systemie Ubuntu Podstawowym narzędziem pracy było środowisko NetBeans IDE 6.5. Jest to zintegrowane środowisko deweloperskie, które wspomaga prace nad kodem poprzez zaawansowane kolorowanie składni, podpowiedzi dopasowane do kontekstu oraz daje natychmiastowy dostęp do odpowiednich fragmentów dokumentacji w Javadoc. Środowisko to ma również wbudowanego klienta SVN oraz narzędzie do porównywania i scalania plików tekstowych. Przydatny był również wbudowany debugger, który można było podłączyć do uruchomionego edytora w dowolnej chwili. Narzędzie to posiada także wtyczkę, umożliwiającą interpretację i wykonywanie skryptów programu Ant, na których opiera się proces budowania i uruchamiania wszystkich komponentów systemu OCS, oraz wtyczkę umożliwiającą łatwe tworzenie modeli i diagramów w języku UML. Dokumentacja projektowa oraz treść niniejszej pracy została napisana w środowisku L A TEX. Harmonogram prac został utworzony za pomocą darmowego programu Gantt- Project. Projekt interfejsu użytkownika został wykonany za pomocą aplikacji Balsamiq Mockups. Narzędzie to w darmowej wersji pozwala na szybkie zaprojektowanie nawet najbardziej złożonego interfejsu użytkownika. Do przeszukiwania zasobów sieci internetowej wykorzystano przeglądarkę Google 37

38 Chrome w wersji przeznaczonej dla systemów linuksowych oraz strony i scholar.google.pl Główne problemy informatyczne Najprostszym sposobem zintegrowania ontologii jest utworzenie nowej, importującej ontologie integrowane. Taka ontologia zawierałaby jedynie deklaracje importu, reprezentowane w języku OWL za pomocą znacznika owl:imports i odwołujące się do importowanych ontologii poprzez ich URI, oraz elementy dodane w procesie integracji, zdefiniowane w ramach URI nowej ontologii. Takie rozwiązanie uniemożliwiałoby jednak dokonywanie jakichkolwiek zmian w importowanych ontologiach (wymagania WF007 oraz W013 w tab. 3.1). Dodatkowo, URI wcale nie musi wskazywać lokalizacji pliku z ontologią. W takim przypadku nie będzie można odczytać i przedstawić w edytorze zaimportowanych elementów. W związku z powyższymi problemami zdecydowano się na implementację eksportu ontologii na dwa sposoby. Pierwszy to zaimportowanie integrowanych ontologii oraz skopiowanie ich elementów z zachowaniem URI (wymaganie WF011 w tab. 3.1). Rozwiązanie to gwarantuje, że odczytanie zaimportowanych elementów będzie zawsze możliwe. Drugi sposób to skopiowanie elementów z integrowanych ontologii połączone ze zmianą ich URI na URI docelowej ontologii (wymaganie WF012 w tab. 3.1). Daje on możliwość edycji i usuwania wszystkich elementów znajdujących się w wynikowej ontologii, jednak aby eksport mógł się poprawnie zakończyć konieczne jest rozwiązanie wszystkich istniejących konfliktów nazw. W pierwszym rozwiązaniu elementy takie są rozróżniane poprzez ich URI, jednak w tym przypadku będzie ono jednakowe, co spowodowałoby przypadkowe scalenie elementów, które w rzeczywistości mogą oznaczać co innego. Kolejnym utrudnieniem w pracach nad projektem był fakt, iż system OCS nie posiadał szczegółowej dokumentacji ani nawet dokumentacji w Javadoc. Z tego powodu konieczne było poświęcenie kilku dni na mozolne czytanie kodu, celem zrozumienia sposobu działania edytora. Aby uniknąć tego typu sytuacji w przyszłości, w ramach prac projektowych dokumentację w Javadoc tworzono na bieżąco. Utworzono także dokument Analizy Obiektowej zawierający szczegółowe informacje o strukturze edytora ontologicznego. Co więcej, system OCS nie był zaprojektowany do pracy z kilkoma ontologiami jednocześnie. Dane jedynej edytowanej ontologii były zapisywane w pliku o nazwie base.ont, a w samej aplikacji trzymane jako pojedyncza zmienna w klasie będącej singletonem. Podobnie było w klasach odpowiedzialnych za przechowywanie modeli drzew elementów prezentowanej ontologii. Wszystkie te miejsca wymagały stosownej modyfikacji i usprawnień. 38

39 4.5. Przykłady rozwiązań szczegółowych Struktura komponentów panelu integracji Panel integracji, widoczny na rys po prawej stronie, posiada sporo wbudowanych przycisków. Do ich obsługi konieczne było utworzenie nasłuchiwaczy (klas typu Listener), które asynchronicznie wykonają przypisane im zadania. W większości przypadków nasłuchiwacze implementowane są jako klasy wewnętrzne, jednak ich złożoność w projekcie znacznie obniżyła by czytelność kodu klasy IntegraionPanel. Przedstawiony na rys. 3.5 pakiet, oprócz klasy głównej, zawiera trzy rodzaje klas. Trzy klasy typu Actionlistener zawierają implementację obsługi akcji przycisków dostępnych z trzech zakładek panelu (przedstawiających klasy, właściwości oraz byty). Klasy typu SelectionChangeListener służą do włączania i wyłączania przycisków, w zależności od istnienia związanego z nimi związku pomiędzy wybranymi na panelu klasami. Ze względu na dużą liczbę zaimplementowanych na panelu integracji akcji, trzeba było im zapewnić łatwy i przejrzysty dostęp. Aby to osiągnąć, reprezentujące je ciągi znakowe zgrupowano w trzech typach wyliczeniowych Enum, po jednym dla każdej zakładki Wybór zarządcy układu Ważną częścią prac implementacyjnych były prace nad interfejsem. Został on w całości napisany za pomocą biblioteki Swing. W bibliotece tej do rozmieszczania i określania zachowania poszczególnych elementów wykorzystuje się zarządców układu, czyli klasy rozszerzające java.awt.layoutmanager. W samej bibliotece dostępnych jest kilka takich klas: BorderLayout, BoxLayout, CardLayout, FlowLayout, GridBagLayout, GridLayout, GroupLayout, SpringLayout. Każda z tych klas umożliwia rozmieszczenie elementów interfejsu w inny sposób. 39

40 Autor pierwszej implementacji edytora dla systemu OCS zdecydował się na wykorzystanie zarządcy GroupLayout. Zarządca ten był zaprojektowany dla narzędzi do graficznej edycji interfejsu użytkownika takich jak Mtisse, które jest częścią w środowiska NetBeans IDE. Aby mieć lepszą kontrolę, nad konstruowanym interfejsem użytkownika, został on jednak w całości napisany ręcznie. Aby skonstruować interfejs za pomocą tego zarządcy, trzeba zdefiniować dwa wymiary: poziomy i pionowy. Oznacza to, że definiując rozkład elementów wzdłuż jednej z osi, można zapomnieć o osi drugiej. Niestety wadą takiego rozwiązania jest fakt, iż każdy z elementów interfejsu musi być zadeklarowany zarówno w wymiarze poziomym jak i pionowym. Dodatkowo, kod powstający przy wykorzystaniu tego zarządcy jest nieczytelny i uniemożliwia szybkie określenie pozycji pojedynczego elementu, gdyż jest on zdefiniowany w dwóch miejscach. Poniżej znajduje się przykładowy fragment kodu tworzącego interfejs okienka zawierający pięć elementów wyciągnięty z edytora OCS: JPanel mainpanel = new JPanel(); GroupLayout layout = new GroupLayout(mainPanel); mainpanel.setlayout(layout); layout.setautocreatecontainergaps(true); layout.setautocreategaps(true); layout.sethorizontalgroup(layout.createsequentialgroup().addgroup(layout.createparallelgroup(grouplayout.alignment.leading).addcomponent(label).addgroup(layout.createsequentialgroup().addgroup(layout.createparallelgroup(grouplayout.alignment.trailing).addcomponent(domainclasseslistscrollpane).addgroup(layout.createsequentialgroup().addcomponent(okbutton).addcomponent(cancelbutton))).addgroup(layout.createparallelgroup(grouplayout.alignment.leading).addcomponent(addbutton).addcomponent(removebutton))) )); //pozniej pionowej layout.setverticalgroup(layout.createsequentialgroup().addcomponent(label).addgroup(layout.createparallelgroup(grouplayout.alignment.leading).addcomponent(domainclasseslistscrollpane) 40

41 .addgroup(layout.createsequentialgroup().addcomponent(addbutton).addcomponent(removebutton))).addgroup(layout.createparallelgroup().addcomponent(okbutton).addcomponent(cancelbutton))); layout.linksize(swingconstants.horizontal, okbutton, cancelbutton); layout.linksize(swingconstants.horizontal, removebutton, addbutton); W powyższym przykładzie nie zachowano tabulacji, która nieco ułatwia odszukiwanie nawiasów. Z powodu wymienionych wad, wykorzystywanie tego zarządcy do ręcznego tworzenia bardziej skomplikowanych interfejsów użytkownika nie jest zalecane. Wg [5], najbardziej elastycznym i konfigurowalnym zarządcą układu jest GridBagLayout. Umożliwia on rozmieszczanie komponentów interfejsu przy użyciu tablicy. Każdy komponent interfejsu rozmieszczany za pomocą tego zarządcy musi mieć zdefiniowane reguły, ograniczenia określające jego położenie. Zbiór takich ograniczeń stanowi klasa java.awt.gridbagconstraints. Obiekty tej klasy mogą być tworzone oddzielnie dla każdego komponentu, lecz mogą być także wykorzystywane wielokrotnie. Wielokrotne wykorzystywanie ograniczeń znacznie skraca kod oraz zwiększa jego czytelność, w przypadku rozmieszczania kolejnych komponentów (np. w jednej kolumnie). Poniższa lista przedstawia ograniczenia, które można nałożyć na komponent: gridx, gridy - Określają współrzędne komórki komponentu lub jego górnego lewego narożnika, jeżeli jest rozciągnięty (domyślnie 0, 0); gridwidth, gridheight - Określają szerokość i wysokość elementu w komórkach (domyślnie 1, 1); fill, weightx, weighty - Jeżeli komórka jest większa, niż zawarty w niej komponent, umożliwia ustawienie rozszerzania się komponentu w wybranym kierunku. Szybkość rozszerzania się można regulować za pomocą wag (domyślnie elementy nie są rozszerzane razem z komórkami); ipadx, ipady - Określają margines wewnętrzny komórki (domyślnie brak); insets - Obiekt określający zewnętrzny margines komponentu (domyślnie brak); anchor - Określa wyrównanie elementu w poziomie i w pionie. Ze względu na liczne zalety, podczas implementacji rozszerzenia zdecydowano się stosować zarządcę GridBagLayout. Poniższy fragment kodu przedstawia sposób w jaki 41

42 rozmieszczono główne panele interfejsu użytkownika, widocznego na rysunku 3.10 (prawy panel): // Panele edycji ontologii źródłowej treepanelc = new GridBagConstraints(); // gridx - różne numery kolumn: 0 i~2 treepanelc.gridx = GridBagConstraints.RELATIVE; treepanelc.gridy = 0; treepanelc.gridheight = 2; treepanelc.insets = new Insets(5, 5, 5, 5); treepanelc.anchor = GridBagConstraints.CENTER; treepanelc.fill = GridBagConstraints.BOTH; treepanelc.weightx = 0.5; treepanelc.weighty = 1.0; // Panel z~przyciskami operacji buttonpanelc = new GridBagConstraints(); buttonpanelc.gridx = 1; buttonpanelc.gridy = GridBagConstraints.RELATIVE; buttonpanelc.insets = new Insets(5, 2, 5, 2); buttonpanelc.anchor = GridBagConstraints.PAGE_START; buttonpanelc.fill = GridBagConstraints.VERTICAL; buttonpanelc.weighty = 1.0; // Pojedynczy element wewnętrzny singlec = new GridBagConstraints(); singlec.gridx = 0; singlec.gridy = 0; singlec.insets = new Insets(1, 1, 1, 1); singlec.anchor = GridBagConstraints.CENTER; singlec.fill = GridBagConstraints.BOTH; singlec.weightx = 1.0; singlec.weighty = 1.0;... /** * Obudowuje zadany komponent w~ramkę z~tytułem. inner komponent do~obudowania title tytuł dla ramki panel z~komponentem w~zatytułowanej ramce */ private JPanel putintotitledframe(component inner, String title) 42

43 { } JPanel titledframe = new JPanel(); titledframe.setlayout(new GridBagLayout()); titledframe.setborder(borderfactory.createtitledborder(title)); titledframe.add(inner, singlec); return titledframe;... treepanelc.gridx = 0; classespanel.add( putintotitledframe(classesaddoperationspanel, messages.getstring("addaxiom.title") ), buttonpanelc); classespanel.add( putintotitledframe(classesremoveoperationspanel, messages.getstring("removeaxiom.title") ), buttonpanelc); treepanelc.gridx = 2; classespanel.add(putintotitledframe(scrollpaneb, aliasb), treepanelc); Trzy, zdefiniowane na początku przykładu, zestawy ograniczeń oraz funkcję wykorzystano także do utworzenia pozostałych zakładek edytora. Zastosowanie powyższej techniki podczas dalszego rozwoju interfejsu tekstowo-okienkowego w edytorze OCS może znacznie ułatwić dalsze prace nad jego rozwojem. 43

44 5. Podsumowanie 5.1. Ocena rozszerzenia W chwili obecnej prace nad rozszerzeniem są na ukończeniu. Na rysunku 5.1 pokazano interfejs edycji projektu integracji ontologii. Rys Interfejs edycji integracji ontologii. Zaimplementowana została znaczna większość wymaganych funkcjonalności (tab. 3.1) wraz ze stosowną dokumentacją (tab. 3.2). Wszystkie zaimplementowane funkcjonalności zostały przetestowane wewnętrznie oraz zaakceptowane przez klienta, mgr inż. Tomasza Boińskiego. Testy końcowe, obejmujące całą funkcjonalność rozszerzenia, zostaną przeprowadzone na podstawie, zdefiniowanych w specyfikacji wymagań funkcjonalnych, przypadków użycia. Niestety nie udało się zmieścić w zakładanym na semestr dziesiąty harmonogramie prac. Przyczyną takiego stanu rzeczy był m.in. stan zaawansowania edytora, który okazał się być mniejszy, niż oczekiwano. Jednocześnie nakład pracy do wykonania został niedoszacowany. Prace implementacyjne zajęły około trzykrotnie więcej czasu, niż planowano. W ramach tych prac powstało około pięciu tysięcy linii kodu w języku Java. Efekty tych prac można jednak śmiało uznać za sukces, o czym najlepiej świad- 44

45 czy zadowolenie klienta. W ich wyniku powstała kolejna funkcjonalność edytora, dająca mu nowe możliwości oraz zwiększająca jego atrakcyjność względem innych podobnych narzędzi. Dodatkowo powstała również pełna dokumentacja nowych oraz zmienianych fragmentów edytora, co ułatwi dalsze prace nad nim Dalsze możliwości rozbudowy Obecnie trwają intensywne prace nad rozwojem edytora ontologicznego dla systemu OCS. Zaimplementowany interfejs umożliwiający integrację ontologii, w przyszłości ma zostać uzupełniony o odpowiednią wizualizację na bazie biblioteki SOVA, stanowiącą jednocześnie interfejs graficzny, a także o moduł automatyzacji wyszukiwania i tworzenia powiązań pomiędzy podobnymi elementami obu integrowanych ontologii. Docelowo, projekt integracji ontologii, również można będzie przechowywać bezpośrednio w systemie OCS. Zaimplementowany ma również zostać mechanizm porównywania różnych wersji tej samej ontologii operujący bezpośrednio na ontologiach poprzez interfejs tekstowo-okienkowy oraz graficzny. Następnie mechanizm ten można będzie rozszerzyć tak, aby był w stanie porównać i scalić różne wersje projektu integracji ontologii. Jeżeli wyżej wymienione funkcjonalności zostaną zrealizowane, edytor OCS ma szansę stać się jednym z wiodących narzędzi do edycji ontologii. 45

46 Literatura [1] Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web. Scientific American, [2] Rational Software Corporation. Rational Unified Process: Best Practices for Software development Teams. Rational Software White Paper TP026B, Rev 11/01, [3] Stephan Grimm, Pascal Hitzler, Andreas Abecker. Knowledge Representation and Ontologies. Springer, [4] Thomas R. Gruber. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, 5(2), [5] The java tutorials - laying out components within a container. [6] Strona domowa edytora obo-edit. [7] Strona domowa wtyczki prompt. [8] Strona sieci semantycznej. [9] Andrzej Jakowski. Platforma do edycji ontologii z dostępem przez WWW. Praca magisterska na Wydziale ETI Politechniki Gdańskiej, Gdańsk, [10] Ernesto Jimenez-Ruiz, Bernardo Cuenca Grau, Ian Horrocks, Rafael Berlanga. Ontology Integration Using Mappings: Towards Getting the Right Logical Consequences [11] Katedra Architektury Systemów Komputerowych (KASK). Inżynieria ontologii i jej zastosowania. Politechnika Gdańska, Gdańsk, [12] Andrzej Kobyliński. ISO/IEC Analiza modelu jakości produktów programowych. Konferencja Systemy Wspomagania Organizacji, [13] Hyunjang Kong, Myunggwon Hwang, Pankoo Kim. A New Methodology for Merging the Heterogeneous Domain Ontologies based on the WordNet. [14] Ling Liu, M. Tamer Özsu (Eds.). Encyclopedia of Database Systems. Springer- Verlag, [15] Natalya F. Noy, Mark A. Musen. The PROMPT Suite: Interactive Tools For Ontology Merging And Mapping

47 [16] Helena Sofia Pinto, Joao P. Martins. Ontology Integration: How to perform the Process. [17] Steffen Staab, Michael Erdmann, Alexander Maedche, Stefan Decker. An Extensible Approach for Modeling Ontologies in RDF(S). ECDL 2000 Workshop on the Semantic Web, Lizbona, Portugalia, [18] Li Zhu, Qing Yang, Wei Chen. Research on Ontology Integration Combined with Machine learning

48 Wykaz skrótów i symboli API CVS DL GPL IDE ISO OBO OCS OWL RDF RDFS Application Programming Interface - interfejs programu lub biblioteki, umożliwiający współpracę z innym oprogramowaniem. Concurrent Versions System - popularny system kontroli wersji udostępniany na licencji GPL. Description Logic - logika opisowa. GNU General Public License - licencja wolnego i otwartego oprogramowania. Integrated Development Environment - zintegrowane środowisko do wytwarzania oprogramowania. International Organization for Standardization - międzynarodowa organizacja standaryzacyjna. Open Biomedical Ontology format - język zapisu ontologii biomedycznych. Ontology Creation System - system do tworzenia, składowania i wersjonowania ontologii. Ontology Web Language - rodzina języków zapisu ontologii oparta o standard RDF/XML. Resource Description Framework - standardowy model wymiany danych w sieci WWW. Resource Description Framework Schema - rozszerzalny język reprezentacji wiedzy, dostarczający podstawych elementów do opisu ontologii. RDF/XML standard definiujący składnię XML dla RDF. RUP SOVA SVN Rational Unified Process - proces iteracyjnego wytwarzania oprogramowania opracowany przez firmę Rational Software Corporation. Simple Ontology Visualization API - biblioteka do wizualizacji ontologii, udostępniona również w postaci wtyczki do edytora Protégé. Subversion - system kontroli wersji, będący następcą CVS. 48

49 SWS URI W3C WWW XML Specyfikacja Wymagań Systemowych - dokument opisujący wymagania stawiane systemowi. Uniform Resource Identifier - ciąg znaków jednoznacznie identyfikujący nazwę lub zasób w sieci Internet. World Wide Web Consortium - międzynarodowa organizacja standaryzująca sieć WWW. World Wide Web - system informacyjny oparty na otwartych, publicznie dostępnych standardach. Extensible Markup Language - standard zapisu dokumentów w formie czytelnej dla maszyn, umożliwiający zapisanie dowolnych struktur danych. 49

50 Załączniki

51 A. Specyfikacja Wymagań systemowych A.1. Przypadki użycia A.1.1. Diagram przypadków użycia Poniższy diagram przedstawia funkcjonalność wnoszoną lub zmienianą przez moduł do integracji. Nie zawiera on przypadków użycia, które nie będą modyfikowane przez moduł. A.1.2. Opis przypadków użycia PU002 Aktorzy Streszczenie Zdarzenie inicjujące Warunki początkowe Eksport zintegrowanej ontologii z zachowaniem URI (import elementów) U001 Funkcja umożliwiająca utworzenie nowej ontologii poprzez zaimportowanie ontologii źródłowych do tej ontologii. Wybór opcji Eksport z zachowaniem URI z menu. Wczytany Projekt itegracjii ontologii. 51

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika Obieg dokumentów Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science

Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Wszystkie komponenty są rozmieszczane przez domyślny

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką? ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest

Bardziej szczegółowo

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt. Grafika w dokumencie Wprowadzanie ozdobnych napisów WordArt Do tworzenia efektownych, ozdobnych napisów służy obiekt WordArt. Aby wstawić do dokumentu obiekt WordArt: 1. Umieść kursor w miejscu, w którym

Bardziej szczegółowo

Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska

Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska System gromadzenia, indeksowania i opisu słownikowego norm i rekomendacji Praca magisterska Jakub Reczycki Opiekun : dr inż. Jacek Rumiński Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności: Instrukcja obsługi Aplikacji Zarządzania Uprawnieniami (AZU) dla użytkowników zewnętrznych (UZ) w Zintegrowanym Systemie Zarządzania Tożsamością (ZSZT) Użytkownik zewnętrzny (UZ) może wykonywać następujące

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Wizualizacja pogody dla windsurferów

Wizualizacja pogody dla windsurferów Politechnika Wrocławska AiR ARR Wizualizacja danych sensorycznych Wizualizacja pogody dla windsurferów Autor: Małgorzata Witka-Jeżewska 218634 Prowadzący: dr inż. Bogdan Kreczmer 22 czerwca 2017 Spis treści

Bardziej szczegółowo

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami Politechnika Gdańska Wydział Zarządzania i Ekonomii Katedra Zastosowań Informatyki w Zarządzaniu Zakład Zarządzania Technologiami Informatycznymi Model referencyjny Open Source dla dr hab. inż. Cezary

Bardziej szczegółowo

I. Program II. Opis głównych funkcji programu... 19

I. Program II. Opis głównych funkcji programu... 19 07-12-18 Spis treści I. Program... 1 1 Panel główny... 1 2 Edycja szablonu filtrów... 3 A) Zakładka Ogólne... 4 B) Zakładka Grupy filtrów... 5 C) Zakładka Kolumny... 17 D) Zakładka Sortowanie... 18 II.

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

Bardziej szczegółowo

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL 7.5.60

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL 7.5.60 FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL 7.5.60 W KAMELEON.SQL 7.5.60 została dodana funkcjonalność klasy B2B (na tą funkcjonalność wymagana jest dodatkowa licencja, którą można wykupić w naszej firmie)

Bardziej szczegółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

Sage Symfonia ERP Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji

Sage Symfonia ERP Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji Sage Symfonia ERP Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji 1 Wstęp... 2 2 Lista nieobsługiwanych e-deklaracji i załączników do e-deklaracji... 2 3 Procedura

Bardziej szczegółowo

Dziennik Urzędowy Unii Europejskiej L 274/9

Dziennik Urzędowy Unii Europejskiej L 274/9 20.10.2009 Dziennik Urzędowy Unii Europejskiej L 274/9 ROZPORZĄDZENIE KOMISJI (WE) NR 976/2009 z dnia 19 października 2009 r. w sprawie wykonania dyrektywy 2007/2/WE Parlamentu Europejskiego i Rady w zakresie

Bardziej szczegółowo

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...

Bardziej szczegółowo

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki

Wydział Informatyki, Elektroniki i Telekomunikacji. Katedra Informatyki Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Informatyki Pastebin w wersji zorientowanej na środowisko mobilne z klientem pozwalającym na oba kierunki przeklejania. Dokumentacja deweloperska

Bardziej szczegółowo

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności: Instrukcja obsługi Aplikacji Zarządzania Uprawnieniami (AZU) dla użytkowników zewnętrznych (UZ) w Zintegrowanym Systemie Zarządzania Tożsamością (ZSZT) Użytkownik zewnętrzny (UZ) może wykonywać następujące

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, 02-146 Warszawa www.adh.com.pl Spis treści 1. Wydajność aplikacji po stronie klienta... 3 2. Wybór przeglądarki

Bardziej szczegółowo

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o. STRONA GŁÓWNA ` Usługa earchiwizacja.pl przeznaczona jest zarówno dla osób indywidualnych, jak i firm. Wykorzystuje zasadę przetwarzania danych w chmurze. Pozwala to na dostęp do własnej bazy dokumentów

Bardziej szczegółowo

dlibra 3.0 Marcin Heliński

dlibra 3.0 Marcin Heliński dlibra 3.0 Marcin Heliński Plan prezentacji Wstęp Aplikacja Redaktora / Administratora Serwer Aplikacja Czytelnika Aktualizator Udostępnienie API NajwaŜniejsze w nowej wersji Ulepszenie interfejsu uŝytkownika

Bardziej szczegółowo

Jak utworzyć diagram

Jak utworzyć diagram Drukowanie struktury organizacyjnej... 1 Jak utworzyć diagram... 1 Wyświetlanie fragmentu struktury organizacyjnej... 2 Wyświetlanie na wykresie informacji szczegółowych... 3 Uwzględnianie wszystkich rekordów...

Bardziej szczegółowo

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Modelowanie biznesowe jest stykiem między

Bardziej szczegółowo

Wtyczka Crop3D. Wstęp. Implementacja. Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków,

Wtyczka Crop3D. Wstęp. Implementacja. Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków, Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków, 30.06.2015 Wtyczka Crop3D Wstęp Celem projektu było napisanie wtyczki do programu ImageJ pozwalającej na obcięcie tła i maksymalne skadrowanie

Bardziej szczegółowo

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS

SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS SYSTEMY ZARZĄDZANIA TREŚCIĄ WORDPRESS Małgorzata Mielniczuk System zarządzania treścią z angielskiego Content Management System w skrócie CMS jest oprogramowaniem ułatwiającym zarządzanie tworzonym serwisem

Bardziej szczegółowo

Etapy życia oprogramowania

Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

System epon Dokumentacja użytkownika

System epon Dokumentacja użytkownika System epon Dokumentacja użytkownika Prawa autorskie tego opracowania należą do MakoLab S.A. Dokument ten, jako całość, ani żadna jego część, nie może być reprodukowana lub rozpowszechniana w jakiejkolwiek

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bardziej szczegółowo

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010 ERGODESIGN - Podręcznik użytkownika Wersja 1.0 Warszawa 2010 Spis treści Wstęp...3 Organizacja menu nawigacja...3 Górne menu nawigacyjne...3 Lewe menu robocze...4 Przestrzeń robocza...5 Stopka...5 Obsługa

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

Efekt kształcenia. Wiedza

Efekt kształcenia. Wiedza Efekty dla studiów drugiego stopnia profil ogólnoakademicki na kierunku Informatyka na specjalności Przetwarzanie i analiza danych, na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie oznacza

Bardziej szczegółowo

ECDL ZARZĄDZANIE PROJEKTAMI

ECDL ZARZĄDZANIE PROJEKTAMI ECDL ZARZĄDZANIE PROJEKTAMI EUROPEJSKI CERTYFIKAT UMIEJĘTNOŚCI KOMPUTEROWYCH ZARZĄDZANIE PROJEKTAMI Syllabus v. 1.0 Oficjalna wersja dokumentu jest dostępna w serwisie WWW Polskiego Biura ECDL www.ecdl.pl

Bardziej szczegółowo

Kopiowanie ustawień SolidWorks

Kopiowanie ustawień SolidWorks Kopiowanie ustawień SolidWorks przy użyciu Kreatora kopiowania ustawień Podczas pracy z programem SolidWorks każdy użytkownik dostosowuje program do swoich potrzeb, do branży w jakiej pracuje lub do swoich

Bardziej szczegółowo

Załącznik nr 1. Specyfikacja. Do tworzenia Mapy Kompetencji

Załącznik nr 1. Specyfikacja. Do tworzenia Mapy Kompetencji Załącznik nr 1 Specyfikacja Do tworzenia Mapy Kompetencji 1. Cel projektu Celem projektu jest utworzenie Mapy kompetencji. Ma ona zawierać informacje o kompetencjach, celach kształcenia, umożliwiać ich

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Sage Symfonia Sage Symfonia Start Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji

Sage Symfonia Sage Symfonia Start Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji Sage Symfonia Sage Symfonia Start Wystawianie nieobsługiwanych w programach e-deklaracji i załączników do e-deklaracji 1 Wstęp... 2 2 Lista nieobsługiwanych e-deklaracji i załączników do e-deklaracji...

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Projekt i implementacja oprogramowania dla salonu kosmetycznego. Autor: Wojciech Rubiniec Promotor: dr inż. Roman Simiński Kategorie: Oprogramowanie użytkowe Słowa

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

Analiza i projektowanie aplikacji Java Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie

Bardziej szczegółowo

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31 Strona: 1 z 31 Explorer Analyzer 1 Uruchamianie programu i raportu PoniŜsze czynności uruchamiają program Bex Analyzer oraz wybrany raport z hurtowni danych. 1. uruchom z menu Start>Programy>Business Explorer>Analyzer

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows IBM SPSS Statistics - ssentials for Python: Instrukcje instalacji dla Windows Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics - ssentials for Python w systemach operacyjnych Windows.

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna

Bardziej szczegółowo

Załącznik 1 instrukcje instalacji

Załącznik 1 instrukcje instalacji Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych

Bardziej szczegółowo

Ulotka. Zmiany w wersji 2016.1.1. Comarch ERP e-pracownik 1 Zmiany w wersji 2016.1.1

Ulotka. Zmiany w wersji 2016.1.1. Comarch ERP e-pracownik 1 Zmiany w wersji 2016.1.1 Ulotka Zmiany w wersji 2016.1.1 Comarch ERP e-pracownik 1 Zmiany w wersji 2016.1.1 Spis treści 1 INSTALACJA SYSTEMU... 3 1.1 WSPÓŁPRACA Z PRZEGLĄDARKAMI... 3 1.2 WSPÓŁPRACA Z URZĄDZENIAMI MOBILNYMI...

Bardziej szczegółowo

Programowanie zespołowe

Programowanie zespołowe Programowanie zespołowe Laboratorium 4 - modele tworzenia oprogramowania, manifest Agile i wstęp do Scruma mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 14 marca 2017 1 / 21 mgr inż. Krzysztof

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy

Bardziej szczegółowo

Spis treści 1. Oprogramowanie wizualizacyjne IFTER EQU Dodanie integracji CKD Wprowadzanie konfiguracji do programu EQU... 6 a.

Spis treści 1. Oprogramowanie wizualizacyjne IFTER EQU Dodanie integracji CKD Wprowadzanie konfiguracji do programu EQU... 6 a. Spis treści 1. Oprogramowanie wizualizacyjne IFTER EQU... 3 2. Dodanie integracji CKD-500... 6 3. Wprowadzanie konfiguracji do programu EQU... 6 a. Wprowadzanie kontrolerów... 6 b. Wprowadzenie przejść...

Bardziej szczegółowo

5.2. Pierwsze kroki z bazami danych

5.2. Pierwsze kroki z bazami danych 5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,

Bardziej szczegółowo

Pokaz slajdów na stronie internetowej

Pokaz slajdów na stronie internetowej Pokaz slajdów na stronie internetowej... 1 Podpisy pod zdjęciami... 3 Publikacja pokazu slajdów w Internecie... 4 Generator strony Uczelni... 4 Funkcje dla zaawansowanych użytkowników... 5 Zmiana kolorów

Bardziej szczegółowo

4.2. Ustawienia programu

4.2. Ustawienia programu 4.2. Ustawienia programu Zmiana wielkości dokumentu Pracując w programie MS Excel 2010 niejednokrotnie doświadczysz sytuacji, w której otwarty przez Ciebie arkusz nie będzie mieścił się na ekranie monitora.

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

Projektowanie baz danych za pomocą narzędzi CASE Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis

Bardziej szczegółowo

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE Temat: Prosty serwis internetowy oparty o zestaw powiązanych

Bardziej szczegółowo

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja. Kontrola topto Obsługa aplikacji Kontrola topto 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja. 5. Dodawanie, edycja i usuwanie przejść.

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD

Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD Wstęp Obecnie praktycznie każdy z projektów budowlanych, jak i instalacyjnych, jest tworzony z wykorzystaniem rysunków wspomaganych komputerowo.

Bardziej szczegółowo

3.1. Na dobry początek

3.1. Na dobry początek Klasa I 3.1. Na dobry początek Regulamin pracowni i przepisy BHP podczas pracy przy komputerze Wykorzystanie komputera we współczesnym świecie Zna regulamin pracowni i przestrzega go. Potrafi poprawnie

Bardziej szczegółowo

Faza Określania Wymagań

Faza Określania Wymagań Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie

Bardziej szczegółowo

Backend Administratora

Backend Administratora Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania

Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania Michał Socha, Wojciech Górka Integracja danych Prosty export/import Integracja 1:1 łączenie baz danych

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt o implementacja pakietu gier planszowych realizowany na platformie Android Autor: Paweł Piechociński Promotor: dr Jadwiga Bakonyi Kategorie: gra planszowa

Bardziej szczegółowo

Nowy PekaoBIZNES 24. Przewodnik po zmianach w systemie. Departament Bankowości Transakcyjnej

Nowy PekaoBIZNES 24. Przewodnik po zmianach w systemie. Departament Bankowości Transakcyjnej Nowy PekaoBIZNES 24 Przewodnik po zmianach w systemie Departament Bankowości Transakcyjnej Grudzień 2012 DLACZEGO PekaoBIZNES 24 SIĘ ZMIENIA? Platforma transakcyjna PekaoBIZNES 24 usprawnia codzienne operacje

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

EAP XML Legislator Opis zmian w wersji Service Pack 41 ABC PRO Sp. z o.o.

EAP XML Legislator Opis zmian w wersji Service Pack 41 ABC PRO Sp. z o.o. Opis zmian w wersji 2.2.0.0 Service Pack 41 ABC PRO Sp. z o.o. Dokument zawiera szczegółowy opis zmian wprowadzonych w wersji 2.2.0.0 SP 41 EAP XML Legislator Data: 2016-10-27 ABC PRO Sp. z.o.o. ul. Owsiana

Bardziej szczegółowo

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Tester oprogramowania 2014/15 Tematy prac dyplomowych Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven

Bardziej szczegółowo

Symfonia Mała Księgowość 2013 Specyfikacja zmian

Symfonia Mała Księgowość 2013 Specyfikacja zmian Symfonia Mała Księgowość 2013 Specyfikacja zmian Odświeżony interfejs użytkownika 2 Rozwój wizerunkowy programu obejmuje odświeżenie interfejsu użytkownika. Wymieniona została ikona desktopowa programu,

Bardziej szczegółowo

OfficeObjects e-forms

OfficeObjects e-forms OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji

Bardziej szczegółowo

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:

Bardziej szczegółowo

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce Narzędzia informatyczne wspierające przedsięwzięcia e-commerce Zarządzanie projektami e-commerce, Meblini.pl, UE we Wrocławiu Wrocław, 11-03-2018 1. Cykl życia projektu 2. Pomysł / Planowanie 3. Analiza

Bardziej szczegółowo

METODY REPREZENTACJI INFORMACJI

METODY REPREZENTACJI INFORMACJI Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Tomasz Pawłowski Nr albumu: 146956 Praca magisterska na kierunku

Bardziej szczegółowo