Made available in DSpace on 2016-06-02T19:06:04Z (GMT). No. of bitstreams: 1
5180.pdf: 8285938 bytes, checksum: 0110755140178ec91052f03c8f73ca2d (MD5)
Previous issue date: 2013-05-17 / Universidade Federal de Sao Carlos / Software development is an activity in constant change over time. Given the complexity and high cost that exists in software construction, there is high demand, especially in the software industries, for methodologies and tools that enable to increase software productivity by spending less time and effort in its development. Among the challenges that exist in Software Engineering, there is a need in knowing and exploring techniques and tools that enable to increase productivity and maintai software quality. Approaches related to model-driven development can be used as a starting point for modeling and to specify the requirements of a software system. Models provide a representation with higher level of abstraction of system design and assist to understand the system. Through the execution of model-to-code transformation mechanisms, implementation artifacts for different technologies can be generated based on data extracted and interpreted from models. Furthermore, reflexive metaprogramming is a technique that can be used to complement the code generation performed by model-to-code transformations, automating most of tasks of developers, such as CRUD (Create, Retrieve, Update, Delete) functionalities, freeing them to perform more important tasks in development process. Therefore, this research proposes a software process to guide professionals in developing applications using such techniques to accomplish code generation, in order to increase software productivity and facilitate maintenance. / O desenvolvimento de software é uma atividade em constante mudança ao longo do tempo. Diante da complexidade e do alto custo existente na construção de um software, existe uma grande demanda, sobretudo nas indústrias de software, por metodologias e ferramentas que possibilitem aumentar a produtividade de software, gastando menos tempo e esforços em seu desenvolvimento. Dentre os desafios existentes na Engenharia de Software, existe a necessidade de conhecer e explorar diferentes técnicas e ferramentas que viabilizem aumentar a produtividade mantendo a qualidade do software. Abordagens relacionadas ao desenvolvimento dirigido a modelos podem ser utilizadas como ponto de partida para modelar e especificar os requisitos de um sistema de software. Os modelos fornecem uma representação com maior nível de abstração do projeto do sistema e auxiliam na compreensão do sistema. Por meio da aplicação de mecanismos de transformação de modelos em código, é possível gerar código de artefatos de implementação para diferentes tecnologias a partir de dados extraídos e interpretados dos modelos. Além disso, a metaprogramação reflexiva é uma técnica que pode ser empregada para complementar a geração de código realizada por transformações de modelos, automatizando grande parte das tarefas do desenvolvedor, tais como as funcionalidades CRUD (Create, Retrieve, Update, Delete), liberandoo para atuar em outras tarefas mais importantes do processo de desenvolvimento. Dessa forma, este trabalho define um processo de software que visa orientar os profissionais no desenvolvimento de aplicações utilizando tais técnicas para realizar geração código, que tem como objetivo aumentar a produtividade de software e facilitar sua manutenção.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufscar.br:ufscar/528 |
Date | 17 May 2013 |
Creators | Papotti, Paulo Eduardo |
Contributors | Prado, Antonio Francisco do |
Publisher | Universidade Federal de São Carlos, Programa de Pós-graduação em Ciência da Computação, UFSCar, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Repositório Institucional da UFSCAR, instname:Universidade Federal de São Carlos, instacron:UFSCAR |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0029 seconds