Today’s programmers need more than just Java software programming skills - they need to understand object-oriented design, software quality assurance, and software project management. In this unique text, the fundamentals of Java programming are presented in the context of object-oriented software engineering and a Unified-Process-based software development methodology. Introduces Java syntax and structure from a complete, object-oriented life-cycle view of the software design and development process. Covers all aspects of software engineering, including project design, development, and management - from initial concepts to deployment - with a strong emphasis on illustrative examples and real-life applications. For software development professionals who are looking for a methodical approach to learning object-oriented software development using Java 2.