Model oceny jakości implementacji wzorców projektowych

Podobne dokumenty
Model oceny jakości implementacji wzorców projektowych

Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP

Programowanie obiektowe

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP

MODEL OCENY JAKOŚCI IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W OPROGRAMOWANIU

TRUDNOŚCI W IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W MAŁYCH ZESPOŁACH PROGRAMISTYCZNYCH

Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP

Programowanie obiektowe

Koncepcja hybrydowej metody do oceny jakości zaimplementowanych wzorców projektowych

Zaawansowane programowanie w C++ (PCP)

Programowanie obiektowe

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Programowanie obiektowe

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

Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

Autor: mgr inż. DANIEL CZYCZYN-EGIRD Opiekun naukowy: dr hab. inż. profesor PK ADAM SŁOWIK

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

Modelowanie i Programowanie Obiektowe

Wykorzystanie modeli danych do weryfikacji implementacji wzorców projektowych


Podstawy modelowania programów Kod przedmiotu

Współczesna problematyka klasyfikacji Informatyki

Rok akademicki: 2012/2013 Kod: IET SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane

Wzorce projektowe i refaktoryzacja

RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2017/18

Technologie obiektowe Object-oriented technologies. Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

E-1IZ3-06-s6. Inżynieria Programowania. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Wzorce projektowe. dr inż. Marcin Pietroo

PRZEWODNIK PO PRZEDMIOCIE

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

Wzorce projektowe Michał Węgorek

Web frameworks do budowy aplikacji zgodnych z J2EE

Wykład 1 Inżynieria Oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Programowanie Zespołowe

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

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

Recenzja rozprawy doktorskiej pana mgr inż. Rafała Wojszczyka pt. Model oceny jakości implementacji wzorców projektowych

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

INŻYNIERIA ZARZADZANIA,

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

LISTA KURSÓW PLANOWANYCH DO URUCHOMIENIA W SEMESTRZE ZIMOWYM 2015/2016

PROGRAM STUDIÓW WYŻSZYCH ROZPOCZYNAJĄCYCH SIĘ W ROKU AKADEMICKIM 2010/2011. Wydział Matematyczno-Fizyczno-Techniczny

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

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

Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016

Inzynieria Oprogramowania 2... nazwa przedmiotu SYLABUS A. Informacje ogólne. Wydział Ekonomiczno-Informatyczny w Wilnie

Inżynieria oprogramowania. Jan Magott

RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2015/16

INŻYNIERIA OPROGRAMOWANIA

PRZEWODNIK PO PRZEDMIOCIE

Zaawansowane programowanie obiektowe - wykład 5

Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)

Programowanie obiektowe

Wprowadzenie do programowania aplikacji mobilnych

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Metodyki i techniki programowania

II. MODUŁY KSZTAŁCENIA

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

Dokument Detaliczny Projektu

Programowanie obiektowe

Ewa Stemposz Andrzej Jodłowski Alina Stasiecka. Zarys metodyki wspierającej naukę projektowania systemów informacyjnych

Programowanie obiektowe

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

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

MATEMATYCZNE METODY WSPOMAGANIA PROCESÓW DECYZYJNYCH

Technologie i usługi internetowe cz. 2

Materiały do zajęć VII

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

PROGRAM STUDIÓW WYŻSZYCH ROZPOCZYNAJĄCYCH SIĘ W ROKU AKADEMICKIM 2010/2011. Wydział Matematyczno-Fizyczno-Techniczny

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

Programowanie MorphX Ax

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

Opisy efektów kształcenia dla modułu

INFORMATYKA P L AN S T U DIÓW ST AC J O N AR N Y C H ( W UKŁAD Z I E S EMESTR AL N Y M ) Podstawy programowania

Podstawy Programowania Obiektowego

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Zasady organizacji projektów informatycznych

Pytania z przedmiotów kierunkowych

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Procesy i systemy dynamiczne Nazwa przedmiotu SYLABUS A. Informacje ogólne

Programowanie obiektowe

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

Transkrypt:

Model oceny jakości implementacji wzorców projektowych mgr inż. Rafał Wojszczyk Promotor: prof. dr hab. inż. Volodymyr Khadzhynov Promotor pomocniczy: dr inż. Piotr Ratuszniak Politechnika Koszalińska 1

