Java, Object-Oriented Analysis and Design, and UML
As mentioned in Chapter 1, to be successful in today's ever-changing business climate, software development must follow an approach that is different from the big-bang approach. The big-bang approach, or waterfall model, offers little risk aversion or support for modification of requirements during development. The waterfall model forces the project team to accept insurmountable risks and create software that usually doesn't approximate the original vision of the project sponsors.
This chapter looks at Java as an enterprise solution for constructing and implementing industrial-strength applications that will better approximate what the sponsors intended. Java is a language that not only supports object-oriented concepts, but also formally acknowledges many constructs not formally found in other object languages, such as the interface. This chapter explores Java's object strengths.
The UML is object-oriented, and its diagrams lend themselves to being implemented in software that is object-oriented. This chapter examines how UML, coupled with a sound software process model, such as the Unified Process, can produce applications that not only meet the project sponsor's goals, but also are adaptive to the ever-changing needs of the business.
To review Java's object capabilities.
To explore Java and its relationship to UML.
To review how UML diagrams are mapped to Java.
Java as an Industrial-Strength Development Language
Numerous tomes chronicle the emergence of Java onto the technology landscape. Suffice it to say, things have not been quite the same since James Gosling (the visionary behind Java's birth at Sun Microsystems) created Sun's first Java applet running in a Mosaic-clone Web browser.
Java has grown immensely since that time and gone through many upgrades and enhancements, including sizeable replacements of major components within Java (the Swing graphics library), along with the advent of enterprise-level Java commitment in the form of Enterprise JavaBeans (EJB). This book focuses on the most recent release of the Java Development Kit, JDK 1.3more affectionately called Java 2.0. In addition, both JavaBeans and Enterprise JavaBeans will be used extensively to implement most of the Java components, and bean-managed and container-managed persistence using the EJB 2.0 specification will be used with commercial application servers.
Java as a career path has also turned out to be a smart decision. Studies have revealed that a majority of job postings in the U.S. market include Java experience as a requirement over other programming languages. In fact, a recent study by the Forrester research firm reported that 79 percent of all Fortune 1000 companies were deploying enterprise Java applications. Forrester also predicted that that figure will be 100 percent by the end of the year 2003.