Przychody z danej klasy
Transkrypt
Przychody z danej klasy
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>> <<subsystem>> Przyjmowania Przesyłek 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 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) itd. 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 Model 1 Procedura 1 Program użytkowy 2 Model 2 Procedura 2 Program użytkowy N Model N Procedura N System Zarządzania Danymi Dane 1 Dane 2 itd. 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 Model 1 Procedura 1 Program użytkowy 2 Model 2 Procedura 2 Program użytkowy N Model N Procedura N System Zarządzania Danymi Dane 1 Dane 2 itd. 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 Model 1 Procedura 1 Program użytkowy 2 Model 2 Procedura 2 Program użytkowy N Model N Procedura N System Zarządzania Bazami Danych Baza danych Zestaw baz danych – system baz danych obsługiwanych przez System Zarządzania Bazami Danych itd. 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 Składowa dziedziny problemu posiadająca tożsamość, stan i zachowanie Obiekt (ang. Object) projektowanie i implementacji analiza Konstrukcja języka programowania łącząca dane i metody (procedury i funkcje Wzorzec grupy obiektów Klasa (ang. Class) projektowanie i implementacji 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) Nazwa klasy Stan klasy: wysokość, grubość, jest nośna itp Atrybuty klasy Pomaluj Zbuduj Metody klasy Nazwa obiektu : nazwa klasy (np. Jan Kowalski : Osoba) :Osoba Jan Kowalski: Notacja obiektowa (4) Związek klas (definiowany poprzez) nazwa związku Zatrudnia Uczelnia Pracodawca Pracownik Instytut role Zatrudnia Uczelnia Zatrudnia Pracuje Czynności realizowane w związku Bank Bank Karta kredytowa PIN Karta kredytowa Związek kwalifikowany Kwalifikator związku PIN Instytut 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 generalizacja pracownik pracownik nauczyciel nauczyciel Związek klas specjalizacja dziekan zero lub wiele zero lub jeden Pracownik naukowy Instytut Kierowca Prawo jazdy Student 8-12 Grupa laboratoryjna 1+ Dziekan 1+ Wykład Kierownik projektu 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 STAN 1 opis stanu Do: operacja ........... Entry: akcja 1 ........... ........... Exit: akcja n → przejście do STANU 2 ........... zdarzenie (parametry) [warunek]/akcja 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 Nazwa stanu 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) 1+ wydział Uczelnia Symbol wskazujący całość 2+ zakłady 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 naukowy Pracownik Adres Imię Nazwisko Edytuj dane Pracownik Adres Imię Nazwisko Edytuj dane Pracownik naukowy Stopień naukowy Podaj listę publikacji Adres Imię Nazwisko Stopień naukowy Edytuj dane 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 Błędy w umieszczaniu Pól w związku G-S Edytuj dane Student dzienny Student zaoczny Nazwisko 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 Tworzenie modelu obiektowego (11) Pola klas 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 1-2 Pit Roczne przychody Symbol wskazujący całość 1+ Ulgi podatkowe Przychody z danej klasy Lista podatników Podatnik Lista PITów PIT Lista urzędów skarbowych Urząd skarbowy Przychody z konkretnego źródła Tworzenie modelu obiektowego (14) Związki G-S w systemie podatkowym Pit PIT pojedynczego podatnika ROK PIT małżeństwa Podatnik Roczne przychody ROK 2 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 Relacyjne Cechy -dane zawarte w tabelach podstawowe -tabele składają się z kolumn -typy predefiniowane -zmienna liczba wierszy -klucze zewnętrzne zamiast wskaźników Zalety Obiektowe -obiekt świata rzeczywistego jest odzwierciedlany przez obiekt bazy -typ obiektowy -złożone typy danych -enkapsulacja -dziedziczenie: strukturalne – potomek dziedziczy strukturę danych behavioralne – potomek dziedziczy metody i operatory -niezależność od języka - łatwa reprezentacja świata programowania - dokładnie reprezentuje zależności - dobrze zdefiniowana teoria pomiędzy obiektami -zarządzanie nawet wielką - łatwość działania na złożonych ilością danych obiektach - duża podatność na zmiany Porównanie baz danych (2) Relacyjne Obiektowe Zalety - stosowanie złożonych kryteriów wyszukiwawczych - możliwość dostępu do danych fizycznych - kontrola dostępu do danych - 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 Porównanie baz danych (3) Relacyjne Najlepsze - dane są proste efekty 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