技术开发 频道

软件生存周期各阶段活动定义浅释

    软件概主设计的几个基本原理:

    1、 抽象
 
    即对将要用软件来完成的工作在本质上进行抽象,抛开无关紧要和多余的部份,构造出一个软件需要完成的功能的逻辑结构。

    2、 信息隐蔽

   这是对抽象的进一步回应,信息隐蔽的实质就是“各管各的数据”。

    3、 模块化
 
    这在上面已经讲过,模块化设计的根本原则就是做到所有模块尽可能的相对独立,对别的模块的依赖越小越好。模块化还具有几个相关的属性:接口、功能、逻辑、状态。

    四、 详细设计

    到了详细设计阶段,现在该把注意力从全局移到局部了,但先别着急,现在还不是编码阶段,要做的仍然是软件的逻辑设计部份,只不过现在不是设计结构了。

    详细设计就是把我们在概要设计里所划分出来的模块要实现的功能用相应的设计工具详细的描述出实现步骤来,也即是写出代码的算法,在详细设计里所有的表述无论是语言或是图表,都应做到有精确的唯一解释,绝不允许出现有“二义性”或“多义性”的表述,所谓精确的表述就是要做到无论这份文档到了那个程序员手中,他都能看得懂文档的含意而且只有一个含意,不可能再解读出第二层意思来。
  
    详细设计的任务就是为每个模块所要完成的功能进行具体而精确的描述,要根据功能描述再转化成精确的、结构化的软件过程描述,软件过程描述一般可直接对应到相应的代码,也就是以后程序员会根据这些过程描述来编写程序代码,具体如下:

      (1)为每个模块进行详细的算法设计。这是需要用相应的工具来完成的,因为自然语言通常很容易具有“二义性”,而工具能做到含义唯一性。
     (2)为模块内的数据结构进行设计。
     (3)对数据库进行物理设计。注意这不是实现数据库,而是设计出数据库的具体物理结构。
     (4)其它设计(前期特殊代码设计、I/O格式设计、界面友好设计等)。
     (5)编写详细设计说明书。
     (6)评审。

   五、编写代码

    编写代码就是真的在机器上用计算机语言实现前面所设计的软件功能了,编写代码时要做到高度对应在详细设计里所描述的算法,因为以后的“除虫”或升级等,很多时候都是以详细设计的文档资料为根据的,如代码和详细设计的描述的偏差,很容易误导以后进行维护工作的程序员,而且这种错误很能被发现,而那样会浪费掉很多不必要的人力物力。

    程序员们还要注意的就是在编码时尽可能在重点和难点的地方留下注释,这样对后来的程序员读源代码也有很大的帮助。

0
相关文章