991 resultados para Java programming language
Resumo:
El projecte pretén definir i crear un conjunt d'utilitats i pautes de programació que permetin al programador implementar aplicacions J2EE seguint el patró de disseny MVC.
Resumo:
El treball que a continuació es presenta consisteix en l'anàlisi, el disseny i la implementació d'una aplicació web que permeti, principalment, la consulta de preus dels combustibles de les benzineres estatals. La plataforma tecnològica escollida ha estat J2EE ja que aquesta tecnologia, basada principalment en el llenguatge Java, permet programar i executar aplicacions en un servidor d'una forma econòmica i alhora professional. L'aplicació segueix principalment el patró arquitectònic MVC (Model Vista Controlador), utilitzant com a marc de treball Struts2 i per a la persistència de dades Hibernate juntament amb el patró DAO.
Resumo:
En aquest projecte es vol implementar una llibreria en Java, que proporcioni leseines necessàries per a crear diagrames i esquemes. Es vol proporcionar a la llibreria unconjunt d’objectes bàsics, també mètodes i funcionalitats suficients per a gestionaraquests objectes. Per altra part, es vol implementar una aplicació per a dissenyar diagrames Entitat-Relació que utilitzi aquesta llibreria
Resumo:
This paper presents a programming environment for supporting learning in STEM, particularly mobile robotic learning. It was designed to maintain progressive learning for people with and without previous knowledge of programming and/or robotics. The environment was multi platform and built with open source tools. Perception, mobility, communication, navigation and collaborative behaviour functionalities can be programmed for different mobile robots. A learner is able to programme robots using different programming languages and editor interfaces: graphic programming interface (basic level), XML-based meta language (intermediate level) or ANSI C language (advanced level). The environment supports programme translation transparently into different languages for learners or explicitly on learners’ demand. Learners can access proposed challenges and learning interfaces by examples. The environment was designed to allow characteristics such as extensibility, adaptive interfaces, persistence and low software/hardware coupling. Functionality tests were performed to prove programming environment specifications. UV BOT mobile robots were used in these tests
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:
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:
Ohjelmistoprojektin läpivienti vaatii suunnittelua ja yhteisiä tapaamisia toimittajan ja asiakkaan kesken. Ohjelmistotuotannon prosessit ovat määrittely, suunnittelu, toteutus, testaus ja käyttöönotto. Tärkeimmät dokumentit ovat projektisuunnitelma, toiminnallinen määrittely ja tekninen määrittely. Ongelmia projektin läpiviennissä voi tulla silloin, jos toimittaja ja asiakas eivät ymmärrä toisiaan. Tässä työssä tehdään SMSviestejä käsittelevä mobiilisovellus ja siihen liittyvät projektisuunnitelma sekä määrittelydokumentit. Mobiilisovellus ohjelmoidaan J2ME:llä, joka on sulautettujen järjestelmien ohjelmointiin suunniteltu Java-kieli. Sovellus tukee toisen asteen opiskelijoille suunnattuja mobiiliohjelmointi opintoja. Opintojakso kuuluu Pohjois- Karjalan ammattiopiston järjestämään turvallisuusalan koulutukseen. Sovelluksella voidaan lähettää ohjausviestejä OUMAN EH-60 -ohjaus- ja valvontayksikköön. Yksikön avulla voi ohjata ja valvoa esimerkiksi kiinteistön lämmönsäätöä, vesivahinkoja, oven lukitusta jne. Tässä työssä tehtävällä sovelluksella demonstroidaan kesämökin ohjausta. Langaton tiedonsiirto tulee tulevaisuudessa lisääntymään kiinteistöjen ohjaus- ja valvontajärjestelmänä. Hätä- ja valvontaviestit lähetetään automaattisesti kiinteistön omistajalle, hoivapalveluyrittäjälle, talohuoltoon tai hätäkeskukseen. Kiinteistön omistaja voi omalla matkapuhelimellaan ajasta ja paikasta riippumattavalvoa ja ohjata kiinteistöään reaaliaikaisesti. Pohjois-Karjalan ammattiopisto haluaa olla kehittämässä ja toteuttamassa turvallisuusalan koulutusta nyt ja tulevaisuudessa.
Resumo:
Bluetooth™ Teknologia - Bluetooth Wireless Technology - on lyhyen kantaman langaton kommunikointiteknologia. Vaikka se onkin ensisijaisesti suunniteltu kaapelin korvaajaksi laitteiden omaan toimintaan liittyvässä liikenteessä, voidaan sitä myös käyttää alustana monen käyttäjien peleissä ja muissa vastaavissa sovelluksissa. Tassa diplomityössä esitellään Bluetooth teknologia sovellusohjelmoijan näkökulmasta. Työssä esitellään teollisuuskonsortion määrittelemä Java-ohjelmointirajapinta Bluetooth teknologiaan. Tämän rajapinnan avulla voidaan kehittää kannettavia sovelluksia jotka kommunikoivat Bluetooth yhteyden yli. Rajapinta pohjautuu "Java™ 2 Microedition" alustaan ja on siten toteutettavissa myös pienissä laitteissa kuten matkapuhelimissa. Työssä esitellään lyhyesti rajapinnan keskeiset osat sekä annetaan esimerkki rajapinnan käytöstä. Työn konstruktiivisessa osassa rajapinnan keskeiset on toteutettu kahdelle eri alustalle: Sambian™ ja Microsoft® Windows® käyttöjärjestelmille. Talla tavalla on saatu arvokasta tietoa siitä, miten kyseinen rajapinta tulisi toteuttaa ja myös siitä miten sovellukset sitä käyttäisivät. Keskeiset suunnitteluratkaisut ja saadut kokemukset on raportoitu työn kirjallisessa osassa. Vaikka työn konstruktiivinen osuus onkin luonteeltaan esitutkimus eikä tähdännyt tuotteeseen, on tuloksena syntynyttä rajapintaa tarkoitus käyttää useassa Nokian sisäisessä tutkimus-ja kehityshankkeessa.
Resumo:
This thesis evaluates methods for obtaining high performance in applications running on the mobile Java platform. Based on the evaluated methods, an optimization was done to a Java extension API running on top the Symbian operating system. The API provides location-based services for mobile Java applications. As a part of this thesis, the JNI implementation in Symbian OS was also benchmarked. A benchmarking tool was implemented in the analysis phase in order to implement extensive performance test set. Based on the benchmark results, it was noted that the landmarks implementation of the API was performing very slowly with large amounts of data. The existing implementation proved to be very inconvenient for optimization because the early implementers did not take performance and design issues into consideration. A completely new architecture was implemented for the API in order to provide scalable landmark initialization and data extraction by using lazy initialization methods. Additionally, runtime memory consumption was also an important part of the optimization. The improvement proved to be very efficient based on the measurements after the optimization. Most of the common API use cases performed extremely well compared to the old implementation. Performance optimization is an important quality attribute of any piece of software especially in embedded mobile devices. Typically, projects get into trouble with performance because there are no clear performance targets and knowledge how to achieve them. Well-known guidelines and performance models help to achieve good overall performance in Java applications and programming interfaces.
Resumo:
Testauksesta on tullut oleellinen, yhä tärkeämpi sovelluskehitysprojektien osa. Sovelluksilta vaaditaan luotettavuutta kaikilla niiden toiminnan osa-alueilla. Suorituskykyyn liittyvät asiat ovat keskeinen osa näitä vaatimuksia erityisesti, kun kyse on Internetissä toimivista www-sovelluksista. Aluksi työssä esitellään erilaisia sovellusten testausmenetelmiä. Siinä kerrotaan yleisimmistä menetelmistä, joiden avulla pyritään sovelluksista löytämään vääränlaiset toimintatavat suhteessa niiden määriteltyihin toimintatapoihin. Testauksen tulosten avulla pystytään keskittymään oikeisiin kohtiin sovellusten toiminnan korjaamisessa. Työssä analysoidaan www-sovellusten rakennetta yleisen kerrosarkkitehtuurin eri kerrosten ominaisuuksia ja niihin sisältyviä keskeisimpiä sovellusten suorituskykyyn vaikuttavia tekijöitä kuvaillen. Näiden, www-sovellusten eri osien suorituskykyyn vaikuttavien ominaisuuksien perusteella esitellään esimerkkejä, kuinka Java-kieleen perustuvien www-sovellusten suorituskykyä voidaan parantaa. Lisäksi työssä kuvataan, kuinka erityisesti ilmaisella Apache JMeter-sovelluksella voidaan Java-kieleen perustuvien www-sovellusten suorituskykyä mitata. Työn tuloksena esitellään lopuksi suorituskyvyn testaus- ja parannusprosessi. Sen tarkoitus on selkeyttää erityisesti Java-kieleen perustuvien www-sovellusten suorituskyvyn testauksessa ja parannuksessa huomioon otettavia asioita.
Resumo:
This paper presents the development of a two-dimensional interactive software environment for structural analysis and optimization based on object-oriented programming using the C++ language. The main feature of the software is the effective integration of several computational tools into graphical user interfaces implemented in the Windows-98 and Windows-NT operating systems. The interfaces simplify data specification in the simulation and optimization of two-dimensional linear elastic problems. NURBS have been used in the software modules to represent geometric and graphical data. Extensions to the analysis of three-dimensional problems have been implemented and are also discussed in this paper.
Resumo:
This thesis focuses on developing an evolutionary art system using genetic programming. The main goal is to produce new forms of evolutionary art that filter existing images into new non-photorealistic (NPR) styles, by obtaining images that look like traditional media such as watercolor or pencil, as well as brand new effects. The approach permits GP to generate creative forms of NPR results. The GP language is extended with different techniques and methods inspired from NPR research such as colour mixing expressions, image processing filters and painting algorithm. Colour mixing is a major new contribution, as it enables many familiar and innovative NPR effects to arise. Another major innovation is that many GP functions process the canvas (rendered image), while is dynamically changing. Automatic fitness scoring uses aesthetic evaluation models and statistical analysis, and multi-objective fitness evaluation is used. Results showed a variety of NPR effects, as well as new, creative possibilities.
Resumo:
Genetic Programming (GP) is a widely used methodology for solving various computational problems. GP's problem solving ability is usually hindered by its long execution times. In this thesis, GP is applied toward real-time computer vision. In particular, object classification and tracking using a parallel GP system is discussed. First, a study of suitable GP languages for object classification is presented. Two main GP approaches for visual pattern classification, namely the block-classifiers and the pixel-classifiers, were studied. Results showed that the pixel-classifiers generally performed better. Using these results, a suitable language was selected for the real-time implementation. Synthetic video data was used in the experiments. The goal of the experiments was to evolve a unique classifier for each texture pattern that existed in the video. The experiments revealed that the system was capable of correctly tracking the textures in the video. The performance of the system was on-par with real-time requirements.
Resumo:
Traditionnellement, les applications orientées objets légataires intègrent différents aspects fonctionnels. Ces aspects peuvent être dispersés partout dans le code. Il existe différents types d’aspects : • des aspects qui représentent des fonctionnalités métiers ; • des aspects qui répondent à des exigences non fonctionnelles ou à d’autres considérations de conception comme la robustesse, la distribution, la sécurité, etc. Généralement, le code qui représente ces aspects chevauche plusieurs hiérarchies de classes. Plusieurs chercheurs se sont intéressés à la problématique de la modularisation de ces aspects dans le code : programmation orientée sujets, programmation orientée aspects et programmation orientée vues. Toutes ces méthodes proposent des techniques et des outils pour concevoir des applications orientées objets sous forme de composition de fragments de code qui répondent à différents aspects. La séparation des aspects dans le code a des avantages au niveau de la réutilisation et de la maintenance. Ainsi, il est important d’identifier et de localiser ces aspects dans du code légataire orienté objets. Nous nous intéressons particulièrement aux aspects fonctionnels. En supposant que le code qui répond à un aspect fonctionnel ou fonctionnalité exhibe une certaine cohésion fonctionnelle (dépendances entre les éléments), nous proposons d’identifier de telles fonctionnalités à partir du code. L’idée est d’identifier, en l’absence des paradigmes de la programmation par aspects, les techniques qui permettent l’implémentation des différents aspects fonctionnels dans un code objet. Notre approche consiste à : • identifier les techniques utilisées par les développeurs pour intégrer une fonctionnalité en l’absence des techniques orientées aspects • caractériser l’empreinte de ces techniques sur le code • et développer des outils pour identifier ces empreintes. Ainsi, nous présentons deux approches pour l’identification des fonctionnalités existantes dans du code orienté objets. La première identifie différents patrons de conception qui permettent l’intégration de ces fonctionnalités dans le code. La deuxième utilise l’analyse formelle de concepts pour identifier les fonctionnalités récurrentes dans le code. Nous expérimentons nos deux approches sur des systèmes libres orientés objets pour identifier les différentes fonctionnalités dans le code. Les résultats obtenus montrent l’efficacité de nos approches pour identifier les différentes fonctionnalités dans du code légataire orienté objets et permettent de suggérer des cas de refactorisation.
Resumo:
Les structures avec des lieurs sont très communes en informatique. Les langages de programmation et les systèmes logiques sont des exemples de structures avec des lieurs. La manipulation de lieurs est délicate, de sorte que l’écriture de programmes qui ma- nipulent ces structures tirerait profit d’un soutien spécifique pour les lieurs. L’environ- nement de programmation Beluga est un exemple d’un tel système. Nous développons et présentons ici un compilateur pour ce système. Parmi les programmes pour lesquels Beluga est spécialement bien adapté, plusieurs peuvent bénéficier d’un compilateur. Par exemple, les programmes pour valider les types (les "type-checkers"), les compilateurs et les interpréteurs tirent profit du soutien spécifique des lieurs et des types dépendants présents dans le langage. Ils nécessitent tous également une exécution efficace, que l’on propose d’obtenir par le biais d’un compilateur. Le but de ce travail est de présenter un nouveau compilateur pour Beluga, qui emploie une représentation interne polyvalente et permet de partager du code entre plusieurs back-ends. Une contribution notable est la compilation du filtrage de Beluga, qui est particulièrement puissante dans ce langage.