Tworzenie warstwy zasobów projektowanie metodą strukturalną

Podobne dokumenty
Tworzenie modelu konceptualnego systemu informatycznego część 1

Tworzenie modelu przypadków użycia część 1 Diagramy przypadków użycia Wykład2

Diagramy przypadków użycia Wykład2

Model przypadków użycia - rola diagramów przypadków użycia Część 1 Wykładowca Dr inż. Zofia Kruczkiewicz

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Język UML w modelowaniu systemów informatycznych

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Modelowanie obiektowe - Ćw. 3.

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramy czynności Na podstawie UML 2.0 Tutorial

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

Systemy informatyczne. Modelowanie danych systemów informatycznych

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Diagram przypadków użycia

Modelowanie i analiza systemów informatycznych Spis treści

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Diagramy przypadków użycia

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Diagramy przypadków użycia

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

Świat rzeczywisty i jego model

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Rysunek 1: Przykłady graficznej prezentacji klas.

Autor: Joanna Karwowska

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Wykład 2 część pierwsza

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Projektowanie logiki aplikacji

Projektowanie BAZY DANYCH

Przykład 1 Iteracja 1 tworzenia oprogramowania

Baza danych sql. 1. Wprowadzenie

Technologie baz danych

Technologia informacyjna

Specyfikowanie wymagań przypadki użycia

1 Projektowanie systemu informatycznego

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

IX Konferencja Informatyki Stosowanej

Język UML w modelowaniu systemów informatycznych

UML w Visual Studio. Michał Ciećwierz

Analiza i programowanie obiektowe 2016/2017. Wykład 6: Projektowanie obiektowe: diagramy interakcji

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Projekt INP Instrukcja 1. Autor Dr inż. Zofia Kruczkiewicz

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Modelowanie i analiza. warstwy biznesowej aplikacji

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 2

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Podstawy programowania III WYKŁAD 4

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Faza analizy (modelowania) Faza projektowania

Projektowanie Systemów Informacyjnych

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

Bazy danych i usługi sieciowe

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Analiza i projektowanie aplikacji Java

UML. zastosowanie i projektowanie w języku UML

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Tworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP

Agenda. Cele projektu Wizja projektu Modelowanie biznesowe Wymagania użytkownika Przypadki użycia

Programowanie obiektowe

Zadanie 1. Suma silni (11 pkt)

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Programowanie obiektowe

Jerzy Skalski s9473, grupa WIs I.6-11c. System wspierający obsługę klienta dla firm sprzedających na Allegro

Posługiwanie się tabelami

slajd 1 Model przypadków użycia Anna Bobkowska

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Laboratorium 8 Diagramy aktywności

Modelowanie danych, projektowanie systemu informatycznego

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Diagramy klas. dr Jarosław Skaruz

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek

Podstawy modelowania w języku UML

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 5 Ćwiczenia w narzędziu CASE diagram przypadków uŝycia. Materiały dla nauczyciela

Inżynieria oprogramowania II

Technologia programowania

Charakterystyka oprogramowania obiektowego

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Biblioteka. Bazy danych I dokumentacja projektu. Cel projektu:

problem w określonym kontekście siły istotę jego rozwiązania

Transkrypt:

Tworzenie warstwy zasobów projektowanie metodą strukturalną Autor Zofia Kruczkiewicz Programowanie i wdrażanie systemów informatycznych 2011-03-27 1

1. Zasady modelowania wymagań funkcjonalnych systemu za pomocą przypadków użycia http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/analizasi/wykladasi3.pdf Identyfikacja aktorów i przypadków użycia przypadek prostego systemu Należy wyznaczyć granice systemu w ramach środowiska Należy zdefiniować wymagania systemu: należy podać użytkowników - aktorów systemu, zależności między aktorami typu dziedziczenie (generalization) lub powiązanie (association), oczekiwane funkcje systemu (przypadki użycia), powiązania między aktorami i przypadkami użycia oraz zależności między przypadkami użycia Należy opisać każdy przypadek użycia np. wg szablonu podanego dalej 2011-03-27 2

