• Nie Znaleziono Wyników

Tworzenie oprogramowania – podejście strukturalne

N/A
N/A
Protected

Academic year: 2021

Share "Tworzenie oprogramowania – podejście strukturalne"

Copied!
20
0
0

Pełen tekst

(1)

Tworzenie oprogramowania – podejście strukturalne 1. Faza wymagań

2. Faza analizy

2.1. modelowanie danych

2.2. modelowanie procesów i przepływu danych 3. Faza projektowania

3.1. odwzorowanie diagramu konceptualnego do diagramu logicznego 3.2. uzupełnienie diagramu klas na podstawie diagramu przepływu danych

Modelowanie danych

Modelowanie danych jest realizowane za pomocą budowy modelu encji i obejmuje:

 identyfikacja encji

 identyfikację związków encji

 identyfikację i definiowanie atrybutów

Przykładem jest model CDM (Conceptual data model), który reprezentuje pełną logiczną strukturę aplikacji bazodanowej, niezależną od implementacji.

Model ten zawiera często dane, które nie są używane na poziomie fizycznej aplikacji – są to dane potrzebne do wyrażenia działania i znaczenia biznesowego aplikacji.

CDM pełni następujące role:

 reprezentuje organizacje danych w formie graficznej

 weryfikuje poprawność projektu danych

 umożliwia wygenerowanie modelu projektowego, zawierającego odniesienia do implementacji (np. do wybranego systemu baz danych).

Elementy modelu

 encje

 połączenia typu relacje

 połączenia typu dziedziczenie (wyspecjalizowana postać encji dziedziczącej po encji bazowej)

Podstawowe pojęcia:

Dziedzina – zbiór wartości określony dla poszczególnych danych

Pozycja danych – elementarna cząstka informacji

Encja – osoba, miejsce lub koncepcja reprezentująca element aplikacji lub miejsce do przechowania danych

Atrybut encji – elementarna cząstka informacji należąca do encji

Relacja – związek miedzy encjami

Połączenie typu dziedziczenie – specjalny związek definiujący encję jako wyspecjalizowany przypadek ogólnej encji

(2)

Właściwości relacji Mandatory

Właściwość relacji oznaczająca, czy związek między encjami jest mandatowy (prostokąt na diagramie) czy opcjonalny (kółko na diagramie). Związek jest mandatowy, jeżeli każda instancja encji A wymaga instancji encji B. Związek jest opcjonalny, jeżeli każda instancja encji A nie zawsze wymaga instancji encji B.

Dependent

W związku zależnym jedna encja jest identyfikowana przez drugą encję, Każda encja musi mieć identyfikator. W niektórych przypadkach atrybuty encji nie wystarczą do jednoznacznej identyfikacji jej wystąpień, stąd jest ona identyfikowana przez wartości atrybutów wystąpień innej encji, będącej z nią w zależności. Związek ten jest oznaczany na diagramie za pomocą trójkąta.

Np. W przypadku zadania, które występuje w wielu projektach, należy do jego identyfikacji użyć nazwy zadania i identyfikatora projektu

Dominant

W związku 1 do 1 można zaznaczyć dominujący kierunek relacji, co jest istotne przy generowaniu modelu logicznego (projektowego)- instancja encji B związana z instancją dominującej encji A musi zawierać jej identyfikator. W związkach 1 do 1 bez dominującej encji, instancje obu encji zawierają własne identyfikatory i instancji powiązanej.

Min Minimum – oznacza liczbę instancji encji A w relacji do encji B (w przypadku relacji mandatowej może być 1)

Max Maximum – oznacza liczbę instancji encji A w relacji do encji B (przy liczności wiele jest oznaczana jako n)

Role – tekst, który opisuje zależność encji B od encji A Liczność związków

zawiera

nalezy do

Transakcja Produkt

Jedna instancja Transakcji musi zawierać jedną instancję Produktu

dotyczy

Miejsce Bilet

Jedna instancja Miejsca może zawierać jedną instancję Biletu

(3)

wypozycza nalezy do

Klient Wypozyczenie

Jedna instancja Klienta może wypożyczyć jedną, wiele lub żadną instancję Wypozyczenia

sklada siê nalezy do

Wydzial Katedra

Jedna instancja Wydzialu musi składać się z wielu instancji Katedry. Wystąpienia encji Katedra muszą być identyfikowane przez identyfikator wystąpień encji Wydzial

rezerwuje sie

jest zarezerwowany

Tytul Rezerwacja

Jedna instancja Tytulu musi być związana z wieloma instancjami encji Rezerwacji, lub z żadną.

Wystąpienia encji Rezerwacja muszą być identyfikowane przez identyfikator wystapień encji Tytul

posiada nalezy do

Ubezpieczony Ubezpieczenie

Wiele instancji Ubezpieczony posiada wiele instancji Ubezpieczenie i jest zwykle przedstawiane w równoważnej postaci (prostej w implementacji)

jest dotyczy

posiada

nalezy do

Ubezpieczony A Ubezpieczenie

Instancja Ubezpieczony może być związana z wieloma instancjami pomocniczej encji A oraz instancja Ubezpieczenie może być związana z wieloma instancjami A. Instancje A zwierają nie powtarzające się pary powiązań do instancji encji Ubezpieczenie i Ubezpieczony.

zawiera

nalezy do

Katalog

(4)

Związek rekurencyjny (koniecznie opcjonalny) oznacza, że instancja Katalogu (plików) może być związana z wieloma instancjami Katalogu (podkatalogów plików) i każdy z nich może być związany z innymi instancjami Katalogu (podkatalogami plików). Związek musi być opcjonalny, aby mógł zawierać skończoną liczbę instancji.

nalezy

posiada nalezy

posiada

Polisa

Pracownik

Grupa or

Wykluczanie – Polisa może albo należeć do grupy osób albo do nie zrzeszonych osób

ma jest dyrektorem

posiada uczy

Szkola Nauczyciel

and

Zawieranie – W szkole uczy wielu nauczycieli, a jeden z nich jest dyrektorem szkoły.

Słowniki – poziom konceptualny Słowniki umożliwiają:

 dokumentowanie elementów modeli: encji, atrybutów encji

 uzupełnienie modeli o informacje poszerzające znaczenie modeli Relacje

(5)

Reguły biznesowe

Reguły biznesowe wyrażają lub opisują aplikację. Mogą nimi być: reguły wyrażające ustawy rządowe, wymagania użytkownika, reguły określające sposób wykonania aplikacji.

1) Reguła typu obserwacja

W bibliotece może tylko osoba zapisana do biblioteki wypożyczyć książkę

2) Reguła opisująca modelowanie np. zawieranie

Nauczyciel może uczyć w szkole i jednocześnie może być jej dyrektorem

3) Uzupełnienie oznaczeń graficznych

Wprowadzenie formuł umożliwiających walidację danych np. liczbę pewnych operacji

4) Reguły z poziomu konceptualnego

Wspomagają utworzenie modelu odpowiadającego danemu problemowi

5) Reguły z poziomu logicznego

Umożliwiają odwzorowanie modelu konceptualnego do modelu logicznego

Dziedziny danych

(6)

Encje

Atrybuty encji

Sprawdzanie poprawności modelu

(7)

Przykład modelu konceptualnego

(8)

Przykład modelu logicznego na poziomie projektowym – odwzorowanie z poziomu konceptualnego

(9)

Słowniki – poziom logiczny Dziedziny danych

Tabele

(10)

Kolumny

Powiązania

(11)

Indeksy

Odwzorowanie relacji i encji

1) Encje stają się tabelami, a atrybuty kolumnami tych tabel, każdy wiersz tabeli jest wystąpieniem encji

2) Encje dziedziczące i bazowa stają jedną tabelą, a atrybuty tych encji są kolumnami tych tabel

3) Lub każda encja bazowa i dziedziczące są osobnymi klasami

4) Lub klasy dziedziczące są osobnymi klasami i każda z nich posiada atrybuty klasy bazowej jako dodatkowe kolumny

5) Identyfikatory encji (atrybuty encji) są przekształcane w klucze główne tabel 6) W tabelach po stronie wiele pojawia się klucz obcy, który jest kluczem

głównym po stronie jeden (klucz główny tabeli PUBLISHER jest kluczem obcym w tabeli TITLE)

7) W związku jeden do jeden w obu tabelach pojawiają się klucze obce, pochodzące z tabel z drugiej strony związku, gdzie występują jako klucze główne

8) W przypadku encji dominującej w związku jeden do jeden, tylko tabela przeciwna posiada jako klucz obcy, klucz pochodzący od klasy dominującej 9) W przypadku encji zależnej (trójkąt po stronie encji zależnej umieszczony na

strzałce relacji), klucz główny z tabeli przeciwnej przenosi się do tabeli zależnej (tabela ROYSHED zawiera jako klucz główny, jedynie klucz z tabeli TITLE –TITLE_ISBN, ponieważ była w związku po stronie wiele jako klasa zależna).

(12)

Diagramy przepływu danych PAM (ProcessAnalyst Model) Modelowanie przepływu danych – faza analizy

 główny proces określający kontekst systemu

 jedną lub więcej encji zewnętrznych

 przepływy danych między encjami i procesami lub procesami i magazynami lub między procesami

PAM modeluje procesy w systemie informacyjnym – pokazuje, jak dane są odwzorowywane i pokazują funkcjonalność procesu zastosowanego do danych

Role PAM

 analiza procesów systemu

 reprezentują proces w formie modelu

 tworzą hierarchiczna strukturę procesów systemu Elementy PAM i ich interakcje:

 dane (elementarne dane)

 zewnętrzne encje

 procesy

 przepływy danych

 łączenie i podział danych między źródłami danych

 magazyny danych

