Systemy informatyczne w zarządzaniu wiedzą W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Funkcje systemu zarządzania wiedzą Podstawowa dostarczenie użytkownikowi informacji, która po przetworzeniu umożliwia skuteczne podejmowanie decyzji. Nieodzowne jest stosowanie systemów informatycznych. Pełnią one jednak rolę wspomagająca zarządzanie wiedzą w organizacji a nie zarządzają. Inne funkcje gromadzenie danych (ich klasyfikacja wg poziomu ważności) przechowywanie danych ich archiwizacja zarządzanie danymi (wszelkiego rodzaju analizy)
Hierarchia wiedzy Wiedza w gestii ludzi Dane w hierarchii wiedzy: fakty, obrazy, dźwięki, liczby. Interpretacja danych analizy, syntezy, agregacje itd. dają informacje (przefiltrowane i podsumowane dane często zamienione we wzory) Informacje są podstawą wiedzy po dodaniu do nich działania i zastosowania. (wykorzystanie wzorów w danym kontekście w celu osiągnięcia zaplanowanych efektów jest widzą. W trzystopniowej hierarchii są nią: instynkty, idee, przepisy, procedury które pozwalają podjąć decyzję) Rola systemów informatycznych w zarządzaniu wiedzą wspomagająca (nawet najinteligentniejsze systemy nie są w chwili obecnej w stanie podejmować decyzji systemy deterministyczne i rozmyte)
Systemy Zarządzania Wiedzą ICONS (Intelligent CONtent Management) Rodan System Portale korporacyjne jako najbardziej zaawansowane systemy pod względem funkcjonalności
Portal korporacyjny 1. SAP (Systems Applications and Products in Data Processing) Kompletne rozwiązania korporacyjne umożliwiajace użytkownikom spersonalizowany i wygodny dostęp do wszystkiego, czego potrzebują, w dowolnym czasie i miejscu w bezpieczny sposób poprzez INTERNET, aby zrealizować swoje zadania 2. IBM (International Business Machines) Centralny interfejs WWW do wszystkiego, co w przeciwnym wypadku byłoby osobną i niekompatybilną informacja rozproszoną w wielu oddzielnych aplikacjach (interfejs pomiędzy użytkownikiem pracownikiem, dostawcą, klientem lub partnerem oraz systemami informatycznymi w przedsiębiorstwie)
Współczesny portal korporacyjny Interfejs pomiędzy użytkownikiem pracownikiem, dostawcą, klientem lub partnerem oraz systemami informatycznymi w przedsiębiorstwie Funkcje: - wsparcie dla pracy zespołowej; -zarządzanie użytkownikami; - import i eksport dokumentów; - nawigacja i wyszukiwanie. Role: - sprawne zarządzanie informacjami i danymi; - usprawnienie kontaktów międzyludzkich; - platforma wymiany informacji; - narzędzie do wspomagania pracy zespołowej. (koncepcja zarządzania wiedzą pozwalająca uznać te systemy jako klasy IPSS (Integrated Performance Supporting Systems) wspomagające efektywność
Działanie systemów klasy IPSS -brak odpowiedzi w systemie -przekierowanie do ekspertów -archiwizowanie odpowiedzi w systemie -proces poszukiwania odpowiedzi odbywa się w środowisku systemu -archiwizacja pytań i odpowiedzi -katalogowanie informacji -rejestracja ekspertów -zadawanie pytań w obrębie katalogu Portale: - AskMe, Orbital; -Pyton Management - Guru Sp z o.o..
Inne narzędzia IT Systemy zarządzania dokumentami (Document Management): umożliwiają gromadzenie i klasyfikowanie dokumentów, ułatwiają ich wyszukiwanie i dostęp do nich, a także rejestrowanie prac wykonanych na tych dokumentach (np. kontrolowanie ich wersji, śledzenie wprowadzonych zmian) Systemy obiegu pracy (Workflow): (wspierają realizacje procedur postępowania z dokumentami. Narzedzia służą do automatyzacji całego lub części procesu biznesowego. System przydziela poszczególne zadania pracownikom i zarządza harmonogramem ich realizacji. Umożliwia usprawnienie zarządzania procesami w przedsiębiorstwie) Systemy wspomagania decyzji, systemy eksperckie: (są to interaktywne systemy komputerowe wykorzystywane w pełnieniu funkcji planistycznych i decyzyjnych. Umożliwiają kierownikom uzyskanie wyselekcjonowanej, skondensowanej i przeanalizowanej informacji oraz ułatwiają podejmowanie nierutynowych decyzji, czyli umożliwiają zarządzanie informacją )
PODZIAŁ WIELKICH SYSTEMÓW Wzorce architektoniczne Wzorce architektoniczne uogólnione spojrzenie na strukturę systemu Są wykorzystywane przy tworzeniu głównych części systemu widocznych na pierwszy rzut oka Pozwalają na generacje podsystemów Związki pomiedzy podsystemami pozwalają dopasować opracowywany system do któregoś z wzorców architektonicznych - Architektura trójwarstwowa - Wzorzec potoków i filtrów - Wzorzec architektury obiektowej
PODZIAŁ WIELKICH SYSTEMÓW Architektura trójwarstwowa (system obsługi zamówień) <<subsystem>> Interfejs Użytkownika <<subsystem>> Reguły biznesowe <<subsystem>> Baza Danych Trzy warstwy - aby reguły biznesowe działały muszą korzystać z bazy danych Przypisanie poszczególnych części systemu do kolejnych warstw: Formularz część Interfejsu Użytkownika; Dane zebrane w związku z zamówieniem warstwa Bazy Danych; Proces pobierania zamówienia warstwa Reguł Biznesowych Korzyści: Jedna baza danych; zestaw procesów biznesowych - spójny
PODZIAŁ WIELKICH SYSTEMÓW Wzorzec potoków i filtrów (system obsługi zamówień) <<subsystem>> Przyjmowania Zamówień <<subsystem>> Przyjmowania Przesyłek <<subsystem>> Obsługa Płatności <<subsystem>> Baza Danych Pewien syststem przyjmuje dane, w pewien sposób je przetwarza, a następnie je zwraca, potem kolejny element pobiera zwrócone informacje, przetwarza itd. Elementy są niezależne i tak naprawdę nic nie wiedza o sobie. Przyjmowanie zamówień wykonuje prace i umieszcza ją na stosie zamówień Wysyłanie przesyłek pobiera stos zamówień, przygotowuje je i wysyła tworząc stos płatności Te są pobierane przez Obsługe płatności i są realizowane; DUŻA NIEZALEŻNOŚĆ PODSYSTEMÓW ZALEŻNOŚĆ OD STRUMIENIA DANYCH ZAPISYWANYCH SIOS
PODZIAŁ WIELKICH SYSTEMÓW Wzorzec architektury obiektowej (system obsługi zamówień) <<subsystem>> Przyjmowanie zamówień <<subsystem>> Wysyłanie przesyłek <<subsystem>> Obsługa płatności Podsystemy zdefiniowane wokół danych i związanych z nimi funkcjami Pomiędzy podsystemami istnieją zależności, ale podsystemy nie wiedzą nic o sobie: Przyjmowanie zamówień zawiera zamówienia i funkcje które je przetwarzają Obsługa płatności zajmuje się opłatami, kredytami i kontami Wysyłanie przesyłek zajmuje się przesyłkami i informacjami adresowymi. Tutaj każda funkcja jest niezależna lokalizowana w jednej części w trójwarstwowej każda funkcja istnieje w trzech warstwach w potokach i filtrach funkcje komunikują się za pomocą danych.
Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie danych (ich klasyfikacja wg poziomu ważności) przechowywanie danych zarządzanie danymi (wszelkiego rodzaju analizy) Systemy informatyczne służące w/w celom to tzw. Systemy Baz Danych (SBD) Zaleta: prostota przeszukiwania np. od klucza
Edytor tekstu czy skomplikowana baza danych Stosowanie edytorów tekstów do tworzenia baz danych jest właściwe jedynie w przypadku gromadzenia niewielkiej ilości informacji, bądź operacje wykonywane na tych danych nie będą skomplikowane. Narzędzia Exel-owe Works-owe dają możliwość wyszukiwania ale niewielką
Etapy rozwoju baz danych Etap 1 - zwany tradycyjnym poszczególne programy użytkowe miały niezależne dane, procedury i modele. Obok siebie istniały dane, sposób ich przetwarzania oraz opisy obiektu Program użytkowy 1 Program użytkowy 2 Model Procedura Dane Model Procedura Dane itd. 1 1 1 2 2 2 Tradycyjne systemy baz danych mała elastyczność i niezbyt duże możliwości, niewątpliwie związane z ograniczeniami sprzętowymi (jednostanowiskowe)
Etapy rozwoju baz danych Etap 2 systemy baz danych z oprogramowaniem do zarządzania danymi możliwość współużytkowania danych przez wielu użytkowników, systemy drugiej generacji Program użytkowy 1 Program użytkowy 2 Program użytkowy N Model 1 Procedura 1 Model 2 Procedura 2 Model N Procedura N System Zarządzania Danymi itd. Dane 1 Dane 2 Dane N Współużytkowanie dzięki dostępowi bezpośredniemu do PAO. Zbiory danych oddzielone od programu który nimi zarządza. Informacje w oddzielnych plikach.
Etapy rozwoju baz danych Etap 2 systemy baz danych z oprogramowaniem do zarządzania danymi możliwość współużytkowania danych przez wielu użytkowników, systemy drugiej generacji Program użytkowy 1 Program użytkowy 2 Program użytkowy N Model 1 Procedura 1 Model 2 Procedura 2 Model N Procedura N System Zarządzania Danymi itd. Dane 1 Dane 2 Dane N Współużytkowanie dzięki dostępowi bezpośredniemu do PAO. Zbiory danych oddzielone od programu który nimi zarządza. Informacje w oddzielnych plikach.
Etapy rozwoju baz danych Etap 3 w obrębie jednego systemu może istnieć wiele baz danych pod warunkiem, że zawartości poszczególnych baz będą rozdzielone i nie powiązane ze sobą Program użytkowy 1 Program użytkowy 2 Program użytkowy N Model 1 Procedura 1 Model 2 Procedura 2 Model N Procedura N System Zarządzania Bazami Danych itd. Baza danych Zestaw baz danych system baz danych obsługiwanych przez System Zarządzania Bazami Danych
System zarządzania bazami danych System zarządzania bazami danych System Obsługi Baz Danych zawiera mechanizmy programistyczne pozwalające na efektywną obsługę baz danych, zaliczamy do nich: środki do gromadzenia, utrzymywania i administrowania zbiorami danych środki zapewniające bezpieczeństwo i spójność danych sprawny dostęp do danych aparat aktualizacji i przetwarzania danych mechanizmy wielodostępu transakcyjność reguły autoryzacji mechanizmy odtworzenia bazy w przypadku awarii środki optymalizacji bazy mechanizmy umożliwiające pracę w środowisku rozproszonym pakiety statystyczne interfejsy do innych systemów
Rodzaje baz danych Relacyjne Bazy Danych najbardziej popularne, budowa oparta o pojęcie rekordów oraz pól. Każdą RBD można potraktować jako tabelę złożoną z wierszy rekordów i kolumn pól. (każdy rekord składa się z określonej ilości pól) W relacyjnych bazach danych wprowadzono algebrę relacji gdzie relację łączą tabele w których rekordach występują wspólne pola Obiektowe Bazy Danych stanowią grupę obiektów których własności zostały określone zgodnie z obiektowym modelem danych. Implikuje to naturalną rozszerzalność bazy bez wprowadzania zmian do systemu. Możliwe są dwa sposoby rozszerzenia bazy danych: rozszerzenie zachowania się obiektu i dziedziczenie. Zachowanie może być rozszerzone poprzez dołączenie dodatkowych programów (medod) do już istniejących. W dowolnym momencie życia systemu można zdefiniować nowe klasy korzystając z już istniejących.
Tworzenie modelu obiektowego(1) Metody strukturalne tworzenia oprogramowania, opierają się na wyróżnianiu w tworzonym oprogramowaniu dwóch rodzajów składowych: pasywnych odzwierciedlających fakt przechowywania w systemie pewnych danych oraz składowych aktywnych odzwierciedlających fakt wykonywania w systemie pewnych operacji. Metody obiektowe wyróżniają w systemie składowe, które łączą w sobie możliwość przechowywania danych oraz wykonywania operacji
Tworzenie modelu obiektowego (2) Analiza strukturalna Analiza strukturalna zaczyna się od budowy dwóch różnych modeli systemu: modelu, będącego opisem pasywnej części systemu oraz modelu funkcji opisującego aktywną część systemu. Te dwa modele są następnie integrowane i wynikiem jest model przepływów danych. Zwolennicy analizy strukturalnej twierdzą, że budowa dwóch oddzielnych modeli ułatwia zrozumienie różnych aspektów systemu. Krytycy zwracają uwagę, na to że integracja tych dwóch modeli może być bardzo trudna.
Tworzenie modelu obiektowego (3) Analiza obiektowa System jest analizowany w sposób obiektowy jeśli: - Jest dzielony na obiekty posiadające: - Tożsamość, Stan, Zachowanie - Obiekty są grupowane w klasy złożone z obiektów o podobnych stanach i zachowaniu Metody obiektowe są wygodnym narzędziem analizy złożonych systemów, w szczególności systemów o dużej stronie pasywności i złożonej funkcjonalności
Notacja obiektowa (1) analiza Obiekt (ang. Object) projektowanie i implementacji Składowa dziedziny problemu posiadająca tożsamość, stan i zachowanie Konstrukcja języka programowania łącząca dane i metody (procedury i funkcje analiza Klasa (ang. Class) projektowanie i implementacji Wzorzec grupy obiektów Typ obiektowy w języku programowania
Notacja obiektowa (2) Klasa (ang. Class) pola (atrybuty) opisują stan obiektów klasy metod (usług, operacji) opisują operacje jakie można na polach tej klasy wykonywać Symbol klasy Symbol obiektu Nazwa klasy (np. ściana) Stan klasy: wysokość, grubość, jest nośna itp Pomaluj Zbuduj Nazwa obiektu : nazwa klasy (np. Jan Kowalski : Osoba) Nazwa klasy Atrybuty klasy Metody klasy :Osoba Jan Kowalski:
Notacja obiektowa (4) Związek klas (definiowany poprzez) nazwa związku Uczelnia Pracodawca Zatrudnia Pracownik Instytut role Uczelnia Zatrudnia Zatrudnia Pracuje Instytut Czynności realizowane w związku Bank Karta kredytowa Bank PIN Karta kredytowa Związek kwalifikowany Kwalifikator związku PIN
Notacja obiektowa (3) generalizacja - specjalizacja Dwie klasy pozostają w związku generalizacjispecjalizacji, jeżeli jedna z nich, zwana specjalizacją jest rodzajem drugiej zwanej generalizacją. pracownik pracownik generalizacja pracownik Związek klas nauczyciel Pracownik naukowy Kierowca dziekan zero lub wiele specjalizacja zero lub jeden Instytut Prawo jazdy nauczyciel Dziekan Kierownik projektu Student 8-12 1+ 1+ Wykład Grupa laboratoryjna
Notacja obiektowa (5) Diagramy przejść stanów Prezentują zmienne w czasie aspekty systemu (dynamiczne zachowanie się klas i grup klas; przedstawienie sposobów realizacji funkcji systemu) Zdarzenie zjawisko występujące w określonej chwili czasu (wprowadzenie danych, wybranie opcji, odczyt parametru) może być zewnętrzne lub wewnętrzne data input user interrupt open file koniec metody Time limit open file Stan okres pomiędzy zdarzeniami (np. stan overwrite, input, edycji, prezentacji) Przejście systemu zmiana stanu systemu j.w. (dodatkowe warunkowanie) Akcja czynności wykonywane w momencie zajścia zdarzenia, natychmiast (wypełnienie wartością pola, realizacja określonego obliczenia) Operacja wykonywane w czasie określonego stanu systemu, przerywana automatycznie poprzez zdarzenie zmieniające stan systemu (monitorowanie czasu)
Notacja obiektowa (6) Diagramy przejść stanów opis stanu STAN 1 Do: operacja... Entry: akcja 1...... Exit: akcja n przejście do STANU 2... zdarzenie (parametry) [warunek]/akcja Nazwa stanu Specyfikacja modelu obiektowego: nazwy, ogólny opis (klas i obiektów) oraz lista pól; lista metod; ograniczenia dla pól określonej klasy; liczba obiektów danej klasy; trwałość,chwilowe czy trwałe życie obiektów danej klasy
Notacja obiektowa (7) Specyfikacja metod dane wejściowe; dane wyjściowe; algorytm (opisywany poprzez język naturalny, schemat blokowy lub minispecyfikację); warunki wstępne (warunki jakie musza spełniać pola klasy do której należy metoda oraz dane wejściowe, aby metoda mogła rozpocząć się poprawnie) ; warunki końcowe (warunki jakie musza spełniać pola klasy do której należy metoda oraz dane wyjściowe po zakończeniu poprawnie rozpoczętej oraz poprawnie wykonanej metody); wyjątki sytuacje mogące zajść w trakcie realizacji metody (błąd otwarcia pliku); złożoność czasowa; złożoność pamięciowa; Algorytm klasyfikacji na podstawie reguł decyzyjnych: powtarzaj od reguły najważniejszej do najmniej ważnej jeżeli obiekt spełnia warunki reguły, to podejmowana jest reguła wskazywana przez regułę dopóki nie podjęto decyzji lub nie sprawdzono wszystkich reguł jeżeli nie podjęto decyzji, to podejmij decyzję wskazywaną przez regułę domniemaną
Tworzenie modelu obiektowego (4) Główne zadania Identyfikacja klas i obiektów Identyfikacja związków klas i obiektów Identyfikacja metod i komunikatów Identyfikacja i definiowanie pól Identyfikacja klas i obiektów: -podejście klasyczne, oparte na obserwacji z propozycją pojawiających się w systemach typowych klas; przedmioty, role, zdarzenia, interakcje, lokalizacje, dokumenty, organizacje, koncepcje, interfejsy dla systemów zewnętrznych, itp. - analiza dziedziny problemu; przeniesienie modelu opisanego przez ekspertów bądź w literaturze i wcześniejszych podobnych realizacjach - analiza w języku naturalnym; wykorzystuje opis fachowego modelu rzeczowniki potencjalne klasy, obiekty lub pola; czasowniki to potencjalne metody lub związki klas - analiza scenariuszy; tworzenie przypadków użycia
Tworzenie modelu obiektowego (5) Weryfikacja klas i obiektów: (odrzucenie zbędnych klas) - nieobecność pól i metod klasa poza odpowiedzialnością systemu - nieliczne pola i metody przenieść do innej klasy - jeden obiekt w klasie (klasa pit nowaka zbyt rozbudowane specjalizacje) - brak związku z innymi klasami klasa znajduje się poza zakresem odpowiedzialności systemu. Identyfikacja związków klas i obiektów (uogólnienie wielu pojedynczych związków pojawiających się pomiędzy obiektami tych klas) związki agregacji : (zawiera, składa się, obejmuje) Uczelnia 1+ wydział Symbol wskazujący całość zakłady 2+ 2+ instytut
Tworzenie modelu obiektowego (6) Identyfikacja związków klas i obiektów (uogólnienie wielu pojedynczych związków pojawiających się pomiędzy obiektami tych klas) związki generalizacji-specjalizacji (np. klasyfikacja wyrobów, pracowników itp.; dziedziczenie pól i metod często wskazuje na związek G-S.) Pracownik Adres Imię Nazwisko Edytuj dane Pracownik Adres Imię Nazwisko Edytuj dane Pracownik naukowy Adres Imię Nazwisko Stopień naukowy Edytuj dane Podaj listę publikacji Pracownik naukowy Stopień naukowy Podaj listę publikacji
Tworzenie modelu obiektowego (7) Identyfikacja i definiowanie pól - co jest potrzebne dla opisu danej klasy w ramach dziedziny problemu - jakie dane są potrzebne metodom danej klasy dla realizacji ich zadań - jakie pola należy wprowadzić dla opisu stanów w jakich mogą się znajdować obiekty danej klasy Student Adres Imię Miejsce pracy Numer indeksu Edytuj dane Błędy w umieszczaniu Pól w związku G-S Student dzienny Nazwisko Student zaoczny Nazwisko
Tworzenie modelu obiektowego (8) Identyfikacja i definiowanie metod i komunikatów Algorytmicznie proste Algorytmicznie złożone (metody śledzenia, wykonywanie obliczeń Konstruktory (metody tworzące nowe obiekty danej klasy) Destruktory (metody usuwające obiekty danej klasy) Metody pobierania/ustawiania wartości pól danej klasy ( GetData, SetData, GetField, SetField stanowią bezpośrednie odwołania do pól, czasem z warunkami) Metody służące do ustawiania związków pomiędzy obiektami Metody służące do edycji pól danej klasy
Tworzenie modelu obiektowego (9) Przykład system podatkowy Program ułatwia przygotowanie formularzy zeznań podatkowych (PIT-ów) oraz przechowywanie informacji o źródłach przychodów i ulg. Zeznanie może być tworzone dla pojedynczego podatnika lub małżeństwa. Zeznanie obejmuje informację o rocznych przychodach (w przypadku małżeństwa z podziałem na dochody męża i żony) oraz o ulgach podatkowych. Przychody podzielone są na klasy ze względu na źródło uzyskania, na przykład pozarolnicza działalność gospodarcza, wolny zawód. W ramach danej klasy przychodów podatnik mógł osiągnąć szereg przychodów z różnych źródeł. Wszystkie przychody opisane przez kwotę przychodu, kwotę kosztów, kwotę zapłaconych zaliczek oraz kwotę dochodu. Powyższe informacje pozwalają obliczyć należny podatek oraz kwotę do zapłaty/zwrotu. Zeznanie zawiera także informacje o podatniku(ach) oraz adres Urzędu Skarbowego do którego jest kierowane. System pozwala wydrukować wzorzec zeznania zawierający wszystkie informacje jakie podatnik musi umieścić w formularzu. Zeznanie można zabezpieczyć przed dalszymi zmianami (po złożeniu zeznania w Urzędzie). System pozwala na tworzenie listy podatników oraz Urzędów Skarbowych.
Tworzenie modelu obiektowego (10) Potencjalne klasy Informacja? Program PIT Przychody z danej klasy!! (klasa źródeł) Przychody z konkretnego źródła Roczne przychody Ulgi podatkowe Podatnik Urząd Skarbowy Lista Podatników Lista Urzędów skarbowych
Pola klas Tworzenie modelu obiektowego (11) Kwota przychodu kwota kosztów kwota zapłaconych zaliczek kwota dochodu należny podatek kwota do zapłaty adres urzędu adres podatnika Specjalizacje klas pozarolnicza działalność gospodarcza wolny zawód renty, emerytury prawa autorskie
Tworzenie modelu obiektowego (12) Powiązanie obiektów klas PIT i podatnik Jan Kowalski PIT1994/001 U.S. W_Górce Janina Kowalska PIT1995/011 U.S. W_Dole Kamil Lewocza PIT1995/012 U.S. W_Dolinie Obligatoryjność związków obiektów klasy PIT z obiektami klasy Podatnik Podatnik 1-2 PIT Urząd Skarbowy Kwalifikowany związek klas Podatnik ROK 1-2 PIT
Tworzenie modelu obiektowego (13) Związki agregacji w systemie podatkowym Pit 1-2 Roczne przychody Symbol wskazujący całość Ulgi podatkowe 1+ Przychody z danej klasy Lista podatników Lista PITów Lista urzędów skarbowych Przychody z konkretnego źródła Podatnik PIT Urząd skarbowy
Tworzenie modelu obiektowego (14) Związki G-S G S w systemie podatkowym Pit PIT pojedynczego podatnika PIT małżeństwa ROK Podatnik ROK 2 Roczne przychody 2
Tworzenie modelu obiektowego (15) Identyfikowanie pól Urząd skarbowy Nazwa ciąg znaków Adres dana złożona Podatnik Imię ciąg znaków Nazwisko ciąg znaków Imię ojca ciąg znaków Imię matki ciąg znaków Adres dana złożona Data urodzenia data Miejsce urodzenia ciąg znaków PESEL 11 cyfr PIT Rok liczba całkowita Podstawa opodatkowania kwota zł Należny podatek kwota zł Kwota do zwrotu Kwota zł PIT pojedynczego podatnika Adres dana złożona PIT małżeństwa Adres męża dana złożona Adres żony dana złożona Przychody Kwota przychodu kwota zł Kwota kosztów kwota zł Kwota zaliczek kwota zł Kwota dochodu kwota zł Przychody z danej klasy Nazwa źródła ciąg znaków Przychody z konkretnego źródła Opis ciąg znaków Dokument dana złożona Ulgi podatkowe Kwota ulg Kwota zł Ograniczenia pól Kwota przychodu > Kwota zaliczek Kwota dochodu = Kwota przychodu koszty itd.
Tworzenie modelu obiektowego (16) Scenariusz przepływu komunikatów Polecenie edycji rocznych przychodów Wyświetlana jest list przychodów z poszczególnych klas Polecenie edycji przychodów z danej klasy Zapamiętywane są dane kwoty z wybranej klasy Wyświetlana jest lista przychodów z konkretnych źródeł Dodanie nowego przychodu z konkretnego źródła - polecenie Tworzony i edytowany jest opis nowego przychodu z konkretnego źródła Uaktualniana jest lista przychodów z konkretnych źródeł Użytkownik wydaje polecenie edycji przychodu z konkretnego źródła Zapamiętywane są aktualne kwoty opisujące przychody z określonego źródła Edytowany jest opis przychodów z określonego źródła Na podstawie aktualnych kwot modyfikowane są przychody z danej klasy Uaktualniana jest lista przychodów z konkretnych źródeł Użytkownik wydaje polecenie usunięcia przychodu z konkretnego źródła... Po zakończeniu edycji przychodów z danej klasy modyfikowane są roczne przychody... Uaktualniana jest lista przychodów z poszczególnych klas
Porównanie baz danych Cechy podstawowe Zalety Relacyjne -dane zawarte w tabelach -tabele składają się z kolumn -typy predefiniowane -zmienna liczba wierszy -klucze zewnętrzne zamiast wskaźników -niezależność od języka programowania - dobrze zdefiniowana teoria -zarządzanie nawet wielką ilością danych -obiekt świata rzeczywistego jest odzwierciedlany przez obiekt bazy -typ obiektowy -złożone typy danych -enkapsulacja -dziedziczenie: Obiektowe strukturalne potomek dziedziczy strukturę danych behavioralne potomek dziedziczy metody i operatory - łatwa reprezentacja świata - dokładnie reprezentuje zależności pomiędzy obiektami - łatwość działania na złożonych obiektach -duża podatność na zmiany
Zalety Porównanie baz danych (2) Relacyjne - stosowanie złożonych kryteriów wyszukiwawczych -możliwość dostępu do danych fizycznych - kontrola dostępu do danych Obiektowe -możliwość definiowania własnych typów, metod - dobra integracja z językami programowania ogólnego przeznaczenia - ujednolicony model pojęciowy Wady - dla trudniejszych problemów dużo tabel - ograniczona podatność na zmiany - brak złożonych typów danych - trudne operowanie na danych złożonych - trudne rozproszenie w sieciach heterogenicznych - niezgodność z modelem używanym przez języki ogólnego przeznaczenia -powiązanie z jednym językiem -słaba obsługa przeszukiwania danych - brak powszechnie zaakceptowanego języka zapytań - brak możliwości optymalizacji zapytań - trudny lub nawet niemożliwy dostęp do danych -słaba kontrola dostępu -małe możliwości optymalizacji serwera
Najlepsze efekty Porównanie baz danych (3) Relacyjne - dane są proste niezagnieżdżone, łatwe do umieszczenia w tablicy - dane mają postać bierną a procesy korzystające z danych stale się zmieniają -często trzeba wyszukiwać dane spełniające różnorodne warunki Obiektowe - dane złożone, zagnieżdzona struktura - dane tworzą hierarchię - dane są rozproszone w sieci heterogenicznej - dane dynamicznie zmieniają rozmiar