36 resultados para Object-oriented methods
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
The state of the object-oriented programming course in Lappeenranta University of Technology had reached the point, where it required changes to provide better learning opportunities and thus the learning outcomes. Based on the student feedback the course was partially dated and ineffective. The components of the course were analysed and the ineffective elements were removed and new methods were introduced to improve the course. The major changes included the change from traditional teaching methods to reverse classroom method and the use of Java as the programming language. The changes were measured by the student feedback, lecturer’s observations and comparison to previous years. The feedback suggested that the changes were successful; the course received higher overall grade than before.
Resumo:
Tässä työssä on esitetty sen ohjelmiston kehittämisen prosessi, joka on tarkoitettu annettavien palveluiden valvottavaksi käyttäen prototyyppimallia. Raportti sisältää vaatimusten, kohteisiin suunnatun analyysin ja suunnittelun, realisointiprosessien kuvauksen ja prototyypin testauksen. Ohjelmiston käyttöala – antavien palveluiden valvonta. Vaatimukset sovellukselle analysoitiin ohjelmistomarkkinoiden perusteella sekä ohjelmiston engineeringin periaatteiden mukaisesti. Ohjelmiston prototyyppi on realisoitu käyttäen asiakas-/palvelinhybridimallia sekä ralaatiokantaa. Kehitetty ohjelmisto on tarkoitettu venäläisille tietokonekerhoille, jotka erikoistuvat pelipalvelinten antamiseen.
Resumo:
Tämä diplomityökuuluu tietoliikenneverkkojen suunnittelun tutkimukseen ja pohjimmiltaan kohdistuu verkon mallintamiseen. Tietoliikenneverkkojen suunnittelu on monimutkainen ja vaativa ongelma, joka sisältää mutkikkaita ja aikaa vieviä tehtäviä. Tämä diplomityö esittelee ”monikerroksisen verkkomallin”, jonka tarkoitus on auttaa verkon suunnittelijoita selviytymään ongelmien monimutkaisuudesta ja vähentää verkkojen suunnitteluun kuluvaa aikaa. Monikerroksinen verkkomalli perustuu yleisille objekteille, jotka ovat yhteisiä kaikille tietoliikenneverkoille. Tämä tekee mallista soveltuvan mielivaltaisille verkoille, välittämättä verkkokohtaisista ominaisuuksista tai verkon toteutuksessa käytetyistä teknologioista. Malli määrittelee tarkan terminologian ja käyttää kolmea käsitettä: verkon jakaminen tasoihin (plane separation), kerrosten muodostaminen (layering) ja osittaminen (partitioning). Nämä käsitteet kuvataan yksityiskohtaisesti tässä työssä. Monikerroksisen verkkomallin sisäinen rakenne ja toiminnallisuus ovat määritelty käyttäen Unified Modelling Language (UML) -notaatiota. Tämä työ esittelee mallin use case- , paketti- ja luokkakaaviot. Diplomityö esittelee myös tulokset, jotka on saatu vertailemalla monikerroksista verkkomallia muihin verkkomalleihin. Tulokset osoittavat, että monikerroksisella verkkomallilla on etuja muihin malleihin verrattuna.
Resumo:
Object-oriented programming is a widely adopted paradigm for desktop software development. This paradigm partitions software into separate entities, objects, which consist of data and related procedures used to modify and inspect it. The paradigm has evolved during the last few decades to emphasize decoupling between object implementations, via means such as explicit interface inheritance and event-based implicit invocation. Inter-process communication (IPC) technologies allow applications to interact with each other. This enables making software distributed across multiple processes, resulting in a modular architecture with benefits in resource sharing, robustness, code reuse and security. The support for object-oriented programming concepts varies between IPC systems. This thesis is focused on the D-Bus system, which has recently gained a lot of users, but is still scantily researched. D-Bus has support for asynchronous remote procedure calls with return values and a content-based publish/subscribe event delivery mechanism. In this thesis, several patterns for method invocation in D-Bus and similar systems are compared. The patterns that simulate synchronous local calls are shown to be dangerous. Later, we present a state-caching proxy construct, which avoids the complexity of properly asynchronous calls for object inspection. The proxy and certain supplementary constructs are presented conceptually as generic object-oriented design patterns. The e ect of these patterns on non-functional qualities of software, such as complexity, performance and power consumption, is reasoned about based on the properties of the D-Bus system. The use of the patterns reduces complexity, but maintains the other qualities at a good level. Finally, we present currently existing means of specifying D-Bus object interfaces for the purposes of code and documentation generation. The interface description language used by the Telepathy modular IM/VoIP framework is found to be an useful extension of the basic D-Bus introspection format.
Resumo:
Sähköinen kaupankäynti (electronic commerce, EC) on jatkuvasti ja nopeasti kasvava liiketoiminnan muoto. Suurten yritysten välistä sähköistä kaupankäyntiä, EDI:ä, on harjoitettu jo noin kaksikymmentä vuotta, mutta aivan viime vuosina sähköisen kaupankäynnin suosio on kokenut räjähdysmäisen kasvun sen siirryttyä yhä kevyemmille markkinoille, pienyritysten ja jopa yksityisten kuluttajien käytettäväksi. Perinteisen EDI:n järjestelmät ovat kuitenkin suuria, raskaita ja ne kykenevät huonosti tarjoamaan nykyaikaisen sähköisen kaupankäynnin vaatimia toimintoja. Tässä on tarkoituksena esittää malli uudelle, tehokkaammalle järjestelmälle. Tavoitteena on luotettava, helposti ylläpidettävä ja suorituskyvyltään sekä ominaisuuksiltaan skaalautuva järjestelmä. Koko järjestelmä toteutetaan käyttäen oliokeskeisiä menetelmiä. Järjestelmän perustana käytetään yleistä hajautettua komponentti-arkkitehtuuria. Työn tuloksena esitetään periaatteeltaan toteuttamiskelpoinen malli nykyaikaisesta sähköisen kaupankäynnin järjestelmästä. Malli mahdollistaa tehokkaan toiminnallisuuden hajauttamisen ja tehokkaan, hyvin määritellyn liitynnän eri sovellusjärjestelmien kanssa. Tämä toteutetaan rakentamalla koko järjestelmä CORBA-arkkitehtuurin ympärille.
Resumo:
A modem software development requires quick results and excellent quality, which leads to high demand for reusability in design and implementation of software components. The purpose of this thesis was to design and implement a reusable framework for portal front ends, including common portal features, such as authentication and authorization. The aim was also to evaluate frameworks as components of reuse and compare them to other reuse techniques. As the result of this thesis, a goo'd picture of framework's life cycle, problem domain and the actual implementation process of the framework, was obtained. It was also found out that frameworks fit well to solve recurrent and similar problems in a restricted problem domain. The outcome of this thesis was a prototype of a generic framework and an example application built on it. The implemented framework offered an abstract base for the portal front ends, using object-oriented methods and wellknown design patterns. The example application demonstrated the speed and ease of the application development based on the application frameworks.
Resumo:
The nature of client-server architecture implies that some modules are delivered to customers. These publicly distributed commercial software components are under risk, because users (and simultaneously potential malefactors) have physical access to some components of the distributed system. The problem becomes even worse if interpreted programming languages are used for creation of client side modules. The language Java, which was designed to be compiled into platform independent byte-code is not an exception and runs the additional risk. Along with advantages like verifying the code before execution (to ensure that program does not produce some illegal operations)Java has some disadvantages. On a stage of byte-code a java program still contains comments, line numbers and some other instructions, which can be used for reverse-engineering. This Master's thesis focuses on protection of Java code based client-server applications. I present a mixture of methods to protect software from tortious acts. Then I shall realize all the theoretical assumptions in a practice and examine their efficiency in examples of Java code. One of the criteria's to evaluate the system is that my product is used for specialized area of interactive television.
Resumo:
Lappeenrannan teknillinen yliopiston Tietotekniikan osaston Tietojenkäsittelytieteen laitoksen tutkimuskäytössä olevaan liikkuvaan robottiin toteutettiin tässä työssä graafinen kaukokäyttöliittymä. Työlle on motivaationa laajennettavuus, jota olemassaoleva suljetun lähdekoodin käyttöliittymä ei pysty tarjoamaan. Työssä olennaisin on olio-ohjelmointitekniikalla toteutettu robotin datamallin, ja sen graafisen esityksen arkkitehtuurillinen erottaminen. Lisäksi tarkastellaan lyhyesti liikkuvien robottien kaukokäyttöliittymien teoriaa, ja WLAN-tekniikan soveltuvuutta robotin ja käyttöliittymän välisen yhteyden toteuttamiseen.
Resumo:
Ohjelmistojen uudelleenkäyttö on hyvin tärkeä käsite ohjelmistotekniikan alueella.Ohjelmistojen uudelleenkäyttötekniikat parantavat ohjelmistokehitysprosessin laatua. Yleisiä ratkaisuja sekä ohjelmiston suunnittelun että arkkitehtuurin uudelleenkäyttöön ovat olio-ohjelmointi ja sovelluskehykset. Tähän asti ei ole ollut olemassa yleisiä tapoja sovelluskehysten erikoistamiseen. Monet nykyääntunnetuista sovelluskehyksistä ovat hyvin suuria ja mutkikkaita. Tällaisten sovelluskehyksien käyttö on monimutkaista myös kokeneille ohjelmoijille. Hyvin dokumentoidut uudelleenkäytettävät sovelluskehyksen rajapinnat parantavat kehyksen käytettävyyttä ja tehostavat myös erikoistamisprosessiakin sovelluskehyksen käyttäjille. Sovelluskehyseditori (framework editor, JavaFrames) on prototyyppityökalu, jota voidaan käyttää yksinkertaistamaan sovelluskehyksen käyttöä. Perusajatus JavaFrames lähestymistavassa ovat erikoistamismallit, joita käytetään kuvamaan sovelluskehyksen uudelleenkäytettäviä rajapintoja. Näihin malleihin perustuen JavaFrames tarjoaa automaattisen lähdekoodi generaattorin, dokumentoinninja arkkitehtuurisääntöjen tarkistuksen. Tämä opinnäyte koskee graafisen mallieditorin kehittämistä JavaFrames ympäristöön. Työssä on laadittu työkalu,jonka avulla voidaan esittää graafisesti erikoistamismalli. Editori sallii uusien mallien luomisen, vanhojen käyttämättä olevien poistamisen, kuten myös yhteyksien lisäämisen mallien välille. Tällainen graafinen tuki JavaFrames ympäristöönvoi huomattavasti yksinkertaistaa sen käyttöä ja tehdä sovellusten kehittämisprosessista joustavamman.
Resumo:
Diplomityön tavoitteena oli tutkia, miten uusi arkkitehtuurialusta soveltuu erään teolli-suusyrityksen tietojärjestelmien kehittämiseen ja sovellusten toteuttamiseen. Työssä keskeisin käsite oli ohjelmistoarkkitehtuuri ja siihen liittyvät suunnittelumallit sekä komponentit, jotka hyvin suunniteltuina toimivat perustana nopeammalle sovelluskehi-tykselle. Tutkimusmetodina käytettiin konstruktiivista (suunnittelutieteellistä) tutkimusmetodia. Sen vahvat ominaisuudet tukevat tutkimusaiheen innovatiivisuutta sekä soveltavan tie-teen käyttöä uuden tiedon tuottamiseksi. Heikkoutena voinee pitää tulosten analysoinnin vaikeutta, sillä evaluointi tapahtuu käytännöstä saatujen kokemusten perusteella. Työn tuloksena saatiin lisätietämystä komponenttiensuunnitteluun ja toteutukseen liit-tyvissä kysymyksissä. Lisäksi sovelluspalvelimelle luotiin joukko komponentteja, joita tullaan käyttämään jatkossa tietokantasovelluksissa: uusien komponenttien suunnittelua jatketaan ja järjestelmien suunnittelua muutetaan oliopohjaiseksi.
Resumo:
This thesis is about detection of local image features. The research topic belongs to the wider area of object detection, which is a machine vision and pattern recognition problem where an object must be detected (located) in an image. State-of-the-art object detection methods often divide the problem into separate interest point detection and local image description steps, but in this thesis a different technique is used, leading to higher quality image features which enable more precise localization. Instead of using interest point detection the landmark positions are marked manually. Therefore, the quality of the image features is not limited by the interest point detection phase and the learning of image features is simplified. The approach combines both interest point detection and local description into one phase for detection. Computational efficiency of the descriptor is therefore important, leaving out many of the commonly used descriptors as unsuitably heavy. Multiresolution Gabor features has been the main descriptor in this thesis and improving their efficiency is a significant part. Actual image features are formed from descriptors by using a classifierwhich can then recognize similar looking patches in new images. The main classifier is based on Gaussian mixture models. Classifiers are used in one-class classifier configuration where there are only positive training samples without explicit background class. The local image feature detection method has been tested with two freely available face detection databases and a proprietary license plate database. The localization performance was very good in these experiments. Other applications applying the same under-lying techniques are also presented, including object categorization and fault detection.
Resumo:
Työssä käsitellään selainkäyttöliittymää käyttävien oliopohjaisten tietokantasovellusten toteuttamista. Erityisesti keskitytään olio- ja relaatiomallien yhteensovittamiseen ja oliopohjaisten selainkäyttöliittymien toteutukseen Java-servlettien ja JSP-sivujen avulla. Myös hajautetut sovellusarkkitehtuurit käydään läpi ja niiden toteuttamista arvioidaan servlet-sovellusten näkökulmasta. Työssä on toteutettu selainkäyttöliittymän avulla hallittava kaksitasoarkkitehtuuria käyttävä oliopohjainen sovellus Ilmatieteen laitoksen tuotantojärjestelmän seurantaan. Sovellus mahdollistaa mm. tuotantoajojen ja laajempien tuotantoketjujen suoritusaikojen tilastollisen seurannan. Työn tuloksena todettiin Java-servlettien ja JSP-sivujen olevan suorituskykyinen ja monipuolinen ratkaisu selainkäyttöliittymien toteuttamiseen. Olio- ja relaatiomallien väliset erot sekä käyttöliittymän eriyttäminen toimintalogiikasta osoittautuivat ongelmakohdiksi.
Resumo:
Oliopohjainen lähestymistapa on varsin uusi toimintaperiaate käytännön ohjelmistotuotantoprosesseissa. Oliopohjaisuus mahdollistaa nopean ja tehokkaan ohjelmistotuotannon sekä tuottaa uudelleenkäytettäviä luokkia. Tässä työssä tutkitaan oliopohjaisen mallinnuksen käyttömahdollisuuksia erään ohjelmistotuotteen kehityksessä ja keskitytään tuotteen määrittely- ja suunnitteluvaiheisiin. Tavoitteena on konkretisoida tarkastelun kohteena olevalle yritykselle oliopohjaisen mallinnuksen käyttötavat ja -mahdollisuudet osana yrityksen ohjelmistotuotantoprosessia. Työssä tarkastellaan yleisiä oliopohjaisen mallinnuksen toimintoja määrittely- ja suunnitteluvaiheissa. Erityisesti tarkastellaan yrityksen omaa ohjelmistotuotantoprosessia, TE Objectia, ja sen yhtymäkohtia yleisen oliopohjaisen mallinnuksen kanssa. Työssä kuvataan ohjelmistotuote, mallinnetaan ohjelmistotuotteen osa TE Objectia hyödyntäen ja pohditaan TE Objectin soveltuvuutta kyseisen tuotteen määrittelyyn ja suunnitteluun. Oliopohjaisen mallinnuksen todetaan sopivan hyvin tarkastellun tuotepohjaisen ohjelmiston kehitykseen. Tarkasteltavan tuotteen kehityksen pääpaino on uudelleenkäytettävyydellä, jota oliopohjainen mallintaminen erityisesti tukee. Kohdeyrityksen oman ohjelmistotuotantoprosessin, TE Objectin, todetaan vastaavan hyvin yleistä oliopohjaista mallinnusta määrittely- ja suunnitteluvaiheissa ja sitä suositellaan hyödynnettävän tarkastellun tuotteen määrittelyyn ja suunnitteluun soveltuvin osin. Työssä mallinnettiin kohdeyrityksen tuotteen osa esimerkinomaisesti, mikä konkretisoi TE Objectin käyttömahdollisuuksia osana yrityksen ohjelmistotuotantoprosessia.
Resumo:
Empower Oy on energia-alan palveluja tarjoava yritys. Energianhallintajärjestelmää käytetään energiatietojen hallintaan ja ylläpitoon sekä tietojen esittämiseen loppukäyttäjille. Palvelun näytöt ja raportit on toteutettu web-pohjaisen käyttöliittymän kautta. Yhtiössä käynnistyi suurprojekti vanhan energianhallintajärjestelmän korvaamiseksi. Vanha järjestelmä otettiin käyttöön vuonna 1995 ja EMS-projekti käynnistettiin vuonna 2001. Diplomityö tehtiin osana EMS-projektia ja työn tavoitteina oli selvittää perusjärjestelmän käyttämän tietokantaratkaisun toimivuutta ja soveltuvuutta tehtävään sekä tutkailla eri tietokantamalleja teoreettisesti. Lisäksi työhön kuului erillisten haku- ja muutoskomponenttien ja rajapintojen toteuttaminen. Näiden avulla voidaan hakea ja muuttaa tietoa perusjärjestelmän pohjalla toimivasta oliorelaatiotietokannasta. Perusjärjestelmän DOR-tietokannaksi (Domain Object Repository) kutsuttu kokonaisuus on olioläheinen tietovarasto, josta tietoa haetaan ilmoittamalla haettavan olion tyyppi ja siihen liitoksissa olevat tyypit. Hakutulokseen mukaan haluttavat ominaisuudet ilmoitetaan kultakin tyypiltä erikseen. Haettaessa ja muutettaessa oliopohjaista DOR-tietoa, tulee noudattaa järjestelmän käyttämiä tietomalleja. Haku- ja muutoskomponentit toteutettiin Microsoftin kehittämällä .NET-teknologialla. Tietokantamallien teoreettinen tarkastelu auttoi ymmärtämään järjestelmän pohjalla toimivaa tietokantaratkaisua. Työssä selvisi, että perusjärjestelmän hyödyntämä oliorelaatiotietokanta soveltuu varsin hyvin tarkoitukseensa. Haku- ja muutoskomponenttien toteutus onnistui ja ne toimivat helppokäyttöisenä rajapintana energianhallintajärjestelmän tietokantaan.
Resumo:
Työssä perehdytään verkkokäyttöliittymien suunnitteluun ja toteutukseen. Erityisen huomion kohteena ovat Java-ohjelmointikieli ja ohjelmistosuunnittelussa suurta huomiota herättäneet suunnittelumallit. Java on kehittynyt lyhyen elinikänsä aikana huomattavasti, ja viimeaikaiset vakioluokkakirjastot ovat mahdollistaneet monipuolisten ja siirrettävien ohjelmistojen toteuttamisen. Vaikka Java ei sovellukaan kaikkiin tarkoituksiin, on se luotettavuutensa, siirrettävyytensä ja luokkakirjastojensa ilmaisuvoiman ansiosta hyvin houkutteleva kieli käyttöliittymien tekemiseen. Suunnittelumallit ovat merkittävä osa ammattimaista oliosuunnittelua. Ne tarjoavat valmiita ratkaisuja yleisiin suunnitteluongelmiin ja säästävät siten aikaa suunnittelu- ja toteutusvaiheissa. Suunnittelumallit voidaan jakaa kolmeen ryhmään: luontimallit, rakennemallit ja toiminnalliset mallit. Käytännön osuudessa tarkastellaan Java-käyttöliittymän toteutusta olemassa olevaan Soneran TradeXpress-tietojärjestelmään. Tässä tehtävässä Java ja suunnittelumallit ovat olleet keskeisellä sijalla. Java-käyttöliittymä, JavaGUI, koostuu kahdesta osasta: asiakasappletista ja Jrls-palvelimesta. Näiden kahden väliseen tiedonsiirtoon käytetään pääasiassa Javan RMI-yhteyskäytäntöä. Jrls-palvelin toimii asiakkaana RLS-palvelimelle erityisen RLS-yhteyskäytännön avulla.