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 905
  • Jogo sério para segurança rodoviária
    Publication . MAGALHÃES, DAVID OLIVEIRA; Carvalho, Carlos Miguel Miranda Vaz de
    Saber conduzir é essencial para grande parte das pessoas, as quais necessitam de adquirir a carta de condução e de se tornarem capazes de evitar acidentes na estrada. Por conseguinte, as escolas de condução desempenham um papel fundamental na sociedade atual. No entanto, o código da estrada é extenso e complexo, o que dificulta o seu ensino num espaço de tempo praticável. Assim, as reprovações em exames teóricos e práticos de condução são relativamente frequentes, causando gastos temporais e monetários adicionais a todos os envolvidos. Os simuladores e os jogos sérios têm emergido como uma nova e eficaz forma de aprendizagem em diversas áreas. Eles permitem aos utilizadores praticar a resolução de problemas reais sem os riscos e custos inerentes. Além disso, estas ferramentas podem proporcionar os primeiros passos de uma ambientação mais gradual às situações reais, contribuindo para a autoconfiança dos utilizadores. Esta dissertação descreve o desenvolvimento de um jogo sério para apoio na aprendizagem da condução e das regras subjacentes. O simulador disponibiliza mapas de exame construídos na execução, que são constituídos por diferentes situações de trânsito. Pretende-se desenvolver o conhecimento e a capacidade do utilizador através de desafios consecutivos e imprevisíveis. Para avaliar a utilidade e eficácia do simulador, foram efetuados inquéritos a voluntários em diferentes estados do percurso de obtenção da carta. Também se solicitou a colaboração de algumas escolas de condução, tendo sido obtidas diferentes perspetivas sobre o projeto. Os resultados foram positivos, pois a generalidade dos participantes considerou o simulador uma ferramenta interessante para a consolidação do conhecimento do código da estrada.
  • Sistema Help Desk Inteligente: Integração de chatbot e sistema de gestão automatizada de pedidos
    Publication . INÁCIO, DAVID AZEVEDO; Gomes, Luís Filipe de Oliveira
    Nos últimos anos, a crescente digitalização acentuou a dependência de software em praticamente todos os setores. Contudo, esta evolução não foi acompanhada por um aumento proporcional da literacia digital, criando uma lacuna entre a complexidade das aplicações e a capacidade dos utilizadores em interagir eficazmente com as mesmas. Este cenário reforça a importância da acessibilidade e do suporte como atributos centrais da qualidade de software. Em contextos empresariais, onde a pressão pelo desenvolvimento rápido frequentemente se sobrepõe a preocupações com a usabilidade, a ausência de mecanismos de suporte adequados traduz-se em frustração dos utilizadores, ineficiências e sobrecarga das equipas de suporte. Para responder a este desafio, esta dissertação propõe uma aplicação help desk inovadora, concebida como sistema facilmente integrável em qualquer aplicação e capaz de recorrer ao sistema de gestão de tickets já utilizado pela organização. A proposta assenta em dois elementos centrais: um chatbot com base de conhecimento atualizável e uma API que cria e gere pedidos diretamente em plataformas de gestão de tickets. O caso de estudo foi a aplicação Capla, da empresa Natixis, onde se verificou a necessidade de otimizar o suporte sem introduzir um novo sistema autónomo. A integração foi realizada com o Jira, sistema de gestão de tickets já consolidado na empresa, demonstrando que a solução pode ser aplicada em contextos reais sem exigir substituição das infraestruturas existentes. O desenvolvimento da solução foi sustentado por uma revisão aprofundada da literatura e do estado da arte em três eixos principais: help desk, chatbots e prompt engineering. Foram comparadas plataformas de construção de chatbots, analisados modelos de linguagem de grande escala (LLMs) adequados ao suporte e discutidas frameworks de back-end para o desenvolvimento da API. A arquitetura final resultou num protótipo modular, escalável e replicável em diferentes contextos empresariais, equilibrando inovação com viabilidade prática. O protótipo foi validado em cenários reais, revelando-se altamente eficaz. Os pedidos foram resolvidos com uma taxa de sucesso de 99%, registando apenas 1% de erros críticos. Recorrendo à solução desenvolvida, o tempo de resposta poderá passar de 24 horas para apenas alguns segundos, como demonstrado nos casos de estudo. O sistema assegurou ainda consistência na criação de tickets e capacidade de identificar tickets duplicados, reforçando a fiabilidade do processo. Estes resultados confirmaram a viabilidade da solução e o seu potencial para transformar a forma como aplicações empresariais oferecem suporte.
  • Gamificação para aumentar a produtividade académica
    Publication . SAMPAIO, CRISTÓVÃO GONÇALO MONTEIRO; Carvalho, Carlos Miguel Miranda Vaz de
    Esta dissertação apresenta a Time-o-Wisp, uma proposta gamificada para apoiar estudantes universitários na gestão do tempo e na redução da procrastinação, com atenção a perfis com Perturbação de Hiperatividade com Défice de Atenção (PHDA). A solução articula um núcleo funcional de registo consciente de duração e estimativas de tempo com uma camada narrativa gentil para sustentar motivação e consistência ao longo do tempo. Seguiu-se uma avaliação formativa de sete dias: questionário pré-estudo (n=10), recolha de feedback informal durante o uso e questionário final (n=8) com métricas de experiência e System Usability Scale (SUS). Os resultados sugerem boa usabilidade percebida (SUS=73/100) e valorização do tom encorajador/não punitivo e da simplicidade/rapidez do registo, mas com adoção heterogénea e pedidos de fluxos alternativos para iniciar registos. As implicações de design concentram-se em orientação contínua, maior flexibilidade na navegação e conteúdo sustentado/variado para manter o envolvimento. As limitações incluem amostra pequena de conveniência, janela temporal curta e ausência de grupo de controlo, recomendando estudos longitudinais com maior diversidade de participantes.
  • Implementação de DevSecOps no processo CI/CD
    Publication . SOARES, CRISTIANO MARTINS; Silva, Bruno Miguel Fernandes da
    Esta dissertação aborda a implementação de práticas DevSecOps no processo de integração contínua e entrega/ implantação contínua (CI/CD) na Natixis, com o objetivo de melhorar a segurança e qualidade do software entregue. À data do início do projeto, as pipelines de CI/CD da Natixis não integravam análises automatizadas de qualidade e segurança, aumentando a probabilidade de introdução de vulnerabilidades nos ambientes de produção. Esta dissertação propôs a implementação de uma solução que automatizasse a análise de qualidade e segurança ao longo do ciclo de desenvolvimento, minimizando riscos e aumentando a eficiência operacional. Através de uma análise comparativa das ferramentas de análise de código, segurança e testes, foi sugerida uma solução escalável que pode ser aplicada de forma global às várias equipas da empresa, promovendo a integração contínua de boas práticas de segurança no desenvolvimento. Os resultados observados incluem a redução de vulnerabilidades em produção, melhoria na qualidade do código e maior agilidade no desenvolvimento de software seguro e eficiente.
  • Otimização de prompts em Modelos de Linguagem de Grande Escala
    Publication . CUNHA, ANDRÉ MACHADO LEÃO DA SILVA; Martins, António Constantino Lopes
    A presente dissertação aborda o impacto das técnicas de prompt engineering na utilização de Modelos de Linguagem de Grande Escala (LLMs), com foco no domínio da programação. Apesar do enorme potencial destes modelos, a sua eficácia depende fortemente da formulação de instruções claras, contextualizadas e adequadas. Neste trabalho é proposto o desenvolvimento de um sistema capaz de gerar versões otimizadas de prompts fornecidos por utilizadores, aplicando estratégias de melhoria contínua e feedback. O sistema é avaliado através da comparação entre as respostas produzidas a partir dos prompts originais e otimizados, com recurso a métricas como precisão, e execução prática do código gerado. A investigação contribui para o aprofundamento do conhecimento sobre a engenharia de prompts e para a criação de interações mais eficazes e fiáveis com LLMs, oferecendo suporte prático a programadores e profissionais que dependem da qualidade das respostas para resolver problemas técnicos.
  • Using Game Analytics to facilitate players' information processing
    Publication . SACRAMENTO, ANDRÉ MIGUEL FERNANDES DO; Carvalho, Carlos Miguel Miranda Vaz de
    Game Analytics have become an increasingly relevant tool in understanding player behavior, identifying performance patterns, and supporting informed decision-making in competitive environments. In complex games such as League of Legends, the volume and granularity of available data frequently overwhelm players, and statistical information is often poorly communicated or outright omitted, impacting player experience, limiting their ability to process statistical data and transform raw statistics into actionable insights. This thesis addresses the research question of how to extract and analyze game information to positively impact player performance and experience. Using Design Science Research Methodology, a contextualized game analytics framework was developed that transforms raw statistical data into meaningful, actionable feedback. The solution consists of a web-based application that retrieves match information through official APIs, applies statistical thresholds for comparative analysis, and generates personalized conclusions highlighting player strengths and improvement areas. The system was implemented using modern web technologies and evaluated through a comprehensive user survey with 71 participants. Results demonstrate significant user acceptance, with 87% of participants reporting prior use of analytics tools, 80% indicating they modified their gameplay based on feedback, and 86.2% perceiving performance improvements from game analytics usage. The findings validate that properly contextualized game analytics can effectively facilitate player information processing and enhance gaming experience. This research contributes a validated framework for transforming complex gaming statistics into accessible insights, demonstrating how software engineering approaches can address information processing challenges in competitive gaming environments. The thesis acknowledges limitations including demographic bias toward experienced players and suggests future research directions in cross-game validation and longitudinal impact assessment.
  • Desenvolvimento de uma plataforma para simulação e otimização de redes de energia inteligentes com dados abertos
    Publication . SILVA, BERNARDO FILIPE DIAS; Carvalho, Piedade Barros Lopez
    Este relatório foi redigido no âmbito da unidade curricular Preparação para a Dissertação incluída no plano de estudos do Mestrado em Engenharia Informática do Instituto Superior de Engenharia do Porto. O projeto documentado foi desenvolvido pelo estagiário, membro da equipa de desenvolvimento do GILT. O GILT propôs o desenvolvimento de uma Plataforma para a Simulação e Otimização de Redes de Energia Inteligentes com Dados Abertos. O principal objetivo deste projeto/estágio consistiu na criação de uma plataforma que permita aos gestores de energia simular e otimizar redes de energia inteligentes (smart grids) de forma a maximizar a eficiência e integrar novas tecnologias. A plataforma desenvolvida possibilita a simulação de diferentes cenários de integração de fontes renováveis, como a solar e a eólica, e a análise do impacto de tecnologias emergentes, como os veículos elétricos e os sistemas de armazenamento de energia, nas redes elétricas. Para isso, a plataforma utiliza dados abertos que tornam os cenários simulados mais realistas e ajustados às condições do mercado energético atual. Para além dos gestores de energia, os consumidores beneficiam indiretamente ao contar com redes mais eficientes e sustentáveis. Os governos e os reguladores são também stakeholders-chave, considerando o papel da plataforma na promoção de políticas públicas, no cumprimento de normativos e no incentivo à integração de tecnologias limpas. Os desenvolvedores de tecnologia e as instituições académicas encontram na plataforma uma oportunidade para melhorar soluções inovadoras e realizar investigação que aborde cenários energéticos avançados. As comunidades locais são beneficiadas pelo aumento da inclusão e pela sustentabilidade das redes energéticas, enquanto os investidores vêm oportunidades de retorno financeiro ao apostar numa tecnologia que alia eficiência energética e inovação.
  • Refactor do sistema de reward tokens
    Publication . OLIVEIRA, BRUNO ALEXANDRE TOMÁS FERREIRA ABREU DE; Carvalho, Piedade Barros Lopez
    O presente projeto foi desenvolvido na empresa Blip, no âmbito do Mestrado em Engenharia Informática do ISEP, e responde a limitações identificadas no sistema de reward tokens da plataforma FanDuel. Este sistema, utilizado para personalizar e distribuir recompensas a milhões de utilizadores, apresentava elevados níveis de duplicação de código, dificuldade de manutenção e complexidade na criação de novos modelos de rewards. O principal objetivo foi o desenvolvimento de uma arquitetura modular e padronizada, baseada em microsserviços, que facilitasse a reutilização de componentes e a introdução eficiente de novos tokens. Para alcançar este objetivo, a abordagem combinou práticas ágeis com a metodologia Design Science Research (DSR), utilizando tecnologias como Java, Spring Framework, Docker, Kafka e Couchbase. A solução foi validada por meio de testes unitários, de integração, end-to-end, bem como uma avaliação estatística com a equipa. Os resultados demonstram uma redução de cerca de 75% na duplicação de código, promovendo uma base mais modular e reutilizável. O tempo médio de criação de novos modelos de reward passou de 4 a 8 semanas (dependendo da complexidade do modelo e dos tokens associados) para 3 a 6 semanas, representando uma melhoria significativa na eficiência do desenvolvimento. Além disso, verificou-se uma redução estimada de 40% nos erros de integração, contribuindo para uma maior escalabilidade, manutenção e fiabilidade do sistema, segundo a avaliação técnica da equipa de engenharia da Blip. Como contributo principal, a solução posiciona a Blip para responder de forma mais eficaz às exigências do mercado, reforçando a sua capacidade de inovação e alinhamento com as melhores práticas de engenharia de software e com os objetivos estratégicos da Flutter. Este trabalho estabelece, também, uma base sólida para futuras evoluções técnicas e organizacionais do sistema de rewards. No entanto, a solução poderá exigir adaptações adicionais em contextos com requisitos mais voláteis ou com sistemas legados complexos, o que se sugere com o trabalho futuro.
  • Resolver o problema de cold start e escassez de dados com algoritmos híbridos
    Publication . RIBEIRO, BRUNO FILIPE DE SOUSA; Santos, Joaquim Filipe Peixoto dos
    Os sistemas de recomendação tornaram-se indispensáveis no panorama digital, proporcionando personalização em setores como comércio eletrónico, saúde, media e retalho. No entanto, estes sistemas enfrentam desafios como o cold start, a escassez de dados, a privacidade e a transparência, que comprometem a sua eficácia e adoção generalizada. O projeto Environment Adaptive Recommendation System (EARS) aborda estas limitações através de uma abordagem inovadora baseada em aprendizagem federada. Este método permite o processamento descentralizado de dados, reduzindo os riscos associados à centralização e promovendo maior segurança e privacidade para os utilizadores. Para superar os problemas de cold start e escassez de dados, o EARS integra algoritmos híbridos que combinam filtragem colaborativa e baseada em conteúdo. Esta combinação permite oferecer recomendações mais precisas e personalizadas, mesmo em cenários onde os dados são limitados ou inexistentes. A solução foi validada através de cenários experimentais que demonstraram melhorias significativas na personalização, precisão e cobertura das recomendações, tanto em situações com abundância de dados como em contextos de cold start e escassez de dados. Os resultados confirmam a eficácia dos algoritmos híbridos em comparação com abordagens tradicionais, evidenciando ainda a escalabilidade e a robustez do sistema. Esta dissertação contribui, assim, para a evolução dos sistemas de recomendação ao propor uma solução prática e inovadora, capaz de responder a limitações destes sistemas. Para além disso, abre caminho a desenvolvimentos futuros, como a aplicação em diferentes setores e a realização de testes em ambientes mais amplos e realistas, de forma a consolidar o impacto e utilidade do EARS.
  • 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.