Har funnits nästan lika länge som datorerna. Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på



Relevanta dokument
Release. Konfigurations & Versionshantering samt Subversion. Konfigurations vs Versionshantering. CI -definition. Henrik Bergström

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

Introduktion till git

Versionshantering med Git. Henrik Henriksson 17 april 2018

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

CM FORUM. Introduktion till. Configuration Management (CM) / Konfigurationsledning. Tobias Ljungkvist

JUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3

Configuration Management

UNIX verktyg. Användbara kommandon Fil och informationssökning Tags Versionshanteringssystem

Versionshantering. Jan Erik Moström

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Tfn Telephone Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change

Versionshantering med Git

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

Quality and Environmental Management System

Policy för öppen källkod RIV Tekniska Anvisningar

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten

Versionshantering. Sami Nevalainen Institutionen för informationsbehandling Åbo Akademi, FIN Åbo, Finland e-post:

Utfärdad av Compiled by Tjst Dept. Telefon Telephone Datum Date Utg nr Edition No. Dokumentnummer Document No.

Introduktion ICAO-EASA.

Subversion - varför?

Revidering av ISO Peter Allvén SIS TK-304/PostNord

XML+ANT+CVS+DIARY. XML: Exempel. XML: Syntax (1) Genomgång av några av de verktyg som används på kursen. <?xml version="1.0" encoding="iso "?

DI Studio nyheter

CDX. Systemstöd för arbete med en klinisk rapportdatabas. SAS Forum 25sept 2003 Gunilla Sköllermo, AstraZeneca R&D

Hur arbetar vi praktiskt i SAG?


Continuous Integration med Jenkins. Linus Tolke Enea Experts

1 Vad är Versionshantering? 2 Git. 2.1 GitHub

Configuration Management Vägen till ordning och reda med rätt stöd!

Metodprov för kontroll av svetsmutterförband Kontrollbestämmelse Method test for inspection of joints of weld nut Inspection specification

Isolda Purchase - EDI

Projektarbete. Johan Eliasson

Testplanering, test-first, testverktyg

Introduktion till Git

HANTERING AV UPS CX

TDP005, Projekt: objektorienterade system

Handledning Konfigurationsstyrning tjänstedomäner

Agil användbarhetsutveckling för handhållna enheter. Per Lind

ISO med kundfokus

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

Translation Changes in Swedish EBSCOhost Interface

Hantering av svetsprocedurer och kvalificeringar

Resultat av EASAs audit av Swedish Transport Agency (STA) 2016

Utfärdad av Compiled by Tjst Dept. Telefon Telephone Datum Date Utg nr Edition No. Dokumentnummer Document No.

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

KAP 18 SQL SERVER AGENT

Site Survey Report MAH. Appendix B 5.0 GHz Coverage

Dokumentationsrutiner i ett kvalitetsregister

Smartair System. TS1000 Version 4.23

Kom igång med Topocad ArcGIS

Handbok Cervisia. Bernd Gehrmann Carlos Woelz Översättare: Stefan Asserhäll

Agenda. Tid Aktivitet Föreläsare Åtgång tid 08:30 Registrering vid TS recep. Transport till våning 5.

Steget efter CAD Data Management. Per Ekholm

Stored procedure i ASP.NET

Luftfartsavdelningen Sektionen för flygutbildning MANUALER VÄLKOMNA EN KORT SAMMANFATTNING AV INNEHÅLLET I RESPEKTIVE MANUAL

Stored procedure i ASP.NET

ClearCase. Versionshantering

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

RIV TA Konfigurationsstyrning 1.0 RIV Tekniska Anvisningar

Kvalitetsledning och SMS

Quadri DCM Handledning för administratörer och användare i projekt som kör Quadri DCM. Version

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Att bygga enkel webbapplikation i Docker

PDM Implementation & Change Management /FRN

LEX INSTRUKTION REPLIKERING UPPGRADERING

GitHub for Windows och GitShell

ISO STATUS. Prof. dr Vidosav D. MAJSTOROVIĆ 1/14. Mašinski fakultet u Beogradu - PM. Tuesday, December 09,

Handledning. Konfigurationsstyrning tjänstedomäner. Version ARK_