Diagram kontekstowy aplikcji

Diagram kontekstowy aplikacji pozwala określić główny cel modelu przepływu danych – źródło danych reprezentowane przez encję zewnętrzną i główną funkcję modelu reprezentowaną przez proces nadrzędny (1 poziom w hierarchii procesów).

Informacje o publikcji User

1 Publiction

System

Drzewo procesów

(13)

Poziom 1 – proces Publish

(14)

Dekompozycja procesu: poziomy 1.1 (podproces Select) i 1.2 (podproces Print)

(15)

Przepływy danych

Na diagramie przepływu strzałka określa kierunek przepływu danych między encją zewnętrzną i procesem.

Przepływ danych łączy proces z encjami lub magazynami danych lub innym procesem. W procesie mogą wystąpić następujące operacje, które mogą czytać lub modyfikować dane:

tworzenie danych, czytanie danych (domyślne), zmiana danych, usuwanie danych. Przepływ danych przez magazyn danych nie zmienia danych: te same dane wpływają do magazynu i te same dane wypływają z tego magazynu.

Właściwosci przepływu danych

Przepływ danych: Manuscripts proposal (z encji zewnętrzej Author do podprocesu Select)

(16)

Przepływ danych: Accepted manuscripts (z podprocesu Select do magazynu danych Manuscripts pending)

Przepływ danych: Send manuscripts (z magazynu danych Manuscripts pending do procesu Print)

(17)

Przepływ danych: Send direct (z podprocesu Select do podprocesu Print)

Przepływ danych: Sends books (z podprocesu Print do encji zewnętrznej Bookstore)

(18)

Procesy

Proces (funkcja aplikacji) reprezentuje transformacje danych np. wybór manuskryptu polega na tym, że dane są wysłane do tego procesu Select w formie manuskryptu. Podczas selekcji manuskrypt jest przygotowany do druku i drukowany w procesie Print lub wstawiany w drugim przepływie danych w kolejkę do wydruku lub odstawiany do magazynu danych Manuscripts pending

(19)

Zewnetrzne encje

Zewnętrzna encja reprezentuje źródło danych na diagramie (jedna z encji lub jej część z diagramu encji, określająca dane wejściowe w procesie przepływu danych lub dane wyjściowe procesu przepływu danych.

Mogą to być całe encje z diagramu encji lub jej niektóre atrybuty).

Magazyny danych

Magazyn danych reprezentuje często encje z diagramu encji lub pojemnik na atrybuty należące do różnych encji. Wykorzystany jest on w sytuacjach, gdy dane należy odłożyć np. po przejściu przez proces Select, który dokonuje selekcji danych i tylko część z nich przepływa do innego procesu Print, a reszta jest wstawiana do magazynu danych – manuskrypty w przykładzie są przechowywane w magazynie Manuscripts pending

(20)

Modelowanie przepływu danych – faza projektu

Przepływy danych między magazynem danych Manuscripts pending i procesami Select i Print

Przepływ danych między procesami Select i Print Tablice CRUD - (Create, Read, Update, Delete)

 proces/magazyny danych

 proces/dane pokazują połączenie między danymi i procesami oraz typ operacji Tablice te dostarczają następujące informacje:

 śledzenie i kontrolę kolejności przetwarzania danych

 rolę magazynu danych jako części tabel i lub zbiorem atrybutów należących częściowo do jednej lub wielu encji

 określenie praw dostępu dla użytkownika systemu

Cytaty

Powiązane dokumenty

Dalsze podwyżki stóp w Stefie euro nie tylko zmniejszają dysparytet stóp procentowych i presję na wzmocnienie złotego (choć uważamy, że czynnik ten nie był

Je li ucze poprawnie rozwi zuje zadanie inn metod ni wskazana w schemacie punktowania, otrzymuje maksymaln liczb punktów.. Je li ucze podaje tylko odpowied , nie otrzymuje punktów

w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE, w

Sporządź diagram związków encji (ERD) w III – ciej postaci normalnej, dla relacyjnej bazy danych obsługującej całoroczny Puchar Świata w żeglarskiej klasie FINN

 dziennik (ang. log) lub dzienniki - zapisywanie wszystkich zmian w bazie danych do specjalnego dziennika (logu), aby w razie potrzeby móc:.. o dla nie zatwierdzonej

Wskaż na diagramie z zadania 1 asocjację, która w naturalny sposób kwalifikuje się do zamiany na kompozycję lub agregację (lub dopisz, jeśli brak).. Uzasadnij swój

Na podstawie art. Administratorami Pani/a danych osobowych są: Miejski Ośrodek Pomocy Rodzinie w Tarnobrzegu z siedzibą ul. Kontakt z Inspektorami Ochrony Danych

Każdy projekt może być realizowany przez jednego lub wielu pracowników... Model