Table of Contents

Szablon dokumentacji projektowej

1. Ogólny opis systemu (wizja)

Cel (przeznaczenie) systemu

Należy opisać przeznaczenie systemu. Na przykład system obsługi biblioteki może dotyczyć biblioteki w AGH lub biblioteki w domu kultury. Skale tych systemów są nieporównywalne.

Udziałowcy i użytkownicy

(użytkownicy, właściciele, nabywcy systemu, pracownicy obsługi technicznej, użytkownicy wewnętrzni, zewnętrzni)

Podstawowe cele udziałowców i użytkowników

Należy krótko (np.: w tabeli) wyliczyć podstawowe cele stawiane systemowi przez poszczególnych użytkowników. Porównać sposób ich realizacji w aktualnym systemie (np.: manualnym) i systemie proponowanym. Należy nadać im priorytet.

Celem:

Granice systemu (wejścia, wyjścia)

W notacji UML - granicami systemu są Aktorzy

Aktorem może być:

Diagram pokazuje system oraz aktorów. Odpowiednik diagramu kontekstowego DFD. Np.: Obrazek z sieci

Lista możliwości (funkcji systemu)

Wyliczenie bez szczegółowych opisów, można podzielić na funkcje dostępne dla grup użytkowników.

Ten rozdział można zilustrować diagramem czynności (activity diagram) pokazującym typowe sekwencje działań wykonywanych w systemie. Poszczególnym czynnościom można nadać identyfikatory przypadków użycia.

Ideą jest,aby diagram czynności pokazywał pewien większy proces, obejmujący różne aktywności (także wykonywane manualnie). Np.:

  1. Czytelnik wyszukuje książkę w katalogu i sprawdza jej dostępność i lokalizację na półce
  2. Czytelnik bierze książkę z półki i zanosi do stanowiska bibliotekarza
  3. Bibliotekarz rejestruje wypożyczenie

Pierwsza czynność jest kandydatem na przypadek użycia Wyszukaj w katalogu; druga: jest manualna i nie jest przypadkiem użycia systemu; trzecia to: Zarejestruj wypożyczenie.

2-5 stron

2. Analiza dziedziny (analiza obiektów biznesowych)

Zazwyczaj w dziedzinie problemu identyfikuje się klasy odpowiadające:

Słownik pojęć powinien definiować podstawowe pojęcia (termin – znaczenie), którymi będziemy posługiwać się w dokumentacji. Najlepiej w formie tabeli. Słownik może przyrastać w miarę sporządzania dokumentacji.

2-5 stron

3. SRS - Specyfikacja wymagań

Specyfikacja wymagań definiuje wymagania stawiane systemowi w postaci przypadków użycia. Przypadki użycia mogą być zgrupowane w pakiety.

Przypadek użycia powinien zostać zdefiniowany zgodnie z przedstawionym dalej szablonem. Ponieważ dążymy do zdefiniowania wszystkich przypadków użycia, należy starać się ograniczyć ich liczbę i złożoność relacji. Dla podanych tematów należy oczekiwać 5-20 przypadków użycia. Zbyt mała liczba (np.: 3) świadczy o ogólnikowym potraktowaniu tematu, zbyt duża o nadmiernym zagłębieniu w szczegóły. W przypadku dużej liczby przypadków użycia typu Nowy, Modyfikuj, Usuń należy starać się scalić je w jeden (Definiuj) przedstawiając pozostałe jako przebiegi alternatywne.

brak ograniczeń objętościowych, wystarczy przedstawić specyfikacje dla 5 przypadków użycia

Analiza i projekt

5. Architektura systemu

W przypadku większości systemów wystarcza określenie, że są wykonywane w trójwarstwowej architekturze. Dla systemów złożonych z samodzielnych programów (np.: komunikator korzystający z pośrednictwa serwera konieczne jest zdefiniowanie interfejsu komunikacyjnego.

:!: W opisie architektury należy określić

1 – 5 stron

6. Obiektowy model analizy

Rozdział opcjonalny :!: Jeżeli występuje, powinien identyfikować:

Opis powinien pomijać celowo szczegóły implementacji. Dobrym uzasadnieniem dla tworzenia tego opisu jest aplikacja, która jest projektowana dla wielu platform. W docelowym projekcie dla danej platformy abstrakcyjne elementy zostaną odwzorowane w konkretne elementy projektu (np.: interfejs MFC, interfejs HTML, interfejs XWindows, itp.

Dla serwisów internetowych zrealizowanych w architekturze trójwarstwowej rozdział ten można pominąć. Projekt oprogramowania zapewni w takim przypadku odpowiedni poziom szczegółowości.

brak ograniczeń na objętość

7. Projekt oprogramowania

Projekt systemu jest realizowany dla konkretnej platformy (języka programowania zapewniającego podstawowy zestaw klas, biblioteki, architektury systemu, itd.). W zasadzie rozdział ten powinien być największym objętościowo fragmentem. Jeżeli system składa się z niezależnych modułów (klient-serwer, nadawca-odbiorca) należy dla każdego z nich podać osobny projekt.

:!: W projekcie należy określić platformę implementacji komponentu. Java, .NET, PHP, Oracle, MySQL. Może to również zostać określone przy definicji architektury systemu.

Zawartość:

Identyfikując klasy (zwłaszcza dla serwisów internetowych) należy pamiętać, że ta część dokumentacji powinna odpowiadać na pytanie:

Mimo, że strony są generowane dynamicznie, należy potraktować je jak klasy.
Mimo, że kwerendy są również generowane dynamicznie, należy potraktować je jako metody klasy BazaDanych (lub jednej z klas modelu). Takie podejście pozwala oszacować wielkość i złożoność interfejsu użytkownika oraz stopień złożoności operacji na bazie danych.

Objętość: każdy przypadek użycia powinien zostać zdefiniowany za pomocą odpowiedniego diagramu interakcji. Klasy (z atrybutami i metodami) oraz ich związki powinny zostać również zdefiniowane. W miarę możliwości zestaw powiązanych zależnościami klas należy umieszczać przed diagramem interakcji. opis klas w tabelach, 5 diagramów związków klas, 5 diagramów dla zachowania

8. Projekt interfejsu użytkownika IRS

należy przedstawić najbardziej interesujące diagramy; można pominąć elementy typu menu, lista opcji

9. Projekt bazy danych DBDD (jeżeli występuje)

1 diagram + tabela ze specyfikacjami kwerend