Praca dyplomowa magisterska

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

Download "Praca dyplomowa magisterska"

Transkrypt

1 Politechnika Warszawska Rok akademicki 2010/2011 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska inż. Piotr Kalański TODO Ocena: Opiekun pracy: dr inż. Michał Rudowski Podpis Przewodniczącego Komisji Egzaminu Dyplomowego

2 Kierunek: Informatyka Specjalność: Inżynieria Systemów Informatycznych Data urodzenia: 18 kwietnia 1986 r. Data rozpoczęcia studiów: październik 2010 r. Życiorys TODO Podpis studenta Egzamin dyplomowy Złożył egzamin dyplomowy w dn r. z wynikiem Ogólny wynik studiów Dodatkowe wnioski i uwagi Komisji Streszczenie Słowa kluczowe: Abstract Title of paper: Keywords:

3 Spis treści Spis treści i 1 Wstęp Cel pracy Zakres pracy Raportowanie Business Intelligence Definicja [?] Historia powstania Business Intelligence [?] Piramida Business Intelligence [?] Hurtownia danych [?] OLAP [?] Data mining [?] Istniejące rozwiązania Business Intelligence Jaspersoft IBM Cognos Podsumowanie Biblioteka Wymagania Wymagania funkcjonalne Wymagania niefunkcjonalne Przypadki użycia Przykładowe bazy danych CRM Service Desk Przykładowe raporty Service Desk CRM i

4 SPIS TREŚCI ii 3.4 Meta-Model Meta-model biznesowy Przykładowy model biznesowy Meta-model raportu Przykładowy raport Projekt Model Web Implementacja Generowanie zapytania Komunikacja klient - serwer Serializacja do formatu XML Technologia Narzędzia Testy Generacja danych Testy jednostkowe Testy funkcjonalne Aplikacja Możliwości aplikacji Przykładowe analizy Serwer Wymagania Projekt Implementacja Technologia Aplikacja Podsumowanie Designer Wymagania Wymagania funkcjonalne Przypadki użycia Projekt Diagramy sekwencji Implementacja Technologia Diagramy pakietów Aplikacja Podsumowanie

5 SPIS TREŚCI iii 6 Aplikacja mobilna Wymagania Projekt Implementacja Technologia Narzędzia Aplikacja Podsumowanie Podsumowanie 55 Bibliografia 56 Spis symboli i skrótów 58 Spis rysunków 59 Spis tabel 61

6 Rozdział 1 Wstęp Dzisiejszy rynek technologii informatycznych oferuje wiele narzędzi wspierających proces raportowania. Są to rozwiązania zarówno komercyjne (Business Objects, IBM Cognos) jak i Open Source: Jasper Reports, Eclipse BIRT. Rozwiązania Open Source umożliwiają tworzenie wyłącznie raportów statycznych, w których brakuje interakcji z użytkownikiem oraz wspierają głównie raportowanie operacyjne. Natomiast narzędzia komercyjne pozwalają na tworzenie bardziej dynamicznych raportów, w których dostępna jest możliwość poruszania się po hierarchii danych, sortowania wierszy oraz filtrowania danych. Żadne z wyżej wymienionych narzędzi nie umożliwia ograniczania zakresu widocznych danych (uprawnienia), zwijania/rozwijania danych, dynamicznej zmiany hierarchii grupowania, zamrożenia widocznych kolumn i wierszy nagłówka (funkcjonalność dostępna między innymi w programie Excel). Wymienione funkcje mogą zdecydowanie uatrakcyjnić przeglądanie raportu. Użytkownik widzi takie dane do których ma uprawnienia oraz które go w danej chwili interesują. Ma możliwość szybkiego obejrzenia szczegółowych danych. Na rynku dostępna jest biblioteka SmartGWT spełniająca niektóre z wyżej wymienionych wymagań. W ramach tej biblioteki został utworzony Widget TreeGrid, który pozwala na zwijanie/rozwijanie danych, zamrożenie widocznych kolumn oraz wierszy nagłówka. Narzędzie to nie umożliwia natomiast ograniczania widocznych danych oraz dynamicznej zmiany hierarchii. Dodatkowo źródło danych dla tego komponentu musi być w postaci tabeli zawierającej powiązanie rekurencyjne, co jest znaczącym ograniczeniem. Kolejne wady tego rozwiązania to brak wsparcia dla filtracji danych (filtr musi zostać zaimplementowany programowo) oraz brak wsparcia dla modelu biznesowego (np. świat obiektów w Business Objects), który ułatwia tworzenie raportów analitykom, którzy nie muszą znać struktury bazy danych. 1

7 ROZDZIAŁ 1. WSTĘP Cel pracy Zaprojektowanie oraz zaimplementowanie biblioteki umożliwiającej tworzenie hierarchicznych raportów dla aplikacji www w sposób deklaratywny. 1.2 Zakres pracy TODO

8 Rozdział 2 Raportowanie Rozdział ten zawiera wprowadzenie do Business Intelligence z omówieniem hurtowni danych, OLAP oraz eksploracji danych. W poszczególnych sekcjach zostały zaprezentowane wybrane narzędzia klasy Business Intelligence: JasperReports oraz IBM Cognos. Podsumowanie rozdziału zawiera przedstawienie najbardziej pożądanych cech nowego narzędzia do raportowania. 2.1 Business Intelligence Definicja [?] Business Intelligence jest definiowane przez firmę Gartner jako zorientowany na użytkownika proces zbierania, eksploracji, interpretacji i analizy danych, który prowadzi do usprawnienia i zracjonalizowania procesu podejmowania decyzji biznesowych w celu kreowania wzrostu wartości przedsiębiorstwa Historia powstania Business Intelligence [?] Na powstanie Business Intelligence miało wpływ kilka nurtów. Po pierwsze wykorzystanie komputerów w dziedzinie statystyki i w badaniach operacyjnych przyczyniło się do powstania systemów wspomagania decyzji. Kolejny nurt to prace nad sztuczną inteligencją rozpoczęte w latach 50. W ramach tej dziedziny opracowano wiele algorytmów przydatnych do wspierania rzeczywistych procesów decyzyjnych, które wykraczały poza możliwości systemów wspomagania decyzji. Jednak kluczowym nurtem był rozwój relacyjnych baz danych oraz rozwój języka zapytań SQL. Kolejny etap to rozwój w latach 80. dziedziny projektowania i tworzenia hurtowni danych, czyli baz danych na potrzeby wspierania decyzji biznesowych. W tym czasie zaczęły również powstawać pierwsze pakiety narzędziowe. 3

9 ROZDZIAŁ 2. RAPORTOWANIE 4 W latach 90. Business Intelligence stało się terminem powszechnie znanym wśród fachowców oraz standardem oferowanym przez firmy specjalistyczne i największych producentów oprogramowania, takich jak: IBM, Microsoft, Oracle czy SAP Piramida Business Intelligence [?] Rysunek 2.1: Piramida Business Intelligence Narzędzia analityczne Business Intelligence można uporządkować wedle stopnia złożoności. Jest on proporcjonalnie zależny od poziomu skomplikowania oraz odwrotnie proporcjonalny do częstości używania oraz liczby potencjalnych użytkowników. Rysunek 2.1 przedstawia piramidę narzędzi klasy Business Intelligence. Na samym dole znajduje się oprogramowanie hurtowni danych, które umożliwia projektowanie struktury bazy danych oraz pobieranie, czyszczenie i transformację danych. Na drugim poziomie znajdują się narzędzia do raportowania i zapytań ad-hoc. Pozwalają one początkowemu użytkownikowi na tworzenie i używanie raportów. Trzeci poziom tworzą narzędzia OLAP 1, czyli środowisko wielowymiarowych analiz. Na samej górze piramidy są narzędzia do eksploracji danych, których celem jest odnajdywanie zależności w obrębie danych oraz prognozowanie Hurtownia danych [?] Hurtownia danych definiowana jest jako uporządkowana tematycznie, zintegrowana, zawierająca wymiar czasowy oraz nieulotna baza danych wspomagająca podejmowanie decyzji. 1 OLAP OnLine Analytical Processing

10 ROZDZIAŁ 2. RAPORTOWANIE 5 Uporządkowanie tematycznie oznacza ograniczenie zbieranych danych do określonego obszaru biznesowego, np: sprzedaży czy marketingu. Jest to odmienne podejście do baz danych systemów transakcyjnych, gdzie gromadzone są dane dotyczące działań lub procesów biznesowych. Zintegrowany oznacza, że dane pochodzą z różnych źródeł i zostały sprowadzone do wspólnego modelu korporacyjnego. Zawierający wymiar czasu Gromadzone są dane zmieniające się w czasie. Prawie wszystkie zapytania kierowane do hurtowni wymagają podania wycinka czasu. Nieulotny Dane raz umieszczone w hurtowni nie ulegają zmianie. To samo zapytanie powinno zawsze zwracać ten sam rezultat OLAP [?] Przetwarzanie analityczne on-line (OLAP) jest wielowymiarową analizą danych zainicjowaną przez użytkownika biznesowego i obejmuje złożone mechanizmy raportowania, analizy oraz wizualizacji danych. OLAP składa się z dwóch zasadniczych elementów: wielowymiarowego modelu danych oraz zbioru operacji. Model danych Sposób modelowania danych odzwierciedla potrzeby raportowania danych biznesowych. Analizuję się wskaźniki biznesowe, które w modelu logicznym nazywane są faktami lub miernikami. Przykładowe fakty to wielkość sprzedaży, liczba spotkań czy saldo kredytowe. W trakcie analizy istotny jest kontekst, który zwany jest wymiarem lub atrybutem, taki jak klient, czas czy produkt. Codd odzwierciedla to swoim spostrzeżeniem: Z reguły jest wiele różnych wymiarów, według których można analizować pewien zbiór danych. Ta złożona perspektywa, czyli wielowymiarowy obraz pojęciowy, wydaje się być sposobem, w jaki większość ludzi biznesu z natury widzi swoje przedsiębiorstwo. Zbiór operacji Podstawowe operacje analizy danych to określenie zakresu analizy, drążenie/rozwijanie, zwijanie, wycinanie oraz obracanie. to ustalenie jakie fakty oraz w jakich wymia- Określenie zakresu analizy rach będą raportowane.

11 ROZDZIAŁ 2. RAPORTOWANIE 6 Drążenie/rozwijanie (ang. drill down) to przejście z danych bardziej ogólnych do bardziej szczegółowych. Przykładowo podczas analizy sprzedaży w poszczególnych latach można przejść do analizy wyników w miesiącach wybranego roku. Zwijanie (ang. drill up) to operacja odwrotna do rozwijania danych. Wycinanie (ang. slice) to filtrowanie danych. Obracanie jest to operacja związana z prezentacją danych. Polega ona na zamianie kolumn z wierszami Data mining [?] Eksploracja danych to ekstrakcja interesujących (nietrywialnych, niejawnych, wcześniej nieznanych i potencjalnie użytecznych) wzorców (wiedzy) z dużych zbiorów danych. Do najpopularniejszych zadań eksploracji danych należą: klasyfikacja, grupowanie oraz odkrywanie reguł asocjacyjnych. Klasyfikacja to dokonanie przypisania obiektu do jednej z predefiniowanych klas decyzyjnych na podstawie wartości jego atrybutów. Grupowanie to podział zbioru obiektów na grupy o podobnych właściwościach. Obiekty w tej samej grupie powinny być jak najbardziej do siebie podobne, natomiast w jak największym stopniu różnić się od obiektów w innych grupach. Odkrywanie reguł asocjacyjnych to wyszukiwanie zbiorów obiektów, które często występują razem w określonym kontekście. Wystąpienie jednego zbioru obiektów implikuje pojawienie się drugiego zbioru. 2.2 Istniejące rozwiązania Business Intelligence Jaspersoft Jaspersoft to firma specjalizująca się w dostarczaniu rozwiązań klasy Business Intelligence. Do kluczowych produktów tej firmy należą: JasperReports, ireport, JasperServer oraz JasperETL. JasperReports [?] to biblioteka Open Source do tworzenia raportów w wielu popularnych formatach: PDF, HTML, XLS oraz XML. Została zaimplementowana

