Zadanie 1 - Analiza Strukturalna

Celem pierwszego ćwiczenia projektowanego na trzy ćwiczenia jest sporządzenie modelu systemu w konwencji Analizy Strukturalnej obejmującego:

  • Specyfikację procesów oraz ich dekompozycję (DFD)
  • Słownik danych dla przepływów i ERD dla magazynów
  • Specyfikację procesów atomowych

Efektem zadania powinien być jeden dokument zawierający:

Diagramy przepływu danych DFD

  1. kilkuzdaniowy opis problemu
  2. diagram kontekstowy
  3. diagram wstępny
  4. diagramy niższych poziomów

Słownik danych

  1. diagram EDR definiujący magazyny
  2. specyfikacje danych w przepływach

Specyfikacje procesów atomowych (9 specyfikacji)

  1. opis słowny (pseudokod)
  2. opis prewarunków i postwarunków
  3. flowchart
  4. opcjonalnie: tabele decyzyjne

Cała specyfikacja musi być spójna.

Ćwiczenia 1

  1. Wybierz temat dla grupy 3 osobowej oraz zarejestruj grupę Tematy i rejestracja
  2. Przeczytaj o diagramach DFD
    1. Opis metody SART http://home.agh.edu.pl/~pszwed/se/sart/kss09.html - sekcja Przykład
  3. Uruchom Visio (najlepiej starą wersję Visio 2002, ponieważ analizuje składnię i zaznacza błędy na czerwono). Wybierz Oprogramowanie i baza danych/Software → Diagram przepływu danych/Data Flow Diagram
  4. Rozpocznij rysowanie procesów:
    1. Diagram kontekstowy: obiekty zewnętrzne (wejścia/wyjścia, interfejsy, terminatory) i proces opisujący system
    2. Diagram wstępny obejmujący: podstawowe procesy, magazyny danych i przepływy
    3. Spróbuj zdekomponować jeden z procesów

Wskazówki i uwagi

  • 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)
  • Należy zastanowić się, jakimi danymi manipuluje system: czytelnikami, klientami, księgozbiorem, towarami, zamówieniami, itd.
  • Procesy diagramu wstępnego to często zarządzanie tymi danymi: Zarządzanie klientami (dodaj, usuń, edytuj dane, wyszukaj), Zarządzanie księgozbiorem, Zarządzanie towarami.
  • Procesy powinny być numerowane. Procesy diagramu wstępnego otrzymują numery 1.0, 2.0, 3.0. Procesy podrzędne otrzymują numery 1.1, 1.2, 1.3. Schodząc coraz niżej w dekompozycji, dodajemy kolejne numery po kropcje 1.2 → 1.2.3 → 1.2.3.1…
  • Nazwą procesu powinien być czasownik + dopełnienie, np. Dodaj klienta. Stosowany jest zwykle tryb rozkazujący (Dodaj) lub imiesłów (Dodawanie).
  • Przyepływy danych nie powinny zawierać czasowników. Są to dane klienta, ale nie Zapisz dane klienta.
  • Diagram DFD pokazuje, jakie dane należy dostarczyć, aby wykonać proces i jakie dane zostaną wyprodukowane. DFD nigdy nie definiuje, kiedy, w jakiej sytuacji proces zostanie uruchomiony (np. jaką komendą lub opcją menu).
  • Diagram DFD nie jest opisem algorytmu, ale raczej usług systemu, z których można złożyć algorytm postępowania
  • Proces tworzenia diagramu DFD jest zazwyczaj opisywany jako top-down: od diagramu kontekstowego, poprzez wstępny i kolejnych nizszych poziomów, aż do osiągnięcia niedekomponowalnych procesów atomowych. Tak wygląda ostateczna forma dokumentacji, ale sam proces może przebiegać w różnych kierunkach.
  • Przed przystąpieniem do rysowania naszkicować hierarchię procesów, np:
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
   

Ćwiczenia 2

