Metody Informatyki Stosowanej

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

Download "Metody Informatyki Stosowanej"

Transkrypt

1 Polska Akademia Nauk Oddział w Gdańsku Komisja Informatyki Metody Informatyki Stosowanej Nr 3/2008 (Tom 16) Szczecin 2008

2 Metody Informatyki Stosowanej Kwartalnik Komisji Informatyki Polskiej Akademii Nauk Oddział w Gdańsku Komitet Naukowy: Przewodniczący: prof. dr hab. inŝ. Henryk Krawczyk, czł. koresp. PAN, Politechnika Gdańska Członkowie: prof. dr hab. inŝ. Michał Białko, czł. rzecz. PAN, Politechnika Koszalińska prof. dr hab. inŝ. Ludosław Drelichowski, Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy prof. dr hab. inŝ. Janusz Kacprzyk, czł. koresp. PAN, Instytut Badań Systemowych PAN prof. dr hab. Jan Madey, Uniwersytet Warszawski prof. dr hab. inŝ. Leszek Rutkowski, czł. koresp. PAN, Politechnika Częstochowska prof. dr hab. inŝ. Piotr Sienkiewicz, Akademia Obrony Narodowej prof. dr inŝ. Jerzy Sołdek, Politechnika Szczecińska prof. dr hab. inŝ. Andrzej Straszak, Instytut Badań Systemowych PAN prof. dr hab. Maciej M. Sysło, Uniwersytet Wrocławski Recenzenci: prof. dr hab. inŝ. Włodzimierz Bielecki, Politechnika Szczecińska prof. dr hab. inŝ. Ryszard Budziński, Uniwersytet Szczeciński prof. dr hab. inŝ. Andrzej CzyŜewski, Politechnika Gdańska dr hab. inŝ. Wojciech Jędruch, prof. PG, Politechnika Gdańska dr hab. Mieczysław Kula, prof. UŚ, Uniwersytet Śląski w Katowicach dr hab. inŝ. Eugeniusz Kuriata, prof. UZ, Uniwersytet Zielonogórski prof. dr hab. inŝ. Andrzej Piegat, Politechnika Szczecińska prof. dr inŝ. Jerzy Sołdek, Politechnika Szczecińska dr hab. inŝ. Alexander łariov, prof. PS, Politechnika Szczecińska prof. dr hab. inŝ. Leszek Trybus, Politechnika Rzeszowska dr hab. inŝ. Zenon Ulman, prof. PG, Politechnika Gdańska dr hab. inŝ. Antoni Wiliński, prof. PS, Politechnika Szczecińska Redaktor Naczelny: Antoni Wiliński Sekretarz redakcji: Piotr Czapiewski ISSN ISBN Wydawnictwo: Polska Akademia Nauk Oddział w Gdańsku Komisja Informatyki Adres kontaktowy: ul. śołnierska 49 p. 104, Szczecin Druk: Pracownia Poligraficzna Wydziału Informatyki Politechniki Szczecińskiej Nakład 510 egz.

3 Spis treści Piotr Andruszkiewicz METAUCZENIE A MOśLIWOŚĆ POPRAWY SKUTECZNOŚCI KLASYFIKACJI Lech Baranowski, Ilona Bluemke FRAKTALOWY MODEL KOMPONENTOWY Anna Bartkowiak, Adam Szustalewicz DISTRIBUTION OF AMINO-ACIDS CODING GENETIC INFORMATION IN YEAST ORFS Janusz Biernat, Janusz Jabłoński MINIMUM LOGIC DEPTH MODULO 2N+1 ADDERS Dariusz Burak EXPLOITING LOOP-LEVEL PARALLELISM IN THE MISTY1 ENCRYPTION ALGORITHM Krzysztof Chmiel, Anna Grocholewska-Czuryło, Przemysław Socha, Janusz Stokłosa INVOLUTIONAL SCALABLE BLOCK CIPHER Larisa Dobryakova, Evgeny Ochin THE 2D-STEGANOGRAPHY METHOD IN THE SPATIAL-FREQUENCY AREA Krystyna Dziubich, Tomasz Dziubich TWORZENIE WZORCÓW ZACHOWAŃ DLA APLIKACJI OPARTYCH O ARCHITEKTURĘ EDA Imed El Fray KONTROLOWANY I BEZPIECZNY SPOSÓB UDOSTĘPNIANA ZASOBÓW INFORMACYJNYCH POPRZEZ USŁUGI WEB XML Iwona Grobelna FORMALNA ANALIZA INTERPRETOWANYCH ALGORYTMICZNYCH MASZYN STANÓW ASM Z WYKORZYSTANIEM NARZĘDZIA MODEL CHECKER Tomasz Hyla, Jerzy Pejaś A METHOD FOR LONG-TERM EHR METADATA PRESERVATION IN HEALTHCARE SYSTEMS Wojciech Jędruch, Rafał Sienkiewicz MODELOWANIE SYSTEMÓW SAMOREPRODUKUJĄCYCH SIĘ Marcin Korzeń, Przemysław Klęsk, Andrzej Ciechanowicz, Mariusz Kaczmarczyk, Krystyna Widecka, Szymon Jaroszewicz MINING INTERESTING RULES AND PATTERNS FOR SALT SENSITIVITY OF BLOOD PRESSURE Henryk Krawczyk, Jerzy Proficz DOBÓR USŁUG WWW W ŚRODOWISKU SOA Georgy Kukharev, Andrzej Tujaka, Nguyen The Binh SYSTEM OF FACE RECOGNITION USING LDA WITH ONE TRAINING IMAGE PER PERSON Krzysztof Małecki, Jarosław Wątróbski, Marcin Warczygłowa BADANIE EFEKTYWNOŚCI NARZĘDZIA DO TESTOWANIA BEZPIECZEŃSTWA APLIKACJI INTERNETOWYCH Łukasz Mazurowski, Antoni Wiliński KONCEPCJA GENEROWANIA UTWORU MUZYCZNEGO PRZEZ MASZYNĘ AKT SZTUCZNEJ TWÓRCZOŚCI OPARTEJ NA ALGORYTMACH GENETYCZNYCH

4 4 Marek Pałkowski UPRASZCZANIE AFINICZNYCH RELACJI I ZBIORÓW W CELU PODNIESIENIA WYDAJNOŚCI GENEROWANEGO KODU RÓWNOLEGŁEGO Magdalena Szaber, Ekaterina Kamenskaya SYSTEMY ROZPOZNAWANIA TWARZY DLA OBRAZÓW WIDZIALNYCH I PODCZERWIENI Z WYKORZYSTANIEM CCA Marta Szarafińska, Agnieszka Konys, Mateusz Piwowarski MCDA MODEL APPROACH TO THE BUSINESS PROCESS MODELING METHODS EVALUATION Alexandr łariov, Galina łariova ZWEKTORYZOWANE ALGORYTMY WYZNACZANIA ILOCZYNÓW TRZECH MACIERZY Grzegorz Ulacha ALGORYTMICZNE ASPEKTY SPRZĘTOWEJ REALIZACJI KOMPRESJI OBRAZÓW W TRYBIE BEZSTRATNYM I PRAWIE BEZSTRATNYM

5 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji * Piotr Andruszkiewicz Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych Abstract: Metalearning is a technique, which enables us to improve classification accuracy in Data Mining. It uses several classifiers to compute final category for a test sample. The most popular metalearning methods are Bagging and Boosting. Effectiveness of these methods with the usage of decision tree (SPRINT) has been tested and presented in this paper. Keywords: metalearning, classification, decision tree, SPRINT 1. Wstęp Klasyfikacja staje się coraz waŝniejsza w dzisiejszym Ŝyciu. MoŜe ona być stosowana do wykrywania naduŝyć bądź do przydzielania dokumentów tekstowych do odpowiednich grup. Szczególnym przypadkiem moŝe być tu wykrywanie niepotrzebnych wiadomości elektronicznych wysyłanych na skrzynki pocztowe. WaŜne jest, aby dokonywać jej z jak najlepszą skutecznością. Do jej poprawy moŝna uŝyć metauczenia (ang. metalearning). Wykorzystuje ono wiele klasyfikatorów do podjęcia ostatecznej decyzji. Praca ta przedstawia następujące zagadnienia związane z metauczeniem. W sekcji 2 opisana jest matematyczna definicja klasyfikacji. Część 3 traktuje o metauczeniu ze szczegółowym omówieniem metod bagging i boosting. Natomiast sekcja 4 opisuje wykorzystany w eksperymentach klasyfikator SPRINT. Sekcja 5 to wyniki eksperymentów, zaś 6 przedstawia wnioski z nich płynące. 2. Zadanie klasyfikacji Zadanie klasyfikacji polega na znalezieniu dla wybranego przykładu najbardziej odpowiadającej mu kategorii [11]. Szukanie odpowiadającej kategorii jest dokonywanie na podstawie analizy zbioru trenującego zbioru przykładów, dla których kategoria jest określona. Celem analizy jest znalezienie wiedzy w jaki sposób przynaleŝność do kategorii zaleŝy od atrybutów opisujących przykład. ZałóŜmy, Ŝe istnieje nieznana funkcja c taka, Ŝe: c : X X dziedzina przykładów, C zbiór kategorii. C, gdzie: * Badania wspierane były przez grant Ministerstwa Edukacji i Nauki o numerze 3 T11C

6 6 Piotr Andruszkiewicz Ponadto posiadamy zbiór T X, nazywany zbiorem trenującym, taki Ŝe: x T c(x) jest znane. Zadanie klasyfikacji polega na znalezieniu funkcji h : X C zwanej hipotezą i spełniającej warunki: x X moŝna wyznaczyć h(x). h c, tzn. Ŝe jest małe prawdopodobieństwo, Ŝe h c. 3. Metauczenie Technika metauczenia [1] polega na wykorzystaniu wielu klasyfikatorów w celu przypisania przykładowi kategorii. Mogą one wykorzystywać inne algorytmy, które uczone będą na identycznych danych. Jeśli są to te same klasyfikatory, to otrzymują one róŝne podzbiory zbioru trenującego. KaŜdy z klasyfikatorów uczy się na dostarczonych mu danych. Podzbiory te moŝna utworzyć poprzez losowanie z całego zbioru trenującego r T przykładów dla kaŝdego klasyfikatora. Parametr r moŝe przyjmować wartości mniejsze od 2/3, choć stosowane jest takŝe próbkowanie dla r równego 1. Losowanie moŝe odbywać się zgodnie z rozkładem jednostajnym lub innym rozkładem tworzonym w poszczególnych fazach metauczenia. Innym sposobem jest podzielenie zbioru trenującego na m części i przekazaniu kaŝdemu klasyfikatorowi m-1 części. Przy wykorzystaniu jednakowych klasyfikatorów moŝna zastosować modyfikację przestrzeni atrybutów (poszczególne klasyfikatory uczą się na róŝnych zestawach atrybutów). Kolejnym podejściem moŝe być randomizacja algorytmów poprzez wprowadzenie losowości w funkcji oceny albo zastosowanie deterministycznej funkcji oceny z losowym wyborem spośród kilku najlepszych przypadków. MoŜna takŝe zastosować modyfikację kategorii kodowanie kategorii. Przykładem moŝe być opisanie kategorii za pomocą numerów i przedstawienie ich przy pomocy kodu binarnego. Wówczas kaŝdy klasyfikator określałby pojedynczy bit tego kodu. Klasyfikowanie przykładu polega na przydzieleniu mu kategorii przez wszystkie klasyfikatory, a następnie wybrania kategorii, która była najczęściej wskazywana. Takie decydowanie o wybranej kategorii nosi miano głosowania. MoŜliwe jest takŝe głosowanie waŝone. Do wybrania ostatecznej kategorii moŝna zastosować maksymalizację prawdopodobieństwa, wykorzystując do tego Naiwny Klasyfikator Bayesowski. Danymi wejściowymi będą wówczas wyjścia poszczególnych klasyfikatorów, na podstawie których klasyfikator przydzieli ostateczną kategorię. Wykorzystując tę zasadę łączenia klasyfikatorów, moŝna wprowadzić hierarchiczne łączenie klasyfikatorów. Wówczas danymi wejściowymi dla kaŝdego klasyfikatora wyŝszego rzędu będą wyjścia klasyfikatorów niŝszego rzędu. Klasyfikator znajdujący się najwyŝej w hierarchii będzie podawał ostateczną kategorię. Wyraźny wpływ na jakość klasyfikacji przy metauczeniu widać w tak zwanych algorytmach niestabilnych, dla których małe zmiany zbiorów trenujących potrafią zmienić znacząco hipotezę. Są to m.in. algorytmy tworzenia reguł decyzyjnych lub drzew decyzyjnych. Dla algorytmów stabilnych (m.in. Naiwny Klasyfikator Bayesowski) nie obserwuje się poŝądanych rezultatów.

7 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 7 Do najczęściej stosowanych metod metauczenia naleŝą algorytmy bagging i boosting Bagging Metoda bagging [2] polega na wykorzystaniu zbioru trenującego T i algorytmu klasyfikacji A. Tworzony jest zbiór klasyfikatorów {cl 1, cl 2,.., cl n }, z których kaŝdy wykorzystuje algorytm A i trenowany jest na zbiorze trenującym T i. Zbiór trenujący T i powstaje poprzez wylosowanie przykładów (ze zwracaniem) ze zbioru T. Losowanie odbywa się zgodnie z rozkładem jednostajnym. Liczności zbioru T i T i są takie same. KaŜdy klasyfikator przydziela kategorię przykładowi. Ostateczna kategoria jest tą, która najczęściej była proponowana przez klasyfikatory Boosting Metoda boosting [4], podobnie jak bagging, zakłada stworzenie zbioru klasyfikatorów {cl 1, cl 2,.., cl n }. Klasyfikatory wykorzystują ten sam algorytm A. RóŜnica polega na sposobie wyboru przykładów z podstawowego zbioru trenującego do poszczególnych zbiorów T i, na podstawie których uczą się klasyfikatory. Bagging zakładał wybieranie przykładów ze zbioru trenującego z rozkładem jednorodnym. Boosting polega na uczeniu kolejnych klasyfikatorów przede wszystkim na podstawie przykładów, które były przez poprzednie klasyfikatory źle klasyfikowane. Przy losowaniu przykładów do zbiorów trenujących dla kolejnych klasyfikatorów próbkom źle klasyfikowanym przyznawane jest większe prawdopodobieństwo wyboru. W taki sposób kolejne klasyfikatory będą uczyły się na podstawie przykładów błędnie klasyfikowanych przez poprzedników. Przyjmijmy, Ŝe P il będzie oznaczać prawdopodobieństwo wybrania przykładu d l ze zbioru trenującego T do zbioru T i. Dla pierwszego klasyfikatora wartości tych prawdopodobieństw dla kaŝdego przykładu są takie same (sytuacja jak w bagging) 1 P il = m T = m gdzie m oznacza liczbę przykładów w zbiorze trenującym T. Przy tworzeniu kolejnych zbiorów trenujących wartości te są modyfikowane. Przy konstrukcji zbioru trenującego dla klasyfikatora cl i+1 naleŝy najpierw obliczyć sumę S i będącą sumą prawdopodobieństw tych przykładów, dla których klasyfikator cl i się pomylił. S i m = l: cli ( dl ) f ( dl ) p il f jest klasyfikacją empiryczną, a d l przykładem o indeksie l ze zbioru trenującego. Następnie wyliczany jest współczynnik korekcji α i 1 si αi = 0, 5log si Prawdopodobieństwa przykładów modyfikowane są w następujący sposób:

8 8 Piotr Andruszkiewicz i i+ 1, l = il dla przykładów, którym klasyfikator cl i przydzielił poprawną kategorię, p p e α p p e α i i+ 1, l = il dla przykładów niepoprawnie sklasyfikowanych. W dalszej kolejności są one normalizowane. Dzięki takiemu zabiegowi kolejne klasyfikatory uczone są przede wszystkim na podstawie przykładów, które zostały niepoprawnie sklasyfikowane przez poprzednie klasyfikatory. Jest to podejście wykorzystujące losowanie przykładów (ang. boosting by sampling). Drugie podejście wykorzystuje prawdopodobieństwa p i,l jako wagi (ang. boosting by weighting). MoŜna je stosować, gdy wykorzystywany algorytm klasyfikacji pozwala na bezpośrednie uŝycie waŝonego zbioru trenującego. Na kaŝdym etapie tworzenia zbioru klasyfikatorów wykorzystywany jest cały zbiór trenujący waŝony prawdopodobieństwami p i,l. Wybór klasy wypadkowej przebiega tak jak w metodzie bagging, jednak stosowane jest głosowanie waŝone przy pomocy współczynnika α i dla poszczególnych klasyfikatorów. 4. Wykorzystany klasyfikator W eksperymentach uŝyto klasyfikatora wykorzystującego drzewo decyzyjne. Zaimplementowany został algorytm SPRINT [9] z modyfikacjami Opis algorytmu Algorytm polega na rekurencyjnym tworzeniu drzewa decyzyjnego, w którego węzłach znajdują się testy na atrybutach, a w liściach określone są kategorie. Przykłady, które spełniają test przechodzą np. na lewo, a niespełniające na prawo. Test dla atrybutów nominalnych polega na sprawdzeniu czy wartość danego atrybutu zawiera się w ustalonym podzbiorze moŝliwych wartości atrybutu. Natomiast dla atrybutów ciągłych test sprawdza czy wartość znajduje się poniŝej pewnego progu. Klasyfikacja nowego przykładu polega na sprawdzeniu poszczególnych testów, przechodząc w głąb drzewa. Po dotarciu do liścia, w którym znajduje się kategoria, przypisywana jest ona klasyfikowanemu przykładowi. Kroki rekurencyjnego algorytmu budowania drzewa decyzyjnego: 1. Sprawdź czy spełnione jest kryterium stopu; a) jeśli tak, to utwórz liść i przydziel mu kategorię; b) zwróć liść. 2. Utwórz węzeł. 3. Wybierz właściwy test. 4. Odznacz, Ŝe wybrany test był juŝ uŝyty. 5. Wywołaj rekurencyjnie algorytm budowania drzewa decyzyjnego dla przykładów spełniających test. 6. Wywołaj rekurencyjnie algorytm budowania drzewa decyzyjnego dla przykładów niespełniających testu. 7. Zwróć węzeł.