12 ROZDZIAŁ 2. RAPORTOWANIE 7 w całości w technologii Java. Twórcy biblioteki przywiązali dużą uwagę do elastyczności rozwiązania w podejściu do źródła danych oraz formatu wynikowego. Programista ma możliwość utworzenia własnej klasy dostarczającej danych lub odpowiedzialnej za eksport do formatu wynikowego. Oczywiście zostały przygotowane najczęściej używane źródła danych: połączenie z bazą danych, pliki w formatach: CSV, XLS oraz XML, obiekty POJO, Hibernate. Dla pliku wynikowego również zostały przygotowane klasy eksportujące raport do najbardziej popularnych formatów: PDF, XLS, HTML oraz XML. ireport [?] jest to narzędzie z graficznym interfejsem użytkownika służące do tworzenia raportów. JasperServer [?] to aplikacja WWW, której celem jest udostępnianie raportów użytkownikom. Wybrane funkcjonalności tej aplikacji to: prezentowanie raportów, zarządzanie uprawnieniami użytkowników, cykliczne odświeżanie raportów, eksportowanie raportów do wybranego formatu wynikowego. JasperETL [?] jest narzędziem wspierającym projektowanie procesów ETL. Użytkownik ma do dyspozycji zbiór komponentów pełniących określone zadania, przykładowo: plik źródłowy, plik wynikowy, odczyt/zapis do bazy danych, mapowanie danych. Budowanie procesu ETL polega na połączeniu tych komponentów w całość i dokonaniu ich konfiguracji. Cykl życia raportu [?] Rysunek 2.2: JasperReports - Cykl życia raportu Rysunek 2.2 przedstawia cykl życia każdego raportu. Pierwsza czynność to utworzenie szablonu raportu, czyli pliku w formacie XML. Zawiera on deklarację

13 ROZDZIAŁ 2. RAPORTOWANIE 8 elementów znajdujących się w raporcie. Po stworzeniu szablonu silnik Jasper- Reports dokonuje kompilacji raportu. W rezultacie powstaje raport w postaci skompilowanej. Taki plik przyjęło się nazywać jasper - od rozszerzenia. Następną fazą jest wypełnienie raportu danymi z źródła danych. Na samym końcu następuje wyeksportowanie raportu do wybranego formatu wynikowego. Szablon raportu Szablon raportu jest to plik w formacie xml. Zgodnie z przyjętą konwencją rozszerzenie pliku to jrxml. Każdy szablon zawiera dane o parametrach, polach oraz o elementach raportu. Struktura pliku jest następująca: <?xml version="1.0"?> <!DOCTYPE jasperreport PUBLIC "-//JasperReports//DTD Report Design//EN" " <jasperreport name="name_of_the_report"... >... </jasperreport> Parametry to dane, które nie mogą być wydobyte z źródła danych. Częstym zastosowaniem parametrów jest określenie warunków zapytania. W przypadku szczególnym parametrem może być same zapytanie. Przykładowe parametry: Dynamiczny tytuł raportu. Wartości do warunków w zapytaniach. Nazwa użytkownika, który uruchomił raport. Parametr reprezentujący dynamiczny tytuł raportu może być zadeklarowany w następujący sposób: <parameter name="reporttitle" class="java.lang.string"/> Natomiast parametr, który jest identyfikatorem klienta do zapytania, może być zadeklarowany: <parameter name="customerid" class="java.lang.integer"/> W dalszej kolejności taki parametr może zostać użyty w warunku zapytania w następujący sposób: SELECT FROM Orders WHERE CustomerID = $P{ CustomerId }

14 ROZDZIAŁ 2. RAPORTOWANIE 9 Parametr może zostać umieszczony w raporcie poprzez zastosowanie następującej składni: $P{PARAMETER} Pola są to zmienne zmapowane z źródła danych na pola wykorzystywane w raporcie. Dla źródła danych w postaci bazy danych będą to po prostu kolumny zapytania. Każde pole deklarowane jest przy pomocy elementu field. Przykładowo, dla tabeli zawierającej cztery kolumny: EmployeeId, LastName, FirstName, HireDate należy zadeklarować następujące pola: <field name="employeeid" class="java.lang.integer"/> <field name="lastname" class="java.lang.string"/> <field name="firstname" class="java.lang.string"/> <field name="hiredate" class="java.util.date"/> Pole może zostać umieszczone w raporcie poprzez zastosowanie następującej składni: $F{FIELD} Wyrażenia są potężną funkjonalnością JasperReports. Umożliwiają one wykonanie złożonych obliczeń. Istnieje możliwość wykorzystania funkcji bibliotecznych: wykonanie obliczeń arytmetycznych, operacje na napisach oraz operacje na datach. W wyrażeniach można wykorzystać pola oraz zmienne. Przykładem wyrażenia jest dokonanie złączenia dwóch napisów: <textfieldexpression> $F{FirstName} + " " + $F{LastName} </textfieldexpression> Może to być także bardziej skomplikowane wyrażenie: <textfieldexpression> $F{FirstName} + " " + $F{LastName} + " was hired on " + (new SimpleDateFormat("MM/dd/yyyy")).format($F{HireDate}) + "." </textfieldexpression> Zmienne są specjalnym obiektem zbudowanym w oparciu o wyrażenie. Jeżeli istnieje potrzeba wykorzystania danego wyrażenia więcej jak jeden raz to należy utworzyć zmienną. Zmienna może przechowywać wartość agregacji jednego z mierników. Jako funkcje agregacji można wykorzystać: count, sum, average, lowest, highest, variance, etc. Przykład deklaracji zmiennej dokonującej policzenia sumy:

15 ROZDZIAŁ 2. RAPORTOWANIE 10 <variable name="quantitysum" class="java.lang.double" calculation="sum"> <variableexpression>$f{quantity}</variableexpression> </variable> Istnieje również szereg wbudowanych zmiennych. Poniżej trzy przykładowe: PAGE NUMBER numer aktualnej strony. COLUMN NUMBER numer aktualnej kolumny. PAGE COUNT liczba stron. Kompilacja Kompilacja to przekształcenie szablonu raportu w postaci pliku xml na postać binarną do formatu jasper. Wypełnienie Na tym etapie następuje podstawienie danych z źródła danych oraz parametrów. W ten sposób otrzymujemy postać raportu gotową do wyeksportowania. Eksport Eksport raportu jest to proces wygenerowania pliku w wybranej postaci wynikowej z wypełnionego raportu. Biblioteka udostępnia szereg eksporterów do popularnych formatów: pdf, html, xml, xls, csv, txt czy rtf. Pozycja Jaspersoft w raporcie Gartnera [?] Jaspersoft został doceniony przez analityków Gartnera, o czym świadczy pojawienie się tego rozwiązania wśród graczy niszowych platform Business Intelligence na rok 2011 (rysunek 2.3). Według raportu Gartnera ważnym elementem w wyborze platformy Business Intelligence w roku 2010 była cena rozwiązania. Jest to jeden z kluczowych powodów, dla których wśród rozwiązań komercyjnych pojawiło się rozwiązanie Open Source. Druga popularna platforma Open Source - Pentaho nie spełniła wszystkich warunków, aby zająć swoje miejsce wśród najlepszych rozwiązań Business Intelligence, aczkolwiek wedle analityków Gartnera, jest to opcja warta do rozważenia. Mocne strony Jaspersoft Jaspersoft oferuje platformę Open Source z szerokim wachlarzem możliwości. Składa się ona z JasperServer, JasperReports, ireport, JasperETL. Klienci mają możliwość umieszczenia raportów w swoich aplikacjach.

16 ROZDZIAŁ 2. RAPORTOWANIE 11 Rysunek 2.3: Magic Quadrant Gartnera dla Platform Business Intelligence na 2011 rok. Największa zaletą jest niski koszt. TCO 2 jest najniższy wśród wszystkich dostawców BI. Wedle opinii klientów koszt utrzymania tego rozwiązania jest poniżej średniej. Pomimo tego, że jest to rozwiązanie Open Source z niskim kosztem licencji planowany jest rozwój funkcjonalności, które nie są uwzględnione w większości konkurencyjnych rozwiązań. Wczesne sukcesy w dostarczaniu rozwiązań w chmurze (cloud computing). W 2010 roku JasperSoft uruchomiło platformę Jaspersoft Live, która umoż- 2 TCO Total Cost of Ownership. Całkowity koszt pozyskania, instalowania, użytkowania oraz utrzymania

17 ROZDZIAŁ 2. RAPORTOWANIE 12 liwia testowanie rozwiązań BI dostępnych w chmurze. Wysoki procent klientów JasperSoft zadeklarowało wdrożenie platformy w chmurze prywatnej lub publicznej. Jest to wynik wyższy niż konkurencyjnych rozwiązań. Ostrzeżenia Jaspersoft uważa się za lidera w rozwiązań Open Source. Dane firmy mówią o komercyjnych klientów co potwierdzają jej obroty. Jednakże tylko 20 klientów spełnia kryteria wyznaczone przez raport Gartnera. Wdrożenia Jaspersoft dotyczą mniejszej wielkości firm oraz mniejszego wolumenu danych niż większość rozwiązań zawartych w raporcie. Zakres wdrożeń częściej dotyczy konkretnego departamentu a nie całej organizacji. Jaspersoft najczęściej jest wdrażane w celach raportowych. Z tego powodu klienci twierdzą, że ta platforma jest mniej funkcjonalna niż rozwiązania konkurencyjne. Wsparcie techniczne oferowane przez firmę zostało ocenione nisko, pomimo tego, iż jest to kluczowy element strategii biznesowej firmy. Jaspersoft został nisko oceniony w łatwości użycia kompenentów oraz łatwości integracji elementów platformy IBM Cognos 2.3 Podsumowanie Dostępne narzędzia na rynku zawierają wiele interesujących oraz przydatnych funkcji. Wspierają tworzenie zaawansowanych raportów. Aczkolwiek nie istnieje narzędzie idealne, które umożliwiałoby tworzenie raportów jeszcze bardziej zorientowanych na użytkownika. Raportów bardziej interaktywnych, które posiadają funkcje wbudowane funkcje sortowania, filtrowania, zwijania oraz rozwijania danych czy możliwość zmiany hierarchii grupowania. W poniższych sekcjach zostaną opisane cechy, które powinno posiadać idealne narzędzie raportujące. Prezentowanie raportów poprzez przeglądarkę Jest to ważne wymaganie, ponieważ użytkownicy mają dostęp do tych raportów z dowolnego miejsca w organizacji czy nawet na świecie - w zależności czy dana aplikacja dostępna jest poza granicami firmy. Wymaganie te ma również pozytywny wpływ na dzielenie się danymi. Z punktu widzenia administratorów utrzymanie, instalacja oraz zarządzanie zmianami w tego typu systemach jest łatwiejsze. Pakiet JasperSoft spełnia te wymaganie. Istnieje możliwość udostępnienia raportów w aplikacji JasperServer.