Powtórka: Diagramy przypadków użycia UML 2011-03-27 Powtórka 3

Związek miedzy aktorami typu Generalization Actors mogą genaralizować innych Actors. Oznacza to dziedziczenie funkcji (przypadków użycia) przez aktora CommercialCustomer od aktora Customer oraz korzystanie z nowych przypadków użycia 2011-03-27 Powtórka 4

Association Customer Bank Teller Związek miedzy aktorami typu Association Actors mogą być powiązani z innymi Actors, czyli mogą pośredniczyć w dostępie do przypadków użycia. Oznacza to, że aktor Customer za pośrednictwem aktora BankTeller korzysta z jego przypadków użycia 2011-03-27 Powtórka 5

Przypadek uŝycia (Use Cases) Jednostka pracy Wysoki poziomom zewnętrznej obserwacji systemu Notacja elipsa <<>> znak stereotypu oznaczającego właściwości związku Związek uŝycia przypadku uŝycia <<use>> Np. aktor Customer uŝywa przypadku uŝycia Withdraw (pobiera pieniądze np. z konta) 2011-03-27 Powtórka 6

Opis aktorów AKTOR Nazwa OPIS Opis celu i obowiązków PRZYPADKI UŻYCIA Lista używanych przypadków użycia powiążanych wprost lub przez dziedziczenie od innych aktorów Powtórka 7

Szablon opisu przypadku użycia: Nazwa i opis Wymagania funkcjonalne spełniane dla użytkownika Ograniczenia warunki przed- po- przypadku użycia oraz nie zmieniające się na skutek wykonania przypadku użycia Scenariusze sekwencja zdarzeń między systemem i zewnętrznymi użytkownikami (opis tekstowy) Diagramy scenariuszy diagramy sekwencji Dodatkowe informacje np. identyfikacja karty płatniczej przed dokonaniem wyciągu z konta 2011-03-27 Powtórka 8

Test PU (przykład): dodawanie nowego zakupu Dane wejściowe: Dane rachunku, dane produktu oraz jego ilość Dane wyjściowe: Powstanie nowego zakupu, jeśli rachunek nie zawierał zakupu tego samego produktu Zwiększenie ilości zakupionego produktu o nową ilość, jeśli rachunek zawierał już zakup tego samego produktu 2011-03-27 Powtórka 9

Powiązania (Association) liczność związku Liczność instancji na końcu połączenia Np. aktor Klient (Customer) ma tylko jedną sesję wypłacania pieniędzy w danym momencie (Withdraw) natomiast Bank moŝe mieć ich wiele w tym samym czasie 2011-03-27 Powtórka 10

Zawieranie <<includes>> Przypadek uŝycia zawiera jeden lub wiele innych przypadków uŝycia eliminując powtarzanie funkcjonalności systemu dzięki tej wielouŝywalności, czyli zawieraniu np.pobranie z konta (Withdraw) zawsze zawiera identyfikację karty (Card identification) 2011-03-27 Powtórka 11

Rozszerzanie <<extends>> Jeden przypadek uŝycia moŝe być uŝyty do rozszerzenia właściwości drugiego przypadku uŝycia Np. Przypadek uŝycia Zezwolenie (Get Approval) opcjonalnie rozszerza właściwości przypadku uŝycia Modyfikuj zlecenie (Modify Order) 2011-03-27 Powtórka 12

Punkty rozszerzające (Extension Points) np..punkt, w którym rozszerzany przypadek uŝycia Wykonanie tranzakcji (Perform Transaction) jest rozszerzany przez rozszerzajacy przypadek uŝycia Pomoc (On-Line Help) zgodnie ze znaczeniem punktu rozszerzania np. przez wybór (selection) 2011-03-27 Powtórka 13

Granice systemu (System Boundary) Zazwyczaj aktorzy są na zewnątrz systemu, a przypadki uŝycia wewnątrz systemu. 2011-03-27 Powtórka 14

