Integracija Softverskih Razvojnih Okruženja Sa On-Line Repozitorijumima Programskog Koda

Total Page:16

File Type:pdf, Size:1020Kb

Integracija Softverskih Razvojnih Okruženja Sa On-Line Repozitorijumima Programskog Koda Univerzitet u Novom Sadu Tehnički fakultet “Mihajlo Pupin” Zrenjanin Integracija softverskih razvojnih okruženja sa on-line repozitorijumima programskog koda Integration of software development environments with on-line code repositories MASTER RAD Predmetni nastavnik: Student: Prof.dr. Ljubica Kazi Dragana Ljubinković MIT 12/2017 Smer: Informacione tehnologije - master Zrenjanin, 2018. Univerzitet u Novom Sadu Tehnički fakultet „Mihajlo Pupin” Zrenjanin Ključna dokumentacijska informacija Redni broj: RBR Identifikacioni broj: IBR Tip dokumentacije: Monografska dokumentacija TD Tip zapisa: Tekstualni štampani dokument TZ Vrsta rada: (dipl.mag.dokt.): Master rad VR Ime i prezime autora: Ljubinković Dragana AU Mentor (titular, ime, prezime, zvanje): Doc. dr Ljubica Kazi MN Naslov rada: Integracija softverskih razvojnih okruženja sa on- NS line repozitorijumima programskog koda Jezik publikacije: Srpski JZ Jezik izvoda: Srpski/Engleski JI Zemlja publikovanja: Republika Srbija ZP Uže geografsko područje: Zrenjanin, Vojvodina UGP Godina: 2019. GO Izdavač: Autorski reprint IZ Mesto i adresa: Tehnički fakultet “Mihajlo Pupin”, Đure MS Đakovića bb, Zrenjanin Fizički opis rada: Broj poglavlja 6/ Strana 70/ Slika FO 30/ Listinga 2/ Naučna oblast: Informacione tehnologije – master OB Naučna disciplina: Distribuirani informacioni sistemi ND Predmetna odrednica, ključne reči: Biblioteka Tehničkog fakulteta PO „Mihajlo Pupin“ Zrenjanin UDK Čuva se: ČU Važna napomena: VN Izvod: U ovom radu teorijski je prikazan način rada IZ online repozitorijuma koda. U odeljku stručnog istraživanja prikazane su opšte osobine repozitorijuma koda, načini instalacije, zašto se koriste, kao i definicije srodnih termina koji se koriste. U praktičnom delu rada prikazani su konkretni primeri rada određenih repozitoijuma koda, način upotrebe i njihove glavne karakteristike. Posebno je analiziran aspekt integracije alata za razvoj softvera sa on-line repozitorijumima koda. Datum prihvatanja teme od stran NN veća: DP Datum odbrane: DO Predsednik: Prof. dr Dragica Radosav Članovi komisije: Član: doc. dr Eleonora Brtka ČK Mentor: Doc. dr Ljubica Kazi University of Novi Sad Technical Faculty “Mihajlo Pupin” Zrenjanin Keyword documentation Accession number: ANO Identification number: INO Document type: Monograph documentation DT Type of record: Textual printed material TR Contents code: M.Sc.Thesis CC Author: Ljubinkovic Dragana AU Menthor: Doc. dr Ljubica Kazi, assistant MN professor Title: Integration of software development TI environments with on-line code repositories Language of text: Serbian LT Language of abstract: Serbian/English LA Country of publication: Republic of Serbia CP Locality of publication: Zrenjanin, Vojvodina LP Publication year: 2019. PY Publisher: Author’s reprint PU Publication place: Technical faculty „Mihalo Pupin“, PP Djure Djakovica bb, Zrenjanin Physical description: Chapters 6/ Pages 70/ Pictures 30/ PD Lists of code 2/ Scientific field: Computer Scicence – M.Sc. SF Scientific discipline: Distributed information systems SD Subject, keywords: SKW UDC Holding data: Library of Technical Faculty HD „Mihajlo Pupin“ Zrenjanin Note: N Abstract: In this paper the theoretical way of working AB the online code repository is presented. The section of the expert research shows the general properties of the code repository, the modes of installation, why they are used, and the definitions of related terms used. In the practical part of the paper, concrete examples of the work of certain code repositories, method of use and their main characteristics are presented. It has been particularly analyzed the aspect of integration of tools for software development with on-line code repositories. Accepted on Scientific Board on: AS Defended: DE President: Prof. dr Dragica Radosav Thesis defend board: Member: doc. dr Eleonora Brtka DB Menthor: Doc. dr Ljubica Kazi SADRŽAJ: Apstrakt ...................................................................................................................................... 1 UVOD ........................................................................................................................................ 2 1. METODOLOŠKI OKVIR ISTRAŽIVANJA........................................................................ 3 1.1 Predmet i problem istraživanja ........................................................................................ 3 1.2 Vrsta istraživanja ............................................................................................................. 3 1.3 Cilj i zadaci istraživanja ................................................................................................... 3 1.4 Hipoteza i podhipoteze .................................................................................................... 3 1.5 Očekivani rezultati ........................................................................................................... 3 1.6 Metodološki postupak ...................................................................................................... 3 2. TEORIJSKO ISTRAŽIVANJE ............................................................................................. 4 2.1. Razvoj i održavanje aplikacija po zahtevu korisnika ...................................................... 4 2.2. Digitalni i softverski repozitorijumi................................................................................ 7 2.2.1. Pojam digitalnog repozitorijuma .............................................................................. 7 2.2.2. Izvorni kod i pojam repozitorijuma izvornog koda ................................................. 8 2.2.3. Strukturirani podaci u softverskim repozitorijumima .............................................. 8 2.2.4. Pretraga i organizacija softverskih repozitorijuma .................................................. 9 2.3. Interoperatibilnost podataka i aplikacija ....................................................................... 11 2.3.1. Interoperabilnost podataka ..................................................................................... 11 2.3.2. Formati podataka za razmenu ................................................................................ 11 2.3.3. Interoperabilnost aplikacija .................................................................................... 12 2.3.4. Integracija podataka ............................................................................................... 13 3. ANALIZA STRUČNIH REŠENJA U OBLASTI ........................................................... 17 3.1. Najčešće korišćeni online repozitorijumi programskog koda ....................................... 17 3.1.1. Najpopularniji programski jezici .......................................................................... 17 3.1.2. Najpopularnija sotfverska razvojna okruženja....................................................... 21 3.1.3. Izbor repozitorijuma za softverski projekat ........................................................... 22 3.1.4. Repozitorijumi za različite programske jezike .................................................. 24 3.1.5. Komparativna analiza najčešće korišćenih online repozitorijuma ..................... 25 3.2. Najčešće korišćeni formati za razmenu podataka i njihove karakteristike ................... 30 3.3. Integracija softverskih alata sa online repozitorijumima .......................................... 36 3.3.1. Integracija softverskih alata za Git .................................................................... 36 3.3.2. Tehnike integracije softverskih razvojnih okruzenja sa online repozitorijumima koda 37 4. GIT I REPOZITORIJUMI ................................................................................................... 40 4.1. Karakteristike Git .......................................................................................................... 40 4.2. Repozitorijumi koje koristi GIT ................................................................................ 45 4.2.1. GitHub................................................................................................................ 45 4.2.2. GitLab ................................................................................................................ 47 4.2.3. BitBucket ........................................................................................................... 49 4.2.4. SourceForge ....................................................................................................... 50 5. ANALIZA NAUČNIH REZULTATA U OBLASTI ...................................................... 53 6. EMPIRIJSKO ISTRAŽIVANJE ..................................................................................... 55 6.1. Metodološki elementi empirijskog istraživanja ............................................................ 55 6.2. Korišćenje online repozitorijuma nezavisno od softverskog razvojnog okruženja... 55 6.2.1. Postavljanje repozitorijuma na GitHub .............................................................. 59 6.2.2. Postavljanje repozitorijuma na BitBucket ......................................................... 62 6.2.3. Postavljanje repozitorijuma na GitLab .............................................................. 64 6.3. Korišćenje online repozitorijuma integrisano sa softverskim razvojnim okruženjem 67 6.4. Rezultati empirijskog istraživanja ............................................................................. 72 ZAKLJUČAK .........................................................................................................................
Recommended publications
  • Gestión De Proyectos Software
    Proyecto Fin de Carrera AITForge: Gestión de Proyectos Software Autor: Antonio Domingo Lagares Alfaro Titulación: Ingeniero de Telecomunicación (Plan 98) Especialidad: Telemática Año: 2005 Tutor: Antonio Estepa Alonso AITForge: Gestión de Proyectos Software Índice de contenido 1 Prefacio..................................................................................................................6 2 Portales de Desarrollo Colaborativo......................................................................7 2.1 Introducción a los Entornos Colaborativos....................................................8 2.1.1 Hosting de Proyectos de Software Libre (FOSPHost)...........................9 2.1.2 ¿Software Libre y Software de Fuentes Abiertas?...............................10 2.1.3 Prácticas deseables en Software Libre................................................11 2.1.4 El nacimiento de una nueva filosofía de trabajo...................................13 2.1.5 Objetivos de los sistemas libres de FOSPHost....................................14 2.1.6 Principales características de los sistemas FOSPHost........................16 Características intrínsecas..........................................................................16 Características de utilidad...........................................................................17 Características de usabilidad......................................................................18 Características contextuales.......................................................................19 2.1.7
    [Show full text]
  • Free Software Needs Free Tools
    Free Software Needs Free Tools Benjamin Mako Hill [email protected] June 6, 2010 Over the last decade, free software developers have been repeatedly tempted by devel- opment tools that offer the ability to build free software more efficiently or powerfully. The only cost, we are told, is that the tools themselves are nonfree or run as network services with code we cannot see, copy, or run ourselves. In their decisions to use these tools and services – services such as BitKeeper, SourceForge, Google Code and GitHub – free software developers have made “ends-justify-the-means” decisions that trade away the freedom of both their developer communities and their users. These decisions to embrace nonfree and private development tools undermine our credibility in advocating for soft- ware freedom and compromise our freedom, and that of our users, in ways that we should reject. In 2002, Linus Torvalds announced that the kernel Linux would move to the “Bit- Keeper” distributed version control system (DVCS). While the decision generated much alarm and debate, BitKeeper allowed kernel developers to work in a distributed fashion in a way that, at the time, was unsupported by free software tools – some Linux developers decided that benefits were worth the trade-off in developers’ freedom. Three years later the skeptics were vindicated when BitKeeper’s owner, Larry McVoy, revoked several core kernel developers’ gratis licenses to BitKeeper after Andrew Tridgell attempted to write a free replacement for BitKeeper. Kernel developers were forced to write their own free software replacement: the project now known as Git. Of course, free software’s relationships to nonfree development tools is much larger than BitKeeper.
    [Show full text]
  • This Book Doesn't Tell You How to Write Faster Code, Or How to Write Code with Fewer Memory Leaks, Or Even How to Debug Code at All
    Practical Development Environments By Matthew B. Doar ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-00796-5 Pages: 328 Table of Contents | Index This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project. Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further. Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often.
    [Show full text]
  • Design Options of Store-Oriented Software Ecosystems: an Investigation of Business Decisions ∗
    Design Options of Store-Oriented Software Ecosystems: An Investigation of Business Decisions ∗ Bahar Jazayeri1, Olaf Zimmermann2, Gregor Engels1, Jochen K¨uster3, Dennis Kundisch1, Daniel Szopinski1 1 Paderborn University, Germany fbahar.jazayeri,gregor.engels,dennis.kundisch,[email protected] 2 University of Applied Sciences of Eastern Switzerland, Switzerland [email protected] 3 Bielefeld University of Applied Sciences, Germany [email protected] Abstract. Nowadays companies like Apple create ecosystems of third- party providers and users around their software platforms. Often online stores like Apple App Store are created to directly market third-party solutions. We call such ecosystems store-oriented software ecosystems. While the architecture of these ecosystems is mainly derived from busi- ness decisions of their owners, ecosystems with greatly different archi- tectural designs have been created. This diversity makes it challenging for future ecosystem providers to understand which architectural design is suitable to fulfill certain business decisions. In turn, opening a plat- form becomes risky while endangering intellectual property or scarifying quality of services. In this paper, we identify three main design options of store-oriented software ecosystems by classifying existing ecosystems based on similarities in their business decisions. We elaborate on the design options, discuss their main contributions, and provide exemplary ecosystems. Our work provides aspiring ecosystem providers with the reusable knowledge of existing ecosystems and helps them to take more informed architectural decisions and reduce risks in future. Keywords: Software ecosystems, Reusable designs, Variabilities 1 Introduction Software ecosystems have become an emerging architectural approach for many companies to grow. The term software ecosystem is inspired from ecological ecosystems that are the result of an interplay between organisms as well as interactions with a physical environment [1].
    [Show full text]
  • Cross-Platform Environment for Application Life Cycle Management
    International Journal “Information Theories and Applications”, Vol. 24, Number 2, © 2017 177 CROSS-PLATFORM ENVIRONMENT FOR APPLICATION LIFE CYCLE MANAGEMENT Elena Chebanyuk, Oleksii Hlukhov Abstract: “Application Lifecycle Management (ALM) integrates and governs the planning, definition, design, development, testing, deployment, and management phases throughout the application lifecycle” [OMG, 2006]. This paper is devoted to designing of ALM for supporting all software development processes. A review of papers, making strong contribution for improving software development life cycle processes is represented. This review touches three branches of investigation, namely papers, related to: (1) improving of communication processes between stakeholders; (2) increasing effectiveness of some operations in software development life cycle processes; (3) developing fundamental methods and tools for performing different operations related to several software development life cycle. Then comparative analysis of such ALM environments as Visual Studio, Team Foundation Server, FusionForge, TeamForge, IBM Rational Team Concert, IBM Rational Software Architect, and IBM Rational Functional Tester, is performed. Comparison of different ALM environments’ functionality lets to formulate requirements for designing cross-platform ALM environment. Then the conceptual schema of cross-platform ALM based on Eclipse environment is proposed. All plugins’ functionalities were properly tested. Collaboration of plugins for supporting several software development tasks
    [Show full text]
  • Introducting Innovations in Open Source Projects
    Introducing Innovations into Open Source Projects Dissertation zur Erlangung des Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) am Fachbereich Mathematik und Informatik der Freien Universität Berlin von Sinan Christopher Özbek Berlin August 2010 2 Gutachter: Professor Dr. Lutz Prechelt, Freie Universität Berlin Professor Kevin Crowston, Syracuse University Datum der Disputation: 17.12.2010 4 Abstract This thesis presents a qualitative study using Grounded Theory Methodology on the question of how to change development processes in Open Source projects. The mailing list communication of thirteen medium-sized Open Source projects over the year 2007 was analyzed to answer this question. It resulted in eight main concepts revolving around the introduction of innovation, i.e. new processes, services, and tools, into the projects including topics such as the migration to new systems, the question on where to host services, how radical Open Source projects can change their ways, and how compliance to processes and conventions is enforced. These are complemented with (1) the result of five case studies in which innovation introductions were conducted with Open Source projects, and with (2) a theoretical comparison of the results of this thesis to four theories and scientific perspectives from the organizational and social sciences such as Path Dependence, the Garbage Can model, Social-Network analysis, and Actor-Network theory. The results show that innovation introduction is a multifaceted phenomenon, of which this thesis discusses the most salient conceptual aspects. The thesis concludes with practical advice for innovators and specialized hints for the most popular innovations. 5 6 Acknowledgements I want to thank the following individuals for contributing to the completion of this thesis: • Lutz Prechelt for advising me over these long five years.
    [Show full text]
  • [Scale=0.250]Images/Logoidl Forge : Concept Et Utilisation [Scale
    Le concept Les fonctionnalit´es Les produits disponibles Les forges utilis´ees Forge : Concept et utilisation [email protected] INRA-MIA 9 d´ecembre 2011 1 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Les produits disponibles Les forges utilis´ees Pr´eambule principales sources de ce topo projet-plume.org/ressource/faq-forge FusionForge User guide portail fusionforge 2 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Exemples Les produits disponibles D´efinition Les forges utilis´ees 3 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Exemples Les produits disponibles D´efinition Les forges utilis´ees 4 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Exemples Les produits disponibles D´efinition Les forges utilis´ees 5 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Exemples Les produits disponibles D´efinition Les forges utilis´ees 6 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 Le concept Les fonctionnalit´es Exemples Les produits disponibles D´efinition Les forges utilis´ees 7 [email protected] INRA MIA BioSP / PEPI - Ecole´ IDL 2011 qui permet ´egalement aux diff´erentes communaut´es d'utilisateurs des logiciels d'acc´eder aux sources, aux executables, aux documentations et informations diverses qui offre un espace d'´echange entre utilisateurs et concepteurs d'un projet
    [Show full text]
  • Collabnet Subversion Edge User Guide 2 | Subversion Edge | TOC
    CollabNet Subversion Edge User Guide 2 | Subversion Edge | TOC Contents Welcome to CollabNet Subversion Edge.............................................................................7 Set up Subversion Edge .......................................................................................................8 Install Subversion Edge ...........................................................................................................................8 Install Subversion Edge on Windows...........................................................................................8 Install Subversion Edge on Linux................................................................................................9 Install Subversion Edge on Solaris.............................................................................................10 Configure the server...............................................................................................................................12 Configure general server settings...............................................................................................12 Configure advanced server settings............................................................................................13 Configure authentication settings...............................................................................................13 Configure a proxy server............................................................................................................14 Configure the mail server...........................................................................................................14
    [Show full text]
  • Increase in Efficiency of Free Software Projects Through Information
    Increase in efficiency of free software projects through information management Robert Schuster Working group Software Engineering Freie Universität Berlin 2005-05-17 Abstract Free and Open Source Software is an enduring undertaking. How- ever this does not mean that this development model has no flaws. This paper will present a problem of the F/OSS development pro- cess that results from insufficient care for information management. I will outline the factors that lead to this problem and propose a light- weight process enhancement to cope with it. This enhancement will 1 introduce a role named “mediator” - a person whose task it is to make it easier for new developers to enter the project and support the knowledge transfer between developers. The role is then imple- mented in the project GNU Classpath and evaluated by it's develop- ers with the help of a survey. The key aspects of mediation are sum- marized and abstracted in form of a short manual which is targetted for use by any F/OSS project. Contents 1 Introduction 3 1.1 Disambiguation . 4 1.2 Categories and conditions of F/OSS projects . 5 1.2.1 Categories . 5 1.2.2 Environment and conditions . 8 1.2.3 Definition of success . 11 2 Introducing mediation 13 2.1 Which difficulties exist? . 13 2.2 The idea of mediation . 13 2.3 Selected tasks . 14 2.4 Project properties supporting the success of the mediation role . 15 2.5 Related works . 16 3 Implementing the mediator 18 3.1 Introduction to GNU Classpath . 18 3.2 Why GNU Classpath has been chosen for exemplifying me- diation .
    [Show full text]
  • IKAN ALM and Collabnet Teamforge Where Development, Testing and Operations Meet Table of Contents
    IKAN ALM and Collabnet TeamForge Where Development, Testing and Operations meet Table of contents Executive summary ..............................................................................................................................................3 Problem statement ...............................................................................................................................................4 Solution Description ............................................................................................................................................4 TeamForge and IKAN ALM ...........................................................................................................................5 Versioning .......................................................................................................................................................5 TeamForge Tracker ........................................................................................................................................6 Integrated Build and Deploy Process .......................................................................................................7 Notification .....................................................................................................................................................7 Short description of IKAN ALM ..........................................................................................................................8 Lifecycle ...........................................................................................................................................................8
    [Show full text]
  • Software Studies: a Lexicon, Edited by Matthew Fuller, 2008
    fuller_jkt.qxd 4/11/08 7:13 AM Page 1 ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• S •••••••••••••••••••••••••••••••••••••new media/cultural studies ••••software studies •••••••••••••••••••••••••••••••••• ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• O ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• F software studies\ a lexicon ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• T edited by matthew fuller Matthew Fuller is David Gee Reader in ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• This collection of short expository, critical, Digital Media at the Centre for Cultural ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• W and speculative texts offers a field guide Studies, Goldsmiths College, University of to the cultural, political, social, and aes- London. He is the author of Media ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• thetic impact of software. Computing and Ecologies: Materialist Energies in Art and A digital media are essential to the way we Technoculture (MIT Press, 2005) and ••••••••••••••••••••••••••••••••••••• •••• •••••••••••••••••••••••••••••••••• work and live, and much has been said Behind the Blip: Essays on the Culture of •••••••••••••••••••••••••••••••••••••
    [Show full text]
  • The Lcg Savannah Software Development Portal
    THE LCG SAVANNAH SOFTWARE DEVELOPMENT PORTAL Y. Perrin, D. Feichtinger#1, F. Orellana#2, CERN, Geneva, Switzerland, M. Roy, FSF France Abstract A web portal has been developed, in the context of ORGANIZATION AND the LCG/SPI project, in order to coordinate workflow FUNCTIONALITY and manage information in large software projects. It is LCG Savannah is organized in projects which are a development of the GNU Savannah package and grouped according to their type as entered at offers a range of services to every hosted project: Bug / registration time. All projects of the same type inherit a support / patch trackers, a simple task planning system, number of common characteristics and default values news threads, and a download area for software with, of course, the possibility to define new types and releases. Features and functionality can be fine-tuned to override the defaults for any given project. on a per project basis and the system displays content LCG Savannah should be seen as a development and grants permissions according to the user's status front-end for every project it hosts. It provides, in a (project member, other Savannah user, or visitor). A fully configurable and integrated way, the main highly configurable notification system is able to functions required by any significant software channel tracker submissions to developers in charge of development project. These include bug and support specific project modules. request tracking, task management, automatic The portal is based on the GNU Savannah package notification of people concerned, access to CVS which is now developed as 'Savane' with the support of repository, download area, news and mailing lists.
    [Show full text]