MODEL OCENY JAKOŚCI IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W OPROGRAMOWANIU
|
|
- Małgorzata Górska
- 6 lat temu
- Przeglądów:
Transkrypt
1 MODEL OCENY JAKOŚCI IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W OPROGRAMOWANIU Rafał WOJSZCZYK Streszczenie: Istnieje wiele metod i dobrych praktyk mających na celu zapewnienie jakości wytwarzanego oprogramowania, jedną z owych praktyk jest wykorzystanie wzorców projektowych. Celem artykułu jest przedstawienie autorskiej metody opartej na modelu oceny jakości implementacji wzorców projektowych. Metoda zakłada weryfikację różnych aspektów implementacji wzorców oraz wyrażenie otrzymanych wyników w postaci liczbowej. Analiza otrzymanych wyników umożliwia wykrywanie błędów, które są trudne do zidentyfikowania podczas inspekcji kodu lub testowania. Słowa kluczowe: wzorce projektowe, jakość oprogramowania, ocena jakości. 1. Wstęp Oprogramowanie komputerowe to bardzo specyficzna grupa produktów klasyfikowanych jako niematerialne. W odróżnieniu od produktów materialnych oprogramowanie: nie psuje się, nie zużywa oraz nie wymaga wymiany części. Wydawać by się mogło, że raz wytworzone oprogramowanie winno działać bez przerwy i raz na zawsze. Niestety rzeczywistość wielokrotnie udowodniła, że oprogramowanie musi się zmieniać i dostosowywać do potrzeb ludzi. Powszechnie znanym przykładem wymuszonych zmian w oprogramowaniu, na przełomie 1999 i 2000 roku, była tzw. pluskwa milenijna. Uważano wtedy, że większość komputerów przestanie prawidłowo pracować ze względu na dwucyfrowy system dat. Innym przykładem zmian, na które część programów komputerowych nie było przygotowanych to wprowadzenie nowych stawek VAT w Polsce w 2011 roku. Niektóre programy wymagały poniesienia dodatkowych kosztów przez producentów, tj. ingerencji w kod źródłowy, aby wprowadzić nowe stawki. Producenci mogli uniknąć kosztów poprzez wcześniejszą implementację odpowiednich mechanizmów rozszerzeń i modyfikacji, które są realizowane między innymi przez wzorce projektowe [1]. Wykorzystanie wzorców projektowych jest bardzo ważne w całym procesie wytwórczym oprogramowania, ponieważ są uznawane za pewnego rodzaju język komunikacji. Język ten sprawia, że kod programu, który zawiera wzorce projektowe będzie łatwiejszy w poznaniu i zrozumieniu niż ten, który nie zawiera wzorców. Jest to szczególnie ważne w sytuacji zaprzestania rozwoju oprogramowania lub zmian w składzie zespołu wytwórczego odpowiedzialnego za dane oprogramowanie. Celem pracy jest przedstawienie autorskiej metody opartej na modelu oceny jakości implementacji wzorców projektowych. Metoda została zaimplementowana i zweryfikowana w dedykowanym pakiecie oprogramowania użytkowego. Drugi rozdział pracy wyjaśnia wpływ wzorców projektowych na jakość oprogramowania oraz przedstawia wybrane badania związane z wzorcami projektowymi. Rozdział trzeci i czwarty to odpowiednio opis ram modelu oraz opartej na nim metody. W piątym rozdziale przedstawiono przykładowe wyniki. Ostatni, szósty rozdział, stanowi podsumowanie pracy. 300
2 2. Jakość oprogramowania oraz wzorce projektowe Jakość oprogramowania to bardzo ogólne pojęcie i nie możliwe jest zdefiniowanie miary, która bezpośrednio wyznacza tę wartość. Analizując różne modele jakości oprogramowania [2], w tym charakterystykę konserwowalności (ang. maintainability) zawartą w trzeciej części normy ISO/IEC 9126 [3] można wywnioskować, że o wewnętrznej jakości programu (tj. jakości kodu programu) świadczą charakterystyki: łatwość rozbudowy, łatwość modyfikacji, łatwość zrozumienia kodu. Implementacja wzorców projektowych w oprogramowaniu sprzyja pozytywnym wartościom wymienionych charakterystyk (pozytywnym tzn. dzięki wykorzystaniu wzorców projektowych oprogramowanie jest łatwiejsze w rozbudowie itp.) [1]. Zatem można przyjąć, że jakość implementacji wzorców projektowych jest jednym z czynników świadczących o jakości oprogramowania. Jakość implementacji wzorców projektowych, podobnie jak ogólna jakość oprogramowania, nie posiada bezpośredniej miary. Przyjęło się w społeczeństwie programistów, że jednym z podstawowych czynników świadczących o implementacji wzorców jest weryfikacja poprawności struktury tworzącej wzorce względem ogólnie znanych szablonów z [1]. Szablony nie przewidują wszystkich możliwych wariantów, stąd pojawia się znaczące zróżnicowanie implementacji, co ostatecznie utrudnia weryfikację. Struktura tworząca wzorce jest wyłącznie jednym z aspektów w procesie oceny wzorców projektowych. Istnieje wiele innych cech, które wpływają na jakość implementacji, np. zniekształcenia i brudy (potocznie z ang. distortion oraz bad smells), nachodzenie na inne wzorce projektowe, typowe błędy. Ponadto występują jeszcze inne utrudnienia związane z analizowaniem implementacji wzorców projektowych, zostało to przedstawione między innymi w [4] oraz [5]. Różne utrudnienia mogą prowadzić do pozornej sytuacji, w której zachowana jest poprawność strukturalna implementacji wzorca, ale wykorzystanie nie jest zgodne z intencją lub nie spełnia założonego celu. Wzorce projektowe opisane w [1] to szablony gotowych mechanizmów, które można wykorzystać do rozwiązania typowych problemów pojawiających się cyklicznie w projektowaniu i programowaniu obiektowym. Jednakże nie są to gotowe rozwiązania, ponieważ wykorzystanie każdego wzorca wymaga odpowiedniej implementacji zgodnie z kontekstem oprogramowania. Zagadnienia poruszane w badaniach związanych z wzorcami projektowymi bardzo często dotyczą problemu wyszukiwania wystąpień wzorców projektowych w oprogramowaniu [6, 7, 8]. Miarą wymienionych badań jest przedstawienie ilości wystąpień wzorców, co jest niewystarczające aby uznać to za znamiona jakości. Podejmowane są również badania, które mają na celu głównie wykazanie poprawności strukturalnej implementacji wzorców [9], co również dostarcza zbyt małą ilość informacji. Inne próby liczbowego wyrażenia wzorców projektowych zostały przedstawione w [10] oraz [11], polegają na zastosowaniu znanych metryk oprogramowania obiektowego lub autorskich metryk do oprogramowania zawierającego wzorce projektowe. Wiele lat badań nad metrykami dostarczyło zalecane wartości metryk dla ogólnego przypadku oprogramowania, których uzyskanie wskazuje na wysoką jakość. Natomiast w [12] wykazano, że występowanie wzorców projektowych nie wpływa pozytywnie na wyniki uzyskiwane z metryk, zatem należałoby dokonać odpowiedniej nadinterpretacji metryk w zastosowaniu do wzorców, zostało to przedstawione w [13]. 301
3 3. Ramy modelu oceny jakości 3.1. Ogólne założenia Podstawowe założenia modelu zostały opisane w [4], natomiast rysunek 1 przedstawia ogólną budowę proponowanego modelu. Model zakłada opisanie badanego oprogramowania za pomocą formalnej reprezentacji, dokładniej jest to odpowiednio przygotowana struktura danych, wywodząca się z założeń paradygmatu programowania obiektowego [14]. Repozytorium implementacji wzorców odpowiedzialne jest za opisanie informacji o wzorcach projektowych, zawiera charakterystyki i miary jakości. Charakterystyki, dokładniej to aspekty oraz zawarte w nich cechy, opisują definicje wzorców. Metryki niezbędne do pomiaru wartości wspomnianych charakterystyk są opisane przez repozytorium metryk, które składa się z modelu referencyjnego oraz zbioru szczegółowych miar. Model dostarcza niezbędne elementy do wyrażenia jakości w postaci liczbowej, co następnie umożliwia wyznaczenie wymaganego poziomu jakości względem badanego oprogramowania oraz porównywanie kolejnych wydań. Dodatkowo dane zawarte w metrykach pozwalają na uzyskanie informacji jakich zmian należy dokonać w badanym oprogramowaniu aby osiągnąć wyższą jakość Definicje wzorców projektowych Rys. 1. Ogólna budowa modelu Definicje wzorców projektowych opisane są przez hierarchiczną strukturę danych, która reprezentuje zbiór cech wymaganych w implementacji rozpatrywanych wzorców. Rysunek 2 przedstawia symboliczną hierarchię definicji wzorców. Korzeniem w hierarchii jest konkretny wzorzec projektowy, pierwszym poziomem są ogólne kategorie (aspekty), w których pogrupowane zostały cechy. Poziom cech dotyczy konkretnych własności 302
4 wzorców projektowych a semantyka tego poziomu pozwala na definiowanie relacji "lub", "i" oraz "zawiera" pomiędzy cechami. Każda cecha może być skojarzona z elementami w repozytorium metryk, które szczegółowo opisuje daną cechę. Dodatkowo cechy scharakteryzowane są przez dane liczbowe informujące o krotności wystąpień oraz ocenie, co wyjaśnia tabela 1. Współczynnik wagi pozwala na określenie ważności danej cechy. Współczynniki mogą być ustalane na podstawie wiedzy eksperta, literatury oraz w zależności od kontekstu, stąd możliwe jest profilowanie definicji wzorców (dobór odpowiednich współczynników wagi w zależności od rodzaju badanego oprogramowania). Oddzielenie definicji wzorców od metryk pozwala na zwiększenie szczegółowości opisywanych danych poprzez dobór najbardziej odpowiednich metryk, dodatkowo umożliwia to rozwój na wypadek, gdyby dotychczasowe metryki okazały się niewystarczające. Rys. 2. Symboliczna reprezentacja definicji wzorców Tab. 1. Dane charakteryzujące cechę Nazwa Opis własności Nazwa Słowne określenie cechy, zrozumiałe dla człowieka. Zależność od Wskazanie na inną cechę i określenie rodzaju zależności od niej: i, lub, cechy zawiera. Ocena Złożona struktura danych scharakteryzowana przez współczynnik wagi (ważności danej cechy) oraz próg aktywacji. Krotność Złożona struktura danych, która zawiera informacje o ilości wystąpienia danej cechy w badanym oprogramowaniu. Określa oczekiwaną wartość w postaci przedziałów: od do, równe lub większe, mniej niż, dokładnie. Skojarzone Złożona struktura danych, która wskazuje na szczegółowe miary oraz metryki skojarzone z nimi możliwe wartości. 303
5 3.3. Repozytorium metryk W modelu przewidziane zostały dwa rodzaje metryk: opis szablonów wzorców projektowych w modelu referencyjnym oraz szczegółowe miary. Pierwszy rodzaj jest dedykowany do opisu generycznej struktury tworzącej wzorce, ponieważ jest to jeden z podstawowych aspektów, który występuje w każdym wzorcu. Model referencyjny składa się z rozbudowanej struktury danych, która bazuje na założeniach paradygmatu programowania obiektowego [15]. Umożliwia zdefiniowanie różnych wariantów poszczególnych elementów wzorców projektowych z określeniem stopnia dopasowania do założonego ideału. Drugi rodzaj metryk, tj. szczegółowe miary, reprezentuje funkcje matematyczne, które operują na mierzalnych atrybutach programowania obiektowego [13]. Z każdą funkcją skojarzony jest zbiór zalecanych wartości, co ponownie przekłada się na poziom dopasowania. Metryki, pod względem zwracanego wyniku, są wobec siebie polimorficzne. Wynik każdej metryki powinien być zwracany w postaci ustandaryzowanej, jako maksyment oraz w określonym przedziale wartości. 4. Realizacja metody Model wyznacza pewne ramy, w oparciu o które została zaproponowana autorska metoda pozwalająca na weryfikację modelu. Metoda charakteryzuję się dwoma etapami postępowania, które zostały zaimplementowane jako jedno oprogramowanie użytkowe wykonane w technologii Microsoft.NET. Aktualne zastosowanie narzędzia ogranicza się do wybranych wzorców z [3] Pozyskanie oprogramowania Pierwszym etapem jest pozyskanie oprogramowania, które będzie poddane ocenie jakości implementacji wzorców projektowych. Pozyskanie polega na przekształceniu kodu źródłowego programu do formalnej reprezentacji oprogramowania, które wyłącznie w tej postaci jest wykorzystywane przez dalsze etapy. Wykorzystana technologia usprawniła proces pozyskania badanego oprogramowania, który sprowadza się do akwizycji struktury obiektowej z kodu zarządzanego CIL przy wykorzystaniu jednej z metod inżynierii odwrotnej, np. Mono.Cecil [14]. Wykorzystanie kodu zarządzanego pozwoliło na uniknięcie typowych błędów syntaktycznych występujących w kodzie źródłowym oraz wyeliminowało z badanego oprogramowania zbędne fragmenty kodów, np. kod testów jednostkowych, dyrektywy preprocesora i inne. Dodatkowa korzyść wynikająca z wykorzystanej technologii to możliwość zastosowania metody do różnych języków programowania kompilowanych do kodu zarządzanego. Formalna reprezentacja danych zawierająca pozyskane oprogramowanie została zrealizowana jako baza danych w środowisku Microsoft SQL Server Analiza oprogramowania Etap analizy wykorzystuje dane zawarte w reprezentacji formalnej oraz dane opisywane przez repozytorium implementacji wzorców projektowych. Analiza cech odbywa się zgodnie z hierarchią opisaną przez definicje wzorców, tj. aby uzyskać charakterystykę danej cechy wzorca projektowego, należy uprzednio wyznaczyć wartości metryk, które 304
6 opisują tą cechę. Dokładniej opisuje to następująca procedura: dla każdej kategorii (inaczej aspektu) należy wykonać weryfikację cech, które posiada, zaś dla każdej weryfikowanej cechy należy wyznaczyć wartości metryk charakteryzujących daną cechę. W każdym kroku weryfikacji uzyskiwany jest wynik cząstkowy. Jeśli wynik nie spełnia progu aktywacji to element lub cecha nie występuje, w szczególnym przypadku jeśli próg aktywacji wynosi 0 to wystąpienie elementu lub cechy jest obowiązkowe. Każdy etap weryfikacji obarczony jest sprawdzeniem występujących ograniczeń, np. związanych z krotnością (ilością) występujących elementów. Opracowana struktura opisu definicji wzorców pozwoliła na przystępną realizację głównego algorytmu analizy: w pętli iterowane są kolejne cechy i dla każdej wykonywana jest analiza. W przypadku zależności zawiera wykonywana jest funkcja rekurencyjna w głąb hierarchii. Algorytm analizy traktuje metryki polimorficznie, dzięki czemu rodzaj metryki nie ma znaczenia. Repozytorium metryk jest jednokrotnie uzupełniane przed pierwszym wykorzystaniem metody. Przykładowe dane opisujące wzorzec projektowy Singleton przedstawia tabela 2. Metoda nie przewiduje wyszukiwania wystąpień wzorców, stąd wymagane jest wcześniejsze wskazanie rdzenia wzorca (np. klasa wzorca Singleton, interfejs wzorca Strategia) w badanym oprogramowaniu. Tab. 2. Przykładowy opis wzorca Singleton, rodzaj metryki odpowiada odpowiednio: MR - model referencyjny, SM - szczegółowe miary Kategoria Cecha Wartości opisujące cechę Rodzaj metryki Struktura tworząca wzorzec Typ Nieabstrakcyjna klasa, brak dziedziczenia MR Instancja Prywatne, statyczne pole zwracane przez publiczną statyczną właściwość identycznego typu jak klasa zawierająca, sugerowana nazwa to Instance MR Konstruktor Prywatny MR Zachowanie Inicjalizacja Sprawdzanie istnienia obiektu oraz tworzenie przy pierwszym wykorzystaniu MR i SM Wielowątkowość Synchronizacja dostępu do instancji SM Wykorzystanie Poprzez asocjację Przynajmniej jeden udziałowiec i nie więcej niż 1/2 sumy klas i interfejsów w badanym oprogramowaniu SM Poprzez Brak dziedziczenia z klasy wzorca dziedziczenie Inne Błędy Zabronione są konstruktory inne niż prywatne, powinien występować wyłącznie jeden element pełniący rolę instancji Zawartość Powiązania z innymi wzorcami Odpowiednia ilość niestatycznych elementów składowych (pola, metody) zawartych w klasie wzorca Fabryka abstrakcyjna MR MR SM MR i SM 305
7 4.3. Zastosowanie Główny obszar zastosowania metody to etap implementacji w procesach wytwórczych oprogramowania. Metoda może być wykorzystana równolegle z innymi narzędziami dbającymi o zapewnienie jakości produktu programowego, a w tym dobrych praktyk oraz czystości kodu. Jest to szczególnie przydatne w firmach lub zespołach deweloperskich, dla których wysokim priorytetem jest zapewnienie łatwej konserwacji i rozbudowy oprogramowania. Prototypową realizację narzędzia przedstawia rysunek 3. Po wybraniu żądanej kategorii, a następnie cechy (zob. rys. 3), program wyświetla dodatkowe informacje wynikające z analizy danej cechy. W widocznych po prawej stronie wynikach metryk zaznaczone są wartości, które wystąpiły dla badanego oprogramowania (w nawiasie podany jest poziom dopasowania zgodnie z modelem referencyjnym). W przypadku szczegółowych miar prezentowany jest uzyskany wynik oraz informacja o możliwych wartościach. Natomiast po lewej stronie widoczny jest ekwiwalent badanego oprogramowania oraz wskazywane są podpowiedzi lepszych rozwiązań i komunikaty o wykrytych błędach z sugestią poprawy. Bardzo praktycznym zastosowaniem byłoby zintegrowanie narzędzia z środowiskami programistycznymi, aby na bieżąco śledzić i oceniać zmiany związane z implementowanymi wzorcami projektowymi. Ostatecznie warto zastanowić się nad realizacją metody pozwalającej na działanie w przeciwnym kierunku, tj. do przynajmniej półautomatycznej implementacji wzorców w oprogramowaniu na podstawie dostarczonych definicji. 5. Interpretacja wyników Rys. 3. Prototypowe narzędzie wspierające metodę Opisana wcześniej metoda pozwala na dostarczenie wyników metryk dla badanego oprogramowania. Wyniki o postaci liczbowej wyrażają ogólną jakość implementacji danej cechy wzorca projektowego, jak też po uwzględnieniu wagi każdej cechy możliwe jest 306
8 wyznaczenie wyniku dla całego aspektu. Wyniki przyjmują zakres wartości od 0 do 1, zatem w sytuacji, gdy wynik przynajmniej jednej z metryk jest poniżej 1 należy przeanalizować dane zawarte w metrykach (np. alternatywne rozwiązania opisane w modelu referencyjnym) i podjąć działania mające na celu poprawienie implementacji danego wzorca projektowego. Wyniki poniżej 1 oznaczają możliwość wystąpienia potencjalnych błędów, a dla każdej metryki można przewidzieć grupy takich problemów. Jednakże nie w każdym przypadku może być wymagany możliwie wysoki wynik, np. w aplikacji, w której nie występuje wielowątkowość niepotrzebna jest synchronizacja dostępu do instancji wzorca Singleton. Przykład uzyskanych wyników (zaokrąglonych do części dziesiętnych) dla trzech różnych wystąpień wzorca Singleton został przedstawiony w tabeli 3. Tab. 3. Przykładowe wyniki Kategoria Przypadek 1 Przypadek 2 Przypadek 3 Struktura 1 0,4 1 Zachowanie 0,7 0,3 0,7 Wykorzystanie 0,6 0,9 0,1 Powiązania z innymi wzorcami Typowe błędy 1 0,5 1 Inne 1 1 0,3 Implementację w przypadku nr 1 można uznać za dobrej jakości. Została zachowana wysoka poprawność strukturalna oraz powiązania z innymi wzorcami. Maksymalna ocena w kategorii typowe błędy świadczy o tym, że takowe błędy nie wystąpiły. Gorsza ocena w kategorii zachowania wynika z braku synchronizacji odwołań do instancji singletonu w środowiskach wielowątkowych. Natomiast niższa ocena w kategorii wykorzystania wynika z zbyt dużej ilości odwołań do instancji co może wskazywać na zbyt dużą odpowiedzialność klasy z wzorcem Singleton. Przypadek nr 2 wykazał niską jakość implementacji w kategorii poprawności strukturalnej, typowych błędów oraz zachowania. Potencjalne błędy w oprogramowaniu zawierającym taką implementację objawią się nieprawidłowym działaniem programu, np. wystąpią błędy związane z niezgodnością danych lub tzw. błędy runtimowe. Błędy te powinny zostać wykryte jeszcze na etapie wytwarzania oprogramowania (faza testowania) a koszt naprawy powinien zmieścić się w przewidzianym budżecie (na poprawy błędów) w ogólnym procesie wytwórczym. Jednakże należy mieć na uwadze, że wzorzec projektowy Singleton jest uznawany za jeden z najprostszych wzorców, zatem koszty naprawy mogą wzrosnąć w przypadku innych wzorców. Przypadek nr 3 wykazał niską jakość implementacji w kategoriach wykorzystania, powiązania z innymi wzorcami oraz pozostałych cechach związanych z nadmierną ilością elementów składowych. Analiza tego przypadku wykazała, że wzorzec został zaimplementowany niezgodnie z intencją wykorzystania lub został niepoprawnie zrozumiany przez implementującego dewelopera. Problemy wynikające z owej implementacji są trudne do wykrycia, zarówno podczas inspekcji kodu jak też w fazie testowania. Najbardziej zauważalne błędy pojawią się w trakcie konserwacji i rozwoju oprogramowania. Bardzo trudno jest przewidzieć koszt naprawy. 307
9 6. Podsumowanie W pracy wyjaśniono krótko wpływ jakości implementacji wzorców projektowych na wewnętrzną jakość oprogramowania oraz przedstawiono wybrane badania związane z weryfikacją implementacji wzorców projektowych. Omówiono model oraz opartą na nim autorską metodę, która umożliwia wyrażenie jakości implementacji wzorców projektowych w postaci liczbowej. Model składa się z hierarchicznej struktury opisującej definicje wzorców (charakterystyki) oraz zbioru metryk niezbędnych do wyznaczenia wyników. Proponowana metoda dostarcza wyniki metryk, które są pogrupowane odpowiednio w różnych kategoriach. Wyniki poniżej zalecanej wartości oznaczają ryzyko wystąpienia potencjalnych błędów. Analiza wyników oraz metryk pozwala przewidzieć możliwe utrudnienia związane z rozbudową oprogramowania i niepoprawnym działaniem. Kierunek dalszych prac to rozbudowa metody, w tym: opracowanie szczegółowych miar, automatyzacja przewidywania błędów oraz sugerowania zmian na podstawie uzyskanych wyników, rozbudowa i integracja narzędzia. Następnie przewidywane jest opracowanie definicji i metryk dla większej ilości wzorców projektowych. Literatura 1. Gamma E. i inni: WZORCE PROJEKTOWE Elementy oprogramowania wielokrotnego użytku. Helion, Gliwice, Kan S. H.: Metryki i modele w inżynierii jakości oprogramowania, PWN SA, Warszawa, ISO/IEC TR , Software Engineering Part 3: Internal metrics, ISO/IEC Wojszczyk R.: Koncepcja hybrydowej metody do oceny jakości zaimplementowanych wzorców projektowych. Zeszyty Naukowe Wydziału Elektroniki i Informatyki nr 7, strony od 17 do 26, Wydawnictwo Uczelniane Politechniki Koszalińskiej, ISSN , Koszalin Rasool G.: Customizable Feature based Design Pattern Recognition Integrating Multiple Techniques. Dysertacja Doktorska, Technische Universitat Ilmenau, Ilmenau Tsantalis N. i inni: Design Pattern Detection Using Similarity Scoring. IEEE Transactions on Software Engineering, Volume: 32, Issue: 11, s , Singh Rao R., Gupta M.: Design Pattern Detection by Greedy Algorithm Using Inexact Graph Matching. International Journal Of Engineering And Computer Science, Volume 2 Issue 10, s , Binun A.: High Accuracy Design Pattern Detection. Dysertacja doktorska, Rheinischen Friedrich Wilhelms Universitat Bonn, Blewitt A.: HEDGEHOG: Automatic Verification of Design Patterns in Java. Dysertacja doktorska, University of Edinburgh, Khaer Md. A. i inni: An Empirical Analysis of Software Systems for Measurement of Design Quality Level Based on Design Patterns. Computer and information technology, IEEE, Masuda G., Sakamoto N., Ushijima K.: Evaluation and Analysis of Applying Design Patterns. IWPSE - International Workshop on Principles of Software Evolution, Hernandez J. i inni: Selection of Metrics for Predicting the Appropriate Application of design patterns. 2nd Asian Conference on Pattern Languages of Programs,
10 13. Wojszczyk R.: Zestawienie metryk oprogramowania obiektowego opartych na statycznej analizie kodu źródłowego. Zarządzanie projektami i modelowanie procesów, strony od 95 do 107, Zeszyty Rady Naukowej Polskiego Towarzystwa Informatycznego, ISBN , Warszawa Wojszczyk R.: Pozyskiwanie struktury obiektowej z kodu zarządzanego przy wykorzystaniu metod inżynierii odwrotnej. Inżynieria oprogramowania: badania i praktyka, strony od 199 do 213, Zeszyty Rady Naukowej Polskiego Towarzystwa Informatycznego, ISBN , Warszawa Wojszczyk R.: 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 , Warszawa Mgr inż. Rafał WOJSZCZYK Zakład Podstaw Informatyki i Zarządzania Wydział Elektroniki i Informatyki Politechnika Koszalińska, Koszalin, ul. Śniadeckich 2 tel. (94) , tel. (94) , fax (94) rafal.wojszczyk@tu.koszalin.pl 309
Model oceny jakości implementacji wzorców projektowych
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
Koncepcja hybrydowej metody do oceny jakości zaimplementowanych wzorców projektowych
Rafał Wojszczyk Wydział Elektroniki i Informatyki Politechnika Koszalińska rafal.wojszczyk@tu.koszalin.pl Koncepcja hybrydowej metody do oceny jakości zaimplementowanych wzorców projektowych Słowa kluczowe:
Wykorzystanie modeli danych do weryfikacji implementacji wzorców projektowych
Rafał Wojszczyk Zakład Podstaw Zarządzania i Informatyki Wydział Elektroniki i Informatyki Politechnika Koszalińska rafal.wojszczyk@tu.koszalin.pl Włodzimierz Khadzhynov Katedra Inżynierii Komputerowej
Modelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Model oceny jakości implementacji wzorców projektowych
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
Wzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
Zasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Wzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Wzorce projektowe Wzorzec projektowy (ang. design pattern) w inżynierii oprogramowania, rozwiązanie często pojawiających się, powtarzalnych problemów projektowych.
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE OBIEKTOWE Object-Oriented Programming
Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania
Etapy życia oprogramowania Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 Określenie wymagań Testowanie Pielęgnacja Faza strategiczna
Egzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Etapy życia oprogramowania
Modele cyklu życia projektu informatycznego Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik marzec 23 w prezentacji wykorzystano również materiały przygotowane przez Michała Kolano
KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK
KLUCZ ODPOWIEDZI Część DODATEK 8.1 9.4 PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB Na podstawie: Syllabus REQB Certified Professional for Requirements Engineering, Advanced Level, Requirements
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Programowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Programowanie Zespołowe
Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design
Faza Określania Wymagań
Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie
Programowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Wprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
problem w określonym kontekście siły istotę jego rozwiązania
Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium TESTOWANIE OPROGRAMOWANIA Software testing Forma
Świat rzeczywisty i jego model
2 Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Dom Samochód Osoba Modelowanie 3 Byty i obiekty Byt - element świata rzeczywistego (dziedziny problemu),
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Modelowanie diagramów klas w języku UML. Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014
Modelowanie diagramów klas w języku UML Łukasz Gorzel 244631@stud.umk.pl 7 marca 2014 Czym jest UML - Unified Modeling Language - Rodzina języków modelowania graficznego - Powstanie na przełomie lat 80
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.
SVN. 10 października 2011. Instalacja. Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację. Rysunek 1: Instalacja - krok 1
SVN 10 października 2011 Instalacja Wchodzimy na stronę http://tortoisesvn.tigris.org/ i pobieramy aplikację uruchamiany ponownie komputer Rysunek 1: Instalacja - krok 1 Rysunek 2: Instalacja - krok 2
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana
Tester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP
Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP mgr inż. Przemysław Plecka promotor: prof. dr hab. inż. Zbigniew A. Banaszak promotor pomocniczy: dr inż. Krzysztof
Wykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
Usługa: Audyt kodu źródłowego
Usługa: Audyt kodu źródłowego Audyt kodu źródłowego jest kompleksową usługą, której głównym celem jest weryfikacja jakości analizowanego kodu, jego skalowalności, łatwości utrzymania, poprawności i stabilności
Podstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2017/18
dr inż. Dariusz Gretkowski Koszalin 14.10.2018 Opiekun Praktyk studenckich dla kierunku INFORMATYKA Wydział Elektroniki i Informatyki Politechnika Koszalińska RADA WYDZIAŁU Elektroniki i Informatyki Sprawozdanie
Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP
Metoda przedwdrożeniowego wymiarowania zmian oprogramowania wybranej klasy systemów ERP mgr inż. Przemysław Plecka promotor: prof. dr hab. inż. Zbigniew A. Banaszak promotor pomocniczy: dr inż. Krzysztof
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Zaawansowane programowanie w języku C++
Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Dokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Feature Driven Development
Feature Driven Development lekka metodyka tworzenia oprogramowania Kasprzyk Andrzej IS II Wstęp Feature Driven Development (FDD) to metodyka tworzenia oprogramowania, która wspomaga zarządzanie fazami
Podstawy modelowania programów Kod przedmiotu
Podstawy modelowania programów - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy modelowania programów Kod przedmiotu 11.3-WI-INFP-PMP Wydział Kierunek Wydział Informatyki, Elektrotechniki
Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010
Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010 Geoff Evelyn Przekład: Natalia Chounlamany APN Promise Warszawa 2011 Spis treści Podziękowania......................................................
<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>
Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą
Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka
Modelowanie jako sposób opisu rzeczywistości Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka 2015 Wprowadzenie: Modelowanie i symulacja PROBLEM: Podstawowy problem z opisem otaczającej
PRZEWODNIK PO PRZEDMIOCIE
Inżynieria Software quality engineering Informatyka Stacjonarne IO2_05 Obowiązkowy w ramach specjalności: inżynieria II stopień Rok: I Semestr: II wykład, laboratorium 1W, 2L 3 ECTS I KARTA PRZEDMIOTU
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
TRUDNOŚCI W IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W MAŁYCH ZESPOŁACH PROGRAMISTYCZNYCH
TRUDNOŚCI W IMPLEMENTACJI WZORCÓW PROJEKTOWYCH W MAŁYCH ZESPOŁACH PROGRAMISTYCZNYCH Rafał Wojszczyk 1 Piotr Ratuszniak 2 Streszczenie Na rynku IT występuje wiele małych przedsiębiorstw tworzących własne,
Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz
Wykład 8 Testowanie w JEE 5.0 (1) Autor: 1. Rola testowania w tworzeniu oprogramowania Kluczową rolę w powstawaniu oprogramowania stanowi proces usuwania błędów w kolejnych fazach rozwoju oprogramowania
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
166 Wstęp do statystyki matematycznej
166 Wstęp do statystyki matematycznej Etap trzeci realizacji procesu analizy danych statystycznych w zasadzie powinien rozwiązać nasz zasadniczy problem związany z identyfikacją cechy populacji generalnej
1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI
KARTA PRZEDMIOTU przedmiotu Stopień studiów i forma Rodzaj przedmiotu Grupa kursów Zaawansowane techniki analizy systemowej oparte na modelowaniu warsztaty Studia podyplomowe Obowiązkowy NIE Wykład Ćwiczenia
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania
In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania prowadzący: dr inż. Krzysztof Bartecki www.k.bartecki.po.opole.pl Proces tworzenia oprogramowania jest zbiorem czynności i
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Projektowanie oprogramowania
Wrocław, 27.09.2010 1. Warunki wstępne Projektowanie oprogramowania Warunkiem uczestnictwa w zajęciach jest zaliczenie przedmiotu: Podstawy inżynierii oprogramowania (ćwiczenia) Zajęcia składają się z
Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy
Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Marek Żukowicz 14 marca 2018 Streszczenie Celem napisania artykułu jest próba podania konstruktywnego dowodu, który wyjaśnia, że niewielka
Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami
Politechnika Gdańska Wydział Zarządzania i Ekonomii Katedra Zastosowań Informatyki w Zarządzaniu Zakład Zarządzania Technologiami Informatycznymi Model referencyjny Open Source dla dr hab. inż. Cezary
zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych
Grupa efektów kierunkowych: Matematyka stosowana I stopnia - profil praktyczny (od 17 października 2014) Matematyka Stosowana I stopień spec. Matematyka nowoczesnych technologii stacjonarne 2015/2016Z
SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Optymalizacja Automatycznych Testów Regresywnych
Optymalizacja Automatycznych Testów Regresywnych W Organizacji Transformującej do Agile Adam Marciszewski adam.marciszewski@tieto.com Agenda Kontekst projektu Typowe podejście Wyzwania Cel Założenia Opis
Metodyka projektowania komputerowych systemów sterowania
Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 1 Wprowadzenie do narzędzia CASE
Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API
Dr inż. Janusz Pobożniak, pobozniak@mech.pk.edu.pl Instytut Technologii Maszyn i Automatyzacji produkcji Politechnika Krakowska, Wydział Mechaniczny Integracja systemu CAD/CAM Catia z bazą danych uchwytów
Projektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:
Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 1) Oprogramowanie to: 2) Produkty oprogramowania w inżynierii oprogramowania można podzielić na: 3) W procesie wytwarzania oprogramowania
Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.
Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-
Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
PORÓWNANIE SPOSOBÓW REPREZENTACJI WZORCÓW PROJEKTOWYCH
RAFAŁ WOJSZCZYK rafal.wojszczyk@tu.koszalin.pl Katedra Inżynierii Komputerowej Wydział Elektroniki i Informatyki Politechnika Koszalińska PORÓWNANIE SPOSOBÓW REPREZENTACJI WZORCÓW PROJEKTOWYCH Streszczenie:
INFORMATYKA Pytania ogólne na egzamin dyplomowy
INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja
INŻYNIERIA OPROGRAMOWANIA
INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia
Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI
Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI Kto, co, jak i kiedy Kto? dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16 http://jablonski.wroclaw.pl O co chodzi? Celem przedmiotu
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE
INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE Ważne pojęcia (I) Warunek testowy (test condition) to element lub zdarzenie modułu lub systemu, który może być zweryfikowany przez jeden lub więcej przypadków
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty
Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty przedmiotu Stopień studiów i forma: Rodzaj przedmiotu Kod przedmiotu Grupa kursów Zaawansowane techniki analizy
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA
Symbol Efekty kształcenia dla kierunku studiów INFORMATYKA, specjalność: 1) Sieciowe systemy informatyczne. 2) Bazy danych Absolwent studiów I stopnia kierunku Informatyka WIEDZA Ma wiedzę z matematyki
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34
Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych
Jakość w procesie wytwarzania oprogramowania
Jarosław Kuchta Jakość Oprogramowania http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc/ J.Kuchta@eti.pg.gda.pl Względny koszt wprowadzania zmian w zależności od fazy realizacji projektu
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming
Testowanie oprogramowania
Testowanie oprogramowania 1/17 Testowanie oprogramowania Wykład 01 dr inż. Grzegorz Michalski 13 października 2015 Testowanie oprogramowania 2/17 Dane kontaktowe: Kontakt dr inż. Grzegorz Michalski pokój
Inżynieria Oprogramowania w Praktyce
Inżynieria Oprogramowania w Praktyce Ogólna prezentacja kierunku Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. www.aict.pjwstk.edu.pl 1 Kogo chcemy
Projektowanie oprogramowania. Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik
Projektowanie oprogramowania Wykład Weryfikacja i Zatwierdzanie Inżynieria Oprogramowania Kazimierz Michalik Agenda Weryfikacja i zatwierdzanie Testowanie oprogramowania Zarządzanie Zarządzanie personelem
Pola i metody statyczne. Klasy zawierające pola i metody statyczne
Instrukcja laboratoryjna nr 1 Programowanie w języku C 2 (C++ poziom zaawansowany) Pola i metody statyczne. Klasy zawierające pola i metody statyczne dr inż. Kaczmarek Tomasz mgr inż. Lasota Maciej dr
Maciej Oleksy Zenon Matuszyk
Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj zajęć: wykład, laboratorium BAZY DANYCH I SYSTEMY EKSPERTOWE Database and expert systems Forma
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
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
Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?
ROZDZIAŁ1 Podstawy inżynierii oprogramowania: - Cele 2 - Zawartość 3 - Inżynieria oprogramowania 4 - Koszty oprogramowania 5 - FAQ o inżynierii oprogramowania: Co to jest jest oprogramowanie? 8 Co to jest
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa