课后习题解答

(本次作业来自课本P201,习题8第二题)  

我在阅读课本时发现了一个很切合当前团队项目进程实际的问题,便选来加以附上自己的一点看法。

假设自己的任务是对一个已有的软件做重大修改,而且只允许从下述文档中选取两份:

(1).  程序的规格说明;(2). 程序的详细设计结果(自然语言描述加上某种设计工具表示);(3). 源程序清单(其中有适当数量的注解)。

应选取哪两份文档? 为什么这样选取? 打算怎样完成交给自己的任务?

在这个题目中,我选择的两份文档是(1)和(2)。

首先我说一下文档吧,文档是在软件开发过程中,开发者为了提高软件的可理解性,提高软件管理效率而留下的一种书面文件材料。文档也是软件开发的重要工作成果之一,例如软件立项说明书,需求说明书等等。这些文档是软件开发过程中不可缺少的一环。 

首先,第一个选项程序的规格说明包括功能规格,性能规格,接口规定和设计规格说明,这些说明明确规定了软件的功能,性能,各组成部分的接口说明和重要的软件设计方向。包括使用的算法、控制逻辑、数据结构等等。

同时,第二个选项详细设计也是软件开发中不可缺少的一步,就是对软件概述功能上的彻底细化,十分详细地为每个部分选择算法和相应的数据结构以及软件环境布局等等。在软件详细设计这个阶段,详细的程序设计结果决定着软件源程序的走向和软件功能的分布。

至于第三个选择软件源程序清单,我个人觉得并不是很必要,一方面, 本来就是要做“重大修改”,源程序基本没什么用处,反正会改得面目全非,另一方面,在有程序的规格说明和程序的详细设计结果的情况下,重写源程序付出的代价要小得多。

在有了程序的规格说明和程序的详细设计结果之后,我会按照软件开发的正规流程并结合已有的程序的规格说明和程序的详细设计结果,重新分模块编写新的代码,这些代码就是重大修改后的新的源代码。