Metryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Podobne dokumenty
1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK)

Metryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz 1

Wykład 6. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (2) Narzędzia do pomiaru programowania. autor: Zofia Kruczkiewicz

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Metryki. Pomiar złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Apache ANT. Narzędzie do automatyzacji zadań projektowych. Spis treści. Dawid Weiss Id: ant-zajecia.tex :37:20Z dweiss

Załącznik 1 instrukcje instalacji

Java jako język programowania

Wprowadzenie do Java Web Start

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Instrukcja instalacji oprogramowania dla środowiska Windows

Załącznik 1 instrukcje instalacji

IBM SPSS Statistics Wersja 23. Konfigurowanie ułatwień dostępu

Wprowadzenie do biblioteki klas C++

Spis treści. FAQ: /PL Data: 30/06/2015. Instalacja polskiej wersji LOGO! Soft Comfort. 1 Pobranie pliku 2

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

WPROWADZENIE DO JĘZYKA JAVA

Biuletyn techniczny Instalacja i uruchamianie CDN OPT!MA dodatkowe moŝliwości. Data powstania: Copyright 2007 COMARCH SA

Jak usunąć instalacji bazy danych Oracle z systemu Windows 2000

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Java Podstawy. Michał Bereta

Dokumentacja kompilacji źródeł aplikacji 1.0

Java Server Faces - wprowadzenie

Programowanie w Javie

Instrukcja Instalacji. Instalacja lokalna

Sigplus. Galeria w Joomla

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Wprowadzenie do narzędzia MAVEN

1. Wprowadzenie. 2. Instalacja i uruchomienie. 3. Projekt i POM

Podstawowe wykorzystanie Hibernate

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Metryki oprogramowania. Marian Jureczko

Programowanie obiektowe zastosowanie języka Java SE

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Ćwiczenie 1. Przygotowanie środowiska JAVA


Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Instalacja. Zwykle należy też zwiększyć pamięć dla konsoli poleceniem: set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin

Rozdział 1. Informacje ogólne

JDK można pobrać ze strony

Podręcznik użytkownika. procertum SmartSign 3.0 Wersja dokumentacji Unizeto Technologies SA -

Podstawy i języki programowania

Aplikacje internetowe laboratorium XML, DTD, XSL

Instrukcja instalacji oprogramowania Flow!Works na komputerze z systemem Windows 7

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Ministerstwo Finansów Departament Informatyzacji Usług Publicznych

INSTRUKCJA INSTALACJI APLIKACJI SEPI W SYSTEMIE LINUX. Dokumentacja zasilania aplikacji SEPI dla systemu Linux

Polska wersja pakietu raportowego ActiveFactory 9.1 wymaga polskiego systemu operacyjnego Windows 2000 / Windows XP / Windows 2003.

Wykład 5. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (1) - definicje metryk międzymodułowych i modułowych autor: Zofia Kruczkiewicz

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

BIOWEB INSTRUKCJA URUCHOMIENIA W IDE ECLIPSE RATIONAL SOFTWARE ARCHITECT

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie Obiektowe GUI

Instalacja pakietu SAS 9.3 Audit, Performance and Measurement na platformie Windows

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

jest dostępne na różne systemy operacyjne. Niniejsza instrukcja opisuje podstawowe operacje i opcje niezbędne do rozpoczęcia pracy w tym programie.

Programowanie niskopoziomowe

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

WellCommerce Poradnik: Dodawanie języka i waluty. autor: Adrian Potępa (biuro@eclairsoaware.pl)

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Aplikacje internetowe - laboratorium

HELIOS pomoc społeczna

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA MOBILNY WERYFIKATOR ETYKIET 1.0

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Instrukcja instalacji systemu elektronicznego obiegu dokumentów - esoda.

Zarządzanie Infrastrukturą IT

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

Kancelaria instalacja sieciowa

Wskazówki dot. konfigurowania Windows 7 do pracy z Aktynem

29. Poprawność składniowa i strukturalna dokumentu XML

Rozwiązywanie problemów z Javą

Konfiguracja systemu operacyjnego Windows XP Professional SP2 dla poprawnej współpracy z oprogramowaniem Wonderware

Wybrane zmiany wprowadzone w pakiecie Oprogramowanie: SyriuszStd

Programowanie obiektowe

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Wykład 7: Pakiety i Interfejsy

Ewidencja Wyposażenia PL+

Dokumentacja fillup - MS SQL

Problemy techniczne. Zdejmowanie kontroli konta administratora systemu Windows na czas instalowania programów Optivum

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

7 Business Ship Control dla Systemu Zarządzania Forte

Zaawansowane aplikacje internetowe - laboratorium

Tworzenie i korzystanie z plików JAR. Biblioteka JFreeChart

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Web frameworks do budowy aplikacji zgodnych z J2EE

