Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2



Podobne dokumenty
Wykład 1 Inżynieria Oprogramowania

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

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

Wprowadzenie, podstawowe pojęcia, projekt a produkt Wykład1

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Podstawy programowania III WYKŁAD 4

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Zasadnicze czynności w zarządzaniu projektem, fazy cyklu życia systemu informatycznego. Modele cyklu życia - część 1

Modelowanie i analiza. warstwy biznesowej aplikacji

Wprowadzenie, konsekwencje stosowania modelowania w projektach programistycznych Wykład1

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

Warstwa prezentacji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Wprowadzenie, konsekwencje stosowania modelowania w projektach programistycznych Wykład1

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

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

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

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

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

PRZEWODNIK PO PRZEDMIOCIE

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

Podstawy modelowania programów Kod przedmiotu

Narzędzia CASE dla.net. Łukasz Popiel

Charakterystyka oprogramowania obiektowego

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

WPROWADZENIE DO UML-a

Diagramy czynności Na podstawie UML 2.0 Tutorial

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

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

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

Programowanie MorphX Ax

UML w Visual Studio. Michał Ciećwierz

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

Wprowadzenie do inżynierii oprogramowania. Wykładowca Dr inż. Zofia Kruczkiewicz

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

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Technologie obiektowe

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

Prowadzenie projektu programistycznego. Modele tworzenia oprogramowania. Programowanie kaskadowe i zwinne. Wykład 9

Wzorce projektowe i refaktoryzacja

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

Programowanie obiektowe

Dr Katarzyna Grzesiak-Koped

Modelowanie i Programowanie Obiektowe

Zasady organizacji projektów informatycznych

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

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

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Analiza i projektowanie aplikacji Java

INŻYNIERIA OPROGRAMOWANIA

Etapy życia oprogramowania

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wprowadzenie do programowania aplikacji mobilnych

Inżynieria Oprogramowania w Praktyce

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

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

Wzorce projektowe. dr inż. Marcin Pietroo

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Świat rzeczywisty i jego model

Projektowanie systemów informatycznych. wykład 6

Faza analizy (modelowania) Faza projektowania

Modelowanie i analiza systemów informatycznych

Zagadnienia projektowania aplikacji J2EE

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Michał Adamczyk. Język UML

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

Projekt systemu informatycznego

Inżynieria oprogramowania. Jan Magott

Adaptywny kod : zwinne programowanie, wzorce projektowe i SOLID-ne zasady / Gary McLean Hall. Gliwice, cop Spis treści

MODELOWANIE SYSTEMU INFORMATYCZNEGO WSPOMAGAJĄCEGO DZIAŁALNOŚĆ USŁUGOWĄ W ŚRODOWISKU OBIEKTOWO ZORIENTOWANYM.

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie logiki aplikacji

Przedsięwzięcia Informatyczne w Zarządzaniu

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

Jarosław Żeliński analityk biznesowy, projektant systemów

PRZEWODNIK PO PRZEDMIOCIE

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Wzorce projektowe. dr inż. Marcin Pietroo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Literatura. J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and.net, Addison-Wesley Professional, 2006

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

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

RUP. Rational Unified Process

Architektura oprogramowania w praktyce. Wydanie II.

Jarosław Żeliński analityk biznesowy, projektant systemów

Wstęp do zarządzania projektami

Pytania z przedmiotów kierunkowych

Egzamin / zaliczenie na ocenę*

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem

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

Transkrypt:

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów informatycznych 4. Środowisko tworzenia oprogramowania 5. Podstawy UML 1

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2

Warstwy aplikacji (Java EE)* 3

Pięciowarstwowy model logicznego rozdzielania zadań (wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.) Warstwa klienta Klienci aplikacji, aplety, aplikacje i inne elementy z graficznym interfejsem użytkownika Interakcja z użytkownikiem, urządzenia i prezentacja interfejsu użytkownika Warstwa prezentacji Strony JSP, serwlety i inne elementy interfejsu użytkownika Warstwa biznesowa Komponenty EJB i inne obiekty biznesowe Logowanie, zarządzanie sesją, tworzenie zawartości, formatowania i dostarczanie Logika biznesowa, transakcje, dane i usługi Warstwa integracji JMS, JDBC, konektory i połączenia z systemami zewnetrznymi Adaptery zasobów, systemy zewnętrzne, mechanizmy zasobów, przepływ sterowania Warstwa zasobów Bazy danych, systemy zewnętrzne i pozostałe zasoby Zasoby, dane i usługi zewnętrzne 4

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 5

