艺之都网络社区

标题: 软件需求,概要设计,详细设计(文档)怎么做,做什么? [打印本页]

作者: 刘家乐    时间: 2018-9-7 10:12
标题: 软件需求,概要设计,详细设计(文档)怎么做,做什么?

由于项目工作需要 ,需要提供《软件需求规格说明书》,《软件概要设计说明书》和《软件详细设计说明书》。所以这里整理学习一下相关文档需要的内容。文章并不设计对所有需求分析,概要设计和详细设计的详细描述。因为这其中的任何一点都可以单独提取出来成为软件工程学科中的一本书籍内容。

1 软件设计的整体流程:


2 需求分析
2.1 我们为什么需要《软件需求规格说明书》 ?
如果需求的编写只是为了解释说明软件实现的功能,那么良好的编码结构,代码注释就可以很好的实现软件的功能说明,程序员可以将编写需求的时间节约下来进行更多功能的实现; 可是,这样的情况可能更多适用于中小型项目,或者互联网项目,因为这样的项目需求不复杂,并且需求变化很快,所以研发的效率非常重要。然而,针对大型软件项目或者功能比较复杂的系统,软件研发可能是多人协作的成果,所以在信息传递过程中, 我们只有提前考虑好软件需求的内容,才能正确评估开发软件所需要的时间,成本的要素,从而更好的管理项目。

2.2 《软件需求规格说明书》的一般结构


3 概要设计
3.1 《概要设计说明书》的一般结构:
模块设计,可以写以下内容:   1、模块描述:说明哪些模块实现了哪些功能;   2、模块层次结构:可以使用某个视角的软件框架图来表达;   3、模块间的关系:模块间依赖关系的描述,通信机制描述;   4、模块的核心接口:说明模块传递的信息、信息的结构;   5、处理方式设计:说一些满足功能和性能的算法;3.2  概要设计需要注意的地方


4 详细设计
4.1 《详细设计说明书》的一般结构:
参考如何撰写软件详细设计内容?
每个模块的描述说明可参照以下格式:**模块编号:****模块名称:****输入:****处理:****算法描述:****输出:**
4.2   详细设计需要注意的地方
如果有或者有必要,特别是大型的软件系统,详细设计阶段划分系统功能模块或子系统。

5 概要设计和详细设计的区别
5.1 概要设计阶段:
在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。主要集中于划分模块、分配任务、定义调用关系。模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。
概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

5.2 详细设计阶段
在这个阶段,各个模块可以分给不同的人去并行设计。在详细设计阶段,设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。
详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。








欢迎光临 艺之都网络社区 (http://dztp.yidouwang.com/) Powered by Discuz! X3.2