书籍详情

Java软件开发

Java软件开发

作者:(美)Sartaj Sahni,(美)Raj Kumar著;杜大鹏等译;杜大鹏译

出版社:中国水利水电出版社

出版时间:2004-07-01

ISBN:9787508421735

定价:¥32.00

购买这本书可以去
内容简介
  虽然本书以Java为示例来讲述全书内容,但其内容却适合于使用各种编程语言的软件开发工作。本书是一本深入介绍软件开发的所有方面的书籍。作者讨论了诸如问题描述、模块化、编程美学、逐步完善、测试、验证和文档说明等软件工程的实施过程。除了这些专题之外,软件开发人员还需要理解性能分析和测试方法,并在数据结构和算法之间作出选择,本书也讨论了这些专题。作者使用Java来讲授软件开发并提供了许多示例。本书适合作为有关软件开发、计算机科学导论和高级编程等课程的教科书。对于有经验的程序员来说,本书也是有价值的参考读物,而且是软件开发人员手头必备的书籍。译者序本书所讲述的有关软件开发的诸多问题,并不只是在Java语言中才存在,而是对所有编程语言的软件开发项目都同等适用。原书作者已经指出了这一点。原书作者说,本书不过是原来的《Pascal软件开发》的Java版而已,这一点务必请有意选择本书的读者注意。我们这个翻译小组虽然翻译过许多软件开发方面的书,但还是第一次接触软件开发理论,这使本书的翻译增加了难度,但同时也是对我们的挑战。善于啃硬骨头是我们这个翻译小组的长处。翻译本书既锻练了我们的"牙齿"也提高了我们的知识水平,真可谓一举两得。我们这个翻译小组由掌握不同专业知识的人员组成,此时这种组成就发挥了优越性。其中教数学课的老师成了我们的咨询人员,这使得我们对本书中大量数学内容的翻译能够做到尽量准确、符合专业要求。尽管如此,我们毕竟是第一次接触这样的内容,错误与不当之处在所难免,还望广大读者批评指正。参加本书翻译工作的有杜大鹏、岳丽君、李善茂和龚小平等人。其中,杜大鹏翻译了前言和第1章~第5章,岳丽君翻译了第6章~第8章,李善茂翻译了第9章一第11章,龚小平翻译了第12章~第14章和附录。全书由杜国梁审校并统稿。参加本书录入、打印、校对等工作的有管英强、傅烨、魏天超、梁国珍、任建畅、马相生、刘发来、董明、迟春和杨天华等。在此对他们为本书所做出的贡献表示感谢。前言本书实际上是((Pascal软件开发》(SoftwareDevelopmentinPascal,作者SartaiSahni,由地处佛罗里达州Gainesville的Camelot出版公司出版)一书的Java版本。我们的目的是提供介绍软件开发任务的各个方面的导言性的书籍。本书的内容或许是软件开发过程中遇到的困难的某种写照。本书中讲述的论题代表了我们要定义软件工程的意图。这些论题包括传统软件工程专题,如问题描述、操作界面设计、模块化、编程艺术、逐步完善、测试和编制文档等。除此之外,还包括了有关程序确认、性能分析和测试、数据结构和算法等方面。我们的看法是,后面这些论题对于软件开发来说与前面的论题是同等重要的。这本教科书的内容可用于当前本科生所学的许多课程中。为了获得对软件开发的各个方面的较好的感受,完整地讲授本书是必要的。介绍性的软件工程课程可以以本书的第1章~第9章为基础。介绍性的数据结构和算法课程可以以本书的第1章~第14章为基础。编程的第二门课程(通常称为高级编程)可以使用本书第1章一第7章以及第9章~第12章的内容。如要全面讲述本书的内容,我们建议利用连续两个学期的时间学习。
作者简介
  Sartaj Sahn是著名的教授,是佛罗里达大学计算机和信息科学系的主任。他还是 IEEE(美国电气和工程师协会)、ACM、 AAAS以及明尼苏达超级计算机研究所和伊利诺伊理工学院著名校友会的高级会员。他于1997年荣获了IEEE的泰勒教育奖,此奖项用以表彰他在计算机科学和工程教育方面所做出的贡献。他在康奈尔大学获得了计算机科学博士学位。Sahni博士发表过250多篇研究论文并编写了14部教科书。他的论文都是有关有效算法的设计与分析、并行计算机、网络互连、设计自动化以及医学算法的。他编写的教科书内容包括、数据结构、算法、并行算法、离散结构和软件开发等方面。Sahni博士是Journal of Paraller&Distributed Computing 的副主编,也是国际计算机科学基础杂志的总编。他还做过课程委员会主席、执行主席,并曾许多研讨会上做过主题演讲。Raj Kumar是在设计的构筑软件系统上有10年以上经验的独立咨询人员。他是软件的许多领域(包括并行计算、数据库和Web技术等)内的一位专家。
目录
第1章  软件开发
  1.1  开发活动
  1.2  软件描述
  1.3  设计
  1.4  模块化
  1.5  选择编程语言
  1.6  程序开发
  1.7  检测
  1.8  性能分析和测试
  1.9  说明文档
  1.10  维护
  1.11  功能增强
  1.12  计算机辅助工具
  1.13  本章小结
  1.14  参考文献和推荐读物
第2章  问题描述
  2.1  引言
  2.2  数学问题
  2.3  编程语言
  2.3.1  句法和语义
  2.3.2  多义性
  2.4  电子表格
  2.5  数据库管理
  2.6  本章小结
  2.7  参考文献和推荐读物
  2.8  练习
  第3章  设计
  3.1  引言
  3.2  功能
  3.3  菜单
  3.3.1  其他考虑
  3.3.2  具有层次结构的菜单
  3.3.3  水平菜单显示方式
  3.3.4  本节小结
  3.4  命令格式
  3.5  小结
  3.6  联机帮助
  3.6.1  简略帮助
  3.6.2  详细帮助
  3.7  参考文献和推荐读物
  3.8  练习
第4章  模块化
  4.1  引言
  4.2  文本编辑程序
  4.3  电子表格
  4.4  数据库管理
  4.5  程序
  4.6  本章小结
  4.7  参考文献和推荐读物
  4.8  练习
第5章  编程美学
  5.1  程序美
  5.2  名称选择
  5.3  注释
  5.4  程序布局
  5.5  语句组织
  5.6  控制语句的选择
  5.6.1  控制语句
  5.6.2  使用while语句
  5.6.3  使用for语句
  5.6.4  使用do-while语句
  5.6.5  使用if语句
  5.6.6  使用switch语句
  5.6.7  关于没有goto语句的说明
  5.7  通用性
  5.8  输入/输出格式
  5.9  参考文献和推荐读物
  5.10  练习
第6章  防御性编程
  6.1  引言
  6.2  输入错误
  6.3  数值误差
  6.3.1  表示误差
  6.3.2  算术误差
  6.3.3  与数值误差共处
  6.4  边界错误
  6.4.1  文本编辑器
  6.4.2  插入
  6.4.3  堆栈
  6.5  其他原因
  6.5.1  未初始化变量
  6.5.2  全局和局部变量
  6.6  参考文献和推荐读物
  6.7  练习
第7章  逐步改进
  7.1  引言
  7.2  迷宫中的老鼠
  7.2.1  描述
  7.2.2  设计
  7.2.3  程序计划
  7.2.4  程序开发
  7.2.5  迭代版本
  7.2.6  本节小结
  7.3  排序
  7.3.1  问题描述
  7.3.2  设计
  7.3.3  程序计划
  7.3.4  程序开发
  7.4  栅网
  7.4.1  问题描述
  7.4.2  设计
  7.4.3  编程计划
  7.4.4  程序开发
  7.5  装配线顺序
  7.5.1  问题描述
  7.5.2  设计
  7.5.3  程序计划
  7.5.4  程序开发
  7.6  参考文献及推荐读物
  7.7  练习
第8章  程序的正确性
  8.1  引言
  8.2  数学归纳法
  8.2.1  证明方法
  8.2.2  递归程序
  8.2.3  迭代程序
  8.2.4  循环不变量
  8.3  断言变换符方法
  8.4  参考文献和推荐读物
  8.5  练习
第9章  测试
  9.1  引言
  9.2  模块测试策略
  9.2.1  大宗测试
  9.2.2  大宗综合测试
  9.2.3  增量测试
  9.3  测试数据的生成
  9.3.1  引言
  9.3.2  黑箱方法
  9.3.3  白箱方法
  9.3.4  本节小结
  9.4  调试
  9.5  参考文献和推荐读物
  9.6  练习
第10章  性能分析
  10.1  引言
  10.2  空间复杂性
  10.3  时间复杂性
  10.4  渐近记号<O、Ω、Θ、0)
  10.5  实用的复杂性
  10.6  参考文献和推荐读物
  10.7  练习
第11章  性能测试:
  11.1  引言
  11.2  方法调用的代价
  11.3  递归和迭代
  11.4  边界测试
  11.5  编程效率
  11.6算法的比较
  11.6.1  引言
  11.6.2  示例:插入排序和冒泡排序
  11.7  高速缓存的效果
  11.8生成测试数据
  11.9练习
第12章数据结构
  12.1  引言
  12.2数组表示法
  12.2.1  引言
  12.2.2  线性列表
  12.2.3  队列
  12.2.4  搜索表
  12.3链接表示法
  12.3.1  引言
  12.3.2  线性列表
  12.3.3  堆栈
  12.3.4  队列
  12.3.5  双队列
  12.3.6  搜索表
  12.4  参考文献和推荐读物
  12.5  练习
第13章  高级数据结构
  13.1  二叉树
  13.1.1  引言
  13.1.2  性质
  13.1.3  表示法
  13.1.4  二叉树操作
  13.2  堆
  13.3  叉搜索树
  13.4  图形
  13.4.1  定义
  13.4.2  应用
  13.4.3  性质
  13.4.4  表示法
  13.4.5  操作
  13.5  参考文献和推荐读物
  13.6  练习
第14章  算法设计方法
  14.1  引言
  14.2  贪婪法
  14.3  分而治之
  14.4  动态编程
  14.5  回溯法
  14.6  分支和约束
  14.7  试探法
  14.7.1  引言
  14.7.2  贪婪试探法
  14.7.3  交换法
  14.7.4  性能测定
  14.7.5  MonteCarlo改进方法,
  14.8  参考文献和推荐读物
  14.9  练习
附录  曲线拟合
猜您喜欢

读书导航