Zarządzanie danymi informacyjnymi, bazy danych, systemy informatyczne i zarządzanie projektami
Metody organizacji dokumentów tekstowych.
Metody wyszukiwania dokumentów tekstowych.
Systemy zarządzania bazami danych (SZBD): Pojęcie, architektura, przykłady.
System zarządzania bazą danych (SZBD) jest to zestaw programów umożliwiających tworzenie i eksploatację bazy danych. System zarządzania bazą danych jest oprogramowaniem ogólnego przeznaczenia. System bazy danych składa się z bazy danych, systemu zarządzania bazą danych i ewentualnie z zestawu aplikacji wspomagających pracę poszczególnych grup użytkowników.
Współczesne SZBD składają się z 3 części:
jądra,
interfejsu
zestawu narzędzi
Funkcje jądra określają kategorie działań:
organizacja plików
mechanizmy dostępu
zarządzanie transakcjami
zarządzanie słownikami
zarządzanie zapytaniami
sporządzanie kopii zapasowych
Zadania realizowane przez jądro SZBD można sklasyfikować w sposób następujący:
Zarządzanie zbiorami danych
tworzenie nowych zbiorów (jednostek logicznej struktury DBMS, tj. baz danych, tabel, ...)
usuwanie zbiorów
modyfikowanie struktury zbiorów
wstawianie, aktualizowanie i usuwanie danych
Wyszukiwanie informacji
W odpowiedzi na zapytania otrzymane od programów klienckich, jądro bazy danych zwraca dane będące wynikiem odpowiedniego przeszukania bazy danych, a programy klienckie zajmują się ich prezentacją użytkownikowi po ewentualnej dalszej obróbce;
Zarządzanie bazą danych jako całością
tworzenie kont użytkowników
definiowanie uprawnień dostępu
monitorowanie działania bazy danych
Przykłady
Ważniejsze systemy zarządzania bazą danych
Systemy profesjonalne (stosowane przez agendy rządowe, banki, biblioteki i duże firmy)
Oracle
Podstawowe modele danych. Encje i powiązania między encjami; diagramy ERD.
Podstawowe modele danych
Model danych (a w odniesieniu do konkretnej realizacji mówi się często o architekturze systemu baz danych) można rozumieć jako zbiór ogólnych zasad posługiwania się danymi.
Zbiór ten obejmuje trzy główne części:
Definicja danych: zbiór reguł określających strukturę danych, tj. to co wcześniej określałem jako logiczną strukturę bazy danych (w odróżnieniu od niższego poziomu organizacji zapisu stosowanego wewnętrznie przez jądro bazy danych);
Operowanie danymi: zbiór reguł dotyczących procesu dostępu do danych i ich modyfikacji;
Integralność danych: zbiór reguł określających, które stany bazy danych są poprawne (a więc zarazem jakie operacje prowadzące do modyfikacji danych są dozwolone).
Rozróżnia się trzy główne typy (lub generacje) modeli danych:
Proste modele danych. Dane zorganizowane są w strukturę rekordów zgrupowanych w plikach. Głównymi dostępnymi operacjami są operacje na rekordach (ewentualnie na ich poszczególnych polach). Z tego rodzaju modelem danych mieliśmy do czynienia dotąd na ćwiczeniach.
Klasyczne modele danych. Należą do nich modele hierarchiczne, sieciowe i relacyjne. Modele relacyjne stanowią najbardziej popularną obecnie podstawę architektur systemów baz danych.
Semantyczne modele danych. Semantyka to inaczej znaczenie. Klasyczne modele danych nie dostarczają łatwego sposobu odczytania informacji o semantyce danych, stąd podejmuje się próby stworzenia innych modeli, uzupełniających ten brak. Przykładem częściowej realizacji tego programu są obiektowe modele danych.
Encja - oznacza interesując nas obiekt, coś co istnieje i jest rozróżnialne od innych obiektów tego samego typu (np.: samochód). Przyjmuje się, że encja jest dalej nierozbieralna.
Przykłady zbiorów encji:
osoby,
samochody,
części zamienne,
Obiekt w zależności od poziomu abstrakcji traktujemy jako encję lub zbiór encji. Encje mogą istnieć rzeczywiście, bądź są wprowadzane jako obiekty abstrakcyjne.
ERD zajmuje się modelowaniem związków pomiędzy zbiorami encji.
Dany zbiór atrybutów może być traktowany jako typ encji. Zwykle w tabelach umieszcza się zbiory encji tego samego typu.
Diagramy ERD
ERD (ang. Entity Relationship Diagrams) - Diagramy związków Encji.
Diagramy związków encji przekształcają rzeczywisty świat na zbiory entek oraz relacji zachodzących między nimi. Znajdują one szerokie zastosowanie w projektowaniu baz danych, zwłaszcza przy analizie zależności funkcyjnych, usuwaniu problemów związanych z redundancją danych oraz przy organizacji struktury bazy.
Technikę tą wykorzystuje się również przy projektowaniu i specyfikacji oprogramowania nie tylko na etapie dotyczącym projektu baz danych, ale i przy projekcie i analizie poszczególnych modułów oprogramowania.
Celem tego opracowania jest pokazanie do czego i w jaki sposób wykorzystywane są diagramy związków encji oraz zapoznanie projektanta z technikami i notacjami ERD, oraz schematami postępowania przy usuwaniu typowych problemów mających miejsce przy projektowaniu baz danych.
Relacyjny model danych. Języki zapytań relacyjnych. Podstawowe instrukcje języka SQL w zakresie manipulowania danymi (nazwa, przeznaczenie).
Relacyjny model danych
Definicja danych
Model relacyjny oparty jest na tylko jednej podstawowej strukturze danych - relacji. Pojęcie relacji można uważać za pewną abstrakcję intuicyjnego pojęcia tabeli, zbudowanej z wierszy i kolumn, w której na przecięciu każdej kolumny z każdym wierszem występuje określona wartość.
Baza danych jest zbiorem relacji, o następujących własnościach:
Każda relacja w bazie danych jest jednoznacznie określona przez swoją nazwę.
Każda kolumna w relacji ma jednoznaczną nazwę (w ramach tej relacji).
Kolumny relacji tworzą zbiór nieuporządkowany. Kolumny nazywane bywają również atrybutami.
Wszystkie wartości w danej kolumnie muszą być tego samego typu. Zbiór możliwych wartości elementów danej kolumny nazywany bywa też jej dziedziną.
Również wiersze relacji tworzą nieuporządkowany zbiór; w szczególności, nie ma powtarzających się wierszy. Wiersze relacji nazywa się też encjami.
Każde pole (przecięcie wiersza z kolumną) zawiera wartość atomową z dziedziny określonej przez kolumnę. Brakowi wartosci odpowiada wartość specjalna NULL, zgodna z każdym typem kolumny (chyba, że została jawnie wykluczona przez definicję typu kolumny).
Każda relacja zawiera klucz główny -- kolumnę (lub kolumny), której wartości jednoznacznie identyfikują wiersz (a więc w szczególności nie powtarzają się). Wartością klucza głównego nie może być NULL.
Do wiązania ze sobą danych przechowywanych w różnych tabelach używa się kluczy obcych. Klucz obcy to kolumna lub grupa kolumn tabeli, o wartościach z tej samej dziedziny, co klucz główny tabeli z nią powiązanej.
Selekcja.
Iloczyn kartezjański.
Złączenie naturalne.
Złączenia zewnętrzne.
Suma.
Przecięcie.
Integralność danych
Model relacyjny dostarcza dodatkowych, specyficznych dla siebie postaci reguł integralności:
Integralność encji: każda tabela musi posiadać klucz główny, a wartości klucza głównego muszą być w ramach tabeli unikalne i nie równe NULL. W szczególności, zapobiega to wystąpieniu w tabeli powtórzeń wierszy.
Dane w relacyjnych bazach danych grupowane są w tablicach. Każda tablica składa się z wierszy i kolumn. Wiersze danej tablicy reprezentują konkretne wystąpienie rekordu, natomiast jej kolumny to pola tych rekordów. Terminologia stosowana w teorii baz danych jest następująca:
tablice to relacje
wiersze relacji to krotki
kolumny relacji nazywane są atrybutami
Normalizacja
Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek:
Każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną).
Chodzi o to, aby każdemu elementowi tablicy znajdującemu się na przecięciu dowolnego wiersza i dowolnej kolumny odpowiadała pojedyncza wartość, a nie zbiór wartości. Relacja, która spełnia ten warunek nazywana jest relacją znormalizowaną.
System informacyjny: System informatyczny (SI) a system informacyjny. Geneza i zależność pomiędzy nieformalnym, formalnym i technicznym systemem informacyjnym.
SYSTEM INFORMACYJNY - Układ odpowiednich elementów, którego zadaniem jest przetwarzanie danych.
SYSTEM INFORMATYCZNY - Wyodrębniona część systemu informacyjnego, w którym do przetwarzania danych zastosowano środki i metody informatyczne, a zwłaszcza sprzęt i oprogramowanie komputerów.
SYSTEM INFORMACYJNY NIEFORMALNY: Postać przekazywanej informacji oraz sposób jej przechowywania i pozyskiwania nie jest uregulowany ani udokumentowany
SYSTEM INFORMACYJNY FORMALNY: Postać przekazywanej informacji oraz sposób jej przechowywania i pozyskiwania jest ściśle uregulowany wewnętrznymi przepisami danej organizacji
TECHNICZBY SYSTEM INFORMACYJNY: część formalnego systemu informacyjnego wspomagana za pomocą środków informatyki.
Cykl życia systemu informatycznego: Modele cyklu życia systemu informatycznego i ich cechy wspólne.
Cykl życia SI (Software Life Cycle) - proces złożony z ciągu wzajemnie spójnych etapów pozwalający na pełne i skuteczne stworzenie, a następnie użytkowanie SI, obejmuje okres od momentu uświadomienia potrzeby istnienia systemu do momentu jego wycofania z eksploatacji.
Model liniowy
- poszczególne fazy występują jedna po drugiej
- rozpoznane są wszystkie potrzeby - tworzenie, a potrzeby się zmieniają
- interpretacja ścisła - traktuje wszystkie fazy jako okresy, które nie nakładają się na siebie i są wykonywane w ściśle sekwencyjnym porządku
- interpretacja ogólna - poszczególne fazy maja raczej charakter koncepcyjny i mogą występować w tym samym czasie
Założenia
Na początku każdego projektu istnieje stabilny zestaw potrzeb.
Potrzeby nie zmieniają się w trakcie życia systemu.
Proces budowy systemu odbywa się stopniowo.
Każdy kolejny etap oznacza uszczegółowienie i przybliżenie do rzeczywistości.
Powoduje to powrót do poprzednich etapów w momencie, gdy nie mamy wszystkich elementów procesu projektowego.
Model ewolucyjny
1. Cały system podzielony jest na moduły.
Każdy z nich odbywa przejście przez kolejne fazy cyklu budowy systemu.
Na końcu działań projektowych przystępuje się do specjalnego etapu polegającego na integracji całego systemu i przeprowadzeniu testów.
W systemie podzielonym na części, których realizacja przesunięta jest w czasie, łatwiej nadążyć ze zmieniającym się celem działania.
Ponieważ każdy moduł stanowi początkowo organicznie odrębną część, należy zwrócić uwagę na niebezpieczeństwo związane z koniecznością integracji modułów w całość.
Model przyrostowy
Analiza dla całości systemu, powstaje koncepcja wstępna systemu.
System dzielony na moduły, a następnie projektowany, programowany i testowany dla każdego z nich osobno.
Spójność zapewniają - wspólne końcowe etapy - integracja systemu.
Model Fry'ego (model systemów baz danych)
Etapy
Sformułowanie zagadnienia i Analiza potrzeb - zabranie potrzeb informacyjnych użytkowników.
Modelowanie logiczne (konceptualne) - opis modelu danych i przyszłych procesów w systemie.
Projektowanie fizyczne - projekt struktury zbiorów, wzorców dokumentów, technologii przetwarzania, specyfikacji wewn.
Programowanie i Wdrożenie - stworzenie bazy danych i oprogramowanie zastosowań.
Eksploatacja i kontrola.
Modyfikacja i adaptacja - udoskonalenie funkcjonowania w wyniku pojawiających się nowych potrzeb.
Model z prototypem
Ogólne określenie wymagań.
Budowa prototypu.
Weryfikacja prototypu przez użytkownika.
Modyfikacja prototypu.
Realizacja zgodnie z modelem kaskadowym.
Eksploatacja i modyfikacja systemu.
Metody wykorzystywane do tworzenia prototypów
Niepełna realizacja - ?.
Języki wysokiego poziomu.
Wykorzystywanie gotowych procedur i bibliotek.
Generatory interfejsu użytkownika.
Szybkie programowanie (quick and dirty ?).
Paper ? - rozrysowanie interfejsu systemu.
Wady
wysoki koszt tworzenia systemu
wymaganie posiadanie odpowiednich narzędzi
użytkownik dość długo oczekuje na gotowy system (a prototyp jest szybko)
Zalety
wszystkie nieporozumienia są szybko wykrywane (użytkownik a projektant)
szybkie wykrycie błędów i braków
zaangażowanie użytkownika
szybkie wykonanie prototypu
...
Model spiralny
Fazy
Rozpoczyna się ustalenia wstępnych wymagań i analizy ryzyka ich realizacji.
Na tej podstawie buduje się pierwszy prototyp i tworzy konceptualny plan całości.
Po kolejnej analizie ryzyka buduje się następny prototyp i tworzy się wymagania dotyczące oprogramowania.
Powstaje plan tworzenia i odbywa się kolejny etap zakończony projektem oprogramowania.
Kolejny obieg przynosi projekt szczegółowy, oprogramowanie, testy i wdrożenie.
Zastosowania SI: Klasyfikacja zastosowań systemów informatycznych. Pojęcie systemów ERP, CRM, HRM, CAD, CAM (objaśnienie skrótów i właściwości klas systemów).
Systemy ERP (Enterprise Resource Planning) (Planowanie Zasobów na potrzeby Przedsięwzięć) wywodzą się historycznie z opracowanego w latach 70. standardu zarządzania gospodarką materiałową MRP (Material Requirements Planning). Kolejna generacja tego standardu - MRP II - została rozbudowana o elementy związane z procesem sprzedaży i wspierające podejmowanie decyzji na szczeblach strategicznego zarządzania produkcją. W modelu MRP II bierze się pod uwagę wszystkie sfery zarządzania przedsiębiorstwem: przygotowanie produkcji, planowanie i kontrolę produkcji oraz sprzedaż i dystrybucję wyprodukowanych dóbr. Nowy model zarządzania - wprowadzany pod nazwą ERP lub MRP III - ma za pomocą bardziej wszechstronnych analiz i integracji informacji umożliwiać szybkie planowanie i korekcję działalności gospodarczej przedsiębiorstw. W Polsce często mamy do czynienia z aplikacjami typu ERP, a nie z wdrożeniem typu ERP. Wśród fachowców nie ma zgody, czy system nieobejmujący sfery produkcji zasługuje na miano ERP.
CRM- Customer Relationship Management (Zarządzanie Relacjami z Klientami) - to kompleksowa strategia biznesowa dotycząca obszarów organizacji, technologii i kapitału ludzkiego, której celem jest podnoszenie wartości firmy poprzez budowanie wartościowych relacji z klientami.
Pozwala na zbieranie i wymianę informacji o klientach, rynkach i produktach oraz na ich wymianę między handlowcami i pracownikami marketingu.
Oprogramowanie tego typu może funkcjonować samodzielnie lub być dołączone do systemu ERP.
RMM to zintegrowany system, który obsługuje marketing, sprzedaż, serwis i wsparcie techniczne. W jednym miejscu, wysiłkiem kilku działów przedsiębiorstwa, są gromadzone dane o kliencie.
HRM- (zarządzanie zasobami ludzkimi)
CAD . Computer Aided Design (komputerowo wspomagane projektowanie)
CAM Computer Aided Manufacturing (komputerowo wspomagane wytwarzanie: planowanie produkcji, projektowanie procesów produkcyjnych, programowanie obrabiarek sterowanych numerycznie i robotów)
Bezpieczeństwo SI: Bezpieczeństwo bierne i czynne systemów informatycznych. Źródła zagrożeń bezpieczeństwa systemów informatycznych; przykłady zagrożeń i sposoby ograniczania ich wpływu. Polityka bezpieczeństwa systemu informatycznego; składowe, podstawy i konstruowanie. Zasady tworzenia haseł i postępowania z hasłami.
Bezpieczeństwo bierne- zagrożenia są skierowane przeciw systemowi komputerowemu. Dla porównania, o bezpieczeństwie czynnym mówimy wtedy, gdy komputer nie zagraża ludziom, mieniu lub środowisku naturalnemu.
Przyczyny ograniczenia/utraty zaufania do SK:
a. Fizykalne
błędne działanie sprzętu wynikające z wad technicznych urządzeń i połączeń między nimi,
niekorzystne warunki pracy urządzeń (zasilanie, lokalizacja, warunki środowiskowe klimatyczne, mechaniczne, promieniowanie EM i inne) ,
niewłaściwe nośniki i materiały eksploatacyjne,
b. Eksploatacyjne
nieprawidłowe posługiwanie się komputerem przez użytkowników właściwych i administratorów,
wady ukryte oprogramowania lub jego niedostosowanie do obowiązującego stanu prawnego,
złośliwe oprogramowanie (np. wirusy, robaki, trojany, itp.),
niepełne lub nieprawdziwe dane wykorzystywane do obliczeń lub parametry sterujące pracą samego komputera i jego oprogramowania,
c. Kryminalne
nieupoważnione (wrogie) działania osób trzecich, np. włamanie, sabotaż, podsłuch (łącza, EM)
d. związane z działaniem tzw. siły wyższej . nagła zmiana klimatu, pożar, powódź, zalanie, katastrofa ekologiczna, rozruchy, działania wojenne, itp.
Polityka bezpieczeństwa - całokształt działań prawnych, organizacyjnych i technicznych ukierunkowanych na zapewnienie wymaganego poziomu zaufania do rezultatów działania systemu komputerowego.
Aspekty polityki bezpieczeństwa:
• Poufność danych,
• Integralność (spójność) danych,
• Dostępność danych i usług związanych z ich przetwarzaniem,
• Poprawność działania.
Polityka bezpieczeństwa = odzwierciedlenie ogólnej strategii działania firmy lub instytucji.
Zarządzenie projektami informatycznymi. Czynniki krytyczne sukcesu. Rola i zadania kierownika projektu. Struktura organizacyjna projektu. Struktura prac w projekcie. Harmonogramowanie. Technika Gantta. Techniki sieciowe. Estymacja parametrów projektu - przykłady technik. Metoda punktów funkcyjnych. Zarządzanie ryzykiem. Zarządzanie projektami z wykorzystaniem wskaźników ekonomicznych. Oprogramowanie wspierające zarządzanie projektami.
Czynniki krytyczne sukcesu:
- Czynnik krytyczny sukcesu to kluczowe obszary projektu, w których wszystkie działania musza być wykonane prawidłowo, aby projekt mógł zakończyć się sukcesem
- Mówimy, że są to uwarunkowania przetwarzające oczekiwania w realistyczna strategię
Kierownik projektu - zadania
- Planowanie, recenzowanie, dostosowanie, poprawianie
- Realizacja: terminów, kosztów, celów
- Spełnienie potrzeb i oczekiwań klientów
- Szkolenie, kierowanie, motywowanie zespołu
- Dokumentowanie
- Kontakty z kierownictwem, klientami, kierownikami etapów (podprojektów), dostawcami
- Projektowanie, rozwój
- Scalanie systemu, testowanie
- Wdrażanie, funkcjonowanie
Estymacja - jest oszacowaniem, oceną ilościową nieznanych wartości projektu.
Estymator - (oszacowanie) jest wielkością probabilistyczną a nie deterministyczną (np. najlepszy przypadek, najgorszy, najbardziej prawdopodobny, średni) o pewnym poziomie zaufania i uzyskaną przy pewnych założeniach (np. czas podróży, dostępność sprzętu).
Metoda punktów funkcjonalnych - atrybut produktywności
Wydzielenie atrybutów produktywności zespołów w projektach informatycznych
Wyznaczenie na podstawie szacowanych wartości atrybutów produktywności ilości punktów funkcyjnych jako miary produktywności zespołu w projekcie
Estymacja zużycia zasobów na realizację projektu
Atrybuty produktywności dla nieistniejących systemów - parametry funkcji użytkownika systemu (elementy przetwarzania informacji w systemie):
- wejście
- wyjście
- zbiory danych wejścia
- zbiory danych wyjścia
- zapytania
Metoda punktów funkcyjnych - cele
- możliwość porównania dwóch systemów pod kątem zużycia zasobów
- pomiar i analiza produktywności różnych zespołów
- szacunek zasobów niezbędnych do realizacji
- uświadomienie użytkownikowi wielkości systemu
Metoda punktów funkcyjnych - czynniki korygujące
- Występowanie urządzeń komunikacyjnych
- Rozproszenie przetwarzania
- Wymagania szybkości działania
- Skomplikowana logika przetwarzań
- Stopień obciążenia (ilość transakcji)
- Wprowadzenie danych w trybie bezpośrednim
- Wydajność użytkownika końcowego
- Rozproszenie terytorialne (użytkownicy z różnych działów)
- Aktualizacja danych w trybie bezpośrednim
- Złożoność przetwarzania danych
- Przenośność
- Łatwość instalacji
- Łatwość obsługi
- Łatwość wprowadzenia zmian - pielęgnowanie systemu
Harmonogram - podział pracy w czasie
Sieć (logiczna) - wyrażająca następstwo, tj. kolejność wykonywania (reprezentacja zadań do wykonania)
METODA GANTTA - Harmonogram realizacji zadań
- Harmonogram szczególnych zdarzeń
- Określenie terminów rozpoczęcia i zakończenia zadań
Zarządzanie danymi informacyjnymi, bazy danych, systemy informatyczne i zarządzanie projektami
8