Download Rightclick to Carnell lecture

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Program optimization wikipedia , lookup

Software quality wikipedia , lookup

Comment (computer programming) wikipedia , lookup

Scala (programming language) wikipedia , lookup

Interpreter (computing) wikipedia , lookup

Distributed computing wikipedia , lookup

Version control wikipedia , lookup

One-pass compiler wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Java (programming language) wikipedia , lookup

Team Foundation Server wikipedia , lookup

Java performance wikipedia , lookup

Transcript
Distributed Java Programming
Setting up a Java Development
Environment
Distributed Java Programming107-198
What is the big deal about a
Java Development
Environment?
 Writing software is more than just
about writing code.
 It is about being able to write highquality code in a repeatable fashion.
 “Good software ultimately comes
from good process.”
Distributed Java Programming107-198
What are some of the Important
Parts of a Software Development
Process?
 OOD using UML
 Design first, then code
 Define use cases, map out architecture to suit
 Development standards
 Code documentation
 Architectural design patterns
 Source Control
 Code review and check in processes
 Integration with the build process.
 Build Management
 Repeatable builds on demand
 Training of development team
 Automated Unit Testing
 Integration with build management
 Enables fearless refactoring, regression testing
Distributed Java Programming107-198
Tools to support these Software
Development Processes
 UML
 TogetherSoft (Borland)
 Rational (IBM)
 ArgoUML / Poseidon (open source)
 Development standards
 JBuilder
 Eclipse
 NetBeans
 Source Control
 Visual Sourcesafe
 Concurrent Version System (CVS)
 Build Management
 ANT
 Automated Unit Testing
 JUnit
Distributed Java Programming107-198
NetBeans
 NetBeans originally started life as Forte,
a Sun Microsystems development tool.
 Sun decided to take the project
commercial and split NetBeans off as
an Open-Source project.
 NetBeans is a full blown Java
development environment with a
number of powerful features.
 NetBeans offers tight integration with
Poseidon (UML), Ant, CVS (source
control) & JUnit (unit testing).
Distributed Java Programming107-198
Source Control
 Source control is the heart and soul of
development effort.
 You can not have a repeatable
software development process without
using source control.
 There is a readily available opensource version control system that
most Java IDEs integrate with: CVS.
 CVS is available at http://cvshome.org
Distributed Java Programming107-198
Build Management
 A repeatable build management
process allows you to integrate the
development efforts of your team often
and early.
 Traditionally build management has
been a combination of manual steps
with hard to follow shell scripts.
 Because of the cumbersome nature of
performing builds, most development
teams do not practice any build
management.
Distributed Java Programming107-198
Typical Build Process for a
Java Project
 Apply a label to all of the source code for the
application.
 Checkout all source code by that label.
 Perform a complete compilation of all Java
source files.
 Run unit test cases to ensure that all codes do
not fail.
 Build a JAR, WAR or EAR deployment file the
contains all application configuration and class
files.
 Copy the deployment file to a central location.
 Notify the development team that a new build
has been successfully completed.
Distributed Java Programming107-198
What is Ant?
 ANT is a Java build utility.
 Since ANT is Java-based it is platform
independent.
 ANT is an XML-based tool for automating
the various tasks associated with doing a
build. These tasks include:
 Automated checking out of source code
 Incremental compilation of Java source code
 File manipulation
 Creation of JAR, WAR and EAR files for
application deployment
 Automated running of unit tests
 Launching of various processes needed during
build
 Generation of Javadocs
Distributed Java Programming107-198