Celem ćwiczeń jest zdefiniowanie dwóch składowych słownika danych:

  1. Diagramu ERD (Entity Relationship Diagram)
  2. Specyfikację przepływów danych

Podczas zajęć skupimy się na ERD.

1) 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życozna przez>—-[Czytelnik]

2) Diagram ERD pokazuje również atrybuty encji

  • Książka: Tytuł, Wydawnictwo, ISBN, liczba stron, (“autor” i “ma egzemplarz” są relacjami)
  • Osoba: Imię, Nazwisko, Miejsce urodzenia, Data urodzenia…
  • EgzemplarzKsiążki: Sygnatura, Stan egzemplarza (Dobry, Zużyty, USzkodzony, Zgubiony, Wycofany)
  • Czytelnik: Imię, Nazwisko, PESEL, Adres

Do zrealizowania

  1. Przeczytaj o diagramach ERD Diagramy ERD
  2. Uruchom Visio (dowolna wersja) i wybierz: Oprogramowanie i baza danychDiagram modelu bazy danych (lub DatabaseDatabase Model Diagram
  3. Zidentyfikuj podstawowe klasy (typy) obiektów i ich relacje oraz zilustruj je na diagramie
  4. Zanim przystąpisz do rysowania - przeczytaj uwagi ponżej

Uwagi

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. :!:

Modelowanie

  • Podczas modelowania proponuje się użycia diagramu równoważnego ERD, który jest bliższy poziomowi projektowania baz danych.
  • Atrybut oznaczony PK (ang. primary key) to klucz główny - jednoznacznie identyfkujący obiekt
  • Atrybut oznaczony FK (ang. foreign key) to klucz obcy - jest tego samego typu, co klucz główny w innej encji i służy do zrealizowania relacji
  • W wielu przypadkach relacja (romb) z ERD stanie się encją (tabelą), np. [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

Literatura

Ćwiczenia 3

Celem ćwiczeń jest przygotowanie specyfikacji procesów atomowych.

Do zrealizowania

  1. Przeanalizuj metody specyfikacji procesów opisane w http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_11
  2. Wybierz co najmniej 3 różne procesy atomowe (ale nie procesy typu logowanie)
  3. Przygotuj 9 specyfikacji procesów (np.: 3 procesy x 3 typy specyfikacji) stosując:
    • pseudokod (Structured English)
    • prewarunki i postwarunki
    • diagramy flowchart
    • tablice decyzyjne

Uwaga: :!: specyfikacja:

  • Powinna być poprzedzona definicją przepływów wejściowych i wyjściowych
  • Musi być spójna z listą wejść i wyjść
  • Musi być spójna ze słownikiem danych (można użyć wyłącznie atrybutów ze słownika/ERD)
  • Nie mogą w niej wystąpić niejawne przepływy wyjściowe (np. Wyświetl komunikat o błędzie )

Przykład

Przygotowując specyfikacje proszę zachować spójność ze słownikiem danych. (Nazwy przepływów danych wejściowych i wyjściowych muszą pojawić się w specyfikacji.)

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 *

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

Co ma się znaleźć w sprawozdaniu (termin 17.11)

  1. DFD
    1. diagram kontekstowy
    2. diagram wstępny
    3. diagramy otrzymane w wyniku dekompozycji
  2. Słownik danych
    1. Diagram ERD dla magazynów
    2. specyfikacja danych występujących w przepływach
  3. Specyfikacje procesów atomowych
    1. co najmniej 3 procesy
    2. co najmniej 3 metody specyfikacji (3×3=9)

Uwaga:

  • DFD ma być spójne ze słownikiem
  • DFD podczas dekompozycji ma zachowywać wejścia i wyjścia
  • Specyfikacje procesów atomowych spójne ze słownikiem i DFD(zachowane wejścia i wyjścia)
io/zadanie_1.txt · Last modified: 2013/11/04 13:25 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0