Inżynieria Oprogramowania Laboratorium

Slides:



Advertisements
Podobne prezentacje
UML 2.x Robert Pająk.
Advertisements

Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Światowy Dzień Zdrowia 2016 Pokonaj cukrzycę. Światowy Dzień Zdrowia 7 kwietnia 2016.
Nauczanie na odległość Dr inż. Marlena Plebańska.
Czy wiesz, że?... INTERNET …TO JEST SPIS TREŚCI NIEBEZPIECZEŃSTWO SPOŁECZNOŚĆ INTERNETOWA DZIECKO W INTERNECIE ZAUFANE STRONY INTERNETOWE WIRUSY.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
Teoria gry organizacyjnej Każdy człowiek wciąż jest uczestnikiem wielu różnych gier. Teoria gier zajmuje się wyborami podejmowanymi przez ludzi w warunkach.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Portale społecznościowe. Serwis społecznościowy  to serwis internetowy, który istnieje w oparciu o zgromadzoną wokół niego społeczność. Tworzy tak zwane.
Sposób oraz zakres gromadzonych informacji regulują następujące przepisy prawne: 1.ustawa z dnia 19 lutego 2004 r. o systemie informacji oświatowej (Dz.
Warstwa biznesowaWarstwa techniczna ??? To przejście jest połączone z innym procesem To przejście wywołuje samowyzwalacz To przejście jest warunkowe.
Ryzyko a stopa zwrotu. Standardowe narzędzia inwestowania Analiza fundamentalna – ocena kondycji i perspektyw rozwoju podmiotu emitującego papiery wartościowe.
… przemy ś lenia pedagogiczne. „Najważniejszym okresem w życiu nie są lata studiowania na wyższej uczelni, ale te najwcześniejsze, czyli okres od narodzenia.
Algorytmy Informatyka Zakres rozszerzony
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
„Gdański model aktywizacji społeczności lokalnych” Gdańsk, 27 kwietnia 2009.
Model warstwowy OSI Model OSI (Open Systems Interconnection) opisuje sposób przepływu informacji między aplikacjami programowymi w jednej stacji sieciowej.
Praca dyplomowa inżynierska Temat: Informatyczny system edukacyjny do przedmiotu „Podstawy Kryptologii” Dyplomant: Ewelina Bogusz Promotor: prof. zw.,
Wieloaspektowa analiza czasowo- kosztowa projektów ze szczególnym uwzględnieniem kryterium jakości rozwiązań projektowych AUTOR: ANNA MARCINKOWSKA PROMOTOR:
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Wprowadzenie do baz danych. Terminologia Specyfika baz danych (1) 1.Trwałość danych –Długi czas życia – kilka, kilkadziesiąt, kilkaset lat –Niezależność.
Cykl życia systemu bazy danych. Cyklem życia systemu bazy danych nazywamy zbiór kroków niezbędnych do zaprojektowania globalnego schematu logicznego bazy.
Urządzenia i technologie mobilne. Tablet Mobilny komputer większy niż telefon komórkowy, którego główną właściwością jest posiadanie dużego ekranu z zastosowaną.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
Co to Internet? Internet (skrótowiec od ang. inter-network, dosłownie "między- sieć") – ogólnoświatowa sieć komputerowa, określana również jako sieć sieci.
Moduł SDI – zasilanie węzłów IIP oraz wykorzystanie danych. Wprowadzenie. Szkolenie przeprowadzone w ramach projektu „TERYT 3 – Rozbudowa systemów do prowadzenia.
Język Java Paweł Rajba
Dziedziczenie, polimorfizm, Interfejsy
Rola książki w życiu człowieka
Ucz i ucz się z TIK!.
Systemy eksperckie i sztuczna inteligencja
T.15 Wybór narzędzi dla reengineeringu (szczegóły).
i otwarta platforma IT Uniwersytet Warszawski (Centrum Deliberacji IS)
Schematy blokowe.
T. 16 e Proces DGA - opis ogólny.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Symulacja procesu BPMN
Prezentacja o Ubuntu Jakub Kociemba 2TI.
Akademia C# lab. 9 Zdarzenia i delegaty.
Który system wybrać?.
Budowa, typologia, funkcjonalność
Optymalizacja programów Open-Source
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Wstęp do Informatyki - Wykład 9
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Wykorzystanie aplikacji użytkowych do przeprowadzenia cyberataku
Inżynieria Oprogramowania Laboratorium
Dobieranie komputera Podzespoły.
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Bartosz Kowkrak i Aleksander Szydłowski.
Git - system kontroli wersji
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Programy do zarządzania kancelarią prawną
The Game Engine For Mobile
Tornister Warto zauważyć, że problem przeciążonych tornistrów szkolnych wynika  z kilku przyczyn: - Dzieci często noszą w plecakach więcej podręczników.
PEDAGOGICZNA BIBLIOTEKA WOJEWÓDZKA Platforma e-learningowa
Podstawy informatyki Zygfryd Głowacz.
Dokumentacja rysunkowa
Microsoft Office Project 2003 Professional
Modelowanie i analiza systemów informatycznych
Strukturalne wzorce projektowe
CZYNNIK LUDZKI JAKO POTENCJALNE ŹRÓDŁO ZAGROŻEŃ W SYSTEMIE OCHRONY INFORMACJI NIEJAWNYCH OPRACOWAŁ: ppłk mgr inż. Janusz PARCZEWSKI, tel
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Damian Urbańczyk Edytory WYSIWYG.
Prawa ruchu ośrodków ciągłych c. d.
Modelowanie obiektowe - system zarządzania projektami
dr Danuta Kajrunajtys BUSINESS PROCESS MANAGEMENT ROBOTIC PROCESS
Autor: Magdalena Linowiecka
dr Robert Kowalczyk, PWSZ Płock
Zapis prezentacji:

Inżynieria Oprogramowania Laboratorium mgr inż. Michał Bukowski randam@interia.eu

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Format otwarty UML (ang. Unified Modeling Language, czyli Zunifikowany Język Modelowania) – język formalny wykorzystywany do modelowania różnego rodzaju systemów, stworzony przez Grady Boocha, Jamesa Rumbaugha oraz Ivara Jacobsona, obecnie rozwijany przez Object Management Group. Służy do modelowania dziedziny problemu (opisywania-modelowania fragmentu istniejącej rzeczywistości – na przykład modelowanie tego, czym zajmuje się jakiś dział w firmie) – w przypadku stosowania go do analizy oraz do modelowania rzeczywistości, która ma dopiero powstać – tworzy się w nim głównie modele systemów informatycznych. UML jest głównie używany wraz z jego reprezentacją graficzną – jego elementom przypisane są symbole, które wiązane są ze sobą na diagramach.

Unified Modeling Language Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Unified Modeling Language Paradygmat: język modelowania graficznego Aktualna wersja stabilna: 2.4.1 Twórca: Grady Booch, Ivar Jacobson i James Rumbaugh Licencja: public domain http://www.uml.org

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagramy: Dla wersji 2.2 języka UML wyróżnia się 14 diagramów głównych oraz 3 abstrakcyjne (struktur, zachowań i interakcji). Istnieją niestety pewne niejednoznaczności co do stosowanego polskiego tłumaczenia diagramów, np. ang. timing diagram jest tłumaczony jako diagram czasowy, zależności czasowych, harmonogramowania, uwarunkowań czasowych czy diagram przebiegów czasowych.

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagramy struktur: Klas (najczęściej spotykane, ang. class diagram) Obiektów (ang. object diagram) Komponentów (ang. component diagram) Wdrożenia (ang. deployment diagram) --- UML 2.0 --- Struktur złożonych (ang. composite structure diagram) Pakietów (ang. package diagram) --- UML 2.2 --- Profili (ang. profile diagram, nowość wprowadzona w UML 2.2)

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagramy zachowań: Czynności (ang. activity diagram) Przypadków użycia (ang. use case diagram) Maszyny stanów (ang. state machine diagram) (dla UML 1.x Stanów, ang. statechart diagram) Interakcji (diagram abstrakcyjny) Komunikacji (ang. communication diagram) (dla UML 1.x Współdziałania, ang. collaboration diagram) Sekwencji (ang. sequence diagram) --- UML 2.0 --- Czasowe (ang. timing diagram) Przeglądu interakcji (ang. interaction overview diagram) W przypadku modelowania biznesowego można korzystać z pewnych modyfikacji wyżej wymienionych diagramów UML, np. diagramu biznesowych przypadków użycia (charakterystyczna cięciwa dla symbolów aktora i przypadku użycia).

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Użycie: W praktyce rzadko kiedy trzeba opracowywać wszystkie diagramy i w większości przypadków korzysta się z mniej niż połowy wyżej wymienionych. Nie powinno modelować się tylko dla samego modelowania, dlatego nie zawsze wszystkie rodzaje są potrzebne. Projektując system informatyczny, rozpoczyna się przeważnie od tworzenia diagramów w następującej kolejności: Przypadków użycia Sekwencji Klas Aktywności Są to najczęściej wykorzystywane diagramy. Pozostałe bywają pomijane, zwłaszcza przy budowaniu niedużych systemów informatycznych. UML jest również stosowany do tworzenia modeli architektury korporacyjnej, jednakże obecnie coraz częściej do tego celu wykorzystywany jest inny standard (rozwijany przez The Open Group), tj. język ArchiMate.

Narzędzia (wolne/otwarte): Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Narzędzia (wolne/otwarte): Acceleo – system generacji kodu źródłowego z modeli UML oparty na Eclipse i szablonie EMF AmaterasUML - plug-in dla Eclipse umożliwiający rysowanie diagramów klas i interakcji; potrafi generować diagramy klas z kodu Javy, natomiast diagramy interakcji z wydruku stosu wywołań ArgoUML – napisany w Javie, zaawansowane generowanie kodu i podpowiedzi, ciągle rozszerzany ATLAS Transformation Language – narzędzie QVT, pozwalające transformować między innymi modele UML w inne modele UML lub Java, itp. ATL jest kompletnym rozwiązaniem OpenSource udostępnionym przez projekt Eclipse GMT (ang. Generative Modeling Tools). BoUml – (Obsługuje: C++, Java, IDL, Php, Python) obejmuje UML 2.0, tworzy dokumentację HTML, nie wymaga uprawnień administratora do instalacji, dostępny na licencji GPL do wersji 4.23 ultimate patch 7, wersja 5.0 posiada licencję komercyjną. Dia – ogólne narzędzie do rysowania diagramów oparte na GTK+/GNOME, które obsługuje modelowanie UML (licencja GNU GPL) ESS-Model – generator diagramów projektów Delphi oraz Java Eclipse – z platformą modelowania Eclipse (ang. Eclipse Modeling Framework, EMF) i metamodelem UML 2.0 (bez GUI) Fujaba – platforma developerska UML i Java; dostępna też w wersji Eclipse

Narzędzia (wolne/otwarte): Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Narzędzia (wolne/otwarte): Gaphor – środowisko modelowania UML 2.0 oparte na GTK+/GNOME napisane w języku Python GenMyModel – środowisko modelowania UML 2.0 oparte na Javascript/HTML5 MetaUML – Notacja tekstowa dla UML. Renderowanie Diagramów w oparciu o MetaPost, odpowiednie dla systemu składu LaTeX MonoUML – bazujące na najnowszym oprogramowaniu Mono, GTK+ i ExpertCoder. NetBeans – z "NetBeans IDE 5.5 Enterprise Pack" oraz z NetBeans IDE <= 6.7.1(http://wiki.netbeans.org/UML) usunięta obsługa UML z projektu Software Ideas Modeler – modeler UML napisany w C# StarUML – (Obsługuje: C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET) platforma UML/MDA dla systemu Windows (2000, XP), która umożliwia import projektów z takich komercyjnych aplikacji jak Rational Rose czy Borland Together. Zapewnia forward i reverse engineering kodu w Javie, C#, C++; dostępna na zmodyfikowanej licencji GNU GPL, napisana głównie w Delphi Umbrello – program dla Linuksa, środowisko KDE UMLet – łatwe w użyciu narzędzie pozwalające tworzyć diagramy UML, stworzone w Javie, (licencja GNU GPL) UMLpad – modeler UML napisany w C++/wxWidgets, na licencji GNU GPL UML Sculptor – prosty, łatwy w użyciu program do tworzenia diagramów klas

Narzędzia (zamknięte): Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Narzędzia (zamknięte): ARIS Platform – rodzina programów ARIS Platform zapewnia zintegrowane portfolio narzędzi informatycznych, które pozwalają w sposób ciągły doskonalić procesy biznesowe. Borland Together – rodzina programów integrujących się z różnymi IDE, istnieje wersja demo Enterprise Architect – profesjonalne narzędzie w przystępnej cenie o wygodnym interfejsie działające na platformach Windows i Linux. Obsługuje UML 2.1. IBM Rational Rose (dawniej: Rational Software) IBM Rational Software Architect – narzędzie wspierające UML 2.0 oparte na Eclipse JUDE - program to tworzenia diagramów UML, diagramów związków encji, diagramów przepływu, map myśli itd.; istnieje darmowa wersja Community, nieco ograniczona (m.in. tylko do diagramów UML oraz importu/eksportu kodu Javy), jednak wciąż o sporych możliwościach i dostępna również do celów komercyjnych. Microsoft Visio – program z pakietu MS Office, umożliwiający (między innymi) rysowanie diagramów UML – należy jednak zwrócić uwagę że nie umożliwia generacji kodu z diagramów, ani sprawdzania ich integralności. Rodzina programów iGrafx – narzędzia iGrafx począwszy od iGrafx FlowCharter obsługują tworzenie diagramów UML. Wersja testowa na witrynie iGrafx MagicDraw – pakiet przeznaczony również do pracy w sieci, możliwość modelowania w SysML Objecteering – do edycji i modelowania diagramów UML, darmowy w wersji podstawowej Poseidon for UML – zaawansowane narzędzie bazujące na ArgoUML, darmowa edycja Community, trial 30 dni dla zarejestrowanych użytkowników Sybase PowerDesigner – wydajne, rozbudowane i dopracowane narzędzie do tworzenia diagramów UML oraz schematów baz danych, procesów biznesowych i zarządzania wymaganiami. Wersja francuskojęzyczna nosi nazwę PowerAMC. Tormigo - polskie narzędzie wspierające zarządzanie wymaganiami w Enterprise Architect Visual Paradigm for UML – oprócz wersji płatnych istnieje darmowa wersja Community, która posiada ograniczenie funkcjonalności. Visual Paradigm SDE – SDE (środowisko programistyczne). Integruje się ze wszystkimi wiodącymi IDE (Visual Studio®, Eclipse/WebSphere®, Borland JBuilder®, NetBeans/Sun™ ONE, IntelliJ IDEA™, Oracle JDeveloper, BEA WebLogic Workshop™). Do użytku niekomercyjnego (do nauki), dostępne w wersji Community, za darmo, z ograniczeniem funkcjonalności.

Przykładowe diagramy: Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Przykładowe diagramy:

Przykładowe diagramy: Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Przykładowe diagramy:

Przykładowe diagramy: Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Przykładowe diagramy:

Diagram klas jako struktura statyczna Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagram klas jako struktura statyczna Diagram klas pokazuje określony fragment struktury systemu. Diagramów klas używa się do modelowania statycznych aspektów perspektywy projektowej. Wiąże się z tym silnie modelowanie słownictwa systemu, kooperacji lub schematów. Diagramy klas pozwalają na sformalizowanie specyfikacji danych i metod. Mogą także pełnić rolę graficznego środka pokazującego szczegóły implementacji klas. Klasa w modelu UML programu obiektowego jest reprezentowana przez prostokąt z umieszczoną wewnątrz nazwą klasy. Oddzielona część prostokąta pod nazwą klasy może zawierać atrybuty klasy, czyli metody (funkcje), właściwości (properties) lub pola (zmienne). Każdy atrybut pokazywany jest przynajmniej jako nazwa, opcjonalnie także z typem, wartością i innymi cechami. Metody klasy mogą znajdować się w osobnej części prostokąta. Każda metoda jest pokazywana przynajmniej jako nazwa, a dodatkowo także ze swoimi parametrami i zwracanym typem. Atrybuty (zmienne i właściwości) oraz metody mogą mieć też oznaczoną widoczność (zakres znaczenia ich nazw) jak następuje: "+" dla public – publiczny, dostęp globalny "#" dla protected – chroniony, dostęp dla pochodnych klasy (wynikających z generalizacji) "−" dla private – prywatny, dostępny tylko w obrębie klasy (przy atrybucie statycznym) lub obiektu (przy atrybucie zwykłym) "~" dla package – pakiet, dostępny w obrębie danego pakietu, projektu.

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Związki Agregacja Agregacja reprezentuje związek typu całość-część. Występuje tutaj relacja posiadania — co oznacza, że elementy częściowe mogą należeć do większej całości, jednak również mogą istnieć bez niej. Na diagramie agregację oznacza się za pomocą linii zakończonej pustym rombem. Asocjacja Asocjacja wskazuje na trwałe powiązanie pomiędzy obiektami danych klas (np. firma zatrudnia pracowników). Na diagramie asocjację oznacza się za pomocą linii, która może być zakończona strzałką (oznaczającą kierunek nawigacji między klasami). Nazwę cechy wraz z krotnością umieszcza się w punkcie docelowym asocjacji. Generalizacja Generalizacja – związek opisujący dziedziczenie po klasach. Na diagramie generalizację oznacza się za pomocą niewypełnionego trójkąta symbolizującego strzałkę (skierowaną od klasy pochodnej do klasy bazowej). Kompozycja Kompozycja, zwana również złożeniem, jest związkiem typu całość-część. W relacji kompozycji, części należą tylko do jednej całości, a ich okres życia jest wspólny — razem z całością niszczone są również części. Na diagramie, kompozycję oznacza się za pomocą linii zakończonej wypełnionym rombem.

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagram klas

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Diagram klas

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Zadanie 1: Firma AABB zajmująca się charterem (wynajmem) jachtów, łodzi motorowych, skuterów wodnych na rejsy/wyprawy po jeziorach Warmii i Mazur (Szlak Wielkich Jezior Mazurskich) rozwija się ostatnimi czasy bardzo dynamicznie. W związku ze zbliżającym się nowym sezonem żeglarskim, aby możliwie najefektywniej wykorzystywać coraz większą bazę łódek, firma postanowiła zainwestować w system informatyczny wspomagający jej podstawową działalność. W pierwszym rzędzie system ma obejmować zarządzanie rezerwacjami i wypożyczeniem jachtów, a także m.in. przerwy związane z konserwacjami łodzi. Podaj diagram przypadków użycia tego systemu oraz opisz 2-3 wybrane przypadki użycia.

Laboratorium nr 5 Temat: UML cz. 1 - Modelowanie struktury statycznej oraz przypadków użycia Zadanie 2: Zaprojektować system „Elektroniczny Dziennik Ocen”. W każdej z klas uczy się nie więcej niż 25 uczniów. Proszę uwzględnić gospodarza klasy. Cała klasa uczy się tych samych przedmiotów (w ściśle określonym wymiarze godzin w tygodniu) za wyjątkiem języków obcych (pół klasy uczy się angielskiego a część hiszpańskiego). Jeden nauczyciel może uczyć kilku przedmiotów a klasa ma oczywiście wychowawcę. Oprócz ocen cząstkowych uczniowie otrzymują ocenę końcową. Dodatkowo uczniowie otrzymują ocenę ze sprawowania. Należy opracować model klas (tylko nazwy klas i ich atrybuty oraz związki pomiędzy nimi. Należy pamiętać o nazwach związków oraz ich ilościami). Wynik zapisać w postaci diagramu klas.