9 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 9 Kryterium stopu jest spełnione, gdy wszystkie przykłady mają tę samą kategorię, zbiór przykładów jest pusty lub wykorzystano juŝ testy na wszystkich atrybutach. Do wyboru testu uŝyta została miara Gini [10], która przyjmuje wartości od 0 do 1. Najlepszym testem jest ten, który posiada jak najmniejszą wartość tego współczynnika. Sd Gini( S) = 1 Sd S gdzie: S oznacza klasę, d 2 S d liczba przykładów naleŝących do danej klasy i spełniających test, S liczba wszystkich przykładów spełniających test. Analogicznie oblicza się wartość tego współczynnika dla przykładów, które nie spełniają testu. Końcową miarą dla danego testu (atrybut i wartość) jest indeks Gini split wyliczany jako St Sn G = s G( St ) G( Sn ) S + S all all S all liczba wszystkich przykładów S t liczba przykładów spełniających test S n liczba przykładów nie spełniających testu Przykład: Wyliczenie wartości dla testu wiek 17 i pojęciu docelowym ryzyko o wartościach wysokie i niskie. Tabela 1. Liczba przykładów spełniających test w podziale na kategorie Ryzyko wysokie niskie spełnia test (tak) 1 0 nie spełnia testu (nie) 3 2 G tak = 1 + = G nie = 1 + = G s = = Miarę tę wylicza się dla kaŝdego atrybutu i kaŝdego podzbioru wartości danego atrybutu (dla atrybutów nominalnych) albo progu (dla atrybutów ciągłych). Próg rozumiany jest jako średnia wartość między dwoma najbliŝszymi wartościami danego atry-

10 10 Piotr Andruszkiewicz butu występującymi w przykładach. Za najlepszą parę atrybut - wartość uwaŝa się tę, która ma najmniejszą wartość indeksu gini split. Wybrany test nie moŝe zostać juŝ uŝyty w ścieŝce przebiegającej w głąb drzewa. Tabela 2. Procent poprawnie sklasyfikowanych przykładów dla zbioru credit-g Alg. Bez metauczenia Bagging AdaBoost Fold 4 Liczba klasyf. Maksymalna głębokość drzewa ,690 0,708 0,703 0,690 0, ,651 0,674 0,655 0,650 0, ,682 0,718 0,684 0,685 0, ,675 0,680 0,675 0,672 0, ,701 0,718 0,706 0,675 0, ,705 0,730 0,716 0,739 0, ,660 0,688 0,673 0,660 0, ,708 0,712 0,704 0,691 0, ,694 0,740 0,703 0,720 0, ,664 0,699 0,680 0,670 0, ,720 0,717 0,708 0,693 0, ,718 0,724 0,712 0,721 0, ,673 0,697 0,663 0,655 0, ,670 0,694 0,692 0,697 0, ,705 0,705 0,701 0,711 0, ,671 0,678 0,665 0,678 0, ,680 0,713 0,696 0,696 0, ,729 0,729 0,730 0,717 0, ,677 0,697 0,659 0,665 0, ,683 0,725 0,698 0,679 0, ,709 0,738 0,692 0,702 0, Modyfikacje Ograniczenie sprawdzanych podzbiorów wartości atrybutu nominalnego pozwala na zwiększenie szybkości algorytmu generowania drzewa. Spośród wszystkich podzbiorów wartości atrybutu wybieramy tylko te, których liczność jest mniejsza bądź równa wartości całkowitej z maksymalnej liczności zbioru wartości podzielonej przez dwa. Pozostałe podzbiory są równowaŝne pod względem podziału przykładów.

11 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 11 Ograniczenie sprawdzanych progów podziału dla atrybutów ciągłych. Progi, które leŝą między przykładami tej samej kategorii, mogą zostać pominięte, poniewaŝ dobry test nie powinien rozdzielać przykładów o jednakowej kategorii. Liczbę przykładów spełniających dany warunek (próg p i+1 ) moŝna wyliczyć jako liczbę przykładów spełniających warunek p i zwiększoną o liczbę próbek, których wartość badanego atrybutu mieści się pomiędzy tymi dwoma wartościami progowymi. Oczywiście p i+1 >p i. Tabela 3. Procent poprawnie sklasyfikowanych przykładów dla zbioru segment Alg. Bez metauczenia Bagging AdaBoost Fold 4 Liczba klasyf. Maksymalna głębokość drzewa ,921 0,685 0,861 0,920 0, ,928 0,691 0,874 0,928 0, ,930 0,699 0,876 0,929 0, ,922 0,693 0,902 0,925 0, ,942 0,662 0,909 0,932 0, ,948 0,713 0,895 0,946 0, ,922 0,671 0,869 0,925 0, ,939 0,728 0,874 0,938 0, ,951 0,697 0,904 0,948 0, ,926 0,670 0,891 0,920 0, ,938 0,716 0,897 0,945 0, ,949 0,711 0,890 0,945 0, ,917 0,718 0,873 0,915 0, ,926 0,787 0,925 0,917 0, ,931 0,755 0,945 0,924 0, ,932 0,670 0,884 0,919 0, ,921 0,738 0,936 0,928 0, ,915 0,723 0,943 0,925 0, ,920 0,707 0,861 0,918 0, ,929 0,734 0,850 0,921 0, ,928 0,777 0,813 0,933 0,923 Algorytm zakłada utworzenie dla kaŝdego atrybutu tablicy z trzema kolumnami: identyfikatorem przykładu, atrybutem i klasą. Dla atrybutów ciągłych jest to tablica posortowana według wartości danego atrybutu.

12 12 Piotr Andruszkiewicz Implementowany algorytm miał zostać uŝyty przy metauczeniu, a więc tablice te zawierają jedynie numery identyfikatorów poszczególnych przykładów. A zbiór próbek przechowywany jest tylko w jednym egzemplarzu. Nie została wykorzystana heurystyka wyznaczania najlepszego testu dla atrybutów nominalnych o duŝej liczbie moŝliwych wartości proponowana przez autorów SPRINT, gdyŝ w uŝywanych przykładach nie było atrybutów przekraczających znacznie podaną granicę dziesięciu wartości atrybutu. Brak moŝliwości uŝywania po raz kolejny testu na danym atrybucie powoduje, Ŝe czasami generowane jest drzewo, które zawiera w dwóch liściach będących dziećmi jednego testu te same kategorie. Nie wpływa to negatywnie na jakość klasyfikacji w porównaniu do drzewa z usuniętym testem i jednym liściem. Jednak pogarsza czytelność drzewa i nieznacznie czas klasyfikowania przykładu Brakujące wartości atrybutów Brakujące wartości uzupełniane są wartościami najczęściej występującymi dla danego atrybutu nominalnego. Natomiast dla atrybutów ciągłych jest to średnia arytmetyczna Ocena poprawności klasyfikacji Do określenia skuteczności klasyfikacji posłuŝył odsetek poprawnie klasyfikowanych przykładów dokładność (ang. accuracy). Dodatkowo w celu otrzymania wiarygodniejszych wyników wykorzystana została walidacja krzyŝowa (ang. cross validation) [6]. Polega ona na podzieleniu zbioru przykładów na n równolicznych podzbiorów (parametr fold). Eksperyment przeprowadza się n razy za kaŝdym razem wybierając jako zbiór testujący inny podzbiór. Pozostałe przykłady słuŝą jako zbiór trenujący. Otrzymane w ten sposób wyniki uśrednia się. 5. Wyniki eksperymentów Eksperymenty zostały przeprowadzone dla pięciu zbiorów przykładów [7]: 1) credit-g zbiór o atrybutach nominalnych i numerycznych. Liczba przykładów ) segment zbiór o 19 atrybutach rzeczywistych i atrybucie klasy. Liczba przykładów ) sick zbiór o atrybutach nominalnych i numerycznych z przykładami, w których występują brakujące wartości. Liczba przykładów ) kr-vs-kp zbiór o atrybutach wyłącznie nominalnych. Liczba przykładów ) audiology zbiór o atrybutach wyłącznie nominalnych (brakujące wartości). Liczba przykładów 226. Wszystkie tabele przedstawiają procent przykładów dobrze sklasyfikowanych przy uŝyciu walidacji krzyŝowej.

