TCC - Bacharelado em Ciência da Computação (Sede)
URI permanente para esta coleçãohttps://arandu.ufrpe.br/handle/123456789/415
Navegar
8 resultados
Resultados da Pesquisa
Item Refatoração de arquiteturas monolíticas em microserviços no contexto de desenvolvimento de software global(2019) Gomes, Thiago Henrique Ferreira; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/2527989443347018In the past few years, the Global Software Development has been adopted by many companies, way as they can benefit from the advantages linked to the use of this practice, from the reduction of costs and time to market. However, this technique brings many challenges to the teams who use it. With this work, we aim to map the strategies of refactoring applications aligned with the architectural characteristics demanded bythe distributed software development environment. For this, we used the benefits de-riving from using a modern software architecture, the microservices architecture. We also analyze what kind of practices we could apply to evolve the current applications that use an old architecture, the monolithic architecture, to this architecture based on microservices. We conduct two systematic mappings, to analyze the state-of-art of soft-ware architecture on the Global Software Development environment and refactoring of monolithic to microservices applications, respectively. By the end, we execute an analysis to identify the practices of refactoring, and the benefits of using the microservices architecture can contribute to the success of a project on the GSD environment. Withthis, we were able to conclude that all the practices found during this work have positive impacts inside of the GSD environment, and we relate to the necessities of the GSD environment with the offered benefits by using the microservice architectureItem Gamificação aplicada na gestão de incertezas em projetos de software(2018) Duarte, Thiago Augusto Costa; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/5077077457690723The software market undergoes constant changes and new technologies are developed frequently, which stimulates competition between software companies. This environment brings a remarkable number of failures and uncertainties that can lead to failure. Based on the above considerations, it is important to highlight the relevance of a management that considers the importance of uncertainty management, which can directly affect the success of the project. The objective of this work is to propose a management approach to gamification uncertainties, in order to motivate the use of uncertainty management on an ongoing basis and thus increase the competitive advantages of organizations. Gamification is the application of game elements to processes in the real world, trying to achieve specific business goals by modifying people's behavior. Therefore, through the literature review, we sought to identify practices, techniques and strategies to support the management of uncertainties. Next, a gamification framework was elaborated, mapping the practices, techniques and uncertainty management strategies that can be explored in each orientation of the framework.Finally, the gamification uncertainty management approach was proposed. In this way, it is hoped to encourage the continuous use of the management of uncertainties in the organizations with the use of gamificationItem A Diagnoses Instrument for Software Engineers’ Soft Skills(2019) Bastos, Thiago Alves; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/9312633017399857The use of Agile Methodologies among the Software Development Projects have beingin creasing in recent years. These methodologies have a set of values and principles which are people-centered, increasing the importance of the people factors for the success of projects using Agile methodologies. However, these factors are not fully understood by practitioners who work within Agile teams. This reality created a gap between what the companies are expecting from their Software Engineers and whatthey really know, in terms of Soft Skills, especially in their first-time job. Therefore, basedon a Literature Review and on the opinion of the Software Engineers working withinAgile Teams in the Digital Port of Recife, this work developed the MVP of an instrument capable of making a self evaluation of the 8 most important Soft Skills for a Software Engineer working in an Agile environment. Raising awareness about the relevance ofthe Soft Skills for the career of a Software Engineer, highlighting what are the mostrelevant Soft Skills for them and also reducing the existent gap in the IT job market.Moreover, during this study it was created a Soft Skill Catalog, containing the synonyms and the definitions of these Soft Skills found in the Literature. Finally, it was possible to realize the relevance of the Soft Skills for the Software Engineers where Leader ship and Negotiation were the two less important and Communication was the most important and the developed instrument came out as an extremely important instrument, specially for the Software Engineers in the beginning of the career. More over, it was also possible to realize that there aren’t enough activities inside the companies to improve the Soft Skills of their Software Engineers and the existent activities are not aligned with their expectations.Item Guidelines para análise de viabilidade de projetos de automação de teste(2019) Silva, Tamires Pereira da; Furtado, Ana Paula Carvalho Cavalcanti; http://lattes.cnpq.br/5862330768739698; http://lattes.cnpq.br/4997802496764016Context: Performing tests is an essential activity in software development. Need some companies neglect their execution, with a justification of the effort and costs are not validin the project. With this, a test automation has emerged as an alternative to lessen these problems. But once solved, an automation, corrected, can make a project unfeasible,bringing more problems than solutions. The way to analyze is a feasibility of automatingthe automated testing of your deployment in a software project.Objective: This work,therefore, has as a goal a way of seeing the feasibility of an automation project, an increasing number of main tasks in the execution of the activity. From the data found, it isa way of performing an analysis of the feasibility of automation within a software project.Method: this proposal was elaborated with the intention of compiling a bibliographicalsurvey, in order to obtain the points of interest in the feasibility analysis, the meeting point was banned in the area, in order to compare the data contained in the results ofthe first part of search. The results were organized in the form of guidelines, validated from the execution of a case study.Results: The proposal was made according to the guidelines, which are points that must be included before starting an automation.The proposal was validated with a case body without the context of three reais. Ineach project, checklists were carried out in order to evaluate the possibility of using the automation.Conclusion: based on the results can be recognized as a whole, afeasibility analysis, there fore, represents a form of automation of the problems. The proposal of the guidelines was used through the case study as a way of validating the guidelines.Item Verificação de refinamento em diagramas de sequência com estruturas de controle(2019) Araújo, Daniel José Freire de; Lima, Lucas Albertins de; http://lattes.cnpq.br/0465071050875729; http://lattes.cnpq.br/5219541109924367The UML language offers several types of diagrams for system modeling, among themain behavioral diagrams is the sequence diagram. The sequence diagram can beused to model system use cases simply and visually. However, the UML language asa whole presents informal models that can only be verified by human experience. Thispaper refers to the continuation of a research line that aims to formalize UML sequence diagrams and perform refinement checks between diagrams.Here we propose aninitial version of a tool capable of translating UML sequence diagrams into CSP and perform-ing a refinement check using the FDR4 verifier. The differential point of this work isthe process of formalization of combined fragments that represent control structures insequence diagrams, here we will cover fragments such asoption,alternative, paralleland loop.Item Políticas para desenvolvimento de software seguro em times ágeis(2019) Bezerra, Carlos Magnum Matias; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/9077153013471246The values and principles of agile methodology ain to aggregate value to the business in a quick manner, being this agility, one of the critics factors for the successof this approaches. This success is crucial to attend the constant rising demand forsoftware, generated by the necessity of digital transformation. Currently, another concern, also resulting of this necessity, has gained more visibility, the cyber secu-rity. A lot of companies that have migrated for the digital world did not have thedue caution with the present threats in this scenery. As consequence, many security problems have being espoused in this past few years, this problems, tent to resultin social and financial losses. Software being one of the computational assets with the biggest expulser to this threats, the search for cyber security tend to become ademand. In this scenery, emerge the necessity to include security practices to the everyday live of the agile team. With the intent to contribute to the resolution ofthis task, this paper has as his goal to: establish cyber security policies, aggregating practices destined to the inclusion of security attributes to software projects, being developed for agile teams. To achieve this, it was necessary to perform a exploratory research through a bibliographic survey, to obtain an initial understanding of the problem and of the main approaches used to solve it. From the bibliography that itwas found it was considered only the research that present practices that included cyber security activities on software projects. Based on predefined criteria, an initialfiltering of the surveyed practices was conducted. The resulting subset was evaluatedby an agile development team with security expertise. The result of this evaluation evidenced the 14 (fourteen) most relevant practices and the stages of the development process to which they belonged. From the selected practices, five (5) policieswere structured and organized, then evaluated by experts, through interviews, tojudge their benefits for safety and applicability in agile teams. From the result of this assessment, it was concluded that 3 (three) of the policies were sufficiently ap-plicable to agile teams and contribute to project safety. Already 2 (two) of them,despite the security benefits, still need adjustments to make the incorporation viablein the agile world.Item Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal(2018) Pereira, Iverson Luís; Nogueira, Sidney de Carvalho; http://lattes.cnpq.br/9171224058305522; http://lattes.cnpq.br/1186672408246777There is an increasing interest in virtual robot programming environments for educational purposes in recent years. These environments are an alternative to the use of real robots, which have a high acquisition value. Automatic verification of robot programs is a demand of students and teachers that expect to have fast and automatic feed back about the correctness of robot programs.However,no free software provides an automatic verification of virtual robot programs. This work proposes an approach for the automatic verification of virtual robot programs authored in the educational language called ROBO. We propose a compiler that reads programs written in ROBO and translates its source code into a formal notation called CSP (Communicating Sequential Processes), which is the input to a model checking tool called FDR (FailuresDivergences Refinement). The compiler was implemented using the facilities of the Spoofax framework, which is used to define a parser for the ROBO language and a set of translation rules from ROBO to CSP. This work removes a limitation of our previous verification approach that does not perform the verification of ROBO programs containing variables and procedures. A significant contribution is the extension of the verification approach to allow the automatic analysis of ROBO programs with variables and procedures.The extension consists of the modification of the compiler Grammar by the inclusion of variables and procedures and the inclusion of translation rules that define the formal semantics for the elements added into the grammar.Moreover, the work proposes a tool that makes transparent the translation process from ROBO to CSP and the automatic verification using FDR.We validate the approach using the proposed tool to verify the behavior of a ROBO program with variables and procedures.Item Aplicação do processo de design no desenvolvimento de um produto de software para suporte à inovação social(2018) Santos, Juliana Ferreira dos; Souza, Ricardo André Cavalcante de; http://lattes.cnpq.br/7101881357139219; http://lattes.cnpq.br/8780029383567585Innovation can be described as a good Idea of solving a relevant problem implemented. Social Innovation is na innovation that at the same time meets a social need and creates new relationships or social collaborations. Social innovations of high impact and high scalability are generally aided by ICT(InformationandCommunicationTechnology).In thiscontext,this work presents the application of the Design Process for the inception, design and implementation of a software product to support Social Innovation. To do so, it was necessary to align the Design Process with a Social Innovation Model. The social innovation treated in this work consists in fomenting a social network of rainfall (Rainwater measurement) to support several áreas (agriculture, livestock, mobility, etc.) that use climatologic information in decision making. The developed software product maintains the Record and visualization of the pluviometric information shared by the people and consists of the first implemented capacity of a Time and Weather Collaboration Network.