TCC - Bacharelado em Ciência da Computação (Sede)

URI permanente para esta coleçãohttps://arandu.ufrpe.br/handle/123456789/415

Navegar

Resultados da Pesquisa

Agora exibindo 1 - 9 de 9
  • Imagem de Miniatura
    Item
    Aplicação de métodos ágeis em desenvolvimento global de software
    (2021-07-22) Alves, Annelyelthon Ferreira; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/8410367808658970
    Global Software Development (GSD) continues to grow and is rapidly becoming a standard, fundamentally different from local Software Engineering development. Withal, agile software development (ASD) has become an appealing choice for companies attempting to improve their performance although its methods were originally designed for small and individual teams. The current literature does not provide a cohesive picture of how the agile practices are taken into account in the distributed nature of software development: how to do it, who, and what works in practice. This study aims to highlight how ASD practices are applied in the context of GSD in order to develop a set of techniques that can be relevant in both research and practice. To answer the research question, ”how are agile practices adopted in agile global software development teams?” We conducted a systematic literature review and a survey with practitioners of the ASD and GSD literature. A synthesis of solutions found in seventysix studies provided 48 distinct practices that organizations can implement, including ”collaboration among teams”, ”agile architecture”, ”coaching”, ”system demo” and ”test automation”. These implementable practices go some way towards providing solutions to manage GSD teams, and thus to embrace agility.
  • Imagem de Miniatura
    Item
    Verificação eficiente de robôs educacionais
    (2021-03-03) Correia, Lucas Francisco Pereira de Gois; Nogueira, Sidney de Carvalho; http://lattes.cnpq.br/9171224058305522; http://lattes.cnpq.br/1957154709677653
    Educational robotics is an area of growing interest within educational institutions. Due to it's low cost, program environments for virtual robots have been developed to support the teaching of computing, programming and robotics concepts. The main debug tool available in such environments is the simulation of the robot within a virtual map. Debugging is performed by observing the robot moving across the map: it is not possible to analyze automatically if a program will manage to conclude a specific objective. Approaches to automatically analyze virtual robots are an important teaching tool for an eficient and accurate evaluation of robots. The objective of this project is to improve an automatic verification approach of robot programs. This approach translates programs in the ROBO language to the formal notation CSP and uses the FDR model checker to automatically analyze the program's behavior. The result returned by the model checker is used to inform if the analyzed program has the expected behavior. The main improvement proposed by this project is the implementation of a ROBO to CSP translator that generates a more eficient CSP model to be analyzed, if compared to the model produced by the previous translator. We could observe, through empirical evaluation, a significant reduction in the time to analyze the CSP models obtained from the new translator. The proposed translator presents an almost constant analysis time for the maps considered in the empirical evaluation, while analysis time of the models produced by the previous translator shows an exponential growth in relation to the map's size where the program is analyzed. Another contribution of this work is that the new translator accepts ROBO programs with any command of the language, while the previous translator could only deal with a subset.
  • Imagem de Miniatura
    Item
    Engenharia de requisitos ágil: extensão de uma revisão sistemática da literatura
    (2021-02-24) Menezes, Renato Vieira de; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/5357825214092807
    The recent daytoday reality of software engineers is determined by the practice of agile methods, motivating frequent questions in the community about how to adopt a more flexible and dynamic Requirements Engineering (RE), distinct from the traditional model. Agile methods do not have rules established for a single definition of how Requirements Engineering activities should be carried out. Exploring the advances of agile RE in diverse and challenging environments makes it suitable. Therefore, the objective of this Course Conclusion Paper (CCP) is to identify and understand the current scenario of the variety of use of practices / techniques that compose such activities, the important challenges and lessons learned. An extension of a systematic literature review study was conducted to carry out this analysis and the evidence is synthesized from sources published between 2017 and 2020. In addition to verifying, describing and directing the research regarding Agile Requirements Engineering, the work delivers a compiled of practices, observing the different contexts of projects and organizations.
  • Imagem de Miniatura
    Item
    Scaling agile methods in global software projects: Is it possible with SAFe?
    (2020-09-03) Figueredo, Rafael da Camara; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/1583800948677235
    Global Software Development (GSD) continues to grow substantially and it is fast becoming the norm and fundamentally different from local Software Engineering development. Withal, agile software development (ASD) have become an appealing choice for companies attempting to improve their performance although its methods were originally designed for small and individual teams. Despite it, agile practices in Global Software Development (AGSD) has become the main option to execute projects in distributed environments due to its benefits of better communication and coordination, improved productivity, and quality. However, while organizations continue to grow, the complexity and challenges arise fast, many companies are dealing with large-scale global projects and looking for how to adapt agile in those scenarios and scaling agile practices to coordinate them. The current literature does not provide a cohesive picture of how the agile practices are taken into account in the distributed nature, and also how to scale than in large-scale AGSD projects. It lacks data on how to use agile and also scale it in GSD settings, which agile and scaling agile practices work in Global Software Development (GSD) teams and who are supposed to apply them. Based on this literature gap, this study aims to highlight how ASD practices are applied in the context of GSD to develop a set of techniques that can be relevant in both research and practice. Furthermore, it also aims to highlight a set of agile practices that are used by GSD teams to scale agile and map those practices with Scaled Agile Framework (SAFe). To answer both of the research questions, first: “How agile practices are adopted in agile global software development teams?”, second: “Which practices reported in AGSD literature embrace practices from SAFe when adopting scale agile development?”. It was conducted a systematic literature review of the ASD, GSD, and AGSD literature. A synthesis of solutions found in seventy-six studies provided 48 distinct agile practices that organizations can implement in globally distributed settings. Furthermore, from those 48 agile practices, it was possible to identify 18 scaling agile practices embrace SAFe practices. These implementable practices go some way towards providing solutions to manage GSD with agility, while the linked SAFe practices provide guidelines for better scale agile in large-scale global projects.
  • Imagem de Miniatura
    Item
    Os efeitos da (in)felicidade no processo dedesenvolvimento de software
    (2019) Falcão, Tiago Coutinho; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/8796523691341550
    In the software development process, the main actor responsible for directly impacting production is the individual.With the increase of literature and professional experiences,as well as the importance of studying the human being, recent studies involving the human aspects in software engineering seek to relate psychological factors with exact sciences. Studies show that emotions such as (un) happiness in a software development environment are directly linked to software quality, affecting developer performance.Understanding happiness and unhappiness can be worked out in ways that improve work environment, productivity, and developer motivation. This paper aims to identifythe effects of (un) happiness on the performance of software developers operating in the state of Pernambuco. In this paper, we will analyze the effects and moderating fac-tors that influence the performance of developers when they are happy and un happy during the software development process. Based on a literature review and the opin-ion of those involved in software development, through a questionnaire, which was at-tended by 71 developers, the moderating factors capable of emotionally influencing theindividual leading to the improvement or worsening of their performance were raised.These include: negatively influencing mental and physical health and team motivation as a positive moderating factor.Although some companies have flexibility in many ways such as clothing, coffee breaks and leisure spaces, developer attention is often not explored individually. In this paper, we can conclude that factors such as Mental Health prove that care for the well-being of the individual is extremely important for the proper functioning of the development process.
  • Imagem de Miniatura
    Item
    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/9312633017399857
    The 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.
  • Imagem de Miniatura
    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/9077153013471246
    The 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.
  • Imagem de Miniatura
    Item
    Engenharia de software e métodos ágeis como forma de Inclusão
    (2019) Silva, Anderson Mateus da; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/5385133978429474
    Agile Methodologies have brought newi nsightint o how to develop software by focusing on individuals and relationships, on people and not on the software developed. Agile Methods also value the list of teams that have diversity, but only professional diver-sity is considered, where teams with professionals with different skills and knowledge facilitate self-sufficiency and consequently self-performance. However, the concept of diversity goes beyond this perspective, it is necessary to think about social diversity,think about inclusion and more than just include, integrate people into the team, inte-grate them into the organization. The human aspects of software engineering, studiedover 40 years ago, relate how individuals can develop their behavioral skills with in the context of software building environments. Such aspects can be enhanced through ag-ile practices, however, such practices do not actually have the perspective of inclusion,especially when talking about people with disabilities, so it is up to the team to create their own adaptations when this need exists.In this context,the objective of this paper isto identify the main techniques present in the literature, confront them with the reality of specialists who work ormanage agilete ams,being those with disabilities or people who worked coordinating teams with people with disabilities, and understand the challengesthey face during the developed projects. Based on a literature review and the opinionof agile practitioners through interviews, a series of techniques and strategies havebeen raised to help promote inclusion in agile teams. These include the Daily Meeting,Pair Programming, Planning Meeting, Review Meeting, Retrospective, Effort Estimat-ing, Workshop, and Code Challenges. Despite the use of these techniques, reliance onexternal factors such as specific tools or knowledge of sign language and inattention to make the environment conducive for professionals to feel confident and empoweredare the main challenges faced by agile teams with people with disabilities. Finally, acatalog is also proposed to support inclusion initiatives in agile teams, containing themain techniques mentioned in the literature and by agile professionals.
  • Imagem de Miniatura
    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/1186672408246777
    There 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.