Instalujemy środowisko. Hello World! Odczyt/zapis informacji do komponentów na formie. onclick()

Przewodnik użytkownika (instrukcja) AutoMagicTest

Transkrypt:

Metryki Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1

Zastosowanie narzędzi ant i ckjm do pomiaru złożoności oprogramowania 2

1. Wskazanie ścieżki dostępu do programu ant, umieszczonego w podkatalogu C:\Program Files\NetBeans 7.2\java\ant (instalowanego podczas instalacji NetBeans) 3

Dostęp do definiowania zmiennych środowiskowych SO Windows w Panelu Sterowania 4

Przejście w Panelu Sterowania do zadań typu System 5

Wybór zadania Zaawansowane ustawienia systemu Wybór z Zaawansowane podzadanie Zmienne środowiskowe 6

Wybór z listy Zmienne systemowe zmiennej Path i kliknięcie na przycisk Edytuj Wpisanie ścieżek dostępu do katalogów bin i lib w katalogu ant: C:\Program Files\NetBeans 7.2\java\ant \bin; C:\Program Files\NetBeans 7.2\java\ant\lib ; 7

Ustawienie w systemowej zmiennej środowiskowej Path ścieżek do podkatalogów bin i lib podkatalogu ant (poprzedni slajd). C:\PROGRA~1\Borland\CBUILD~1\Bin;C:\PROGRA~1\Borlan d\cbuild~1\projects\bpl;%systemroot%\system32;%syste mroot%;%systemroot%\system32\wbem;c:\program Files\Microsoft SQL Server\90\Tools\binn\; C:\Program Files\NetBeans 7.2\java\ant \bin; C:\Program Files\NetBeans 7.2\java\ant\lib ; 8

2. Instalacja narzędzia ckjm Linki do strony z programem CKJM Strona główna: http://www.spinellis.gr/sw/ckjm Link do pobrania kodu narzędzia: http://www.spinellis.gr/sw/ckjm/ckjm-1.9.zip Opis narzędzia: http://www.spinellis.gr/sw/ckjm/doc/indexw.html 9

Budowa skryptu build.xml dla programu ant, zawierającego informacje, gdzie znajduje się narzędzie ckjm, jaki program należy zmierzyć oraz sposób prezentacji wyników pomiaru Utworzenie i wywołanie skryptu build.xml Należy napisać skrypt build.xml wg wzoru podanego na następnym slajdzie Należy umieścić skrypt build.xml w wybranym katalogu, Należy wywołać program ant w wybranym katalogu, gdzie znajduje się plik build.xml Wynik pomiaru w postaci pliku typu html warto umieszczać w wybranym katalogu, gdzie znajduje się skrypt build.xml. W skrypcie podanym na następnej stronie w znaczniku <ckjm outputfile="ckjm.xml" format="xml" podano, że plik ckjm.xml zawiera wyniki pomiaru. W znaczniku <xslt> ten plik jest wskazany w atrybucie in, jako dane wejściowe przekształcone na podstawie wskazanego arkusza stylu ckjm_extra.xsl w atrybucie style na plik ckjm.html podany przez atrtybut out. Brak ścieżki oznacza generowanie wyniku w katalogu, gdzie znajduje się skrypt build.xml 10

Przykład skryptu build.xml wywołanego domyślnie przez program ant dla programu typu Java Application <?xml version="1.0" encoding="utf-8"?> <project name="myproject" default="ckjm"> <target name="compile"> <!-- your compile instructions --> </target> <! classname zawiera nazwę klasy głównej narzędzia ckjm, która jest wskazana za pomocą podanej ścieżki w znaczniku pathelement--> <target name="ckjm" depends="compile"> <taskdef name="ckjm" classname="gr.spinellis.ckjm.ant.ckjmtask"> <classpath> <pathelement location="c:/downloads/ckjm-1.9/ckjm-1.9/build/ckjm-1.9.jar"/> </classpath> </taskdef> <ckjm outputfile="ckjm.xml" format="xml" classdir="e:\englishlecture\laboratory\bt_library1-model2\bt_library1\build\classes"> <include name="**/*.class" /> <exclude name="**/*test.class" /> Mierzone są pliki.class, wyłączone z pomiarów są pliki *Test.class <!-- classdir lokalizuje pakiety z bajkodami uzywanymi przez projekt za pomocą podanej ścieżki w przykładzie classes jest katalogiem, w ktorym sa umieszczane pakiety z plikami (*.class)--> <!-- extdirs lokalizuje biblioteki uzywane przez klasy projektu za pomocą podanej ścieżki - w przykładzie dist jest katalogiem, w ktorym są umieszczone spakowane pakiety bibliotek (*.jar)- Można dodać kolejne znaczniki extdirs zawierajace różne ścieżki do pozostałych bibliotek używanych przez klasy aplikacji-> <extdirs path="e:\englishlecture\laboratory\bt_library1-model2\bt_library1\dist"/> </ckjm> <xslt in="ckjm.xml" style="c:/downloads/ckjm-1.9/ckjm-1.9/xsl/ckjm_extra.xsl" out="ckjm.html" /> </target> </project> 11

