生物信息学软件工程
——Bioinformatics
Software Engineering: Delivering Effective Applications
作 者:Paul Weston
出 版:Wiley
索 书 号:Q811.4/W-536/2004/Y
I S B N :9780470857724
藏书地点:武大外教中心
生物信息学(Bioinformatics)是研究生物信息的采集、处理、存储、传播,分析和解释等各方面的学科,也是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的一门新学科。它通过综合利用生物学,计算机科学和信息技术而揭示大量而复杂的生物数据所赋有的生物学奥秘。
《生物信息学软件工程》是一本手册,它不受任何特定操作系统、平台、语言或方法的束缚,相反,它侧重于已经在现实世界中得到验证的原则和实践。作者在书中强调了自适应编程的重要性,简洁明了,涵盖了整个软件开发过程生命周期。在书中每个部分中,都描述了常见的陷阱,并解释了如何避免这些缺陷,提出了简单的技术和更好的解决方案。英国葛兰素史克遗传学研究所生物信息工程整合技术与发展总监Simon Dear曾评这样论过这本书:“深思熟虑......解决了生物信息学软件开发人员面临的许多关键问题。”
本书的作者是Paul Weston。他在应用程序开发方面拥有近二十年的经验,在创业企业和庞大的官僚机构等不同环境中获得了丰富的经验。从MVS到XP,从COBOL到Java,从结构化编程到Struts,他有涉足。他在20世纪90年代中期开始开发生物信息学应用程序,并且在序列组装和序列数据管理方面拥有强大的专业知识。他现在是Woodcock Stewart的董事,该公司专门从事生物信息学软件开发和开发人员培训。
《生物信息学软件工程》分为四个部分,十七个章节,书中涉及到了生物信息学当中需要的软件开发技术的编写和遇到的问题。可以大致分为以下几个部分。第一部分:软件的开发。正确写作软件涉及与人交谈,通常情况下是与多人交谈,并且需要大量的非编码工作,它需要能够为那些难以描述的复杂问题想出新的解决方案。同时还有强调了软件书写规范:需要寻找动词再到动作词,识别名词并命名单词,如用户、家、序列等,列出形容词并描述单词,如快速、简单、精确等。同时提出动词是应用程序必须提供的功能,名词定义函数的参数,形容词指定程序必须运行的约束条件。而关于如何开始编写软件:“处理错误-接收数据-显示输出-开始”。第二部分:软件测试。在用户与程序进行交互时,可能无法测试每种可能发生的情况组合。但是可以做的一件事就是在商定的能力极限下测试应用程序:它必须支持的最大并发用户数量,它必须运行的最低系统配置,它必须应对的最低通信速度,以及它必须执行的最复杂的操作。如果程序能够在性能包络的边缘处理条件,那么在处理较少挑战的情况下就不太可能遇到困难。第三部分:向用户展示早期版本的软件。第四部分:关于错误,如果用户在生产代码中发现了真正可重现的错误,尽快修复,然后修复允许它通过的系统。
《生物信息学软件工程》一书提供了有效的应用程序开发方法,这本书将对任何想要了解在快速变化的环境中如何开发成功软件的人有很大的帮助。除此之外,本书还具有以下特点:
1、具有权威性和时效性。《蛋白质信息学概论》一书在内容上十分广泛,语言描述简洁,本书的编者是计算机科学、生物学、数学领域长期的教学和研究学者,因此书本具有较大的权威性。同时,由于关于生物学的内容更新换代很快,很多内容可能仅限于编书的当时,随着时代的发展有了更多的补充,因此,本书内容具有时效性。
2、层次鲜明,脉络清晰。《生物信息学软件工程》一书编写过程以不同章节分开,一共分为十七个章节,清楚地将蛋白质信息学软件从开发到测试再到最后使用的全过程详细描述出来,使得读者对软件开发有了全方位的了解。。
3、图文并茂,便于理解。该书在介绍软件的开发和测试时,配有生动的流程图,使读者清晰理解开发和测试过程,同时图文并茂使整本书更具有可读性、趣味性。
最后,作者还为读者提出了自己对成功开发软件的一个想法:“你必须成为一名侦探,跟踪线索并检查证据,以发现问题的原因,而且你必须成为一名政治家,无论是在公共场合还是在私人场合,了解人们的需求,这可能会影响你想要做什么,这本书不能教你如何做到这一点,但它可以提供帮助。”
目录
前言
数字列表
致谢
第1部分:引言
1.你需要知道什么
2.什么是软件工程?
第2部分:开始前
3.项目定义
4.需求捕获
5.分离功能、界面和实施。
6.实施注意事项
7.概念验证、原型设计和买入
第3部分:完成任务
8.数据输入、数据输出和数据转换
9.从哪里开始?
10.功能性优化
11.编码风格
第4部分:完成了一些价值
12.编写手册
13.测试的时间和地点
14.推出和交付
15.支持和反馈
16.计划和非计划增强
17项目签字
索引。
(武汉大学生命科学学院研究生 王鑫)