18 ROZDZIAŁ 2. RAPORTOWANIE 13 Dynamiczna hierarchia grupowania danych Na wstępie dokonano przegląd metod prezentacji danych w postaci tabelarycznej. Tabelka Najbardziej prymitywna metoda. Wszystkie dane prezentowane są w postaci tabeli dwuwymiarowej. W przypadku dużego wolumenu danych nie można nic wywnioskować z takiej postaci. Małym udoskonaleniem jest możliwość filtrowania oraz sortowania danych. Tabelka z pojedynczym poziomem grupowania Pogrupowanie danych według jednej z kolumn (np. produkt, rok, departament) oraz wyliczenie agregacji mierników na poziomie grup. Jest to udoskonalenie prostej tabelki, aczkolwiek czasami istnieje potrzeba pogrupowania według zawartości więcej niż jednej kolumny (wymiarze). Niektóre aplikacje zawierają nawet setki raportów w takiej postaci. Przykładem jest system Service Desk, który posiada następujące raporty: incydenty według serwisanta, incydenty według statusu, incydenty według priorytetu itd. Tabelka z wieloma poziomami grupowania Udoskonalenie poprzedniej metody umożliwiające utworzenie hierarchii grupowania, przykładowo rok, kwartał, miesiąc lub grupa produktu, produkt. Aczkolwiek liczba możliwych hierarchii grupowania jest olbrzymia, więc to użytkownik powinien mieć możliwość jej ustalenia. Tabelka z dynamiczną hierarchią grupowania Użytkownik sam decyduje według jakiej hierarchii chce oglądać dane. Ma możliwość zmiany hierarchii grupowania w dowolny sposób. Właśnie dlatego taka funkcja powinna być udostępniona bezpośrednio użytkownikom raportów, a nie tylko twórcom raportów, którzy są zobowiązani do utworzenia wszelkich możliwych kombinacji. Tworząc raporty przy pomocy JasperReports programista jest zobowiązany ustalić hierarcię grupowania. Użytkowik raportu nie ma możliwości zmienić tej hierarchii. Programista musi utworzyć drugi raport. Zamrażanie wierszy nagłówka oraz kolumn Jest to funkcjonalność dostępna w narzędziu Excel. Niestety jeszcze rzadko spotykana w technologiach WWW. Jest to bardzo wygodna funkcja dla użytkownika raportu, ponieważ w przypadku, gdy dane nie mieszczą się na pojedynczym ekranie monitora bardzo dużym utrudnieniem jest ciągłe przewijanie ekranu w celu zobaczenia pierwszej kolumny lub pierwszego wiersza danych. Dlatego też dodanie takiej funkcji do istniejących narzędzi jest bardzo pożądane. W narzędziu JasperReports problem ten został częściowo rozwiązany. Na każdej stronie raportu występują wiersze nagłówka. Nie jest to idealne rozwiązanie,

19 ROZDZIAŁ 2. RAPORTOWANIE 14 ponieważ zwiększa rozmiar raportu oraz nagłówki nie są umieszczone w tym samym miejscu na monitorze. JasperReports nie umożliwia zamrożenia pierwszej kolumny. Filtrowanie danych Wszystkie narzędzia umożliwiają filtrowanie danych, ale nie jest ono wystarczająco wygodne. Prawie zawsze istnieje potrzeba zdefiniowania formularza do filtrowania danych co jest czasochłonne oraz wymaga dodatkowej pracy. Dodatkowo trzeba zarządzać zmianami, gdy zostaną dodane jakieś atrybuty do istniejącego raportu. Wygodniejsze rozwiązanie zostało zrealizowane w narzędziu Excel. W tym rozwiązaniu użytkownik ma możliwość filtrownia danych po dowolnej z kolumn. Gdy dojdzie nowa kolumna do arkusza danych to nie trzeba wykonywać dodatkowej pracy przy konstrukcji formularza do filtrowania. Tworząc raport w JasperReports należy ręcznie skonstruować formularz do filtrowania danych poprzez zadeklarowanie parametrów oraz ich użycie w warunkach zapytania. JasperServer automatycznie poprosi użytkownika o podanie wartości parametrów. W przypadku użycia JasperReports w innej aplikacji programist musi samemu utworzyć formularz i przekazać wartości parametrów. Sortowanie danych Jest to funkcja, która bardzo często występuje. Aczkolwiek, gdy raport może zostać wyświetlony tylko w postaci pliku w formacie PDF to w naturalny sposób taka funkcja nie może zostać zrealizowana. Ze względu na format wynikowy raport utworzony w technologii JasperReports nie zawiera możliwości sortowania danych poprzez użytkownika. Nawet istnieją ograniczenia w posortowaniu danych poprzez programistę. Gdy zostanie ustalona hierarchia grupowania, narzędzie wymaga, aby dane źródłowe były posortowane według kolumn występujących w tej hierarchii. Przykładowo jeżeli raport jest pogrupowany według regionów oraz zespołów to dane również muszą być pogrupowane według tych dwóch kolumn. Raportowanie wewnątrz systemu Większość pakietów Business Intelligence wymaga udostępniania raportów w osobnym środowisku. Z punktu widzenia użytkownika jest to kolejny system, do którego musi się zalogować, pamiętać hasło dostępu oraz musi poświęcić swój czas na jego naukę. Dlatego też twórcy oprogramowania Business Intelligence zauważyli, że umieszczanie raportów bezpośrednio w aplikacjach WWW ma swoje zalety i jest wysoce pożądaną funkcją przez użytkowników. Istnieje możliwość umieszczenia raportu JasperReports wewnątrz aplikacji opartych o Spring framework, gdzie została przygotowana specjalna klasa widoku JasperView. Zwijanie/rozwijanie danych W przypadku wielkiego wolumenu danych, który zajmuję wiele ekranów monitora istnieje potrzeba schowania nie potrzebnych da-

20 ROZDZIAŁ 2. RAPORTOWANIE 15 nych. Powinno to działać jako ukrywanie całego poziomu drzewa utworzonego przez hierarchię grupowania. Użytkownik powinien mieć możliwość dowolnego zwijania oraz rozwijania gałęzi drzewa tak, aby były widoczne tylko takie dane, które są dla niego istotne. Pozwala to zaoszczędzić czas pracy użytkownika. Raport utworzony w JasperReports zawiera wszystkie dane od razu rozwinięte. Użytkownik nie ma możliwości ich zwijania oraz rozwijania. Jest to uciążliwe, gdy raport zajmuje kilkanaście/kilkadziesiąt stron co utrudnia znalezienie informacji. Export do XLS Wybrani użytkownicy powinni mieć możliwość wyeksportowania wszystkich danych raportu do pliku w formacie xls. JasperReports umożliwia wyeksportowanie raportu do większości popularnych wynikowych w tym XLS. Drukowanie raportu Raport powinien zawierać możliwość wydrukowania. W przypadku JasperReports istnieje możliwość wyeksportowania raportu do pliku w formacie PDF. Deklaratywny sposób tworzenia raportów Utworzenie raportu powinno nie wymagać ingerencji programisty, aby ten cel osiągnąć wymagane jest deklaratywne tworzenie raportów. Dodatkowo czynność ta powinna być wykonywana przez osobę, która nie musi posiadać dużej wiedzy informatycznej w tym nie musi znać modelu fizycznego bazy danych. Dlatego też raport powinien być tworzony w oparciu o model biznesowy, który jest zrozumiały przez analityków biznesowych. Przykładem takiego modelu jest świat obiektów występujący w narzędziu Business Objects. W wersji darmowej JasperReports użytkownik jest zobowiązany opierać tworzenie raportów o zapytania w języku SQL. Co wymaga znajomości schematu bazy danych. Wersja komercyjna zawiera możliwość utworzenia modelu biznesowego. Pobieranie tylko widocznych danych Do prezetacji raportu powinny zostać pobrane tylko takie dane, które są aktualnie widoczne dla użytkownika. Przede wszystkim pobranie wszystkich danych powiązanych z danym raportem może być zbyt czasochłonne ze względu na konieczność przejrzenia całej zawartości tabeli oraz czas transportu danych poprzez sieć. JasperReports wymaga pobrania wszystkich danych jednokrotnie na podstawie, których generowany jest plik wynikowy. W kolejnym rozdziale omówiono bibliotekę do tworzenia raportów spełniającą wyżej wymienione cechy.

21 Rozdział 3 Biblioteka W tym rozdziale zaprezentowano bibliotekę dla hierarchicznych raportów. Na wstępie przedstawiono wymagania stawianej takiej bibliotece z podziałem na wymagania użytkownika oraz twórcy raportów. Następnie omówiono przypadki użycia raportu. 3.1 Wymagania Wymagania funkcjonalne Perspektywa użytkownika Użytkownik korzystający z raportu, powinien mieć możliwość oglądania tylko takich danych, które go w danej chwili interesują. Powinien mieć możliwość wprowadzania dynamicznych zmian w raporcie: sortowania, zamrażania kolumn oraz zmiany hierarchii grupowania. Powinien mieć również możliwość wyeksportowania danych do pliku w formacie csv lub xls. Zatem biblioteka winna obsługiwać następujące rodzaje ingerencji i typy prezentacji na raportach: sortowanie wierszy; zwijanie/rozwijanie danych; filtrowanie danych; różne typy kolumn: waluta, data, wartość boolowska, odsyłacz; dynamiczna zmiana hierarchii; eksport danych do pliku; 16

22 ROZDZIAŁ 3. BIBLIOTEKA 17 zapisanie aktualnego stanu raportu; Perspektywa twórcy raportów Twórca raportu powinien mieć możliwość utworzenia nowego raportu w sposób deklaratywny a nie programowo. To założenie skraca czas pracy oraz zmniejsza liczbę błędów. Raporty powinny być możliwe do utworzenia dla osoby, która nie jest specjalistą z dziedziny informatyki. Utworzenie pliku XML, który reprezentuje model raportu. Do utworzenia modelu może zostać wykorzystane narzędzie z graficznym interfejsem użytkownika. Utworzenie pojedynczego raportu powinno trwać nie więcej niż kilkadziesiąt minut. Narzędzie powinno umożliwiać utworzenie modelu biznesowego (świat klas) w oparciu o który zostaną zbudowane raporty Wymagania niefunkcjonalne Zamrożenie pierwszych kolumn oraz nagłówka; Prezentacja tylko dostępnych danych - uprawnienia; Widok powinien pobierać tylko potrzebne dane, umożliwia to mniejsze obciążenie bazy danych oraz szybsze przesłanie danych przez sieć; Prezentacja raportu w postaci dynamicznej strony HTML; System powinien wspierać przeglądarki internetowe w podanych wersjach: Firefox 3.x, Google Chrome 3.x oraz Internet Explorer 6.x Przypadki użycia Aktorzy Użytkownik raportu to osoba korzystająca z raportu. Diagram przypadków użycia Rysunek 3.1 przedstawia przypadki użycia dostępne dla użytkownika raportów.

23 ROZDZIAŁ 3. BIBLIOTEKA 18 Rysunek 3.1: Przypadki użycia dla użytkownika raportu UC.DR Wyświetlenie raportu Przebieg zdarzeń Nr System Użytkownik 1. Użytkownik wybiera raport 2. System wyświetla raport UC.KR Korzystanie z raportu Przebieg zdarzeń Użytkownik wykonuje dowolną liczbę razy jedną z czynności: U C.SHOW.CHILDS, U C.HIDE.CHILDS, UC.F ILT ER, UC.SORT,

24 ROZDZIAŁ 3. BIBLIOTEKA 19 UC.EXP ORT, UC.HIERARCHY. Prototyp interfejsu użytkownika Rysunek 3.2: Główny panel raportu - prototyp UC.SHOW.CHILDS Rozwijanie danych Cel Użytkownik dla danego poziomu hierarchii grupowania w raporcie, chce zejść w dół, aby obejrzeć dane bardziej szczegółowe. W szczególności może być to pokazanie danych na najniższym poziomie. Przebieg zdarzeń Nr System Użytkownik 1. Klika w ikonkę krzyżyka w wierszu, który chce rozwinąć 2. System pokazuję dane szczegółowe dla wybranego elementu Wymagania niefunkcjonalne Pierwsze wyświetlenie elementów podrzędnych powoduje pobranie ich z serwera, natomiast kolejne pobierane są z pamięci podręcznej klienta.

25 ROZDZIAŁ 3. BIBLIOTEKA 20 UC.HIDE.CHILDS Ukrywanie danych Cel Użytkownik chce schować dane, w celu nie zakłócania dalszego korzystania z raportu. Przebieg zdarzeń Nr System Użytkownik 1. Klika w ikonkę w wierszu, dla którego chce schować szczegóły 2. System ukrywa wszystkie dane podrzędne. UC.FILTER Filtrowanie raportu Cel Użytkownik chce przefiltrować zbiór danych poprzez zadanie filtra na wybranych kolumnach. Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcję filtrowania danych 2. Definiuje filtr 3. Zatwierdza poprzez wybranie opcji filtruj 4. Pyta użytkownika, czy chce wyświetlić nowy raport 5. Potwierdza wyświetlenie nowego raportu 6. Wyświetla nowy raport z zadanym filtrem Prototyp interfejsu użytkownika UC.SORT Sortowanie Cel Użytkownik chce posortować według jednej z kolumn.

26 ROZDZIAŁ 3. BIBLIOTEKA 21 Rysunek 3.3: Budowanie filtru - prototyp Przebieg zdarzeń Nr System Użytkownik 1. Zaznacza kolumnę 2. System odświeża raport z posortowanymi danymi według zadanej kolumny UC.EXPORT Eksport do pliku Cel Użytkownik chce zapisać dane zawarte w raporcie do pliku. Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcję eksport do pliku 2. System wyświetla okienko z opcją pobrania pliku 3. Wybiera opcję zapisz plik UC.HIERARCHY Zmiana hierarchii grupowania Cel Użytkownik chce zmienić hierarchię, według której grupowane są dane.

27 ROZDZIAŁ 3. BIBLIOTEKA 22 Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcje zmiana hierarchii grupowania 2. System wyświetla formularz, w którym można wybrać listę atrybutów 3. Kolejno wybiera listę atrybutów 4. Wybiera opcję zakończ 5. Pyta użytkownika, czy chce wyświetlić nowy raport 6. Potwierdza 7. Wyświetla nowy raport Prototyp interfejsu użytkownika Rysunek 3.4: Hierarchia grupowania - prototyp 3.2 Przykładowe bazy danych W tej sekcji zostały opisane przykładowe bazy danych na podstawie, których zaprezentowano meta-model biznesowy, meta-model raportów oraz przykładowe raporty CRM Rysunek 3.5 przedstawia diagram tabel dla fragmentu bazy danych systemu typu CRM. Fragment ten dotyczy funkcjonalności kalendarza doradcy oraz kartoteki klientów. System umożliwia planowanie spotkań z klientami, generowanie raportów aktywności doradców, zarządzanie kalendarzem oraz wyszukiwanie klientów.

28 ROZDZIAŁ 3. BIBLIOTEKA 23 Rysunek 3.5: Diagram tabel dla systemu CRM

29 ROZDZIAŁ 3. BIBLIOTEKA 24 KLIENCI Tabela przechowująca dane o klientach oraz potencjalnych klientach, jest to rozróżniane po kolumnie CZY KLIENT. SEGMENTY Słownik z możliwymi segmentami klientów. ETAPY PROSPEKTOW Słownik z możliwymi etapami potencjalnych klientów. Przykładowe etapy to: nowy, klient zainteresowany, klient niezainteresowany, podpisana umowa. PRACOWNICY Tabela przechowująca dane o pracownikach organizacji. HIERARCHIA ORG Tabela przechowująca hierarchię organizacyjną. Kolumna NADRZEDNE ID jest kluczem obcym na jednostkę nadrzędną. HIERARCHIA PRACOWNIK Tabela zawiera dane o jednostkach organizacyjnych, które są widoczne dla danego pracownika. ZDARZENIA Tabela przechowująca kalendarz: telefony z klientami, spotkania z klientami oraz pozostałe zdarzenia. RODZAJE ZDARZEN Słownik z możliwymi rodzajami zdarzeń, np: spotkanie, telefon oraz urlop. STANY ZDARZENIA Słownik z możliwymi stanami zdarzeń: planowane, zamknięte oraz odrzucone. DANE FINANSOWE Tabela zawierająca dane finansowe na temat klientów: przychód, dochód, liczba zatrudnionych.

30 ROZDZIAŁ 3. BIBLIOTEKA 25 Rysunek 3.6: Diagram tabel dla zarządzania incydentami STATUSY PROSPEKTOW Słownik z możliwymi stanami potencjalnych klientów: nowy, po telefonie, po spotkaniu Service Desk Rysunek 3.6 przedstawia fragment bazy danych dla systemu Service Desk. Fragment ten dotyczy procesu zarządzania incydentami. System umożliwia zgłaszanie nowych incydentów klientom usługi. Pracownik pierwszej linii ma możliwość przy-

31 ROZDZIAŁ 3. BIBLIOTEKA 26 pisania się do incydentu. System umożliwia wyszukiwanie incydentów. System umożliwia dodawanie komentarzy dla incydentów. Baza danych została zaczerpnięta z pracy dyplomowej inżynierskiej autorstwa Piotra Kalańskiego [?]. INCIDENTS Tabela przechowująca informacje o incydentach. CATEGORIES IM Słownik z kategoriami incydentów. URGENCY TYPES IM Słownik z typami pilności incydentów. STATUSES IM Słownik z możliwymi statusami incydentów. PRIORITY TYPES IM Słownik z typami priorytetów incydentów. IMPACT TYPES IM Słownik z typami wpływów incydentów. COMMENTS Tabela z komentarzami dotyczącymi danego incydentu. Każdy komentarz zawiera datę dodania oraz autora. EMPLOYEES Tabela z pracownikami. Każdy incydent powiązany jest z pracownikami na dwa sposoby: pracownik, który zgłosił incydent, serwisant przypisany do incydentu. SUPPORT GROUPS Tabela z grupami wsparcia. Każdy incydent jest przypisany do jednej grupy wsparcia.

32 ROZDZIAŁ 3. BIBLIOTEKA 27 SERVICES Tabela zawierająca dane o usługach. Każdy incydent jest przypisany do jednej usługi. INCIDENT HISTORY Tabela zawierająca pełną historię zmian dla każdego incydentu. Zawiera datę dokonania zmiany, użytkownika, który dokonał zmiany oraz stan incydentu z tej chwili w czasie. 3.3 Przykładowe raporty Service Desk Niektóre systemy Service Desk zawierają nawet setki raportów operacyjnych. Przykładowo dla procesu zarządzania incydentami istnieją następujące raporty: incydenty według kategorii, incydenty według grupy wsparcia, incydenty według priorytetu, incydenty według statusu, incydenty według priorytetu oraz incydenty według serwisanta. Wszystkie te raporty są do siebie bardzo podobne. Różnią się jedynie atrybutem według którego grupowane są dane. Taka liczebność raportów jest uciążliwa dla użytkownika, ponieważ nikt nie ma czasu przeglądać takiego ogromu informacji. Incydenty Tabela?? przedstawia kolumny raportu dotyczącego incydentów. Zrealizowana biblioteka umożliwia utworzenie jednokrotnie raportu, który daje możliwość użytkownikowi wyboru atrybutów według których zostaną zgrupowane dane. Co więcej użytkownik ma możliwość podania wielu atrybutów, które będą tworzyć hierarchię grupowania. Przykładowo istnieje możliwość pogrupowania incydentów według grupy wsparcia oraz przypisanego specjalisty lub według grupy wsparcia oraz priorytetu. Menedżer incydentów ma również możliwość ustalenia hierarchii priorytet->grupa wsparcia, w celu uzyskania informacji o grupach wsparcia, które rozwiązuję najpilniejsze zgłoszenia. Proste raportowanie operacyjne nie daje takich możliwość, ponieważ liczba potencjalnych raportów rośnie wykładniczo CRM Spotkania Tabela 3.2 przedstawia kolumny raportu dotyczącego spotkań. Przykładowe analizy, które umożliwia ten raport:

33 ROZDZIAŁ 3. BIBLIOTEKA 28 Kolumna w raporcie Tabela Kolumna Incydent ID INCIDENTS INCIDENT ID Status STATUS TYPES IM NAME Kategoria CATEGORIES IM NAME Priorytet PRIORITY TYPES IM NAME Temat INCIDENTS SUBJECT Data dodania INCIDENTS CREATION DATE Grupa wsparcia SUPPORTS GROUPS NAME Serwisant EMPLOYEES LAST NAME Tabela 3.1: Raport incydenty Spotkania klienta Jeżeli jednym z atrybutów grupujących jest klient, to pod nim będą prezentowane wszystkie spotkania spełniające zadane kryterium (np: zakres dat). Menedżer dowolnego szczebla ma możliwość bezpośrednio pod swoją jednostką wyświetlenia wszystkich klientów lub może ich pogrupować według jednostki podrzędnej. Przykładowo dyrektor regionu pod swoim regionem może widzieć wszystkich klientów przypisanych do tego regionu, ale może również pogrupować ich według oddziałów. Spotkania doradcy W tym przypadku atrybutem grupującym jest doradca. Użytkownika mniej interesuje z jakimi klientami były spotkania, ale ważne jest dla niego kto na tych spotkaniach był. Menedżer ma możliwość obejrzenie aktywności swoich doradców na wiele sposobów. Przykładowo może zdecydować się na dodatkowe pogrupowanie spotkań wedle miesiąca spotkania, co umożliwi mu sprawdzenie aktywności doradców w poszczególnych miesiącach. Dodatkowo każdy menedżer ma możliwość dołączenia jednostek podrzędnych wedle, których chce dokonać dodatkowego pogrupowania. Kolumna w raporcie Tabela Kolumna Centrala HIERARCHIA NAZWA Region HIERARCHIA NAZWA Oddział HIERARCHIA NAZWA Doradca PRACOWNICY NAZWISKO Klient KLIENCI NAZWA Data spotkania ZDARZENIA DATA ZDARZENIA Temat ZDARZENIA TEMAT Opis ZDARZENIA OPIS Tabela 3.2: Raport spotkania

34 ROZDZIAŁ 3. BIBLIOTEKA 29 Baza potencjalnych klientów 3.4 Meta-Model W tej sekcji został przedstawiony meta-model biznesowy. Model biznesowy tworzony jest przez osobę znającą strukturę relacyjnej bazy danych. Na podstawie tego modelu projektant może utworzyć nowy raport. Został również zaprezentowany meta-model raportów Meta-model biznesowy Rysunek 3.7: Meta-model biznesowy Rysunek 3.7 przedstawia meta-model dla modelu biznesowego. Jest on tworzony przez osobę znającą zawartość bazy danych. Pojęciem podstawowym jest

35 ROZDZIAŁ 3. BIBLIOTEKA 30 klasa, która jest mapowana na tabele w relacyjnej bazie danych, natomiast jej atrybuty na wyrażenia oparte na kolumnach tych tabel. DomainClass jest elementem meta-modelu reprezentującym klasę. Jeden z atrybutów tablename wskazuję na tabelę lub perspektywę. Każdy obiekt DomainClass zawiera listę atrybutów, które są typu dziedziczącego z DomainAttribute. DomainAttribute jest klasą bazową dla poszczególnych typów atrybutów. Każdy z tych atrybutów zawiera nazwę. SimpleAttribute jest to najprostszy typ atrybutu. Najczęściej jest to mapowanie na jedną z kolumn, ale również może to być wyrażenie SQL wyliczone na podstawie grup kolumn. Przykładem wyrażenia jest złączenie kolumn imię oraz nazwisko. ReferenceAttribute jest to typ atrybutu, który jest referencją na inną klasę. Jest to odpowiednik kluczy obcych w relacyjnych bazach danych. Przykładowo klasa Klient może zawierać referencję na klasę Doradca, co odpowiada relacji pomiędzy klientem banku oraz jego doradcy. DictionaryAttribute jest to specjalny rodzaj ReferenceAttribute, który wskazuję na atrybut innej klasy, a nie na całą klasę. Ten rodzaj atrybutu nie jest niezbędny, ale jest ułatwieniem dla twórcy raportów, który może wykonać mniej czynności przy tworzeniu raportu. DictionaryAttribute został stworzony z myślą o tabelach słownikowych, które zwykle zawierają dwie kolumny: identyfikator/kod oraz nazwę. W takim przypadku istnieje tylko jedna kolumna, która może zostać wyświetlona w raporcie, więc twórca raportu nie musi tracić czasu na jej wybranie Przykładowy model biznesowy Na podstawie bazy danych opisanej w sekcji przedstawiono przykładowy model biznesowy. Został on zaprezentowany na rysunku 3.8. Fragment modelu został również przedstawiony w postaci diagramu obiektów (rysunek: 3.9). Widoczna jest tam klasa Klient z czterema atrybutami: klient id, nazwa, segment oraz DaneFinansowe. Podstawową klasą modelu jest Klient, która odpowiada tabeli KLIENCI. Kluczem głównym klasy jest klient id. Atrybuty: nazwa, NIP, telefon oraz data podp umowy są typu SimpleAttribute, mapowane są na odpowiednie kolumny tabeli KLIENCI. Atrybut DaneFinansowe jest typu ReferenceAttribute. Wskazuje on na klasę DaneFinansowe przy pomocy klucza obcego: KLIENT ID. Przykładem atrybutu typu DictionaryAttribute jest segment, który jest odwo-

36 ROZDZIAŁ 3. BIBLIOTEKA 31 Rysunek 3.8: Przykładowy model biznesowy łaniem na atrybut nazwa klasy Segment. Kolumną wykorzystaną przy złączeniu z tabelą SEGMENTY jest SEGMENT ID. Kolejne przykłady atrybutów typu DictionaryAttribute to: doradca, oddzial oraz region. Wszystkie trzy pochodzą z klasy Doradca. Tutaj mogą pojawić się wątpliwości związane z istnieniem redundancji aż trzech połączeń między klasami. Po pierwsze wydaję się, że należy wykonać dodatkową pracę przy tworzeniu modelu biznesowego. Oczywiście stwierdzenie to jest prawdziwe, aczkolwiek czynność ta wykonywana jest jednokrotnie. Natomiast dla danego modelu biznesowego może istnieć wiele raportów, w których będą występować atrybuty: doradca, oddzial oraz region. Przeniesienie tych atrybutów do klasy Klient wpływa pozytywnie na skrócenie czasu pracy projektanta raportów, ponieważ nie musi wskazywać na atrybuty pochodzące z klas: Oddzial lub Region, natomiast może wskazać bezpośrednio atrybuty z klasy Klient. Dodatkowo, gdy dla danego modelu biznesowego istnieje cykl, tak jak dla modelu przykładowego między klasami: Klient, Doradca oraz Spotkanie, to może pojawić się problem w ustaleniu w jaki sposób dostać się do atrybutu nazwa z klasy Doradca. Dla klasy Spotkanie istnieją dwie ścieżki:

37 ROZDZIAŁ 3. BIBLIOTEKA 32 Rysunek 3.9: Diagram obiektów dla przykładowego modelu biznesowego bezpośrednia oraz przez klasę Klient. Gdyby w tabeli klienci nie istniał atrybut doradca to projektant musiałby za każdym razem wskazywać, którą ścieżkę chce wybrać, co wiążę się z wydłużeniem czasu pracy. Druga wątpliwość związana jest z wydajnością. Czy silnik biblioteki wygeneruję zapytanie, które trzykrotnie łączy tabelę KLIENCI z tabelą PRACOWNICY? Odpowiedź jest negatywna, ponieważ sytuacja ta zostanie wykryta i zostanie wykonane tylko jedno złączenie. Reasumując rodzaj atrybutu DictionaryAttribut został utworzony w celu skrócenia czasu pracy projektanta raportów Meta-model raportu Na rysunku 3.10 został przedstawiony meta-model raportów. Raport składa się z wielu kolumn, które są typu pochodnego z ReportColumn. Każda z nich jest powiązana z atrybutem klasy. Raport zawiera wskazanie na klasę, względem której ustalane są jego kolumny. SimpleReportColumn jest to prosta kolumna, która jest powiązana z obiektem typu SimpleAttribute. ReferenceReportColumn Obiekty tego typu tworzą ścieżkę, która wskazuję atrybut docelowy. Ścieżka ta rozpoczyna się w głównej klasie (wskazanej przy pomocy mainclass). Każdy węzeł ścieżki powiązany jest z atrybutem meta-modelu klas:

38 ROZDZIAŁ 3. BIBLIOTEKA 33 Rysunek 3.10: Meta-model raportu ReferenceAttribute. Wyjątkiem jest ostatni element, który jest typu SimpleReportColumn, czyli wskazuję na obiekt typu SimpleAttribute. Taki rodzaj kolumny jest potrzebny, ponieważ w modelu biznesowym mogą być cykle. Z czego wynika istnienie wielu ścieżek pomiędzy dwiema klasami. W takim przypadku projektant raportu zostanie poproszony o wybranie jednej z tych ścieżek. Przykładowy model biznesowy opisany w sekcji zawiera cykl

39 ROZDZIAŁ 3. BIBLIOTEKA 34 pomiędzy klasami: Spotkanie, Doradca oraz Klient Przykładowy raport Na podstawie modelu biznesowego omówionego w sekcji przedstawiono realizację raportu Spotkania zaprezentowanego w sekcji 3.3. Kolumna w raporcie Klasa Atrybut Region Klient region Oddział Klient oddzial Doradca Klient doradca Klient Klient nazwa Data spotkania Spotkanie data Temat Spotkanie temat Opis Spotkanie opis Tabela 3.3: Raport spotkania - realizacja Rysunek 3.11 przedstawia diagram obiektów dla fragmentu tego raportu. Obiekt klasy Report reprezentuję model. Powiązany jest on z klasą Spotkanie. Na rysunku widoczne są dwie kolumny raportu: temat oraz klient. Pierwsza jest typu ReportSimpleColumn i wskazuję na atrybut temat klasy Spotkanie, natomiast druga jest typu ReportReferenceColumn, ponieważ wskazuje na atrybut innej klasy niż klasa mainclass. Widoczna jest tutaj ścieżka od klasy Spotkanie do atrybutu nazwa z klasy Klient, która reprezentowana jest przy pomocy klas: ReportReferenceColumn oraz ReportSimpleColumn. 3.5 Projekt - podzial na moduly (model, web) - diagramy pakietów - diagramy sekwencji Zrealizowana aplikacja została podzielona na pod projekty co odzwierciedla modułową budowę. Pierwszy projekt jest związany z modelem. Zawiera on klasy reprezentujące model biznesowy, który został opisany w sekcji 3.4 oraz model raportów (3.4.3). Podstawowe zadanie tego modułu to generowanie zapytania na podstawie dostarczonego modelu. Drugi projekt związany jest z prezentacją raportów. Zawiera on klasy dotyczące interfejsu użytkownika. Projekt ten również odpowiada za komunikację warstwy klienta z warstwą serwera, która korzysta z usług klas dostarczonych w modelu Model Na rysunku 3.12 został przedstawiony diagram pakietów dla modułu związanego z modelem.

40 ROZDZIAŁ 3. BIBLIOTEKA 35 Rysunek 3.11: Diagram obiektów dla raportu Spotkania edu.pw.treegrid.server.classmodel zawiera klasy reprezentujące model biznesowy. Jest to klasa biznesowa, która zawiera listę atrybutów. edu.pw.treegrid.server.reportmodel pakiet, który zawiera klasy związane z modelem raportów. Jest to klasa Raportu oraz kolumny raportu. edu.pw.treegrid.server.filter klasy związane z filtrowaniem danych. edu.pw.treegrid.server.query zadaniem tego pakietu jest generowanie zapytania SQL dla danego raportu przy ustalonym kryterium oraz dla określonej hierarchii grupowania. edu.pw.treegrid.server.service w tym pakiecie dostępne są klasy dostarczające usługi do operacji na modelu. Klasa XMLMarshaller odpowiedzialna jest za serializację oraz deserializację modelu do plików w formacie XML. Natomiast klasa TreeServiceImpl udostępnia usługi związane z pobieraniem modelu raportu oraz pobieraniem danych dla raportu Web edu.pw.treegrid.client.report.controller

41 ROZDZIAŁ 3. BIBLIOTEKA 36 Rysunek 3.12: Model - diagram pakietów edu.pw.treegrid.client.report.view edu.pw.treegrid.client.format edu.pw.treegrid.client.report.model edu.pw.treegrid.client.report.events edu.pw.treegrid.server.web edu.pw.treegrid.server.view edu.pw.treegrid.server.converters

42 ROZDZIAŁ 3. BIBLIOTEKA 37 Rysunek 3.13: Klient - diagram pakietów Rysunek 3.14: Serwer - diagram pakietów 3.6 Implementacja Sekcja ta zawiera omówienie wybranych problemów implementacyjnych: generowanie zapytania SQL, komunikacji klienta z serwerem oraz serializacji do formatu XML. Następnie została opisana wybrana technologia oraz wykorzystane narzędzia.

43 ROZDZIAŁ 3. BIBLIOTEKA Generowanie zapytania Komunikacja klient - serwer Komunikacja między klientem a serwerem jest oparta o format XML. Na wszystkie żądania klienta, serwer zwraca plik XML, który ma postać przedstawioną na rysunku Element record zawiera listę elementów podrzędnych o dowolnych nazwach. Lista ta odpowiada strukturze mapy, gdzie nazwa elementu jest kluczem natomiast zawartość elementu jest wartością. Rysunek 3.15: Komunikacja klient - serwer Serializacja do formatu XML Za serializację modelu odpowiada klasa XMLMarshaller. Zawiera ona następujące metody dokonujące serializacji oraz deserializacji: serializereport() dokonuje zapisania raportu do pliku XML, deserializereport() wczytuje raport z pliku XML, serializeclasses() zapisuje model biznesowy do pliku XML, deserializeclasses() wczytuje model biznesowy z pliku XML. Każda klasa modelu: raport, kolumna raportu, klasa biznesowa czy atrybut klasy zawiera metody serializetoxml() oraz deserializefromxml(), które odpowiadają za zapisanie oraz odczytanie danych do/z pliku XML. Taki wzorzec projektowy umożliwia hermetyzację tej operacji w poszczególnych klasach. Każda z nich posiada najlepszą wiedzę jak dokonać tej czynności. W przypadku dokonania zmiany, przykładowo dodanie atrybutu, wystarczy zajrzeć do jednego pliku źródłowego i dokonać modyfikacji tych dwóch metod Technologia GWT [?]

44 ROZDZIAŁ 3. BIBLIOTEKA 39 SmartGWT [?] Narzędzia IBM Rational Software Architect Spring SourceToolSuite Apache Maven [1] 3.7 Testy Generacja danych Testy jednostkowe Testy funkcjonalne 3.8 Aplikacja Możliwości aplikacji Po uruchomieniu aplikacji użytkownik zobaczy okno z ustawieniami raportu. W pierwszej kolejności należy ustalić hierarchię grupowania. Do tego celu wyświetlane są dwie listy, które zawierają wybrane kolumny raportu będące kandydatami grup (3.16). Analityk tworzący raport ma możliwość wybranie podzbioru kolumn, które zostaną wyświetlone w tym widoku. Jest to przydatna opcja, ponieważ niektóre kolumny są nieodpowiednie, aby tworzyć grupę. Przykładowo pola opisowe takie jak opis spotkania, czy komentarz z dużym prawdopodobieństwem są unikatowe. Rysunek 3.16: Ustalenie hierarchii grupowania W kolejnym kroku użytkownik ma możliwość zadania kryterium dla prezentowanych danych. Aplikacja umożliwia skonstruowanie dowolnie złożonego wyrażenia boolowskiego z wykorzystaniem operatorów AND, OR oraz NOT (3.17). Przy ustalaniu warunku użytkownik ma do dyspozycji bogatą listę gotowych pozycji, w skład których wchodzą takie jak: zaczyna się od, kończy się na, zawiera,

45 ROZDZIAŁ 3. BIBLIOTEKA 40 jest pomiędzy, równa się, jest mniejsze, jest większe czy jest puste. Największe możliwości dotyczą filtrowania po dacie. Użytkownik ma możliwość zadania daty w sposób bezwględny podając konkretną datę lub w sposób względny wobec daty dzisiejszej. Lista możliwych opcji jest pokazana na rysunku Można wybrać datę dzisiejszą, kolejny dzień, poprzedni dzień a nawet cofnąć się o zadaną liczbę dni/tygodni/miesięcy wstecz. Rysunek 3.17: Konstrukcja filtru Rysunek 3.18: Filtr dla daty Rysunek 3.19 przedstawia pasek narzędziowy aplikacji. Pierwsza opcja dotyczy wydruku raportu, kolejna opcja otwiera okno z ustawieniami, które zostało omówione powyżej, kolejna opcja umożliwia eksport danych do pliku XLS ostatnia pozycja wyświetla okno pomocy. Rysunek 3.19: Pasek narzędziowy aplikacji Po kliknięciu w jedną z kolumn zostanie wyświetlone menu kontekstowe zawierające opcje dotyczące kolumn Z tego poziomu można sortować dane rosnąco lub malejąco, wybrać kolumny, które mają być widoczne w widoku lub dokonać zamrożenia wybranej kolumny. Po wykonaniu tej czynności wybrana kolumna będzie zawsze widoczna na ekranie monitora nawet gdy widok zostanie przewinięty w prawo, w celu zobaczenie kolumn, które się nie mieszczą na pierwszym ekranie.

46 ROZDZIAŁ 3. BIBLIOTEKA 41 Rysunek 3.20: Menu kontekstowe dla kolumny Rysunek 3.21 przedstawia wyświetlony raport. Użytkownik może w dowolny sposób zwijać czy rozwijać kolejne poziomy drzewa. Po kliknięciu w jedną z kolumn lewym przyciskiem myszy dane zostaną posortowane według niej. Aplikacja umożliwia również zmianę rozmiaru kolumny oraz zamianę kolumn miejscami Przykładowe analizy Możliwość dynamicznej zmiany hierarchii grupowania daje olbrzymie możliwości analizowania danych. W zależności od wybranych kolumn raportu użytkownik może uzyskać odpowiedź na zadane pytanie. Na przykładzie raportu spotkania, który omówiono w rozdziale 3.2, zaprezentowano przykładowe analizy. Wybranie hierarchii grupowania widocznej na rysunku 3.22 daje informację o tym w jakich miesiącach były spotkania z wybranym klientem. Po usunięciu z hierarchii kolumn rok oraz miesiąc raport będzie przedstawiać całą historię kontaktów z klientem. Ustalenie hierarchii z rysunku 3.23 pozwala uzyskać informacje o klientach z którymi odbyły się spotkania w wybranych miesiącach. Ten sam raport może zostać użyty do analizowania aktywności doradców klienta. Hierarchia z rysunku 3.24 pozwala uzyskać odpowiedź na pytanie dotyczące aktywności doradcy w wybranych miesiącach. Dokonując niewielkiej zmiany w hierarchii, która polega na przeniesieniu kolumny doradcy pod kolumną miesiąc można dokonać porównania aktywności doradców w wybranych miesiącach. Dla każdej z wyżej wymienionych analiz można w łatwy sposób zamienić okres z miesiąca na kwartał lub rok czy pogrupować prezentowane dane według hie-

47 ROZDZIAŁ 3. BIBLIOTEKA 42 Rysunek 3.21: Widok raportu (a) Hierarchia (b) Raport Rysunek 3.22: W jakich miesiącach były spotkania z klientami? rarchii organizacyjnej na przykład tak, aby doradcy byli widoczni pod zespołami sprzedażowymi. Narzędzie umożliwia również dokonanie podanych analiz w rozbiciu na segmenty klientów. Wystarczy w tym celu dodać kolumnę z segmentem klienta do hierarchii grupowania. Dzięki tej możliwości można w szybki sposób porównać różne grupy klientów.

48 ROZDZIAŁ 3. BIBLIOTEKA 43 (a) Hierarchia (b) Raport Rysunek 3.23: Z jakimi klientami były spotkania w wybranym miesiącu? (a) Hierarchia (b) Raport Rysunek 3.24: Aktywność doradców w podziale na miesiące. (a) Hierarchia (b) Raport Rysunek 3.25: Porównanie aktywności doradców w wybranych okresach.

49 Rozdział 4 Serwer 4.1 Wymagania - wyświetlenie raportów - wybranie raportu 4.2 Projekt 4.3 Implementacja Technologia Aplikacja SmartGWT 4.4 Aplikacja - Wyświetlenie raportów - pokazanie zmiany repository oraz jdbc.properties 4.5 Podsumowanie 44

50 Rozdział 5 Designer 5.1 Wymagania Wymagania funkcjonalne Założenie nowego projektu. Skonfigurowanie połączenia z bazą danych. Dodawanie klas. Dodawanie atrybutów klas. Podgląd tabel z bazy danych. Tworzenie raportów. Dodawanie raportów. Dodawanie kolumn do raportów. Wyświetlenie klas i ich atrybutów. Wyświetlenie klas w postaci drzewa. Wyświetlenie klas w postaci graficznej. Wyświetlenie raportów i ich kolumn Przypadki użycia Aktorzy Twórca modelu biznesowego ich atrybuty. to rola, która tworzy model biznesowy: klasy oraz 45

51 ROZDZIAŁ 5. DESIGNER 46 Projektant raportów to rola odpowiedzialna za tworzenie nowych raportów na podstawie modelu biznesowego. Diagram przypadków użycia Rysunek 5.1 przedstawia przypadki użycia dostępne dla twórcy modelu biznesowego, natomiast na rysunku 5.2 widoczne są przypadki użycia dla projektanta raportów. Rysunek 5.1: Przypadki użycia dla twórcy modelu biznesowego

52 ROZDZIAŁ 5. DESIGNER 47 Rysunek 5.2: Przypadki użycia dla projektanta raportów UC.AC Dodanie klasy Cel Dodanie nowej klasy. Aktor główny Twórca modelu biznesowego Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcje dodaj klasę 2. Wybiera tabelę 3. Podaje nazwę klasy 4. Zatwierdza 5. Wyświetla komunikat o sukcesie

53 ROZDZIAŁ 5. DESIGNER 48 Rysunek 5.3: Dodanie klasy - prototyp Prototyp interfejsu użytkownika UC.ASA Dodanie atrybutu SimpleAttribute Cel Dodanie atrybutu typu SimpleAttribute. Aktor główny Twórca modelu biznesowego Przebieg zdarzeń Nr System Użytkownik 1. Wybiera klasę 2. Wybiera opcje dodaj atrybut SimpleAttribute 3. Podaje wyrażenie 4. Podaje nazwę atrybutu 5. Zatwierdza 6. Wyświetla komunikat o sukcesie Prototyp interfejsu użytkownika UC.ARA Dodanie atrybutu ReferenceAttribute Cel Dodanie atrybutu typu ReferenceAttribute. Aktor główny Twórca modelu biznesowego

54 ROZDZIAŁ 5. DESIGNER 49 Rysunek 5.4: Dodanie atrybutu SimpleAttribute - prototyp Przebieg zdarzeń Nr System Użytkownik 1. Wybiera klasę źródłową 2. Wybiera opcje dodaj atrybut ReferenceAttribute 3. Podaje nazwę atrybutu 4. Wybiera klasę docelową 5. Wybiera kolumnę klucza obcego 6. Zatwierdza 7. Wyświetla komunikat o sukcesie Prototyp interfejsu użytkownika Rysunek 5.5: Dodanie atrybutu ReferenceAttribute - prototyp UC.NEW.PROJECT Założenie projektu Cel Aktor główny Twórca modelu biznesowego

55 ROZDZIAŁ 5. DESIGNER 50 Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcje nowy projekt 2. Podaje nazwę projektu 3. Zatwierdza UC.DB.CONN Skonfigurowanie połączenia z bazą danych Aktor główny Twórca modelu biznesowego Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcje konfiguracja połączenia z bazą danych 2. Wybiera typ bazy danych 3. Podaje ścieżkę z biblioteką JDBC 4. Podaje nazwę i hasło użytkownika adres serwera i port nasłuchujący Prototyp interfejsu użytkownika Rysunek 5.6: Skonfigurowanie połączenia z bazą danych - prototyp

