Konfiguracja modelowania w procesie wytwarzania oprogramowania



Podobne dokumenty
Analityk i współczesna analiza

Wykład 7 Metodyki wytwarzania oprogramowania internetowego (2) Wykładowca: dr inż. Mariusz Trzaska

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Inżynieria oprogramowania. Jan Magott

Podstawy modelowania biznesowego w inżynierii oprogramowania

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

Wykład 1 Inżynieria Oprogramowania

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

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

Opis metodyki i procesu produkcji oprogramowania

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

Egzamin / zaliczenie na ocenę*

Inżynieria oprogramowania (Software Engineering) Wykład 1

Narzędzia CASE dla.net. Łukasz Popiel

Modelowanie i analiza systemów informatycznych

PRZEWODNIK PO PRZEDMIOCIE

INŻYNIERIA OPROGRAMOWANIA

Feature Driven Development

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

Etapy życia oprogramowania

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

Projektowanie systemów informatycznych. wykład 6

Analiza biznesowa a metody agile owe

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

Obiekty graniczne pomiędzy technikami inżynierii oprogramowania a technikami użyteczności i Kansei

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

PRZEWODNIK PO PRZEDMIOCIE

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

ANALIZA EKONOMICZNO-FINANSOWA

Architektura oprogramowania w praktyce. Wydanie II.

Wytwarzanie oprogramowania

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

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

KARTA MODUŁU KSZTAŁCENIA

WPROWADZENIE DO UML-a

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

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

Wytwórstwo oprogramowania. michał możdżonek

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Informatyczne fundamenty

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

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

udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2011/2012

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