Model procesu wytwarzania oprogramowania - czyli model cyklu życia oprogramowania* Tworzenie technicznego systemu informacyjnego jest powiązane z: budową oprogramowania: co i jak wykonać? zarządzaniem procesem tworzenia oprogramowania: kiedy wykonać? wdrażaniem oprogramowania Modelowanie struktury i dynamiki systemu Perspektywa koncepcji co należy wykonać? model problemu np. przedsiębiorstwa wymagania analiza (model konceptualny ) testy modelu Implementacja systemu, Perspektywa specyfikacji jak należy używać? projektowanie (model projektowy: architektura sprzętu i oprogramowania; dostęp użytkownika; przechowywanie danych) testy projektu struktury i dynamiki generowanie kodu Perspektywa implementacji jak należy wykonać? programowanie (specyfikacja programu : deklaracje, definicje; dodatkowe struktury danych: struktury pojemnikowe, pliki, bazy danych) testy oprogramowania wdrażanie testy wdrażania 6

Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa Wymagania Analiza, Projektowanie Programowanie Testowanie Wdrożenie Zarządzanie zmianami Zarządzanie przedsięwzięciem Etap1: Początek Etap2: Opracowanie Budowa Zakończenie Środowisko 1-a 2-a - - - - - n-1 n 7 analiza systemów informatycznych Iteracje 2 (czas )

Przepływy czynności (wg G.Booch, J. Rumbaugh, I.Jacobson) Modelowanie przedsiębiorstwa opis dynamiki i struktury przedsiębiorstwa Wymagania zapisanie wymagań metodą opartą na przypadkach użycia Analiza i projektowanie zapisanie różnych perspektyw architektonicznych Implementacja tworzenie oprogramowania, testowanie modułów, scalanie systemu Testowanie opisanie danych testowych, procedur i metryk poprawności Wdrożenie ustalenie konfiguracji gotowego systemu Zarządzanie konfiguracjami panowanie nad zmianami i dbanie o spójność elementów systemu Zarządzanie przedsięwzięciem - opisane różnych strategii prowadzenia procesu iteracyjnego Określenie środowiska Zofia Kruczkiewicz opisanie - Modelowanie struktury i niezbędnej 8 do opracowania systemu

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów informatycznych 9

Co i jak wykonać? Perspektywy projektowania obiektowych systemów informacyjnych (wg Alan Shalloway, James R.Trott) koncepcji (model analizy) ( co obiekty powinny powinny robić?) specyfikacji interfejsów (model projektowy) ( jak używać obiektów?) implementacji ( w jaki sposób zaimplementować interfejs?) (implementacja) tworzenia i zarządzania obiektami (implementacja) (obiekt A w roli fabryki obiektów tworzy obiekt B i/lub zarządza obiektem B ) używania obiektów (implementacja) ( obiekt A tylko używa obiektu B nie może go jednocześnie tworzyć; ) 10

Perspektywy rozumienia obiektów identyfikacji obiektów Perspektywa koncepcji (modelu konceptualnego) - obiekt jest zbiorem różnego rodzaju odpowiedzialności Perspektywa specyfikacji (modelu projektowego) - obiekt jest zbiorem metod (zachowań), które mogą być wywoływane przez metody tego obiektu lub innych obiektów Perspektywa implementacji (kodu źródłowego) - obiekt składa się z kodu metod i danych oraz interakcji między nimi 11

Perspektywy skalowania systemu tworzenia, zarządzania i używania obiektów Perspektywa tworzenia i zarządzania obiektami Zmiany w implementacji obiektów dotyczą obiektów czyli fabryk obiektów (tworzących te obiekty i zarządzających tworzeniem tych obiektów) Używanie obiektów Zmiana implementacji obiektów nie zmienia implementacji obiektów, które używają zmieniane obiekty 12

Metoda identyfikacji obiektów i klas Analiza wspólności Perspektywa koncepcji Klasa abstrakcyjna +Metody() Analiza zmienności Perspektywa specyfikacji Perspektywa implementacji Klasa konkretna1 +Metody() Klasa konkretna2 +Metody() Związek między perspektywą specyfikacji, koncepcji i implementacji 13

Zależności między analizą, projektowaniem i implementacją Związek między perspektywą specyfikacji i koncepcji Perspektywa specyfikacji określa interfejs potrzebny do obsługi wszystkich przypadków danego problemu (czyli część wspólną określoną przez perspektywę koncepcji) Związek pomiędzy perspektywą specyfikacji i implementacji Biorąc pod uwagę określoną specyfikację ustala się, w jaki sposób należy zaimplementować poszczególne przypadki (czyli część zmienną) 14

