Dr Katarzyna Grzesiak-Koped



Podobne dokumenty
UML w Visual Studio. Michał Ciećwierz

WPROWADZENIE DO UML-a

Inżynieria oprogramowania. Jan Magott

Narzędzia CASE dla.net. Łukasz Popiel

Wprowadzenie do UML Rodzaje diagramów Przeglad oprogramowania Zadania Rozwiazania zadań Bibliografia. Warsaw Dziobax

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

Egzamin / zaliczenie na ocenę*

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

Podstawy programowania III WYKŁAD 4

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

Wykład 1 Inżynieria Oprogramowania

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

KARTA MODUŁU KSZTAŁCENIA

Projektowanie systemów informatycznych. wykład 6

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

Podstawy modelowania programów Kod przedmiotu

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

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

Opis metodyki i procesu produkcji oprogramowania

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

INŻYNIERIA OPROGRAMOWANIA

Michał Adamczyk. Język UML

Etapy życia oprogramowania

Modelowanie i analiza 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)

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

Cykle życia systemu informatycznego

Zasady organizacji projektów informatycznych

PRZEWODNIK PO PRZEDMIOCIE

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

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Wzorce projektowe i refaktoryzacja

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

Analiza biznesowa a metody agile owe

Projektowanie oprogramowania

Inżynieria oprogramowania

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Inżynieria Oprogramowania w Praktyce

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

INŻYNIERIA OPROGRAMOWANIA

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Inżynieria oprogramowania I

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Inżynieria oprogramowania (Software Engineering)

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

PRZEWODNIK PO PRZEDMIOCIE

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Modelowanie i analiza systemów informatycznych

RUP. Rational Unified Process

Przedsięwzięcia Informatyczne w Zarządzaniu

Feature Driven Development

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

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

Narzędzia informatyczne wspierające przedsięwzięcia e-commerce

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

Testowanie oprogramowania

Projektowanie systemów informacyjnych: język UML

Programowanie zespołowe

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

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

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Unified Modeling Language

Projektowanie Modeli Usług dla rozwiązań typu SOA

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

Maciej Oleksy Zenon Matuszyk

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

WOJSKOWA AKADEMIA TECHNICZNA

Wytwarzanie oprogramowania

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

Techniki modelowania programów Kod przedmiotu

Unified Modeling Language

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

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA

Projektowanie oprogramowania

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Ogólne określenie wymagań. Ogólny projekt. Budowa systemu. Ocena systemu. Nie. Tak. System poprawny. Wdrożenie. Określenie.

INŻYNIERIA OPROGRAMOWANIA. laboratorium

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

Inżynieria oprogramowania - opis przedmiotu

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

Testowanie według modelu (MBT) Stowarzyszenie Inżynierii Wymagań wymagania.org.pl

Architektura oprogramowania w praktyce. Wydanie II.

Opis realizacji dla czterech zespołów (4 przypadki użycia)

Łatwa czy niełatwa droga do celu? - wdrożenie COSMIC w ZUS

Plan studiów stacjonarnych drugiego stopnia 2019/2021 Kierunek: Zarządzanie kreatywne B. Moduły kierunkowe obligatoryjne

Transkrypt:

Dr Katarzyna Grzesiak-Koped

2

Tworzenie oprogramowania Najlepsze praktyki IO Inżynieria wymagao Technologia obiektowa i język UML Techniki IO Metodyki zwinne Refaktoryzacja Mierzenie oprogramowania Jakośd oprogramowania Programowanie strukturalne Modelowanie analityczne Wprowadzenie do testowania 3

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 4

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 5

Analiza wymagao Projektowanie Kodowanie i testowanie modułów Integracja podsystemów Testowanie systemu Opóźnia identyfikację ryzyka Trudno ocenid rzeczywisty czas do ukooczenia projektu Odsuwa w czasie integrację i agreguje testowanie Wyklucza wczesne wdrażanie Częste niezaplanowane iteracje 6

