81 |
Cloud detours : uma abordagem para adaptação automática e não intrusiva de aplicações para ambientes de computação em nuvem / Cloud Detours: A Non-intrusive Approach for Automatic Software Adaptation to Cloud Environments (Inglês)Vasconcelos, Michel Araujo 21 December 2015 (has links)
Made available in DSpace on 2019-03-30T00:01:56Z (GMT). No. of bitstreams: 0
Previous issue date: 2015-12-21 / A major challenge regarding the migration of legacy (on-premise) applications to the cloud is the need to change the application's source code in order to comply with possible environment restrictions imposed by the target cloud platform as well as to take better advantage from inherit cloudcomputing benefits, such as resource elasticity and high scalability. When performed manually, those changes are error-prone and may require a great effort from application developers. This work presents a novel approach to support organizations in automatically adapting their existing software applications to the cloud environment. The approach is based on the specification, implementation and reuse of non-intrusive cloud-driven code transformations, called cloud detours, which enable the automatic replacement of local services used by an application with similar or functionally related services available in the cloud. To illustrate the feasibility of the proposed approach, an initial set of cloud detours has been implemented for Java and Python using aspectorientedprogramming and a generic cloud API, which was then used to seamlessly adapt an existing file-based Java application to store application data in a cloud-based storage service.
Keywords: Aspect-oriented software engineering. Software maintenance.Software reuse.
CloudComputing. / Um dos grandes desafios associados à migração de aplicações para a nuvem é a necessidade de realizar mudanças em seu código fonte visando torná-lo compatível ou melhor adaptado a este novo ambiente. Tais mudanças, se feitas manualmente, tendem a demandar um esforço considerável por parte dos desenvolvedores da aplicação, além de poder introduzir novos erros de implementação. Este trabalho apresenta uma nova abordagem para a adaptação automática de aplicações para a nuvem. A abordagem proposta tem como base a especificação, implementação e reutilização de um conjunto de transformações de código não intrusivas, denominadas clouddetours, as quais permitem substituir automaticamente, sem a necessidade alterações diretas no código fonte, um ou mais serviços requeridos pela aplicação (por exemplo, serviços de armazenamento de arquivos ou de banco de dados) por serviços similares disponíveis na nuvem. Resultados preliminares, obtidos a partir da adaptação de uma aplicação Java existente para utilizar um serviço de armazenamento de uma nuvem pública, ilustram a efetividade da abordagem.
Palavras-chave:CloudComputing. Orientação a Aspectos. Engenharia de Software. Migração para Nuvem. Reuso.
|
82 |
Uma abordagem de migração para arquitetura microservices a partir de aplicações monolíticas em produção / An Approach for Migration to the Microservices architecture from Monolithic Applications in Production (Inglês)Carvalho, Luis Heustakio Lima 15 December 2017 (has links)
Made available in DSpace on 2019-03-30T00:08:37Z (GMT). No. of bitstreams: 0
Previous issue date: 2017-12-15 / The recent Microservices paradigm is gaining a lot of attention from industry and academia and is transforming the way to develop software. With the goal of improving productivity of development teams, this paradigm transforms the way to modularize software in a collection of small independent distributed programs, called Microservices that used to be located into a single program unit, called Monolith. This paradigm changes the way to build software as the old monolith´s modules can be developed, deployed, monitored and scaled in an independent fashion improving productivity and modularization, however bringing some challenges such as a more automated deployment management and the use of various databases. Some reference Microservices implementations are already in production in the market such as Amazon and Netflix software and are showing the benefits of the paradigm. This work proposes an approach for the migration of Monolith applications for the Microservices paradigm addressing the whole software development lifecycle. The approach defines the processes involved in this task that are based on the best practices of the current state of the art. Moreover, the approach focuses on supporting applications that are already under production without affecting its current development and the clients of the software. A real Case Study was conducted in a software development company that applied the proposed approach and enabled migrating the architecture of a commercial application from Monolith to Microservices without affecting its use by clients and achieving benefits such as improved modularization, as well as reduced build and deployment times.
Keywords: Architecture, Monolithic, Microservices, Migration, Process, Production / O recente paradigma de Microservices vem ganhando bastante atenção do mercado e comunidade acadêmica e transformando a maneira de se desenvolver software. Com o objetivo de aumentar a produtividade das equipes de desenvolvimento, este paradigma transforma a maneira de se modularizar o software através da distribuição de um conjunto de pequenos programas independentes, chamados Microservices, que antes eram localizados dentro de uma única unidade de implantação, chamado Monolítico. Este paradigma muda a maneira de se construir software, pois os antigos módulos do monolítico podem ser construídos, implantados, monitorados e escalados de forma independente trazendo mais produtividade e desacoplamento, mas também impactando em uma série de desafios como uma gestão mais automatizada da implantação e a utilização de várias bases de dados. Algumas implementações referências baseadas em Microservices já estão em pleno funcionamento no mercado como os sistemas da Amazon e Netflix e demonstrando os benefícios do paradigma. Este trabalho propõe uma abordagem para migração de aplicações monolíticas para o padrão Microservices que contempla todas as atividades do ciclo de desenvolvimento de software. A Abordagem define os processos envolvidos nesta tarefa que são baseados nas melhores práticas sugeridas pelo atual estado da arte. Além disso, a abordagem proposta foca-se em dar suporte à migração de aplicações que já estão em produção sem afetar o desenvolvimento da mesma e os clientes que já utilizam o software. Um estudo de caso real foi desenvolvido em uma empresa de software cuja utilização da abordagem proposta conseguiu migrar a arquitetura monolítica de uma aplicação comercial sem afetar seu uso por parte dos clientes e atingindo benefícios como melhor modularização, redução do tempo de construção (build) e implantação.
Palavras-chave: Arquitetura, Monolítica, Microserviços, Migração, Processo, Produção
|
83 |
Uma abordagem para o desenvolvimento de software que utilizam blockchain / An approach to developing software that uses blockchain (Inglês)Almeida, Samantha Kelly Soares de 22 December 2017 (has links)
Made available in DSpace on 2019-03-30T00:14:16Z (GMT). No. of bitstreams: 0
Previous issue date: 2017-12-22 / Lately Blockchain technology has been gaining market visibility. The popularization of this concept can be attributed to the exponential success of the Bitcoin cryptocurrency, launched in 2008 by Satoshi Nakamoto. The disruptive vision of this technology and the diverse possibilities of application in different businesses have been generating a series of changes and investments in the market, especially the financial sector. The emergence of several Fintechs (Startups in the financial sector) focused on software using Blockchain demonstrates the investments made to advance this technology. In this work, a bibliographical research was carried out in order to understand the state of the art of Blockchain and an experience of use was developed, where an application was developed using this technology, being source of information for the detailed definition of a software development process, based on Lean Startup, to support startups working with projects involving Blockchain.
Keywords: Software Development, Process, Blockchain, Startup. / Ultimamente a tecnologia de Cadeia de blocos (Blockchain) vem ganhando visibilidade no mercado. A popularização deste conceito pode ser atribuída ao sucesso exponencial da criptomoeda Bitcoin, lançada em 2008 por Satoshi Nakamoto. A visão disruptiva dessa tecnologia e as diversas possibilidades de aplicação em negócios distintos vêm gerando uma série de mudanças e investimentos no mercado, destacando-se principalmente o setor financeiro. O surgimento de diversas Fintechs (Startups do setor financeiro) voltadas a softwares que utilizam Blockchain demonstra os investimentos ocorridos para o avanço dessa tecnologia. Neste trabalho, foi realizada uma pesquisa bibliográfica a fim de compreender o estado da arte de Blockchain e foi também executada uma experiência de uso, onde foi desenvolvido um aplicativo utilizando esta tecnologia, sendo fonte de informações para a definição detalhada de um processo de desenvolvimento de software, baseado em Lean Startup, para apoiar startups a trabalharem com projetos que envolvam Blockchain.
Palavras-chave: Desenvolvimento de Software, Processo, Blockchain, Startups.
|
84 |
Uma abordagem para migração de aplicações monolíticas para microservices baseada em programação orientada a aspectos / An Approach for Migrating Monolithic Applications to Microservices based on Aspect-Oriented Programming (Inglês)Medeiros, Otavio Soares Cavalcante de 14 December 2018 (has links)
Made available in DSpace on 2019-03-30T00:23:41Z (GMT). No. of bitstreams: 0
Previous issue date: 2018-12-14 / Recently, organizations are facing difficulties related to the migration of their systems in production from a traditional monolithic architecture to a distributed, decoupled solution based on a set of services developed, deployed and scaled independently, called microservices. An example of success of implementation of this pattern is the Netflix software whose migration process took 10 years due to the complexity involved in migrating a solution that was already in production with a vast customer base. This work proposes an approach for migrating monolithic systems to microservices based on the concept of aspect-oriented programming that enables a simple way to implement the migration in a gradual fashion with few code changes. This enables not only to change the monolithic code gradually, but also to switch back to the monolithic easily by switching off the aspects based on configuration properties. A case study conducted demonstrates the efficiency of the approach for migrating a real monolithic application with low effort and few code changes.
Keywords: Software Engineering. Architecture. Monolithic. Microservices, Migration Process. Production. Distributed Computing / Recentemente, organizações estão enfrentando dificuldades na migração de seus sistemas em produção de um modelo arquitetural tradicional monolítico para uma arquitetura de solução distribuída e mais desacoplada baseada em um conjunto de serviços desenvolvidos, implantados e escalados de forma independente, chamados microservices. Um exemplo de sucesso de implementação deste padrão é o software Netflix cujo processo de migração levou 10 anos devido à complexidade envolvida em migrar uma solução já em produção e com uma vasta base de clientes. Este trabalho propõe uma abordagem para a migração de sistemas monolíticos para microservices baseado no conceito de programação orientada a aspectos, que permite uma maneira simples de realizar a migração de forma gradual e com poucas modificações no código do monolítico. Isso permite não apenas migrar a aplicação aos poucos, mas também voltar para o monolítico facilmente apenas através da desativação dos aspectos baseado em propriedades de configuração. Um Estudo de caso realizado demonstra a eficácia da abordagem na migração de uma aplicação real monolítica com pouco esforço e poucas modificações no código.
Palavras-Chave: Engenharia de Software. Arquitetura. Monolítico. Microservice. Processo de Migração. Produção. Computação Distribuída
|
85 |
TUCP-M - pontos de casos de uso técnicos para manutenção de softwareFreire, Yara Maria Almeida 30 June 2008 (has links)
Made available in DSpace on 2019-03-29T23:15:43Z (GMT). No. of bitstreams: 0
Previous issue date: 2008-06-30 / Software maintenance is considered the phase that begins right after the implantation of the software product. Research shows the quantity of software maintenance projects in organizations to be much higher than development projects for new applications, requiring greater effort and expenditures, particularly related to critical software to the institutions. In virtue of this diagnosis, it is fundamental to adequately estimate software projects of this nature, with better planning and monitoring. A variety of techniques were proposed and used to calculate the software project estimates. However, most of the existing techniques are more adequate for software development projects or do not deal with the peculiarities of software maintenance. This paper proposes a technique that calculates estimates for software maintenance projects, using the TUCP (Technical Use Case Points), used in estimates of software development projects, based on use cases. TUCP-M (Technical Use Case Points for Software Maintenance) allows for a more accurate and simple calculation for estimating size, effort, schedule and costs of software maintenance projects.
Keywords
Metrics, Software Maintenance, Software Estimation. / Considera-se a manutenção de software como a fase iniciada logo após a implantação do produto de software. Pesquisas evidenciam que a quantidade de projetos de manutenção de software nas organizações é bem superior aos projetos de desenvolvimento de novos aplicativos, exigindo maior esforço e custo, particularmente relacionados a software críticos para as organizações. Em virtude desse diagnóstico é fundamental estimar adequadamente projetos de software dessa natureza, objetivando um melhor planejamento e monitoramento. Diversas técnicas foram propostas e utilizadas para calcular as estimativas de projetos de software. Entretanto, a maioria das técnicas existentes é mais adequada para projetos de desenvolvimento de software ou não tratam todas as peculiaridades da manutenção de software. Este trabalho propõe uma técnica para calcular estimativas de projetos de manutenção de software, estendendo a técnica TUCP (Pontos de Caso de Uso Técnico), utilizada em estimativas de projetos de desenvolvimento de software, baseada em casos de uso. A TUCP-M (Pontos de Caso de Uso Técnico para Manutenção de Software) permite um cálculo mais acurado, e de forma simples, para a estimativa de tamanho, esforço, prazo e custo de projetos de manutenção de software.
Palavras-Chaves
Métrica, Manutenção de Software, Estimativa de Software.
|
86 |
Uma abordagem para a gerência de recursos humanos de organizações de software / Uma Abordagem para a Gerência de Recursos Humanos de Organizações de Software (Inglês)Morais, Shamya Ribeiro Gomes 27 August 2009 (has links)
Made available in DSpace on 2019-03-29T23:17:11Z (GMT). No. of bitstreams: 0
Previous issue date: 2009-08-27 / This work deals with human resources management (HRM), highlighting that only organizations which know how to manage adequately their human capital, the main organizational asset, will obtain the success. However, to manage human resources is not a trivial task and can be thought as a long term process that encompasses the need of a large organizational culture change. This dissertation presents a process to manage the human resources of software organizations, considering the following organizational processes: training, hiring and selection, collaborator's performance evaluation and knowledge management, which permit to identify critical points and to define an effective program of human resource management. This process is adherent to MPS.Br and was set from an extensive literature review, being executed some activities on a real experience. This work could provide a better understanding of the importance of establishing a process of HRM,
well organized and based on best practice national and international organizations for success in today's Learning Society.
Keywords: Software Engineering, Software Quality, Human Resources Management, MPS.Br. / Este estudo trata do tema gerência de recursos humanos (GRH), destacando que as organizações somente serão bem sucedidas se souberem escolher a forma adequada de gerenciar seu capital humano, atualmente, o principal ativo organizacional. Atentando para o fato de que gerenciar recursos humanos não é uma tarefa simples, trata-se de um processo de longo prazo e que envolve, necessária e principalmente, uma grande mudança da cultura organizacional. Este trabalho apresenta uma proposta para um processo de Gerência de Recursos Humanos, considerando os processos organizacionais de treinamento, recrutamento
e seleção, avaliação de desempenho dos colaboradores e gestão do conhecimento. O referido processo é aderente ao MPS.Br e foi definido a partir de uma ampla revisão bibliográfica, tendo sido executadas algumas de suas atividades em um caso real. Com este trabalho podemos ter uma maior compreensão da importância da implantação de um processo de GRH, bem organizado e baseado em boas práticas nacionais e internacionais, para o sucesso das organizações na atual Sociedade do Aprendizado.
Palavras chave: Engenharia de Software, Qualidade de Software, Processo de Recursos Humanos, MPS.Br.
|
87 |
Uma abordagem de gestão e desenvolvimento de automatização de processos de negócios com apoio de BPMS / An Approach of Management and Development Business Process Automation with BPMS support. (Inglês)Ramos, Luana Pires 19 December 2014 (has links)
Made available in DSpace on 2019-03-29T23:52:39Z (GMT). No. of bitstreams: 0
Previous issue date: 2014-12-19 / In response to the current challenges in combining BPM (Business Process Management) discipline concepts to Software Engineering concepts, regarding to best practices, planning activities and efficient collaboration between the areas of Process, Business and IT, this work presents an approach, which was being evolved from the execution of action research cycles. It is proposed an instantiation process of system development involving automation of business processes supported by BPMS. This approach serves as both a guide for IT professionals to better understand the BPM discipline and for business professionals who need to take ownership of existing technologies in organization. This approach plays a key role in building business process adherent to the reality and in alignment with organizational goals. Thus, the main contribution of this work was to make explicit the knowledge about projects involving automation of business processes supported by BPMS in the institution.
Keywords: BPM, BPMS, Process Automation, Software Engineering, System Development Process. / Em resposta aos desafios atuais em combinar conceitos da disciplina de BPM (Business Process Management) aos conceitos de Engenharia de Software com relação às melhores práticas, atividades de planejamento e colaboração eficiente entre as áreas de Processos, Negócios e TI, este trabalho apresenta uma abordagem, que foi sendo evoluída a partir da execução de ciclos de pesquisa ação. É proposto um processo de instanciação de desenvolvimento de sistema que envolve automatização de processos de negócio apoiados por BPMS para a instituição em estudo. Esta abordagem serve como um guia para os profissionais de TI entender melhor a disciplina BPM e para os profissionais de negócio que precisam se apropriar das tecnologias existentes. Esta abordagem tem um papel fundamental na construção de processos de negócio aderente à realidade e em alinhamento com os objetivos organizacionais. Assim, a principal contribuição deste trabalho foi tornar explícito o conhecimento sobre projetos que envolvem a automatização de processos de negócio suportados por BPMS na instituição.
Palavras-chave: BPM, BPMS, Automatização de Processos, Engenharia de Software, Processo de Desenvolvimento de Sistema.
|
88 |
Gerenciamento da qualidade : uma nova disciplina para o RUPAmorim, Livia Nojoza 10 November 2005 (has links)
Made available in DSpace on 2019-04-05T23:03:15Z (GMT). No. of bitstreams: 0
Previous issue date: 2005-11-10 / As the globalized society has software s dependence more and more, there is a great
concern about to get the software quality. Organizations have adopted approaches to assure
software quality, based on quality models, as CMMI, or software processes frameworks, as
Unified Process (UP). UP is a software engineering process that aims to ensure the
development of high-quality software that meets the needs of its users, within a predictable
schedule and budget This work analyses software quality approach on UP, comparing with
market s quality models and standards and proposes a new discipline for UP, named Quality
Management, that goal is establishing actions that contributes for quality software process in
UP. The proposal discipline aims providing supplements for identified deficiencies on UP s
software quality approach, by executing quality assurance activities on projects. The new
discipline is aligned to requirements of ISO/IEC 12207 and CMMI. This discipline was
applied on three software projects in two different software development organizations,
supporting the problems prevention on process quality and improving quality software
products. / Com a crescente dependência da sociedade em relação a produtos de software, há uma
maior preocupação em como obter software de qualidade. As organizações têm adotado
abordagens para garantir a qualidade de software, baseado em modelos de qualidade como
CMMI, ou em processos de software, como o Processo Unificado (UP). O UP é um processo
que objetiva garantir a produção de software de qualidade, atendendo as necessidades de
usuários por meio de cronogramas e custos previsíveis. Este trabalho analisa a abordagem de
qualidade de software do UP em relação a modelos e padrões de qualidade utilizados no
mercado e propõe uma nova disciplina para o UP, denominada de Gerenciamento da
Qualidade, com o objetivo de estabelecer ações que contribuam para a qualidade do processo
de software do UP. A disciplina proposta visa suprir deficiências identificadas na abordagem
de qualidade de software do UP, por meio da execução de atividades de garantia de qualidade
em projetos, e está alinhada à ISO/IEC 12207 e ao CMMI. Essa disciplina foi aplicada em
projetos de software em duas organizações produtoras de software, auxiliando a prevenir
problemas na qualidade de processo e melhorando a qualidade do software desenvolvido.
|
89 |
Framework functest : aplicando padrões de software na automação de testes funcionaisOliveira, Rafael Braga de 28 December 2007 (has links)
Made available in DSpace on 2019-04-05T23:09:34Z (GMT). No. of bitstreams: 0
Previous issue date: 2007-12-28 / The functional testing automation has become a real interest for software development teams, mainly because of the great cost reduction and of the increase of productivity observed on medium and long terms with the use of this practice. This article proposes a framework to improve reusability and manutenability of automated test suites. The proposal was developed on SERPRO and has been used in real projects. The framework, called FuncTest, apply software patterns and the Data-driven and Keyword-driven techniques to organize automated test suites. The efforts to improvement the FuncTest intend to adapt it for generating tests automatically using Model-based Testing technique. / A execução automatizada de testes funcionais tem se tornado um evidente atrativo para empresas de desenvolvimento de software. Tal fato se deve principalmente à grande redução de custo e ao aumento de produtividade observados a médio e a longo prazos com o uso desta prática. Este trabalho propõe um framework para ampliar a reusabilidade e a manutenibilidade de suítes de teste automatizadas. A solução foi desenvolvida no SERPRO e utilizada em projetos reais. O framework, denominado FuncTest, utiliza padrões de software e aplica as técnicas Data-driven e Keyword-driven na estruturação de suítes de teste automatizadas. As iniciativas de aperfeiçoamento do framework visam adaptá-lo para a geração automática de testes usando-se a técnica Model-based Testing.
|
90 |
CMMI Metrics Solution at Qimonda Portugal, S. A.Lessa, André Filipe Lourenço January 2008 (has links)
Estágio realizado na Qimonda e orientado pelo Eng.ª Teresa Carreiro / Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 2008
|
Page generated in 0.0369 seconds