56 ROZDZIAŁ 5. DESIGNER 51 UC.A.REPORT Dodanie raportu Cel Aktor główny Projektant raportów Przebieg zdarzeń Nr System Użytkownik 1. Wybiera opcje dodaj raport 2. Podaje nazwę raportu 3. Wybiera główną klasę 4. Zatwierdza 5. Wyświetla komunikat o sukcesie Prototyp interfejsu użytkownika Rysunek 5.7: Dodanie raportu - prototyp UC.A.RCOLUMN Dodanie kolumny raportu Cel Aktor główny Projektant raportów

57 ROZDZIAŁ 5. DESIGNER 52 Przebieg zdarzeń Nr System Użytkownik 1. Wybiera raport 2. Wybiera opcje dodaj kolumnę 3. Wybiera atrybut 4. Wybiera jedną z ścieżek 5. Zatwierdza 6. Wyświetla komunikat o sukcesie Prototyp interfejsu użytkownika Rysunek 5.8: Dodanie kolumny raportu krok 1 - prototyp Rysunek 5.9: Dodanie kolumny raportu krok 2 - prototyp

Praca dyplomowa magisterska

Praca dyplomowa magisterska Politechnika Warszawska Rok akademicki 2009/2010 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska Piotr Kalański TODO Ocena: Opiekun pracy: dr inż. Michał Rudowski

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Politechnika Warszawska Rok akademicki 2010/2011 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska inż. Piotr Kalański Technologia do tworzenia hierarchicznych

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Politechnika Warszawska Rok akademicki 2010/2011 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska inż. Piotr Kalański TODO Ocena: Opiekun pracy: dr inż. Michał

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Politechnika Warszawska Rok akademicki 2010/2011 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska inż. Piotr Kalański Technologia do tworzenia hierarchicznych

Bardziej szczegółowo

Praca dyplomowa magisterska

Praca dyplomowa magisterska Politechnika Warszawska Rok akademicki 2010/2011 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Praca dyplomowa magisterska inż. Piotr Kalański Dynamiczne oraz deklaratywnie konfigurowalne

Bardziej szczegółowo

Generowanie raportów

Generowanie raportów 1 Generowanie raportów 1. Wprowadzenie przykładowy problem, podstawowe własności narzędzi raportujących. 2. JasperReports struktura raportu, parametry, zmienne i pola, generowanie raportu (API). 3. ireport

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wprowadzenie do Hurtowni Danych. Mariusz Rafało Wprowadzenie do Hurtowni Danych Mariusz Rafało mrafalo@sgh.waw.pl WARSTWA PREZENTACJI HURTOWNI DANYCH Wykorzystanie hurtowni danych - aspekty Analityczne zbiory danych (ADS) Zbiór danych tematycznych (Data

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

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

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE BAZY DANYCH HURTOWNIE DANYCH I BUSINESS INTELLIGENCE Akademia Górniczo-Hutnicza w Krakowie Adrian Horzyk horzyk@agh.edu.pl Google: Horzyk HURTOWNIE DANYCH Hurtownia danych (Data Warehouse) to najczęściej

Bardziej szczegółowo

Oferta szkoleniowa Yosi.pl 2012/2013

Oferta szkoleniowa Yosi.pl 2012/2013 Oferta szkoleniowa Yosi.pl 2012/2013 "Podróżnik nie posiadający wiedzy, jest jak ptak bez skrzydeł" Sa'Di, Gulistan (1258 rok) Szanowni Państwo, Yosi.pl to dynamicznie rozwijająca się firma z Krakowa.

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Wprowadzenie do technologii Business Intelligence i hurtowni danych Wprowadzenie do technologii Business Intelligence i hurtowni danych 1 Plan rozdziału 2 Wprowadzenie do Business Intelligence Hurtownie danych Produkty Oracle dla Business Intelligence Business Intelligence

Bardziej szczegółowo

1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4

1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4 1 Wprowadzenie do koncepcji Microsoft Office BI 1 Zakres ksiąŝki 2 Cel ksiąŝki 3 Wprowadzenie do tematu 3 Zawartość rozdziałów 4 2 Tabele przestawne, wykresy przestawne i formatowanie warunkowe 11 Co to

Bardziej szczegółowo

System generacji raportów

System generacji raportów Zalety systemu Czym jest ProReports? prostota instalacji, wieloplatformowość (AIX, Linux, Windows, Solaris), obsługa popularnych formatów (PDF, XLS, RTF, HTML,TXT,XML,CSV), obsługa wielu baz danych, raporty

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

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

Business Intelligence

Business Intelligence Business Intelligence Paweł Mielczarek Microsoft Certified Trainer (MCT) MCP,MCSA, MCTS, MCTS SQL 2005, MCTS SQL 2008, MCTS DYNAMICS, MBSS, MBSP, MCITP DYNAMICS. Geneza Prowadzenie firmy wymaga podejmowania

Bardziej szczegółowo

Wnioski i dyspozycje elektroniczne. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

Wnioski i dyspozycje elektroniczne. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss BANK OCHRONY ŚRODOWISKA S.A. ul. Żelazna 32 / 00-832 Warszawa tel.: (+48 22) 850 87 35 faks: (+48 22) 850 88 91 e-mail: bos@bosbank.pl Instrukcja użytkownika systemu bankowości internetowej dla firm Wnioski

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ ELEKTRONICZNA KSIĄŻKA ZDARZEŃ Instrukcja obsługi 1. WSTĘP... 2 2. LOGOWANIE DO SYSTEMU... 2 3. STRONA GŁÓWNA... 3 4. EWIDENCJA RUCHU... 4 4.1. Dodanie osoby wchodzącej na teren obiektu... 4 4.2. Dodanie

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS

Monitoring procesów z wykorzystaniem systemu ADONIS Monitoring procesów z wykorzystaniem systemu ADONIS 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

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH

Hurtownie danych. Wstęp. Architektura hurtowni danych. http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH Wstęp. Architektura hurtowni. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur CO TO JEST HURTOWNIA DANYCH B. Inmon, 1996: Hurtownia to zbiór zintegrowanych, nieulotnych, ukierunkowanych

Bardziej szczegółowo

Obsługa Panelu Menadżera

Obsługa Panelu Menadżera Obsługa Panelu Menadżera Wersja 3.59.305 4.04.2013 r. Panel Menadżera pozwala na dostęp do wybranych informacji systemu Streamsoft Prestiż, poprzez przeglądarkę internetową. Ponadto panel ten można obsługiwać

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

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017

dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017 dr inż. Paweł Morawski Informatyczne wsparcie decyzji logistycznych semestr letni 2016/2017 KONTAKT Z PROWADZĄCYM dr inż. Paweł Morawski e-mail: pmorawski@spoleczna.pl www: http://pmorawski.spoleczna.pl

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Pierwsze wdrożenie SAP BW w firmie

Pierwsze wdrożenie SAP BW w firmie Pierwsze wdrożenie w firmie Mirosława Żurek, BCC Poznao, maj 2013 Zakres tematyczny wykładu Podstawowe założenia i pojęcia hurtowni danych ; Przykładowe pierwsze wdrożenie w firmie i jego etapy; Przykładowe

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego INSTRUKCJA UŻYTKOWNIKA DLA INSTYTUCJI RYNKU PRACY JAK KORZYSTAĆ Z MODUŁU ANALITYCZNEGO narzędzia informatycznego opracowanego w ramach projektu Wielkopolski system doradztwa edukacyjno-zawodowego Poznań,

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

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

Hurtownie danych. 31 stycznia 2017

Hurtownie danych. 31 stycznia 2017 31 stycznia 2017 Definicja hurtowni danych Hurtownia danych wg Williama Inmona zbiór danych wyróżniający się następującymi cechami uporządkowany tematycznie zintegrowany zawierający wymiar czasowy nieulotny

Bardziej szczegółowo

Symfonia Produkcja. Kreator raportów. Wersja 2013

Symfonia Produkcja. Kreator raportów. Wersja 2013 Symfonia Produkcja Kreator raportów Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy Adobe

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne rodzaje zadań,

Bardziej szczegółowo

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services Spis treści Wstęp... ix Odkąd najlepiej rozpocząć lekturę?... ix Informacja dotycząca towarzyszącej ksiąŝce płyty CD-ROM... xi Wymagania systemowe... xi Instalowanie i uŝywanie plików przykładowych...

Bardziej szczegółowo

OKAY CRM 2.0 nowy program!

OKAY CRM 2.0 nowy program! OKAY CRM 2.0 nowy program! OKAY CRM 2.0 Nowoczesny Interfejs Kalendarz Graficzny Zarządzanie wiedzą o kontrahentach Osoby kontaktowe Historia kontaktów Delegowanie zadań Projekty Zarządzanie dokumentami

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

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

Część I Istota analizy biznesowej a Analysis Services

Część I Istota analizy biznesowej a Analysis Services Spis treści Część I Istota analizy biznesowej a Analysis Services 1 Analiza biznesowa: podstawy analizy danych... 3 Wprowadzenie do analizy biznesowej... 3 Wielowymiarowa analiza danych... 5 Atrybuty w

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

Platforma e-learningowa

Platforma e-learningowa Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych 1 Wprowadzenie do technologii MS SQL Server 2012 Reporting Services. 2h Podstawowym zadaniem omawianej jednostki lekcyjnej

Bardziej szczegółowo

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu). Spis treści Informacje ogólne...2 Tryby pracy...3 Wygląd interfejsu...4 Tryb użytkownika...5 Tryb administratora...6 Import kontrahentów z pliku XML...8 2 Informacje ogólne Aplikacja internetowa umożliwia

Bardziej szczegółowo

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa Kwerenda parametryczna, z polem wyliczeniowym, krzyżowa Operatory stosowane w wyrażeniach pól wyliczeniowych Przykład: wyliczanie wartości w kwerendach W tabeli Pracownicy zapisano wartości stawki godzinowej

Bardziej szczegółowo

MJUP_Instrukcja obsługi aplikacji. wspomagającej

MJUP_Instrukcja obsługi aplikacji. wspomagającej Instrukcja obsługi aplikacji wspomagającej w ramach projektu Beneficjent: Urząd Miasta Krakowa Wersja: 1.00 Data wersji: 2015-02-24 Autor (rzy): Nazwa pliku: Zespół Pentacomp MJUP_Instrukcja obsługi aplikacji

Bardziej szczegółowo

Analizy na podstawie danych sprawozdawczych - Moduł Analiz dla Banków Spółdzielczych

Analizy na podstawie danych sprawozdawczych - Moduł Analiz dla Banków Spółdzielczych Analizy na podstawie danych sprawozdawczych - Moduł Analiz dla Banków Spółdzielczych Kwiecień 2012 Wszelkie prawa zastrzeżone. Dokument może być reprodukowany lub przechowywany bez ograniczeń tylko w całości.

Bardziej szczegółowo

Narzędzia controllingowe dla małych firm

Narzędzia controllingowe dla małych firm Narzędzia controllingowe dla małych firm HURTOWNIA DANYCH BUDŻETOWANIE WYMIANA INFORMACJI 1. Small Business Navigator dla małych firm Business Navigator jest platformą informatyczną wspomagającą wdrożenie