Agenda 1. geneza i problem badawczy, 2. metoda oceny jakości implementacji wzorców projektowych, 3. weryfikacja, 4. wnioski i kierunki dalszych badań. 2

Geneza oprogramowanie pudełkowe Oprogramowanie Internetowe Okienkowe Dedykowane Pudełkowe ZUS, Banki Duże dla profesjonalistów Małe Microsoft Adobe Użytkowe Autorskie, dla biznesu WinRAR Total Commander Fakturowanie Zarządzanie hotelem Zarządzanie gabinetem dentystycznym. 3

Geneza kontrakt pomiędzy wytwórcą a odbiorcą Wytwórca Kontrakt Odbiorca Funkcjonalności Możliwość dalszej rozbudowy Niezależne od pracowników Możliwie łatwe modyfikacje Funkcja 1 Funkcja 2 Funkcja n Konkurencyjność Zmiany w prawie Funkcjonalności Wzorce projektowe Wzorce architektury Komponenty i biblioteki 4

Geneza realizacja kontraktu Wytwórca Odbiorca Wytwórca Wzorzec 1 Wzorzec 2 Wzorzec n Odbiorca 5

Geneza koszt rozbudowy Ingerencja w istniejący kod A1 - budowa B1 nowa funkcja C1 nowa funkcja czas A2 - budowa B2 nowa funkcja C2 nowa funkcja czas Implementacja wzorców projektowych 6

Geneza wzorzec Strategia Pochodzi z katalogu wzorców autorstwa: E. Gamma, R. Helm, R. Johnson, J. Vlissides, Inne popularne wzorce: Singleton, Polecenie, Fabryka Cel: zgrupowanie rodziny algorytmów (np. różne rodzaje sortowania) i ich zamienne wykorzystywanie 7

Geneza doświadczenie zawodowe Implementacja wzorców projektowych Początek budowy aplikacji Ingerencja w istniejący kod Rozwój aplikacji Dalszy rozwój aplikacji 2007 2010 2013 2018 Okres zatrudnienia 8

Geneza zła jakość implementacji wzorców Wytwórca Wzorzec 1 Wzorzec 2 Wzorzec n Odbiorca Implementacja wzorców projektowych Ingerencja w istniejący kod A3 - budowa B3 nowa funkcja C3 nowa funkcja Zła jakość implementacji wzorców 9

Geneza definicja jakości Jakość to stopień, w jakim moduł, system lub proces spełnia określone wymagania, potrzeby lub oczekiwania [IEEE 610] Jakość to stopień, w jakim implementacja wzorca projektowego (fragment kodu źródłowego) spełnia określone oczekiwania - redukcja kosztów rozbudowy 3. Występuje wzorzec i brak kosztów związanych z ingerencją w istniejący kod 2. Występuje wzorzec (spełnia cel) i wysokie koszty związane z ingerencją w istniejący kod 1. Brak wzorca, ale fragmenty implementacji przypominają wzorzec, pozorna implementacja 0. Brak wzorca 10

Geneza poszukiwane rozwiązanie Cechy wzorców Kod programu 3 stopień 2 stopień 1 stopień? 11

Geneza alternatywne rozwiązania Rodzaj Przykłady metod Dokładność pozwalająca na ocenę 3 stopnia jakości Modele jakości FRUPS, CUPRIMDA, ISO9126, Bohem Koszt użycia dopuszczalny w zwinnych zespołach Metryki oprogramowania CK, MOOD, R. Martin Wyszukiwanie wystąpień Weryfikacja kodu Tsantalis, Kirasić, SinghRao, Deluca, Grzanek, Rasool, Węgrzynowicz Blewit (Spine) Porównywanie do modeli Nicholson (Lepus2), Mechlitz 12

Geneza przykład metody Lepus2 Graficzna reprezentacja wzorca Polecenie zgodna z Lepus2, źródło A. H. Eden: Codecharts Wymaga obszernej dokumentacji projektowej Nie uwzględnia m. in. modyfikatorów dostępu, konwencji nazewnictwa 13

Geneza - problem Dane: kod źródłowy, miejsca występowania wzorców, szablony przykładowych wzorców Ograniczenia: paradygmat programowania obiektowego, oprogramowanie pudełkowe, wzorce z katalogu E. Gammy, brak dokumentacji projektowej, koszt użycia metody dopuszczalny w zwinnych zespołach Poszukiwana jest metoda oceny jakości implementacji wzorców projektowych? Cechy wzorców Kod programu 3 stopień 2 1 stopień stopień? 14