Podsumowanie zasad obiektowości Obiekty definiuje się przez pryzmat ich odpowiedzialności Hermetyzacja oznacza dowolny rodzaj ukrywania: danych, implementacji, klas (za pomocą klas abstrakcyjnych, lub interfejsu), projektu, instancji Wykorzystanie analizy wspólności i zmienności w celu utworzenia abstrakcji reprezentujących zmienność danych i zachowań Wykorzystanie dziedziczenia jako sposobu przedstawienia zmienności Dążenie do niskiego stopnia powiązań Dążenie do dużego stopnia spójności Oddzielenie kodu używającego obiektów od kodu, który je tworzy Zasada pojedynczej reguły - implementacja tylko raz pewnej operacji określonej jedną regułą Stosowanie nazw jasno opisujących przeznaczenie obiektów 15

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów informatycznych 4. Środowisko tworzenia oprogramowania 16

Ludzie Proces Wzorzec Uczestnicy Projekt Rezultat Produkt Automatyzacja Narzędzia 17

W tworzenia oprogramowania istotne są następujące elementy: Ludzie: eksperci dziedziny biznesowej, analitycy, projektanci, testujący, użytkownicy oprogramowania, konserwatorzy oprogramowania Projekt: główny organizacyjny element, określający tworzenie oprogramowania: projekt tworzy produkt Produkt: elementy tworzone podczas cyklu życia oprogramowania: modele, kod źródłowy, kod wynikowy, dokumentacja Proces: wszystkie czynności podejmowane w celu przekształcenia wymagań użytkownika w oprogramowanie; jest to wzorzec realizacji projektu Narzędzia: oprogramowanie umożliwiające 18 zautomatyzowanie procesu.

Produkt 1. Podsystemy 2. Diagramy: klas, interakcji, kooperacji, stanów 3. Wymagania, testy, produkcja, instalacja 4. System złożony z artefaktów reprezentujących narzędzia programistyczne, kompilatory, komputery, programistów, architektów, testujących, handlowców, administratorów 5. Artefakty to różne rodzaje informacji tworzonej, produkowanej, zmienianej lub używanych podczas cyklu życia oprogramowania. Są to artefakty inżynierskie związane z tworzeniem oprogramowania (wymagania, analiza, projekt, programowanie, testy) i artefakty procesu zarządzania projektem 19

Projekt Podstawowe pojęcia związane z projektem: 1. Wykonalność projektu 2. Zarządzanie ryzykiem 3. Struktura grup projektowych 4. Szeregowanie zadań projektowych 5. Zrozumiałość projektu 6. Sensowność działań w projekcie Cechy projektu: 1. Sekwencja zmian w projekcie 2. Seria iteracji 3. Wzorzec organizacyjny 20

Proces 1. Proces tworzenia oprogramowania jest definicją kompletnego zbioru aktywności potrzebnych do odwzorowania wymagań użytkownika w zbiór artefaktów, które reprezentują oprogramowanie 2. Czynniki organizacyjne 3. Czynniki dziedzinowe 4. Czynniki cyklu życia 5. Czynniki techniczne 21

Narzędzia Automatyzacja procesu Standaryzacja procesu i produktu Wspomaganie całego cyklu życia oprogramowania: wymagania, wizualne modelowanie i projektowanie, programowanie, testowanie 22

Ludzie Użytkownicy Eksperci Testujący Kierownik projektu System Analitycy Projektanci 23

Modele Modele: Abstrakcja systemu Przedstawianie różnych perspektyw systemu Związki między modelami Model use-case Model analizy Model projektu Model wdrożenia Model implementacji Model testów 24

Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów informatycznych 4. Środowisko tworzenia oprogramowania 5. Podstawy UML 25

UML język wspierający zunifikowany iteracyjno - przyrostowy proces tworzenia oprogramowania Diagramy UML modelowania strukturalnego 1.1. Diagramy pakietów 1.2. Diagramy klas 1.3. Diagramy obiektów 1.4. Diagramy mieszane 1.5. Diagramy komponentów 1.6. Diagramy wdrożenia 26

Diagramy UML modelowania zachowania 2.1. Diagramy przypadków użycia 2.2. Diagramy aktywności 2.3. Diagramy stanów 2.4. Diagramy komunikacji 2.5. Diagramy sekwencji 2.6. Diagramy czasu 2.7. Diagramy interakcji 27

Rola diagramów UML 2 praca zespołowa pokonanie złożoności projektu formalne, precyzyjne prezentowanie projektu tworzenie wzorca projektu możliwość testowania oprogramowania we wczesnym stadium jego tworzenia 28

Model use-case przypadków użycia Model analizy Model projektu Model wdrożenia rozmieszczenia Model implementacji Model testów 2.1, 2.2 1.1, 1.2, 1.3, 2.5, 2.7, 2.3 wyższy poziom abstrakcji niż w modelu projektowym 1.1, 1.2, 1.3, 2.5, 2.7, 2.3-więcej szczegółów niż w modelu analizy (niższy poziom abstrakcji) 1.6, 1.5 1.2, 1.5 1.2, 2.2 Numery diagramów UML: slajdy 26 i 27