Przykład pomiaru metryk wg skryptu z poprzedniej strony 12

Przykład skryptu build.xml wywołanego domyślnie przez program ant dla programu typu Java Application <?xml version="1.0" encoding="utf-8"?> <project name="myproject" default="ckjm"> <target name="compile"> <!-- your compile instructions --> </target> <! classname zawiera nazwę klasy głównej narzędzia ckjm, która jest wskazana za pomocą podanej ścieżki w znaczniku pathelement--> <target name="ckjm" depends="compile"> <taskdef name="ckjm" classname="gr.spinellis.ckjm.ant.ckjmtask"> <classpath> <pathelement location="c:/downloads/ckjm-1.9/ckjm-1.9/build/ckjm-1.9.jar"/> </classpath> </taskdef> <!-- classdir lokalizuje pakiety z bajkodami uzywanymi przez projekt za pomocą podanej ścieżki w przykładzie classes jest katalogiem, w ktorym sa umieszczane pakiety z plikami (*.class)--> <ckjm outputfile="ckjm.xml" format="xml" classdir="e:\englishlecture\laboratory\bt_library1-model2\bt_library1\build\classes"> <include name="**/*.class" /> <exclude name="**/*test.class" /> <!-- extdirs lokalizuje biblioteki uzywane przez klasy projektu za pomocą podanej ścieżki - w przykładzie dist jest katalogiem, w ktorym są umieszczone spakowane pakiety bibliotek (*.jar)- Można dodać kolejne znaczniki extdirs zawierajace różne ścieżki do pozostałych bibliotek używanych przez klasy aplikacji-> <!--<extdirs path="e:\englishlecture\laboratory\bt_library1-model2\bt_library1\dist"/> </ckjm> <xslt in="ckjm.xml" style="c:/downloads/ckjm-1.9/ckjm-1.9/xsl/ckjm_extra.xsl" out="ckjm.html" /> </target> </project> 13

Przykład pomiaru metryk wg skryptu z poprzedniego slajdu, przy usuniętym znaczniku extdirs, która wskazywała klasy bazowe wynik pomiaru głębokości dziedziczenia dit zawiera błędy (wartość 0), gdyż najmniejsza głębokość dziedziczenia w Javie to 1 (dziedziczenie po klasie Object) 14

Przykład skryptu build.xml wywołanego domyślnie przez program ant dla programu typu Java Application- zalecane dla pozostałych typów aplikacji <?xml version="1.0" encoding="utf-8"?> <project name="myproject" default="ckjm"> <target name="compile"> <!-- your compile instructions --> </target> <! classname zawiera nazwę klasy głównej narzędzia ckjm, która jest wskazana za pomocą podanej ścieżki w znaczniku pathelement--> <target name="ckjm" depends="compile"> <taskdef name="ckjm" classname="gr.spinellis.ckjm.ant.ckjmtask"> <classpath> <pathelement location="c:/downloads/ckjm-1.9/ckjm-1.9/build/ckjm-1.9.jar"/> </classpath> </taskdef> <!-- classdir lokalizuje wszystkie pakiety z bajkodami uzywanymi przez projekt za pomocą podanej ścieżki w przykładzie dist jest katalogiem, w ktorym są umieszczane spakowane pakiety z plikami (*.lar)--> <ckjm outputfile="ckjm.xml" format="xml" classdir="e:\englishlecture\laboratory\bt_library1-model2\bt_library1\dist"> <include name="**/*.class" /> <exclude name="**/*test.class" /> </ckjm> <xslt in="ckjm.xml" style="c:/downloads/ckjm-1.9/ckjm-1.9/xsl/ckjm_extra.xsl" out="ckjm.html" /> </target> </project> 15

Poprawne wyniki pomiarów, gdy w ścieżce zdefiniowanej w atrybucie classdir wskazano wszystkie możliwe biblioteki wykorzystywane w aplikacji (skrypt build.xml z poprzedniego slajdu) 16

Wybór zakładki Explanations zawierającej definicje metryk 17

Wybór zakładki Explanations zawierającej definicje metryk (cd) 18

Wybór zakładki Explanations zawierającej definicje metryk (cd) 19

Przykład metryk CK trzech systemów System analyzed Java Java C++ Classes 46 1000 1617 Lines 50,000 300,000 500,000 Quality "Low" "High" "Medium" CBO 2.48 1.25 2.09 LCOM1 447.65 78.34 113.94 RFC 80.39 43.84 28.60 NOC 0.07 0.35 0.39 DIT 0.37 0.97 1.02 WMC 45.7 11.10 23.97 20