Geneza istotne cechy kodu i wzorców Cechy kodu programu Paradygmat programowania obiektowego: rodzaje danych, modyfikatory ogólne, modyfikatory dostępu, elementy składowe, parametry i treść metod, Paradygmat programowania obiektowego Cechy wzorców projektowych Paradygmat programowania obiektowego Własności ważne dla programistów: konwencje nazewnictwa, warianty wzorców Własności liczbowe: głębokość drzewa dziedziczenia, współczynnik ukrycia metod Cechy wzorców Mieszane reprezentacje Kod programu?? 3 2 1 stopień stopień stopień 15

Rozwiązanie Model oceny jakości implementacji wzorców projektowych Kod programu Cechy wzorców Model programu komputerowego (MP) Model wzorca projektowego (MW) Model metryk (MM) 16 Podział zgodny z ISO 9126

Teza Model wykorzystujący paradygmat programowania obiektowego do formalizacji kodu programu oraz Model programu komputerowego mieszane reprezentacje do szablonów wzorców projektowych, Model metryk umożliwia budowę metody oceny jakości implementacji wzorców projektowych, która pozwala uzyskiwać wyniki oceny z lepszą dokładnością i nie większym kosztem niż jest to możliwe przy pomocy alternatywnych metod. 17

Metoda 1 Etap budowa modelu wzorca i metryk 2 Etap budowa modelu programu 3 Etap - ocena Występuje jednorazowo Występuje wielokrotnie w trakcie każdej iteracji 18

Metoda Etap 1 budowa modelu wzorca i metryk 3? 2 1 Diagram klas wzorca Strategia 0 Model Wzorca (cechy/charakterystyki): ch 1 = (deklaracja interfejsu, M 1 ) ch 2 = (deklaracja operacji, M 2 ) ch 3 = (realizacja interfejsu, M 3 ) ch 4 = (implementacja Operacji, M 4 ) ch 5 = (kontekst implementacji, M 5 ) ch 6 = (inicjalizacja i wybór, M 6 ) Model Metryk dla charakterystyka 1 (ch 1 ): 3 jeżeli MET, brak, public, Strategy, interface m 1,1 = 2 jeżeli MET, abstract, public, Strategy, class 1 jeżeli MET, brak, public, Strategy, class 3 jeżeli MET = 1 2 jeżeli 2 MET 10 m 1,2 = 1 jeżeli MET > 11 0 jeżeli MET = 0 Gdzie: MET zbiór metod w danym typie 19

Metoda Etap 2 budowa modelu programu public abstract class SortStrategy t 1 =(Ø, Ø, MET 1, abstract, public, SortStrategy, class) { public abstract void Sort(IList collection); } met 1,1 =(PM 1,1, void, 0, CM 1,1, abstract, public, Sort) pm 1,1,1 =(Ilist, collection) public class QuickSort : SortStrategy t 2 =(Ø, Ø, MET 2, Ø, public, QuickSort, class) { public override void Sort(IList collection) {} } met 2,1 =(PM 2,1, void, 0, CM 2,1, override, public, Sort) public class BubbleSort : SortStrategy { public override void Sort(IList collection) {} } 20 t 3 =(Ø, Ø, MET 2, Ø, public, BubbleSort, class)

Metoda Etap 3 ocena Model oceny jakości implementacji wzorców projektowych t 1 =(Ø, Ø, MET 1, abstract,,) met 1,1 =(PM 1,1, void, 0, CM 1,1 ) pm 1,1 =(Ilist, collection) Model programu komputerowego (MP) t 2 =(Ø, Ø, MET 2, Ø, public,,) met 2,1 =(PM 2,1, void, 0, CM 2,1, ) t 3 =(Ø, Ø, MET 3, Ø, public,,) t 4 =(Ø, Ø, MET 4, Ø, public,,) t 5 =(Ø, Ø, MET 5, Ø, public,,) Model Wzorca (cechy/charakterystyki): ch 1 = (deklaracja interfejsu, M 1 ) Model wzorca projektowego (MW) ch 2 = (deklaracja operacji, M 2 ) ch 3 = (realizacja interfejsu, M 3 ) ch 4 = (implementacja Operacji, M 4 ) ch 5 = (kontekst implementacji, M 5 ) ch 6 = (inicjalizacja i wybór, M 6 ) Model Metryk dla charakterystyka 1 (ch 1 ): 3 jeżeli MET, brak, public,, 2 jeżeli MET, abstract, public,, m 1,1 = m 1,2 = Model 1 jeżeli MET, brak, metryk public,, 3 jeżeli MET (MM) = 1 2 jeżeli 2 MET 10 1 jeżeli MET > 11 0 jeżeli MET = 0 3 2 1 0 21

