51 |
"Modelo de avaliação do processo de gerência de configuração de software" / "Evaluation model of software configuration management process"Cia, Thais Miranda 10 May 2006 (has links)
A gerência de configuração vem sendo estudada desde os anos sessenta. Inicialmente, era aplicada da mesma forma para software e hardware, sendo que no final dos anos setenta já havia padrões de gerência de configuração específicos para software. Com a crescente demanda por qualidade de software, as práticas de gerência de configuração vem sendo cada vez mais utilizadas no desenvolvimento de software, uma vez que a gerência de configuração de software é um dos processos fundamentais para se ter qualidade no desenvolvimento e manutenção de software. Embora cada vez mais amplamente utilizado, não existe um consenso de práticas e nomenclaturas sobre as práticas de gerência de configuração. Dessa forma, o objetivo deste trabalho é elaborar um modelo de avaliação do processo de Gerência de Configuração, que permite avaliar as práticas e processos fundamentais para a implantação da gerência de configuração, levando em consideração as práticas e processos descritos nas principais normas internacionais de desenvolvimento de software. Esse modelo de avaliação também permite que as ferramentas disponíveis para gerência de configuração sejam avaliadas, identificando quais práticas e processos elas auxiliam na execução. / The Configuration Management has been studied since the 70s. In the beginning it was applied in the same way for software and hardware, but in the late 70s there were some specific configuration management patterns defined for software. The demand for software quality has increased recently, this way the configuration management practices have been more used in software development, because the software configuration management is one of the most important processes to assess quality during software development or maintenance. Although its use is increasing, there is no consensus about the configuration management practices and the names applied to them. The objective of this work is to elaborate an evaluation model for configuration management process, to evaluate the practices and the fundamental processes to perform configuration management, based on the most important software development standards. This evaluation model can also be used to evaluate configuration management tools, identifying what practices and process it help to execute.
|
52 |
"Modelo de avaliação do processo de gerência de configuração de software" / "Evaluation model of software configuration management process"Thais Miranda Cia 10 May 2006 (has links)
A gerência de configuração vem sendo estudada desde os anos sessenta. Inicialmente, era aplicada da mesma forma para software e hardware, sendo que no final dos anos setenta já havia padrões de gerência de configuração específicos para software. Com a crescente demanda por qualidade de software, as práticas de gerência de configuração vem sendo cada vez mais utilizadas no desenvolvimento de software, uma vez que a gerência de configuração de software é um dos processos fundamentais para se ter qualidade no desenvolvimento e manutenção de software. Embora cada vez mais amplamente utilizado, não existe um consenso de práticas e nomenclaturas sobre as práticas de gerência de configuração. Dessa forma, o objetivo deste trabalho é elaborar um modelo de avaliação do processo de Gerência de Configuração, que permite avaliar as práticas e processos fundamentais para a implantação da gerência de configuração, levando em consideração as práticas e processos descritos nas principais normas internacionais de desenvolvimento de software. Esse modelo de avaliação também permite que as ferramentas disponíveis para gerência de configuração sejam avaliadas, identificando quais práticas e processos elas auxiliam na execução. / The Configuration Management has been studied since the 70s. In the beginning it was applied in the same way for software and hardware, but in the late 70s there were some specific configuration management patterns defined for software. The demand for software quality has increased recently, this way the configuration management practices have been more used in software development, because the software configuration management is one of the most important processes to assess quality during software development or maintenance. Although its use is increasing, there is no consensus about the configuration management practices and the names applied to them. The objective of this work is to elaborate an evaluation model for configuration management process, to evaluate the practices and the fundamental processes to perform configuration management, based on the most important software development standards. This evaluation model can also be used to evaluate configuration management tools, identifying what practices and process it help to execute.
|
53 |
Comparação entre desenvolvedores de software a partir de dados obtidos em repositório de controle de versão / Comparison of software developers from data obtained from version control systemsMoura, Marcello Henrique Dias de 22 March 2013 (has links)
Submitted by Erika Demachki (erikademachki@gmail.com) on 2017-11-06T19:48:59Z
No. of bitstreams: 2
Dissertação - Marcello Henrique Dias de Moura - 2013.pdf: 3325482 bytes, checksum: 45be62e46fd5fda90d1d0561482a3d85 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Erika Demachki (erikademachki@gmail.com) on 2017-11-06T19:49:14Z (GMT) No. of bitstreams: 2
Dissertação - Marcello Henrique Dias de Moura - 2013.pdf: 3325482 bytes, checksum: 45be62e46fd5fda90d1d0561482a3d85 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2017-11-06T19:49:14Z (GMT). No. of bitstreams: 2
Dissertação - Marcello Henrique Dias de Moura - 2013.pdf: 3325482 bytes, checksum: 45be62e46fd5fda90d1d0561482a3d85 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Previous issue date: 2013-03-22 / Version Control Systems are repositories that store source code changes done by software
developers. Research that extracts data from these repositories for analysis can be classified
into two groups: those that focus on the development process and the ones that focus
on the developers. The present dissertation investigates the second case and contributes to
the field by providing: (a) the definition of a history file that summarizes changes made to
software in line and file levels, (b) a set of metrics to evaluate the work of the developers;
and (c) two approaches for comparing the developers based on their metrics. A computational
system that implements these metrics and approaches was built and applied to
two case studies of real software development projects. The results obtained in the studies
were positive. They were consistent with the general perception of project managers
about the work done by the developers. They also leaded to new ideas for improving the
research.We believe that these contributions are a step towards a better understanding and
characterization of the way about how software developers work. / Repositórios de Controle de Versão são sistemas que armazenam mudanças no código
fonte realizadas por desenvolvedores de software. As pesquisas que extraem dados desses
repositórios para análise podem ser classificadas em dois grupos: as que focam no
processo de desenvolvimento e as que focam no desenvolvedor. O presente trabalho
investiga o segundo aspecto contribuindo para o assunto com: (a) a definição de um
histórico de arquivos que sumariza as mudanças realizadas no software em nível de linha
e de arquivo; (b) um conjunto de métricas visando avaliar o trabalho dos desenvolvedores;
e (c) duas propostas de abordagem para comparar os desenvolvedores. Um sistema
computacional que implementa essas métricas e as abordagens foi construído, tendo
sido aplicado em dois estudos de casos envolvendo projetos reais de desenvolvimento de
software. Os resultados obtidos nos estudos foram positivos, coincidindo, em geral, com
a percepção de gerentes de projetos sobre o trabalho dos desenvolvedores e apontando
para novas ideias de evolução da pesquisa. Consideramos que este é um passo no sentido
de entender e caracterizar melhor a forma de trabalho dos desenvolvedores.
|
54 |
Průzkum vlastnictví kódu ve velké organizaci / Code Ownership Research in Large OrganizationŠimonek, Jan January 2015 (has links)
This master's thesis is about code ownership in software projects and creating a tool that would improve cooperation by identifying code owners. The theoretical foundation for code ownership starts from Extreme Programming, explaining models of code ownership and the impact of code ownership on cooperation among teams and team members. The concept is demonstrated on a concrete software firm, where a potential for improvement is identified. The potential is exploited by a software tool, which is designed in the this thesis. The tool is capable of identifying code owners and experts for specific areas in the code based on data gathered from a version control system. The resulting information is made easily accessible. The tool is used to conduct a code ownership research in several projects, which allows me to confirm accuracy of the results. Usability and benefits of the tool is discussed in the final chapter.
|
55 |
An Empirical Study on AI Workflow Automation for Positioning / En empirisk undersökning om automatiserat arbetsflöde inom AI för positioneringJämtner, Hannes, Brynielsson, Stefan January 2022 (has links)
The maturing capabilities of Artificial Intelligence (AI) and Machine Learning (ML) have resulted in increased attention in research and development on adopting AI and ML in 5G and future networks. With the increased maturity, the usage of AI/ML models in production is becoming more widespread, and maintaining these systems is more complex and likely to incur technical debt when compared to standard software. This is due to inheriting all the complexities of traditional software in addition to ML-specific ones. To handle these complexities the field of ML Operations (MLOps) has emerged. The goal of MLOps is to extend DevOps to AI/ML and therefore speed up development and ease maintenance of AI/ML-based software, by, for example, supporting automatic deployment, monitoring, and continuous re-training of models. This thesis investigates how to construct an MLOps workflow by selecting a number of tools and using these to implement a workflow. Additionally, different approaches for triggering re-training are implemented and evaluated, resulting in a comparison of the triggers with regards to execution time, memory and CPU consumption, and the average performance of the Machine learning model.
|
56 |
Systém pro kontinuální integraci projektu k-Wave / Continuous Integration System for the k-Wave ProjectNečas, Radek January 2016 (has links)
The main goal of this thesis is to describe the implementation of continuous integration into the k-Wave project. The thesis focuses primarily on the version written in the C/C++ language with the usage of the OpenMP library which typically runs on supercomputers. Accordingly, many of popular workflows and approaches ought to be adapted, a few more created. The outcome of the thesis is a complete solution with real and practical usage. The author provides design, tools selection, runtime environment administration and configuration for each one of the used services. Software implementation of the basic framework is used in order to utilize running tests on the supercomputers. Furthermore, the implementation of chosen types of regression and unit tests are performed. Realisation is based on Gitlab and Jenkis services that are running on separated Docker containers.
|
57 |
Domain-specific differencing and merging of modelsZadahmad Jafarloiu, Manouchehr 11 1900 (has links)
En génie logiciel collaboratif, les systèmes de contrôle de version (SCV) jouent un rôle crucial dans la gestion des changements de code, la promotion de la collaboration et la garantie de l'intégrité des projets partagés. Cette importance s'étend à l'ingénierie dirigée par les modèles (IDM), où les experts du domaine conçoivent des modèles spécifiques au domaine (MSD). Dans ce contexte, la collaboration avec les SCV permet de coordonner les changements de modèles et de préserver l'intégrité des MSD. Cependant, les solutions existantes se concentrent principalement sur des approches génériques, considérant les modèles comme du texte générique. Ces SCV rapportent les différences entre les versions des modèles d'une manière abstraite et non intuitive pour les experts du domaine. Cela pose également des défis lors de la résolution des conflits et de la fusion des modèles, ce qui ajoute de la complexité au flux de travail des experts du domaine.
L'objectif de cette thèse est de fournir des SCV spécifiques à un domaine donné en se concentrant sur les deux principaux composants des SCV, à savoir la différenciation et la fusion. Nous présentons DSMCompare, un outil de comparaison de modèles spécifique au domaine, intégré avec des capacités de détection, de résolution et de fusion de conflits de triplets de versions. DSMCompare fournit des représentations concises des différences et conflits à différents niveaux de granularité, tout en utilisant la syntaxe graphique des MSD originaux. Dans nos évaluations, DSMCompare a démontré des améliorations notables par rapport aux solutions génériques de différenciation et de fusion, notamment une réduction de la verbosité des différences rapportée, des différences exprimée en utilisant la sémantique du domaine, une détection précise des différences sémantiques et des conflits entre différentes versions d’un modèle, une résolution correcte des conflits, une diminution des interactions manuelles requises et une amélioration globale de l'efficacité pour les experts du domaine. / In the context of collaborative software engineering, version control systems (VCS) play a crucial role in managing code changes, promoting collaboration, and ensuring the integrity of shared projects. This significance extends to model-driven engineering (MDE), where domain experts design domain-specific models (DSM). In this context, collaborating with VCS aids in coordinating model changes and preserving the integrity of DSMs. However, existing solutions primarily focus on generic approaches, considering models as generic text. VCS report the differences between model versions in an abstract and unintuitive way for domain experts. This also poses challenges when resolving conflicts and merging models, adding complexity to the workflow of domain experts.
The goal of this thesis is to provide domain-specific VCS for domain experts, focusing on the two main components of VCS, namely differencing and merging. We introduce DSMCompare, a domain-specific model comparison tool integrated with three-way conflict detection, resolution, and merging capabilities. DSMCompare provides concise representations of differences and conflicts at different levels of granularity, while using the graphical syntax of the original DSMs. In our evaluations, DSMCompare demonstrated significant improvements over generic differencing and merging solutions, including a reduction in reported difference verbosity, differences expressed using the semantics of the domain, accurate detection of semantic differences and conflicts between different versions of a model, correct conflict resolution, a reduction in manual interactions needed, and an overall improvement in efficiency for domain experts.
|
58 |
Minimumkrav för ett CI-systemKiendys, Petrus, Al-Zara, Shadi January 2015 (has links)
När en grupp utvecklare jobbar med samma kodbas kan konflikter uppstå med avseende på implementationen av moduler eller delsystem som varje utvecklare individuellt jobbar på. Dessa konflikter måste snabbt lösas för att projektet ska fortskrida och inte stagnera. Utvecklare som sällan kommunicerar framför ofta okompatibla moduler eller delsystem som kan vara svåra eller omöjliga att integrera i kodbasen, detta leder ofta till s.k. “integration hell” där det kan ta väldigt lång tid att anpassa ny kod till en befintlig kodbas.En strategi som man kan ta till är “continuous integration”, ett arbetssätt som erbjuder en rad fördelar när man jobbar i grupp på en gemensam kodbas. Continuous integration är möjligt att tillämpa utan verktyg eftersom detta är ett arbetssätt. Däremot kan processen stödjas av ett s.k. “CI-system” som är något av en teknisk implementation eller påtagligt införlivande och stöd för arbetsmetoden “continuous integration”.Denna rapport syftar till att ge en inblick i vad ett CI-system är och vad den principiellt består av. Vi undersöker vad ett CI-system absolut måste bestå av genom en litteraturundersökning och en marknadsundersökning. Vi ställer upp dessa beståndsdelar som “funktionella” och “icke-funktionella” krav för ett typiskt CI-system. Vi kan på så vis kvantifiera och kategorisera olika komponenter och funktionaliteter som bör innefattas i ett typiskt CI-system. I denna rapport finns även ett bihang som visar hur man kommer igång med att bygga en egen CI-server mha. CI-systemmjukvaran “TeamCity”.Slutsatsen av vår rapport är att CI-system är ett viktigt redskap som kan underlätta mjukvaruutveckling. Med hjälp av CI-system kan man stödja utvecklingsprocessen genom att bl.a. förhindra integrationsproblem, automatisera vissa delar av arbetsprocessen (kompilering av källkod, testning av mjukvara, notifikation om stabilitet av kodbas och distribution av färdig mjukvara) samt snabbt hitta och lösa integrationsfel. / When a group of developers work on the same code base, conflicts may arise regarding the implementation of modules or subsystems that developers individually work on. These conflicts have to be resolved quickly in order for the project to advance at a steady pace. Developers who do not communicate changes or other necessary deviations may find themselves in a situation where new or modified modules or subsystems are impossible or very difficult to integrate into the mainline code-base. This often leads to so called “integration hell” where it could take huge amounts of time to adapt new code into the current state of the code-base. One strategy, which can be deployed to counteract this trend is called “continuous integration”. This practice offers a wide range of advantages when a group of developers collaborates on writing clean and stable code. Continuous integration can be put into practice without the use of any tools as it is a “way to do things” rather than an actual tool. With that said, it is possible to support the practice with a tangible tool called a CI-system.This study aims to give insight into the makings of a CI-system and what it fundamentally consists of and has to be able to do. A study of contemporary research reports regarding the subject and a survey was performed in order to substantiate claims and conclusions. Core characteristics of CI-systems are grouped into “functional requirements” and “non-functional requirements (quality attributes)”. By doing this, it is possible to quantify and categorize various core components and functionalities of a typical CI-system. This study also contains an attachment which provides instructions of how to get started with implementing your own CI-server using the CI-system software ”TeamCity”. The conclusion of this study is that a CI-system is an important tool that enables a more efficient software development process. By making use of CI-systems developers can refine the development process by preventing integration problems, automating some parts of the work process (build, test, feedback, deployment) and quickly finding and solving integration issues.
|
Page generated in 0.2907 seconds