tool setup guide to cmps 115 spring 06 guozheng ge cs dept. ucsc april 4, 2006

18
Tool Setup Guide to CMPS 115 Spring 06 Guozheng Ge CS Dept. UCSC April 4, 2006

Post on 21-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Tool Setup Guide to CMPS 115 Spring 06

Guozheng Ge

CS Dept. UCSC

April 4, 2006

Software Development (SD) In General

Software Development In Real World

KPMG Canada Survey (1997)– >61% projects failed– >75% delayed– >50% substantially over budget

Chaos Report (1995)– 31.1% projects got cancelled before completion– 52.7% cost over 189% of their budget– Only 16.2% on-time and on-budget

SD is about the Process

SD is about Tools

Programming languages Component libraries Editors, IDEs Compilers Debugger Testing tools Configuration management tools, e.g. version

control, distributed collaboration, etc. Modeling and design tools

SD is about Humans

Different roles in SD process– Domain expert, architect, designer, developer,

testing engineer, release and deploy engineer, maintainer, end user

Teamwork and collaboration Management and scheduling Other non-tech factors

– Trust, devotion, passion, etc.

Recommended Tools for CMPS115 Spring 06

Java

Eclipse

Subversion

DForge http://dforge.cse.ucsc.edu/

http://www.eclipse.org/

http://subversion.tigris.org/

http://java.sun.com/

Java SDK

Sun J2SE 5.0 (recommended) Others

– IBM JDK (more legacy OS support, AIX, OS/2)– Apple J2SE– Bea JRockit– Kaffe + Classpath (open source under GPL)– Apache Harmony (open source under Apache

License)

Eclipse

Most popular IDE in Java developers

Java Development Tools (JDT) sub-project is one of the most advanced Java development environment out there

– Intuitive GUI– Code insight– Real time errors and warnings– Powerful refactory– And more…

Eclipse is more than an IDE, but a general platform– Everything is a plugin

Eclipse Demo

A simple demo to teach you how to use Eclipse JDT by creating a “Hello World” project (no video)

Why We Need Version Control

1 2

3 4Harry’s work is lost !!!

Solution 1: Lock-Modify-Unlock

1 2

3 4

Solution 2: Copy-Modify-Merge

1 2

3 4

5 6

7 8

Version Control with Subversion

Subversion supports both solutions

• Most CVS features

• Directory and metadata versioning

• Renames

• Atomic commits

• Constant branching and tagging time

• and many more…

Subversion Client Programs

Subclipse plugin for Eclipse (demo)– video svn.avi

1. install Subclipse plugin for Eclipse

2. import code to svn server

3. modify and checkin)

Command line tool svn

DForge: a Collaborative Online Development Tool

Developed based on GForge code base Features

– Multi-user, project-based management– Forum, wiki, shared documents– Bug tracking, release management– Project statistics– Subversion repository

Demo (dforge-final.avi)

Useful Docs

CMPS 115 Project Setup Guide Version Control with Subversion (an open

source book under Creative Commons) Eclipse.org tutorials and examples java.sun.com for Java tutorials, examples

and Javadoc

Thank You and Good Luck for Your Projects!