Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:sbd:2012:etapy_projektowania [2019/06/27 15:50]
pl:dydaktyka:sbd:2012:etapy_projektowania [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== 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. Wymagania należy zidentyfikować z podziałem funkcjonalne i pozafunkcjonalne.
 +  - **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).
 +  - **Identyfikacja funkcji:** Określenie podstawowych funkcji realizowanych w bazie danych. ​
 +  - **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. ​
 +  -// **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.//​
 +  - **Wybór encji (obiektów) i ich atrybutów:​** punkt realizowany w postaci listy atrybutów dla każdej z encji; .
 +  - **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 - [[http://​en.wikipedia.org/​wiki/​Entity-relationship_model|Wikipedia]],​ [[http://​upload.wikimedia.org/​wikipedia/​commons/​7/​72/​ER_Diagram_MMORPG.png|przykładowy diagram]]. Na diagramie można pominąć atrybuty encji (zostały określone w poprzednim punkcie), proszę nie zapomnieć o krotności relacji. [[http://​yourdon.com/​strucanalysis/​wiki/​index.php?​title=Chapter_12|Dodatkowe informacje]]. Narzędzia: np. xfig.
 +  - **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 - [[http://​yourdon.com/​strucanalysis/​wiki/​index.php?​title=Chapter_13|dodatkowe informacje]].
 +
 +===== Projekt logiczny =====
 +(zawiera projekt konceptualny)
 +
 +  - **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.
 +  - **Diagram ERD przedstawiający schematy tabel (wraz z atrybutami) i związki pomiędzy nimi w notacji Barkera/​Oracle:​** Narzędzia: np. dbDesigner.
 +  - **Tablica krzyżowa:​** Tablica ukazująca związki pomiędzy tabelami.
 +  - **Projekt bazy w języku SQL (DDL):** Uwaga: skrypt powinien być napisany "od zera" a nie wygenerowany automatycznie.
 +  - **Słowniki danych.** Specyfikacja słownika danych. Specyfikacja dziedzin i ograniczeń. [[http://​yourdon.com/​strucanalysis/​wiki/​index.php?​title=Chapter_10|Dodatkowe informacje]].
 +  - **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.
 +  - //​**Opcjonalnie:​ Denormalizacja struktury tabel:** ma ona na celu optymalizację przetwarzania,​ przechowywania danych archiwalnych,​ dostosowanie do specyficznych wymagań użytkownika.//​
 +  - **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)
 +  - **Implementacja bazy danych** (utworzenie bazy, implementacja obiektów) (realizacja struktury pustej bazy; w oparciu o diagramy ERD i wyspecyfikowany SQL).
 +  - **Wprowadzenie danych:** do tabel słownikowych i przykładowych danych użytkownika.
 +  - **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).
 +  -// **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.).//
 +  -// **Opcjonalnie:​ Zdefiniowanie panelu sterowania aplikacji** (należy pamiętać o dostosowaniu do potrzeb użytkownika;​ realizacja w oparciu o diagram STD).//
 +  - //​**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.//
 +  - **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.
 +  - **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).
 +  -// **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.//​
 +  -// **Opcjonalnie:​ Zapewnienie dokumentacji technicznej i użytkowej** (ten wymóg powinien postawić użytkownik!).//​
 +  - //​**Opcjonalnie:​ Zapewnienie obsługiwania systemu po wdrożeniu** (jest to jeden z najbardziej kosztownych procesów w realizacji projektów informatycznych).//​
 +  - //​**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ń?//
 +  - //​**Opcjonalnie:​ Opracowanie doświadczeń wynikających z realizacji projektu** (czas, pułapki i rozwiązania,​ dobór technologii).//​
 +  - **Wykaz literatury, załączniki.**
pl/dydaktyka/sbd/2012/etapy_projektowania.txt · ostatnio zmienione: 2019/06/27 15:50 (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