Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/88079
Title: xGen: Plataforma de geração de código
Other Titles: xGen: Code generation platform
Authors: Sousa, Pedro Emanuel Oliveira Teixeira de
Orientador: Silva, Fernando José Barros Rodrigues da
Keywords: Geração de documentos; Indústria dos produtos de cosmética; Sistemas de informação; Desenvolvimento web; Geração de código; Code generation; Document assembly; Cosmetic products industry; Information systems; Web development
Issue Date: 23-Sep-2019
Serial title, monograph or event: xGen: Plataforma de geração de código
Place of publication or event: Instituto Pedro Nunes
Abstract: O trabalho realizado neste estágio insere-se em dois projetos. O xGen, que resulta do trabalho desenvolvido pelo Laboratório de Informática e Sistemas do Instituto Pedro Nunes para aplicação interna, e o VirtualLab, resultante do trabalho realizado pelo laboratório para a empresa Pharmilab.O projeto VirtualLab tem como objetivo desenvolver uma plataforma web que integra o processo de trabalho atual da Pharmilab para a produção de relatórios de segurança de produtos cosméticos. A Pharmilab passou a conseguir gerir toda a informação acerca dos produtos que analisa através da plataforma e utilizá-la para gerar esses mesmos relatórios, automatizando parte do seu processo que até então era manual.O projeto xGen visa o desenvolvimento de uma plataforma web que tem o propósito de otimizar o processo de desenvolvimento de software do laboratório recorrendo a geração de código. Acredita-se que esta mudança de paradigma levará rapidamente a uma forte redução do tempo despendido pelos programadores na produção de código repetitivo, ainda que distinto, e ao incremento da qualidade global do software produzido, quer por via de uma maior padronização dos componentes desenvolvidos, quer pelo facto de permitir os programadores terem mais tempo disponível para os processos de engenharia. O laboratório passou a ter uma ferramenta interna de trabalho que permite que os programadores desenhem os sistemas a desenvolver através de uma aplicação web e com um clique de rato obtenham um conjunto de código compilável de um software pronto para demonstração e que serve de fundação para a fase de implementação. A ferramenta deve ter também a capacidade de gerar um conjunto de documentação base do software gerado, de modo a otimizar também esta componente do processo de desenvolvimento.Antes de dar início à implementação das plataformas procedeu-se ao estudo do estado da arte, confirmando-se o carácter inovador de ambas as plataformas e onde se identificaram as tecnologias a usar para o desenvolvimento da componente de geração de documentos e da geração de código.A partir deste conhecimento, o estagiário propôs uma solução arquitetural para cada uma das plataformas, tendo sido definidos: padrão arquitetural, componentes do sistema, as interações que correm entre si, modelos de dados dos sistemas e tecnologias a utilizar.Finalmente, procedeu-se à implementação de ambas as soluções, estando a plataforma VirtualLab já em plena utilização e a xGen em processo de adoção em alguns projetos piloto. De referir que, no âmbito deste estágio, o desenvolvimento da plataforma xGen não poderia ser feito com o mesmo nível de qualidade sem a utilização de outros projetos que lhe servem de referência. Foi com este objetivo em mente que se decidiu a inclusão do projeto VirtualLab no âmbito do estágio, pelo facto de prestar um forte contributo na identificação dos padrões a utilizar no xGen e também na reutilização de conhecimento para a componente de geração de documentação. Paralelamente o estagiário acompanhou o desenvolvimento de outros projetos a decorrer no laboratório para a identificação das várias características comuns entre si.Aquando o término do estágio, o estagiário cumpriu com todos os objetivos a que se propôs, podendo já observar-se as vantagens da plataforma VirtualLab no processo do cliente, através da redução até 80% do tempo consumido na produção de relatórios e da xGen, onde rapidamente é possível criar um conjunto de ficheiros base que diminuem o tempo inicial de execução dos projetos. Paralelamente a este documento, foi também produzido um conjunto de outros documentos anexos que especificam os detalhes da implementação dos projetos.
This internship is part of two projects. xGen, which is the result of the work performed by the Laboratory for Informatics and Systems of Instituto Pedro Nunes for internal use, and VirtualLab, which results from the laboratory work performed for the company Pharmilab.The VirtualLab project aims to develop a web platform that integrates the already existent Pharmilab’s process of producing safety assessment reports about cosmetic products. Pharmilab is now able to manage all the information about the products that they analyze through the platform and they can use it to generate the respective documents, automating part of their process that was manual until then.The xGen project aims to develop a web platform that has the purpose of optimizing the software development process within the laboratory recurring to code generation. It is believed that this paradigm shift will quickly lead to a significant reduction in the time spent by programmers producing repetitive, but distinct, code and it will lead to the increased overall quality of the software produced, with greater assurance of standardization of the implemented components and allowing programmers to have more time available for engineering processes. The laboratory now has an internal working tool that allows programmers to design systems through a web application that, through a simple mouse click, empowers them to obtain a set of compiled code ready for demonstration, which serves as the foundation for the development implementation phase. This tool must also be able to generate a set of base documentation about the generated software, with the additional goal of optimizing this stage of the development process.Prior to the platforms’ implementation, the state of the art was studied, confirming the innovative characteristic of both platforms and concluding which technologies were to be used for the development of the document generation and code generation components.From this knowledge, the intern proposed an architectural solution for each platform, specifying the: architectural pattern, system components and interactions that happen between them, data models of the systems and technologies to use.Finally, both solutions were implemented, with the VirtualLab platform being already in full use and xGen being adopted in some pilot projects. Under this internship, the development of the xGen platform couldn’t be done with the same quality level without studying other reference projects. It is with this objective in mind that it was decided to include the VirtualLab project in the scope of the internship, due to the strong contribution it provided in identifying the standards to be used in xGen and also in reusing the acquired knowledge for the documentation generation component. At the same time, the intern accompanied the development of other projects under development in the laboratory to identify several common characteristics among themselves.Along with the completion of the internship, the intern satisfied all the objectives, being already possible to observe the advantages of the VirtualLab platform in the client processes, which reduces up to 80% of the time consumed in the production of reports, and of the xGen, where it is possible to quickly create a set of base files that decrease the initial execution time of the projects. Along with this document, a set of documents was also produced that specifies some particularities the projects.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: http://hdl.handle.net/10316/88079
Rights: closedAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat Login
Relatório.pdf2.35 MBAdobe PDFEmbargo Access    Request a copy
Show full item record

Page view(s)

30
checked on Jan 22, 2020

Download(s)

28
checked on Jan 22, 2020

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons