930 resultados para Object-oriented Design
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:
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ö kartoittaa yleisemmin ohjelmistonkehitysprosesseille asetettavia vaatimuksia ja selvittää yksityiskohtaisemmin niiden soveltamista ja vaikutusta uusien ominaisuuksien suunnittelussa Soneran TradeXpress Mapper ohjelmistoon. Kyseinen työkalu mahdollistaa muun muassa EDI-viestien muokkaamisen graafisesti. Työn tuloksena syntyi selvitys ohjelmistonkehitysprosessien perusteista ja niiden soveltamisessa oliopohjaiseen systeemityöhön. Prosessin avulla voitiin ohjelma tehdä tarkemmin asiakkaan vaatimusten mukaiseksi ja uusien ominaisuuksien lisääminen onnistui helposti.
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:
El projecte està basat en la creació d'una aplicació per dispositius mòbils android i que fent servir l'ús del micròfon capturi el so que genera l'usuari i pugui determinar si s'està respirant i en quin punt de la respiració es troba l'usuari. S'ha dut a terme una filosofia de disseny orientada a l'usuari (DCU) de manera que el primer pas ha sigut realitzar un prototip i un 'sketch'. A continuació, s'han realitzat 10 aplicacions test i en cadascuna d'elles s'ha ampliat la funcionalitat fins a arribar a obtenir una aplicació base que s'aproxima al disseny inicial generat per mitjà del prototip. El més important dels dissenys algorísmics que s'han realitzat per la aplicació es la capacitat de processar el senyal en temps real, ja que fins i tot s'ha pogut aplicar la transformada ràpida de Fourier (FFT) en temps real sense que el rendiment de l'aplicació es veies afectat. Això ha sigut possible gràcies al disseny del processament amb doble buffer i amb un fil d'execució dedicat independent del fil principal d'execució del programa 'UI Thread'
Resumo:
We describe a model-based objects recognition system which is part of an image interpretation system intended to assist autonomous vehicles navigation. The system is intended to operate in man-made environments. Behavior-based navigation of autonomous vehicles involves the recognition of navigable areas and the potential obstacles. The recognition system integrates color, shape and texture information together with the location of the vanishing point. The recognition process starts from some prior scene knowledge, that is, a generic model of the expected scene and the potential objects. The recognition system constitutes an approach where different low-level vision techniques extract a multitude of image descriptors which are then analyzed using a rule-based reasoning system to interpret the image content. This system has been implemented using CEES, the C++ embedded expert system shell developed in the Systems Engineering and Automatic Control Laboratory (University of Girona) as a specific rule-based problem solving tool. It has been especially conceived for supporting cooperative expert systems, and uses the object oriented programming paradigm
Resumo:
'Escola a prop' és una aplicació pensada per connectar pares i escola; desenvolupada amb tècniques d'orientació a objectes, ha de facilitar la comunicació entre aquestes dues entitats.
Resumo:
Tässä diplomityössä käsitellään palvelukeskeistä arkkitehtuuria ja sen pohjalta vanhaan järjestelmään rakennetun palvelurajapinnan laajentamista avustavan teknologian avulla. Avustavalla teknologialla automatisoidaan vanhan järjestelmän graafisen ohjelman käyttöliittymän toimintoja verkkopalveluksi. Alussa esitellään palvelukeskeisen arkkitehtuurin määritelmä ja sen mukaisia suunnitteluperiaatteita. Sen jälkeen käydään läpi teoriaa, toteutuksia ja lähestymistapoja vanhojen järjestelmien integroimiseksi osaksi palvelukeskeistä arkkitehtuuria. Microsoft Windows-ympäristön tarjoama tuki avustavalle teknologialle käydään läpi. Palvelurajapinnan laajentamisessa käytettiin mustan laatikon menetelmää, jolla vanhan järjestelmän graafinen ohjelma automatisoidaan avustavan teknologian avulla. Menetelmä osoittautui toimivaksi ja sitä voidaan käyttää vanhojen järjestelmien integroimiseksi osaksi palvelukeskeistä arkkitehtuuria
Resumo:
Monet teollisuuden konenäkö- ja hahmontunnistusongelmat ovat hyvin samantapaisia, jolloin prototyyppisovelluksia suunniteltaessa voitaisiin hyödyntää pitkälti samoja komponentteja. Oliopohjaiset sovelluskehykset tarjoavat erinomaisen tavan nopeuttaa ohjelmistokehitystä uudelleenkäytettävyyttä parantamalla. Näin voidaan sekä mahdollistaa konenäkösovellusten laajempi käyttö että säästää kustannuksissa. Tässä työssä esitellään konenäkösovelluskehys, joka on perusarkkitehtuuriltaan liukuhihnamainen. Ylätason rakenne koostuu sensorista, datankäsittelyoperaatioista, piirreirrottimesta sekä luokittimesta. Itse sovelluskehyksen lisäksi on toteutettu joukko kuvankäsittely- ja hahmontunnistusoperaatioita. Sovelluskehys nopeuttaa selvästi ohjelmointityötä ja helpottaa uusien kuvankäsittelyoperaatioiden lisää mistä.
Resumo:
O ensino presencial nos cursos de graduação continua sendo o foco do ensino e da aprendizagem. Com o advento de novas tecnologias de ensino, algumas ferramentas têm sido utilizadas como reforço ao ensino presencial. A plataforma Moodle (Modular Object Oriented Distance Learning) tem sido uma das mais empregadas nas instituições de ensino. Este estudo avaliou a relação do ensino presencial com o uso do Moodle institucional na disciplina de Parasitologia e Micologia Médica do curso de Medicina da Universidade Federal de Ciências da Saúde de Porto Alegre (UFCSPA). Como reforço a esta atividade, a página da disciplina cadastrada no sistema Moodle disponibilizou casos clínicos para que os alunos realizassem o diagnóstico. Além disso, foram apresentadas outras informações complementares para o ensino presencial. A metodologia buscou exercitar os instrumentos de aprendizagem que o sistema Moodle oferece, como o link a um arquivo ou site, os fóruns de discussão, a ferramenta questionário e o chat. Como o Moodle é institucional, nele está disponível a página da disciplina, onde passaram a constar todas as informações referentes à mesma, bem como as atividades extraclasse
Resumo:
This thesis reports investigations on applying the Service Oriented Architecture (SOA) approach in the engineering of multi-platform and multi-devices user interfaces. This study has three goals: (1) analyze the present frameworks for developing multi-platform and multi-devices applications, (2) extend the principles of SOA for implementing a multi-platform and multi-devices architectural framework (SOA-MDUI), (3) applying and validating the proposed framework in the context of a specific application. One of the problems addressed in this ongoing research is the large amount of combinations for possible implementations of applications on different types of devices. Usually it is necessary to take into account the operating system (OS), user interface (UI) including the appearance, programming language (PL) and architectural style (AS). Our proposed approach extended the principles of SOA using patterns-oriented design and model-driven engineering approaches. Synthesizing the present work done in these domains, this research built and tested an engineering framework linking Model-driven Architecture (MDA) and SOA approaches to developing of UI. This study advances general understanding of engineering, deploying and managing multi-platform and multi-devices user interfaces as a service.
Resumo:
Ce mémoire vise à recenser les avantages et les inconvénients de l'utilisation du langage de programmation fonctionnel dynamique Scheme pour le développement de jeux vidéo. Pour ce faire, la méthode utilisée est d'abord basée sur une approche plus théorique. En effet, une étude des besoins au niveau de la programmation exprimés par ce type de développement, ainsi qu'une description détaillant les fonctionnalités du langage Scheme pertinentes au développement de jeux vidéo sont données afin de bien mettre en contexte le sujet. Par la suite, une approche pratique est utilisée en effectuant le développement de deux jeux vidéo de complexités croissantes: Space Invaders et Lode Runner. Le développement de ces jeux vidéo a mené à l'extension du langage Scheme par plusieurs langages spécifiques au domaine et bibliothèques, dont notamment un système de programmation orienté objets et un système de coroutines. L'expérience acquise par le développement de ces jeux est finalement comparée à celle d'autres développeurs de jeux vidéo de l'industrie qui ont utilisé Scheme pour la création de titres commerciaux. En résumé, l'utilisation de ce langage a permis d'atteindre un haut niveau d'abstraction favorisant la modularité des jeux développés sans affecter les performances de ces derniers.
Resumo:
La tâche de maintenance ainsi que la compréhension des programmes orientés objet (OO) deviennent de plus en plus coûteuses. L’analyse des liens de dépendance peut être une solution pour faciliter ces tâches d’ingénierie. Cependant, analyser les liens de dépendance est une tâche à la fois importante et difficile. Nous proposons une approche pour l'étude des liens de dépendance internes pour des programmes OO, dans un cadre probabiliste, où les entrées du programme peuvent être modélisées comme un vecteur aléatoire, ou comme une chaîne de Markov. Dans ce cadre, les métriques de couplage deviennent des variables aléatoires dont les distributions de probabilité peuvent être étudiées en utilisant les techniques de simulation Monte-Carlo. Les distributions obtenues constituent un point d’entrée pour comprendre les liens de dépendance internes entre les éléments du programme, ainsi que leur comportement général. Ce travail est valable dans le cas où les valeurs prises par la métrique dépendent des entrées du programme et que ces entrées ne sont pas fixées à priori. Nous illustrons notre approche par deux études de cas.
Resumo:
Nous proposons une approche probabiliste afin de déterminer l’impact des changements dans les programmes à objets. Cette approche sert à prédire, pour un changement donné dans une classe du système, l’ensemble des autres classes potentiellement affectées par ce changement. Cette prédiction est donnée sous la forme d’une probabilité qui dépend d’une part, des interactions entre les classes exprimées en termes de nombre d’invocations et d’autre part, des relations extraites à partir du code source. Ces relations sont extraites automatiquement par rétro-ingénierie. Pour la mise en oeuvre de notre approche, nous proposons une approche basée sur les réseaux bayésiens. Après une phase d’apprentissage, ces réseaux prédisent l’ensemble des classes affectées par un changement. L’approche probabiliste proposée est évaluée avec deux scénarios distincts mettant en oeuvre plusieurs types de changements effectués sur différents systèmes. Pour les systèmes qui possèdent des données historiques, l’apprentissage a été réalisé à partir des anciennes versions. Pour les systèmes dont on ne possède pas assez de données relatives aux changements de ses versions antécédentes, l’apprentissage a été réalisé à l’aide des données extraites d’autres systèmes.
Resumo:
Un système, décrit avec un grand nombre d'éléments fortement interdépendants, est complexe, difficile à comprendre et à maintenir. Ainsi, une application orientée objet est souvent complexe, car elle contient des centaines de classes avec de nombreuses dépendances plus ou moins explicites. Une même application, utilisant le paradigme composant, contiendrait un plus petit nombre d'éléments, faiblement couplés entre eux et avec des interdépendances clairement définies. Ceci est dû au fait que le paradigme composant fournit une bonne représentation de haut niveau des systèmes complexes. Ainsi, ce paradigme peut être utilisé comme "espace de projection" des systèmes orientés objets. Une telle projection peut faciliter l'étape de compréhension d'un système, un pré-requis nécessaire avant toute activité de maintenance et/ou d'évolution. De plus, il est possible d'utiliser cette représentation, comme un modèle pour effectuer une restructuration complète d'une application orientée objets opérationnelle vers une application équivalente à base de composants tout aussi opérationnelle. Ainsi, La nouvelle application bénéficiant ainsi, de toutes les bonnes propriétés associées au paradigme composants. L'objectif de ma thèse est de proposer une méthode semi-automatique pour identifier une architecture à base de composants dans une application orientée objets. Cette architecture doit, non seulement aider à la compréhension de l'application originale, mais aussi simplifier la projection de cette dernière dans un modèle concret de composant. L'identification d'une architecture à base de composants est réalisée en trois grandes étapes: i) obtention des données nécessaires au processus d'identification. Elles correspondent aux dépendances entre les classes et sont obtenues avec une analyse dynamique de l'application cible. ii) identification des composants. Trois méthodes ont été explorées. La première utilise un treillis de Galois, la seconde deux méta-heuristiques et la dernière une méta-heuristique multi-objective. iii) identification de l'architecture à base de composants de l'application cible. Cela est fait en identifiant les interfaces requises et fournis pour chaque composant. Afin de valider ce processus d'identification, ainsi que les différents choix faits durant son développement, j'ai réalisé différentes études de cas. Enfin, je montre la faisabilité de la projection de l'architecture à base de composants identifiée vers un modèle concret de composants.