34 resultados para face recognition,face detection,face verification,web application
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Web application performance testing is an emerging and important field of software engineering. As web applications become more commonplace and complex, the need for performance testing will only increase. This paper discusses common concepts, practices and tools that lie at the heart of web application performance testing. A pragmatic, hands-on approach is assumed where applicable; real-life examples of test tooling, execution and analysis are presented right next to the underpinning theory. At the client-side, web application performance is primarily driven by the amount of data transmitted over the wire. At the server-side, selection of programming language and platform, implementation complexity and configuration are the primary contributors to web application performance. Web application performance testing is an activity that requires delicate coordination between project stakeholders, developers, system administrators and testers in order to produce reliable and useful results. Proper test definition, execution, reporting and repeatable test results are of utmost importance. Open-source performance analysis tools such as Apache JMeter, Firebug and YSlow can be used to realise effective web application performance tests. A sample case study using these tools is presented in this paper. The sample application was found to perform poorly even under the moderate load incurred by the sample tests.
Resumo:
The aim of this thesis was to examine emotions in a web-based learning environment (WBLE). Theoretically, the thesis was grounded on the dimensional model of emotions. Four empirical studies were conducted. Study I focused on students’ anxiety and their self-efficacy in computer-using situations. Studies II and III examined the influence of experienced emotions on students’ collaborative visible and non-collaborative invisible activities and lurking in a WBLE. Study II also focused on the antecedents of the emotions students experience in a web-based learning environment. Study IV concentrated on clarifying the differences between emotions experienced in face-to-face and web-based collaborative learning. The results of these studies are reported in four original research articles published in scientific journals. The present studies demonstrate that emotions are important determinants of student behaviour in a web-based learning, and justify the conclusion that interactions on the web can and do have an emotional content. Based on the results of these empirical studies, it can be concluded that the emotions students experience during the web-based learning result mostly from the social interactions rather than from the technological context. The studies indicate that the technology itself is not the only antecedent of students’ emotional reactions in the collaborative web-based learning situations. However, the technology itself also exerted an influence on students’ behaviour. It was found that students’ computer anxiety was associated with their negative expectations of the consequences of using technology-based learning environments in their studies. Moreover, the results also indicated that student behaviours in a WBLE can be divided into three partially overlapping classes: i) collaborative visible ii) non-collaborative invisible activities, and iii) lurking. What is more, students’ emotions experienced during the web-based learning affected how actively they participated in such activities in the environment. Especially lurkers, i.e. students who seldom participated in discussions but frequently visited the online environment, experienced more negatively valenced emotions during the courses than did the other students. This result indicates that such negatively toned emotional experiences can make the lurking individuals less eager to participate in other WBLE courses in the future. Therefore, future research should also focus more precisely on the reasons that cause individuals to lurk in online learning groups, and the development of learning tasks that do not encourage or permit lurking or inactivity. Finally, the results from the study comparing emotional reactions in web-based and face-to-face collaborative learning indicated that the learning by means of web-based communication resulted in more affective reactivity when compared to learning in a face-to-face situation. The results imply that the students in the web-based learning group experienced more intense emotions than the students in the face-to-face learning group.The interpretations of this result are that the lack of means for expressing emotional reactions and perceiving others’ emotions increased the affectivity in the web-based learning groups. Such increased affective reactivity could, for example, debilitate individual’s learning performance, especially in complex learning tasks. Therefore, it is recommended that in the future more studies should be focused on the possibilities to express emotions in a text-based web environment to ensure better means for communicating emotions, and subsequently, possibly decrease the high level of affectivity. However, we do not yet know whether the use of means for communicating emotional expressions via the web (for example, “smileys” or “emoticons”) would be beneficial or disadvantageous in formal learning situations. Therefore, future studies should also focus on assessing how the use of such symbols as a means for expressing emotions in a text-based web environment would affect students’ and teachers’ behaviour and emotional state in web-based learning environments.
Resumo:
Suorituskyky- ja kuormitustestien tekeminen sovelluksille on erittäin tärkeä osa tuotantoprosessia nykypäivänä. Myös Web-sovelluksia testataan yhä enemmän. Tarve suorituskyky- ja kuormitustestien tekemiselle on selvä. Testattavan ympäristön tämänhetkinen, mutta myös tulevaisuuden toimivuus taataan oikein tehdyillä testeillä ja niitä seuraavilla korjaustoimenpiteillä. Suurten käyttäjämäärien testaaminen manuaalisesti on kuitenkin hyvin vaikeaa. Sirpaleisen ympäristön, kuten palveluihin perustuvien Web-sovellusympäristöjen testaaminen on haaste. Tämän työn aiheena on arvioida työkaluja ja menetelmiä, joilla raskaita teollisia Web-sovelluksia voidaan testata. Tavoitteena on löytää testausmenetelmiä, joilla voidaan luotettavasti simuloida suuria käyttäjämääriä. Tavoitteena on myös arvioida erilaisten yhteyksien ja protokollien vaikutusta Web-sovelluksen suorituskykyyn.
Resumo:
Tässä työssä selvitettiin hyviä tapoja ja vakiintuneita käytäntöjä pitkän käyttöiän web-sovelluksen tekemiseksi. Saatiin selville, että sovelluksen elinkaaren aikana suurin osa kustannuksista tulee ylläpidosta. Tavoitteena oli tehdä pitkään käytettävä sovellus, joten ylläpidon kustannusten osuudesta tuli saada mandollisimman pieni. Ohjelmistotuotantoprosessissa mandollisimman aikaisessa vaiheessa havaitut virheet vähentävät korjauskustannuksia oleellisesti verrattuna siihen, että virheet havaittaisiin valmiissa tuotteessa. Siksi tässä työssä tehdyssä web-sovelluksessa panostettiin prosessin alkuvaiheisiin, määrittelyyn ja suunnitteluun. Web-sovelluksen ylläpidettävyyteen ja selkeyteen vaikuttavat oleellisesti hyvät ohjelmistokehitystavat. Käyttämällä valmista sovelluskehystä ja lisäämällä toiminnallisuuksia valmiiden ohjelmistokomponenttien avulla saadaan aikaiseksi hyvien tapojen mukaisesti tehty sovellus. Tässä työssä toteutettu web-sovellus laadittiin käyttämällä sovelluskehystä ja komponenttiarkkitehtuuria. Toteutuksesta saatiin selkeä. Sovellus jaettiin loogisiin kokonaisuuksiin, jotka käsittelevät näkymiä, tietokantaa ja tietojen yhdistämistä näiden välillä. Jokainen kokonaisuus on itsenäisesti toimiva, mikä auttaa sovelluksen ylläpitämisessä ja testaamisessa.
Resumo:
Tässä työssä selvitettiin Ajax-tekniikan tilannetta web-sovellusten kehityksessä. Sitä varten kehitettiin demosovellus, jonka avulla tekniikoiden käyttökelpoisuutta voitiin arvioida. Samalla työssä on esitelty eri tekniikoita, jotka liittyvät kiinteästi Ajax-sovellusten toteuttamiseen. Demosovellus tehtiin vapaalla LAMP (Linux, Apache, MySQL and PHP) -alustalla. Työssä on arvioitu Ajax-tekniikan käyttökelpoisuutta ja ongelmia nykyisen webin, web-kehittäjien, käytössä olevien selainten ja käyttäjien kannalta. Lopussa on myös pohdittu hieman webin tulevaisuutta ja Ajaxin osaa siinä.
Resumo:
Käyttöliittymä on rajapinta käyttäjän ja järjestelmän tarjoamien toimintojen välillä ja sen toimivuus vaikuttaa toimintojen suorittamiseen joko positiivisesti tai negatiivisesti. Täten sovelluksen suunnitteluvaiheessa on hyvä arvioida käyttöliittymän ja sen toimintojen laatua ja kokeilla ideoiden toimivuutta rakentamalla asiasta prototyyppejä. Prototypoinnilla voidaan tunnistaa ja korjata mahdolliset ongelmat jo suunnittelupöydällä. Tämä diplomityö käsittelee Web-sovelluksen kehityksen aikana toteutettua käyttöliittymän ja sen toimintojen prototypointia. Käyttöliittymien mallintamista voidaan toteuttaa erilaisilla menetelmillä, joita työssä käydään läpi teknologisista näkökulmista eli miten prototypointimenetelmiä voidaan soveltaa projektin eri vaiheissa. Prototypoinnin apuna käytettäviin työkaluihin luodaan lyhyt katsaus esitellen yleisellä tasolla muutamia eri sovelluskategorian ohjelmistoja ja lisäksi käsitellään suunnittelumallien hyödyntämistä. Työ osoittaa, että yleisiä prototypointimenetelmiä ja -periaatteita voidaan soveltaa Web-sovellusten prototypoinnissa. Prototypointi on hyödyllistä aloittaa luonnostelemalla ja jatkaa aikaisessa vaiheessa HTML-malleihin, joilla päästään lähelle toteutuksen teknologioita ja mallintamaan sovelluksen luonnetta, ilmettä, tuntumaa ja vuorovaikutusta. HTML-prototyypeistä voidaan jalostaa sekoitetun tarkkuuden malleja ja ne toimivat toteutuksen perustana. Jatkokehityksessä ideoita voidaan esittää useilla eri tarkkuuden tekniikoilla.
Resumo:
Research focus of this thesis is to explore options for building systems for business critical web applications. Business criticality here includes requirements for data protection and system availability. The focus is on open source software. Goals are to identify robust technologies and engineering practices to implement such systems. Research methods include experiments made with sample systems built around chosen software packages that represent certain technologies. The main research focused on finding a good method for database data replication, a key functionality for high-availability, database-driven web applications. Research included also finding engineering best practices from books written by administrators of high traffic web applications. Experiment with database replication showed, that block level synchronous replication offered by DRBD replication software offered considerably more robust data protection and high-availability functionality compared to leading open source database product MySQL, and its built-in asynchronous replication. For master-master database setups, block level replication is more recommended way to build high-availability into the system. Based on thesis research, building high-availability web applications is possible using a combination of open source software and engineering best practices for data protection, availability planning and scaling.
Resumo:
Työssä tutkitaan eri tekniikoita, joilla web-käyttöliittymä voidaan toteuttaa. Tutkituista tekniikoista valitaan työn tavoitteisiin ja rajoitteisiin parhaiten soveltuvat tekniikat, joita käytetään hyväksi luotaessa varsinainen käyttöliittymäkerros olemassa olevalle web-sovellukselle. Varsinaiset käyttöliittymät luodaan automaattisesti työn aikana toteutettavalla käyttöliittymägeneraattorilla, joka käyttää hyväkseen käyttöliittymiä kuvaavia XML-kuvaustiedostoja. Tekniikoista parhaiten tarpeisiimme soveltui AJAX-lähestymistapa, joka mahdollistaa sivun osittaisen päivittämisen ja täten työpöytäsovellusmaisemman käytettävyyden nopeamman sivun päivityksen vuoksi. Käyttöliittymägeneraattorin käyttämät kuvaustiedostot puolestaan mahdollistavat käyttöliittymäkontrollien valmiin mallintamisen yleisessä kontrollikuvaustiedostossa sekä niiden helpon muokkaamisen ja sijoittelun sivu-kohtaisesti. Lisäksi käyttöliittymäkerros sisältää monipuoliset käyttöliittymäkontrollit.
Resumo:
Tämän kandidaatintyön aiheena on web-sovelluksen käyttäjäautomaatio web-makrojen avulla. Työssä esitellään prototyyppitoteutus SaaS-sovellukseen kohdistetusta web-makrojärjestelmästä. Työn teoriaosa esittelee web-automaation ja web-ympäristön keskeisen teknologian. Ratkaisuosa pohjustaa ratkaisuun käytetyn lähestymistavan, esittelee työn prototyyppiratkaisun ja arvioi ratkaisun lopputulosta. Lopputuloksena havaitaan, että prototyyppiratkaisu onnistuu selvittämään makrotoiminnallisuuden toteuttamiseen liittyvät tekniset haasteet. Ratkaisun merkittävimmäksi tekniseksi haasteeksi arvioidaan selainyhteensopivuuden saavutus ja ylläpito. Ratkaisun hyödynnettävyys koko web-sovelluksen mittakaavassa todetaan kuitenkin heikoksi, koska sovelluksen liiketoimintalogiikka rajoittaa makroparadigman käyttöä.
Resumo:
IT-järjestelmillä on tärkeä rooli organisaation liiketoiminnassa. Koska organisaation liiketoimintavaatimukset ja strategia muuttuvat ympäröivän maailman mukaan, täytyy järjestelmän arkkitehtuurin sopeutua vallitsevaan tilanteeseen sekä mahdollisiin muutoksiin lyhyellä ja pitkällä aikavälillä. Modernin web-sovelluksen arkkitehtuuri sopeutuu organisaation liiketoiminnan haasteisiin. Erityisesti hallinnolliseksi ongelmaksi organisaatiossa muodostuvat Windows-sovellukset, koska niiden ylläpito sitoo henkilöresursseja ja niiden käyttökonteksti on rajallinen. Tästä syystä organisaatiot ovat käyneet etsimään ratkaisuja kuinka korvata Windows-sovellukset web-sovelluksilla. Kustannustehokas ratkaisu on modernisoida Windows-sovelluksen käyttöliittymä web-sovellukseksi. Tämän diplomityön tavoitteena oli laatia Logica Suomi Oy yritykselle viitearkkitehtuuri Win-dows-sovelluksen käyttöliittymän modernisoimiseksi web-sovellukseksi. Työ suoritettiin Proof of Concept projektissa, jossa modernisointiin Logican pääkäyttäjäsovellus. Työn tarkoituksena oli tunnistaa laajalti käytetyt arkkitehtuurimallit ja menetelmät jotka mahdollistavat modernisoinnin toteutuksen. Lisäksi tarkoitus oli tunnistaa menetelmät ja ohjelmistot jotka mahdollistavat kustannustehokkaan ja laadukkaan web-sovelluksen kehittämisen ja toteuttamisen. Työn osatavoitteena oli laatia modernisoitavan pääkäyttäjäsovelluksen kokonaisarkkitehtuuri. Työn tuloksena saatiin viitearkkitehtuuri jota voidaan käyttää ja hyödyntää ohjelmistokehitysprojekteissa, asiakkaan dokumentaatiossa, myynnissä ja markkinoinnissa. Viitearkkitehtuurissa on esitelty modernit web-teknologiat joilla on mahdollista toteuttaa web-sovellus jonka käyttökokemus vastaa Windows-sovellusta. Lisäksi tuloksena saatiin pääkäyttäjäsovelluksen kokonaisarkkitehtuuri, jonka tärkeimpiä tuloksia ovat modernisoinnin tavoitetila ja sovellusarkkitehtuuri. Tärkeimpiä jatkotoimenpiteitä ovat viitearkkitehtuuriin pohjautuvan modernisointiviitekehyksen laadinta sekä modernisointiprojektin arviointiin käytettävien mittareiden määrittely, suunnittelu ja toteutus. Relevanttien mittareiden avulla voidaan todeta, vastaako modernisoitu sovellus organisaation liiketoimintavaatimuksia ja strategiaa.
Resumo:
Työssä tutkikaan, miten web-teknologiat soveltuvat usean monitorin sovelluksiin web-ympäristössä, ja todeta tähän liittyvät ongelmat sekä niiden mahdolliset ratkaisut teknisellä tasolla. Tutkituista teknologioista valitaan parhaiten soveltuva ratkaisu ja sen avulla luodaan usean monitorin sovellus, jonka avulla pureudutaan teknillisiin mahdollisuuksiin ja rajoitteisiin. Työn tuloksena nähdään, että usean monitorin web-sovellukset sisältävät monia ohjelmistoteknillisiä ongelmia ja ne sopivat lähinnä järjestelmiin, joiden ympäristö, esimerkiksi käyttöjärjestelmä tai selain, tiedetään. Tällöin voidaan turvautua käyttökokemusta parantaviin selaimen laajennuksiin tai ulkopuolisiin liitännäisiin, jotka toimivat kyseisessä ympäristössä.
Resumo:
Skaalautuvien web-sivujen merkitys kasvaa nykypäivänä, koska web-sivuja katsotaan hyvin erikokoisilla ja -resoluutiosilla laitteilla. Sivujen skaalautuessa eri laitteille ei tarvitse erikseen tehdä mobiilisivuja tai perinteistä natiivia ohjelmistoa joka laitteelle, vaan yksi sivu toimii kaikilla laitteilla. Ongelmana on saada web-sovellukset toimimaan eri laitteilla, koska laitteiden selaimissa saattaa olla pieni eroja, joiden vuoksi on työlästä saada skaalautuva käyttöliittymä toimimaan kaikilla eri laitteilla. Skaalautuvien sivujen kehittämisen avuksi on luotu erilaisia käyttöliittymä- ja grafiikkakirjastoja, jotka auttavat sivun skaalautuvuuden toteuttamisessa. Kirjastoja käyttämällä säästetään kehitystyöhön käytettävää aikaa ja ulkoistetaan kirjaston ylläpito kolmannelle osapuolelle. Tällöin jää enemmän aikaa varsinaisten sovelluksen kehitystyölle. Tässä työssä tutkitaan eri käyttöliittymä- ja grafiikkakirjastovaihtoehtoja käyttöliittymän toteuttamiseksi. Työssä toteutetaan yksinkertainen verkkoseurantajärjestelmän prototyyppi ja valitaan sille skaalautuva käyttöliittymä- ja grafiikkakirjasto. Järjestelmä koostuu kolmesta osasta: käyttöliittymästä, palvelusta ja tietolähteistä, joista palvelu kerää tietoa käyttöliittymälle näytettäväksi.
Resumo:
With the growth in new technologies, using online tools have become an everyday lifestyle. It has a greater impact on researchers as the data obtained from various experiments needs to be analyzed and knowledge of programming has become mandatory even for pure biologists. Hence, VTT came up with a new tool, R Executables (REX) which is a web application designed to provide a graphical interface for biological data functions like Image analysis, Gene expression data analysis, plotting, disease and control studies etc., which employs R functions to provide results. REX provides a user interactive application for the biologists to directly enter the values and run the required analysis with a single click. The program processes the given data in the background and prints results rapidly. Due to growth of data and load on server, the interface has gained problems concerning time consumption, poor GUI, data storage issues, security, minimal user interactive experience and crashes with large amount of data. This thesis handles the methods by which these problems were resolved and made REX a better application for the future. The old REX was developed using Python Django and now, a new programming language, Vaadin has been implemented. Vaadin is a Java framework for developing web applications and the programming language is extremely similar to Java with new rich components. Vaadin provides better security, better speed, good and interactive interface. In this thesis, subset functionalities of REX was selected which includes IST bulk plotting and image segmentation and implemented those using Vaadin. A code of 662 lines was programmed by me which included Vaadin as the front-end handler while R language was used for back-end data retrieval, computing and plotting. The application is optimized to allow further functionalities to be migrated with ease from old REX. Future development is focused on including Hight throughput screening functions along with gene expression database handling
Resumo:
Web 2.0 viittaa toisen polven rikkaisiin verkkosovelluksiin, jotka lähestyvät käytettävyydeltään työpöydän ohjelmia. AJAX (Asyncrhonous JavaScript and XML) on ryhmä tekniikoita, joilla rakennetaan rikkaita verkkosovelluksia. AJAX on saanut valtavasti huomiota mullistavien ominaisuuksiensa ansiosta ja se on syrjäyttämässä tuttuja malleja verkkoympäristössä. Kaikki puhuvat AJAXista, mutta harva todella tietää mistä on kyse. Tämän opinnäytteen tavoitteena on selvittää mistä AJAXissa oikein on kyse, miten se on mullistanut verkkosovelluksia ja mihin suuntaan se on menossa tulevaisuudessa. Tutkimuksen kohteena olivat myös AJAXin kilpailijat, joita verrattiin tähän teoreettisella tasolla. Alan kirjallisuuteen nojautuvassa teknisessä selvityksessä esiteltiin AJAX-tekniikat ja niiden toimintatavat AJAX-sovelluksissa. Median esille tuomien AJAXin uraauurtavien hyvien ominaisuuksien lisäksi käytiin tutkimuksessa läpi kriittisesti myös sen heikkoja puolia. SWOT-analyysissä selvisi, että AJAXin vahvuuksia ovat nopeus ja asynkronisuus ja heikkouksista suurimpia olivat tietoturva-aukot ja navigointimallin muutoksen mukanaan tuomat ongelmat. Analyysin tuloksena AJAXin mahdollisuuksiksi nähtiin laajempi levinneisyys ja kehittyminen sekä näiden mukanaan tuomat hyödyt. Uhkina nähtiin kilpailijat ja AJAXin suosion lasku. Tuloksissa selvisi myös, että kilpailijat esiintyvät kuitenkin AJAXin kanssa yhteiskäytössä, minkä vuoksi niiden vertailu kilpailijoina on hankalaa. Kilpailu on tärkeää, sillä se lisää tekniikoiden kehittymistä ja standardien muodostumista ja johtaa entistä parempiin rikkaisiin verkkosovelluksiin. Heikkouksistaan huolimatta AJAX on käyttöominaisuuksiltaan varteenotettava malli ja säilyttää varmasti paikkansa muiden WWW-sovellustekniikoiden joukossa.
Resumo:
World Wide Webin suosiolla on ollut merkittävä vaikutus yhteiskuntaan. WWW-sivut ovat helposti saatavilla ja sisällön tekeminen WWW:hen on helppoa. WWW-ympäristölle myös kehitetään paljon sovelluksia. WWW-sovellusten kehittämiselle ominaista on valinnanvapaus ja nopeuden tavoittelu. WWW-sovellusten ohjelmoinnin mahdollistavat useat toisilleen vaihtoehtoiset tekniikat. Ne eroavat toisistaan suoritusnopeudessa, ominaisuuksien määrässä ja joustavuudessa. Ohjelmoinnissa käytetään apuna useita erilaisia menetelmiä. Apumenetelmiä ovat muun muassa työkalut ja valmiiden komponenttien hyödyntäminen. Valmiit komponentit voivat olla joko ilmaisia, avointa lähdekoodia tai maksullisia. Tämän kandidaatintyön aikana valmistui sovellus, joka piirtää tilastotiedoista kaaviokuvia ja näyttää niitä dynaamisella WWW-sivulla. Sovellus pyrittiin toteuttamaan älykkäästi apumenetelmiä sopivasti hyödyntäen. Sovelluksen kehittämisessä käytettiin apuna sekä ohjelmointityökaluja että valmiita komponentteja. Kaaviokuvien tyypin ja ulkoasun haluttiin olevan käyttäjien muokattavissa. Toisaalta sovelluksen haluttiin olevan helposti laajennettavissa. Vaatimuksiin vastattiin tekemällä kaaviokuvien piirrosta osittain tietokannalla ohjelmoitava.