领测软件测试网
2、 设计软件所需要的
数据库系统
一个好的软件一般都有一个专门为其设计的数据库系统,数据库的设计已自成理论体系,在这里不会详细说明如何做这个工作,但一般数据库的设计工作可分为 数据结构设计和数据库设计,数据库设计还分为概念设计、逻辑设计和物理设计,每一项都有很多的知识和原则,有兴趣的朋友可自己去摸索。
3、 编写概要设计文档
软件工程很强调文档的作用,概要设计也一样,要做好这阶段应有的文档才算是基本完成任务,对文档的编写主要是概要设计和数据库设计说明书,另外还有对
需求分析阶段的用户手册和
测试计划进行必要的修改,以更合理的对应所设计的软件系统。
4、 评审
这主要是对这阶段工作的一次回顾,看看有什么遗漏或错误的地方没有。评审也有很多不同的技术性手段,可一般都将重点放在功能、
性能、可行性、接口正确性等方面。
软件概主设计的几个基本原理:
1、 抽象
即对将要用软件来完成的工作在本质上进行抽象,抛开无关紧要和多余的部份,构造出一个软件需要完成的功能的逻辑结构。
2、 信息隐蔽
这是对抽象的进一步回应,信息隐蔽的实质就是“各管各的数据”。
3、 模块化
这在上面已经讲过,模块化设计的根本原则就是做到所有模块尽可能的相对独立,对别的模块的依赖越小越好。模块化还具有几个相关的属性:接口、功能、逻辑、状态。
四、 详细设计 到了详细设计阶段,现在该把注意力从全局移到局部了,但先别着急,现在还不是编码阶段,要做的仍然是软件的逻辑设计部份,只不过现在不是设计结构了。
详细设计就是把我们在概要设计里所划分出来的模块要实现的功能用相应的设计工具详细的描述出实现步骤来,也即是写出代码的算法,在详细设计里所有的表述无论是语言或是图表,都应做到有精确的唯一解释,绝不允许出现有“二义性”或“多义性”的表述,所谓精确的表述就是要做到无论这份文档到了那个
程序员手中,他都能看得懂文档的含意而且只有一个含意,不可能再解读出第二层意思来。
详细设计的任务就是为每个模块所要完成的功能进行具体而精确的描述,要根据功能描述再转化成精确的、结构化的软件过程描述,软件过程描述一般可直接对应到相应的代码,也就是以后程序员会根据这些过程描述来编写程序代码,具体如下:
(1)为每个模块进行详细的算法设计。这是需要用相应的工具来完成的,因为自然语言通常很容易具有“二义性”,而工具能做到含义唯一性。
(2)为模块内的数据结构进行设计。
(3)对数据库进行物理设计。注意这不是实现数据库,而是设计出数据库的具体物理结构。
(4)其它设计(前期特殊代码设计、I/O格式设计、界面友好设计等)。
(5)编写详细设计说明书。
(6)评审。
[1] [2] [3] [4] [5]