Metoda algorytm oceny Start x = 1 mp y = pnastępny element odpowiadający ch x mp y = pierwszy element odpowiadający ch x N Wylicz(ch x.metryki, mp y ) Zapisz wyniki oceny Czy ostatni element mp odpowiadaj ący ch x? T Legenda: ch x dowolna charakterystyka x numer charakterystyki mp y dowolny element z MP (jeśli x=1 to mp y = rdzeń wzorca) CH zbiór charakterystyk ch x.metryki metryki w danej ch x = x + 1 N Czy x = CH? T Stop 22

Metoda wyliczanie wyników t 1 =(Ø, Ø, MET 1, abstract, public, SortStrategy, class) 3, (MET, brak, public, Strategy, interface) m 1,1 = 2, MET, abstract, public, Strategy, class 1, MET, brak, public, Strategy, class 3, MET = 1 2, 2 MET 10 m 1,2 = 1, MET > 11 0, MET = 0 Wynik oceny (m 1,1, t 1, 2), (m 1,2, t 1, 3) IF fragment modelu programu = fragment modelu metryk THEN wynik = stopień jakości IF abstract = brak AND class = interface THEN 3 IF abstract = abstract AND class = class THEN 2 23

Metoda poprawa jakości implementacji wzorców 2 Etap budowa modelu programu 3 Etap - ocena Występuje wielokrotnie w trakcie każdej iteracji 24

Metoda - podsumowanie Model oceny jakości implementacji wzorców projektowych (MP, (MW, MM)) Wzorzec projektowy WP to zbiór charakterystyk tego wzorca: Zbiór metryk MET = {met p p = 1,, met} MP = (MO, MD, RT, SK, K, RI, T, P, W, M, ES, PM, CM, IT). MO WP= nw {abstract, = {chconst, k k new, = override, 1,, k} partial, readonly, sealed, static, virtual, unsafe, default}, Metryka met każda charakterystyka p to dwójka postaci: met ch k to trójka p = g(f postaci: m,n (x,y), IWF k,l ), gdzie: g to Program funkcja komputerowy interpretująca to zbiór wynik typów z T funkcji = {t i i = f zgodnie 1,, t}, zatem z interpretacją t i = (P i, W i, M i, 3 mo wyników i, md i, nazwa funkcji ch k i =, rt i (IWF) (nazwa ), oraz: k, EL k, kr k ), (t 2 Zbiór Zbiór i.rt funkcji elementów classoceny t i.rt F EL interface) F = P i, W i, M i Ø k to {f m,n podzbiór (x,y) m = szczegółowych 1,, rf, n=1,, if}, elementów, gdzie: rf to (t i.rt = interface) P i = Ø które liczba rodzajów, 1 (t i.rt dekomponują if to liczba = interface) M i.mo charakterystykę, funkcji, f = Ø, W i.mo m,n n-ta funkcja = Ø EL k = m-tego {el k,l rodzaju, l = 1,, x el} to Zbiór Element dowolny pól P i zawartych byt elz w i-tym t: P i = {p i,j j=1,, p}, zatem p i,j = (tp i,j, i,j, md0 i,j, nazwa i,j ) k,l to MP, dwójka y to dowolny postaci: zbiór el lub wystąpienie k,l = (nazwaz k,l, modelu met p ), Itd. referencyjnego lub funkcji matematycznych 25

Weryfikacja środowisko akademickie Student Wzorzec 1 Wzorzec 2 Wzorzec n + Strategia Student 1 3,5 rbh Student 2 5,5 rbh Student 3 7 rbh Student Wzorzec 1 Wzorzec 2 Wzorzec n + Strategia Student 1 2 rbh Student 2 4 rbh Student 3 6 rbh Zysk Średnio 28% 26

