ZŁOŻONOŚĆ schematów aplikacyjnych UML i GML Agnieszka Chojka Uniwersytet Warmińsko-Mazurski w Olsztynie XXIV Konferencja PTIP, 5-7 listopada 2014 r., Warszawa
Wprowadzenie 2
3 Schematy aplikacyjne Integralna część rozporządzeń do ustawy PGiK definiują spójną i jednorodną strukturę baz danych opracowane zgodnie z normami ISO serii 19100 w trakcie ich tworzenia napotkano wiele problemów technicznych związanych z transformacją UML-GML wykonawcy wskazali szereg wad, błędów, nieprawidłowości
4 Problem Przyczyny niejednoznaczność transformacji UML-GML zbyt duża złożoność schematów aplikacyjnych UML i GML może mieć istotny wpływ na możliwość generowania plików GML z konkretnymi obiektami przetworzenia i obsługi takich plików przez oprogramowanie GIS Rozwiązanie obliczyć złożoność schematów aplikacyjnych zaproponować ich optymalizację podnieść jakość schematów aplikacyjnych i baz danych tworzonych na ich podstawie
5 Miary złożoności Informatyka metryki oprogramowania miary pewnych własności oprogramowania lub jego specyfikacji miara złożoności strukturalnej oszacowanie jakości oprogramowania (produktu końcowego) monitorowanie złożoności poszczególnych komponentów np. modelu informacyjny systemu w postaci diagramów klas UML
6 Złożoność UML Metryki złożoności diagramów klas metryki wielkości (size metrics) metryki złożoności strukturalnej (structural complexity metrics)
7 Złożoność UML metryki wielkości (size metrics) NC (Number of Classes) NA (Number of Attributes) NM (Number of Methods)
8 Złożoność UML metryki złożoności strukturalnej (structural complexity metrics) NAssoc (Number of Associations) NAgg (Number of Aggregations) NDep (Number of Dependencies) NGen (Number of Generalisations) NGenH (Number of Generalization hierarchies) AscNoRole (Associations Without Role) LoneClass (Lonely Classes)
9 Złożoność XML Schema Metryki złożoności XML Schema XML-agnostic XSD-agnostic XSD-aware
10 Złożoność XML Schema XML-agnostic nie uwzględniają żadnych informacji powiązanych z XML KB LOC (Lines of Code)
11 Złożoność XML Schema XSD-agnostic uwzględniają zależności związane z XML, abstrahują od XSD #NODE #ANN
12 Złożoność XML Schema XSD-aware koncentruje się na strukturze plików XSD #El g #CT g #ST g #MG g #AG g #AT g #GLOBAL
13 Złożoność XML Schema C(XSD) = C(V g ) + C(G g ) + C(T g ) uwzględnia strukturę schematów XML (nie ogranicza się do zliczenia poszczególnych komponentów schematów) uwzględnia struktury rekurencyjne C(V g ) złożoność wszystkich elementów i atrybutów globalnych, które mogą być załączone lub zaimportowane z zewnętrznych schematów XSD lub zadeklarowane/zdefiniowane w danym pliku XSD C(G g ) złożoność elementów i atrybutów globalnych, które mogą być zadeklarowane/zdefiniowane w danym pliku XSD i nie posiadają żadnych powiązań (referencji) z innymi elementami w danym schemacie XSD C(T g ) złożoność definicji/deklaracji globalnych typów złożonych i prostych (wbudowanych i zdefiniowanych przez użytkownika) nie posiadających żadnych powiązań z innymi elementami w danym schemacie XSD
14 Narzędzia programowe Nie można kontrolować tego, czego nie da się zmierzyć (DeMarco) Przykłady SDMetrics (UML) UML Metrics Producer (UML) Castor (XML Schema) GIS grafy analizy sieciowe
15 Analiza złożoności SA GUGiK Założenia uwzględniono tylko schematy aplikacyjne z rozporządzeń udostępnione na stronie GUGiK (pliki EAP i XSD) http://www.gugik.gov.pl/prawo/schematy-aplikacyjne nie uwzględniono schematu Modelu Podstawowego nie uwzględniono klas pochodzących z innych schematów, ale uwzględniono referencje do tych klas tylko wybrane metryki analiza wykonana ręcznie Enterprise Architect (UML) Notepad++ (XSD)
16 Analiza złożoności SA UML SA UML Metryki UML NC NA NAssoc NGen LoneClass EGiB 71 699 78 30 38 RCiWN 20 158 10 6 13 PRG 10 71 4 5 3 EMUiA 15 83 9 1 10 BDOT 60 244 3 27 32 GESUT 36 182 4 17 17 MZ 1 0 7 0 0 SytWys 12 45 17 0 6 Osnowa 29 180 9 11 10
17 Analiza złożoności SA GML SA GML Metryki XML Schema KB LOC #NODE #CT g #ST g EGiB 154 5053 317 76 34 RCiWN 35,1 1152 71 14 13 PRG 22,8 572 41 16 9 EMUiA 18,7 489 70 16 15 BDOT 44,9 1154 116 56 96 GESUT 29,9 795 90 40 16 MZ 1,86 28 7 2 0 SytWys 14,5 374 41 12 18 Osnowa 31,3 746 165 38 24
18 Wnioski Duża złożoność niektórych schematów szeroki zakres tematyczny źle (nieefektywnie) zaprojektowana struktura danych Testowane metryki nie oddają w pełni charakteru schematów aplikacyjnych GUGiK nie uwzględniają np. użycia stereotypu voidable (UML), wartości nilreason (GML) klas abstrakcyjnych (UML, GML) różnych rodzajów geometrii (UML, GML) ograniczeń nakładanych na atrybuty (UML) wzajemnych zależności między poszczególnymi schematami aplikacyjnymi (UML, GML)
19 Co dalej? Zbadanie złożoności próbek z danymi plików GML zawierających konkretne obiekty Sprawdzenie wpływu złożoności schematów aplikacyjnych na jakość (w tym złożoność) danych Opracowanie autorskich metryk złożoności dostosowanych do specyfiki schematów aplikacyjnych UML i GML zawartych w rozporządzeniach Przetestowanie funkcjonalności narzędzi GIS do obliczania złożoności struktur zapisanych w UML i XML Schema ewentualnie opracowanie własnego narzędzia
20 Dziękuję za uwagę!!! dr inż. Agnieszka Chojka agnieszka.chojka@uwm.edu.pl Katedra Geodezji Szczegółowej Wydział Geodezji i Gospodarki Przestrzennej Uniwersytet Warmińsko-Mazurski w Olsztynie