Dr. Gustav Taxén MDI-Gruppen, CSC / VIC-Sthlm gustavt@kth.se

Verktyg för agil systemutveckling. Vad är ett verktyg? Olika typer av verktyg för mjukvaruutveckling. Vad kan ett bra verktyg tillföra?

Kvalitetssäkra ditt projekt med kontinuerlig integration

Arbetsuppgift 1: På virtuell maskin med Ubuntuserver, skapa katalog och skapa Dockerfile. Skapa ny katalog i din hemmakatalog, med namnet webbserver.

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Genomförande av SSP och SMS i Sverige. Hur ökar vi flygsäkerheten bortom regelverket? Hur balanserar vi mellan produktion och säkerhet?

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Risk Management Riskhantering i flygföretag

SWAMID. Nyttjandestatistik av SWAMID. Vad är SWAMID? Så, hur mycket används SWAMID idag? Vi vet inte.. en första demonstration!

Workshop: How can CM enable business downstream?

Våra tjänster [Our services] UMS Group Inc., All Rights Reserved

Övning GIT Andreas Wieden

Provläsningsexemplar / Preview

GJUTEN ALUMINIUMPLATTA EN AW 5083 CAST ALUMINIUM PLATE EN AW 5083

SMS implementering. Införande av SPI:er

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

BizTalk Build & Deploy. Med Jenkins och PowerShell

SITHS. Integration SITHS CA Copyright 2015 SecMaker AB Författare: Andreas Mossnelid Version 1.2

POA seminarium 26 November 2014

Tillitsramverk och Kantara Revision enligt Kantara IAF

ISTQB Testarens ledstjärna

Regulation (EU) No 127/2010. Regulation (EU) No 127/2010 (Tillhörande AMC ED 2010/02/R är ej inkluderat) Förändringarna i Part-M och Part-145

Programvaruintensiva system

Fildelning i Företag The past, present and future Richard Lindstedt Sr Product Manager

Met/Track Software Ver 8.X 1 dagskurs

Installationsbeskrivning

PROFINET MELLAN EL6631 OCH EK9300

Transkript:

Versionshantering och subversion Bara en liten ändring till Vad är versionshantering? Versionshantering låter dig arbeta med olika versioner av systemet Versionshantering är en säkerhetsmekanism som tillåter en att gå tillbaka och få fram tidigare versioner av ett system Versionshantering hjälper till att koordinera arbetet när man är flera personer i ett projekt Versionshantering - Historia Har funnits nästan lika länge som datorerna Rätt lätt med hålkort Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på Verktygsstöd kom tidigt, redan i början på 60-talet

Konfigurations vs Versionshantering Configuration Management (CM) Version/revision-hantering CM är ett vidare begrepp än version/revision- hantering Version/revision-hantering ingår i CM Ändringshantering (Change control/management) Systemgenerering (build management) etc Vad bör versionshanteras? Programkod Dokumentation Krav Buggrapporter CI -definition A configuration item (CI) is any part of the development and/or deliverable system (whether software, hardware, firmware, drawings, inventories and/or documentation) which needs to be independently identified, stored, tested, reviewed, used, changed, delivered and/or maintained. CIs differ widely in complexity and may contain other CIs in a hierarchy. M. Kelly, Configuration Management, The Changing g Image: McGraw-Hill, 1996. CM-plan från ISO 10007 Introduction Description of the system or CIs to which the plan applies, a schedure of the CM activities, the purpose and scope of the plan, list of related documents etc Policies and procedures CM policies, CM organisation and structure of the CCB and the other committees, selection criteria for the CIs, frequency, distribution and control of reports and agreed terminology. Configuration identification Family tree of the CIs, numbering conventions, baselines to be established etc. Configuration control Organisation and composition of the CCB, change mangement procedures and so on. Configuration status accounting Procedures for collecting, recording, processing, and maintaining the data for status accounting reports, definition of all CM reports etc. Configuration audit List of audits to be conducted, the audit procedures, the authorities and disciplines involved, format of the audit reports, etc.

