Terminy spotkań:
Lp | Termin | Opis |
---|---|---|
1 | 4.10.2016 11.10.2016 | Spotkanie organizacyjne. Podział na grupy. Wybór tematów, itp. |
2 | 18.10.2016 25.10.2016 | Rysujemy diagramy przepływu danych |
3 | 8.11.2016 15.11.2016 | Rysujemy diagramy ERD |
4 | 22.11.2016 29.11.2016 | Specyfikacje procesów |
5 | 6.12.2016 13.12.2016 | Konsultacje |
6 | 20.12.2016 3.01.2017 | Konsultacje |
7 | 10.01.2017 17.01.2017 | konsultacje i oddawanie projektów |
Terminy przesyłania projektów
Uwaga: oceny będą publikowane w miarę sprawdzania projektów: w sekcji oceny
Szanowni Państwo, proszę o sprawdzenie swoich ocen. Jeżeli grupa nie ma oceny, oznacza to, że praca nie została sprawdzona. Przyczyny mogą być dwie: (1) nie została dostarczona (2) nie zauważyłem, że praca została przesłana. W obu przypadkach proszę o kontakt
Projekty mają zostać dostarczone wyłącznie w wersji elektronicznej (jeden dokument PDF). Proszę o:
Zawartość projektu:
Uwagi
Przesyłanie projektów:
Inż.Oprog.2016
Celem projektu jest sporządzenie modelu systemu w konwencji Analizy Strukturalnej obejmującego:
Efektem powinien być jeden dokument zawierający:
Diagramy przepływu danych DFD
Słownik danych
Specyfikacje procesów atomowych (12 specyfikacji różnych procesów)
Cała specyfikacja musi być spójna.
Należy zwrócić uwagę, że formalnie Analiza strukturalna jest metodą specyfikacji wymagań odnoszącą się do
Jednak perspektywa opisu jest inna niż w przypadku specyfikacji wymagań z użyciem UML (zwłaszcza przypadków użycia). Przypadek użycia definiuje zachowanie systemu traktowanego jako czarna skrzynka. Diagramy DFD definiują wymagane funkcje i ich wewnętrzną strukturę (spójną hierarchię funkcji).
Elementy składowe:
Celem jest zbudowanie modelu systemu informatycznego wspierającego działalność firmy lub organizacji. W opisie nie powinny pojawiać się procesy wykonywane manualnie, np.: zaadresowanie przesyłki = wydruk etykiety i przyklejenie na paczkę. Wydruk jest funkcją systemu, przyklejenie etykiety już nie.
Należy zastanowić się nad wejściami i wyjściami systemu. Kto go używa lub z nim współpracuje: użytkownik, inny system. Obiektami zewnętrznymi mogą być też urządzenia (np. drukarka)
Przetwórz dane osoby
ma na wejściu i wyjściu te same dane osoba
, to jaki jest jego cel? Powinno być osoba
→Przetwórz dane osoby
→przetworzona_osoba
. System projektów studenckich 1.0 Zarządzanie tematami 1.1 Dodaj temat 1.2 Edytuje temat 1.3 Usuń temat 2.0 Zarządzanie grupami 2.1 Utwórz grupę 2.2 Edytuj grupę 2.2.1 Dodaj osobę 2.2.2 Usuń osobę 2.2.3 Zmień dane kontaktowe ... 2.3 Usuń grupę 3.0 Zarządzanie przydziałem tematów 4.0 Wystawianie ocen
Visio: Oprogramowanie i baza danych/Software → Diagram przepływu danych/Data Flow Diagram
Obejmuje dwie składowe:
Diagram ERD pokazuje obiekty (encje) oraz relacje pomiędzy nimi:
[Książka]—-<ma autora>—-[Osoba]
[Książka]—-<ma egzemplarz>—-[EgzemplarzKsiążki]
[Książka]—-<jest wypożyczona przez>—-[Czytelnik]
Diagram ERD pokazuje również atrybuty encji
Na przykłady umieszczone w Diagramy ERD należy spojrzeć krytycznie. Sugerują one, że relacje są pewnego rodzaju czynnościami lub funkcjami systemu, np:
[Lekarz]–<leczy>–[Pacjenta]
[Lekarz]–<obciąża fakturą>–[Pacjenta]
[Sprzedawca]–<negocjuje cenę>–[Nabywca]
[Pełnomocnik sprzedawcy]–<negocjuje warunki z>–[Pełnomocnikiem nabywcy]
Relacje nie są czynnościami. To są pewne powiązania występujące w modelu danych przechowywanych w systemie. Interesuje nas powiązanie:
[EgzemplarzKsiążki]–<jest wypożyczony przez>–[Czytelnika]
ale niekoniecznie[Czytelnik]–<zwraca>–[EgzemplarzKsiążki]
Zauważmy, że w pierwszym przypadku jest to jakiś stan, który można zapisać i odczytać; w drugim nazwa sugeruje trwająca kilka minut czynność. Diagramy ERD nie opisują czynności, ale związki przechowywane w sposób trwały w systemie IT..
W Wikipedii jest przykład [Artysta]–<wykonuje>–[Utwór]
. Przykład jest lepszy, nie sugeruje, że wykonuje teraz (Present Continuous: is performing), ale wykonuje wielokrotnie i jest z utworem trwale związany ( Simple Present: performs).
Encja na diagramie ERD jest zbiorem obiektów. Nie ma sensu używać nazw typu BazaKsiążek, ListaKsiążek – po prostu Książka
Magazyn danych DFD powinien nazywać się tak samo, jak encja.
Podczas modelowania można użyć:
[EgzemplarzKsiążki]–<jest wypożyczony przez>–[Czytelnika]
- dodajemy encję Wypożyczenie
z kluczami obcymi wskazującymi na czytelnika i egzemplarz oraz atrybutami typu data wypożyczenia, zwrotu Słownik danych ma obejmować definicje wszystkich przepływów. Przykłady są podane tu: Specyfikacja przepływów danych
Słownik danych (fragment)
users={@login+haslo} login = *tekst do 32 znaków zwierajacy litery, cyfry i znak podkreślenia* haslo = * tekst do 32 znaków* login_we = *dowolny tekst* haslo_we = * dowolny tekst* rezultat=tak | nie * wartość logiczna *
Proces atomowy to proces, który nie podlega dalszej dekompozycji.
Specyfikacja procesów atomowych to specyfikacja ich funkcji P: input → output. Specyfikacje te muszą zachować spójność ze słownikiem danych. (Nazwy przepływów danych wejściowych i wyjściowych muszą pojawić się w specyfikacji.)
Uwaga: specyfikacja:
Specyfikacja z użyciem prewarunków i postwarunkó
Proces SPRAWDŹ dane logownia |
---|
INPUT: login_we, hasło_we, users (przepływ z magazynu) OUTPUT: rezultat 1. PRE login_we jest pusty POST rezultat = nie 2. PRE login_we nie jest pusty i users zawiera rekord u taki, że u.login==login_we i u.haslo==haslo_we POST rezultat = tak 3. PRE login_we nie jest pusty i users zawiera rekord u taki, że u.login==login_we i u.haslo != haslo_we POST rezultat = nie
Metody specyfikacji procesów atomowych są opisane w podręczniku Yourdona
Przed oddaniem proszę sprawdzić następujące elementy:
Dostęp do ocen jest zabezpieczony hasłem
io