Rightclick to Carnell lecture
Download
Report
Transcript Rightclick to Carnell lecture
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