1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.

Slides:



Advertisements
Similar presentations
© 2007 IBM Corporation Demo Shimon Nir, Rational Technical & Service Manager, IBM Southwest Europe.
Advertisements

Software engineering tools for web development Jim Briggs 1CASE.
Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Software Development Management A simplistic howto Mathieu Lacage service DREAM.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
Concepts of Version Control A Technology-Independent View.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
Version Control Systems Phil Pratt-Szeliga Fall 2010.
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.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.
Version Control at UCB Version control with Subversion and Subclipse.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
1 CMPT 275 Software Engineering Revision Control.
Software Configuration Management Slides derived from Dr. Sara Stoecklin’s notes and various web sources.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
Patterns & practices Symposium 2013 Introducing Git version control into your team Mark
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
European Organization for Nuclear Research Source Control Management Service (Subversion) Brice Copy, Michel Bornand EN-ICE 13 May 2009.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
By: Taylor Helsper.  Introduction  Bug Tracking  Progress Tracking  Version Control  Conclusion  Questions.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Version control Using Git 1Version control, using Git.
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.
ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue.
Software Engineering Modern Approaches
Source Code Management with CVS Kurt Wiersma December 2004.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Software engineering Olli Alm Lecture 6: implementation, tools for software development.
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.
Subversion, an Open Source Version Control System An Introduction.
Version Control with Subversion Quick Reference of Subversion.
1 Lecture 19 Configuration Management Software Engineering.
Subversion Code Deployment LifeCycle August 2011.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
Version Control CSC 517 John Slankas. Version Control Managing files and directories, and the changes made to them over time. - Adapted from “Version.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
1 MSTE Visual SourceSafe For more information, see:
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Project Wikis are private again. Assignment 3 is posted. Due Nov. 6. SDD framework must be in place.
All the dSoftArk Tools Getting started!. Tools dSoftArk is a semi-realistic, agile, development project –Industrial strength software (programming, TDD,
University of Southern California Center for Systems and Software Engineering Configuration Management: Concepts and Tools Pongtip Aroonvatanaporn CSCI.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
YOUR LOGO Phase 2 International Providing critical business software solutions at affordable prices.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
Code/Project Management On Screwdrivers and Hammers.
Anjana & Shankar September,2010 Introduction to Programming Tools.
Version Control with Subversion
Version control, using Git
Concurrent Version Control
Revision Control Daniel Daugherty
Continuous Integration
Presentation transcript:

1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies

SEG4912 – Software Engineering Capstone Project 2 Overview Source Control Collaboration Framework Bug Tracking Unit Testing Continuous Integration

SEG4912 – Software Engineering Capstone Project 3 Source Control

SEG4912 – Software Engineering Capstone Project 4 Source Control Goes by many names –Version Control –Software Configuration Management –Source Code Management Different Tools –Subversion –CVS: Concurrent Versions System –Microsoft SourceSafe –Vault –Perforce –Rational ClearCase

SEG4912 – Software Engineering Capstone Project 5 Source Control – The Basics Repository versus Working Folder Operations –Checkout contents of repository to working folder –Modify contents working folder –Update working folder with other’s changes –Commit local changes to repository –Add new files to repository History of all files is maintained

SEG4912 – Software Engineering Capstone Project 6 Source Control – More advanced Exclusive locks or conflict resolution? File merges Branches –One branch for maintenance on the most recent release –One branch for the upcoming version Good article on the subject:

SEG4912 – Software Engineering Capstone Project 7 Source Control – personal preferences –Subversion Server: Client: –In Windows Explorer: –Eclipse plug-in: –CVS Client & Server: Other clients: – –Eclipse has it integrated –Comparison / Merge utility: Eclipse has one integrated

SEG4912 – Software Engineering Capstone Project 8 Source Control – Statistics! StatCVS:

SEG4912 – Software Engineering Capstone Project 9 Source Control – File Comparison / Merge

SEG4912 – Software Engineering Capstone Project 10 Collaboration Framework - Wiki

SEG4912 – Software Engineering Capstone Project 11 Collaboration Framework - Wiki Basic concepts seen on All pages are editable by everyone and a history of changes is kept. Great way to maintain central documentation.

SEG4912 – Software Engineering Capstone Project 12 Collaboration Framework - Wiki Many different implementations – Recommendation: –Find one that is easy to use and install –Get it ready quickly We used TWiki ( –Uses Apache ( –Hard to install / configure –Many very useful plugins available

SEG4912 – Software Engineering Capstone Project 13 Collaboration Framework - Wiki

SEG4912 – Software Engineering Capstone Project 14 Collaboration Framework - Wiki

SEG4912 – Software Engineering Capstone Project 15 Bug Tracking

SEG4912 – Software Engineering Capstone Project 16 Bug Tracking An open source alternative for bug tracking is BugZilla ( It requires a database server and web server. Most often Apache ( and MySQL ( Create bugs, assign people, priorities, deadlines. Great way to keep track of what needs to be fixed while avoiding duplication of effort because of bad communication.

SEG4912 – Software Engineering Capstone Project 17 Bug Tracking

SEG4912 – Software Engineering Capstone Project 18 Unit Testing

SEG4912 – Software Engineering Capstone Project 19 Unit Testing As seen (or as you will see) in your software quality assurance course, unit testing is an essential asset in any large-scale software development process. There are unit testing frameworks for tons of languages. Take a look at meworks for a partial list. meworks

SEG4912 – Software Engineering Capstone Project 20 Unit Testing - JUnit JUnit ( –Open source regression testing framework built by Erich Gamma (author of the most popular Design Patterns book and one main designer of Eclipse) and Kent Beck (creator of Extreme Programming (XP) and one author of the Agile Manifesto).Design PatternsEclipse –Used for unit testing in Java. More efficient than manual debugging or insertion of trace statements inserted in the code.

SEG4912 – Software Engineering Capstone Project 21 Continuous Integration

SEG4912 – Software Engineering Capstone Project 22 Continuous Integration Continuous Integration software such as CruiseControl automate your build process. – Basic concept: –Monitor your source control for changes –Build, test and deploy on change –Notify everyone of success/failure

SEG4912 – Software Engineering Capstone Project 23 Continuous Integration

SEG4912 – Software Engineering Capstone Project 24 Conclusion Today’s presentation is only the tip of the iceberg of different software that will make your software development process easier and more efficient. The open source community is a great place to look for software for your project. Don’t forget to backup! Communication is the key to success!

SEG4912 – Software Engineering Capstone Project 25 Conclusion This is the only time in your SEG degree that you will have the chance to collaborate on a large project. I recommend investing time on setting up a good environment as it will save you tons of time in the long run. Most important rule: enjoy yourself.