13 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 13 Tabela 4. Procent poprawnie sklasyfikowanych przykładów dla zbioru kr-vs-kp Alg. Bez metauczenia Bagging AdaBoost Fold 4 Liczba klasyf. Maksymalna głębokość drzewa ,917 0,784 0,900 0,917 0, ,960 0,851 0,961 0,960 0, ,975 0,907 0,974 0,975 0, ,908 0,793 0,905 0,895 0, ,908 0,830 0,949 0,930 0, ,929 0,817 0,913 0,916 0, ,938 0,906 0,951 0,957 0, ,956 0,877 0,954 0,935 0, ,946 0,887 0,951 0,945 0, ,964 0,902 0,944 0,962 0, ,968 0,893 0,973 0,972 0, ,975 0,911 0,975 0,975 0, ,919 0,826 0,873 0,906 0, ,904 0,809 0,860 0,917 0, ,919 0,798 0,875 0,910 0, ,925 0,886 0,939 0,948 0, ,948 0,879 0,945 0,944 0, ,951 0,862 0,947 0,936 0, ,965 0,895 0,972 0,968 0, ,966 0,906 0,955 0,962 0, ,971 0,940 0,969 0,976 0,972 Z eksperymentów przeprowadzonych dla credit-g (Tabela 2) moŝna wywnioskować, Ŝe w większości przypadków skuteczność klasyfikacji dla drzewa bez ograniczonej głębokości jest mniejsza od drzewa z maksymalną głębokością 5. Jest to róŝnica rzędu 2-3%. Wśród przypadków, które nie spełniają tej zaleŝności (wyniki zaznaczone kursywą) jest próba przeprowadzona z AdaBoost dla fold 10 i jednego klasyfikatora. MoŜna więc wnioskować, Ŝe dla tego zbioru danych występuję nadmierne dopasowanie drzewa do danych treningowych (ang. overfitting), a przy ograniczeniu głębokości drzewa do około 5 redukowane jest nadmierne dopasowanie (zabezpieczenie przed wraŝliwością na szum w danych) i drzewo klasyfikuje lepiej na danych testowych. W celu zapobieŝenia nadmiernemu dopasowaniu moŝna posłuŝyć się przycinaniem (ang. pruning) [5], które redukuje nadmierne dopasowanie poprzez zamianę testów na liście.

14 14 Piotr Andruszkiewicz Porównując wyniki otrzymane dla róŝnej liczby tworzonych klasyfikatorów, moŝna stwierdzić, Ŝe zwiększenie liczby klasyfikatorów poprawia skuteczność klasyfikowania (tylko w nielicznych przypadkach skuteczność spada w niewielkim stopniu). Tabela 5. Procent poprawnie sklasyfikowanych przykładów dla zbioru audiology Alg. Bez metauczenia Bagging AdaBoost Fold 4 Liczba klasyf. Maksymalna głębokość drzewa ,696 0,518 0,692 0,696 0, ,679 0,473 0,665 0,679 0, ,723 0,441 0,714 0,723 0, ,603 0,545 0,656 0,638 0, ,719 0,540 0,656 0,737 0, ,705 0,661 0,701 0,674 0, ,652 0,531 0,656 0,688 0, ,701 0,634 0,723 0,714 0, ,723 0,625 0,728 0,777 0, ,695 0,550 0,659 0,714 0, ,700 0,645 0,686 0,714 0, ,755 0,645 0,727 0,741 0, ,692 0,518 0,683 0,674 0, ,679 0,594 0,625 0,670 0, ,692 0,567 0,696 0,665 0, ,647 0,558 0,612 0,665 0, ,674 0,442 0,647 0,696 0, ,768 0,549 0,665 0,705 0, ,718 0,550 0,618 0,655 0, ,709 0,545 0,655 0,741 0, ,736 0,477 0,673 0,750 0,750 Porównując wyniki dla algorytmu bagging i przypadku bez wykorzystania metauczenia, moŝna stwierdzić, Ŝe lepsze wyniki otrzymuje się przy bagging. Dla przypadku, gdy ta metoda wykorzystuje jeden klasyfikator, wyniki są zbliŝone (zdarzają się przypadki nieznacznie gorszych wyników - związane są one z jednokrotnym losowaniem przykładów ze zbioru trenującego, które nie zawsze wybiera zestaw przykładów pozwalający na poprawę jakości klasyfikowania), jednak wraz ze wzrostem liczby uŝytych klasyfikatorów rośnie skuteczność i róŝnica staje się bardziej wyraźna.

15 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 15 Porównując skuteczność metody bagging i boosting, moŝna stwierdzić, Ŝe uzyskane rezultaty są zbliŝone. Otrzymane wyniki skuteczności klasyfikacji wahają się w przedziale 65-75%. Dla zbioru segment (Tabela 3) wyniki uzyskane dla drzewa bez ograniczenia głębokości są znacznie lepsze niŝ dla drzewa o maksymalnej głębokości równej 5. Zwiększając ten parametr do 15-20, otrzymuje się wyniki porównywalne do przypadku bez ograniczenia głębokości. Wniosek z tego, Ŝe przy poziomie głębokości drzewa około 20 uzyskuje się drzewo, które nie jest nadmiernie dopasowane do danych treningowych. Wyniki otrzymane dla bagging przy wykorzystaniu jednego klasyfikatora są, podobnie jak dla przypadku credit-g, zbliŝone do wyników, które uzyskano bez metauczenia. Zastosowanie 3 i 5 klasyfikatorów zwiększa skuteczność klasyfikacji. Metody bagging i boosting uzyskały zbliŝone wyniki. Nie moŝna stwierdzić, który algorytm lepiej klasyfikował przykłady, gdyŝ raz przewagę nieznaczną zdobywa jeden, a w innym przypadku drugi. Średnie uzyskane wyniki mieszczą się w przedziale 85-95% (pomijając przypadek z maksymalną głębokością 5). 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 audiology kr-vs-kp sick segment credit-g Bez metauczenia Bagging AdaBoost Rysunek 1. Procent poprawnie klasyfikowanych przykładów dla fold=10 i 3 klasyfikatorów przy metauczeniu W przypadku zbioru sick, który zawiera 3772 przykładów o 7 atrybutach ciągłych i 23 atrybutach nominalnych, otrzymano wyniki które róŝnią się pomiędzy sobą nie więcej niŝ o 1,1%.Nie pozwala to na rozwaŝanie przewagi jednej z uŝytych metod. Zbiór sick zawiera 6046 brakujących wartości, co stanowi 5,4% wszystkich analizowanych wartości. Otrzymana skuteczność klasyfikacji jest wysoka i wynosi ok. 98%. Algorytm generowania drzew decyzyjnych C4.5 (J48) zaimplementowany w bibliotece Weka uzyskuje podobne wyniki dla tego przykładu. Są to wartości z przedziału 98,4-98,7%. UŜycie metody bagging w bibliotece Weka daje identyczne rezultaty (98,1-98,8%). Natomiast boost uzyskał lepsze wyniki, bo mieszczące się w przedziale 98,2-99,1%.

16 16 Piotr Andruszkiewicz 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 audiology kr-vs-kp sick segment credit-g Bez metauczenia Bagging AdaBoost Rysunek 2. Procent poprawnie klasyfikowanych przykładów dla fold=10 i 5 klasyfikatorów przy metauczeniu Wyniki otrzymane dla zbioru kr-vs-kp (Tabela 4) dla drzewa o maksymalnej głębokości równej 5 są znacznie gorsze do ok. 10% niŝ dla drzewa bez ograniczeń. Zwiększanie maksymalnej głębokości pozwala osiągnąć wartości takie jak dla drzewa bez ograniczenia, a w kilku przypadkach dla maksymalnej głębokości 15 i 20 nawet nieznacznie lepsze. Algorytm bagging dla jednego klasyfikatora uzyskał zbliŝone wyniki (z wyjątkiem jednego przypadku, gdzie uzyskał zdecydowanie lepszy wynik) do przypadku, gdzie nie uŝyto Ŝadnego algorytmu metauczenia. Przy wykorzystaniu wielu klasyfikatorów otrzymane rezultaty takŝe są zbliŝone. Występują zarówno lepsze przypadki jak i gorsze wyniki. Algorytm bagging w około 75% przypadków okazał się lepszy. Nie są to jednak znaczące róŝnice. Dla zbioru audiology (Tabela 5), podobnie jak dla poprzednich przypadków, drzewo o maksymalnej głębokości równej 5 klasyfikuje gorzej. Zwiększanie głębokości drzewa pozwala na osiągnięcie rezultatów jak dla drzewa nieograniczanego. Wyniki metody bagging dla jednego klasyfikatora są nieznacznie gorsze (z wyjątkiem niewielkiego procenta przypadków) od wyników uzyskanych bez metauczenia. UŜycie 3 i 5 klasyfikatorów poprawia skuteczność klasyfikowania. Są to róŝnice rzędu 2-3%, pomijając klasyfikator o maksymalnej głębokości równej 5. Dla tego przypadku róŝnica w skuteczności klasyfikacji osiąga nawet ponad 20% (44,1 wobec 64,5%). Metoda boosting w porównaniu do bagging uzyskała gorsze wyniki zwykle około 1-3%. Wyjątek stanowi klasyfikator o maksymalnej głębokości drzewa 5, gdzie róŝnice te sięgają ok. 20%, a wynik jest zbliŝony do osiągnięć, jakie uzyskał klasyfikator bez metauczenia. Dla dwóch przypadków metoda boosting uzyskała widocznie lepsze rezultaty. Są to przypadki zaznaczone kursywą, a róŝnica w skuteczności wynosi około 9% i 5% w porównaniu do bagging.

17 Metauczenie a moŝliwość poprawy skuteczności klasyfikacji 17 Jakość klasyfikacji dla analizowanych zbiorów przestawione zostały graficznie na rysunku 1 i 2. Eksperymenty przeprowadzone zostały dla 3 i 5 klasyfikatorów oraz walidacji krzyŝowej z podziałem na 10 podzbiorów. Przedstawiają porównanie jakości przy wykorzystaniu metod bagging i boosting oraz bez metauczenia. 6. Podsumowanie Nadmierne ograniczanie maksymalnej głębokości drzewa powoduje spadek jakości klasyfikowania. Zastosowanie metauczenia z wykorzystaniem kilku klasyfikatorów pozwala na poprawienie skuteczności klasyfikowania. Wraz ze wzrostem liczby klasyfikatorów rośnie procent poprawnie klasyfikowanych przykładów. Nie jest to jednak Ŝelazna reguła. Przyrost skuteczności zaleŝy od uŝytego zbioru przykładów. Porównując metody bagging i boosting, moŝna stwierdzić, Ŝe uzyskują one podobne wyniki, wskazując jednak na korzyść metody bagging. Skuteczność klasyfikacji wyniosła dla zbiorów credit-g 65-75% audiology 45-73%. Zbiory te zawierały odpowiednio 1000 i 226 przykładów. Znacznie lepsze wyniki uzyskano dla pozostałych zbiorów (85-99%). Pozostałe zbiory zawierały co najmniej 2,3 do ponad 3,7 tyś. przykładów. W pracy [3] porównana została takŝe jakość klasyfikacji bez i przy wykorzystaniu metauczenia. UŜyty został algorytm budowy drzewa decyzyjnego C4.5. W eksperymentach zastosowano przycinanie stosowane tylko wówczas, gdy zmniejszało ono błąd klasyfikacji liczony na zbiorze testującym. W przypadku metody boosting zastosowano podejście wykorzystujące waŝony zbiór trenujący (w przeciwieństwie do niniejszej pracy, gdzie uŝyto podejścia wykorzystującego losowanie przykładów). Uzyskane wyniki, podobnie jak w niniejszej pracy, wskazywały na wyŝszość obu metod metauczenia nad budową pojedynczego klasyfikatora. Jednak [3] wskazuje (dla przypadku bez wprowadzania szumu) na wyŝszość metody boosting nad bagging. Eksperymenty przedstawione w niniejszej pracy pokazują niewielką przewagę metody bagging. RóŜnice mogą wynikać z zastosowania innych podejść przy realizacji metody boosting, odmiennych sposobów ograniczania głębokości drzewa oraz róŝnic w algorytmach budowy drzewa decyzyjnego. Mimo Ŝe stosowanie metauczenia powoduje trudniejszą interpretację zasad przydzielania przykładów do poszczególnych klas (powstaje wiele drzew decyzyjnych wykorzystywanych jednocześnie do określenia końcowej kategorii), to zastosowanie wielu klasyfikatorów pozwala na uzyskanie wyŝszej jakości klasyfikacji. Bibliografia [1] Cichosz P. Systemy uczące się, Warszawa 2000, WNT. [2] Breiman L. Bagging Predictors, Machine Learning, 24(2), 1996, s [3] Dietterich T. G. An experimental comparison of three methods for constructing ensembles of decision trees: Bagging, boosting, and randomization, Machine Learning, 40(2), 2000, s [4] Freund Y., Shapire E. Experiments with a new boosting algorithm, 13th Conf. on Machine Learning, s , 1996.

18 18 Piotr Andruszkiewicz [5] Han J., Kamber M. Data Mining: Concepts and Techiniques, New York 2001, Morgan Kaufman. [6] Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer, [7] [8] Mattison R. Data Warehousing and Data Mining for Telecommunications, 1997, Artech House Publishers. [9] Shafer J. C., Agrawal R., Mehta M. SPRINT: A Scalable Parallel Classifier for Data Mining, Proc. 22nd Int. Conf. Very Large Databases (VLDB), 1996, Morgan Kaufmann. [10] Strobl C., Boulesteix A. L., Augustin T. Unbiased split selection for classification trees based on the Gini Index, Computational Statistics & Data Analysis, Elsevier, 52(1), 2007, s [11] Witten I., Frank E. Data Mining, New York 2000, Morgan Kaufman.

19 Fraktalowy model komponentowy Lech Baranowski, Ilona Bluemke Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych Abstract: Component model is a method of components formalization and standardization. It describes components creation, usage and specification. In this paper Fractal component model is described. It contains components hierarchy, nonfunctional interfaces, optional interfaces. For this model a CASE tool Fractal Modeler was implemented. The tool enables users to create component systems and generates UML class diagram in IBM Rational Software Architect format. Keywords: software component, Component-based Software Engineering, component model 1. Wprowadzenie Komponentowa InŜynieria Oprogramowania (w skrócie CBSE z ang. Component- Based Software Engineering) to dziedzina InŜynierii Oprogramowania obejmująca projektowanie i tworzenie systemów informatycznych z komponentów. Komponenty są modułami (klockami) przeznaczonymi do wielokrotnego uŝycia w ramach wielu projektów. Wytwarza się je wewnątrz firmy, bądź kupuje na rynku. Pojedynczy system tworzy się w wyniku osadzania we wcześniej zaprojektowanej i przygotowanej architekturze komponentów. Następnie, komponenty konfiguruje się na potrzeby systemu i wzajemnej współpracy. Celem CBSE jest łatwiejsze, szybsze i tańsze budowanie systemów. Ponadto, tworzenie aplikacji z kilku duŝych modułów, zamiast z wielu drobnych elementów, zmusza twórców oprogramowania do dbania o przejrzystą architekturę, oraz do tworzenia i przestrzegania standardów co wywiera korzystny wpływ na jakość produktu. Istnieje wiele róŝnych definicji komponentu. Jedna z najczęściej przytaczanych jest definicja Clemensa Szyperskiego z 1996 roku: Komponent oprogramowania jest jednostką montaŝową, z określonymi interfejsami kontraktowymi i jawnymi zaleŝnościami kontekstowymi. Komponent oprogramowania moŝe być instalowany niezaleŝnie i podlega zestawianiu przez osoby postronne. [1] PowyŜsza definicja podkreśla cechy: niezaleŝność od kontekstu, sposób wdraŝania i interfejsy, które odróŝniają komponent od tradycyjnych modułów. Inna definicja Bill a Councill a i George a T. Heineman a zawiera pojęcie modelu komponentowego: Komponent to element oprogramowania, który spełnia załoŝenia modelu komponentowego i moŝe być niezaleŝnie wdroŝony i składany (tworzony) bez konieczności modyfikacji, bazując na odpowiednich standardach. [2] Model komponentowy definiuje czym są komponenty, jakie są nałoŝone na nie wymagania, jak są konstruowane, w jaki sposób są ze sobą łączone i integrowane