Weryfikacja środowisko komercyjne 1 Etap budowa modelu wzorca i metryk 2 Etap budowa modelu programu 3 Etap - ocena przy współpracy z Quick-Solutions, wykorzystanie metody w trakcie pracy zespołu programistów, wzorce: Polecenie, Fabryka, Singleton. Oszczędność 14 rbh (20 rbh bez użycia metody, 6 rbh po użyciu metody), Oszczędność około 20% czasu pracy jednego pracownika w jednej iteracji. 27

Koszt użycia w podziale na etapy [ujk] Weryfikacja koszt użycia 1 Etap budowa modelu wzorca i metryk Występuje jednorazowo 28 2 Proponowana metoda Spine Lepus2 2 4 0,1 Wynik proponowana metoda jest mniej kosztowna w użyciu: Symulacja kosztu użycia [ujk] 14 12 10 8 6 4 2 0 0,1 0,5 2 Etap budowa modelu programu Iteracja 1 Iteracja 2 Iteracja 3 Iteracja 4 0,8 3,1 2,2 3 Etap - ocena 45 57 % - sumaryczne zestawienie kosztów, Występuje wielokrotnie w trakcie każdej iteracji 60 61 % - symulacja użycia przez jeden rok.

Weryfikacja - dokładność Analiza porównawcza wybranych metod na przykładzie wzorców Singleton i Strategia. Wynik metoda jest dokładniejsza: Liczba ocenianych cech [szt] 25-57 % w przypadku wzorca Singleton, 30-68 % w przypadku wzorca Strategia. 30 25 20 15 10 5 Proponowana metoda Spine Lepus Mechlitz 0 Singleton Strategia 29

Wnioski Internetowe Oprogramowanie Okienkowe Obniżony koszt rozbudowy oprogramowania o 20% Dokładność większa o 25% Koszt użycia niższy o 45% Dedykowane Pudełkowe ZUS, Banki Duże dla profesjonalistów Małe Microsoft Adobe Użytkowe Autorskie, dla biznesu WinRAR Total Commander Fakturowanie Zarządzanie hotelem Zarządzanie gabinetem dentystycznym. 30

Wyniki badań 1. opracowano model dla wybranych wzorców projektowych oraz procedurę budowy nowych modeli, 2. pracowano nową metodę oceny jakości implementacji wzorców projektowych, 3. pozytywnie zweryfikowano metodę: zweryfikowano możliwość wykorzystania przez zwinny zespół wytwórczy, przynosi oszczędność w pracach programistycznych. 31

Niedostatki MP MW MM Zastosowanie wyłącznie do programów obiektowych Koszt 1 etapu budowa modelu wzorca i metryk (m 1,1, t 1, 2), (m 1,2, t 1, 3) 32

Kierunki dalszych badań Ewaluacja: nowe wzorce, inna klasa oprogramowania, automatyzacja metody i komercjalizacja, inne kryteria oceny, rozszerzenie modelu o dodatkowe reprezentacje: umożliwiające dynamiczną analizę oprogramowania (program w trakcie działania), oparte na ontologiach, rozmycie metryk, ekstrakcja wiedzy ukrytej z dobrych praktyk. 33

Wykaz publikacji 1/4 Rafał Wojszczyk, Piotr Stola, Method of quality assessment of the implementation of design patterns used in production, w: Advances in Intelligent Systems and Computing, Springer International Publishing, 2018/2019 przyjęte do druku. Rafał Wojszczyk, The Experiment with Quality Assessment Method Based on Strategy Design Pattern Example, w: Advances in Intelligent Systems and Computing, Vol. 656, strony od 103 do 112, Springer International Publishing, 2018. Rafał Wojszczyk, Quality Assessment of Implementation of Strategy Design Pattern, w: Advances in Intelligent Systems and Computing, Vol. 620, strony od 37 do 44, Springer International Publishing, 2018. Rafał Wojszczyk, Włodzimierz Khadzhynov, The Process of Verifying the Implementation of Design Patterns - Used Data Models, w: Advances in Intelligent Systems and Computing, Vol. 521, strony od 103 do 116, Springer International Publishing, 2017. 34