Versionshanteringssystem Vanligen en databas för (källkods)filer Ändringslogg Möjlighet jg att återskapa tidigare versioner Stöd för koordination av utvecklare Check-in/Check-out Fillåsning Kodjämförelse Eventuellt stöd för parallell utveckling Eventuellt integrerad med krav/fel-hantering Checkin och checkout All kod samlas i en central databas För att editera/testa/etc en fil checkar varje utvecklare e ut en privat kopia av filen När editeringen är klar checkas filen in i databasen igen Deltas I stället för att spara varje version som en separat fil kan man nöja sig med att spara en version och information om vad som krävs för att skapa övriga versioner Fördel: tar mindre plats man kan se vad som ändrats Nackdel:det kan ta tid att återskapa en tidigare version Fillåsning Innan en fil kan editeras måste den checkas ut med låsning De som bara a vill använda a filen kan checka ut den utan låsning När en fil är låst kan ingen annan editera den Vad händer om man går hem på kvällen och glömmer att checka in filen igen?

Utan fillåsning Flera personer kan editera samma fil samtidigt VHS:et måste kunna jämföra filer och slå ihop dem diff manuellt Distribuerade system Oberoende grenar Bra merge-rutiner nödvändigt Ex: GIT Verktyg Finns i princip p hur många som helst http://en.wikipedia.org/wiki/comparison_ of _ revision _control o _software Subversion Ett väldigt vanligt VHS Utvecklat för att ersätta CVS http://subversion.tigris.org/ tigris org/

Subversion - att ge kommandon Subversion - kommandon svn kommando [ev flaggor, filer etc] svn commit svn commit Filnamn.java svn commit -m loggmeddelande l d Användnings- kommandon update commit add, delete, move, copy Engångs- g kommandon import checkout svn help svn help kommando Subversion - kommandon (forts) Statuskontroll- Konflikthanteringskommandon status kommandon resolved log diff Hjälp finns blame svn help kommando Subversion - Kom igång Skapa ett repository (görs av oss) Sätt miljövariabeln SVN_EDITOR Skapa en arbetskatalog Lägg in en första version av projektet Använd

Subversion exempel på andra gränssnitt Tids och kostnadsuppskattningar Vad vill vi uppskatta?

Tumregler 1-3 för att skapa en klass 1 dag för att lära sig en klass De flesta metoder är1-3 LOC Få metoder är >10 LOC EVB E.V. Berard, The Object Agency Gör en uppskattning av antalet manmånader för det översta projektet jk Language System C. Months MM KSLOC FP UA_FP SLOC/MM Cobol IBM308X 17??? aprox. 250 1217.1 1010 aprox 850 Cobol IBM43XX 7 82.5 40.5 507.3 457 491 Cobol DECVAX 15 1107.3 450.0 2306.8 2284 406 Cobol IBM308X 18 86.9 214.4 788.5 881 2476 Cobol IBM43XX 13 336.3 449.9 1337.6 1583 1338 Cobol 36514 5 84.0 50.0 421.3 411 595 Bliss 36514 5 23.2 43.0 99.9 97 1853 Cobol IBM43XX 11 130.33 200.00 993.0 998 1535 Cobol IBM308X 14 116.0 289.0 1592.9 1554 2491 Cobol IBM308X 5 72.0 39.0 240.0 250 542 Natural IBM308X 5 72.0 39.0 240.0 250 542 Cobol IBM308X 13 258.7 254.22 1611.0 1603 983 Cobol IBM43XX 31 230.7 128.6 789.0 724 557 Cobol IBM308X 31 230.7 128.6 789.0 724 557 Cobol HP3000 20 157.0 161.4 690.9 705 1028 Cobol IBM308X 26 246.9 164.8 1347.5 1375 667 Natural IBM308X 14 69.9 60.2 1044.3 976 861 Vad behöver vi veta? Storleken och komplexiteten på uppgiften p p ppg Vår egen produktivitet

Kostnadskomponenter Tekniker Expertbedömning Analogireonemang Matematiska modeller E=aS b +c a=kostnad per storleksenhet b=1 12 10 E 8 6 4 2 a=1 a=2 0 1 2 3 4 5 S

E=aS b +c b=skalekonomi E 3 2.5 2 1.5 a=1 b=1 b=0.5 b=2 funktionalitet tid resurser fasta lättrörliga traditionella varierbara tid resurser funktionalitet 1 1 2 3 4 5 6 7 8 9 10 11 S