PRZEGLĄD MIAR OCENY OPROGRAMOWANIA. Paweł WEICHBROTH, Cezary ORŁOWSKI

Wielkość: px
Rozpocząć pokaz od strony:

Download "PRZEGLĄD MIAR OCENY OPROGRAMOWANIA. Paweł WEICHBROTH, Cezary ORŁOWSKI"

Transkrypt

1 PRZEGLĄD MIAR OCENY OPROGRAMOWANIA Paweł WEICHBROTH, Cezary ORŁOWSKI 1. Wstęp Problem oceny oprogramowania istnieje od momentu pojawienia się pierwszego programu komputerowego. Historycznie miary jakości oprogramowania miały zupełnie inne przeznaczenie, gdyż skupiały się na częstotliwości defektów lub błędów oprogramowania. Błędnie bazowało to na założeniu, że jakość oprogramowania to brak błędów. Stąd też używano prostej statystyki typu liczby błędów, wykrytych w określonym przedziale czasu (np. rocznym) lub w danej wersji programu, na tysiąc wierzy kodu tzw. gęstości błędów. Oczywiste jest, iż niższe wartości tej miary oznaczały wyższą jakość programu. Jedną z pierwszych znanych miar wykorzystanych do opisu programów komputerowych był jego rozmiar [17]. Możemy stwierdzić, iż rozmiar oprogramowania (ang. software size) jest miarą objętości, długości, ilości, znaczenia i ogólnie rozmiaru programu komputerowego [5]. W połowie lat 60-tych pierwszą stosowaną miarą rozmiaru oprogramowania była liczba linii kodu LOC (ang. lines of code). Prawie dekadę później, w późnych latach 70-tych, pojawiły się bardziej wyszukane miary rozmiaru oprogramowania takie jak: liczba tokenów (ang. number of tokens), wolumin (ang. volume), liczba funkcji (ang. function count), liczba punktów funkcyjnych (ang. function points) [5]. Kolejną miarą opisującą rozmiar programu był wolumin, oparty na wielkości linii kodu w bitach, reprezentowany przez zera i jedynki [10]. Krótko potem, pojawiła się liczba funkcji, jako miara rozmiaru oprogramowania, określająca stopień modularności programu [2]. Po niej, zaproponowano liczbę punktów funkcyjnych, której ideą było oszacowanie liczby, wejść, wyjść, plików głównych, zapytań i interfejsów [1]. Jednakże rozmiar oprogramowania nie jest miarą jakości oprogramowania samą w sobie, stanowi fundament wielu miar w dzisiejszych czasach (np. liczby defektów, błędów, stosunku błędów do linii kodu, punktów funkcyjnych). Ponadto, często spotyka się opinie, iż rozmiar oprogramowania stanowi podstawową miarę oceny złożoności oprogramowania [14]. Z powyższych względów, ewolucja pomiaru jakości oprogramowania byłaby niekompletna bez wprowadzenia na temat rozmiaru oprogramowania. 2. Błędy oprogramowania W latach 50-tych XX wieku, pierwszą stosowaną miarą oceny jakości oprogramowania była liczba wykrytych błędów. Można je rozumieć jako wadliwe działania ludzkie w procesie implementacji programu. Koncepcja błędów na wyrażenie (ang. errors per statement") po raz pierwszy pojawiła się we wczesnych latach 60-tych, a jej dorobkiem jest pojęcie wystąpienia błędu (ang. error proneness). Pojęcie gęstości błędu (ang. error density) powstało w połowie lat 70-tych i odnosiło się do prostego stosunku błędów do wielkości oprogramowania [24]. Gęstość błędu była stosowana w odniesieniu do liczby anomalii powodujących błędy do wielkości oprogramowania [15]. Termin gęstości wad (ang. defect density), używany w połowie lat 80-tych, był stosunkiem liczby błędów programowych do wielkości oprogramowania [23]. Wiele różnych cech było branych pod uwagę takich jakich liczba wymagań, projekt, kodowanie, czy testowanie [5]. Na początku lat 90-tych pojawiła się koncepcja gęstości problemu (ang. problem density), która odnosiła się do liczby problemów

2 zgłoszonych przez klientów [14]. Praktyka liczenia błędów i wad, jako środka mierzenia jakości oprogramowania cieszyły się nieprzerwaną popularnością przez ponad pięć dekad. 3. Atrybuty oprogramowania Innym podejściem do problemu mierzenia jakości oprogramowania była praktyka określania ilości i złożoności jego atrybutów. Atrybuty oprogramowania są przyporządkowaną jakościową cechą, taką jak funkcjonalność, wydajność i użyteczność. Logicon zaprojektował model do mierzenia atrybutów oprogramowania takich jak poprawność, logiczność, sprawność, stopień optymalizacji, zrozumiałość, modyfikowalność i użyteczność [22]. Następnie, zostały zidentyfikowane atrybuty oprogramowania takie jak: przenośność, wiarygodność, efektywność, modyfikowalność, testowalność, ergonomia i zrozumiałość [3]. Wymienione prace przyczyniły się do powstania wielu modeli do mierzenia atrybutów konserwacji oprogramowania [25] i nawet projektowania bazy danych [8]. Podejście skierowane na klienta doprowadziło do wypracowania jakościowych i ilościowych metryk oprogramowania [4,6,7]. W dalszej kolejności, został wypracowany model FURPS, na który składało się pięć atrybutów: funkcjonalność (ang. functionality), użyteczność (ang. usability), wiarygodność (ang. reliability), wydajność (ang. performance) i stopień wsparcia (ang. supportability) [9]. 4. Statyczne modele błędów Jednym z najwcześniejszych podejść do przewidywania jakości oprogramowania były modele statyczne, które opierały się teorii niezawodności. Model statyczny posługuje się innymi atrybutami do oszacowania liczby błędów w oprogramowaniu - nie bierze pod uwagę współczynnika zmian [5]. Jednym z pierwszych modeli predykcji błędów były funkcja wielkości, rachunek decyzji (decision count) i liczba wywołań procedur. Zostały stworzone linowe modele do 10 wejść dla różnych typów wyrażeń w kodzie źródłowym takich jak: komentarze, dane czy instrukcje [18]. W teorii nauki o programowaniu wolumin jest wejściem w modelu i tym samym funkcją języka programu [10]. Równolegle w tym samym czasie, McCabe przedstawił topologiczną, bazującą na teorii grafów miarę złożoności cyklomatycznej, jako miarę liczby liniowo niezależnych ścieżek, które składają się na program komputerowy. Zostało rozwiniętych jeszcze wiele innych skrzyżowanych ze sobą modeli, biorących pod uwagę zasoby słów (ang. vocabulary), długość (ang. length), złożoność (ang. difficulty) i prachochłonność (ang. effort) [23]. Później firma IBM rozwinęła modele szacowania błędów i wystąpień defektów w oprogramowaniu, które zostały wykorzystane do projektowania systemów operacyjnych [14]. 5. Złożoność oprogramowania Systemy komputerowe są tworami o wysokim stopniu złożoności. Na początku lat 70-tych, badania na temat złożoności oprogramowania stały się jedną z bardziej powszechnych metod oceny jakości programów komputerowych. Złożoność oprogramowania może być rozumiana jako stopień kompozycji i dekompozycji, czyli podział na części o dobrze wyrażonej semantyce i dobrze wyspecyfikowanej wzajemnej interakcji. Powstało wiele technik obliczania lub raczej szacowania stopnia złożoności. Najprostsza z nich to LOC (ang. lines of code) lub SLOC (ang. source lines of code). Jest to syntetyczna miara dające ogólne pojęcie o skali programu, jednak nie jest wystarczająca do szczegółowych analiz. Wartość LOC jest silnie zależna od poziomu wykorzystanego języka programowania ten sam algorytm w

3 języku wysokiego poziomu będzie miał wielokrotnie mniej linii kodu niż w języku niskiego poziomu. W roku 1977 profesor Maurice H. Halstead zaproponował takie miary jak [12]: liczba różnych operatorów w programie (n 1 ) liczba różnych operandów w programie (n 2 ) liczba wystąpień operatora (N 1 ) liczba wystąpień operandu (N 2 ) opisu: gdzie: W kolejnym etapie wyprowadził zestaw miar pochodnych od podstawowych w celu słownika symboli (ang. Vocabulary) (n), n=n 1 +n 2 (1) długości programu (ang. Length) (N), N=N 1 +N 2 =n 1 log 2 (n 1 )+n 2 log 2 (n 2 ) (2) rozmiar (ang. Volume) (V), V=Nlog 2 (n)=nlog 2 (n 1 +n 2 ) (3) poziom (ang. Level) (L), L=V*/V=(2/n 1 )*(n 2 /N 2 ) (4) trudność (ang. Difficulty) (D), D=V/V*=(n 1 /2)*(N 2 /n 2 ) (5) pracochłonność (ang. Effort) (E), E=V/L (6) błędy (ang. Faults) (B), B=V/S* (7) V* to minimalny rozmiar reprezentowany przez wbudowaną funkcję, która może wykonywać zadanie całego programu, S* to średnia liczba umysłowych decyzji lub rozróżnień między błędami, oszacowana przez Halsteada na 3000 [12]. Wadą tego podejścia jest, iż długość programu zależy od dwóch zmiennych N 1 i N 2, których wartość jest dokładnie znana tuż przed zakończeniem pisania programu. 6. Wiarygodność oprogramowania Na początku lat 70-tych sformułowano pojęcie wiarygodności oprogramowania w celu oszacowania liczby błędów w oprogramowaniu jako metodzie mierzenia jego jakości. Można ją określić jako prawdopodobieństwo, iż oprogramowanie będzie działać w określonym przedziale czasu bez żadnego przestoju, ważone przez koszt użytkownika każdego przestoju [20]. Inne źródło [12] podaje, iż jest to stopień w jakim systemy, komponenty lub procesy producenta oprogramowania potrafią spełniać określone wymagania oraz potrzeby i oczekiwania użytkowników. Istnieje kilka modeli wiarygodności, które można sklasyfikować w trzech grupach: skończone i nieskończone [19], statyczne i dynamiczne [5], deterministyczne i probabilistyczne [21].

4 Modele deterministyczne są wykorzystywane do badania liczby różnych operatorów i operandów w programie, jak również do liczby błędów i liczby instrukcji maszynowych. Miary wydajności w grupie modeli dynamicznych są otrzymywane poprzez analizę struktury programu i nie biorą pod uwagę żadnych losowych zdarzeń. Dwie dobrze znane miary to metryka Halstead a i cyklomatyczna metryka McCabe a. Miarę złożoności cyklomatycznej, która bazuje na teorii grafów, McCabe przedstawił w 1976 roku [21]. Jest to liczba liniowo niezależnych ścieżek, które składają się na program komputerowy. W celu obliczenia miary M dla programu komputerowego przedstawionego w formie grafu lub diagramu przepływu należy skorzystać ze wzoru (8): gdzie: M= V(G)=e-n+2p (8) V(G) to cyklomatyczna liczba grafu G programu e to liczba krawędzi grafu n to liczba węzłów grafu p to liczba niepołączonych części grafu Istnieje prosta zależność pomiędzy miarą M i liczbą binarnych decyzji BD, gdyż zachodzi równość M=BD+1. Podobnie jak w przypadku innych wczesnych miar jakości, które koncentrują się na samych programach lub nawet ich modułach, ukryte jest źródło złożoności architektonicznej, czyli powiązania między modułami. Według Kana, oprócz długości modułu, najważniejszym predyktorem częstotliwości defektów jest ogólna liczba zmian projektowych oraz poziom złożoności, niezależnie od sposobu ich obliczania [13]. 7. Miary punktów funkcyjnych Dwa przedstawione podejścia Halstead a i McCabe a reprezentują ilościowe podejście do wymiarowania oprogramowania. Miary jakości bazujące pośrednio lub bezpośrednio na liczeniu wierszy kodu programu lub modułów są niewystarczające [12]. Miary te możemy określić jako substytuty wskaźników liczby okazji do popełnienia błędu z perspektywy implementacji kodu źródłowego programu. Metoda punktów funkcyjnych zdefiniowana przez Albrechta powstała w wyniku kilkuletnich doświadczeń przy opracowywaniu systemów informatycznych z zakresu przetwarzania danych [26]. Punkty funkcyjne możemy określić jako znaczące grupy mierzalnego kodu z perspektywy użytkownika a nie programisty. Uwzględniają one potrzeby użytkownika oraz zebraną w trakcie analizy wymagań funkcjonalność - nie są wyłącznie wskaźnikiem ukończenia go a posteriori przez programistę [12]. Zaproponowana przez Albrechta typowa miara punktów funkcyjnych (ang. function point metric) to ważona suma pięciu składników, które cechują aplikację [12,26]: 4 x liczba wejść zewnętrznych do systemu (lub typów transakcji), 5 x liczba typów lub raportów zewnętrznych, 10 x liczba wewnętrznych plików logicznych (zbiorów danych), 7 x liczba zewnętrznych plików interfejsu (zbiorów danych),

5 4 x liczba obsługiwanych zewnętrznych zapytań do systemu. Metoda ta szybko zdobyła dużą popularność i jest dalej rozwijana przez organizację IFPUG (ang. International Function Point Users Group), która opracowała również jej standard [11]. Wykorzystywana na przestrzeni czasu przez wytwórców oprogramowania bardzo dużych systemów informatycznych (1000 i więcej punktów funkcyjnych), metoda ta wykazuje wysoki poziom powtarzalności i przydatności [12]. 8. Miary zadowolenia użytkownika i dostępności Grupa miar prezentowana jako ostatnia swoją uwagę skupia na użytkowniku końcowym i na jego ocenie działania, niezawodności i stabilności oprogramowania w codziennym użytkowaniu. Zalecana jest tu jednak ostrożność, gdyż problemy z systemem nie koniecznie mogą wynikać z błędów w aplikacji, a wynikają z niewiedzy użytkowników. Zwykle satysfakcja klienta mierzona jest wedle pięciopunktowej skali [12]: bardzo zadowolony, zadowolony, obojętny, niezadowolony, bardzo niezadowolony. Wielowymiarowa ocena oprogramowania przez klientów odbywa się poprzez kwestionariusze. Firma IBM stosuje model CUPRIMDA w którym ocenie poddawane są: możliwości (ang. categoriescapability), łatwość użycia (ang. usability), wydajność (ang. performance), niezawodność (ang. reliability), łatwość instalacji (ang. installability), łatwość konserwacji (ang. maintainability), dokumentację (ang. documentation), dostępność (ang. availability). Z kolei firma Hewlett-Packard stosuje model FURPS w którym ocenie poddawane są: możliwości (ang. categoriesfunctionality), użyteczność (ang. usability), niezawodność (ang. reliability), wydajność (ang. performance), łatwość obsługi (ang. serviceability).

6 Niektórzy producenci stosują uproszczony ogólny wskaźnik zadowolenia OWZ (ang. net satisfaction index) w celu porównania różnych produktów ze sobą. Można wyróżnić w nim następujące wagi: w pełni zadowolony - 100% zadowolony - 75% obojętny - 50% niezadowolony - 25% całkowicie niezadowolony - 0% Pomimo tego, iż wskaźnik ten jest powszechnie stosowany, nie wskazuje dokładnie na źródło problemu. 9. Podsumowanie W pracy dokonano przeglądu kluczowych miar służących ocenie oprogramowania. Jest to aktualny problem biorąc pod uwagę obecne koszty zakupu i utrzymania systemów informatycznych. Obecnie często podejmowaną kwestią jest poziom na jakim powinna być dokonywana ocena. Pierwsze miary stosowane były do oceny na poziomie kodu źródłowego i koncentrowały się na liczbie błędów i defektów. Rozwój języków programowania i tym samym kompilatorów, przyniósł bogatsze biblioteki standardowych funkcji, makroinstrukcje, czy dyrektywy kompilacji. Wzbogaceniu języka, szczególnie w środowisku graficznym, udoskonalono obudowę środowiska pracy. Do kompilatora włączono edytor, konsolidator oraz debugger - w jednym zintegrowanym pakiecie umieszczono wszystkie narzędzia pracy programisty. Liczba błędów na poziomie kodu źródłowego znacznie się zmniejszyła - tym samym ocena w oparciu o takie miary okazała się być niewystarczająca. Wraz z dynamicznym postępem w dziedzinie języków programowania, towarzyszyły temu zmiany w podejściu do oceny oprogramowania. Zaproponowano podejście ilościowe, biorąc pod uwagę liczbę funkcji i tokenów, woluminu i ostatecznie liczbę punktów funkcyjnych. Profesor Halstead, uważany za ojca nauki o miarach oprogramowania, zaproponował nowatorskie jak na swoje czasy podejście. Zaproponował cztery główne miary, z których wyprowadził siedem pochodnych wzorów między takimi relacjami jak słownik, długość, rozmiar, poziom, trudność i pracochłonność. Podejście to, nie sprawdza się jako bezpośrednie miary ilościowe, gdyż uniemożliwia przewidzenie rozmiaru i jakości programu na wystarczająco wczesnych etapach jego rozwoju. Kolejną opisaną w pracy miarą jest złożoność cyklomatyczna McCabe a. Z jej stosowania wynika zalecenie, aby nie tworzyć modułów większych niż 10 niezależnych ścieżek w grafie, reprezentujących przepływ sterowania w metodzie. Podobnie jak w przypadku innych wczesnych miar jakości, położono nacisk wyłącznie na programie i jego modułach, bez badania powiązań między modułami. Nowatorskie podejście zaproponował Allan Albrecht z firmy IBM, gdyż jego miara punktów funkcyjnych jest oceną funkcjonalności dostarczonej przez oprogramowanie. Odwrócony został kierunek oceny z perspektywy implementacji programu do potrzeb użytkownika. Obecnie jest to ciągle rozwijane stanowisko, gdyż pozwala na audyt projektów,

7 wybór systemów funkcjonujących systemów do reinżynierii oraz porównywania i oceny różnych ofert dostawców oprogramowania. Ostatnia grupa zaprezentowanych miar zadowolenia użytkownika, skupia swoją uwagę na ocenie działania, niezawodności, funkcjonalności i stabilności oprogramowania przez użytkownika końcowego. Złożoność dzisiejszych systemów oraz wysoka wydajność sprzętu komputerowego, są przesłankami do posługiwania się syntetycznymi miarami oceny oprogramowania. Należy zwrócić uwagę, iż słowo oprogramowanie może być niewystarczające do pełnego oddania skali przedmiotu oceny. W kontekście opisu specyfikacji i wymagań używa się pojęcia technologii informatycznej, które wydaje się szerzej obejmować zagadnienia charakterystyki dzisiejszego oprogramowania. Zauważalny jest rozwój nowej nauki o miarach architektury oprogramowania. Co zaskakujące, odbywa się to w obliczu braku powszechnie przyjętych definicji takiej architektury i pojęć ściśle z nią powiązanych. W tym miejscu należy wymienić takie pojęcia jak technologia informatyczna, technologia informacyjna czy system informatyczny. Jak widać ocena oprogramowania jako niezależnych bytów zdaje się być nieaktualna, ze względu na coraz wyższą integrację różnego typu oprogramowania. Przyszłość zarządzania oprogramowaniem sprowadza się do syntetycznej oceny całych technologii informatycznych oraz zarządzania ich portfelem. Bibliografia [1] Albrecht A. J.: Measuring application development productivity. Proceedings of the IBM Applications Development Joint SHARE/GUIDE Symposium, Monterrey 1979, s [2] Basili V. R., Reiter R. W.: An investigation of human factors in software development. IEEE Computer, 1979 nr 12(12), s [3] Boehm B. W., Brown J. R., Kaspar H., Lipow, M.: Characteristics of software quality. Redondo Beach 1973, TRW Corporation (TRW-SS-73-09). [4] Cavano J. P., McCall, J. A.: A framework for the measurement of software quality. Proceedings of the Software Quality Assurance Workshop on Functional and Performance Issues, San Diego 1978, s [5] Conte S. D., Dunsmore H. E., Shen V. Y.: Software engineering metrics and models. Benjamin Cummings, Menlo Park [6] Dzida W., Herda S., Itzfeldt W. D.: User perceived quality of interactive systems. Proceedings of the Third International Conference on Software Engineering, Atlanta 1978, s [7] Gaffney J. E.: Metrics in software quality assurance. Proceedings of the ACM SIGMETRICS Workshop/Symposium on Measurement and Evaluation of Software Quality, Las Vegas 1981, Nevada, s [8] Gilb T.: Software metrics. Winthrop Publishers, Cambridge [9] Grady R. B., Caswell R. B.: Software metrics: Establishing a company wide program. Englewood Cliffs, Prentice Hall, New York [10] Halstead M. H.: Elements of software science. Elsevier, New York [11] http: Function Point Counting Practices Manual. Release 4.1, 5 lipiec 2009.

8 [12] Jayaswal B. K., Patton P. C.: Oprogramowanie godne zaufania. Metodologia, techniki i narzędzia projektowania, Helion, Gliwice [13] Kan S. H.: Metrics and Models in Software Quality Engineering, Pearson Education, Singapur [14] Kan S. H.: Metrics and models in software quality engineering. Addison-Wesley [15] Lipow M.: Number of faults per line of code. IEEE Transactions on Software Engineering, 1982 nr 8(4), s [16] McCabe T. J.: A complexity measure. IEEE Transactions on Software Engineering, 1976 nr 2(4), s [17] McIlroy M. D.: Macro instruction extensions of compiler languages. Communications of the ACM, 1960 nr 3(4), s [18] Motley R. W., Brooks W. D.: Statistical prediction of programming errors. Griffis AFB, New York [19] Musa J. D.: Software reliability engineering. McGraw Hill, New York [20] Myers G. J.: Software reliability: Principles and practices. John Wiley & Sons, New York [21] Pham H.: System Software Reliability, Springer, London [22] Rubey R. J., Hartwick R. D.: Quantitative measurement of program quality. Proceedings of the 23rd ACM National Conference, Washington 1968, s [23] Shen V. Y., Yu T. J., Thebaut S. M., Paulsen L. R.: Identifying error prone software: An empirical study. IEEE Transactions on Software Engineering, 1985 nr 11(4), s [24] Shooman M. L., Bolsky M. I.: Types, distribution, and test and correction times for programming errors. Proceedings of the International Conference on Reliable Software, Los Angeles 1975, s [25] Swanson E. B.: The dimensions of maintenance. Proceedings of the Second International Conference on Software Engineering, San Francisco 1976, s [26] Szyjewski Z.: Wymiarowanie zmian w projektach informatycznych [w]: Zarządzanie wiedzą i technologiami informatycznymi. Automatyka i Informatyka nr 5. Technologie Informacyjne: Zarządzanie. Orłowski C., Kowalczuk Z., Szczerbicki E. (red.), Pomorskie Wydawnictwo Naukowo-Techniczne PWNT, Gdańsk 2009, s Paweł WEICHBROTH*, Cezary ORŁOWSKI** * Zakład Zarządzania Technologiami Informatycznymi, Wydział Zarządzania i Ekonomii, Politechnika Gdańska, pwi@zie.pg.gda.pl ** Zakład Zarządzania Technologiami Informatycznymi, Wydział Zarządzania i Ekonomii, Politechnika Gdańska, cor@zie.pg.gda.pl

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania

Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Pomiary w inżynierii oprogramowania Cel pomiarów ocena jakości produktu ocena procesów (produktywności ludzi) stworzenie podstawy dla

Bardziej szczegółowo

Plan. Zapewnienie jakości produktu informatycznego. Zarządzanie jakością i metryki oprogramowania. Podstawowe parametry mierzalne

Plan. Zapewnienie jakości produktu informatycznego. Zarządzanie jakością i metryki oprogramowania. Podstawowe parametry mierzalne Zarządzanie jakością i metryki oprogramowania Organizacja i Zarządzanie Projektem Informatycznym Jarosław Francik, kwiecień 2002 Zapewnienie jakości produktu informatycznego Pomiar jako główny element

Bardziej szczegółowo

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

<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ą

Bardziej szczegółowo

Metodyka projektowania komputerowych systemów sterowania

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

Bardziej szczegółowo

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja Faza strategiczna określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Synteza Dokumentacja Instalacja Faza strategiczna (ang.

Bardziej szczegółowo

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

Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC. Jarosław Świerczek Praktyczne aspekty stosowania metody punktów funkcyjnych COSMIC Jarosław Świerczek Punkty funkcyjne Punkt funkcyjny to metryka złożoności oprogramowania wyznaczana w oparciu o określające to oprogramowanie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do jakości systemów informatycznych

Wprowadzenie do jakości systemów informatycznych Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Wprowadzenie do jakości systemów informatycznych http://www.eti.pg.gda.pl/katedry/kask/pracownicy/jaroslaw.kuchta/jakosc J.Kuchta@eti.pg.gda.pl

Bardziej szczegółowo

Jakość w procesie wytwarzania oprogramowania

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

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

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

Bardziej szczegółowo

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

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

Bardziej szczegółowo

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

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

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

Bardziej szczegółowo

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

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-

Bardziej szczegółowo

Dlaczego testowanie jest ważne?

Dlaczego testowanie jest ważne? Testowanie Dlaczego testowanie jest ważne? Oprogramowanie które nie działa poprawnie może doprowadzić do: straty czasu, pieniędzy utraty reputacji uszkodzeń ciała a nawet śmierci Definicja błędu Oprogramowanie

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

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

Bardziej szczegółowo

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

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15. Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania

Bardziej szczegółowo

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Inżynieria oprogramowania (Software Engineering) Wykład 1 Inżynieria oprogramowania (Software Engineering) Wykład 1 Wprowadzenie do inżynierii oprogramowania Zarządzanie przedmiotem Wydział: WEiI Katedra: KIK Web site: http://moskit.weii.tu.koszalin.pl/~swalover/

Bardziej szczegółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

Bardziej szczegółowo

The concept, models and metrics of software quality an overview

The concept, models and metrics of software quality an overview Pojęcie, modele i metryki jakości oprogramowania przegląd Yuliia Horobets*, Marek Miłosz Politechnika Lubelska, Instytut Informatyki, Nadbystrzycka 36B, 20-618 Lublin, Polska JCSI 4 (2017) 92-98 Wysłane:

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

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

Bardziej szczegółowo

Michał Gadomski. Grzegorz Poręcki

Michał Gadomski. Grzegorz Poręcki [Prezes Zarządu] [Wiceprezes Zarządu] Michał Gadomski Dr hab. Beata Czarnacka-Chrobot, prof. SGH [Wiceprezes Zarządu] Dr Bogusław Machowski [Członek Zarządu] Grzegorz Poręcki Misją PSMO jest podniesienie

Bardziej szczegółowo

Etapy życia oprogramowania

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

Bardziej szczegółowo

Przypadki użycia. Czyli jak opisywać funkcjonalność. Jerzy Nawrocki Mirosław Ochodek

Przypadki użycia. Czyli jak opisywać funkcjonalność. Jerzy Nawrocki Mirosław Ochodek Przypadki użycia Czyli jak opisywać funkcjonalność Jerzy Nawrocki Jerzy.Nawrocki@cs.put.poznan.pl Mirosław Ochodek Miroslaw.Ochodek@cs.put.poznan.pl Wymagania w kontekście procesu wytwarzania Opis problemu

Bardziej szczegółowo

Analiza współzależności zjawisk

Analiza współzależności zjawisk Analiza współzależności zjawisk Informacje ogólne Jednostki tworzące zbiorowość statystyczną charakteryzowane są zazwyczaj za pomocą wielu cech zmiennych, które nierzadko pozostają ze sobą w pewnym związku.

Bardziej szczegółowo

Testowanie i walidacja oprogramowania

Testowanie i walidacja oprogramowania i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 3 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Zarządzanie testami Cykl życia testów (proces) Planowanie Wykonanie Ocena Dokumentacja

Bardziej szczegółowo

APLIKACJA NAPISANA W ŚRODOWISKU LABVIEW SŁUŻĄCA DO WYZNACZANIA WSPÓŁCZYNNIKA UZWOJENIA MASZYNY INDUKCYJNEJ

APLIKACJA NAPISANA W ŚRODOWISKU LABVIEW SŁUŻĄCA DO WYZNACZANIA WSPÓŁCZYNNIKA UZWOJENIA MASZYNY INDUKCYJNEJ POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 83 Electrical Engineering 2015 Damian BURZYŃSKI* Leszek KASPRZYK* APLIKACJA NAPISANA W ŚRODOWISKU LABVIEW SŁUŻĄCA DO WYZNACZANIA WSPÓŁCZYNNIKA UZWOJENIA

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna

Bardziej szczegółowo

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

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie

Bardziej szczegółowo

Dni: 3. Opis: Adresaci szkolenia

Dni: 3. Opis: Adresaci szkolenia Kod szkolenia: Tytuł szkolenia: ISTQB/TTA ISTQB - Technical Test Analyst Dni: 3 Opis: Adresaci szkolenia Szkolenie jest skierowane do testerów posiadających certyfikat ISTQB Certified Tester przynajmniej

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU Nazwa w języku polskim: Analiza danych ankietowych Nazwa w języku angielskim: Categorical Data Analysis Kierunek studiów (jeśli dotyczy): Matematyka stosowana Specjalność

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

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

Bardziej szczegółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

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

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego systemów informatycznych Roman Simiński roman.siminski@us.edu.pl programowanie.siminskionline.pl Cykl życia systemu informatycznego Trochę wprowadzenia... engineering co to oznacza? Oprogramowanie w sensie

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Faza Określania Wymagań

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

Bardziej szczegółowo

INŻYNIERIA OPROGRAMOWANIA TESTOWANIE SYSTEMOWE

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

Bardziej szczegółowo

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne.

STRESZCZENIE. rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. STRESZCZENIE rozprawy doktorskiej pt. Zmienne jakościowe w procesie wyceny wartości rynkowej nieruchomości. Ujęcie statystyczne. Zasadniczym czynnikiem stanowiącym motywację dla podjętych w pracy rozważań

Bardziej szczegółowo

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

Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych Wersja: 1.0 17.06.2015 r. Wstęp W dokumencie przedstawiono skróconą wersję pryncypiów architektury korporacyjnej podmiotów publicznych.

Bardziej szczegółowo

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 Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Kontrola jakości artefaktów

Kontrola jakości artefaktów Kontrola jakości artefaktów Artefakty produkty, wytwory rąk ludzkich: Dokumenty Specyfikacje Kod Jakość zgodność z wymaganiami (jawnymi i ukrytymi, z których istnienia klient nie zdaje sobie sprawy) Philip

Bardziej szczegółowo

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerowe Nazwa modułu w języku angielskim Computer programming

Bardziej szczegółowo

UPEDU: Testowanie (ang. Testing discipline)

UPEDU: Testowanie (ang. Testing discipline) Wydział Informatyki PB Wprowadzenie Inżynieria oprogramowania II Marek Krętowski e-mail: mkret@wi.pb.edu.pl http://aragorn.pb.bialystok.pl/~mkret Wykład 9: UPEDU: Testowanie (ang. Testing discipline) Dwa

Bardziej szczegółowo

Modelowanie i analiza systemów informatycznych

Modelowanie i analiza systemów informatycznych Modelowanie i analiza systemów informatycznych MBSE/SysML Wykład 11 SYSMOD Wykorzystane materiały Budapest University of Technology and Economics, Department of Measurement and InformaJon Systems: The

Bardziej szczegółowo

Testowanie oprogramowania. Piotr Ciskowski

Testowanie oprogramowania. Piotr Ciskowski Testowanie oprogramowania Piotr Ciskowski TESTOWANIE testowanie o proces eksperymentalnego badania programu lub jego komponentu o próbne wykonanie w znanych warunkach o rejestrowanie wyników o ocena właściwości

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

Jakość oprogramowania część 2 Zapewnianie jakości oprogramowania

Jakość oprogramowania część 2 Zapewnianie jakości oprogramowania Jakość oprogramowania część 2 Zapewnianie jakości oprogramowania Wykładowca Dr inż. Zofia Kruczkiewicz 2018-05-15 1 Literatura 1. I. Sommerville, Inżynieria oprogramowania, s. Klasyka informatyki, WNT

Bardziej szczegółowo

Zaawansowane programowanie w języku C++

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

Bardziej szczegółowo

wbudowane October 7, 2015 KSEM WETI PG Komputery przemysłowe i systemy wbudowane Oprogramowanie systemów wbudowanych - wydajność Wydajność

wbudowane October 7, 2015 KSEM WETI PG Komputery przemysłowe i systemy wbudowane Oprogramowanie systemów wbudowanych - wydajność Wydajność KSEM WETI PG October 7, 2015 Inżynieria wydajności oprogramowania Software performance engineering (SPE) - dyscyplina zajmująca się poprawą dojrzałości procesu budowy i rozwoju dla zwiększenia ich wydajności.

Bardziej szczegółowo

Tom 6 Opis oprogramowania

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

Bardziej szczegółowo

Język programowania C C Programming Language. ogólnoakademicki

Język programowania C C Programming Language. ogólnoakademicki Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2013/2014

Bardziej szczegółowo

Programowanie komputerowe Computer programming

Programowanie komputerowe Computer programming KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2015/2016 Programowanie komputerowe Computer programming A. USYTUOWANIE MODUŁU

Bardziej szczegółowo

tel. (+48 81) 538 47 21 tel. (+48 81) 538 42 91 Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt

tel. (+48 81) 538 47 21 tel. (+48 81) 538 42 91 Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt tel. (+48 8) 538 47 tel. (+48 8) 538 4 9 ul. Nadbystrzycka 40, 0-68 Lublin fax (+48 8) 538 4580 Przedmiot: Rok: 3 INF I st. Projektowanie interfejsu i ergonomia systemów Semestr: VII Rodzaj zajęć i liczba

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

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

Bardziej szczegółowo

Zamieszczanie ogłoszenia: obowiązkowe. Ogłoszenie dotyczy: zamówienia publicznego.

Zamieszczanie ogłoszenia: obowiązkowe. Ogłoszenie dotyczy: zamówienia publicznego. Gdańsk: Dostawa oprogramowania dla Wydziału Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Numer ogłoszenia: 58219-2013; data zamieszczenia: 17.04.2013 OGŁOSZENIE O ZAMÓWIENIU - dostawy

Bardziej szczegółowo

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW WYDZIAŁ KIERUNEK z obszaru nauk POZIOM KSZTAŁCENIA FORMA STUDIÓW PROFIL JĘZYK STUDIÓW Podstawowych Problemów Techniki Informatyka technicznych 6 poziom, studia inżynierskie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

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

Bardziej szczegółowo

Podstawy Programowania Obiektowego

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

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów

Strategia testów mająca doprowadzić do osiągnięcia pożądanych celów Dokumentacja testowa. Plan testów [ang. Test Plan] Plan testów jest jednym z podstawowych dokumentów w procesie testowym. Przedstawiamy wzór planu testów. testerzy.pl Zapraszamy do dyskusji o planie testów

Bardziej szczegółowo

Wykład 7. Projektowanie kodu oprogramowania

Wykład 7. Projektowanie kodu oprogramowania Wykład 7 Projektowanie kodu oprogramowania Treść wykładu cykl życiowy oprogramowania zagadnienia inżynierii oprogramowania tworzenie oprogramowania z gotowych elementów tworzenie niezawodnego oprogramowania

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Kto? dr inż. Tomasz Janiczek tomasz.janiczek@pwr.edu.pl s. P1.2, C-16 dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16

Bardziej szczegółowo

KARTA KURSU. Grafika komputerowa

KARTA KURSU. Grafika komputerowa KARTA KURSU Nazwa Nazwa w j. ang. Grafika komputerowa Computer graphics Kod Punktacja ECTS* 3 Koordynator dr inż. Krzysztof Wójcik Zespół dydaktyczny: dr inż. Krzysztof Wójcik dr inż. Mateusz Muchacki

Bardziej szczegółowo

Optymalizacja Automatycznych Testów Regresywnych

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

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Egzamin / zaliczenie na ocenę*

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

Bardziej szczegółowo

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

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

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Usługa: Audyt kodu źródłowego

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

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

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

Bardziej szczegółowo

WPROWADZENIE DO UML-a

WPROWADZENIE DO UML-a WPROWADZENIE DO UML-a Maciej Patan Instytut Sterowania i Systemów Informatycznych Dlaczego modelujemy... tworzenie metodologii rozwiązywania problemów, eksploracja różnorakich rozwiązań na drodze eksperymentalnej,

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Metryki oprogramowania. Marian Jureczko

Metryki oprogramowania. Marian Jureczko Metryki oprogramowania Marian Jureczko Plan wykładu Metryki wyliczane z kodu źródłowego CK Metrics (1994) Złożoność cyklomatyczna McCabe'a (1976) Metryki wyliczane z diagramów (2002) Narzędzia do wyliczania

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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):

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Inżynieria 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia koordynator

Bardziej szczegółowo

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko

Bardziej szczegółowo

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

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:

Bardziej szczegółowo

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA Parametry wydajnościowe systemów internetowych Tomasz Rak, KIA 1 Agenda ISIROSO System internetowy (rodzaje badań, konstrukcja) Parametry wydajnościowe Testy środowiska eksperymentalnego Podsumowanie i

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Opis metodyki i procesu produkcji oprogramowania

Opis metodyki i procesu produkcji oprogramowania Opis metodyki i procesu produkcji oprogramowania Rational Unified Process Rational Unified Process (RUP) to iteracyjny proces wytwarzania oprogramowania opracowany przez firmę Rational Software, a obecnie

Bardziej szczegółowo

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

PROJEKTOWANIE. kodowanie implementacja. PROJEKT most pomiędzy specyfikowaniem a kodowaniem PROJEKTOWANIE określenie wymagań specyfikowanie projektowanie kodowanie implementacja testowanie produkt konserwacja Faza strategiczna Analiza Dokumentacja Instalacja PROJEKT most pomiędzy specyfikowaniem

Bardziej szczegółowo