987 resultados para Design Pattern
Resumo:
O presente projecto tem como objectivo a disponibilização de uma plataforma de serviços para gestão e contabilização de tempo remunerável, através da marcação de horas de trabalho, férias e faltas (com ou sem justificação). Pretende-se a disponibilização de relatórios com base nesta informação e a possibilidade de análise automática dos dados, como por exemplo excesso de faltas e férias sobrepostas de trabalhadores. A ênfase do projecto está na disponibilização de uma arquitectura que facilite a inclusão destas funcionalidades. O projecto está implementado sobre a plataforma Google App Engine (i.e. GAE), de forma a disponibilizar uma solução sob o paradigma de Software as a Service, com garantia de disponibilidade e replicação de dados. A plataforma foi escolhida a partir da análise das principais plataformas cloud existentes: Google App Engine, Windows Azure e Amazon Web Services. Foram analisadas as características de cada plataforma, nomeadamente os modelos de programação, os modelos de dados disponibilizados, os serviços existentes e respectivos custos. A escolha da plataforma foi realizada com base nas suas características à data de iniciação do presente projecto. A solução está estruturada em camadas, com as seguintes componentes: interface da plataforma, lógica de negócio e lógica de acesso a dados. A interface disponibilizada está concebida com observação dos princípios arquitecturais REST, suportando dados nos formatos JSON e XML. A esta arquitectura base foi acrescentada uma componente de autorização, suportada em Spring-Security, sendo a autenticação delegada para os serviços Google Acounts. De forma a permitir o desacoplamento entre as várias camadas foi utilizado o padrão Dependency Injection. A utilização deste padrão reduz a dependência das tecnologias utilizadas nas diversas camadas. Foi implementado um protótipo, para a demonstração do trabalho realizado, que permite interagir com as funcionalidades do serviço implementadas, via pedidos AJAX. Neste protótipo tirou-se partido de várias bibliotecas javascript e padrões que simplificaram a sua realização, tal como o model-view-viewmodel através de data binding. Para dar suporte ao desenvolvimento do projecto foi adoptada uma abordagem de desenvolvimento ágil, baseada em Scrum, de forma a implementar os requisitos do sistema, expressos em user stories. De forma a garantir a qualidade da implementação do serviço foram realizados testes unitários, sendo também feita previamente a análise da funcionalidade e posteriormente produzida a documentação recorrendo a diagramas UML.
Resumo:
A evolução tecnológica e das sociedades permitiu que, hoje em dia, uma boa parte da população tenha acesso a dispositivos móveis com funcionalidades avançadas. Com este tipo de dispositivos, temos acesso a inúmeras fontes de informação em tempo-real, mas esta característica ainda não é, hoje em dia, aproveitada na sua totalidade. Este projecto tenta tirar partido desta realidade para, utilizando os diversos dispositivos móveis, criar uma rede de troca de informações de trânsito. O utilizador apenas necessita de servir-se do seu dispositivo móvel para, automaticamente, obter as mais recentes informações de trânsito enquanto, paralelamente, partilha com os outros utilizadores a sua informação. Apesar de existirem outras alternativas no mercado, com soluções que permitem usufruir do mesmo tipo de funcionalidades, nenhuma utiliza este tipo de dispositivos (GPS’s convencionais, por exemplo). Um dos requisitos necessário na implementação deste projecto é uma solução de geocoding. Após terem sido testadas várias soluções, nenhuma cumpria, na totalidade, os requisitos deste projecto, o que originou o desenvolvimento de uma nova solução que cumpre esses requisitos. A solução é, toda ela, muito modular, formada por vários componentes, cada um com responsabilidades bem identificadas. A arquitectura desta solução baseia-se nos padrões de desenvolvimento de uma Service Oriented Architecture. Todos os componentes disponibilizam as suas operações através de web services, e a sua descoberta recorre ao protocolo WS-Discovery. Estes vários componentes podem ser divididos em duas categorias: os do núcleo, responsáveis por criar e oferecer as funcionalidades requisitadas neste projecto e os módulos externos, nos quais se incluem as aplicações que apresentam as funcionalidades ao utilizador. Foram criadas duas formas de consumir a informação oferecida pelo serviço SIAT: a aplicação móvel e um website. No âmbito dos dispositivos móveis, foi desenvolvida uma aplicação para o sistema operativo Windows Phone 7.
Resumo:
The reported productivity gains while using models and model transformations to develop entire systems, after almost a decade of experience applying model-driven approaches for system development, are already undeniable benefits of this approach. However, the slowness of higher-level, rule based model transformation languages hinders the applicability of this approach to industrial scales. Lower-level, and efficient, languages can be used but productivity and easy maintenance seize to exist. The abstraction penalty problem is not new, it also exists for high-level, object oriented languages but everyone is using them now. Why is not everyone using rule based model transformation languages then? In this thesis, we propose a framework, comprised of a language and its respective environment, designed to tackle the most performance critical operation of high-level model transformation languages: the pattern matching. This framework shows that it is possible to mitigate the performance penalty while still using high-level model transformation languages.
Resumo:
En aquest projecte s'ha realitzat el disseny i la implementació d'un sistema PDM genèric mitjançant el qual sigui posible crear i gestionar la informació relacionada amb un producte. Amb aquesta eina web realitzada fent ús del patró d'arquitectura MVC, es pretèn disminuir la pèrdua de temps i de dades a la organització de dades de disseny, millorar la productivitat i augmentar la col·laboració.
Resumo:
Aquest projecte consisteix en el desenvolupament d'una aplicació web programada en Java, que permet crear diferents tipus de webs, donant l'opció de definir i administrar tant les estructures com els continguts dels apartats. Altres opcions que permet gestionar són els tipus d'usuaris que podran accedir i el disseny gràfic de cada web generada. S'aconsegueix així crear webs sense necessitat de programar. Mitjançant el desenvolupament del projecte es pretén aprendre i utilitzar el framewok anomenat Struts que ofereix una plataforma sobre la qual es desenvolupa l'aplicació permetent utilitzar una sèrie de llibreries ja programades i treballar utilitzant una metodologia o patró de disseny.
Resumo:
Construcció d'un marc de treball per a implementar el patró de disseny model-vista-controlador en aplicacions J2EE.
Resumo:
El projecte consisteix en l'estudi i avaluació de diferents alternatives existents al mercat per a realitzar l'anàlisi i desenvolupament d'un conjunt de components que constitueixin un marc de treball per a simplificar i agilitzar el desenvolupament de la capa de presentació per a les aplicacions de client prim d'un determinat Framework desenvolupades amb la plataforma J2EE i basats en el patró de disseny Model-Vista-Controlador.
Resumo:
Disseny i implementació parcial d'un Videoclub online en J2EE. Es fa ús dels patrons de disseny i frameworks més adients les diferents capes de l'arquitectura justificant la seva elecció. Així mateix, es desenvolupa una llibreria de tags pròpia, que dóna suport en el desenvolupament de les vistes d'un model de negoci d'aquest tipus.
Resumo:
El proyecto pretende definir y crear un conjunto de utilidades y pautas de programación que permitan al programador implementar aplicaciones J2EE siguiendo el patrón de diseño MVC.
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:
La finalidad de este proyecto es la construcción de un framework para la capa de presentación para aplicaciones web bajo la plataforma J2EE.
Resumo:
Reusability has become more popular factor in modern software engineering. This is mainly because object-orientation has brought methods that allow reusing more easily. Today more and more application developer thinks how they can reuse already existing applications in their work. If the developer wants to use existing components outside the current project, he can use design patterns, class libraries or frameworks. These provide solution for specific or general problems that has been already encountered. Application frameworks are collection of classes that provides base for the developer. Application frameworks are mostly implementation phase tools, but can also be used in application design. The main purpose of the frameworks is separate domain specific functionalities from the application specific. Usually the frameworks are divided into two categories: black and white box. Difference between those categories is the way the reuse is done. The application frameworks provide properties that can be examined and compared between different frameworks. These properties are: extensibility, reusability, modularity and scalability. These examine how framework will handle different platforms, changes in framework, increasing demand for resources, etc. Generally application frameworks do have these properties in good level. When comparing general purpose framework and more specific purpose framework, the main difference can be located in reusability of frameworks. It is mainly because the framework designed to specific domain can have constraints from external systems and resources. With general purpose framework these are set by the application developed based on the framework.
Resumo:
Tietovarastoissa moniulotteinen tietomalli on tehokkain tapa esittää tietoa päätöksentekijöille. Sen toimivuus on hyväksi havaittu monissa eri liiketoimintaympäristöissä. Tehdasympäristöissä on tuhansia mittalaitteita, joista jokainen mittaa uniikkia valmistusprosessiin liittyvää piirrettä. Tässä työssä kehitettiin tietovarasto tehdasmittausten varastointiin käyttäen moniulotteista tietomallia. Havaittiin, että moniulotteisella mallilla tehdasmittaukset voidaan tallentaa joustavalla tavalla ja esittää käyttäjälle mielekkäässä muodossa. Moniulotteinen malli antaa myös erinomaiset keinot tiedon ryhmittelyyn ja vertailuun. Sillä ei kuitenkaan saada vastaavanlaisia hyötyjä kuin klassisissa kaupanalan tietovarastointi esimerkeissä, koska eri mittaukset ovat keskenään hyvin erilaisia. Vaikka mittaukset eivät olekaan aina vertailtavissa tai summattavissa keskenään, saadaan ne moniulotteisella mallilla tallennettua ja luokiteltua loogisesti siten, että käyttäjän on helppo löytää tarvitsemansa tieto. Lisäksi yleisesti tunnettu ja paljon käytetty tietovaraston suunnittelumalli takaa sen, että markkinoilta on saatavissa työkaluja tietovaraston käyttöön. Tietokannan toteutus tehtiin vapaasti levitettävän MySQLtiedonhallintajärjestelmän avulla. Sitä ei ole suunniteltu pääasiassa tietovarastokäyttöön, mutta halpa lisenssi ja hyvä skaalautuvuus tekevät siitä mielenkiintoisen vaihtoehdon. Sitä onkin käytetty luultua enemmän tietovarastoinnissa ja myös monien nimekkäiden organisaatioiden toimesta. Myös tässä työssä todettiin, että MySQL tarjoaa riittävät välineet tietovaraston kehittämiseen.
Resumo:
In this thesis concurrent communication event handling is implemented using thread pool approach. Concurrent events are handled with a Reactor design pattern and multithreading is implemented using a Leader/Followers design pattern. Main focus is to evaluate behaviour of implemented model by different numbers of concurrent connections and amount of used threads. Furthermore, model feasibility in a PeerHood middleware is evaluated. Implemented model is evaluated with created test environment which enables concurrent message sending from multiple connections to the system under test. Messages round trip times are measured in the tester application. In the evaluation processing delay into system is simulated and influence of delay to the average round trip time is analysed.
Resumo:
Chemometric activities in Brazil are described according to three phases: before the existence of microcomputers in the 1970s, through the initial stages of microcomputer use in the 1980s and during the years of extensive microcomputer applications of the ´90s and into this century. Pioneering activities in both the university and industry are emphasized. Active research areas in chemometrics are cited including experimental design, pattern recognition and classification, curve resolution for complex systems and multivariate calibration. New trends in chemometrics, especially higher order methods for treating data, are emphasized.