Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
|
|
|
- Logan Taylor
- 10 years ago
- Views:
Transcription
1 Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt
2 Dr. Michael Eichberg Fachgebiet Software Engineering Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Computer Aided Software Engineering
3 Dr. Michael Eichberg Fachgebiet Software Engineering Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Revision-control Systems
4 Making Sense of 4 Recommended Reading Source: Author: ACM Queue Bryan D Sullivan
5 All types of revision-control systems support a basic set of tasks. 5 Track the history of files This enables you to answer questions such as: Who did which changes? When was a change made? Why was a change made? Recreate project state...
6 All types of revision-control systems support a basic set of tasks People can work on independent sub-projects (usually referred to as branches) Branches are typically used to manage the maintenance of releases that are no longer actively developed RCS enables you to integrate changes made in a subproject back into the main project
7 Branches & Merging 7 BAT3XML
8 Typical issues related to branching and merging 8 The same section is modified in different ways Code in a branch depends on functionality that has changed in the other branch (Most likely, the project will break when merged.) Files are copied and / or renamed and someone wants to check in some changes w.r.t. the old file How branches and merges are handled differs significantly between different types of revision-control systems.
9 We can distinguish between two basic types of revision-control systems: centralized and distributed. 9 Centralized CVS Subversion (SVN) Perforce Distributed Git Mercurial
10 Both types of revision-control systems have different trade-offs. Centralized Distributed 10 Client-server model; a single server hosts a project s metadata commits are server based no explicit support for branches; branches are handled by convention better suited for binary data enable fine-grained rights management Operate in a peer-to-peer manner each copy (repository) contains all of a project s history and metadata a working copy contains a snapshot of the project s files commits are local until they are shared fetching remote changes and merging them with the local copy is decoupled
11 Git s / Mercurial s bisect command facilitates finding bugs. 11 does not contain the specific bug 1. checkout by bisect Question: Does this version contain the bug? No, use revision (L+X)/2 2. checkout by bisect Question: Does this version contain the bug? Yes, revision that introduced the bug is found contains a specific bug Revision A L X Time
Version Control. Version Control
Version Control CS440 Introduction to Software Engineering 2013, 2015 John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important
CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
Revision control systems (RCS) and
Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer
Advanced Computing Tools for Applied Research Chapter 4. Version control
Advanced Computing Tools for Applied Research Jaime Boal Martín-Larrauri Rafael Palacios Hielscher Academic year 2014/2015 1 Version control fundamentals 2 What you probably do now Manually save copies
Software Configuration Management. Context. Learning Objectives
Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition
Version Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
Version Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn
CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat [email protected]
Version Control with Git Linux Users Group UT Arlington Rohit Rawat [email protected] Need for Version Control Better than manually storing backups of older versions Easier to keep everyone updated
Version Control for Computational Economists: An Introduction
Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in
Introduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
Version Control with Subversion
Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or
Software configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
Source Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
MATLAB @ Work. MATLAB Source Control Using Git
MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can
Distributed Version Control with Mercurial and git
OpenStax-CNX module: m37404 1 Distributed Version Control with Mercurial and git Hannes Hirzel This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract
Version Control with Git. Dylan Nugent
Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just
Git Basics. Christopher Simpkins [email protected]. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins [email protected] Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
Git Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.
Git Basics Christian Hanser Institute for Applied Information Processing and Communications Graz University of Technology 6. March 2013 Christian Hanser 6. March 2013 Seite 1/39 Outline Learning Targets
Git. A Distributed Version Control System. Carlos García Campos [email protected]
Git A Distributed Version Control System Carlos García Campos [email protected] Carlos García Campos [email protected] - Git 1 A couple of Quotes For the first 10 years of kernel maintenance, we literally
Version Control Systems
Version Control Systems ESA 2015/2016 Adam Belloum [email protected] Material Prepared by Eelco Schatborn Today IntroducGon to Version Control Systems Centralized Version Control Systems RCS CVS SVN
Version Control with Git
Version Control with Git Ben Wasserman ([email protected]) 15-441 Computer Networks Recitation 3 1/28 What is version control? Revisit previous code versions Backup projects Work with others Find where
Introduction to the Git Version Control System
Introduction to the Sebastian Rockel [email protected] University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal
Continuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
An Introduction to Mercurial Version Control Software
An Introduction to Mercurial Version Control Software CS595, IIT [Doc Updated by H. Zhang] Oct, 2010 Satish Balay [email protected] Outline Why use version control? Simple example of revisioning Mercurial
Two Best Practices for Scientific Computing
Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,
Version Control Systems: SVN and GIT. How do VCS support SW development teams?
Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it
Version Control. Luka Milovanov [email protected]
Version Control Luka Milovanov [email protected] Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version
CS 2112 Lab: Version Control
29 September 1 October, 2014 Version Control What is Version Control? You re emailing your project back and forth with your partner. An hour before the deadline, you and your partner both find different
Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus
Document and Information Management: A Software Developer s Perspective Xabriel J. Collazo Mojica Outline Introduction Why should I (you) care? Document management CMS Wiki Aigaion Code and Document Repositories
Software Delivery Integration and Source Code Management. for Suppliers
Software Delivery Integration and Source Code Management for Suppliers Document Information Author Version 1.0 Version Date 8/6/2012 Status final Approved by Reference not applicable Subversion_for_suppliers.doc
PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3.
PKI, Git and SVN Presented by Adam Young Senior Software Engineer, Red Hat License Licensed under http://creativecommons.org/licenses/by/3.0/ Agenda Why git Getting started Branches Commits Why? Saved
Distributed Version Control
Distributed Version Control Faisal Tameesh April 3 rd, 2015 Executive Summary Version control is a cornerstone of modern software development. As opposed to the centralized, client-server architecture
CSCB07 Software Design Version Control
CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope
Data management on HPC platforms
Data management on HPC platforms Transferring data and handling code with Git scitas.epfl.ch September 10, 2015 http://bit.ly/1jkghz4 What kind of data Categorizing data to define a strategy Based on size?
Version Control Tutorial using TortoiseSVN and. TortoiseGit
Version Control Tutorial using TortoiseSVN and TortoiseGit Christopher J. Roy, Associate Professor Virginia Tech, [email protected] This tutorial can be found at: www.aoe.vt.edu/people/webpages/cjroy/software-resources/tortoise-svn-git-tutorial.pdf
Version Control Tools
Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73 Outline 1 References and Resources 2 3 4 Venkat N Gudivada Version
Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.
Git vs Subversion Andrey Kotlarski 13.XII.2011 Outline Annoyances with our current source control Can it get more comfortable? Git Appendix Rant Network traffic Hopefully we have good repository backup
Software Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
Theme 1 Software Processes. Software Configuration Management
Theme 1 Software Processes Software Configuration Management 1 Roadmap Software Configuration Management Software configuration management goals SCM Activities Configuration Management Plans Configuration
Gitflow process. Adapt Learning: Gitflow process. Document control
Adapt Learning: Gitflow process Document control Abstract: Presents Totara Social s design goals to ensure subsequent design and development meets the needs of end- users. Author: Fabien O Carroll, Sven
Version control with GIT
AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips
Version Uncontrolled! : How to Manage Your Version Control
Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code
Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.
Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify
DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014
DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required
Redmine: A project management software tool. January, 2013
Redmine: A project management software tool January, 2013 Outline Introduction to Redmine. Important concepts of Redmine. How to use Redmine. 1 Introduction: What is Redmine? Redmine is a project management
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your
Software Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
Maven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software [email protected] Outlook What is Maven Maven Concepts and
Version Control with. Ben Morgan
Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove
Source code management systems
Source code management systems SVN, Git, Mercurial, Bazaar,... for managing large projects with multiple people work locally or across a network store and retrieve all versions of all directories and files
Content. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
SOFTWARE DEVELOPMENT BASICS SED
SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2
What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter [email protected] http://www.softeng-support.ac.
What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter [email protected] http://www.softeng-support.ac.uk What is CCPForge? Software development environment Originally intended
Beginning with SubclipseSVN
Version 2 July 2007 Beginning with SubclipseSVN A user guide to begin using the Subclipse for source code management on the CropForge collaborative software development site. Copyright International Rice
Introduction to Git. Markus Kötter [email protected]. Notes. Leinelab Workshop July 28, 2015
Introduction to Git Markus Kötter [email protected] Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.
Beginners guide to continuous integration. Gilles QUERRET Riverside Software
Beginners guide to continuous integration Gilles QUERRET Riverside Software About the speaker Working with Progress and Java since 10 years Started Riverside Software 7 years ago Based in Lyon, France
Introduction to Version Control with Git
Introduction to Version Control with Git Dark Cosmology Centre Niels Bohr Institute License All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0. See
GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: [email protected]
Introducing Xcode Source Control
APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion
Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development
Software development Groupware and Collaborative Interaction Collaborative Software Development M2R Interaction - Université Paris-Sud - Année 2013-2014 Cédric Fleury ([email protected]) Several users
Software Development. Overview. www.intland.com
Agile, Waterfall & Hybrid Method Support SAFe Template Git, SVN, Mercurial Integration Release Management DevOps Baselining (Versioning) Integration to Requirements and QA & Testing Overview codebeamer
Software Version Control With Mercurial and Tortoise Hg
Software Version Control With Mercurial and Tortoise Hg Mark Ciechanowski, P.E., CSDP IEEE Embedded Systems Workshop Oakland University October 19, 2013 Abstract Mercurial and GIT are modern, open source,
Version Control with Git
Version Control with Git Claudius Coenen License: CC-BY-4.0 What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better
Introduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT
Introduc)on to Version Control with Git Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT Contents 1. What is Version Control? 2. Why use Version control? 3. What is Git? 4. Create
Continuous Integration
LT-QAI Torch Talk: Continuous Integration Marc @dfki.de DFKI Language Technology Lab, Saarbrücken and Berlin, Germany What do I mean by Torch Talk? Idea to increase the frequency of
Xcode Source Management Guide. (Legacy)
Xcode Source Management Guide (Legacy) Contents Introduction 5 Organization of This Document 5 See Also 6 Source Management Overview 7 Source Control Essentials 7 Snapshots 8 Managing Source in Xcode 8
Version Control using Git and Github. Joseph Rivera
Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally
Mobile Development with Git, Gerrit & Jenkins
Mobile Development with Git, Gerrit & Jenkins Luca Milanesio [email protected] June 2013 1 ENTERPRISE CLOUD DEVELOPMENT Copyright 2013 CollabNet, Inc. All Rights Reserved. About CollabNet Founded in
Introduction to Programming Tools. Anjana & Shankar September,2010
Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue
Software Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
Beginner s guide to continuous integration. Gilles QUERRET Riverside Software
Beginner s guide to continuous integration Gilles QUERRET Riverside Software About the speaker Working with Progress and Java since 10 years Started Riverside Software 5 years ago Based in Lyon, France
Version Control with Mercurial and SSH
Version Control with Mercurial and SSH Lasse Kliemann [email protected] Vorkurs Informatik 2010 Wishlist While working on a project, it is nice to... be able to switch back to older versions of
Version Control with Subversion and Xcode
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
A Survey of Version Control Systems
A Survey of Version Control Systems Ali Koc, M.A. Graduate Center City University of New York New York, USA Abdullah Uz Tansel, PhD Baruch College City University of New York New York, USA Abstract Version
Nexus Professional Whitepaper. Repository Management: Stages of Adoption
Sonatype Nexus Professional Whitepaper Repository Management: Stages of Adoption Adopting Repository Management Best Practices SONATYPE www.sonatype.com [email protected] +1 301-684-8080 12501 Prosperity
Source Code Control & Bugtracking
h(p://home.hit.no/~hansha/?page=sonware_development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com Source Code Control & Bugtracking Hans- Pe(er Halvorsen, M.Sc. 1 O. Widder. (2013).
Version control with Subversion
Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a
Software Configuration Management. Addendum zu Kapitel 13
Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration
S609. RDz and Source Control Management Systems
S609. RDz and Source Control Management Systems Michael Erichsen [email protected] www.xact.dk Agenda Source Control Management (SCM) What it does Some product examples Integrating RDz with SCM
Modulo II Software Configuration Management - SCM
Modulo II Software Configuration Management - SCM Professor Ismael H F Santos [email protected] April 05 Prof. Ismael H. F. Santos - [email protected] 1 Bibliografia Introduction to Apache
Case Study: Access control 1 / 39
Case Study: Access control 1 / 39 Joint software development Mail 2 / 39 Situations Roles Permissions Why Enforce Access Controls? Classic Unix Setup ACL Setup Reviewer/Tester Access Medium-Size Group
Using Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
