Repository logo
 

ISEP - DM – Engenharia Informática

Permanent URI for this collection

O curso de mestrado encontra-se dividido em três áreas de especialização em Engenharia Informática: Tecnologias do Conhecimento e Decisão; Arquitecturas, Sistemas e Redes e Sistemas Gráficos e Multimédia. 1. ÁREA TECNOLOGIAS DO CONHECIMENTO E DECISÃO - Esta área desenvolve competências que permitem o salto qualitativo da Sociedade da Informação para a Sociedade do Conhecimento e posteriormente para a Sociedade da Decisão. Os diplomados desta área para além de saberem lidar com os dados em sistemas de armazém de dados e fazer o respectivo processamento analítico, são também capazes de planear, desenhar e implementar o desenvolvimento de Sistemas de Apoio à Decisão, Sistemas Baseados em Conhecimento e, em particular, os Sistemas Periciais. Nesta área são também fornecidos aos alunos conhecimentos para o desenvolvimento de sistemas através do paradigma de programação Agentes Inteligentes e Sistemas Multi-agente. É dado ênfase à usabilidade de sistemas e ambientes através de tecnologias de conhecimento e aprendizagem automática; são estudadas, meta-heurísticas, optimização combinatória, métodos gerais de pesquisa, computação evolucionária e abordagens híbridas para optimização de problemas. São estudados os principais algoritmos de Data Mining para extracção do conhecimento implícito em grandes repositórios de dados; é também proporcionado um conjunto de conhecimentos teóricos e práticos no âmbito da simulação discreta e contínua e finalmente são dotados aos alunos conhecimentos e competências teóricas e práticas fundamentais sobre engenharia de ontologias e a sua aplicação a sistemas de informação e de conhecimento distribuídos, heterogéneos e abertos, nomeadamente no contexto da World Wide Web e da Web Semântica. 2. ÁREA ARQUITECTURA, SISTEMAS E REDES - A área de Arquitecturas, Sistemas e Redes visa dotar os alunos de conhecimentos transversais relativamente à integração de sistemas computacionais, com particular atenção em arquitecturas avançadas, interligando sistemas heterogéneas e distribuídos. Abordam-se por isso os conceitos necessários ao desenvolvimento de sistemas distribuídos e heterogéneos (incluindo sistemas embebidos e móveis), tanto ao nível da concepção de software como ao nível das plataformas computacionais (sistemas operativos, máquinas virtuais, linguagens). De igual forma, são abordados os conceitos, requisitos e métodos inerentes à interligação de aplicações e sistemas heterogéneos, e os conhecimentos em segurança e gestão de sistemas que permitam colocar em funcionamento aplicações complexas, heterogéneas e distribuídas com elevados graus de fiabilidade. Em paralelo são leccionadas competências transversais e estruturantes, como, por exemplo, processos de gestão da inovação, empreendedorismo e desenvolvimento de negócio. 3. ÁREA SISTEMAS GRÁFICOS E MULTIMÉDIA - Aborda os processos de concepção, desenvolvimento e aplicação avançada de sistemas gráficos interactivos e multimédia. As competências transmitidas incluem a aplicação de metodologias e processos de concepção, autoria e desenvolvimento destes sistemas em ambientes de Engenharia e a utilização de ambientes e de ferramentas padronizadas que lhe estão associadas. Transversalmente a estas áreas de desenvolvimento são apresentados os conceitos gerais como a usabilidade e acessibilidade, bem como metodologias de construção de interfaces com o utilizador, numa perspectiva de sensibilização dos alunos para o papel fundamental que os processos de interacção entre o utilizador e a máquina desempenham no sucesso das aplicações informáticas. São também considerados aspectos ligados ao planeamento, gestão e implementação em equipa destes sistemas e respectivo plano de negócio. É dado especial relevo à aplicação destas capacidades ao contexto específico de concepção e especificação, implementação e avaliação de conteúdos digitais de carácter educativo como software educativo, bem como produção de conteúdos de imagem, áudio e vídeo.

Browse

Recent Submissions

Now showing 1 - 10 of 898
  • Teste e depuração de software concorrente: Desafios e soluções
    Publication . SILVA, HUGO ALEXANDRE SANTOS; Nogueira, Luis Miguel Pinho
    Concurrency refers to the execution of multiple entities simultaneously, and due to current technological advancements, it has seen incorporation of its use in many different types of software development, ever-growing in popularity due to its useful and unique capabilities. Due to its higher complexity when compared to standard sequential processes, concurrency introduces non-determinism to the software world, which can cause new problems to arise, necessitating specialized approaches for correct detection. Despite its usage growth, concurrency concerns are more often than not considered with dedicated urgency, often trusted by system/software architectures or operating systems to correctly manage the non-determinism spectrum of the process. Consequently, developers and testers often lack a comprehensive understanding of various concurrency defects, their associated failure conditions, and events. While many languages support a set of tools for concurrent development, as well as some available debuggers and IDE’s on the market having concurrent defect identification capabilities, most approaches are not really used or known in a real-world scenario or are only briefly explained to developers. Thus, many developers and testers remain unaware of their existence and potential benefits. We aim to deliver a more in-depth view of concurrent development and concurrent defect detection and avoidance for developers and testers by delving into these language tools, concurrent development techniques and concurrent capable debuggers and uncover further usages besides simple cases and show how these tools can contribute to better designed concurrent systems.
  • Implementação e Automação de Testes de Desempenho
    Publication . PINTO, RUI PEDRO FERRAZ; Carvalho, Piedade Barros Lopez
    No dinâmico panorama do desenvolvimento de software, a automação de testes de desempenho é uma necessidade crucial para equipas que operam sob metodologias ágeis e práticas de DevOps. Contudo, a ausência de abordagens padronizadas e eficientes representa um desafio significativo, comprometendo a fiabilidade dos sistemas e a experiência dos utilizadores. Esta dissertação propõe uma solução inovadora para integrar e automatizar testes de desempenho em pipelines CI/CD, visando melhorar a eficiência operacional e a precisão na validação de serviços. A proposta de desenvolvimento consistiu na criação de um script de testes de carga com a ferramenta k6, genérico e personalizável, acompanhado do desenvolvimento de uma aplicação modular para visualização e validação automática dos resultados. Esta aplicação extrai métricas relevantes dos serviços (como latência, tráfego e saturação), gera relatórios e integra-se com ferramentas colaborativas como Confluence e Slack. A solução inclui ainda um ambiente de testes isolado com WireMock, garantindo a reprodutibilidade dos testes. Toda a arquitetura foi desenhada de forma genérica e reutilizável, facilitando a sua aplicação em múltiplos contextos. O estado da arte aborda os conceitos fundamentais de testes de desempenho, integrando técnicas de monitorização e análise para maximizar a eficácia dos sistemas. São exploradas as questões éticas e os desafios técnicos associados à implementação em ambientes de desenvolvimento reais, destacando práticas que promovem a escalabilidade e a confiabilidade. A recolha e integração contínua de feedback também desempenham um papel crucial no refinamento iterativo das soluções propostas. As respostas às questões de investigação fornecem conclusões fundamentadas sobre os critérios de seleção de ferramentas, as melhores práticas de integração e o impacto da automatização na melhoria da qualidade do software. Este trabalho contribui para o avanço da automação de testes de desempenho, proporcionando uma abordagem inovadora e fundamentada para as equipas que operam em contextos tecnológicos diversificados. A solução foi aplicada num serviço real, demonstrando ganhos significativos na deteção de regressões, uniformização de processos e melhoria do tempo de feedback às equipas. As contribuições técnicas desta dissertação reforçam a fiabilidade e rastreabilidade no desenvolvimento contínuo de software. Conclui-se que a abordagem proposta oferece uma base sólida, escalável e adaptável para a automação de testes de desempenho, promovendo maior qualidade e confiança no ciclo de entrega de software.
  • ZeroZero Fantasy League: Aumentar o Envolvimento com Produtos de uma Marca com um Jogo de Telemóvel
    Publication . GARCIA, PEDRO MIGUEL CORREIA; Carvalho, Carlos Miguel Miranda Vaz de
    In the context of an increasingly competitive digital media landscape, brands must continuously innovate to capture and retain user attention. This thesis investigates the development of a mobile game, ZeroZero Fantasy League, as a strategic tool to enhance user engagement and foster interaction with the sports data platform zerozero, operated by ZOS, Lda. With the platform’s success depending significantly on user-generated content and community participation, especially in lesser-known leagues, the project addresses the challenge of sustaining and expanding an active user base. Guided by the hypothesis that an engaging and interactive mobile gaming experience can increase user interaction with a company’s digital ecosystem, the research employs a multiphase methodology. It begins with a Systematic Literature Review (SLR) based on the PRISMA framework to identify effective gamification strategies and game mechanics associated with user retention, engagement, and co-creation. The findings inform the design and implementation of a football management mobile game prototype that integrates real-time data from zerozero and incorporates features such as achievement systems, daily challenges, and interactive UI/UX design, aiming to deliver a rewarding and immersive experience. Subsequent testing and evaluation involved both qualitative and quantitative methods, including questionnaires, user feedback, and analytics exploration. These assessments revealed that mechanics such as early reward placement, social features, and short-session gameplay significantly contributed to increased engagement and repeat interactions. Users also expressed positive sentiment toward the game’s complementary value in enhancing their overall relationship with the zerozero brand. The study contributes to the discourse on digital engagement by demonstrating the viability of leveraging mobile gaming not only as an entertainment product but also as a meaningful extension of a brand’s interactive strategy. Ethical considerations were integral throughout the development process, ensuring that user well-being and transparency were upheld by avoiding exploitative design patterns. The results support the hypothesis and underscore the potential of mobile games as co-creative, loyalty-enhancing instruments within broader digital ecosystems.
  • Integração de várias fontes de dados para a previsão de florações de algas nocivas cianobactérias usando aprendizagem automática
    Publication . QUERIDO, MARCO ANDRÉ MORGADO; Pereira, Ivo André Soares; Cunha , Bruno Miguel Almeida; Amorim, Ivone de Fátima da Cruz; Barbosa , Hugo Fernando Azevedo
    This dissertation addresses the issue of forecasting cyanobacterial harmful algal blooms (cyanoHABs), a source of harm to aquatic ecosystems and human health via toxin production and water quality degradation. Motivated by the limitations of traditional forecast methods based on single-source data, this work explores multi-source integration to further optimize forecast precision. The conceptual model is based on the assumption that a combination of several biogeochemical, physical, and meteorological parameters better characterizes cyanobacteria bloom variability’s multi-faceted drivers. Based on Copernicus Marine Service data, the model combines chlorophyll-a concentration, as a factor for the magnitude of the bloom, with parameters such as sea surface temperature (SST), rising significant wave height (SSWH), nutrient concentration (e.g., phosphate, ammonium), net primary production (nppv), phytoplankton biomass (phyc), and euphotic depth (zeu). The approach used was based on the CRISP-DM methodology. The importance of predicting cyanoHAB was realized, and data understanding and preparation involved collecting, cleaning, and preprocessing multi-source time-series data. Ensemble classifiers (Random Forest, Bagging, XGBoost) were used for chlorophyll-a classification and regression models (Random Forest Regressor, ARIMA, SARIMA, LSTM, GRU, CNN) for forecasting trends of chlorophyll-a in the modeling phase. Performance comparison employed ROC AUC, precision, and recall for classification tasks and R² and RMSE for regression. Results show ensemble classifiers labeled chlorophyll-a with almost perfect accuracy and ROC AUC values close to 1.00, and they noted biogeochemical features nppv, phyc, and zeu as the most predictive. Random Forest Regressor was best for regression on timeseries (R² = 0.594), simulating short-term chlorophyll-a patterns accurately. Though, under oversmoothing or instability with noise in the data, the traditional models (ARIMA, SARIMA) and deep learning models (LSTM, GRU, CNN) were not as good. These findings confirm that multi-source data integration evidently enhances cyanoHAB forecasting and that the use of ensemble machine learning models to make accurate and interpretable predictions is confirmed. The dissertation ends by observing that environmental factors need to be enhanced in prediction models and explainable AI approaches incorporated to build confidence and improve decision-making for water quality management.
  • Enhancing liability management: A unified approach to code consolidation, performance optimisation and risk mitigation
    Publication . VIDEIRA, HUGO JORGE LOUREIRO; Carvalho, Piedade Barros Lopez; Landeiro , Mafalda Isabel Ferreira
    Liability management is critical to sports betting systems, ensuring accurate risk assessment and financial safeguards. However, current approaches within the Better Entertainment Group are fragmented, with distributed and redundant calculations spread across multiple services. This duplication increases complexity, reduces performance, and complicates system maintainability, creating a need for more streamlined and efficient processes. This research explores the benefits of centralising liability calculations into a single dedicated service. The proposed solution aims to reduce redundancy, improve system performance, and ensure consistent liability calculations across services by consolidating these processes. This document also includes a detailed analysis of the problem, a comprehensive review of the state of the art regarding current approaches and analysis between different technologies/architectures, the functional and non-functional requirements, design of the solution, explains the implementation of the key features of the system and the evaluation regarding the hypothesis and measures to evaluate defined. The experimentation and evaluation of the solution yielded positive results, with the solution demonstrating significantly better performance in 2 out of the 3 performance scenarios compared to the reference system. At the end a summary of the work done is presented as well as future work to improve the solution and a remark for the contributions that this work has given to the organisation. This work contributes to both academic understanding and business outcome by offering a scalable, brand-agnostic, and maintainable approach to liability management in sports betting systems.
  • Automatização do processo de deployment
    Publication . RODRIGUES, RÚBEN ALEX FERREIRA; Carvalho, Piedade Barros Lopez
    Num contexto organizacional cada vez mais exigente, a automatização do processo de deployment tornou-se uma componente crítica na melhoria da eficiência, fiabilidade e previsibilidade dos ciclos de entrega de software. Esta dissertação teve como objetivo conceber, desenvolver e validar uma solução de automatização do processo de deployment, adaptada à realidade de uma organização tecnológica de grande escala, com múltiplas equipas, ambientes e restrições operacionais. A investigação seguiu a metodologia Design Science Research (DSR), articulando uma fase de diagnóstico com iterações de conceção, implementação e validação. O trabalho inicia-se com uma revisão do estado da arte, abordando práticas consolidadas em DevOps e CI/CD, como testes de sanidade automatizados, rollbacks condicionais, monitorização contínua e reporting automático. São também analisadas ferramentas como Jenkins, GoCD, Splunk, Sensu e Grafana, avaliando a sua aplicabilidade no contexto da pipeline da organização. A solução proposta materializou-se no desenvolvimento de uma aplicação autónoma — o Release Assistant — que centraliza e automatiza etapas críticas do deployment, como a gestão de tráfego, validações pós-deployment (sanity checks, métricas, alarmes) e produção de relatórios. A arquitetura modular permite integração com sistemas existentes e reutilização em múltiplos serviços e ambientes. Os resultados demonstram uma redução objetiva no esforço manual e no tempo de execução. Com base em medições, registou-se uma redução média de 15 minutos por execução, equivalente a cerca de 41% da duração dos deployments, refletindo-se diretamente na eficiência operacional. A solução aumentou ainda a fiabilidade das validações, assegurando maior consistência nos testes e deteção precoce de falhas. Em termos de contributo, o trabalho apresenta uma abordagem replicável de automatização de validações integrada em pipelines CI/CD, validada num ambiente de produção real e sustentada por evidência quantitativa e feedback qualitativo. Apesar dos resultados positivos, reconhece-se que a solução depende da estrutura atual das pipelines e da existência de sistemas de monitorização acessíveis por API. A adoção noutros contextos poderá exigir adaptações. Ainda assim, o trabalho demonstra o potencial da automatização como vetor de transformação digital orientado à melhoria contínua dos sistemas e processos operacionais.
  • Classificação automática de alertas de cibersegurança num SOC
    Publication . DOMINGUES, TOMÁS LADEIRO; Leite, Jorge Manuel Canelhas Pinto
    Threats to Cybersecurity have grown ever more sophisticated over the years, making Security Operations Center (SOC) more important than ever. This dissertation explores the application of Machine Learning (ML) to automate the triage of security alerts, addressing alert fatigue and high false positive rates. The solution integrates a Random Forest (RF) model, trained on historical SOC data, with a Reinforcement Learning (RL) feedback loop that dynamically adapts to analyst input over time. A comprehensive review of Security Information and Event Management (SIEM) systems, ticketing tools, and ML frameworks was conducted to support the development of this system. The research involved real-world deployment within a production SOC environment, using live data from ArtResilia’s infrastructure. The proposed solution demonstrated significant improvements across key metrics, increasing classification accuracy for both alert priority and taxonomy after iterative refinement. Moreover, the adaptive RL feedback loop appeared to enable continuous improvement while maintaining model stability. The findings suggest that integrating ML and RL into SOC workflows may help reduce false positives, improve response times, and alleviate analyst workload, potentially contributing to enhanced overall resilience.
  • Sistema de recomendação híbrido para definição de táticas de futebol 11
    Publication . DOMINGUES, NUNO FERNANDES MELEIRO; Martins, António Constantino Lopes
    Esta dissertação aborda a definição de táticas no futebol de 11, um desafio complexo especialmente em equipas amadoras, onde a falta de recursos tecnológicos limita a capacidade de análise aprofundada de dados de jogo. O objetivo central consistiu em desenvolver e demonstrar um sistema de recomendação híbrido que auxilie treinadores na tomada de decisões táticas, integrando dados de desempenho da própria equipa e dos adversários. Para concretizar este objetivo, foi implementada uma aplicação web composta por um backend robusto em Java, um módulo de recomendação baseado em técnicas de machine learning (Random Forest) e uma interface em Angular. A metodologia seguiu as diretrizes PRISMA para revisão sistemática da literatura, analisando boas práticas na área dos sistemas de recomendação e da análise de dados desportivos. O sistema conjuga filtragem baseada em conteúdo com elementos inspirados na filtragem colaborativa, permitindo gerar sugestões personalizadas de formações e estratégias. Os testes realizados incluíram a validação do módulo de recomendação com dados reais e a avaliação técnica da aplicação, evidenciando o seu funcionamento adequado e o potencial para apoiar decisões fundamentadas. Embora não tenha sido possível recolher respostas diretas de treinadores, foi preparado um questionário de avaliação para recolher futuros contributos de treinadores de formação do Porto, cujas respostas poderão orientar melhorias incrementais. Conclui-se que a solução proposta representa um passo viável na democratização do uso de inteligência artificial no futebol, oferecendo uma ferramenta de apoio acessível e aplicável em contextos de equipas de formação, onde o impacto de decisões mais informadas poderá ser particularmente relevante para a evolução técnica e tática das equipas.
  • Optimização de uma plataforma de treino militar da Sistrade: Melhoramento da usabilidade colaborativa e visualização
    Publication . CARDOSO, RAFAEL RODRIGUES; Oliveira, Paulo Jorge Machado
    Military training is a necessity for both soldiers and those who command them, as they influence more lives than any soldier. Having better disciplined commanders comes with better training tools and programs. This work focuses on improving a constructive simulation military platform developed by SISTRADE. The platform in question is already developed, but it had problems such as performance issues when loading scenarios and poor usability while editing scenarios, executing them, and engaging with them in an Augmented Reality view, leading to a poor simulation experience. Collaboration features that were previously implemented must be improved to give more feedback to the user and prevent data loss from occurring. Given these problems, the main objectives for this work were: the improvement of the performance of the scenario loading in the platform; the improvement of the usability of the scenario execution and editing components of the application; and, the improvement of collaboration functionalities. This report carried out a systematic mapping review on existing literature that could help resolve the problems mentioned by utilizing PRISMA. As a result, this work aggregates all information found in the state of the art. This information is then applied where needed as the existing platform is analyzed, its problems discovered, and solutions are proposed. From these proposed solutions, a selection is implemented, with the goal of fulfilling the objectives of this work. These improvements are then evaluated by their efficacy in solving the problems presented. The implementations come in the form of selective improvements to the platform, such as the implementation of distinctive visualization between users when using the collaboration features, implementation of better GUI, facilitating identification of units between teams and units in a simulation scenario and improving scenario loading. Most objectives were fulfilled, namely, the usability of the scenario map view was improved, and the collaboration aspect became more user-friendly. The scenario map loading was not improved and needs further development and corrections.
  • Geração inteligente de interfaces gráficas para a Web
    Publication . ALMEIDA, MIGUEL LEÇA DE OLIVEIRA; Mota, Maria Dulce Fernandes
    A geração automática de interfaces gráficas para aplicações web tem vindo a afirmarse como uma abordagem inovadora para aumentar a eficiência, a uniformidade e a qualidade no desenvolvimento de software. Este trabalho apresenta o desenvolvimento, implementação e validação de um sistema inteligente capaz de gerar código de frontend de forma automatizada a partir de mockups visuais, integrando modelos de machine learning e pipelines multimodais. O processo de investigação partiu de uma revisão sistemática da literatura, com recurso à metodologia PRISMA, e da análise comparativa de abordagens existentes. A solução desenvolvida assenta num pipeline multimodal que combina um modelo de visão computacional, para interpretar os mockups, com um modelo de linguagem de grande escala Large Language Model (LLM) adaptado através de fine-tuning para gerar o código final. A avaliação recorreu a um pipeline de testes automatizado e a métricas objetivas de qualidade, desempenho e produtividade, permitindo comprovar a viabilidade da automação inteligente na geração de interfaces. Os resultados obtidos evidenciam o potencial para reduzir o esforço manual, aumentar a consistência visual e acelerar o ciclo de desenvolvimento. Assim, a investigação realizada estabelece uma base sólida para futuras evoluções e para a industrialização desta abordagem em contextos organizacionais.