Związek miedzy aktorami typu Generalization Actors mogą genaralizować innych Actors. Oznacza to dziedziczenie funkcji (przypadków użycia) przez aktora CommercialCustomer od aktora Customer oraz korzystanie z nowych przypadków użycia 2011-03-27 Powtórka 15

Association Customer Bank Teller Związek miedzy aktorami typu Association Actors mogą być powiązani z innymi Actors, czyli mogą pośredniczyć w dostępie do przypadków użycia. Oznacza to, że aktor Customer za pośrednictwem aktora BankTeller korzysta z jego przypadków użycia 2011-03-27 Powtórka 16

Przypadek uŝycia (Use Cases) Jednostka pracy Wysoki poziomom zewnętrznej obserwacji systemu Notacja elipsa <<>> znak stereotypu oznaczającego właściwości związku Związek uŝycia przypadku uŝycia <<use>> Np. aktor Customer uŝywa przypadku uŝycia Withdraw (pobiera pieniądze np. z konta) 2011-03-27 Powtórka 17

Powiązania (Association) liczność związku Liczność instancji na końcu połączenia Np. aktor Klient (Customer) ma tylko jedną sesję wypłacania pieniędzy w danym momencie (Withdraw) natomiast Bank moŝe mieć ich wiele w tym samym czasie 2011-03-27 Powtórka 18

Zawieranie <<includes>> Przypadek uŝycia zawiera jeden lub wiele innych przypadków uŝycia eliminując powtarzanie funkcjonalności systemu dzięki tej wielouŝywalności, czyli zawieraniu np.pobranie z konta (Withdraw) zawsze zawiera identyfikację karty (Card identification) 2011-03-27 Powtórka 19

Rozszerzanie <<extends>> Jeden przypadek uŝycia moŝe być uŝyty do rozszerzenia właściwości drugiego przypadku uŝycia Np. Przypadek uŝycia Zezwolenie (Get Approval) opcjonalnie rozszerza właściwości przypadku uŝycia Modyfikuj zlecenie (Modify Order) 2011-03-27 Powtórka 20

Punkty rozszerzające (Extension Points) np..punkt, w którym rozszerzany przypadek uŝycia Wykonanie tranzakcji (Perform Transaction) jest rozszerzany przez rozszerzajacy przypadek uŝycia Pomoc (On-Line Help) zgodnie ze znaczeniem punktu rozszerzania np. przez wybór (selection) 2011-03-27 Powtórka 21

Granice systemu (System Boundary) Zazwyczaj aktorzy są na zewnątrz systemu, a przypadki uŝycia wewnątrz systemu. 2011-03-27 Powtórka 22

Identyfikacja aktorów i przypadków użycia przypadek prostego systemu 1. Należy wyznaczyć granice systemu w ramach środowiska 2. Należy zdefiniować wymagania systemu: należy podać użytkowników - aktorów systemu, zależności między aktorami typu dziedziczenie (generalization) lub powiązanie (association), oczekiwane funkcje systemu (przypadki użycia), powiązania między aktorami i przypadkami użycia oraz zależności między przypadkami użycia 3. Należy opisać każdy przypadek użycia wg szablonu 2011-03-27 Powtórka 23

Odp.1: Wytyczne przy modelowaniu granic systemu Należy zidentyfikować aktorów działających wokół systemu. Oznacza to wyznaczenie grup użytkowników korzystających w określonym celu z projektowanego systemu (zarządzanie, pielęgnacja, usługi) Należy uporządkować aktorów wg zależności typu powiązanie np. Klient korzysta z usług Sprzedawcy lub dziedziczenia: Komercyjny Klient dziedziczy przypadki użycia od Klienta Należy powiązać aktorów z przypadkami użycia za pomocą powiązań nadając im zidentyfikowane znaczenie za pomocą stereotypu wg podanych definicji 2011-03-27 Powtórka 24

Odp.2: Wytyczne przy modelowaniu wymagań stawianych systemowi Należy określić otoczenie systemu, czyli zidentyfikować aktorów Dla każdego aktora należy podać działania, jakie każdy aktor oczekuje od systemu (osiągnięcie celu przez aktora) Działania należy zapisać jako przypadki użycia Należy wyłączyć powtarzające się ciągi działań i zastąpić je jednym nowym połączonym relacją <<include>> lub <<extends>> lub <<use>> lub zwykłym powiązaniem typu association bez stereotypu Należy uwzględnić tych aktorów, przypadki użycia oraz zidentyfikowane powiązania między nimi Można dodać do każdego aktora i przypadku użycia notatkę opisującą wymagania niefunkcjonalne (np. sprzęt, język, korzystanie z Internetu) 2011-03-27 Powtórka 25

Odp.3: Wytyczne przy modelowaniu przypadków użycia Należy opisać główny i nadzwyczajne ciągi zdarzeń każdego przypadku użycia podając: czynności i dane używane podczas działania przypadku użycia Należy zdefiniować testy systemu w odniesieniu do wybranego aktora i powiązanego za nim jednego lub grupy przypadków użycia podając stan początkowy i końcowy oznaczający powodzenie testu przypadku użycia (np. Wstawianie nowej książki jest możliwe tylko wtedy, gdy istnieje już jej tytuł w katalogu oraz posiada unikatowy numer. Po wstawieniu tej książki nie może być dwóch książek o tym samym numerze) 2011-03-27 Powtórka 26

Przykłady Przykłady wymagań i opisu przypadków użycia (slajdy 11-20) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/analizasi/wykladasi5_1.pdf Przykłady opisu biznesowego, wymagań i opisu przypadków użycia (slajdy 3-13) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/analizasi/laboratorium2_3_4.pdf 2011-03-27 Powtórka 27

2. Identyfikacja encji w diagramie związków encji na podstawie opisów przypadków użycia (na podstawie Lech Banachowski, BazyDanych, Tworzenie aplikacji) Dane przechowywane w bazie danych służą do odpowiedzi na polecenia (pytania, wstawianie, usuwanie i modyfikacja) wynikające z przypadków użycia. W tym celu należy zidentyfikować dane występujące w przypadkach użycia zarówno te, które należy dostarczyć oraz te, które należy uzyskać. Należy zaprojektować pośredni model między wymaganiami przedstawionymi za pomocą przypadków użycia a docelowym schematem bazy danych czyli diagram związków encji ERD. Ten pośredni model powinien w sposób jednoznaczny wyrażać wymagania użytkowników, umożliwiające klientowi sprawdzenie, czy analityk systemu dobrze zrozumiał ich intencje i specyfikę działania firmy. Ten pośredni model jest prostszy od schematu bazy danych, ponieważ abstrahuje od szczegółów implementacyjnych, które muszą być później opracowane przez projektanta bazy danych, aby baza danych mogła powstać i spełniać pozostawione przed nią zadania. 2011-03-27 28

2.1. Definicje związane z diagramem związków encji: Encja (obiekt) coś, co istnieje, co jest odróżniane od innych, o czym informację trzeba znać lub przechowywać. Encje o tych samych własnościach tworzą zbiory encji. Na diagramie encje prezentuje się za pomocą prostokąta z podaną nazwą oznacza to typ encji, gdyż encja jest traktowana jako konkretny egzemplarz encji np., Tytul_ksiazki Atrybut jest to własność encji danego typu, reprezentowana pewną wartością np. łańcuch znaków, liczba całkowita, liczba rzeczywista itp. Atrybut powinien opisywać encję, przy której się go umieszcza. Należy odróżnić atrybuty, które: atrybuty opisujące dane encję (są jej atrybutami rodzonymi ), atrybuty reprezentujące związki danej encji z innymi encjami. 2011-03-27 29

