本书为软件系统开发指导教程。首先,通过对比结构化编程,本书介绍面向对象编程的基本概念和特点,以及根据软件需求设计UML类图的方法。其次,重点围绕面向对象中类的封装性、类之间的关联关系、类之间的继承关系和多态等特性,本书阐述应用Java语言对UML类图进行编程实现的核心技术。然后,围绕Java项目开发,本书介绍集成开发平台Eclipse、Intellij IDEA的使用,以及Java大型项目管理工具Maven和多任协作开发版本控制GitHub的使用,并阐述Java异常处理、Junit单元测试、Java编程规范和Javadoc注释等Java程序的质量保障技术。最后,本书阐释面向对象可复用设计模式等面向对象设计的高级主题,以及输入输出、并行处理网络编程等高级Java和界面编程技术。 本书内容编排独特,讲解通俗易懂,以需求-设计-实现为线索,展开技术情节描述,通过大量具体示例及贯穿全文的综合应用案例来阐述设计理念、编程技术和面向对象理论知识,具有较强的工程性和应用性。 本书可作为高等院校软件工程教育核心教材,也可作为计算机专业及相关专业的课程教材,以及软件开发人员的参考用书。