Wykaz publikacji 2/4 Rafał Wojszczyk, Piotr Ratuszniak, Trudności w implementacji wzorców projektowych w małych zespołach programistycznych, w: Przedsiębiorstwo we współczesnej gospodarce teoria i praktyka, no. 2/2017, strony od 189 do 201, Wydawnictwo Politechniki Gdańskiej, ISSN 2084-6495 Gdańsk 2017. Daniel Czyczyn-Egird, Rafał Wojszczyk, Determining the popularity of design patterns used by programmers based on the analysis of questions and answers on stackoverflow.com Social Network, w: Communications in Computer and Information Science, vol. 608, strony od 421 do 433, Springer International Publishing, 2016. Rafał Wojszczyk, Robert Wójcik, The Model of Quality Assessment of Implementation of Design Patterns, w: Advances in Intelligent Systems and Computing, vol. 474, strony od 515 do 524, Springer International Publishing, 2016. Rafał Wojszczyk, Włodzimierz Khadzhynov, Wykorzystanie modeli danych do weryfikacji implementacji wzorców projektowych, w: Zeszyty Naukowe Wydziału Elektroniki i Informatyki nr 10, strony od 193 do 209, Wydawnictwo Uczelniane Politechniki Koszalińskiej, ISSN 1897-7421, Koszalin 2016. 35

Wykaz publikacji 3/4 Daniel Czyczyn-Egird, Rafał Wojszczyk, Zastosowanie technik eksploracji danych na przykładzie badania popularności wzorców projektowych w serwisie społecznościowym Stackoverflow.com, w: Zeszyty Naukowe Wydziału Elektroniki i Informatyki nr 10, strony od 81 do 94, Wydawnictwo Uczelniane Politechniki Koszalińskiej, ISSN 1897-7421, Koszalin 2016. Rafał Wojszczyk, Włodzimierz Khadzhynov, Data Models in the Verification of the Singleton Pattern, w: Journal of Theoretical and Applied Computer Science, vol. 9, no. 3/2015, Szczecin 2016. Rafał Wojszczyk, Model oceny jakości implementacji wzorców projektowych w oprogramowaniu, w: Innowacje w zarządzaniu i inżynierii produkcji, Tom II, strony od 300 do 309, Oficyna Wydawnicza Polskiego Towarzystwa Zarządzania Produkcją, Opole 2016. 36 Rafał Wojszczyk, The model and function of quality assessment of implementation of design patterns, w: Applied Computer Science, Vol. 11, No. 3, strony od 45 do 56, Politechnika Lubelska, ISSN 1895-3735, Lublin 2015.

Wykaz publikacji 4/4 Rafał Wojszczyk, Weryfikacja poprawności implementacji struktury wzorców projektowych w oparciu o model referencyjny, w: Od procesów do oprogramowania: badania i praktyka, strony od 73 do 83, Zeszyty Rady Naukowej Polskiego Towarzystwa Informatycznego, ISBN 978-83-60810-73-6, Warszawa 2015. Rafał Wojszczyk, Koncepcja hybrydowej metody do oceny jakości zaimplementowanych wzorców projektowych, w: Zeszyty Naukowe Wydziału Elektroniki i Informatyki nr 7, strony od 17 do 26, Wydawnictwo Uczelniane Politechniki Koszalińskiej, ISSN 1897-7421, Koszalin 2015. Rafał Wojszczyk, Pozyskiwanie struktury obiektowej z kodu zarządzanego przy wykorzystaniu metod inżynierii odwrotnej, w: Inżynieria oprogramowania: badania i praktyka, strony od 199 do 213, Zeszyty Rady Naukowej Polskiego Towarzystwa Informatycznego, ISBN 978-83-63919-15-3, Warszawa 2014. Rafał Wojszczyk, Porównanie sposobów reprezentacji wzorców projektowych, w: Modele inżynierii teleinformatyki 9, strony od 133 do 145, Wydawnictwo Uczelniane Politechniki Koszalińskiej, ISSN 2353-6535, Koszalin 2014. Rafał Wojszczyk, Zestawienie metryk oprogramowania obiektowego opartych na statycznej analizie kodu źródłowego, w: Zarządzanie projektami i modelowanie procesów, strony od 95 do 107, Zeszyty Rady Naukowej Polskiego Towarzystwa Informatycznego, ISBN 978-83-7518-599-7, Warszawa 2013. 37

Model oceny jakości implementacji wzorców projektowych mgr inż. Rafał Wojszczyk dziękuję za uwagę 38