Etapy projektowania aplikacji bazodanowej

Projekt konceptualny

  1. Sformułowanie zadania projektowego: podanie przedmiotu projektowania, jego celów, przeglądu zadań, specyfiki i uwarunkowań.
  2. 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).
  3. 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. Wymagania należy zidentyfikować z podziałem funkcjonalne i pozafunkcjonalne.
  4. Określenie scenariuszy użycia: Scenariusze użycia pozwolą na konstrukcję diagramów FHD i STD. Scenariusze powinny mieć postać „historyjek”, opisujących kolejne działania użytkownika i odpowiedzi systemu prowadzące do osiągnięcia określonego celu; tu można także posłuzyć się diagramem przypadków użycia (chociaż jest on zwykle niezbyt szczegółowy).
  5. Identyfikacja funkcji: Określenie podstawowych funkcji realizowanych w bazie danych.
  6. Analiza hierarchii funkcji projektowanej aplikacji: (FHD – Function Hierarchy Diagram); określenie struktury zależności hierarchicznych pomiędzy jednostkami analizowanego systemu, zwłaszcza w zakresie specyfikacji wymagań funkcjonalnych.
  7. DFD – opcjonalnie: 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.
  8. Wybór encji (obiektów) i ich atrybutów: punkt realizowany w postaci listy atrybutów dla każdej z encji; .
  9. Projektowanie powiązań (relacji) pomiędzy encjami. Konstrukcja diagramu ERD (Entity-Relationship Diagram); jest to zasadniczy etap procesu projektowania struktury bazy danych. Diagram powinien być przygotowany zgodnie z notacją Chena - Wikipedia, przykładowy diagram. Na diagramie można pominąć atrybuty encji (zostały określone w poprzednim punkcie), proszę nie zapomnieć o krotności relacji. Dodatkowe informacje. Narzędzia: np. xfig.
  10. 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. Diagram powinien być zgodny ze specyfikacją Yourdona - dodatkowe informacje.

Projekt logiczny

(zawiera projekt konceptualny)

  1. Projektowanie tabel, kluczy, kluczy obcych, powiązań między tabelami, indeksów, etc. w oparciu o zdefiniowany diagram konceptualny ERD: na tym etapie następuje „sprecyzowanie” struktury bazy danych wraz ze szczegółami technicznymi.
  2. Diagram ERD przedstawiający schematy tabel (wraz z atrybutami) i związki pomiędzy nimi w notacji Barkera/Oracle: Narzędzia: np. dbDesigner.
  3. Tablica krzyżowa: Tablica ukazująca związki pomiędzy tabelami.
  4. Projekt bazy w języku SQL (DDL): Uwaga: skrypt powinien być napisany „od zera” a nie wygenerowany automatycznie.
  5. Słowniki danych. Specyfikacja słownika danych. Specyfikacja dziedzin i ograniczeń. Dodatkowe informacje.
  6. 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. Każda tabela powinna zostać przeanalizowana zgodnie z wytycznymi przedstawionymi na wykładzie; efekty tej analizy powinny zostać w całości umieszczone w raporcie.
  7. Opcjonalnie: Denormalizacja struktury tabel: ma ona na celu optymalizację przetwarzania, przechowywania danych archiwalnych, dostosowanie do specyficznych wymagań użytkownika.
  8. 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 (DQL, DML).

Raport końcowy

(zawiera projekt konceptualny i logiczny)

  1. Implementacja bazy danych (utworzenie bazy, implementacja obiektów) (realizacja struktury pustej bazy; w oparciu o diagramy ERD i wyspecyfikowany SQL).
  2. Wprowadzenie danych: do tabel słownikowych i przykładowych danych użytkownika.
  3. Zdefiniowanie interfejsów do edycji i obsługi danych (formularze; należy zaprojektować strukturę każdego formularza oraz powiązania między nimi; w oparciu o diagramy FHDi STD).
  4. Opcjonalnie: Zdefiniowanie dokumentów do prezentacji danych (raporty wyświetlane na ekranie i drukowane; informacje generowane w raportach i ich struktura powinna odpowiadać dokumentom wymaganym w danej firmie.).
  5. Opcjonalnie: Zdefiniowanie panelu sterowania aplikacji (należy pamiętać o dostosowaniu do potrzeb użytkownika; realizacja w oparciu o diagram STD).
  6. Opcjonalnie: Zdefiniowanie makropoleceń dla realizacji typowych operacji: (określonych dla panelu sterowania i ew. innych formularzy; realizacja w oparciu o diagram DFD i FHD). Makropolecenia powinny dotyczyć interakcji użytkownika z GUI, nie systemu z bazą danych.
  7. Uruchomianie i testowanie aplikacji (on-site, przy współpracy użytkownika). Testowanie jednostkowe kodu źródłowego, testy zgodności z wymaganiami i oczekiwaniami użytkownika.
  8. Wprowadzanie danych (ręczne, automatyczne, import, on-line). W jaki sposób system zostanie zasilony w dane koniecznie do rozpoczęcia eksploatacji; migracja danych w przypadku zastępowania istniejącego systemu, lub wprowadzenie danych początkowych (np. lista magazynów i klas produktów w systemie dla hurtowni).
  9. Opcjonalnie: Wdrażanie systemu do użytkowania (stopniowe, modułami, z możliwością wycofania się, z dublowaniem danych i obliczeń). Planowane etapy wdrożenia systemu; scenariusze na wypadek niepowodzenia/awarii.
  10. Opcjonalnie: Zapewnienie dokumentacji technicznej i użytkowej (ten wymóg powinien postawić użytkownik!).
  11. Opcjonalnie: Zapewnienie obsługiwania systemu po wdrożeniu (jest to jeden z najbardziej kosztownych procesów w realizacji projektów informatycznych).
  12. Opcjonalnie: Określenie kierunków rozwoju aplikacji, ocena możliwości jej modyfikacji. Czy na wcześniejszych etapach została uwzględniona elastyczność i możliwość reakcji na częściową zmianę wymagań?
  13. Opcjonalnie: Opracowanie doświadczeń wynikających z realizacji projektu (czas, pułapki i rozwiązania, dobór technologii).
  14. Wykaz literatury, załączniki.
pl/dydaktyka/sbd/2011/etapy_projektowania.txt · ostatnio zmienione: 2017/07/17 08:08 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0