Bardziej szczegółowo

Spectrum Spatial. Dla systemów BI (Business Intelligence)

Spectrum Spatial. Dla systemów BI (Business Intelligence) Spectrum Spatial Dla systemów BI (Business Intelligence) Czym jest Spectrum Spatial? Spectrum Spatial jest platformą programistyczną, która umożliwia lokalizację danych w przestrzeni w celu szybkiego i

Bardziej szczegółowo

OLAP i hurtownie danych c.d.

OLAP i hurtownie danych c.d. OLAP i hurtownie danych c.d. Przypomnienie OLAP -narzędzia analizy danych Hurtownie danych -duże bazy danych zorientowane tematycznie, nieulotne, zmienne w czasie, wspierjące procesy podejmowania decyzji

Bardziej szczegółowo

Szczegółowy opis przedmiotu zamówienia

Szczegółowy opis przedmiotu zamówienia Załącznik nr 1 do Szczegółowy opis przedmiotu zamówienia Przedmiotem jest rozbudowa systemu kolejkowego funkcjonującego w Urzędzie Miasta Lublina, służącego do zarządzania obsługą klientów. W ramach modernizacji

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

Dokumentacja Użytkownika: Panel administracyjny PayBM

Dokumentacja Użytkownika: Panel administracyjny PayBM Blue Media Dokumentacja Użytkownika: Panel administracyjny PayBM Dokumentacja dla Partnerów Blue Media S.A. str.1 Spis treści 1. Logowanie do panelu administracyjnego PayBM... 3 2. Lista transakcji...

Bardziej szczegółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wprowadzenie do Hurtowni Danych. Mariusz Rafało Wprowadzenie do Hurtowni Danych Mariusz Rafało mariusz.rafalo@hotmail.com WPROWADZENIE DO HURTOWNI DANYCH Co to jest hurtownia danych? Hurtownia danych jest zbiorem danych zorientowanych tematycznie, zintegrowanych,

Bardziej szczegółowo

Specjalizacja magisterska Bazy danych

Specjalizacja magisterska Bazy danych Specjalizacja magisterska Bazy danych Strona Katedry http://bd.pjwstk.edu.pl/katedra/ Prezentacja dostępna pod adresem: http://www.bd.pjwstk.edu.pl/bazydanych.pdf Wymagania wstępne Znajomość podstaw języka

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

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja aplikacji internetowej do wyszukiwania promocji Autor: Sylwester Wiśniewski Promotor: dr Jadwiga Bakonyi Kategorie: aplikacja webowa Słowa

Bardziej szczegółowo

Konsolidacja FP- Depozyty

Konsolidacja FP- Depozyty Instrukcja użytkowania modułu Konsolidacja FP- Depozyty w ramach systemu BGK@24BIZNES BGK PEWNY PARTNER Kwiecień 2011 Spis Treści Wstęp... 3 Konsolidacja FP Depozyty... 3 1. Przeglądanie listy dyspozycji

Bardziej szczegółowo

The Binder Consulting

The Binder Consulting The Binder Consulting Contents Indywidualne szkolenia specjalistyczne...3 Konsultacje dla tworzenia rozwiazan mobilnych... 3 Dedykowane rozwiazania informatyczne... 3 Konsultacje i wdrożenie mechanizmów

Bardziej szczegółowo

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

WPROWADZENIE WYSZUKIWANIE OGŁOSZEŃ

WPROWADZENIE WYSZUKIWANIE OGŁOSZEŃ WPROWADZENIE 1. Cel dokumentu Celem dokumentu jest: Zapoznanie internauty z funkcjonalnością realizowaną przez Bazę Konkurencyjności. Dostarczenie szczegółowych informacji na temat podstron, które znajdują

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Opis spełnienia wymagań (PSBD)

Opis spełnienia wymagań (PSBD) Numer sprawy: DPZ/4/15 Nr arch. DPZ/087/059-16/15 1. Zakres przedmiotu zamówienia: Opis spełnienia wymagań (PSBD) Załącznik nr 1d do formularza ofertowego Wykonanie dzieła polegającego na dostawie, kompleksowym

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Krzysztof Kadowski. PL-E3579, PL-EA0312, Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza

Bardziej szczegółowo

BUSINESS INTELLIGENCE for PROGRESS BI4PROGRESS

BUSINESS INTELLIGENCE for PROGRESS BI4PROGRESS BUSINESS INTELLIGENCE for PROGRESS BI4PROGRESS SZYBKIE ANALIZY EKONOMICZNE, FINANSOWE I STATYSTYCZNE 0 S t r o n a Dlaczego BI4PROGRESS? W czasach nieustających, dynamicznych zmian na rynku edukacyjnym,

Bardziej szczegółowo

TP1 - TABELE PRZESTAWNE od A do Z

TP1 - TABELE PRZESTAWNE od A do Z TP1 - TABELE PRZESTAWNE od A do Z Program szkolenia 1. Tabele programu Excel 1.1. Wstawianie tabeli 1.2. Style tabeli 1.3. Właściwości tabeli 1.4. Narzędzia tabel 1.4.1. Usuń duplikaty 1.4.2. Konwertuj

Bardziej szczegółowo

ISTOTNE POSTANOWIENIA UMOWY

ISTOTNE POSTANOWIENIA UMOWY nr ref.: DOA-ZP-I.271.2.35.2012 Załącznik nr 6 do SIWZ ISTOTNE POSTANOWIENIA UMOWY nr ref.: DOA-ZP-I.271.2.35.2012 nr ref.: DOA-ZP-I.271.2.35.2012 nr ref.: DOA-ZP-I.271.2.35.2012 Załącznik Nr 1 do Umowy..

Bardziej szczegółowo

Migracja XL Business Intelligence do wersji

Migracja XL Business Intelligence do wersji Migracja XL Business Intelligence do wersji 2019.0 Copyright 2018 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci

Bardziej szczegółowo

OPIS PRZEDMIOTU ZAMÓWIENIA

OPIS PRZEDMIOTU ZAMÓWIENIA Załącznik nr 1 OPIS PRZEDMIOTU ZAMÓWIENIA Licencja Microsoft Windows SQL Server Standard 2012 (nie OEM) lub w pełni równoważny oraz licencja umożliwiająca dostęp do Microsoft Windows SQL Server Standard

Bardziej szczegółowo

E-czeki - zakładanie listy odbiorców, raport uprawnień (Bankowość Elektroniczna dla Klientów Korporacyjnych Getin Noble Bank SA)

E-czeki - zakładanie listy odbiorców, raport uprawnień (Bankowość Elektroniczna dla Klientów Korporacyjnych Getin Noble Bank SA) E-czeki - zakładanie listy odbiorców, raport uprawnień (Bankowość Elektroniczna dla Klientów Korporacyjnych Getin Noble Bank SA) Spis treści Wstęp... 1 I Lista odbiorców e-czeków... 2 1. Lista odbiorców

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

Paweł Gołębiewski. Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl

Paweł Gołębiewski. Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl Paweł Gołębiewski Softmaks.pl Sp. z o.o. ul. Kraszewskiego 1 85-240 Bydgoszcz www.softmaks.pl kontakt@softmaks.pl Droga na szczyt Narzędzie Business Intelligence. Czyli kiedy podjąć decyzję o wdrożeniu?

Bardziej szczegółowo

Spis treści MONITOR PRACY... 4

Spis treści MONITOR PRACY... 4 Co nowego Spis treści MONITOR PRACY...... 4 Konfiguracja plików... 5 Konfiguracja globalna... 6 Pliki... 6 Projekty... 6 Interfejs użytkownika... 7 Synchronizacja... 7 Typ serwera... 8 Test połączenia...

Bardziej szczegółowo

INFORMACJA I informacje@pkobp.pl, www.pkobp.pl I INFOLINIA 0 801 302 302 I opłata jak za połączenie lokalne

INFORMACJA I informacje@pkobp.pl, www.pkobp.pl I INFOLINIA 0 801 302 302 I opłata jak za połączenie lokalne 1 SPIS TREŚCI WYCIĄGI BANKOWE W... 3... 4... 4... 6 4. Pobieranie wyciągów... 7... 9... 11 operacji na rachunku... 12 na rachunku w... 12... 16 2 WYCIĄGI BANKOWE W Od dnia 23 lipca 2008 roku w systemie

Bardziej szczegółowo

Migracja Business Intelligence do wersji

Migracja Business Intelligence do wersji Migracja Business Intelligence do wersji 2016.1 Copyright 2015 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

Bardziej szczegółowo

MODUŁ AM4: ARKUSZE KALKULACYJNE

MODUŁ AM4: ARKUSZE KALKULACYJNE ECDL ADVANCED ECDL-A EUROPEJSKI CERTYFIKAT UMIEJĘTNOŚCI KOMPUTEROWYCH POZIOM ZAAWANSOWANY MODUŁ AM4: ARKUSZE KALKULACYJNE Syllabus v. 1.0 Oficjalna wersja dokumentu jest dostępna w serwisie WWW Polskiego

Bardziej szczegółowo

Procesy ETL - wykład V. Struktura. Wprowadzenie. 1. Wprowadzenie. 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków.

Procesy ETL - wykład V. Struktura. Wprowadzenie. 1. Wprowadzenie. 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków. Procesy ETL - wykład V Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2012 Struktura 1. Wprowadzenie 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków Wprowadzenie

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw.

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw. Hurtownie danych Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach. http://zajecia.jakubw.pl/hur UZASADNIENIE BIZNESOWE Po co nam hurtownia danych? Jakie mogą

Bardziej szczegółowo

Założenia funkcjonalne narzędzia informatycznego wspierającego wdrożenie benchmarkingu

Założenia funkcjonalne narzędzia informatycznego wspierającego wdrożenie benchmarkingu Benchmarking narzędzie efektywnej kontroli zarządczej w urzędach miast na prawach powiatu, urzędach gmin i starostwach powiatowych Założenia funkcjonalne narzędzia informatycznego wspierającego wdrożenie

Bardziej szczegółowo

CRM VISION FUNKCJE SYSTEMU

CRM VISION FUNKCJE SYSTEMU www.crmvision.pl CRM VISION FUNKCJE SYSTEMU www.crmvision.pl CRM VISION FUNKCJE SYSTEMU CRM Vision to nowoczesne, bezpieczne oprogramowanie wspomagające zarządzanie firmą poprzez usprawnienie przepływu

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Access 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Zmienianie rozmiaru ekranu lub

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

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

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład III W prezentacji wykorzystano fragmenty i przykłady z książki: Joe Habraken;

Bardziej szczegółowo

Migracja Business Intelligence do wersji 2013.3

Migracja Business Intelligence do wersji 2013.3 Migracja Business Intelligence do wersji 2013.3 Copyright 2013 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje

Bardziej szczegółowo

System obsługi kancelarii v 2.0

System obsługi kancelarii v 2.0 System obsługi kancelarii v 2.0 Opisany poniżej system do obsługi kancelarii prawnej zapewnia bezpieczną i wygodną realizację najważniejszych zadań administracyjnych realizowanych kancelarii. Są to miedzy

Bardziej szczegółowo

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX Architektura i struktura funkcjonalna systemu PROPHIX PROPHIX Corporate Performance Management (Zarządzanie Wydajnością Firmy) System do samodzielnego planowania,

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