Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sumedha Rubasinghe October,2009 Introduction to Programming Tools.

Similar presentations

Presentation on theme: "Sumedha Rubasinghe October,2009 Introduction to Programming Tools."— Presentation transcript:

1 Sumedha Rubasinghe October,2009 Introduction to Programming Tools

2 Contents Essentials tooling concepts in S/W development – Build system – Version Control System – Testing Tools – Reporting, Project Management – Continuous Integration

3 Assignment !! The Project assignment – Build a calculator which supports basic arithmetic operations, scientific calculations & accessibility via GUI

4 Preparation Choosing your team Understanding the assignment – Problem – Goals – Deliverables – Mode of delivery (staged/iterative, one shot) Plan

5 Ice breaker.. Lot of talking.. no action... Let's get something running first

6 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

7 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

8 Ant - Introduction Java based build tool from Apache Software Foundation Cross platform Let's install Ant

9 Installing Ant Download - Extract to a folder – Eg: c:\tools\ant\1.7.1 c:\tools\ant\1.6.2 Set ANT_HOME environment variable* Add %ANT_HOME%\bin to PATH variable Open a new command window & type 'ant'

10 Writing a Ant build script By default looks for 'build.xml' Each contains one or more s. Each can depend on zero or more other s. When running Ant specify the Supports default Driven by user defined tasks.

11 Similar tools Apache Maven make,gnumake, nmake

12 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?

13 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

14 Subversion (SVN) Free/Open-source version control system Central repository of files – Records every change done to a file checkout – getting files from server check-in/commit – putting files to server merge – local changes & changes coming from server can be merged conflict – merge failed, over lapping changes

15 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 -

16 Similar tools git - CVS (Concurrent Version System) – Project home - – Installation Guides (Windows) CVSNT (*inx) ming/change_management/unix_cvs/PROGRA MMING_Installing_CVS.shtml

17 Similar tools (commercial) Rational ClearCase ( http://www- ) Borland StarTeam ( x.html ) Microsoft Visual SourceSafe ( )

18 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 ng#Testing_methods

19 Testing automation tools Junit - JMeter - Selenium -

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

21 Maven – more than a build tool Apache project - http://maven.apache.org Two generations – Maven 1 (maven) – Maven 2 (mvn) Rich set of plugins – Driven by predefined life cycle stages – /introduction-to-the-lifecycle.htm /introduction-to-the-lifecycle.htm Project Object Model – POM –

22 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

23 Continuous Integration Popular tools – Hudson Demo on installation & configuring a project to build automatically In action : – Bamboo In action : http://builder.wso2.org – Cruise Control control control

24 Summary Build systems Version control systems Testing tools Advance build systems Continuous integration tools

25 Help If you have any questions on the topics I covered, drop me a mail @ bellow address. Please set the following prefix in your subject. – - prefix [cs3030-2009] – If your question is useful to everyone, I will try to put an answer in my blog.

Download ppt "Sumedha Rubasinghe October,2009 Introduction to Programming Tools."

Similar presentations

Ads by Google