Planowanie Wstępne planowanie Wymagania Zarządzanie procesami Analiza i projektowanie Implementacja Ewaluacja Testowanie W wyniku każdej iteracji powstaje wykonywalny moduł Wdrażanie 7

Rozwiązanie ryzykownych kwestii zanim będą duże inwestycje Umożliwia wczesną ocenę przez klienta Ciągłe integrowanie i testowanie Realizacja zadania w małych, krótkoterminowych krokach Umożliwia częściowe wdrażanie produktu 8

RYZYKO wodospad iteracje CZAS 9

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 10

Należy upewnid się, że: o Rozwiązujemy właściwy problem o Budujemy właściwy system Po przez systematyczne: o gromadzenie, o organizację, o dokumentowanie, o zarządzanie zmieniającymi się wymaganiami. 11

Analiza problemu Zrozumienie potrzeb klienta Zdefiniowanie systemu Ogarnięcie całości Ciągła weryfikacja definicji systemu Budowa właściwego systemu 12

Potrzeby klienta Obszar problemu Problem Charakterystyka Obszar rozwiązań Wymagania (PU) produkt Procedury testowania Projekt Dokumentacja użytkownika 13

Ocena wpływu zmiany wymagania na nasz projekt Ocena stopnia realizacji wymagania na podstawie przygotowanych procedur Ogarnąd cały projekt Zweryfikowad, czy wszystkie wymagania zostały zrealizowane Zweryfikowad, czy aplikacja robi tylko to, co miała robid Zarządzad zmianami 14

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 15

ZBIÓR ZASAD, DECYZJI, REGUŁ LUB WZORCÓW DLA DOWOLNEGO SYSTEMU, KTÓRY ZAPOBIEGA NIEPOTRZEBNEJ RADOSNEJ TWÓRCZOŚCI PROJEKTANTÓW. 16

Architektura oprogramowania określa najważniejsze elementy organizacji systemu: o Wybór elementów strukturalnych oraz ich interfejsów o Określenie zachowania systemu jako interakcji pomiędzy tymi elementami o Kompozycja elementów strukturalnych i behawioralnych w podsystemy 17

Ogólna budowa pewnego rozwiązania informatycznego, którego elementem jest zarówno oprogramowanie, jak i pewna infrastruktura techniczna, sprzęt Łączy własności strukturalne (komponenty fizyczne) oraz funkcjonalne (zewnętrzne i wewnętrzne funkcje systemu) Opisuje składowe, powiązania między nimi oraz sposoby i kierunki przepływu danych 18

Architektura logiczna o Podział na logiczne fragmenty (moduły, pakiety, komponenty), które powinny współpracowad w celu realizacji wymagao o UML komponent + interfejsy Architektura fizyczna o Określenie fizycznych jednostek (maszyn) oraz metod komunikacji o UML węzeł 19

Określenie architektury, to podjęcie strategicznych decyzji, określenie reguł i wzorców determinujących projektowanie i konstrukcję FUNDAMENTALNE DECYZJE Implementacja Projekt Architektura 20

Elastyczna o Spełnia bieżące i przyszłe wymagania o Umożliwia rozbudowę o Umożliwia ponowne użycie o Enkapsuluje zależne części systemu Modułowa o Ponowne użycie i modyfikacja modułów o Wybór z komercyjnie dostępnych komponentów o Inkrementacyjny rozwój oprogramowania 21

Nietrywialna, prawie niezależna i wymienna część systemu, która realizuje zdefiniowaną funkcjonalność. 22

Umożliwia ponowne wykorzystanie o Komponentów o Architektury Podstawa do zarządzania projektem o Planowanie o Ludzie o Dostarczanie produktu Kontrola o Zarządzanie złożonym systemem o Integracja 23

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 24

Uchwycenie struktury i zachowania Pokazanie zależności między elementami Utrzymanie spójnego projektu i implementacji Ukrywanie oraz wyróżnianie szczegółów kiedy trzeba Promuje jeden wspólny język wymiany informacji o UML: jeden język dla wszystkich osób związanych z tworzeniem projektu 25

