Univerzita Hradec Králové ev.č.: 005
Příloha evidenčního formuláře
Manuál k software: OpenSocial – online znalostní mapa
Obsah 1.
Statistické údaje o software ............................................................................................................ 2
2.
Účel software................................................................................................................................... 4
3.
4.
2.1.
Použité vývojové prostředí ...................................................................................................... 4
2.2.
Použitý databázový stroj (pokud je) ........................................................................................ 7
2.3.
Informace o předmětu zkoumání/snímání/zpracování .......................................................... 8
2.4.
Ovládání software ................................................................................................................... 8
2.5.
Požadavky na HW pro běh software ....................................................................................... 9
Vyhodnocení zkoumaných/snímaných/zpracovávaných dat .......................................................... 9 3.1.
Návrh databáze ....................................................................................................................... 9
3.2.
Struktura projektu ................................................................................................................. 10
3.3.
Visualizace ............................................................................................................................. 12
Testování software ........................................................................................................................ 14 4.1.
Verifikace software................................................................................................................ 14
4.2.
Validace software .................................................................................................................. 15
4.2.1.
Statická analýza ............................................................................................................. 15
4.2.2.
Dynamická kontrola....................................................................................................... 16
4.2.3.
Popis metodologie testování ......................................................................................... 16
4.2.4.
Vlastní testování ............................................................................................................ 17
4.2.5.
Diskuze závěrů testování ............................................................................................... 17
Univerzita Hradec Králové ev.č.: 005
1. Statistické údaje o software 1. Software se skládá z 57 programových balíčků a 346 java tříd. 2. Jejich výpis je následující: cz.uhk.opensocial.assembler cz.uhk.opensocial.assembler.impl cz.uhk.opensocial.converter cz.uhk.opensocial.criteria cz.uhk.opensocial.dto cz.uhk.opensocial.dto.forms cz.uhk.opensocial.dto.forms.impl cz.uhk.opensocial.emailing cz.uhk.opensocial.emailing.impl cz.uhk.opensocial.exception cz.uhk.opensocial.imports cz.uhk.opensocial.interceptor cz.uhk.opensocial.log cz.uhk.opensocial.menu cz.uhk.opensocial.menu.impl cz.uhk.opensocial.message cz.uhk.opensocial.message.impl cz.uhk.opensocial.obd cz.uhk.opensocial.roo.domain cz.uhk.opensocial.security.account cz.uhk.opensocial.security.authentication cz.uhk.opensocial.security.config cz.uhk.opensocial.security.dao cz.uhk.opensocial.security.dao.impl
Univerzita Hradec Králové ev.č.: 005 cz.uhk.opensocial.security.development cz.uhk.opensocial.security.facebook cz.uhk.opensocial.security.google cz.uhk.opensocial.security.interceptors cz.uhk.opensocial.security.manager cz.uhk.opensocial.security.manager.impl cz.uhk.opensocial.security.message cz.uhk.opensocial.security.singin cz.uhk.opensocial.security.singup cz.uhk.opensocial.security.twitter cz.uhk.opensocial.serializers cz.uhk.opensocial.service cz.uhk.opensocial.service.impl cz.uhk.opensocial.tags cz.uhk.opensocial.tags.model cz.uhk.opensocial.tags.model.template cz.uhk.opensocial.tags.output cz.uhk.opensocial.tags.template cz.uhk.opensocial.tags.util cz.uhk.opensocial.url cz.uhk.opensocial.url.impl cz.uhk.opensocial.util cz.uhk.opensocial.util.json cz.uhk.opensocial.validation cz.uhk.opensocial.validation.impl cz.uhk.opensocial.web cz.uhk.opensocial.web.module
Univerzita Hradec Králové ev.č.: 005 cz.uhk.opensocial.web.module.impl cz.uhk.opensocial.web.module.impl.home cz.uhk.opensocial.web.module.impl.nav cz.uhk.opensocial.web.module.manager cz.uhk.opensocial.web.module.manager.impl cz.uhk.opensocial.web.servlet 3. Software obsahuje celkem 20 720 řádků kódu
2. Účel software Vyvinutý software je určen k vytvoření intranetové či internetové sociální sítě, použitelné v dané komunitě k mapování a vizualizaci znalostních zdrojů.
2.1.
Použité vývojové prostředí
Pro vývoj bylo použito vývojové prostředí Spring Tool Suite 3.x.x, které je volně dostupné pod Eclipse Public License - v 1.0. Souhrn důležitých nastavení a nástrojů pro vývoj: a) Java 6 – nutná instalace JDK verze b) STS www.springsource.com/downloads/sts + plugin Sublicpse http://subclipse.tigris.org/update_1.8.x + plugin Propedit - propedit - http://propedit.sourceforge.jp/eclipse/updates/ + ruční konfigurace návaznosti STS na Maven 3, Roo (není nutné), kodování workspace: UTF 8 c) MySQL d) Tomcat Server, verze 7.x e) Další nástroje HeidiSQL – nástroj pro práci s MySQL databází Firefox + plugin Firebug –nástroj pro přístup k http a vývojářeské rozšíření
Projekt využívá následující volně dostupné knihovny třetích stran: log4j:log4j 1.2.16 (compile) org.slf4j:slf4j-api 1.6.1 (compile)
Univerzita Hradec Králové ev.č.: 005 org.slf4j:jcl-over-slf4j 1.6.1 (compile) org.slf4j:slf4j-log4j12 1.6.1 (compile) org.aspectj:aspectjrt 1.6.11 (compile) org.aspectj:aspectjweaver 1.6.11 (compile) javax.servlet:servlet-api 2.5 (provided) net.sf.flexjson:flexjson 2.1 (compile) org.springframework.roo:org.springframework.roo.annotations 1.2.2.RELEASE (provided) org.springframework:spring-asm 3.1.0.RELEASE (compile) org.springframework:spring-beans 3.1.0.RELEASE (compile) org.springframework:spring-expression 3.1.0.RELEASE (compile) aopalliance:aopalliance 1.0 (compile) org.springframework:spring-context-support 3.1.0.RELEASE (compile) org.springframework:spring-tx 3.1.0.RELEASE (compile) mysql:mysql-connector-java 5.1.13 (compile) antlr:antlr 2.7.6 (compile) commons-collections:commons-collections 3.1 (compile) dom4j:dom4j 1.6.1 (compile) org.hibernate:hibernate-commons-annotations 3.2.0.Final (compile) javassist:javassist 3.12.0.GA (compile) asm:asm 3.1 (compile) org.hibernate.javax.persistence:hibernate-jpa-2.0-api 1.0.0.Final (compile) org.hibernate:hibernate-validator 4.1.0.Final (compile) javax.validation:validation-api 1.0.0.GA (compile) cglib:cglib-nodep 2.2 (compile) javax.transaction:jta 1.1 (compile) org.springframework:spring-jdbc 3.1.0.RELEASE (compile) org.springframework:spring-orm 3.1.0.RELEASE (compile)
Univerzita Hradec Králové ev.č.: 005 commons-pool:commons-pool 1.5.4 (compile) commons-dbcp:commons-dbcp 1.3 (compile) org.springframework:spring-web 3.1.0.RELEASE (compile) org.springframework:spring-webmvc 3.1.0.RELEASE (compile) org.springframework.webflow:spring-js-resources 2.2.1.RELEASE (compile) commons-beanutils:commons-beanutils 1.8.0 (compile) commons-fileupload:commons-fileupload 1.2.1 (compile) commons-io:commons-io 1.4 (compile) javax.servlet:jstl 1.2 (compile) javax.servlet.jsp.jstl:jstl-api 1.2 (compile) javax.activation:activation 1.1 (compile) org.glassfish.web:jstl-impl 1.2 (compile) javax.el:el-api 1.0 (provided) joda-time:joda-time 1.6 (compile) javax.servlet.jsp:jsp-api 2.1 (provided) commons-codec:commons-codec 1.4 (compile) org.apache.tiles:tiles-api 2.2.2 (compile) org.apache.tiles:tiles-servlet 2.2.2 (compile) org.apache.tiles:tiles-template 2.2.2 (compile) org.apache.tiles:tiles-el 2.2.2 (compile) org.springframework.security:spring-security-crypto 3.1.0.RC3 (compile) org.springframework.security:spring-security-acl 3.1.0.RC3 (compile) org.springframework.security:spring-security-config 3.1.0.RC3 (compile) com.google.inject:guice 2.0 (compile) net.jcip:jcip-annotations 1.0 (compile) org.springframework.security:spring-security-web 3.1.0.RC3 (compile) commons-httpclient:commons-httpclient 3.0.1 (compile)
Univerzita Hradec Králové ev.č.: 005 xml-apis:xml-apis 1.3.03 (compile) org.openid4java:openid4java-server 0.9.5 (compile) org.openid4java:openid4java-server-JdbcServerAssociationStore 0.9.5 (compile) org.openid4java:openid4java-consumer-SampleConsumer 0.9.5 (compile) org.openid4java:openid4java-server-SampleServer 0.9.5 (compile) org.springframework.social:spring-social-core 1.1.0.BUILD-SNAPSHOT (compile) org.springframework.social:spring-social-config 1.1.0.BUILD-SNAPSHOT (compile) org.springframework.social:spring-social-twitter 1.1.0.BUILD-SNAPSHOT (compile) org.springframework.social:spring-social-web 1.1.0.BUILD-SNAPSHOT (compile) javax.inject:javax.inject 1 (compile) commons-logging:commons-logging 1.1.1 (compile) org.apache.httpcomponents:httpcore 4.3-alpha1 (compile) stax:stax-api 1.0.1 (compile) org.apache.commons:commons-lang3 3.1 (compile) commons-lang:commons-lang 2.3 (compile) org.apache.poi:poi 3.7 (compile) org.apache.xmlbeans:xmlbeans 2.3.0 (compile) org.apache.geronimo.specs:geronimo-stax-api_1.0_spec 1.0 (compile) org.cloudfoundry:cloudfoundry-runtime 0.8.1 (compile) org.ostermiller:utils 1.07.00 (compile) org.codehaus.jackson:jackson-core-asl 1.9.7 (compile) org.codehaus.jackson:jackson-mapper-asl 1.9.7 (compile) org.jibx:jibx-run 1.2.2 (compile) com.hp.gagawa:gagawa 1.0.1 (compile) com.google.code.findbugs:jsr305 1.3.9 (compile)
2.2.
Použitý databázový stroj (pokud je)
Relační databáze MySQL ve verzi 5.0.67.
Univerzita Hradec Králové ev.č.: 005
2.3.
Informace o předmětu zkoumání/snímání/zpracování
Projekt OpenSocial UHK si klade za cíl vytvořit obecné funkčnosti online prostředí, kde bude možné sdílet informace o pracovních a tvůrčích záměrech, dokumentech, osobách, pracovních skupinách a událostech. Jak je známo, znalosti organizace nebo v rámci komunity se vyskytují v různých formách a techniky mapování znalostí mohou zlepšit vyhledatelnost a dostupnost těchto znalostních aktiv. Existují dva základní typy znalostí a možnosti jejich zachycení. Tacitní znalost je taková, kterou osoba dobře zná, ale je obtížné ji popsat pomocí běžného jazyka. Osoba se dokáže na základě tacitní znalosti rozhodnout nebo provést nějakou činnost. Ve znalostní mapě je odkaz na tacitní znalost odkazem na držitele této znalosti. Druhým typem znalostí jsou znalosti explicitní, které je naopak možné popsat běžným jazykem, pomocí symbolů, znaků nebo způsobem strojově zpracovatelným. Jsou to znalostní aktiva, jako jsou dokumentace, studijní materiály, požadavky nebo statistické informace. Technologie, které podporují znalostní management, se nazývají knowware. Většina z těchto nástrojů má některou z těchto částí: podpora spolupráce, znalostní server, znalostní portál, vyhledávací mechanismus. Znalostní server poskytuje přístup ke znalostnímu uložišti, informacím a datům. Znalostní mapa, která je primárním předmětem tohoto dokumentu, poskytuje přehled, vhodnou vizualizaci, způsob ovládání a vyhledávání znalostních aktiv, jako jsou data a dokumenty, email, internetové odkazy, události, úkoly, osoby apod. Uplatněním projektu na UHK je vytvoření nové platformy, kde by bylo možné jednoduše vytvářet, aktualizovat a výzkumné záměry, sdružovat se do veřejných i soukromých skupin dle zájmových oblastí, sdílet rozpracované i konečné výsledky výzkumné činnosti, informovat o plánovaných událostech na univerzitě i mimo ni a především vytvářet vazby mezi všemi těmito prvky.
2.4.
Ovládání software
Ovládání software je řešeno pomocí webového prohlížeče, který interpretuje jazyk HTML 5 a CSS 3. Klíčové funkce systému jsou: •
Možnost vytváření a editace dokumentů, událostí, skupin, výzkumných/vědeckých záměrů
•
Úpravy profilu uživatele, který obsahuje kontakt, email, oblasti vědeckého zaměření/zájmu
•
Vytváření vazeb mezi prvky v systému může každý registrovaný uživatel, uživatel může přidat vazbu na prvek, jehož není autorem, zrušit vazbu může tento uživatel či autor jednoho z prvků ve vazbě (viz. také mechanismus skupin)
•
Vytvářením vazeb vzniká síť uživatele, kterou je možné využít jako filtr všech aktivit v systému a sledovat aktivity jen personalizované pro jednoho uživatele
•
Různé možnosti v rámci mechanismu skupin, který může pokrývat všechny požadavky na výzkumné týmu, projekty, doporučované články, nabídky spolupráce a podobně (autor skupiny má editační práva na záznam)
•
Vkládání příloh k dokumentům
•
Vkládání komentářů a zobrazení akcí na profilu uživatele
Univerzita Hradec Králové ev.č.: 005 •
U události zadání místa konání, dne začátku, dne konce, možnost zobrazení událostí v kalendáři
•
Hodnocení jednotlivých konferencí, článků, skupin a dalších složek systému
Podrobný popis uživatelských obrazovek a ovládání software je dostupný na wiki stránkách projektu: http://java.net/projects/opensocial/
2.5.
Požadavky na HW pro běh software
Náročnost na HW se odvíjí od velkosti komunity a počtu konkurenčních uživatelů. Předokládá se, že pro 100 online konkurenčních uživatelů je dostatečný HW: -
1x CPU
-
2 GB RAM
-
30 GB RAM (omezení množství dat na 1x uživatele 200MB), v případě většího množství příloh je nutné diskový prostor zvětšit
3. Vyhodnocení zkoumaných/snímaných/zpracovávaných dat Software nabízí rozhraní pro automatický dat ze existujících zdrojů (cz.uhk.opensocial.imports) anebo manuální vkládání a editaci přes rozhraní webové aplikace. Automaticky importovaná data jsou: -
Seznam osob (formát xls)
-
Seznam událostí (formát xls)
-
Seznam projektů a osob (formát xls)
-
Seznam dokumentů (fomát xml)
-
Dotazníkového šetření s odpověďmi na: Seznam výzkumných záměrů, skupin, vazeb mezi osobami
3.1.
Návrh databáze
Evidovaná data jsou uložena do relační databáze. Struktura databáze je popsána na následujícím ERD diagramu (Obrázek 1).
Univerzita Hradec Králové ev.č.: 005
Obrázek 1 Entitně relační databázový model
Základním entitou je tabulka topic, která reprezentuje každý záznam v systému. Každý záznam je určitého typu (Osoba, Cíl, Dokument, Skupina, Událost), viz. topic.topic_type. Každý záznam může být ve vztahu M:N k jinému záznamu díky tabulkám association a association_topics. K záznamu v tabulce topic lze vkládat vazby na klíčová slova (variant_name, topic_variant_name), hlasy uživatelů (vote), poznámky (note) a log aktivit uživatele (person_log, log). Pokud je záznam typu dokument, obsahuje linky na přílohy (topic_file, file). Uživatel si může jednotlivé záznamy uložit mezi oblíbené (bookmarks).
3.2.
Struktura projektu
Projekt je vytvářen dle návrhové vzoru MVC a rozdělen do následujících logických celků.
Doménové objekty /opensocial/src/main/java/cz.uhk.opensocial.roo.domain - doménové objekty generované pomocí Roo
Finální doménový model je popsán na následujícím diagramu, viz. Obrázek 2. Doménové třídy jsou generované pomocí frameworku Spring Roo a jsou persistovány v navrženém databázovém modelu.
Univerzita Hradec Králové ev.č.: 005
Obrázek 2 Diagram tříd z balíčku cz.uhk.opensocial.roo.domain
Servisní vrstva Servisní vrstva využívá převážně doménové objekty generované pomocí frameworku Roo. /opensocial/src/main/java/cz.uhk.opensocial.service.TopicService – metody použitelné při práci se všemi potomky třídy Topic /opensocial/src/main/java/cz.uhk.opensocial.service.ObjectiveService
–
chování, které se týká třídy
Objective.
Controller /opensocial/src/main/java/cz.uhk.opensocial.web - controllery zachytávající http requesty a směřující je na servisní vrstvu
Další balíčky /opensocial/src/main/java/cz.uhk.opensocial.dto - objekty, které slouží k přepravě dat, primárně z Modelu do Controleru /opensocial/src/main/java/cz.uhk.opensocial.dto.view - objekty, které nesou data pro view vrstvu ve Spring MVC, objekty zabalují např. několik objektů z cz.uhk.opensocial.dto
Univerzita Hradec Králové ev.č.: 005 /opensocial/src/main/java/cz.uhk.opensocial.dto.forms - objekty, které jsou nositeli dat z webových formulářů předaných metodou POST nebo GET /opensocial/src/main/java/cz.uhk.opensocial.util - pomocné třídy nesouvisející s business logikou
JSPX stránky /opensocial/src/main/webapp/WEB-INF/ui – ručně tvořené JSP
CSS src/main/webapp/css – css styly upravované programátory
Apache Tiles /opensocial/src/main/webapp/WEB-INF/spring/webmvc-config.xml
- základní konfigurace Apache Tiles generovaná pomocí Roo - definice statických view generovaných bez nutnosti existence controlleru - konfigurace zachytávání výjimek ze servlet containeru
- specifikace scanování konfiguračních souborů Tiles, defaultně:
/WEB-INF/layouts/layouts.xml /WEB-INF/views/**/views.xml
/opensocial/src/main/webapp/WEB-INF/ui/layouts.xml
- vlastní konfigurace Apache Tiles - logická jména řídíci tok jednotlivých flow oddělujeme pomlčkou, tedy např. objectives-list: <definition extends="def" name="objectives-list">
3.3.
Visualizace
Visualizace vazeb pracuje na základě algoritmu, který byl publikován p. Krbálkem a p. Vackem na konf. International Conference on Applied Informatics an Communications v příspěvku Semantics of Knowledge Map Visualization. Algoritmus rozděluje zobrazení vybraného prvku a navázaných prvků do různých vrstev, přičemž kriérium pro zobrazení prvku na dané vrstvě je množství vazeb, které má prvek v asociaci, viz. schematické znároznění na obrázku Obrázek 3.
Univerzita Hradec Králové ev.č.: 005
Obrázek 3 Schematické znázornění jedné vrstvy vizualizace vazeb
Přístup získání dat pro vizualizaci znalostních aktiv je obecně aplikovatelný na zobrazení nesourodých znalostních zdrojů, kde mezi takovými zdroji existují známé vazby, tedy každý odkazovaný prvek je možné propojit s jiným odkazovaným prvkem, přičemž uvedená úloha vizualizace vazeb mezi nesourodými zdroji znalostí lze vyřešit následujícím způsobem: a) mezi znalostními zdroji zvolí uživatel vizualizaci jednoho z prvků, označený jako prvek X1 (Obrázek 3), který je umístěn do centra mapy a do okolí vybraného prvku v mapě se zobrazí první vrstva tohoto okolí, V1, přičemž je zvoleno maximální množství M prvků na jednu úroveň dle předem zvoleného parametru, nebo podle formátu zobrazovacího zařízení, do kterého se mapa vykresluje, tak aby byla vykreslená mapa pro uživatele mapy čitelná, a zároveň se uvažuje, zda je počet prvků ve vazbě Z1 s vybraným středovým prvkem X1 větší než je maximální množství prvků M, pak je možné zobrazit více vrstev mapy V2, V3, ... VN, b) pro vizualizaci je charakteristické, že celkový počet vrstev pro prvek X1 se vypočítá na základě maximální počtu prvků na vrstvě M, a dle celkového počtu prvků ve vztahu s centrálním prvkem X1, c) uživatel má možnost mezi zobrazením těchto vrstev přepínat, přičemž jsou pro získání prvků pro jednotlivé vrstvy uvažovány prvky seřazené dle hodnoty vazeb na jiné prvky (Z) a na první vrstvě jsou pak prvky s největším množstvím vazeb, d) následně po určení počtu vrstev je nutné vyhledat všechny prvky, které jsou ve vazbě s vybraným prvkem, tj. X2, X3, ..., XN (dle Obrázek 3) a u každého z těchto prvků proběhne vypočtení množství vazeb, které mají na jiné prvky v systému, přičemž se podle tohoto množství tyto prvky seřadí a podle celkového počtu vrstev V a dle toho, jaká vrstva je uživatelem zvolena k zobrazení, jsou vybrány prvky, které svým pořadím odpovídají dané vrstvě dle následujícího postupu, v kterém je při nalezení prvků pro danou vrstvu kromě předchozích hodnot uvažována určená vrstva v, přičemž takto získané prvky jsou vykresleny ve vazbách v mapě dle Obrázek 3a u každého prvku je zobrazen počet vazeb tohoto prvku na jiné prvky v mapě, což je na Obrázek 3zachyceno pomocí zástupných symbolů z1, z2, z3, z.., zn a každý prvek v mapě obsahuje základní popis, což je na Obrázek 3 mapě zachyceno pomocí zástupných symbolů X1, X2, X3, X.., XN.
Univerzita Hradec Králové ev.č.: 005
4. Testování software 4.1.
Verifikace software
Software vytvoření v jazyku JAVA, byl zkompilován do spustitelného kódu pomocí nástroje STS Spring Source Tool Suite, viz. printscreen Obrázek 4.
Obrázek 4 Printscreen vývojového prostřední Spring STS
Vývojové prostředí vývojáře lze nastavit pomocí následujícího postup. Nástroje definované v kapitole 2.1 lze s použitím následující postupu použít k spuštění projektu ve vývojovém prostředí. Předpokládá se nainstalovaný Spring STS+Maven Framework +Tomcat server: V Eclipse STS je důležité projekt stáhnout jako Maven projekt, aby fungovali všechny závislosti: 1. File > New > Other .. 2. Maven > Checkout Maven Projects from SCM 3. SCM URL:
samotné url projektu: https://svn.java.net/svn/opensocial~svn
4. Tlačítko Next, tlačítko Finish 5. Po stažení projektu - pravé tlačítko na projekt > Maven - Update dependencies 6. Spuštění MySQL databáze - obvykle v adresáři s databází spustit soubor startup.bat 7. Spuštění projektu lze na jetty server přes maven plugin a příkaz: clean jetty:run
Univerzita Hradec Králové ev.č.: 005
4.2.
Validace software
Testování neboli validace softwaru je prováděna většinou podle požadavků zadavatele. V ideálním případě se provádí jak statická analýza zdrojového kódu, tak i dynamická kontrola, tedy kontrola programu „za běhu“.
4.2.1. Statická analýza Cílem statické analýzy kódu je zejména - získat přehled o pokrytí kódu testy, - odhalit časté chyby, nevhodné konstrukce, špatné praktiky, - analyzovat složitost kódu, - ověřit dodržování některých formálních pravidel pro psaní kódu. Statické analýze byl podroben kód v jazyce Java a částečně i v jazyce JavaScript, protože v rámci projektu zastává nemalou část. V rámci kódu se vyskytují třídy psané manuálně i třídy generované. Statická kontrola kódu v jazyce Java probíhala za využití nástroje Sonar, který k analýze využívá volně dostupné nástroje PMD, FindBugs, CheckStyle a další. Výstup z nich ukázal, že plnění a porušení doporučených pravidel. Jednotlivé chyby jsou rozděleny do tří úrovní: -
Critical – naznačují možný problém v současném kódu nebo na slabá místa, která mohou být zdrojem chyb do budoucna.
-
Major – chyby na této úrovni značí neefektivní, složité či podezřelé konstrukce, jenž často znamenají horší udržovatelnost kódu, vyšší pravděpodobnost výskytu chyb z nepozornosti a dalších chyb.
-
Minor – chyby na této úrovni označují spíše formální problémy, které by neměly mít vliv na funkčnost aplikace samotné.
Výsledky statické analýzy jsou: -
Critical (10) - chyby byly sice nástrojem statické analýzy označené za kritické, ale jedná se jen o neošetřené větvení programu, které bude využito v dalších verzích software.
-
Major (1108) - jedná se převážně o definování správné viditelnosti proměnných public, private, protected. Defaultní nastavení nástroje Sonar také špatně vyhodnocuje uvedení licence Apache Licence 2.0 na začátku souboru a zvyšuje tak množství chyb. Předpokládá se odstranění chyb v budoucích verzích programu.
-
Minor (572) - Nejméně závažné chyby poukazují na použití statických konstant v kódu, použití inline komentáře apod.
Univerzita Hradec Králové ev.č.: 005
4.2.2. Dynamická kontrola Aplikace byla nasazena na server poskytnutý virtuálním hostingem Univerzity FIM cloud. Od testerů bylo vyžadováno typické použití programu s ohledem na běžně prováděné operace zakládání, editace a mazání záznamů. Podrobněji viz. následující kapitola metodologie testování.
4.2.3. Popis metodologie testování Pro uživatelské testování byly osloveny členové katedry KIT a náhodně vybraní studenti. Studenti procházeli aplikaci dle předem definovaných scénářů a výsledek byl zapisován koordinátorem testů. Členové katedry FIM procházeli aplikaci náhodně, tedy formou smoke testu, a kontrolovaly, zda jsou všechny části aplikace správně naimplementovány a funkční. Testovací scénáře, který byly testovány vybranými studenty, pokrývají základní požadavky na funkcionalitu. Tabulka 1 Testovací scénáře ÚKOL (to co se testovalo) SCÉNÁŘ (to co bylo předloženo účastníkovi) Jste v doktorském studijním programu a přišel vám odkaz na nový web pro 1. Exkurze po domovské vědu a výzkum. Podívejte se na tyto stránky a řekněte mi, co vás napadá když stránce (1-2 min času se na ní díváte, co všechno myslíte že na ní můžete provádět, prostě se po ní prohlížení první stránky) porozhlédněte a trochu u toho povídejte. Máte možnost podívat se přednášku prof. Josefa Zelenky o cestovním ruchu, a 2. Vyhledávání a orientace v přemýšlíte, jestli stojí za to ji navštívit. Zkuste proto zjistit více informací o prof. detailu osoby (prof. Josef Josefu Zelenkovi, konkrétně jestli má ve svých zveřejněných dokumentech Zelenka) nějaké o cestovním ruchu. 3. Vizualizace vazby (u prof. Josefa Zelenky)
Slyšeli jste, že na tomto webu můžete libovolný prvek zobrazit graficky ve vztahu s jinými prvky. Najděte a vyzkoušejte tuto funkci u prof. Josefa Zelenky.
4A. otázka
K čemu myslíte že slouží tato funkce? Při čem myslíte, že by vám použití této funkce (vizualizace) mohlo pomoct? K čemu byste ji použili?
4B. otázka
Tento web má možnost registrace, co vás napadá, že byste mohli registrací získat?
5. registrace
Nové stránky vás zaujaly, a rozhodli jste se registrovat, abyste získali možnosti přihlášeného uživatele. Registrujte se na webu a dokončete registraci.
6. Orientace ve skupinách
Zajímají vás projekty, které probíhají na FIM. Víte, že je jich více, proto by mohly být sdruženy ve skupině. Zkuste tuto skupinu projektů najít, poté si vyberte jeden projekt a vyjádřete, že se vám líbí (jinými slovy, najděte způsob jak ho můžete kladně ohodnotit).
7. Přidání komentáře
Rozhodli jste se, že vám nestačí jen kladné ohodnocení, ale chtěli byste tento projekt i okomentovat. Přidejte k projektu svůj komentář, např. s textem "Zajímavý projekt!".
7. Přidání komentáře Chcete přidat kladný komentář k nějakému dokumentu. Vyberte / najděte si na (alternativní verze v případě stránkách libovolný dokument, a přidejte svůj komentář, např. s textem nesplnění předchozího) "Zajímavý dokument!".
Univerzita Hradec Králové ev.č.: 005 6.-7. Hlasování (začleněno původně v bodu 6., pokud ale účastník nenašel projekty, tak až v 7.) 8. Přidání nového dokumentu
Chtěli byste uveřejnit jeden svůj článek. Zkuste ho umístit na web OpenEdu. Článek se jmenuje "zkušební článek" a chcete ho charakterizovat dvěma klíčovými slovy, např. "testování" a "pokus".
9. Změna uživatelského nastavení
Chcete prozkoumat, jaké jsou možnosti uživatelského nastavení v OpenEdu. Najděte, kde se toto nastavení nachází, a jak můžete upravit svůj uživatelský profil.
10A. otázka
Strávil jste na tomto webu zhruba 20 minut, řekl byste, že už se v něm dobře orientujete? Myslíte, že máte představu o jeho účelu a možnostech?
10B. otázka
Narazil jste na něco, co funguje jinak než byste předpokládal, nebo co se nachází na jiném místě, než byste to očekával?
4.2.4. Vlastní testování Vlastní testování proběhlo na fakultě FIM UHK v prosinci 2012.
4.2.5. Diskuze závěrů testování V testování byly identifikované následující chyby a návrhy na zlepšení. Zjištěné c hyby byly opraveny. Identifikované chyby -
Zobrazování diakritiky - fix diakritiky ve výpisu záznamů
-
Zobrazení soukromých záznamů na profilu uživatele
-
Defaultní řazení v seznamu - dle data vytvoření
-
Uživatelská session 45 minut
-
Přepnutí v seznamu záznamů - uživatel by měl být přesměrován na horní část stránky po kliknutí na paginátor
-
Překlad anglické verze
Návrhy na rozšíření -
Pozvánky pro externí uživatele
-
Obsah skupiny - zobrazení ihned po otevření skupiny
-
Zrychlení navigace - nejčastější možnosti přístupné z horního menu
-
Přidání a editace záznamu v pop-up okně
-
Odesílání týdenních shrnutí - aktivity ve Vaší síti