Podstawy programowania III WYKŁAD 4



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

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

INŻYNIERIA OPROGRAMOWANIA. laboratorium

Podstawy projektowania systemów komputerowych

Podstawy inżynierii oprogramowania

Spis treúci. 1. Wprowadzenie... 13

Podstawy modelowania programów Kod przedmiotu

Wykład 1 Inżynieria Oprogramowania

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Modelowanie i analiza systemów informatycznych

IO - inżynieria oprogramowania. dr inż. M. Żabińska, zabinska@agh.edu.pl

UML. dr inż. Marcin Pietroo

UML cz. II. UML cz. II 1/38

Michał Adamczyk. Język UML

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

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

UML w Visual Studio. Michał Ciećwierz

Modelowanie obiektowe

MiASI. Modelowanie systemów biznesowych. Piotr Fulmański. 7 stycznia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

UML (Unified Modeling Language jest to sposób formalnego opisu modeli reprezentujących projekty informatyczne.

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

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

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

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

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

Inżynieria oprogramowania

Diagramy klas. WYKŁAD Piotr Ciskowski

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

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

TECHNOLOGIE OBIEKTOWE. Wykład 3

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

MODELOWANIE OBIEKTOWE

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Unified Modeling Language

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Faza analizy (modelowania) Faza projektowania

Podstawy programowania III WYKŁAD 5

Projekt z przedmiotu Projektowanie systemów teleinformatycznych

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Opis. Liczba godzin zajęć dydaktycznych z

Narzędzia CASE dla.net. Łukasz Popiel

Egzamin / zaliczenie na ocenę*

Diagramy czynności Na podstawie UML 2.0 Tutorial

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

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

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

UML cz. III. UML cz. III 1/36

Modelowanie obiektowe - Ćw. 3.

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

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Świat rzeczywisty i jego model

Etapy życia oprogramowania

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Język UML w modelowaniu systemów informatycznych

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

UML. zastosowanie i projektowanie w języku UML

Tytuł pracy: PRACA MAGISTERSKA AUTOR: KRAKÓW, Marzec 2011 Promotor pracy :

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

WPROWADZENIE DO UML-a

INŻYNIERIA OPROGRAMOWANIA

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Inżynieria oprogramowania II

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

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Modelowanie i analiza systemów informatycznych Spis treści

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

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

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Inżynieria oprogramowania

Podstawy języka UML2 w realnych projektach

Projekt aplikacji internetowej specyfikacja wymagań (cz.1)

Diagram przypadków użycia

Zasady organizacji projektów informatycznych

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Diagramy klas. dr Jarosław Skaruz

Projekt systemu informatycznego

Zagadnienia Semestr IV Inżynieria Oprogramowania WSZiB

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

PROJEKT SYSTEMU EWIDENCJI ZLECEŃ DLA FIRMY PROJEKTUJĄCEJ STRONY INTERNETOWE

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Charakterystyka oprogramowania obiektowego

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

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

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Wykład I. Wprowadzenie do baz danych

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

PRZEWODNIK PO PRZEDMIOCIE

UML cz. I. UML cz. I 1/1

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

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

Transkrypt:

Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1

Podstawy UML-a 2

UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy. Graficzna reprezentacja systemu diagramy. Różne diagramy koncentrują się na różnych aspektach modelowanego systemu. 3

Wybrane diagramy UML Diagramy struktury Diagramy klas, obiektów, pakietów Diagramy komponentów i rozlokowania Diagramy dynamiki (zachowań) Diagram przypadków użycia Diagram czynności Diagram maszyny stanowej Diagram sekwencji 4

Diagram przypadków użycia Określa jakie usługi system udostępnia swoim użytkownikom. Podstawowe pojęcia: Aktor Kto korzysta z systemu Przypadek użycia Co system może zrobić Związki powiązania między elementami modelu. 5

Diagram przypadków użycia c.d. Wyświetl listę towarów Klient Kup towar 6

Scenariusze Diagram przypadków użycia są bardzo ogólne Dokładniejszą dokumentację przypadku użycia stanowią scenariusze Scenariusz: szczegółowy przebieg zdarzeń związanych z realizacją danego przypadku użycia, warunki wstępne i końcowe inne informacje związane z danym przypadkiem użycia 7

Diagram klas Statyczny obraz struktury systemu klasy i powiązania między klasami Jeden z najczęściej stosowanych diagramów Podobnym diagramem, ale reprezentującym strukturę systemu w określonej chwili jest diagram obiektów 8

Klasa Nazwa klasy Atrybuty Metody Student imie nazwisko nr_indeksu... student() generujindeks() weryfikuj() 9

Notacja atrybutów i metod Widoczność: prywatne (-), publiczne (+), chronione (#) Statyczne podkreślone Atrybuty wyszczególnienie typu, wartości początkowe Metody wyszczególnienie parametrów i ich typów, wartości domyślnych parametrów 10

Notacja atrybutów i metod c.d. Student - imie : String - nazwisko : String - nr_indeksu : Integer - grupa : Integer = 0 + student() + generujindeks() : Integer # weryfikuj(nr_ind : Integer) : Boolean 11

Związki między klasami Klasa1 Klasa1 Klasa1 Klasa1 Klasa2 Klasa2 Klasa2 Klasa2 Asocjacja Dodatkowe symbole mogą dokładniej specyfikować rodzaj Agregacja Kompozycja (Agregacja zupełna) Uogólnienie 12

Diagram czynności Diagram opisujący dynamikę systemu Przedstawia przepływy sterowania oraz danych pomiędzy uporządkowanymi ciągami czynności Zastosowania: modelowanie procesów biznesowych przedstawianie scenariuszy przypadków użycia przedstawianie algorytmów i sekwencji operacji 13

Diagram czynności c.d. Początek Czynność lub akcja Wprowadź login Przepływ sterowania Wprowadź hasło Koniec 14

Diagram maszyny stanowej Ilustruje dopuszczalne stany i przejścia między stanami określonego obiektu. Model maszyny stanowej modelowany układ znajduje się w jednym z dopuszczalnych stanów pomiędzy stanami dopuszczalne są określone przejścia (zmiany stanów) 15

Diagram maszyny stanowej c.d. Pseudo-stan początkowy Stan Użytkownik wylogowany Przejście Użytkownik zalogowany Pseudo-stan końcowy 16

Diagram sekwencji Przedstawia interakcje między elementami systemu Zgodnie z modelem obiektowym system reprezentowany jest przez zbiór obiektów i wymienianych między nimi komunikatów 17

Diagram sekwencji c.d. Obiekt1 Obiekt2 Obiekt Obiekt3 Linia życia obiektu X Komunikat 18

Autoryzacja przypadki użycia 19

Scenariusz - Zaloguj Przypadek użycia: Zaloguj Aktorzy: User, Admin Warunki wstępne: użytkownik niezalogowany Warunki końcowe: użytkownik zalogowany Główny przepływ zdarzeń: 1. System wyświetla formularz logowania 2. Użytkownik wpisuje login i hasło 3. Użytkownik zatwierdza dane 4. System wyświetla informację o zalogowanym użytkowniku Alternatywny przebieg zdarzeń: 4a. W przypadku niepoprawnych danych system ponownie wyświetla formularz logowania 20

Scenariusz - Wyloguj Przypadek użycia: Wyloguj Aktorzy: User, Admin Warunki wstępne: użytkownik zalogowany Warunki końcowe: użytkownik niezalogowany Główny przepływ zdarzeń: 1. Użytkownik wybiera z panelu operację wylogowania 2. System wyświetla formularz logowania Alternatywny przebieg zdarzeń: --- 21

Diagram czynności - Zaloguj 22

Diagram czynności - Wyloguj 23

Diagram klas 24

Diagram sekwencji - Zaloguj 25

Diagram sekwencji - Wyloguj 26

Projektowanie aplikacji Analiza wymagań identyfikacja aktorów i przypadków użycia Tworzenie opisów (scenariuszy) przypadków użycia. Identyfikowanie klas, atrybutów i operacji Identyfikowanie zależności między klasami Analiza dynamiki systemu diagramy czynności, sekwencji, stanów 27

Scenariusze Tworzone na bazie opowieści użytkownika - tzn. opisów oczekiwanego zachowania systemu. System punktowy - 1 punkt to np. ~0.5 dnia kodowania. Koszt scenariuszy: - 1,2 lub 3 punkty. Scenariusze łatwiejsze powinny być scalane, trudniejsze podzielone na mniejsze. 28

Identyfikowanie klas Metoda rzeczowników i czasowników: Przeglądamy opisy użytkownika i scenariusze Rzeczowniki mogą być dobrymi kandydatami na klasy lub atrybuty (formularz, student, grupa) Czasowniki i opisy czynności kandydaci na metody (ustaw, pobierz, zmień, uruchom) Klasy zbyt małe łączymy, zbyt złożone dzielimy na mniejsze. 29

Modele tworzenia oprogramowania Model kaskadowy. Poszczególne etapy wykonywane kolejno: planowanie, projektowanie, implementacja, testowanie, wdrożenie Model iteracyjny (przyrostowy). Ogólny projekt systemu Wybór części systemu i jego realizacja Wybór kolejnej części systemu... 30

Model iteracyjny Określenie zbioru scenariuszy realizowanego w ramach iteracji. Koszt zbioru scenariuszy (punkty). Weryfikacja oszacowań kosztu scenariuszy po każdej iteracji. Weryfikacja wymagań klienta po każdej iteracji Krótkie iteracje np. 2 tygodnie 31

Implementacja Wytwarzanie sterowane testami (TDD) Refaktoryzacja Stosowanie wzorców projektowych Automatyzacja procesu budowania i testowania systemu Kontrola wersji 32

Modelowanie UML - Umbrello WWW: http://uml.sourceforge.net/ Program do tworzenia diagramów UML Dostępny jako oprogramowanie Open Source Wersje dla Windows i Linux-a Możliwość eksportowania i importowania (C++) kodu. 33

Umbrello c.d. 34

Umbrello c.d. 35

Umbrello c.d. 36

Umbrello c.d. 37

Podsumowanie Podstawowe diagramy UML-a Przykład wykorzystania diagramów UML-a Elementy inżynierii oprogramowania Umbrello UML Modeller 38