20 20 Lech Baranowski, Ilona Bluemke w ramach systemu [3]. NaleŜy jednak zaznaczyć, Ŝe szczegółowa i precyzyjna definicja modelu nie istnieje. Pojęcie modelu jest bardzo szerokie i obejmuje: technologie komponentowe szeroko stosowane w praktyce, których załoŝenia powstały na zasadzie ewolucji, a takŝe modele teoretyczne. Część modeli skupia się na strukturze komponentów, część zaś na modelowaniu interakcji między nimi [4]. Elementem, który łączy wszystkie podejścia jest chęć sformalizowania pewnych praktyk stosowanych przy wytwarzaniu komponentów i systemów na ich podstawie budowanych. Warto równieŝ zwrócić uwagę na duŝą róŝnorodność wśród istniejących modeli: część z nich ma podstawy wyłącznie inŝynierskie np.: Java- Beans [5,6] i COM [7,8], część matematyczne (mechanizmy oparte o sieci Petri [9], modele zachowań STS - Symbolic Transition Systems [10]); część jest dedykowana konkretnej dziedzinie gospodarki np. Koala [11] sprzętowi elektronicznemu, EJB [5,6] systemom biznesowym, część pozostaje uniwersalna (.NET [12]); część skupia się na strukturze i budowie komponentów (.NET, EJB), część na ich wzajemnych interakcjach (STS), inne uwzględniają oba aspekty (GRID [13]). W 2002 roku powstał fraktalowy model komponentowy (Fractal Component Model) [14] opisany w rozdziale 2. Jest to model otwarty i darmowy. Jego twórcy analizowali istniejące wcześniej modele (wprowadzenie do modelu zawiera odniesienia do modeli JavaBeans,.NET, CORBA [15]) i starali się zaadaptować najlepsze praktyki, jednocześnie starając się unikać błędów innych modeli. Model został dobrze przyjęty przez środowisko inŝynierskie, jest stosowany w projektach np. France Telecom. W Instytucie Informatyki PW zrealizowano aplikację Fractal Modeler, wspierającą model fraktalowy. Aplikacja, w skrócie opisana w rozdziale 3, pozwala na projektowanie systemów komponentowych. Zrealizowano mechanizm walidacji, pozwalający na wykrywanie błędów semantycznych związanych ze specyfikacją interfejsów. Narzędzie ma moŝliwość generacji diagramu klas dla narzędzia IBM Rational Software Architekt, co ułatwia implementację modelowanego systemu. W rozdziale 4 pokazano prosty przykład. 2. Struktura modelu Fractal W 2002 roku w wyniku współpracy francuskiej firmy komputerowej Groupe Bull, pracowników działu R&D France Telecom oraz INRIA (francuskiego narodowego instytutu badań informatycznych) powstało konsorcjum ObjectWeb. Celem jednego z pierwszych projektów było stworzenie fraktalowego modelu komponentowego (Fractal Component Model), którego pierwsza wersja została opublikowana w lipcu 2002 roku. Aktualna wersja pochodzi z roku Powodem powstania modelu Fractal [14] było ograniczone wsparcie wiodących istniejących modeli komponentowych (.NET, EJB, CORBA) dla rozszerzalności i adaptacji. PowyŜsze braki nie pozwalały między innymi na: moŝliwość dynamicznego wprowadzenia róŝnych kontrolerów własności niefunkcjonalnych komponentów, moŝliwość zmian stopnia konfigurowalności (kosztem wydajności), problemy z przenoszeniem środowisk modeli do róŝnych systemów i języków. W celu wypełnienia tej luki i bazując na dobrych cechach wymienionych modeli, projektanci wprowadzili lekki model komponentowy, znajdujący zastosowanie zarówno w niewielkich projektach, jak i w tych bardziej skomplikowanych.

21 Fraktalowy model komponentowy 21 Podstawową cechą modelu Fractal jest jego hierarchiczność. Na najwyŝszym poziomie system projektowany w oparciu o ten model składa się z jednego komponentu. Komponent ten, na niŝszych poziomach, jest dekomponowany na zestaw komponentów powiązanych zaleŝnościami interfejsowymi. Komponent nadrzędny deleguje realizację swojej funkcjonalności do odpowiednich komponentów podrzędnych. KaŜdy z komponentów podrzędnych moŝe być rozpatrywany jako komponent nadrzędny wobec swoich komponentów podrzędnych. Drugą waŝną cechą modelu jest poziom zgodności (określa jakie zalecenia modelu spełnia komponent). Poziomy zgodności zaleŝą od zestawu cech niefunkcjonalnych dostarczanych przez komponent. Wszelkie zalecenia modelu są opcjonalne model definiuje załoŝenia jakie muszą być spełnione przez obiekt by mógł on być zakwalifikowany jako komponent o odpowiednim poziomie zgodności. Zalecenia modelu są reprezentowane poprzez interfejsy, które naleŝy zaimplementować. Komponent, który implementuje odpowiedni zestaw interfejsów, realizuje dany zestaw zaleceń. Im wyŝszy poziom zgodności, tym mniejsze jest ryzyko napotkania trudności przy wykorzystaniu danego komponentu. Trzecią cechą modelu Fractal jest otwartość. śaden z mechanizmów wprowadzonych w modelu nie utrudnia dodawania i integracji nowych cech i właściwości. Model wprowadza moŝliwość współdzielenia danego komponentu przez inne komponenty. Komponent A moŝe być współdzielony (shared) przez komponenty B i C, nawet jeśli pomiędzy B i C nie ma powiązań i znajdują się one na róŝnych poziomach w hierarchii komponentów. PowyŜsza cecha sprawia, Ŝe struktura powiązań między komponentami przestaje być drzewem, a staje się grafem skierowanym bez cykli. Komponenty mogą być tworzone za pomocą fabryk komponentów (factories) specjalnych komponentów implementujących interfejsy niefunkcjonalne (interfejsy Factory, GenericFactory). Fabryki pozwalają równieŝ na tworzenie szablonów (tempalate). Szablon to rodzaj standardowej fabryki komponentów, która tworzy komponenty prawie izomorficzne względem siebie (izomorfizm nie dotyczy implementacji interfejsu fabryki). Komponenty stworzone z szablonu mają wszystkie właściwości takie jak szablon. RównieŜ ich podkomponenty są identyczne jak podkomponenty szablonu. Szczególnym przypadkiem komponentu jest komponent generujący (bootstrap component). Komponent generujący implementuje interfejs GenericFactory i moŝe tworzyć róŝne rodzaje komponentów, w tym równieŝ fabryki komponentów Interfejsy Interfejs jest zdefiniowany w modelu jako punkt dostępu do funkcjonalności komponentu. Interfejsy dzielą się na: funkcjonalne (odwołują się do wymaganej lub dostarczanej funkcjonalności), w tym: serwerowy (odbiera operacje wywołania), kliencki (wywołuje/emituje operacje wywołania), niefunkcjonalny, inaczej kontrolera (zarządza niefunkcjonalnymi aspektami komponentu).

22 22 Lech Baranowski, Ilona Bluemke Rysunek 1. Komponent Fractal jako czarna skrzynka. Źródło: [14] Na rysunku 1 pokazano komponent (ang. component) w postaci czarnej skrzynki, z widocznym interfejsem klienta (ang. client interface) oraz serwerowym (ang. server interface). Komponenty są ze sobą łączone poprzez wiązania interfejsów. Interfejs kliencki moŝe zostać połączony tylko z jednym interfejsem serwerowym (interfejs serwerowy moŝe być połączony z wieloma interfejsami klienckimi). Model definiuje aŝ dwanaście interfejsów niefunkcjonalnych, poprzez implementację których komponent realizuje odpowiednie zalecenia modelu: Component pozwala na uzyskanie informacji/referencji do pozostałych interfejsów danego komponentu. Interface dostarcza prostych mechanizmów refleksji wobec konkretnego interfejsu. AttributeController pozwala na zmianę atrybutów (właściwości) komponentu z zewnątrz (np. koloru ikonki, tekstu). BindingController dostarcza mechanizmów do zarządzania wiązaniami danego komponentu z innymi komponentami (dołączania lub odłączania). ContentController dostarcza mechanizmów do zarządzania połączeniami danego komponentu z jego pod-komponentami (dołączania lub odłączania). SuperController dostarcza metodę zwracającą referencję do rodzica danego komponentu, lub rodziców w przypadku komponentów dzielonych. NameController dostarcza metod do zarządzania lokalnymi nazwami komponentów. LifeCycleController dostarcza prostych mechanizmów do zarządzania cyklem Ŝycia komponentu. Komponent moŝe przyjmować stany: start i stop. Zmiana właściwości komponentu (w tym dołączanie pod-komponentów, wiązanie interfejsów, zmiana wartości atrybutów, itp.) moŝliwa jest tylko w stanie stop. GenericFactory pozwala na tworzenie komponentów róŝnego typu (metody które definiuje przyjmują parametry określające cechy tworzonych komponentów), jak równieŝ na tworzenie szablonów (template). Factory pozwala na tworzenie komponentów jednego określonego typu. TypeFactory pozwala na tworzenie interfejsów typu: InterfaceType i Component- Type. InterfaceType opisuje własności dowolnego interfejsu: jego nazwę, sygnaturę, liczność, opcjonalność, rolę (czy jest kliencki czy serwerowy).

