Anjana & Shankar September,2010 Introduction to Programming Tools.

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
Version Control System (Sub)Version Control (SVN).
By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.
Version Control at UCB Version control with Subversion and Subclipse.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Continuous Integration after Hudson, CruiseControl, and Home Built Mile High Agile 2011 – Mark Waite.
By: Taylor Helsper.  Introduction  Bug Tracking  Progress Tracking  Version Control  Conclusion  Questions.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Programming in Teams And how to manage your code.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion.
Revision Control and Issue Tracking Andrew Watkins.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
SENG 301 – Tutorial 1 Introduction to Eclipse, Subclipse, and JUnit Slides: Theodore D. Hellmann.
Development Environment Matthew Sell, CSSE Student MASS Research Participant, October 2014.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Software Quality Assurance
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
Continuous Integration Mile High Agile 2012 – Mark Waite 3 April 2012.
Version Control with SVN Images from TortoiseSVN documentation
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Version Control CSC 517 John Slankas. Version Control Managing files and directories, and the changes made to them over time. - Adapted from “Version.
Sofia Event Center May 2014 Martin Kulov Git For TFS Developers.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
------TAO, MARKUS Project IT. JavaDoc ‣ JavaDoc is a standard method of commenting source code (interfaces, classes, methods, instances variables). ‣
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
CERN IT Department CH-1211 Genève 23 Switzerland t Bamboo users meeting IT-CS-CT.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
CS5220 Advanced Topics in Web Programming Version Control with Git
Source Control Systems
Open-O Integration Project Introduction
Source Control Systems
Maven 04 March
SENG 301 – Tutorial 1 Introduction to Eclipse, Subclipse, and JUnit
Delphi or C++ Builder, with Subversion and Jenkins
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
CISC/CMPE320 - Prof. McLeod
Using Source Code Control Effectively
Concurrent Version Control
slides borrowed and adapted from Alex Mariakis and CSE 390a
Subclipse CSCI 3130 Summer 2016.
Subversion Basics Guide
JENKINS TIPS Ideas for making your life with Jenkins easier
Systems Analysis and Design I
Java Code Review with CheckStyle
Presentation transcript:

Anjana & Shankar September,2010 Introduction to Programming Tools

Contents Essentials tooling concepts in S/W development – Build system – Version Control System – Testing Tools – Continuous Integration – Issue Tracking

I want to run it too.. One member develops a prototype using an IDE Another member wants to run it on his machine Problem – Library paths are relative to original author's machine

We need a build system A build system? – A build system will help you to build your project without machine specific dependencies. – This will make it easy for every team member to build the project & see the results

Maven - Introduction Java based build tool from Apache Software Foundation – Two generations – Maven 1 (maven) – Maven 2 (mvn) Cross Platform

Maven - Introduction More than a build tool – Software project management and comprehension tool – Build, reporting and documentation – Rich set of plugins – Driven by predefined life cycle stages on-to-the-lifecycle.html

Installing Maven Download - Extract to a folder – Eg: c:\tools\maven\2.1.0 Set environment variable M2_HOME=c:\tools\maven\2.1.0 Add %M2_HOME%\bin to PATH variable Open a new command window & type – mvn -v

Creating a project Archtype – archetypes.html – mvn archetype:generate pom.xml – – Repositories – Dependencies – Plugins

Similar tools Apache Ant make,gnumake, nmake

Testing Important to understand what type of testing needs to be done before selecting a tool Testing approaches – Approach of boxes Black box White box Grey box – Integration Testing – Regression Testing – Acceptance Testing – Non Functional Testing – Destructive Testing Testing_methods

Testing automation tools Junit - JMeter - Selenium -

Similar tools xUnit (nUnit,JUnit,DBUnit) Apache Bench

I changed the implementation... Now every team member has a running copy of the project Some have found issues in existing implementation & fixed those Some have added new features How to synchronise all of these changes? How to track these changes?

Source Code Management (SCM) Also known as, – Revision control – Version control Version Control System (VCS) Management of changes to documents Each change is associated with – revision number – timestamp – User Revision can be compared,restored, merged

Subversion (SVN) Free/Open-source version control system Central repository of files – Records every change done to a file checkout – getting files from server – svn:// /bsc10/cs3030/scratch – Username – your surname – Password – index number

Subversion (SVN) add/delete – mark files for addition/deletion check-in/commit – putting files to server update – get latest version merge – local changes & changes coming from server can be merged conflict – merge failed, overlapping changes blame/praise – find who made the change diff – find the differences

Subversion – demo Installing Subversion – not covered – Client side – Command line client – GUI client Windows File Explorer - IDE plug-ins – subclipse (for Eclipse) - – Intellij IDEA plug-in – ankhsvn (for Visual Studio) - – Net Beans -

Similar tools git - CVS (Concurrent Version System) – Project home - – Installation Guides (Windows) CVSNT (*inx) e_management/unix_cvs/PROGRAMMING_Installing_CVS.s html

Similar tools (commercial) Rational ClearCase ( 01.ibm.com/software/awdtools/clearcase ) Borland StarTeam ( ) Microsoft Visual SourceSafe ( )

Continuous Integration (CI) Developers commit changes to VCS CI Server automatically picks changes & initiate build Faster feedback to your development process preventing bugs from piling up Generate statistics Provides more visibility

Continuous Integration Popular tools – Hudson Demo on installation & configuring a project to build automatically In action : – Bamboo – Cruise Control

Issue Tracking Systems Jira Bugzilla

JIRA Creating account Creating issues Assigning issues Commenting Worklog Subtask Resolving Dependency Administration

Summary Build systems Version control systems Testing tools Continuous integration tools Issue Tracking

Help If you have any questions on the topics I covered, drop us a bellow address. – –