Planowanie i projektowanie bazy danych : System informacyjny – to zestaw środków i zasobów, które pozwalają na gromadzenie informacji, zarządzanie i sterowanie nimi oraz ich rozpowszechnianie w obrębie instytucji. Baza danych jest podstawowym składnikiem systemu informacyjnego, dlatego jej powstawanie i późniejsze wykorzystanie powinny być widziane z perspektywy potrzeb danej instytucji. Fazy cyklu życia (cyklu produkcyjnego) aplikacji baz danych wynikają z faz cyklu życia systemu informacyjnego. 1 Planowanie bazy danych Definicja systemu Fazy cyklu życia aplikacji baz danych: Gromadzenie i analiza wymagań Projektowanie bazy danych Konceptualne projektowanie bazy danych Selekcja SZBD Logiczne projektowanie bazy danych Projektowanie aplikacji Fizyczne projektowanie bazy danych Tworzenie prototypów Implementacja Konwersja i przenoszenie danych Testowanie Bieżąca konserwacja 2 Główne czynności związane z każdą fazą: Planowanie bazy danych – Planowanie najbardziej skutecznych i wydajnych metod realizacji faz cyklu życia; Definicja systemu – Określenie zakresu i granic stosowania danej aplikacji bazy danych, wskazanie jej użytkowników oraz obszarów zastosowań; Gromadzenie i analiza wymagań – Zbieranie i analiza wymagań pochodzących od użytkowników i wynikających z obszarów zastosowań; Projektowanie bazy danych – Projektowanie konceptualne, logiczne i fizyczne bazy danych; 3 Selekcja SZBD (opcjonalnie) – Wybór SZBD odpowiedniego dla aplikacji bazy danych; Projektowanie aplikacji – Projektowanie interfejsów użytkowników i programów użytkowych, które będą przetwarzać bazę danych; Tworzenie prototypów (opcjonalnie) – Budowanie działającego modelu aplikacji bazy danych, który pozwala projektantom i użytkownikom zobrazować i ocenić sposób działania i wygląd końcowego systemu; Implementacja – Tworzenie zewnętrznych, konceptualnych i wewnętrznych definicji bazy danych i programów użytkowych; 4 Konwersja i przenoszenie danych – Przenoszenie danych ze starego systemu do nowego; Testowanie – Testowanie i usuwanie błędów z aplikacji bazy danych oraz sprawdzenie zgodności z wymaganiami użytkowników; Bieżąca konserwacja – Aplikacja bazy danych jest w pełni zaimplementowana; System jest na bieżąco monitorowany i konserwowany; W razie potrzeby do aplikacji bazy danych są wprowadzane nowe wymagania poprzez ponowne przejście przez powyższe fazy. 5 Planowanie bazy danych: Powinno być zintegrowane z ogólną strategią instytucji dotyczącą systemów informacyjnych, poprzez zagadnienia: • identyfikacja celów i planów przedsiębiorstwa – określenie wymagań wobec systemu informacyjnego; • ocena aktualnie używanego systemy informacyjnego – określenie jego mocnych i słabych stron; • oszacowanie możliwości technologii informacyjnych, które pomogą uzyskać przewagę nad konkurencją. 6 Planowanie bazy danych powinno także obejmować opracowanie standardów, które będą regulować: • w jaki sposób będą zbierane dane; • jak będzie określany ich format; • jaka dokumentacja będzie wymagana oraz • w jaki sposób powinny przebiegać projektowanie i implementacja. 7 Definicja systemu: Definicja systemu – określa zakres i granice stosowania danej aplikacji bazy danych oraz głównych perspektyw użytkowników. Perspektywa użytkownika – definiuje, jakie są oczekiwania wobec aplikacji z punktu widzenia konkretnego stanowiska pracy lub pewnego obszaru zastosowań w przedsiębiorstwie. 8 Identyfikacja perspektyw zapewnia, że żaden użytkownik bazy danych nie zostanie pominięty w czasie opracowywania nowej aplikacji, pozwala na dzielenie pracy na mniejsze części, którymi można łatwiej zarządzać. Perspektywa użytkownika 1 Perspektywa użytkownika 6 Perspektywa użytkownika 2 Perspektywa użytkownika 5 Perspektywa użytkownika 3 Perspektywa użytkownika 4 Baza danych 9 Aplikacja bazy danych Gromadzenie i analiza wymagań: Proces zbierania i analizy informacji o tej części instytucji, która będzie obsługiwana przez nową bazę danych oraz wykorzystania ich do zidentyfikowania wymagań użytkowników wobec tworzonego systemu. Gromadzonymi informacjami mogą być: • • • opisy wykorzystywanych lub tworzonych danych; szczegóły sposobów wykorzystania lub tworzenia danych; inne dodatkowe wymagania wobec nowej bazy danych. 10 Gromadzenie i analiza wymagań: Zgromadzone informacje – opisywane są w dokumentach specyfikacji wymagań. Ilość zgromadzonych informacji czy zestaw funkcji realizowanych przez projektowaną bazę danych nie powinna być niepełna jak i nadmiarowa Prowadzić to może do zbyt pobieżnie sformułowanego problemu (słabego wykorzystania systemu) lub do paraliżu analitycznego (trudności w implementacji i eksploatacji systemu). 11 Zarządzanie perspektywami: Scentralizowane - jeden zbiór wymagań obejmuje poszczególne perspektywy użytkowników tworzonej bazy danych. Podejście to stosowane gdy wymagania poszczególnych perspektyw użytkowników pokrywają się w znacznym stopniu, a aplikacja bazy danych nie jest skomplikowana. 12 Perspektywa użytkownika 1 Wymagania w 1 perspektywie użytkownika Model związków encji Perspektywa użytkownika 2 + Wymagania w 2 perspektywie użytkownika Wymagania we wszystkich perspektywach użytkowników Zależności, słownik danych oraz inne wspomagające dokumentacje Perspektywa użytkownika 3 Wymagania w 3 perspektywie użytkownika Ogólny model danych 13 Integrujące zarządzanie perspektywami: W podejściu tym każdej perspektywie użytkownika przyporządkowuje się niezależny model danych. Utworzone modele łączy się ze sobą w końcowej fazie projektowania bazy danych. 14 + Perspektywa użytkownika 1 Wymagania w 1 perspektywie użytkownika Perspektywa użytkownika 3 Model związków encji + Perspektywa użytkownika 2 Wymagania w 2 perspektywie użytkownika Perspektywa użytkownika 3 Perspektywa użytkownika 3 + Wymagania w 3 perspektywie użytkownika + Zależności, słownik danych oraz inne wspomagające dokumentacje Ogólny model danych Perspektywa użytkownika 3 Lokalne modele danych 15 Projektowanie bazy danych: Metody projektowania bazy danych: wstępująca – rozpoczyna się od podstawowego poziomu zawierającego atrybuty, a następnie poprzez analizę powiązań łączy się je w encje i związki między nimi stosuje się do projektowania prostych baz danych zawierających małą liczbę atrybutów; zstępująca – rozpoczyna się od stworzenia modeli danych zawierających niewielką liczbę ogólnych encji, atrybutów i związków między nimi, stosując metodę kolejnych uściśleń wprowadza się encje, związki i atrybuty niższych poziomów - stosuje się do projektowania złożonych baz danych; strategii mieszanej – łączy w sobie powyższe dwie metody. 16 Modelowanie danych: Celem tego etapu jest ułatwienie zrozumienia znaczenia danych i pomoc w porozumiewaniu się co do wymagań informacyjnych. Poprawnie opracowany model danych umożliwia zrozumienie: • sposobu widzenia (perspektywy) danych każdego użytkownika; • natury samych danych, niezależnie od ich fizycznej reprezentacji; • zastosowania danych w różnych perspektywach. 17 Przykładowy diagram związków encji: Biuro BiuroNr Ma Personel PersonelNr Nadzoruje Oferuje Nieruchomość Ogląda NieruchomośćNr Posiada Właściciel prywatny WłaścicielNr Klient KlientNr Wynajmuje Wynajęty Przez Wynajęcie WynajęcieNr 18 Kryteria optymalności modelu: poprawność – zgodność ze sposobem definiowania i organizacji danych w przedsiębiorstwie; prostota – zrozumiałość zarówno dla informatyków, jak i nieprofesjonalnych użytkowników; wyrażalność – zdolność odróżniania różnych typów danych, związków pomiędzy danymi oraz więzów; brak redundancji – eliminacja niepotrzebnych informacji w szczególności dbałość o reprezentowanie każdej informacji tylko raz; 19 uniwersalność – brak powiązań modelu z jakąś konkretną aplikacją czy technologią, a zatem dostępność dla wielu różnych; rozszerzalność – zdolność do rozbudowy o elementy realizujące nowe wymagania przy minimalnych skutkach dla istniejących użytkowników; integralność – zgodność ze sposobami wykorzystywania informacji i zarządzania nią w przedsiębiorstwie; łatwość graficznej prezentacji – zdolność reprezentacji modelu za pomocą prostych i zrozumiałych schematów. 20 Etapy projektowania bazy danych: • • • konceptualne projektowanie bazy danych - proces konstrukcji modelu dla informacji używanej w przedsiębiorstwie, który jest niezależny od oprogramowania docelowego, programów użytkowych, języków programowania czy platformy sprzętowej; logiczne projektowanie bazy danych - doprecyzowanie i przekształcenie modelu konceptualnego w logiczny model danych oparty na docelowym (np. relacyjnym, sieciowym lub obiektowym) modelu danych projektowanej bazy; fizyczne projektowanie bazy danych - proces opisu implementacji bazy danych w pamięci zewnętrznej, który zawiera bazowe relacje oraz organizacje plików i indeksów zapewniający efektywny dostęp do danych, realizację więzów integralności i środków bezpieczeństwa danych. 21 Projektowanie aplikacji: Faza projektowania interfejsu użytkownika oraz modułów stosujących i przetwarzających bazę danych. Projektowanie transakcji Transakcje – to jedna lub kilka spójnych operacji odwołujących się do zawartości bazy danych lub ją modyfikujących przeprowadzane przez pojedynczego użytkownika lub aplikacje. Projekt transakcji powinien zawierać: • dane które są używane w transakcji; • opis czynności realizowanych przez transakcje; • wyniki transakcji; • znaczenie transakcji dla użytkowników; • oczekiwana częstość wykonywania transakcji. Wyróżnia się transakcje wyszukujące, aktualizujące i mieszane.22 Zasady projektowania interfejsu użytkownika: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. znaczący nagłówek; zrozumiałe instrukcje; logiczne grupowanie i ustawianie kolejności pól; atrakcyjny wizualnie formularz; znane użytkownikom opisy pól; spójna terminologia i skróty; spójne używanie kolorów; widoczne przestrzeń i granice pól służących do wprowadzania danych; wygodna obsługa ruchów kursora; korekcja błędnie wprowadzanych znaków i pól; wyraźne oznaczenia pół opcjonalnych; komunikaty objaśniające pola; komunikaty błędów informujące o nieakceptowanych polach, ... 23 Implementacja: Fizyczna realizacja projektów bazy danych i aplikacji. Wykonywana za pomocą języka definicji danych wybranego SZBD lub za pomocą graficznego interfejsu użytkownika w celu stworzenia struktury bazy danych i jej pustych plików. Natomiast np. transakcje są realizowane za pomocą języka manipulowania danymi docelowego SZBD. Konwersja i przeniesienie danych : Przenoszenie istniejących danych do nowego systemu i konwersje istniejących aplikacji tak aby współdziałały z nową bazą. Najczęściej SZBD dostarczają narzędzi do przenoszenia danych z istniejących plików do nowej bazy danych. 24 Testowanie Proces uruchamiania aplikacji, którego celem jest wyszukiwanie błędów. Przeprowadzany według zaplanowanej strategii i najlepiej przy użyciu realnych danych. Bieżąca konserwacja Następujący po instalacji proces monitorowania i konserwacji systemu, poprzez wykonywanie: • monitorowania wydajności systemu – gdy spadnie poniżej akceptowanego poziomu, konieczne mogą być operacje reorganizacji bazy danych; • konserwację i aktualizację aplikacji bazy danych (gdy jest to potrzebne) – nowe wymagania są wprowadzane do aplikacji bazy danych poprzez przejście przez wcześniejsze 25 fazy cyklu życia aplikacji. Administracja danymi Zarządzanie zasobami danych, w tym planowanie bazy danych, tworzenie i utrzymywanie standardów, założeń i procedur oraz konceptualne i logiczne projektowanie bazy danych. Administracja bazą danych Zarządzanie fizyczną realizacją aplikacji, w tym fizyczne projektowanie i implementację bazy danych, definiowanie zasad bezpieczeństwa i więzów integralności, monitorowanie wydajności bazy danych przeprowadzanie jej reorganizacji w razie potrzeby. 26 Techniki zbierania informacji: Zbieranie informacji – to formalny proces wykorzystujący takie techniki, jak ankiety i wywiady, do zebrania faktów dotyczących systemów, wymagań i preferencji. Zbieranie informacji jest wyjątkowo ważne we wczesnych fazach cyklu życia aplikacji (planowanie bazy danych; definicja systemu; gromadzenie i analiza wymagań). Wówczas właśnie wykonawca bazy danych poznaje terminologię, problemy, możliwości, więzy, wymagania i priorytety przedsiębiorstwa oraz przyszłych użytkowników systemu. 27 Bardzo ważne jest wstępne oszacowanie, ile czasu i pracy trzeba będzie poświęcić na zbieranie informacji w danym projekcie bazy danych. Zbyt dokładne badania mogą doprowadzić do zbytniego skomplikowania systemu i trudności w jego implementacji, konserwacji i użyciu, zaś zbyt pobieżna analiza grozi niepotrzebnym nakładem czasu i pieniędzy na pracę nad złym rozwiązaniem źle sformułowanego problemu. 28 Najczęściej używane techniki zbierania informacji: • Analiza dokumentacji • Wywiady • Obserwacja działalności przedsiębiorstwa • Prowadzenie badań • Ankietowanie 29 W cyklu życia aplikacji bazy danych wykonawca bazy musi szukać informacji dotyczących bieżącego lub przyszłego systemu. Tak jak fazy cyklu życia aplikacji bazy danych, tak i podczas zbierania informacji i wykonywanej dokumentacji mogą być wymagane pewne liczby powrotów do poprzednich faz. 30 Przykłady zbieranych danych i wykonywanej dokumentacji dla każdej fazy cyklu życia aplikacji bazy danych: Fazy cyklu Przykłady zbieranych Przykłady wykonywanej życia aplikacji informacji dokumentacji bazy danych Planowanie bazy danych Definicja systemu Cele i zadania aplikacji bazy danych Opis głównych perspektyw użytkowników (w tym stanowiska pracy i obszary działalności) Określenie misji i zadań aplikacji bazy danych Definicja zakresu i granic stosowania aplikacji bazy danych; definicja perspektyw użytkowników, które zostaną zrealizowane 31 Fazy cyklu Przykłady zbieranych Przykłady wykonywanej życia aplikacji informacji dokumentacji bazy danych Gromadzenie i analiza wymagań Projektowanie bazy danych Selekcja SZBD (opcjonalnie) Wymagania dotyczące perspektyw użytkowników i systemu Oceny użytkowników na temat logicznego projektu bazy danych Specyfikacja wymagań systemowych i użytkowników Zestaw funkcji dostarczony przez docelowy SZBD Ocena i rekomendacja SZBD Projekt konceptualny i logiczny bazy danych (modele ER, słowniki danych, schemat relacyjny); fizyczny projekt danych 32 Fazy cyklu życia Przykłady zbieranych Przykłady wykonywanej aplikacji bazy informacji dokumentacji danych Projektowanie aplikacji Oceny użytkowników Projekt aplikacji (w tym na temat projektu opis programów i interfejsu użytkownika interfejsu użytkownika) Tworzenie prototypów Oceny użytkowników Zmodyfikowane na temat prototypu wymagania użytkowników i specyfikacja systemu Implementacja Zestaw funkcji dostarczony przez docelowy SZBD 33 Fazy cyklu Przykłady Przykłady wykonywanej życia aplikacji zbieranych dokumentacji bazy danych informacji Konwersja i Formaty aktualnie przenoszenie przechowywanych danych danych; możliwości docelowego SZBD dotyczące importu danych Testowanie Wyniki testowania Używane strategie testowania; analizy wyników testowania Bieżąca Wyniki testowania Podręcznik użytkownika; konserwacja wydajności; nowe i analiza wyników wydajności; zmienione zmodyfikowane wymagania wymagania użytkowników i specyfikacja systemowe i systemu użytkowników 34 Analiza dokumentacji Może być użyteczna do ustalenia skąd wzięła się potrzeba posiadania bazy danych. Może również zawierać informacje o tej części przedsiębiorstwa, której dotyczy analizowany przez nas problem. Przykładowe typy dokumentacji, które powinniśmy poddać analizie: Cel dokumentacji Przykłady użytecznych źródeł Opisanie problemu i Wewnętrzne notatki, listy elektroniczne i potrzeby stworzenia konspekty spotkań; bazy danych Skargi klientów, pracowników i inne dokumenty opisujące problem; Raporty i przeglądy wydajności; 35 Cel dokumentacji Przykłady użytecznych źródeł Opisanie tej części przedsiębiorstwa, której dotyczy badany problem Schematy organizacyjne, określenie misji i plany strategiczne przedsiębiorstwa; Zadania tej części przedsiębiorstwa, którą badamy; Opisy stanowisk pracy i zadań; Przykłady formularzy i raportów wypełnionych ręcznie; Przykłady formularzy i raportów wypełnionych za pomocą komputera Opisanie Różnego typu schematy działań i diagramy; bieżącego systemu Słownik danych; Projekt aplikacji bazy danych; Dokumentacja programów; Podręczniki użytkownika i materiały 36 szkoleniowe. Wywiady: Poprzez wywiad jesteśmy w stanie bezpośrednio uzyskiwać informacje od poszczególnych osób. Główne cele to: zbieranie, sprawdzenie i wyjaśnienie informacji, angażowanie użytkowników, identyfikacja wymagań oraz zbieranie pomysłów i opinii. Zalety i wady korzystania z wywiadów jako techniki zbierania informacji: 37 – – – – – – – – Zalety: Pozwalają osobom ankietowanym odpowiadać otwarcie i swobodnie. Dają osobom ankietowanym poczucie uczestnictwa w projekcie. Pozwalają ankieterom na zdobycie interesujących komentarzy od osób ankietowanych. Pozwalają ankieterom na dopasowanie lub przeformułowanie pytań w trakcie wywiadu. Pozwalają ankieterom na obserwowanie mimiki i zachowania osób ankietowanych. Wady: Wymagają dużo czasu i są kosztowne, dlatego mogą być niepraktyczne. Ich powodzenie zależy od zdolności komunikacyjnych ankieterów. Ich powodzenie zależy od chęci uczestnictwa w wywiadzie osób ankietowanych. 38 Obserwacja działalności przedsiębiorstwa: Obserwacje wykonujemy w celu zrozumienia istniejącego systemu – albo poprzez aktywne uczestnictwo, albo poprzez przyglądanie się osobie wykonującej dane czynności. Jest ona szczególnie użyteczna, gdy chcemy zweryfikować dane zebrane innymi metodami lub gdy pewne zagadnienia są na tyle złożone, że użytkownicy nie potrafią ich w pełni wyjaśnić. 39 – – – – – – – – Zalety: Pozwalają na sprawdzenie faktów i danych. Obserwator widzi dokładnie wykonywane czynności. Obserwator może także otrzymać dane opisujące fizyczne otoczenie wykonywanego zadania. Względnie nieduże koszty. Obserwator może także dokonać pomiarów parametrów wykonywanej pracy. Wady: Ludzie świadomie lub nie mogą zachowywać się odmiennie, gdy są obserwowani. Obserwator może niewłaściwie oceniać zadania o różnym stopniu trudności i wielkości, które normalnie występują w obserwowanym okresie. Niektóre zadania nie zawsze są wykonywane w taki sam sposób, 40 w jaki to zostało zaobserwowane. Prowadzenie badań: Przeprowadzenie badań dotyczących aplikacji lub problemu na podstawie czasopism, podręczników czy Internetu pozwoli zapoznać się z istniejącymi rozwiązaniami podobnych problemów oraz dowiedzieć się czy istnieją pakiety oprogramowania rozwiązujące w pełni lub częściowo nasze zadanie. Wady i zalety prowadzenia badań jako techniki zbierania informacji: 41 Zalety: – Może zaoszczędzić czas, jeśli rozwiązanie już istnieje. – Badacz może zobaczyć, w jaki sposób inni rozwiązywali podobne problemy lub spełniali podobne wymagania. – Pozwala badaczom śledzić aktualny rozwój dziedziny. Wady: – Może pochłaniać wiele czasu na znalezienie podobnego rozwiązania. – Wymaga dostępu do właściwych źródeł informacji. – Może ostatecznie nie pomóc w rozwiązaniu problemu, gdy taki problem nie jest nigdzie opisany. 42 Ankietowanie: Ankiety to specjalne formularze służące do zbierania informacji od dużej grupy ludzi, przy jednoczesnym zachowaniu pewnej kontroli nad udzielanymi odpowiedziami. Wady i zalety ankietowania jako techniki zbierania informacji: 43 – – – – – – – – – Zalety: Ludzie mogą wypełniać i oddawać ankiety w dogodnym dla siebie terminie. Względnie niedrogi sposób uzyskiwania danych od dużej liczby osób. Ludzie dużo chętniej dostarczają prawdziwych informacji, gdy wiedzą, że ankiety są anonimowe. Odpowiedzi mogą zostać szybciej zestawione i przeanalizowane. Wady: Liczba zwróconych ankiet może być niska (często tylko 5% do 10%). Ankiety mogą zostać tylko fragmentarycznie wypełnione. Nie daje możliwości uściślenia lub przeformułowania pytań, które zostały źle zinterpretowane. Nie pozwalają obserwować i analizować zachowania odpowiadającej osoby. Przygotowanie ankiety może wymagać dużo czasu. 44 Analiza przykładu Biura Nieruchomości: • • • • Zamówiono wykonanie aplikacji bazy danych wspierającej działalność firmy, która specjalizuje się w obrocie nieruchomościami poprzez pośredniczenie pomiędzy właścicielami, którzy chcą wynająć swoje umeblowane domy lub mieszkania, a klientami firmy, którzy poszukują tego typu nieruchomości do wynajęcia na określony czas. Firma zatrudnia 2000 pracowników w 100 biurach. W każdym biurze: dyrektor, kierownicy i asystenci. Dyrektor jest odpowiedzialny za bieżące funkcjonowanie biura, a kierownicy nadzorują pracę grup pracowników (asystentów). 45 Wypełniane formularze wykorzystywane są w przypadku: • • przyjęcia nowo zatrudnionego pracownika; • rejestracji klienta zainteresowanego wynajęciem nieruchomości (z określeniem wymagań dotyczących szukanej nieruchomości) • rejestracji nieruchomości do wynajęcia (szczegółowe informacje o nieruchomości z uzgodnionym czynszem); realizacji umowy najmu. 46 Firma realizuje czynności wynikające z pakietu jej usług (przeprowadzanie rozmów z potencjalnymi wynajmującymi, organizacja wizyt w nieruchomościach, zamieszczanie ogłoszeń w gazetach i negocjacja czynszu), aby znaleźć najemcę i aby nieruchomość przynosiła jak największy zysk zarówno właścicielowi jak i oczywiście firmie. Zarejestrowanym klientom dostarcza się raz w tygodniu raport zawierający listę nieruchomości oferowanych do wynajęcia. Klienci mogą chcieć obejrzeć jedną lub więcej nieruchomości z tej listy, następnie informują biuro, czy oferta spełnia ich wymagania. Gdy klient znajdzie odpowiadającą mu nieruchomość, pracownik firmy przygotowuje umowę najmu według określonego formularza. 47 Planowanie bazy danych: Określenie misji – celem aplikacji bazy danych jest: • utrzymanie danych, które są używane i generowane w trakcie działalności firmy; • wspieranie kooperacji i współdziałania danych pomiędzy biurami. 48 Na podstawie wywiadów z odpowiednią liczbą pracowników, używając głównie pytań otwartych, np.: - Jaki jest zakres Pana obowiązków? - Jakie czynności wykonuje Pan standardowo każdego dnia? - Z jakiego rodzaju danymi ma Pan do czynienia? - Z jakiego typu raportów korzysta Pan w swojej pracy? - Za jakie sprawy jest Pan odpowiedzialny? - Jakie usługi oferuje Pana firma? sformułowano cele misji dla aplikacji bazy danych: 49 Utrzymywanie (wprowadzanie, aktualizacja i usuwanie) danych dotyczących: biur, personelu, nieruchomości do wynajęcia, właścicieli nieruchomości, klientów, wizyt w nieruchomościach, wynajęć, ogłoszeń prasowych. 50 Realizacja wyszukiwań dotyczących: biur. personelu. nieruchomości do wynajęcia. właścicieli nieruchomości. dotyczących klientów. wizyt w nieruchomościach. wynajęć. ogłoszeń prasowych. Śledzenie statusu: nieruchomości do wynajęcia. klientów, którzy poszukują lokalu. wynajęć. Tworzenie raportów na temat: biur. personelu. nieruchomości do wynajęcia. właścicieli nieruchomości. klientów. wizyt w nieruchomościach. wynajęć. ogłoszeń prasowych. 51 Definicja systemu: Definiowanie granic stosowania aplikacji bazy danych na podstawie dalszych wywiadów z użytkownikami czy analizy dokumentów używanych w firmie: Sprzedaż nieruchomości Marketing Dział płac Wynajem nieruchomości Personel Dział ogłoszeń nieruchomości Dział obsługi klienta Granice stosowania systemu Dział kadr 52 Gromadzenie i analiza wymagań: Specyfikacja wymagań użytkowników – opisuje szczegółowo dane, które będą przechowywane w bazie danych, i sposób ich wykorzystania. Gromadzenie dodatkowych informacji dotyczących perspektyw użytkowników w aplikacji bazy danych posługując się dalszymi wywiadami i obserwowaniem działalności przedsiębiorstwa, np.: • Jakie informacje musi Pan przechowywać o danych X? (np. o personelu imię nazwisko, stanowisko, płeć, data urodzenia, pensja) • Jakie operacje wykonuje Pan z danymi X? (np. wprowadzanie danych o nowym pracowniku, usuwania odchodzącego, czasem nazwisk i numerów telefonów dyrektorów biur) 53 Przykłady bardziej ogólnych pytań do dyrektora dotyczących wymagań systemowych: • Jakie transakcje są często wykonywane na bazie danych? (Aktualne dane dotyczące nieruchomości i klientów) • Jakie transakcje są krytyczne dla działalności przedsiębiorstwa? (wyszukiwanie konkretnych nieruchomości oraz aktualna lista nieruchomości do wynajęcia) • Kiedy są wykonywane te krytyczne transakcje? (Każdego dnia, z największym obciążeniem w godzinach 16-18) 54 Przykłady bardziej ogólnych pytań do prezesa dotyczących wymagań systemowych: • Jakiego typu zabezpieczeń potrzebuje Pan w stosunku do aplikacji bazy danych? (pracownicy powinni widzieć tylko te dane które są im potrzebne do wykonywania pracy i w formie odpowiedniej do swoich zadań) • Czy istnieją jakieś dane poufne, które powinny być dostępne tylko dla niektórych pracowników? (np. kierownicy powinni mieć dostęp do danych o pracownikach, ale nie powinni widzieć ich pensji) 55 • Jakie dane archiwalne chce Pan przechowywać? (dane o klientach, właścicielach i umowy najmu w celu przesyłania nowych ofert oraz prowadzenia analiz) • Jakie wymagania ma spełniać system baz danych - praca w sieci i współdzielony dostęp? (wszystkie biura połączone z głównym oddziałem, w biurach większość czasu pracownicy będą korzystać wyłącznie z lokalnych danych) • Jakiego typu zabezpieczeń przed awariami systemu i utratą danych oczekuje Pan w aplikacjach bazy danych? (np. kopia zapasowa każdego wieczora po zamknięciu biur) 56 Zarządzanie perspektywami Określenie głównych perspektyw użytkownika dla aplikacji bazy danych na podstawie analizy wszystkich zgromadzonych dotychczas danych: Dane Typ dostępu Wszystkie biura Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Jedno biuro Cały personel Personel biura Prezes Dyrektor Kierownik Asystent X X X X X X X X X X X X X X X X 57 Dane Typ dostępu Wszystkie nieruchomości Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Nieruchomości biura Wszyscy właściciele Właściciele z biura Wszyscy klienci Klienci z biura Prezes X X Dyrektor Kierownik Asystent X X X X X X X X X X X X X X X X X X X X X X X X X X 58 Dane Typ dostępu Wszystkie wizyty Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Utrzymanie danych Zapytanie Raport Wizyty z biura Wszystkie wynajęcia Wynajęcia w biurze Wszystkie gazety Gazety z ogłoszeniami biur Prezes X X X X Dyrektor Kierownik Asystent X X X X X X X X X X X X X X X X X X 59 Zarządzanie perspektywami Prezes Dyrektor biura X X personel X X X nieruchomości do wynajęcia X X X X właściciele X X X X klienci X X X X X X X X wizyty w nieruchomościach wynajęcia X X gazety X X Kierownik Asystent 60 Wybór użycia podejścia scentralizowanego czy integrującego perspektywy na podstawie np. stopnia powiązania pomiędzy perspektywami użytkowników a głównymi rodzajami danych używanych przez aplikację bazy danych: Na poprzednim slajdzie zauważyć, że większe podobieństwa występują pomiędzy danymi używanymi przez prezesa i dyrektora oraz pomiędzy danymi kierownika i asystenta. Możemy zatem użyć np. najpierw podejścia scentralizowanego tworząc perspektywy dyrektorów oraz personelu. Następnie użyjemy podejścia integrującego perspektywy do połączenia tych dwóch modeli. 61 Specyfikacja systemowa opisuje cechy, które powinna posiadać aplikacja bazy danych: • • • • początkowa wielkość bazy danych; • • • • wydajność; szybkość przyrostu danych w bazie; typy i średnie liczby wyszukiwań rekordów; wymagania dotyczące pracy w sieci i współdzielonego dostępu; bezpieczeństwo; kopie zapasowe i odzyskiwanie danych; aspekty prawne. 62 Początkowa wielkość danych 1. Około 2000 osób personelu pracuje w ponad 100 biurach; w każdym biurze pracuje średnio 20, maksymalnie 40 osób; 2. We wszystkich biurach jest około 100 000 nieruchomości; w każdym biurze jest średnio 1000, a maksymalnie 3000 nieruchomości; 3. Jest około 60 000 właścicieli nieruchomości; w każdym biurze jest średnio 600, a maksymalnie 1000 właścicieli; 63 4. We wszystkich biurach jest zarejestrowanych około 100 000 klientów; w każdym biurze jest zarejestrowanych średnio 1000, a maksymalnie 1500 klientów; 5. We wszystkich biurach jest około 4 000 000 wizyt w nieruchomościach; w każdym biurze jest średnio 40 000, a maksymalnie 100 000 wizyt; 6. We wszystkich biurach jest około 400 000 umów najmu; w każdym biurze jest średnio 4000, a maksymalnie 10 000 umów; 7. We wszystkich biurach dano około 50 000 ogłoszeń prasowych w około 100 gazetach. 64 Szybkość przyrostu danych w bazie 1. Około 500 nowych nieruchomości i 200 nowych właścicieli nieruchomości jest dodawanych do bazy danych w każdym miesiącu. 2. Gdy nieruchomość przestaje być dostępna do wynajmu, jej rekord jest usuwany z bazy danych; miesięcznie jest usuwanych średnio 100 rekordów nieruchomości. 3. Jeśli właściciel nieruchomości nie zgłasza przez okres dwóch lat żadnej nieruchomości do wynajęcia, to jego rekord jest usuwany; miesięcznie usuwa się z bazy średnio 100 rekordów właścicieli. 4. W każdym miesiącu jest zatrudnianych i zwalnianych średnio 20 pracowników. Rekord pracownika, który odszedł z pracy, jest usuwany po roku. W każdym miesiącu usuwanych jest z bazy średnio 20 rekordów pracowników. 65 5. Miesięcznie rejestrowanych jest średnio 1000 nowych klientów we wszystkich biurach. Gdy klient nie ogląda i nie wynajmuje żadnej nieruchomości przez okres dwóch lat, jego rekord jest usuwany; miesięcznie jest usuwanych średnio 100 rekordów klientów. 6. W każdym miesiącu rejestrowanych jest średnio 5000 nowych wizyt w nieruchomościach we wszystkich biurach. Informacje dotyczące danej prezentacji kasowane są po upływie jednego roku od daty rejestracji. 7. Miesięcznie zawieranych jest średnio 1000 nowych umów najmu we wszystkich biurach. Informacje dotyczące umowy najmu usuwane są z bazy po upływie dwóch lat od ich rejestracji. 8. W każdym tygodniu dawanych jest do prasy średnio 1000 ogłoszeń. Informacje dotyczące ogłoszenia kasowane są po upływie jednego roku od daty rejestracji. 66 Typy i średnie liczby wyszukiwań rekordów 1. Wyszukiwanie informacji o biurach – średnio 10 dziennie; 2. Wyszukiwanie informacji o pracowniku biura - średnio 20 dziennie. 3. Wyszukiwanie informacji o danej nieruchomości - średnio 5000 dziennie. 4. Wyszukiwanie informacji o właścicielach nieruchomości średnio 100 dziennie. 67 5. Wyszukiwanie informacji o kliencie - średnio l000 dziennie (od poniedziałku do czwartku) i 2000 dziennie (piątek i sobota). Szczyt obciążenia występuje codziennie w godzinach 12-14 i 17-19. 6. Wyszukiwanie informacji o wizytach w nieruchomościach średnio 2000 dziennie (od poniedziałku do czwartku) i 5000 dziennie (piątek i sobota). Szczyt obciążenia występuje codziennie w godzinach 12-14 i 17-19. 7. Wyszukiwanie informacji o wynajęciach - średnio 1000 dziennie (od poniedziałku do czwartku) i 2000 dziennie (piątek i sobota). Szczyt obciążenia występuje codziennie w godzinach 12-14 i 17-19. 68 Wydajność 1. W godzinach pracy biura, poza godzinami szczytu, oczekiwany czas odpowiedzi systemu wyszukiwania pojedynczych rekordów powinien wynosić mniej niż 1 sekundę; w godzinach szczytu mniejszy niż 5 sekund; 2. W godzinach pracy biura, poza godzinami szczytu, oczekiwany czas odpowiedzi systemu na wyszukiwania wielu rekordów powinien wynosić mniej niż 5 sekund; w godzinach szczytu mniej niż 10 sekund; 3. W godzinach pracy biura, poza godzinami szczytu, oczekiwany czas odpowiedzi systemu na każdą aktualizację lub zapis powinien wynosić mniej niż 1 sekundę; w godzinach szczytu mniej niż 5 sekund. 69 Bezpieczeństwo: 1. Dostęp do bazy danych powinien być chroniony hasłem; 2. Każdej osobie z personelu powinny być przydzielone prawa dostępu do bazy danych odpowiednie do zajmowanego stanowiska (perspektywy użytkownika), tzn. prezesa, dyrektora, kierownika i asystenta; 3. Każdy pracownik powinien mieć dostęp do danych niezbędnych do wykonywania jego pracy i widzieć te dane w formie odpowiedniej do jego zadań. 70 Kopie zapasowe i odzyskiwanie danych: Kopie zapasowe bazy danych powinny być wykonywane codziennie o północy. Aspekty prawne: W każdym państwie obowiązujące prawo określa zakres ochrony danych osobowych przechowywanych w bazie danych, dlatego wszelkie prawne wymagania, które muszą być spełnione, powinny zostać zbadane i zaimplementowane. 71 Przykładowe wyszukiwanie danych użytkownika „Biuro”: 1. Podaj informacje o biurach w danym mieście; 2. Podaj liczbę wszystkich biur w danym mieście. 3. Podaj nazwiska, stanowiska oraz wysokości pensji pracowników zatrudnionych w danym biurze. Wynik uporządkuj według nazwisk. 4. Podaj całkowitą liczbę pracowników firmy oraz ich sumaryczną pensje. 5. Podaj liczbę pracowników zatrudnionych na stanowiskach we wszystkich biurach w Białymstoku. poszczególnych Użytkownik „Biuro” 2 (zarząd biura): 6. Podaj nazwiska wszystkich dyrektorów biur w kolejności wyznaczonej adresami biur. 7. Podaj nazwiska wszystkich pracowników podległych określonemu kierownikowi. 8. Podaj numery, adresy, typy i wysokość czynszu dla wszystkich nieruchomości z Białegostoku. Wynik uporządkuj według czynszu. 9. Podaj informacje o wszystkich nieruchomościach nadzorowanych przez określonego pracownika. 10. Podaj liczbę nieruchomości nadzorowanych przez każdego pracownika w każdym z biur. Użytkownik „Biuro” 3 (zarząd biura): 11. Podaj informacje o nieruchomościach oferowanych do wynajęcia przez właścicieli instytucjonalnych zarejestrowanych w danym biurze. 12. Podaj całkowitą liczbę nieruchomości każdego typu zarejestrowanych w każdym z biur. 13. Podaj informacje o wszystkich właścicielach prywatnych oferujących do wynajęcia więcej niż jedną nieruchomość. 14. Podaj informacje o wszystkich mieszkaniach w Białymstoku, w których są przynajmniej trzy pokoje, a czynsz nie przekracza 400 złotych. 15. Podaj numery, nazwiska i numery telefonów oraz preferowany rodzaj nieruchomości dla wszystkich klientów danego biura. Użytkownik „Biuro” 4 (zarząd biura): 16. Znajdź nieruchomości, które były ogłaszane w prasie częściej, niż wynosi przeciętna liczba ogłoszeń dotyczących jednej nieruchomości. 17. Podaj informacje o wynajęciach nieruchomości zarejestrowanych w danym biurze, których termin końcowy upłynie w następnym miesiącu. 18. Podaj całkowitą liczbę umów najmu zawartych w biurach w Łomży na okres krótszy niż jeden rok. 19. Podaj najwyższą dzienną stawkę za wynajęcie nieruchomości w każdym z biur. Wynik uporządkuj według numerów biur. Przykładowe wyszukiwanie danych użytkownika „Personel”: 1. Podaj wszystkich podwładnych danego kierownika z danego biura; 2. Podaj szczegółowe informacje o wszystkich asystentach, uporządkowane według nazwiska i biura. 3. Podaj szczegółowe informacje o nieruchomościach (obejmujące także kaucje za wynajęcie), które można uzyskać w biurze, wraz z informacjami o właścicielu. 4. Podaj szczegółowe informacje o nieruchomościach nadzorowanych przez wskazanego pracownika z danego biura. Użytkownik „Personel” 2 (pracownicy): 5. Podaj dane klientów zarejestrowanych w danym biurze oraz dla każdego klienta dane pracownika, który go zarejestrował. 6. Podaj dane nieruchomości znajdujących się w Łomży, dla których miesięczny czynsz nie przekracza 450 złotych. 7. Podaj nazwisko i numer telefonu właściciela wskazanej nieruchomości. 8. Podaj uwagi nieruchomość. zgłaszane przez klientów odwiedzających daną 9. Podaj nazwiska i numery telefonów klientów, którzy oglądali nieruchomość, ale nie zgłosili żadnych uwag. Użytkownik „Personel” 3 (pracownicy): 10. Podaj szczegółowe informacje dotyczące wynajęcia określonej nieruchomości przez określonego klienta. 11. Podaj informacje o wynajęciach nieruchomości, których termin końcowy upłynie w następnym miesiącu. 12. Podaj informacje o nieruchomościach, których nie udało się wynająć przez ponad trzy miesiące. 13. Podaj listę klientów, których wymagania odpowiadają określonej nieruchomości.