Etapy projektowania aplikacji bazodanowej
Projekt konceptualny
Sformułowanie zadania projektowego: podanie przedmiotu projektowania, jego celów, przeglądu zadań, specyfiki i uwarunkowań.
Analiza stanu wyjściowego; analiza stanu zastanego, uwarunkowań prawnych, przyjętego obiegu istniejącej dokumentacji, analiza istniejącego systemu elektronicznego przetwarzania danych (aktualnej bazy), analiza występujących problemów, etc. pomocne mogą być scenariusze postępowania i ich analiza (elementy, obiekty, charakterystyki, atrybuty, struktura, przepływ danych, powiązania, relacje, ograniczenia funkcjonalności).
Analiza wymagań użytkownika (wstępna); na tym etapie należy określić podstawowe cele, zadania i funkcjonalność jakie mają być realizowane przez projektowaną bazę danych oraz ew. wymagania dotyczące projektu i dokumentacji. Dobrze byłoby, aby użytkownik na bieżąco współuczestniczył w projektowaniu i implementacji oraz wnosił swoje uwagi. Należy zidentyfikować wymagania jawne i niejawne.
Określenie scenariuszy użycia. Scenariusze użycia pozwolą na konstrukcję diagramów DFD i STD oraz hierarchii funkcji.
Identyfikacja funkcji. Określenie podstawowych funkcji realizowanych w bazie danych.
Analiza hierarchii funkcji projektowanej aplikacji (FHD – Functional Hierarchy Diagram); określenie struktury zależności hierarchicznych pomiędzy jednostkami analizowanego systemu, zwłaszcza w zakresie specyfikacji wymagań funkcjonalnych. Specyfikacja funkcji (funkcjonalności) projektowanego systemu.
Budowa i analiza diagramu przepływu danych (DFD – Data Flow Diagram); ma na celu określenie przepływu danych (wejścia, wyjścia, operacje, przechowywanie) oraz elementów sterowania tym przepływem, co może być pomocne dla tworzenia aplikacji. Specyfikacja danych wejściowych i wyjściowych.
Wybór encji (obiektów) i ich atrybutów.
Projektowanie powiązań (relacji) pomiędzy encjami. Konstrukcja diagramu ERD (Entity-Relationship Diagram); jest to zasadniczy etap procesu projektowania struktury bazy danych. Identyfikacja klas encji, ich atrybutów, zdefiniowanie (określenie) kluczy. Tablica krzyżowa powiązań, eliminacja powiązań wiele-do-wielu. Konstrukcja diagramu ERD.
Projekt diagramów STD (State Transition Diagram – diagramy przejść pomiędzy stanami). Wykonanie w oparciu o scenariusze użycia i strukturę bazy danych. Pomocny do budowy interfejsu aplikacji.
Projekt może być przygotowany w wiki lub w LaTeX-u. Dla osób przygotowujących projekt w LaTeX-u:
Szablon z wykazem proponowanych sekcji do pobrania
download
-
-
Przykładowe materiały pomocnicze:
-
Projekt nieruchomości
.pdf
-
-
Projekt logiczny
(zawiera projekt konceptualny)
Projektowanie tabel, kluczy, kluczy obcych, powiązań między tabelami, indeksów, etc. w oparciu o zdefiniowany diagram ERD; na tym etapie następuje „sprecyzowanie” struktury bazy danych wraz ze szczegółami technicznymi. Projekt bazy w języku SQL.
Słowniki danych. Specyfikacja słownika danych. Specyfikacja dziedzin i ograniczeń.
Analiza zależności funkcyjnych i normalizacja tabel (dekompozycja do 3NF, BCNF, 4NF, 5NF); na tym etapie dokonuje się sprawdzenia, czy tabele spełniają warunki zakładanych postaci normalnych i ew. dekompozycji w celu normalizacji.
Denormalizacja struktury tabel; ma ona na celu optymalizację przetwarzania, przechowywania danych archiwalnych, dostosowanie do specyficznych wymagań użytkownika. [czynność opcjonalna].
Projektowanie operacji na danych: zdefiniowanie kwerend dla realizacji funkcji wyspecyfikowanych w projekcie; (zgodnie z wymaganiami użytkownika; na tym etapie mogą one zostać uszczegółowione bądź zmodyfikowane). Projekt w języku SQL.
Raport końcowy
Implementacja bazy danych (utworzenie bazy, implementacja obiektów) (realizacja struktury pustej bazy; w oparciu o diagramy ERD i SQL)
Zdefiniowanie interfejsów do prezentacji, edycji i obsługi danych (formularze; należy zaprojektować strukturę każdego formularza oraz powiązania między nimi; w oparciu o diagramy FHF, DFD i STD).
Zdefiniowanie dokumentów do przetwarzania i prezentacji danych (raporty; informacje generowane w raportach i ich struktura powinna odpowiadać dokumentów wymaganym w danej firmie.).
Zdefiniowanie panelu sterowania aplikacji (należy pamiętać o dostosowaniu do potrzeb użytkownika; realizacja w oparciu o diagram STD).
Zdefiniowanie makropoleceń dla realizacji typowych operacji; (określonych dla panelu sterowania i ew. innych formularzy; realizacja w oparciu o diagram DFD i FHD).
Uruchamianie i testowanie aplikacji (on-site, przy współpracy użytkownika).
Wprowadzanie danych (ręczne, automatyczne, import, on-line).
Wdrażanie systemu do użytkowania (stopniowe, modułami, z możliwością wycofania się, z dublowaniem danych i obliczeń).
Przeprowadzenie szkolenia użytkowników.
Zapewnienie dokumentacji technicznej i użytkowej (ten wymóg powinien postawić użytkownik!).
Zapewnienie obsługiwania systemu po wdrożeniu (jest to jeden z najbardziej kosztownych procesów w realizacji projektów informatycznych).
Rozwijanie i modyfikowanie aplikacji (możliwości rozwijania i adaptacji należy uwzględnić we wczesnych fazach projektowania).
Opracowanie doświadczeń wynikających z realizacji projektu (czas, koszty; dane te posłużą do oszacowania kosztów i nakładów przy realizacji przyszłych projektów).
Wykaz literatury, załączniki (przykłady def. formatu, reguł, poprawności, masek, kwerend SQL, wydruki, itp.)