Język do specyfikowania, wizualizowania, konstruowania i dokumentowania tworów oprogramowania i modelowania biznesu Reprezentuje zbiór najlepszych praktyk inżynierskich które dowiodły przydatności przy modelowaniu dużych i skomplikowanych systemów 26

Do połowy lat 90 około 50 metod Potrzeba unifikacji `94 Booch, Jacobson i Rumbaugh z Rational Software `95 Unifikacja OMT, Boocha i OOSE w UML `96 standaryzacja UML pod skrzydłami OMG (http://www.omg.org) [wersje 1.1,..,1.5] 2005 OMG publikuje UML 2.0 Maj 2010 UML 2.3 27

Object Management Group (OMG) Hewlett-Packard Company IBM Corporation (Rational Software Corporation) Microsoft Corporation Oracle Corporation i inne mniej znane... 28

Computer Aided Software Engineering IMB Rational Rose/IMB Rational Software Architect Microsoft Visio Poseidon for UML Sybase PowerDesigner Visual Paradigm Umbrello Eclipse NetBeans I wiele innych freeware, shareware i komercyjnych 29

Gotowy wizualny język modelowania do budowy i wymiany modeli Niezależny od języków programowania i procesów tworzenia Udostępnia podstawy formalne do zrozumienia języka modelowania Zachęca do wzrostu rynku narzędzi OO Wspomaga wysoko-poziomowe rozwiązania Integruje najlepsze praktyki 30

Wiele punktów widzenia Precyzyjna syntaksa i semantyka Sequence Diagrams Use-Case Diagrams Class Diagrams Object Diagrams Communication Diagrams Models Component Diagrams State Machine Diagrams Activity Diagrams Deployment Diagrams 31

DIAGRAMY 32

33

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 34

Charakterystyka wyniku produkcji oprogramowania określona na podstawie tego, czy produkt spełnia lub przewyższa uzgodnione wymagania oraz czy zostało ono wytworzone zgodnie z ustalonym procesem, co jest mierzone zgodnie z ustalonymi kryteriami. 35

Widoczna Ukryta Testy to za mało Oceny użytkownika o Inspekcje modeli o Inspekcje kodu Kontrola jakości w każdej iteracji! 36

Wady oprogramowania są od 100 do 1000 razy droższe do zidentyfikowania i do naprawienia po wdrożeniu o Koszt naprawy błędów o Koszt straconych możliwości o Koszt straconych klientów 37

Czy aplikacja robi to co trzeba? Czy osiągnięto zadawalającą niezawodnośd? Czy system działa przy rzeczywistym obciążeniu? 38

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 39

Zmiany Podział pracy w zespole Integrację Równoległe prace 40

Zarządzanie zgłoszonymi zmianami o Formalny proces zgłaszania zmian i oceny ich wpływu na projekt o Blokujemy przeciekanie nowych wymagao Raportowanie stanu konfiguracji o Mierzenie rodzaju i liczby błędów Zarządzanie konfiguracją o Narzędzia do wersjonowania i pracy grupowej 41

Śledzenie zmian o Formalny proces realizacji zmian Wybór wersji i produkowanie systemu o Automatyzacja kompilacji, testowania, pakietowania i rozprowadzania 42

Zarządzanie konfiguracją Zarządzanie katalogami, plikami i zmianami Architektura o Scentarlizowana klient-serwer o Rozproszona P2P Organizuje pracę w zespole 43

Commit (checkin) Checkout Trunk (baseline, mainline) Branch 7 10 2 3 6 8 1 4 5 9 11 44

45

46

1. Podejście iteracyjne 2. Zarządzanie wymaganiami 3. Architektura modułowa (komponenty) 4. Wizualizacja modelu 5. Ciągła weryfikacja jakości 6. Zarządzanie zmianami 7.? 47

Poziomy ponownego użycia o Klasy o Wzorce projektowe o Komponenty o Interfejsy i wzorce analityczne o Wzorce architektury o Wzorce wymagao Wyższy poziom trudniej wykorzystad Wyższy poziom większe korzyści 48

49