Drzewa decyzyjne i lasy losowe

Drzewa decyzyjne i lasy losowe Drzewa decyzyjne i lasy losowe Im dalej w las tym więcej drzew! ML Gdańsk http://www.mlgdansk.pl/ Marcin Zadroga https://www.linkedin.com/in/mzadroga/ 20 Czerwca 2017 WPROWADZENIE DO MACHINE LEARNING CZYM

Bardziej szczegółowo

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2) Przepływy danych Oracle Designer: Modelowanie przepływów danych Cele: zobrazowanie funkcji zachodzących w organizacji, identyfikacja szczegółowych informacji, przetwarzanych przez funkcje, pokazanie wymiany

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

8. Drzewa decyzyjne, bagging, boosting i lasy losowe Algorytmy rozpoznawania obrazów 8. Drzewa decyzyjne, bagging, boosting i lasy losowe dr inż. Urszula Libal Politechnika Wrocławska 2015 1 1. Drzewa decyzyjne Drzewa decyzyjne (ang. decision trees), zwane

Bardziej szczegółowo

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania

Bardziej szczegółowo

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie

Bardziej szczegółowo

Algorytmy klasyfikacji

Algorytmy klasyfikacji Algorytmy klasyfikacji Konrad Miziński Instytut Informatyki Politechnika Warszawska 6 maja 2015 1 Wnioskowanie 2 Klasyfikacja Zastosowania 3 Drzewa decyzyjne Budowa Ocena jakości Przycinanie 4 Lasy losowe

Bardziej szczegółowo

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU> Załącznik nr 4.4 do Umowy nr 35-ILGW-253-.../20.. z dnia... MINISTERSTWO FINANSÓW DEPARTAMENT INFORMATYKI PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT WERSJA numer wersji

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Drzewa Decyzyjne, cz.2

Drzewa Decyzyjne, cz.2 Drzewa Decyzyjne, cz.2 Inteligentne Systemy Decyzyjne Katedra Systemów Multimedialnych WETI, PG Opracowanie: dr inŝ. Piotr Szczuko Podsumowanie poprzedniego wykładu Cel: przewidywanie wyniku (określania

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

Charakterystyka oprogramowania obiektowego

Charakterystyka oprogramowania obiektowego Charakterystyka oprogramowania obiektowego 1. Definicja systemu informatycznego 2. Model procesu wytwarzania oprogramowania - model cyklu Ŝycia oprogramowania 3. Wymagania 4. Problemy z podejściem nieobiektowym

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

Ćwiczenie 12. Metody eksploracji danych

Ćwiczenie 12. Metody eksploracji danych Ćwiczenie 12. Metody eksploracji danych Modelowanie regresji (Regression modeling) 1. Zadanie regresji Modelowanie regresji jest metodą szacowania wartości ciągłej zmiennej celu. Do najczęściej stosowanych

Bardziej szczegółowo

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2 InŜynieria Rolnicza 14/2005 Michał Cupiał, Maciej Kuboń Katedra InŜynierii Rolniczej i Informatyki Akademia Rolnicza im. Hugona Kołłątaja w Krakowie DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY

Bardziej szczegółowo

ALGORYTM RANDOM FOREST

ALGORYTM RANDOM FOREST SKRYPT PRZYGOTOWANY NA ZAJĘCIA INDUKOWANYCH REGUŁ DECYZYJNYCH PROWADZONYCH PRZEZ PANA PAWŁA WOJTKIEWICZA ALGORYTM RANDOM FOREST Katarzyna Graboś 56397 Aleksandra Mańko 56699 2015-01-26, Warszawa ALGORYTM

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ Joanna Bryndza Wprowadzenie Jednym z kluczowych problemów w szacowaniu poziomu ryzyka przedsięwzięcia informatycznego

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

Elementy modelowania matematycznego

Elementy modelowania matematycznego Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski

Bardziej szczegółowo

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU> Załącznik nr 4.6 do Umowy nr 35-ILGW-253-.../20.. z dnia... MINISTERSTWO FINANSÓW DEPARTAMENT INFORMATYKI PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT WERSJA

Bardziej szczegółowo

Instrukcja zarządzania kontami i prawami

Instrukcja zarządzania kontami i prawami Instrukcja zarządzania kontami i prawami uŝytkowników w systemie express V. 6 1 SPIS TREŚCI 1. Logowanie do systemu.... 3 2. Administracja kontami uŝytkowników.... 4 3. Dodawanie grup uŝytkowników....

Bardziej szczegółowo

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Elementy nieprzystające Definicja odrzucania Klasyfikacja

Bardziej szczegółowo

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne. Dodawanie i poprawa wzorców formularza i wydruku moŝliwa jest przez osoby mające nadane odpowiednie uprawnienia w module Amin (Bazy/ Wzorce formularzy i Bazy/ Wzorce wydruków). Wzorce formularzy i wydruków

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram klas. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 2 Ćwiczenia w narzędziu CASE diagram

Bardziej szczegółowo

Tworzenie przypadków testowych

Tworzenie przypadków testowych Tworzenie przypadków testowych Prowadząca: Katarzyna Pietrzyk Agenda 1. Wprowadzenie 2. Wymagania 3. Przypadek testowy Definicja Schemat Cechy dobrego przypadku testowego 4. Techniki projektowania Czarnej

Bardziej szczegółowo

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ Opis działania raportów w ClearQuest Historia zmian Data Wersja Opis Autor 2008.08.26 1.0 Utworzenie dokumentu. Wersja bazowa dokumentu. 2009.12.11 1.1

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia Materiały dla nauczyciela Projekt

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Spis treści. spis treści wygenerowany automatycznie

Spis treści. spis treści wygenerowany automatycznie Spis treści Rozdział 2.Wymagania edytorskie 2 2.1. Wymagania ogólne 2 2.2. Tytuły rozdziałów i podrozdziałów 2 2.3. Rysunki, tabele i wzory 3 2.3.1. Rysunki 3 2.3.2. Tabele 4 2.3.3. Wzory 4 2.4. Odsyłacze

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie

Bardziej szczegółowo

Metody klasyfikacji danych - część 1 p.1/24

Metody klasyfikacji danych - część 1 p.1/24 Metody klasyfikacji danych - część 1 Inteligentne Usługi Informacyjne Jerzy Dembski Metody klasyfikacji danych - część 1 p.1/24 Plan wykładu - Zadanie klasyfikacji danych - Przeglad problemów klasyfikacji

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

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

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych Język UML w modelowaniu systemów informatycznych dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Wykład 10 Diagramy wdrożenia I Diagramy wdrożenia - stosowane do modelowania

Bardziej szczegółowo

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej Zarządzanie konfiguracją produktu w całym cyklu Ŝycia Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej - plan prezentacji 1 2 3 4 5 Zarządzanie konfiguracją - definicje Problemy z konfiguracją

Bardziej szczegółowo

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014

Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA

WOJSKOWA AKADEMIA TECHNICZNA WOJSKOWA AKADEMIA TECHNICZNA LABORATORIUM ANALIZA I MODELOWANIE SYSTEMÓW INFORMATYCZNYCH Stopień, imię i nazwisko prowadzącego Stopień, imię i nazwisko słuchacza Grupa szkoleniowa mgr inż. Łukasz Laszko

Bardziej szczegółowo

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji

Bardziej szczegółowo

5. Administracja kontami uŝytkowników

5. Administracja kontami uŝytkowników 5. Administracja kontami uŝytkowników Windows XP, w porównaniu do systemów Windows 9x, znacznie poprawia bezpieczeństwo oraz zwiększa moŝliwości konfiguracji uprawnień poszczególnych uŝytkowników. Natomiast

Bardziej szczegółowo

10. Redukcja wymiaru - metoda PCA

10. Redukcja wymiaru - metoda PCA Algorytmy rozpoznawania obrazów 10. Redukcja wymiaru - metoda PCA dr inż. Urszula Libal Politechnika Wrocławska 2015 1 1. PCA Analiza składowych głównych: w skrócie nazywana PCA (od ang. Principle Component

Bardziej szczegółowo

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM

Bardziej szczegółowo

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language) Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu

Bardziej szczegółowo

Narzędzia CASE dla.net. Łukasz Popiel

Narzędzia CASE dla.net. Łukasz Popiel Narzędzia CASE dla.net Autor: Łukasz Popiel 2 Czym jest CASE? - definicja CASE (ang. Computer-Aided Software/Systems Engineering) g) oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana

Bardziej szczegółowo

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006 SAS wybrane elementy DATA MINING Część III Seweryn Kowalski 2006 Algorytmy eksploracji danych Algorytm eksploracji danych jest dobrze zdefiniowaną procedurą, która na wejściu otrzymuje dane, a na wyjściu

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

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

Drzewa decyzyjne. Inteligentne Obliczenia. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber Drzewa decyzyjne Inteligentne Obliczenia Wydział Mechatroniki Politechniki Warszawskiej Anna Sztyber INO (IAiR PW) Drzewa decyzyjne Anna Sztyber / Drzewa decyzyjne w podstawowej wersji algorytm klasyfikacji

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

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1) Modelowanie związków encji Oracle Designer: Modelowanie związków encji Technika określania potrzeb informacyjnych organizacji. Modelowanie związków encji ma na celu: dostarczenie dokładnego modelu potrzeb

Bardziej szczegółowo

Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem.

Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem. 3 Wykład 5 MS Word korespondencja seryjna Grzegorz Bazydło Cel wykładu Celem wykładu jest omówienie wybranych zagadnień dotyczących stosowania korespondencji

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

bo od managera wymaga się perfekcji

bo od managera wymaga się perfekcji bo od managera wymaga się perfekcji MODELOWANIE PROCESÓW Charakterystyka modułu Modelowanie Procesów Biznesowych (BPM) Modelowanie procesów biznesowych stanowi fundament wdroŝenia systemu zarządzania jakością

Bardziej szczegółowo

IV.3.b. Potrafisz samodzielnie dokonać podstawowej konfiguracji sieci komputerowej

IV.3.b. Potrafisz samodzielnie dokonać podstawowej konfiguracji sieci komputerowej IV.3.b. Potrafisz samodzielnie dokonać podstawowej konfiguracji sieci komputerowej Co warto wiedzieć o łączeniu komputerów w sieci? Spójrz na rysunek IV.3p, który przedstawia właściwości Połączeń lokalnych,

Bardziej szczegółowo

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU> Załącznik nr 4.5 do Umowy nr 35-ILGW-253-.../20.. z dnia... MINISTERSTWO FINANSÓW DEPARTAMENT INFORMATYKI PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT WERSJA numer wersji

Bardziej szczegółowo

Klasyfikacja i regresja Wstęp do środowiska Weka

Klasyfikacja i regresja Wstęp do środowiska Weka Klasyfikacja i regresja Wstęp do środowiska Weka 19 listopada 2015 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików pdf sformatowanych podobnie do tego dokumentu.

Bardziej szczegółowo

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska BUDOWA DRZEW DECYZYJNYCH Drzewa decyzyjne są metodą indukcyjnego

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.Struktura oprogramowania rozproszonego. 76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia

Bardziej szczegółowo

IBM Rational Software Architect uproszczona instrukcja użytkowania

IBM Rational Software Architect uproszczona instrukcja użytkowania IBM Rational Software Architect uproszczona instrukcja użytkowania TOMASZ ŁUKASZUK na podstawie Software Developer's Jurnal Extra Nr 18 STRESZCZENIE: Dokument przedstawia ogólne informacje na temat narzędzia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.

Bardziej szczegółowo

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość Dwie metody Klasyczna metoda histogramu jako narzędzie do postawienia hipotezy, jaki rozkład prawdopodobieństwa pasuje do danych Indukcja drzewa decyzyjnego jako metoda wykrycia klasyfikatora ukrytego

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE

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

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

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35 Wzorce projektowe cz. II Wzorce projektowe cz. II 1/35 Wzorce projektowe cz. II 2/35 Iterator Przeznaczenie Wzorzec zapewnia sekwencyjny dostęp do elementów obiektu zagregowanego bez ujawniania jego reprezentacji

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

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

Nowe narzędzia zarządzania jakością

Nowe narzędzia zarządzania jakością Nowe narzędzia zarządzania jakością Agnieszka Michalak 106947 Piotr Michalak 106928 Filip Najdek 106946 Co to jest? Nowe narzędzia jakości - grupa siedmiu nowych narzędzi zarządzania jakością, które mają

Bardziej szczegółowo

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

Podstawy obsługi aplikacji Generator Wniosków Płatniczych Podstawy obsługi aplikacji Generator Wniosków Płatniczych 1. Instalacja programu Program naleŝy pobrać ze strony www.simik.gov.pl. Instalację naleŝy wykonań z konta posiadającego uprawnienia administratora

Bardziej szczegółowo

WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR

WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR kpt. mgr inŝ. Paweł HŁOSTA kpt. mgr inŝ. Dariusz SZABRA Wojskowy Instytut Techniczny Uzbrojenia WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR W niektórych aplikacjach mikroprocesorowych,

Bardziej szczegółowo

Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro

Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro Systemy ekspertowe System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro Autorzy: 1 Wstęp Wybór zestawu komputerowego, ze względu na istnienie wielu

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

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com

Diagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

INWENTARYZACJA W PROGRAMIE INTEGRA

INWENTARYZACJA W PROGRAMIE INTEGRA INWENTARYZACJA W PROGRAMIE INTEGRA Niniejszy dokument przedstawia zasady przeprowadzania Inwentaryzacji w programie Integra. Przydatną funkcją jest moŝliwość tworzenia arkuszy inwentaryzacyjnych wykorzystywanych

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

Rysunek 1: Przykłady graficznej prezentacji klas.

Rysunek 1: Przykłady graficznej prezentacji klas. 4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez

Bardziej szczegółowo

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400 PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników S7 300/S7 400, w celu stworzenia komunikacji Master Slave z wykorzystaniem sieci PROFIBUS DP pomiędzy sterownikami S7 300 i S7

Bardziej szczegółowo

Modelowanie procesów (1) Oracle Designer: Modelowanie procesów. Modelowania procesów (2) Modelowanie procesów (3)

Modelowanie procesów (1) Oracle Designer: Modelowanie procesów. Modelowania procesów (2) Modelowanie procesów (3) Modelowanie procesów (1) Oracle Designer: Modelowanie procesów Identyfikuje kluczowe aktywności w działalności organizacji. Modeluje wybrane lub wszystkie aktywności w ramach organizacji. Określa kolejność

Bardziej szczegółowo

Sprawozdanie z zadania Modele predykcyjne (2)

Sprawozdanie z zadania Modele predykcyjne (2) Maciej Karpus, 131529 Tomasz Skarżyński, 131618 19.04.2013r. Sprawozdanie z zadania Modele predykcyjne (2) 1. Wprowadzenie 1.1. Informacje wstępne Dane dotyczą wyników badań mammograficznych wykonanych

Bardziej szczegółowo

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 6 Modelowanie przypadków uŝycia i czynności. Materiały dla studentów

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 6 Modelowanie przypadków uŝycia i czynności. Materiały dla studentów Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 6 Modelowanie przypadków uŝycia

Bardziej szczegółowo

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl Testowanie według modelu (MBT) Bogdan Bereza, Victo MBT testowanie z modelu wersja 2.1 A 1 (48) Pozdrawiam Best regards Med vänliga hälsningar Bogdan Bereza bogdan.bereza@victo.eu +48 519 152 106 Skype:

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

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

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

Instrukcja zmian w wersji Vincent Office

Instrukcja zmian w wersji Vincent Office Instrukcja zmian w wersji 1.14 Vincent Office 1. Admin-zarządzanie podatnikami. a) przenoszenie planu kont między podatnikami. KaŜdy nowo załoŝony podatnik posiada wzorcowy plan kont opracowny przez naszą

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

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2 Wyższa Szkoła Menedżerska w Legnicy Systemy informatyczne w przedsiębiorstwach Zarządzanie, ZIP, sem. 6 (JG) Modelowanie wymagań Wykład 2 Grzegorz Bazydło Cel wykładu Celem wykładu jest przekazanie wiedzy

Bardziej szczegółowo