Browsing by Issue Date, starting with "2021-02-22"
Now showing 1 - 8 of 8
Results Per Page
Sort Options
- Concurrency in Android development – Kotlin Coroutines and RxJavaPublication . Almeida, Guilherme Abreu; Martinho, Ricardo Filipe Gonçalves; Reis, Catarina Isabel Ferreira Viveiros Tavares dosA faulty concurrency system may have an impact in the user experience of the software product and consequently to the company that owns that product. The main goal of this research is to understand the impact of concurrency in Android development and further help developers/companies to discretise the best approaches for concurrency. The research initially centres on the importance of concurrency in Android applications as well as the main approaches for concurrency/threading in Android development. It further illustrates why some asynchronous programming approaches do not fit modern Android development. This allowed the research to concentrate on the most relevant approaches to concurrency and consequently produce more pertinent results for the current state of Android development. After acknowledging Kotlin Coroutines and RxJava as the most relevant approaches to concurrency for Android (at the time of writing this document), this research moved on with the development of a case study application. This application was implemented using both Kotlin Coroutines and RxJava while reusing as much code as possible. There is a single module dedicated to the main user interface of the application and two modules (one for Kotlin Coroutines and one for RxJava) dedicated to concurrently run the necessary steps for each feature and further propagating the necessary data to the user interface. This allowed a clear separation of the specific code needed to perform the same features with Kotlin Coroutines and RxJava, facilitating its later comparison. The design of this application and its features required prior assessment of common use cases for concurrency in Android to form a fitting case study. With the intent of assessing the impact of using Kotlin Coroutines and RxJava in Android applications, we discretised the main software quality attributes to consider for Android development. By taking this step, we were able to focus mainly on the Performance and Maintainability of an Android application and understand how the usage of both Kotlin Coroutines and RxJava affects these attributes. The impact of each library in the performance and maintainability of an Android application was measured using software metrics that were provided by a combination of static analysis, benchmarks, and profiling tests. The process of designing the set of tests, setting up the required tools and the overall development of the test environment for this research is also explored in this document. The results for Kotlin Coroutines and RxJava were then illustrated, compared, and interpreted to fulfil our objective of understanding if, at the time of writing this document, there is a more sensible approach to concurrency for Android development according to our set of tests. The results for our set of tests and case study application revealed that RxJava and Kotlin Coroutines do not differently compromise the performance and maintainability of an Android application, for what developers and companies should not be limited when choosing between these libraries.
- MANUFACTURING EXECUTION SYSTEMPublication . Pereira, André Filipe Marques; Ribeiro, José Carlos BregieiroThis report describes the tasks performed during the internship that took place at the Lusiaves facilities, in which the knowledge acquired during the Master of Engineering and Mobile Computing, namely with regard to the use of project management tools, management code and knowledge acquired at the project development level, among others, were crucial for this stage. The internship took 12 months, and all development tasks are related with the construction of a mobile application, with the objective to aid slaughterhouses in their management. Throughout the years, with the evolution of techonologies, the Lusiaves Group had the need to optimize most processes, which would allow for a greater overview of all processes, and shared information between all companies of the group. As such, this software was developed from scratch. For the construction of this solution, a software was created for the mobile environment, to be used by people that are within slaughterhouses, for those that are receiveing products. This software was built specifically for Android devices, even though this can be used in an iOS device. In this internship, two modules were created for this application; the Reception module, with which a user would be receiving products to insert in Reception Documents, throughout the usage of the Picking feature; and the Production module, with which a user would start products in Production Documents, throughout the usage of the same Picking feature. This picking feature can successfully read both barcodes and QRCodes, without the assistance of any external tools. This was made possible with the usage of the MC3300k, the device that will be used in slaughterhouses. In this report, most functionalities will be discussed, alongside some testing, and the justification for the choices that were done will also be provided.
- O contrato de consumo celebrado à distância e a plataforma de resolução de litígios em linhaPublication . Maia, Maria Filipa de Carvalho Padrão; Almeida, Susana Catarina Simões de; Monteiro, Susana SardinhaA world wide web é hoje um “admirável mundo novo” digital, palco de comunicações, interações, transações e naturalmente de conflitos. De facto, sem prejuízo de a contratação entre pessoas fisicamente presentes fazer parte do nosso quotidiano, longe vão os tempos em que esta era a forma quase exclusiva de contratação. Com efeito, a evolução tecnológica e o desenvolvimento socioeconómico conduziram a que, na era da sociedade de consumo, através de um clique num ecrã de dispositivo móvel ou de um computador se encurtem distâncias, se eliminem fronteiras, se celebrem contratos e se resolvam conflitos. Propomos, no presente trabalho, por um lado, estudar os especiais contornos dos contratos de consumo e, em particular, dos contratos celebrados à distância, mormente contratos celebrados por via eletrónica. Nesta sede, constatámos que os contratos à distância apresentam um regime jurídico que protege com particular acuidade o consumidor, uma vez que este não tem contacto físico com o fornecedor dos bens ou prestador dos serviços, nem com os bens ou serviços e, nessa medida, especiais deveres de informação se impõem ao fornecedor/prestado para colmatar o défice de informação, além de disso, pelo mesmo motivo, reconhece-se ao consumidor o direito de retratação. A legislação europeia refere-se a este direito na Diretiva n.º 2011/83/UE. Esta diretiva vem reforçar os direitos dos consumidores, particularmente, sendo que o seu principal objetivo foi aumentar a confiança dos consumidores, precisamente na realização das transações à distância. Estes, independentemente do local onde se encontrem, no espaço europeu, ao adquirirem bens ou serviços, terão os mesmos direitos, salientando-se o direito à informação pré-contratual e o direito de livre resolução contratual. Por outro lado, com a eliminação das distâncias e com os ímpetos do hiperconsumo, a sociedade de consumo atual é cada vez mais complexa, traduzindo-se, por isso, numa das áreas de maior conflitualidade dos nossos tempos. Nessa medida, e no seguimento da criação de espaços de integração económica, como sendo a União Europeia, foi surgindo a necessidade de serem criados mecanismos de resolução extrajudicial de conflitos, que deem resposta, em tempo útil, às exigências e necessidades dos cidadãos e das empresas no respeito pelos respetivos direitos e na resolução dos conflitos. De facto, como propomos demonstrar neste trabalho, a proteção dos consumidores transformou-se numa das prioridades da União Europeia e a resolução dos conflitos transfronteiriços num dos objetivos há muito delineado. Efetivamente, em resposta a esta mesma prioridade, num contexto de verdadeira revolução tecnológica, a União Europeia tem promovido a criação de meios de resolução extrajudicial de conflitos (abreviadamente designados de ADR, em decorrência da expressão inglesa Alternative Dispute Resolution), e em particular, a implementação, no espaço europeu, de uma plataforma eletrónica de resolução de litígios em linha. Entendemos que mais do que métodos mais vantajosos para as partes com redução de tempo e custos, os ADR e ODR, são um verdadeiro exercício de cidadania. No entanto, é necessário atentar no uso correto dos métodos de resolução de conflitos, para que exista a efetiva satisfação das partes com os resultados, isto no sentido de ser feita a escolha do MRAL, do especialista e da plataforma mais adequados para o conflito em questão. Com estes cuidados estamos certos de que a utilização dos ADR e dos ODR nos trarão excelentes resultados ao nível económico e social.
- A conversational agent to assist users in public institutions of EcuadorPublication . Peñaherrera, Esteban Eduardo Cando; Grilo, Carlos Fernando de Almeida; Ribeiro, José Carlos BregieiroThis project described in this dissertation is being carried out for the Ministry of Social and Economic Inclusion (MIES) of Ecuador based on its current problems. The de ciencies that government entities have to help their citizens with information and paperwork has exceeded their operational capacity. The MIES currently has a Marketing and Information department that is saturated with questions through channels such as call centers, information centers in their of- ces and social networks outside their o ce hours. In recent years there has been an increase in requests for information through digital channels such as its Facebook page, since internet access to places far from the big cities has increased. This has been seen as an opportunity for improvement by creating an chatbot agent that helps citizens 24 hours a day, 7 days a week. Most of the queries can be made through a query to their internal data and this allows the operational burden of the operators to be released to carry out management processes and not just information. Many public and private companies have resorted to using chatbots to help their users with simple information tasks. They have also relied on these technological tools to create registration and management functions. Today we can use chatbots development tools and platforms such as Dialog ow that allow to create chatbots in a manageable and scalable way according to needs. Facebook has multiple connection tools that allow it to integrate safely and e ciently with its platforms such as Facebook Messenger, allowing customers to create applications that will reach the majority of citizens who have internet access. Developing a chatbot agent can be a simple and straightforward task, but in which the remaining time must be invested in training and helping the chatbot agent to understand words or idioms of language used in di erent regions of the same country. In the development of a chatbot, the training cycle is constant and allows the chatbot to increase its ability to understand the users who use them. In the tests carried out on this chatbot, it was concluded that although the use of these tools allows to release the operational load, it does not avoid the need for users to interact with natural persons, but the requirement is drastically reduced. In the tests it was also obtained that many problems can be obtained by nding a wide range of synonyms and local expressions, but correct training and constant review of the answers provided helps the chatbot to self-train and evolve its answers over time interactions.
- HumanportalPublication . Sousa, Mayelson de; Gonçalves, Alexandrino José MarquesO presente relatório foi realizado no âmbito da Unidade curricular de Estágio do Mestrado em Engenharia Informática - Computação Móvel, da Escola Superior de Tecnologia e Gestão do Instituto politécnico de Leiria. O objetivo deste relatório é descrever todo o processo envolvido ao longo do estágio, que teve a duração de 10 meses. O estágio foi realizado na empresa humansoft, uma empresa que se dedica ao desenvolvimento de soluções informáticas na área da gestão de recursos humanos. Neste relatório está descrita, a caracterização da empresa onde foi realizado o estágio, a metodologia e ferramentas utilizadas, as principais tarefas realizadas e as conclusões. O estágio tinha como principal objetivo, a reformulação e desenvolvimentos de alguns módulos do projeto humanportal. Este projeto consiste numa aplicação web, composta por 3 componentes e estes por vários módulos que oferecem à organização uma maior facilidade em todo o processo formativo, assim como permite distribuir e delegar muitas responsabilidades nos principais intervenientes da formação, tais como, formadores, formandos, coordenadores, técnicos, administradores entre outros. Como resultado deste estágio, foi possível adquirir experiência e desenvolver competências a nível profissional através dos vários projetos integrados em ambiente empresarial.
- Octa Gest - Aplicação móvel de faturaçãoPublication . Andrade, Eduardo Miguel António; Bernardino, Anabela Moreira; Bernardino, Eugénia MoreiraEste relatório detalha o trabalho desenvolvido durante o Estágio Curricular do Mestrado em Engenharia Informática – Computação Móvel, lecionado na Escola Superior de Tecnologia e Gestão, do Instituto Politécnico de Leiria. Este documento irá retratar os passos dados e o trabalho realizado durante o estágio ao longo de nove meses, numa empresa local, a Octa Code Unipessoal Lda.. A Octa Code é uma empresa de desenvolvimento de software empresarial, focada em gestão e contabilidade. Neste estágio, o projeto principal foi o desenvolvimento de uma aplicação móvel para vendedores ambulantes, ou seja, pessoas que necessitam de uma forma de criar faturas em qualquer sítio e a qualquer momento. Ao longo deste relatório será discutido o desenvolvimento do projeto, desde a fase de planeamento e implementação, testes de utilização iniciais, feedback de utilizadores até ao lançamento final, e ainda uma comparação entre o produto inicialmente planeado com o resultado final. Além disso, será também feita uma avaliação das tecnologias escolhidas e como é que estas ajudaram a desenvolver o produto ou potenciaram ainda mais algumas das funcionalidades planeadas. Este estágio foi uma experiência bastante positiva e permitiu colocar em prática muito do que foi aprendido ao longo dos últimos anos de licenciatura e mestrado. Tudo desde arquitetura, interface e plataforma utilizados está diretamente relacionado com muitos dos tópicos abordados durante o mestrado, e foi uma forma importante de consolidar o conhecimento adquirido na área. O produto final está atualmente disponível para testar gratuitamente na Play Store, ou para uso comercial contactando a Octa Code diretamente.
- TeenPower: Plataforma mHealth para a prevenção da obesidade usando gamification para promover o exercício físicoPublication . Alves, Rodrigo Silva; Reis, Catarina Isabel Ferreira Viveiros Tavares dos ReisA obesidade infantil constitui um dos maiores desafios para a saúde pública no século XXI, atingindo proporções epidémicas. A doença é geralmente causada por um desequilíbrio energético crónico devido a hábitos alimentares inadequados ou a comportamentos sedentários. Para além de aumentar o risco de desenvolvimento de doenças não comunicáveis, a obesidade conduz a uma diminuição da qualidade de vida, com impacto direto nos sistemas de saúde e na economia. Segundo a evidência científica, o exercício físico desempenha um papel fundamental no combate à obesidade. Para além de contribuir para o equilíbrio do balanço energético diário, a pratica regular de exercício tem benefícios como: a melhoria da aptidão cardiorrespiratória; a diminuição do risco de desenvolvimento de doenças cardiovascular; redução do stress e melhoria do estado de humor; e o proporcionamento de sensação de bem-estar, diminuindo a depressão e a ansiedade. A prevenção é tida como a melhor opção no combate à doença, sendo necessárias respostas compreensivas capazes de criar ambientes que estimulam a adoção de comportamentos saudáveis desde cedo. O projeto TeenPower visa a criação de um programa para a promoção de comportamentos saudáveis e prevenção da obesidade na adolescência, baseado na eterapia e suportado por uma plataforma mHealth. A plataforma, denominada de plataforma TeenPower, procura tirar partido das mais recentes tecnologias para promover a adoção de comportamentos saudáveis junto de adolescentes. É composta por duas aplicações: uma aplicação móvel destinada a adolescentes com idades entre os 12 e os 16 anos, que fornece ferramentas de auto-monitorização, conteúdos educativos, potência a comunicação com profissionais de saúde, e usa elementos de gamificação para facilitar a aprendizagem e aumentar o envolvimento; e uma aplicação web, que permite a coordenação do programa de intervenção, o acompanhamento da condição dos adolescentes, e a comunicação com os mesmos. A plataforma, cujo desenvolvimento se encontra descrito no presente documento, foi utilizada durante as sessões de intervenção realizadas em várias escolas da região centro de Portugal. Embora apenas 32% dos adolescentes abrangidos tenham instalado a aplicação, a experiência foi classificada como positiva e conduziu os adolescentes à autorresponsabilização e monitorização da sua saúde.
- Cybersecurity in Internet of ThingsPublication . Leal, Roberto Emanuel Fernandes; Rabadão, Carlos Manuel da Silva; Santos, Leonel Filipe SimõesUm sistema Internet of Things (IoT) tem um largo leque de aplicações e de ambientes de utilização, isto é, desde uma rede doméstica a uma rede industrial, ou desde uma rede com alguns dispositivos IoT a uma rede com milhares de dispositivos IoT. Os dispositivos que estão presentes nos sistemas IoT podem ter características diversas, por exemplo, diferentes versões de sistemas operativos instalados e diferentes capacidades e recursos disponíveis. Em suma, um sistema IoT pode apresentar um elevando nível de heterogeneidade. De forma a facilitar e a normalizar a operação dos sistemas IoT, existem vários tipos de standards e de protocolos que podem ser utilizados, tais como, o Message Queuing Telemetry Transport (MQTT), que não é específico para um sistema IoT mas que pela sua simplicidade é bastante utilizado, e a sua variante segura o Message Queuing Telemetry Transport over TLS (MQTTS). As utilizações do MQTT e do MQTTS facilitam a uniformização e a comunicação entre os vários dispositivos IoT. Estes sistemas IoT, são compostos por vários dispositivos IoT. Estes caracterizam-se por terem fracos recursos de hardware, nomeadamente ao nível da capacidade de memória Random-Access Memory (RAM) ou Read-Only Memory (ROM), de processamento e de armazenamento em disco. Estes dispositivos estão frequentemente expostos a ambientes exteriores e, por isso, estão mais vulneráveis a ataques à sua integridade e disponibilidade, bem como, à informação por si recolhida e transmitida. A monitorização do tráfego e a deteção das anomalias podem dar um forte contributo para a mitigação destas ameaças, podendo ser efetuadas através de soluções do tipo Intrusion Detection System (IDS). Estas soluções são caracterizadas por causar um baixo impacto no desempenho dos sistemas IoT e, por isso, representam uma solução interessante de integração neste tipo de sistemas. No entanto, é essencial que os sistemas de IDS tenham na sua base de dados interna as especificações, as regras e os comportamentos necessários para analisar o tráfego que flui num sistema IoT. É neste âmbito que se enquadra este trabalho, nomeadamente na análise, na caracterização e na avaliação das especificações do tráfego gerado pelos aplicativos MQTT e MQTTS, tendo-se determinado os Information Elements (IE) mais relevantes a considerado e criado um cenário de testes capaz de capturar esses IE. Posteriormente, esses IE foram analisados com o intuito de caracterizar de forma generalista o tráfego MQTT e o tráfego MQTTS.