Rozpoczęcie, inicjacja (ang. inception

Inżynieria Programowania Zarządzanie projektem

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

UML w Visual Studio. Michał Ciećwierz

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

Agile Project Management

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

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

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

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

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Podsumowanie wyników ankiety

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

RUP. Rational Unified Process

Przedsięwzięcia Informatyczne w Zarządzaniu

Inżynieria Programowania Zarządzanie projektem. Plan wykładu. Motto. Motto 2. Notatki. Notatki. Notatki. Notatki.

Inżynieria oprogramowania (Software Engineering)

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

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

Projekt Kompetencyjny - założenia

Inżynieria Oprogramowania w Praktyce

Wstęp do zarządzania projektami

WOJSKOWA AKADEMIA TECHNICZNA

The Binder Consulting

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

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA

Pytania z przedmiotów kierunkowych

Zarządzanie projektami IT

Projekt systemu informatycznego

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Kontraktor - Analityk Biznesowy

Agenda. O firmie. Wstęp Ksavi. Opis funkcjonalności systemu Ksavi Auditor. Podsumowanie

Zarządzanie projektami. Wykład 2 Zarządzanie projektem

Jak powstaje model biznesowy? Co to jest? Modelowanie biznesowe. Model biznesowy. Jak powstaje model biznesowy? Jak firma generuje przychody?

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych

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

MiASI. Modele, perspektywy, diagramy UML. Piotr Fulmański. 7 grudnia Wydział Matematyki i Informatyki, Uniwersytet Łódzki, Polska

Inżynieria oprogramowania

Inżynieria oprogramowania

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw

Testowanie oprogramowania

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik

Procesowa specyfikacja systemów IT

Plan zarządzania projektem

Agile vs PRINCE /2015 I rok st. magisterskie Informatyka

Dni: 3. Opis: Adresaci szkolenia

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Transkrypt:

Konfiguracja modelowania w procesie wytwarzania oprogramowania Anna Bobkowska Materiały pomocnicze do wykładu z Modelowania i Analizy Systemów na Wydziale ETI PG. Ich lektura nie zastępuje obecności na wykładzie. Wykorzystanie materiałów w innym celu oraz ich rozpowszechnianie jest zabronione.

Plan wykładu: 1. Idea konfiguracji procesu wytwarzania 2. Zarys metody konfiguracji procesu 3. Cele zastosowań modeli, uwarunkowania i rola modeli w projekcie informatycznym 4. Rodzaje modeli i typowe rozwiązania 5. Konfiguracja procesu, produktów, odpowiedzialności i narzędzi 6. Zastosowanie SPEM do opisu procesu

Sukces projektu... Anulowane projekty Wysoka jakość Udane projekty Zadowoleni klienci Przekroczony budżet Spóźnienia Konfiguracja Strategia Metody i narzędzia Dokumentacja Planowanie i szacowanie Proces wytwarzania Zapewnienie jakości Standardy Współpraca Z klientem Modelowanie Zarządzanie Warunki pracy pracowników Komunikacja Kompetencje pracowników Ryzyko

Idea konfiguracji procesu Zaawansowana technologia inżynierii oprogramowania i... nieudane projekty kwestia odpowiedniego wykorzystania technik Efektywność: czas, koszt i jakość Różnorodność projektów Konfiguracja procesu a plan projektu Konfiguracja procesu dla projektów określonego typu Plan projektu 1 IBM Rational Unified Process (RUP) OMG Software and Systems Process Engineering Metamodel (SPEM) Plan projektu 2 Plan projektu n

Potrzeba konfiguracji modelowania Przypadek1: projekt dotyczący wykonania oprogramowania o średniej złożoności przewidywany brak utrzymania systemu jeden mały zespół Przypadek 2: duży projekt wykonywany przez rozproszone zespoły wielu udziałowców oczekiwane utrzymanie systemu złożona organizacja odbiorcy

Metoda konfiguracji ETAP 1 Analiza Wyznaczenie celu konfiguracji procesu (modelowania w procesie) Określenie charakterystyk projektu obejmujących cechy projektu, cechy aplikacji oraz czynnik ludzki Określenie problemów, które wymagają rozwiązania oraz priorytetów ETAP 2 - Przyjęcie założeń podstawowych procesu wynikających ze specyfiki projektu, celów, istniejących problemów i priorytetów ETAP 3 - Wykonanie konfiguracji procesu zgodnej ze standardem SPEM w środowisku Eclipse Process Framework Composer

Różnorodne cele modelowania w konkretnych przypadkach Uporządkowanie i/lub zunifikowanie procesu wytwarzania Gromadzenie wiedzy na temat projektów Ułatwienie wytwarzania Dokumentacja różnych wersji u różnych klientów Automatyczne przetwarzanie Komunikacja w zespole i z klientem Wymaganie dla podwykonawcy...

Uwarunkowania i charakterystyki projektu Wielkość i złożoność wytwarzanego systemu Innowacyjność projektu Budżet i czas trwania projektu Rodzaj systemu, dziedzina problemowa Złożoność organizacji Stabilność wymagań Użytkownicy i udziałowcy Wymagany poziom formalności Przyszły rozwój systemu Różne wersje systemu, czas na dostarczenie kolejnej wersji Wielkość zespołu i umiejętności poszczególnych osób Poziom rotacji personelu Priorytety powiązane ze spełnieniem celu projektu Narzędzia

Rola modeli w cyklu życia systemów Zrozumienie złożoności systemu Analiza: zrozumienie dziedziny problemowej, zrozumienie celu i zakresu systemu, wyróżnienie cech istotnych Projektowanie: uporządkowanie wiedzy na temat podjętych decyzji Utrzymanie: zrozumienie zakresu, struktury i działania systemu Specyfikowanie struktury i zachowania w celu przewidywania zachowania i właściwości Produkty analizy i projektowania: weryfikacja, walidacja, ocena rozwiązań Dokumentacja podjętych decyzji i komunikacja W zespole projektowym: analitycy-projektanci-programiści-testerzy Z kierownictwem Z klientem

Korzyści z modelowania według badań ankietowych Poprawa dokumentacji produktu Poprawa jakości oprogramowania Poprawa dostępności do wiedzy na temat projektu Zwiększenie możliwości weryfikacji i przetwarzania specyfikacji Ułatwienie w ustaleniu zakresu funkcjonalności systemu Poprawa komunikacji w zespole i z klientem (czasami) Możliwość nadbudowania innych technologii Efektywność i satysfakcja zależy od zaawansowania technologii, stopnia dopasowania do specyfiki firmy oraz integracji z innymi narzędziami Wzrost produktywności w przedziale 'raczej tak' do 'raczej nie

Rola dokumentacji w projekcie Zapis ustaleń w trakcie trwania projektu i podstawa podejmowania decyzji Zgromadzenie informacji o wykonanych pracach, produktach, projektach Sposób komunikacji w zespole Podstawa komunikacji z klientem i z kierownictwem Wspomaganie procesu wykonywania zadań, np. szablony, metody tworzenia modeli Podstawa analizy np. postępów, poszczególnych aspektów systemu Podstawa poprawy jakości [...]

Efektywność dokumentowania Każdy dokument pisany jest w konkretnym celu i dla konkretnego odbiorcy. Korzyści dla wykonawcy Użyteczność dla odbiorcy Wymagana precyzja Czas tworzenia dokumentów Czas czytania dokumentów

Potencjalne problemy Modele o słabej jakości Antywzorzec przedokumentowania brak efektywności w związku z nadmiarem modelowania przy braku automatyzacji Niespójność kodu i dokumentacji (modeli) systemu - modyfikacje w kodzie przy braku modyfikacji modeli

Rodzaje modeli i typowe rozwiązania (ad ETAP2) Modelowanie biznesowe Modelowanie wymagań (analityczne) Modelowanie systemu (projektowe) Agile modeling Transformacje modeli (MDA) Przestrzenie techniczne Wzorce analizy i wzorce projektowe Zapewnienie jakości modeli Modelowanie dziedzinowe

Modelowanie biznesowe Cel: opis organizacji Notacje: BPMN, rozszerzenia UML Aspekty: procesy, hierarchia/struktura, usługi, zdarzenia biznesowe Zastosowanie: skomplikowane procesy, znajomość organizacji istotna do wprowadzenia systemu, wsparcie dla procesów.

Modelowanie wymagań Cel: opis wymagań, analiza systemu Notacje: UML, SysML Aspekty: funkcjonalność, struktura systemu, dynamika systemu, wymagania Zastosowanie: analiza systemu w czasie wytwarzania lub ewolucji oprogramowania, analiza wykonalności lub wariantów systemu

Modelowanie systemu Cel: opis systemu, decyzje projektowe, dokumentacja systemu Notacja: UML, ERD, mapy nawigacji GUI Aspekty: funkcjonalność, struktura, dynamika, interfejs użytkownika, bazy danych Zastosowanie: wytwarzanie i modyfikacja oprogramowania, podstawa generacji kodu

Agile Modeling Podstawowe praktyki Aktywny udział udziałowców Wspólna własność Publiczne wyświetalnie modeli Wspólne modelowanie Model storming JIT Wytwarzanie równolegle wielu modeli Prosta zawartość Proste modele Modelowanie w małych iteracjach Użycie najprostszych narzędzi Specyfikacje wykonalne Dodatkowe praktyki Stosowanie standardów modelowania Łagodne stosowanie wzorców Pozbywanie się modeli tymczasowych Formalizacja modeli kontraktowych Uaktualnienia, kiedy konieczne www.agilemodeling.com

Transformacje modeli (MDA) Cel: MDSD, przekształcenia modeli niezależnych od platformy (PIM) w modele zależne od platformy (PSM) Notacje i standardy: UML, MOF, QVT Zastosowania (cele MDA): przenośność, wielokrotne użycie, współpraca różnych środowisk, elastyczność względem nowych technologii

Przestrzenie techniczne Cel: Opis technologii na wyższym poziomie abstrakcji, w celu umożliwienia łatwiejszego ich porównywania i szukania ewentualnych możliwości integracji, łączenie różnych technologii (różnych przestrzeni technicznych) Standardy: MOF, XML, Aspekty: poziomy M1-M3 czterowarstwowej architektury meta-modeli, łączenie (ang. bridging) Zastosowanie: systemy wykorzystujące różne technologie, transformacje pomiędzy różnymi przestrzeniami

Wzorce analizy Cel: pomoc w analizie podobnych problemów Notacja: UML Aspekty: struktura, dynamika Zastosowanie: inspiracja (wykorzystanie doświadczeń innych) przy tworzeniu własnych modeli; tworzenie firmowych bibliotek wzorców i ich wykorzystanie

Techniki zapewnienia jakości modeli Cel: zapewnienie wysokiej jakości modeli i modelowanych systemów, przeciwdziałanie propagacji defektów Techniki: zalecenia, style modelowania, listy kontrolne, inspekcje, przeglądy, metryki, narzędzia, kompetencje wykonawców Zastosowanie: kompromis pomiędzy korzyściami a nakładami pracy

Modelowanie dziedzinowe (DSM, DSL = Domain Specific Modeling/Languages) Cel: lepsze dopasowanie do dziedziny, większa automatyzacja, eliminacja nadmiarowości w zastosowaniach uniwersalnych Notacje: DSL do zaprojektowania Aspekty: wybór istotnych dla danej dziedziny Zastosowanie: wytwarzania wielu systemów w określonej dziedzinie Konsekwencje: nakład pracy na tworzenie DSL i skryptów; kod, dokumentacja i testy generowane automatycznie; analiza i projekt nakładają się na siebie

Konfiguracja modelowania Cele, strategia (ad ETAP 3) produkty zadania, procesy narzędzia role

Dobór produktów Jakie diagramy? W jakim zastosowaniu? Jakie powiązania pomiędzy diagramami? Jakie powiązania pomiędzy diagramami a innymi produktami, np. wymagania, wizja, prototypy interfejsów, testy...?

Dobór procesu Jakie zadania są związane z tworzeniem modeli? Jakie zadania są związane z zapewnieniem jakości modeli? Jakie zadania są związane z wykorzystaniem modeli? Jakie zadania są związane z modyfikacją modeli? Jaki jest przebieg procesu?

Role Kto będzie tworzył poszczególne modele? Czy dana rola wykonuje także inne zadania powiązane z tworzeniem modeli? Kto będzie czytał i modyfikował poszczególne modele? Jakie predyspozycje są wymagane dla poszczególnych ról?

Narzędzia CASE Czy narzędzia wspierają zadania? Jakie są możliwości automatycznej generacji? Jaka jest jakość narzędzi? Czy narzędzia są dopasowane do specyfiki organizacji i prowadzonych projektów? Czy można je zintegrować z innymi narzędziami?

Opis procesu zgodnie ze SPEM Software and Systems Process Engineering Meta-model Typowe korzyści: Systematyzacja wiedzy na temat procesów Precyzja, łatwość konfiguracji Pomoc w realizacji i wprowadzenie dla nowych pracowników Wspomaganie planowania projektów

Zastosowanie SPEM do modelowania procesu + diagramy czynności

Business Modeling

Define Business

Define Business Operations

Rola: Business-Process Analyst This role leads and coordinates business requirements elicitation by outlining and delimiting the organization being modeled.

IBM Rational Method Composer Środowisko do definiowania procesu wytwarzania oprogramowania Wykorzystanie jako podstawy elementów IBM RUP Wykorzystanie Plug-Inów zawierających opis specjalistycznych procesów, np. PMBOK, SOA,... Publikowanie procesu wytwarzania konkretnej konfiguracji - jako strony internetowej Eclipse Process Framework (EPF) http://www.eclipse.org/epf/