|
|
pl:dydaktyka:sbd:2010:etapy_projektowania [2010/11/04 08:56] sebi utworzono |
pl:dydaktyka:sbd:2010:etapy_projektowania [2019/06/27 15:50] |
====== Etapy projektowania i realizacji aplikacji bazodanowej ====== | |
| |
Dokumentację przygotowujemy w Wiki lub w formacie LaTeX (pliki podlinkowane na Wiki). | |
===== 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 {{:pl:dydaktyka:sbd:2009:bd-projekty-template.tar.gz|download}} | |
* Instrukcja do LaTeX na stronie dr hab. M. Szpyrki [[http://home.agh.edu.pl/~mszpyrka/dydagh:latex|LaTeX - wprowadzenie]] | |
* Można też skorzystać z przygotowanej klasy aghdpl (dla prac dyplomowych) [[https://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:sbd:2009:etapy_projektowania|Strona do pobrania materiałów]] | |
| |
| |
---- | |
| |
Przykładowe materiały pomocnicze: | |
| |
* Praca dyplomowa: {{:pl:dydaktyka:sbd:2009:praca_magisterska.pdf|SOK}} | |
* Projekt nieruchomości {{:pl:dydaktyka:sbd:2009:konceptualny-nieruchomosci.pdf|.pdf}} | |
* Projekt metro {{:pl:dydaktyka:sbd:2009:koncept_final-metro-maslanka.pdf|.pdf}} | |
* Projekt sale {{:pl:dydaktyka:sbd:2009:projekt.pdf|.pdf}} | |
| |
---- | |
| |
* Materiały pomocnicze do elementów analizy strukturalnej (DFD, ERD, STD, DD): [[http://yourdon.com/strucanalysis/wiki/index.php?title=Table_of_Contents|Structured Analysis Wiki (E. Yourdon)]] | |
===== 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). | |
- **Opracowanie raportu końcowego.** | |
- **Wykaz literatury, załączniki** (przykłady def. formatu, reguł, poprawności, masek, kwerend SQL, wydruki, itp.) | |