W pierwszej fazie projektowania identyfikuje się tylko atrybuty opisujące daną encję. Dla każdego egzemplarza encji każdy jej atrybut opisujący powinien przyjmować pojedynczą, atomową wartość. W jednej chwili encja powinna mieć tylko jedną wartość dla każdego atrybutu. Związek jest to uporządkowana lista encji, poszczególne encje mogą występować wielokrotnie. Każdy związek określa pewną relację między zbiorami egzemplarzy encji wchodzącymi w skład związku. Relację nazywamy instancją związku. Związek jest opisywany przy użyciu zdania zawierającego nazwy encji, których dotyczy i określającego, na czym ten związek polega. 2011-03-27 30

Typy związków związek wieloznaczny, czyli wiele do wiele np. Na podstawie związku między Pracownikiem i Projektem można powiedzieć, że wielu Pracownikach pracuje w jednym Projekcie i jeden Pracownik pracuje w wielu Projektach związek jednoznaczny, czyli wiele do jeden, jeden do wiele Przykładem związku jeden do wiele: Tytul jest na wielu Ksiażkach Przykładem związku wiele do jeden: Wiele Książek ma jeden Tytul związek jedno-jednoznaczny, czyli jeden do jeden Każdy Produkt może być kupiony, ale każdy Zakup dotyczy tylko jednego Produktu 2011-03-27 31

Informacje o relacjach Każdy fakt przechowywany w bazie danych powinien być wyrażany w niej tylko na jeden sposób Informacja o Tytule powinna być zapisana tylko w jednym miejscu, a nie przy każdej książce, która ma ten Tytul. Jeśli zapisujemy informacje o Wypożyczeniu Książki, to nie ma potrzeby zapisywania informacji o Tytule, gdyż można te informację wyprowadzić z Książki Jeśli istnieją dwie odrębne encje w systemie sprzedaży: Pracownik i Klient, i jeśli Pracownik jest jednocześnie Klientem firmy, wówczas jego dane będą zapisane w dwóch różnych miejscach Każda dana w modelu powinna być istotna z punktu widzenia np. firmy Każda dana ważna w firmie, powinna być uwzględniona w modelu 2011-03-27 32

2.2. Identyfikacja encji oraz ich atrybutów opisujących encje i związki http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/analizasi/wykladasi5_1.pdf Przykłady opisu biznesowego, wymagań i opisu przypadków użycia (slajdy 3-13) Nazwa przypadków użycia PU (podstawowe operacje na danych) Atrybuty rodzone Atrybuty reprezentujące związki Atrybut identyfikujący encję Nazwa Encji Szukanie produktu Nazwa Cena Podatek Promocja Id_produktu Produkt Wstawianie nowego produktu Nazwa Cena Podatek Promocja Id_produktu Produkt 2011-03-27 33

2011-03-27 34 Produkt Id_produktu Zakup Id_zakupu Rachunek Numer_rachunku Numer_rachunku Wartosc_rachunku (atrybut wyliczeniowy= Cena_brutto, Ilosc_produktu) Cena_brutto (atrybut wyliczeniowy= Cena, Podatek, Promocja) Podatek Obliczanie wartosci rachunku Id_produktu Id_zakupu Rachunek Zakup Produkt Numer_rachunku Numer_rachunku Id_produktu Numer_rachunku Ilosc_produktu Nazwa Cena Podatek Promocja Wstawianie nowego zakupu Rachunek Numer_rachunku Numer_rachunku Wstawianie nowego rachunku Rachunek Numer_rachunku Numer_rachunku Szukanie rachunku

Identyfikacja liczności związków Rachunek zawiera informację o wielu Zakupach (pozycja rachunku) jeden do wiele, Rachunek może istnieć bez Zakupow jeden do wiele..0 Zakup należy do Rachunku wiele do jeden, Zakup nie może istnieć bez Rachunku wiele..0 do jeden Zakup zawiera dane o zakupionym Produkcie - jeden do jeden, w tym samym Rachunku może wystąpić tylko jeden Zakup z danym typem Produktu, można zwiększyć Ilosc_produktu, Produkt może istnieć bez Zakupu jeden do jeden..0 2011-03-27 35

Diagram reprezentujący encje, atrybuty encji oraz związki między encjami 2011-03-27 36