本文收集整理关于详细设计是在概要设计之后的相关议题,使用内容导航快速到达。
内容导航:
Q1:概要设计与详细设计有什么区别
概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
概要设计阶段通常得到软件结构图
详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等
Q2:从工程管理的角度软件设计可分为概要设计和什么设计
概要设计主要阐述系统的目标、建设原则,系统的功能模块及数据库概要设计(有哪些表名),概要设计面向设计人员和用户,简单说,用户也能看得懂,不要求太细节,是对用户需求的技术响应,是二者沟通的桥梁。详细设计则是在概要设计的基础上对系统的各个模块进一步细化,分析各个模块的子模块,甚至给出各子模块的算法;数据库设计方面则要求到具体每张表的字段。通常面向开发人员,应该是开发人员看了你的详细设计,就可以直接写代码。
Q3:概要设计和详细设计怎么写 知乎
撰写的设计文档主要分为:总体概要设计文档 + 详细设计文档,后简称为“概设”+“详设”。
总设和详设都应该包含的部分:
(1) 需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的story list部分;
(2) 名词解释(可选):非相关领域内的同学需要看到文档需要提前了解的一些概念性质的东西;
(3) 设计目标:又分为功能目标和性能目标,功能目标一般是对产品需求的技术描述,性能目标是根据产品给出的数据对性能进行的评估。一般来说,新服务必须要有性能目标一项,性能目标可能会影响设计方案。
除了都应该包含的部分,总体概要设计一般还包含:
(1) 系统架构:一般来说会有个简单的架构图,并配以文字对架构进行简要说明;
(2) 模块简介:架构图中如果有很多模块,需要对各个模块的功能进行简要介绍;
(3) 设计与折衷:设计与折衷是总体概要设计中最重要的部分;
(4) 潜在风险(可选);
输出总体概要设计的时候,很多方案还是不确定的,需要在设计评审会议上确认。
总体概要设计重点在“方案折衷”,总体概要设计评审完毕之后,此时应该是所有方案都确认了,需要输出各模块的详细设计,详细设计重点在“详细”:
(1)总体概要设计结论汇总(可选):达成一致的结论有个简要概述,说明详设是对这些结论的实现;
(2)交互流程:简要的交互可用文字说明,复杂的交互建议使用流程图,交互图或其他图形进行说明;
(3)数据库设计:这个是应该放在总设还是详设呢?
(4)接口形式:有了数据库+接口+流程,别的同学拿到详设文档,基本也能够搞定了;
(5)其他细节:例如公式等;
理论上输出了详细设计之后,无论谁拿到了这个详设文档,都是能够完成该项目的。
个人实践分享:
一、 大图
(1) 大系统或复杂流程,其架构图或者流程图会非常大,经常比A4纸或word的一页大很多,此时不宜在word中直接贴图形,贴了也看不清,建议将图放在wiki上,文档中直接贴链接;
(2) 一定要保存viso或者其他图形的源文件,否则今后改动起来要重画,代价可想而知;
二、 设计与折衷
(1) 设计与折衷是总设中最重要的内容,总设评审中,主要就是讨论这些折衷的优劣;
(2) 评审过后,不但要邮件周知结论,还要在总设中进行更新,说明最终决定使用了哪种方案,为什么使用这种方案;根据自己的经验,接手别人的模块、项目,拿到代码和文档,设计方案对我来说完全是个谜!!!
(3) 有时候因为排期或者其他原因,不一定采用了最优的设计方案,此时更应该在总设中记录决策的过程与原因;
(4) 最后,设计折衷是一个很好的自我辩解的机会:因为项目进度,或者历史遗留问题,我不得不采取了一个这样的设计,不要再骂我了。
三、 性能目标
性能目标是新模块文档必不可少的一部分,很多项目对性能影响较大的话,也必须撰写性能目标,性能一般来说可能包含以下部分:
(1) 日平均请求:一般来自产品人员的评估;
(2) 平均QPS:日平均请求 除以 4w秒得出,为什么是4w秒呢,24小时化为86400秒,取用户活跃时间为白天算,除2得4w秒;
(3) 峰值QPS:一般可以以QPS的2~4倍计算;
互联网公司,产品迭代块,项目周期长,基本没有“文档”一说,但其实写好文档,对系统和项目未来的维护是非常有帮助的。
Q4:概要设计和详细设计的区别与联系
概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型.详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。
Q5:界面设计是概要设计还是详细设计
概要设计是详细设计的基础必须在详细设计之前完成概要设计经复查,确认后才可以开始详细设计。概要设计必须完成概要设计文档包括系统的总体设计文档、以及各个模块的概要设计文档。每个模块的设计文档都应该独立成册。
详细设计必须遵循概要设计来进行。详细设计方案的更改不得影响到概要设计方案如果需要更改概要设计必须经过项目经理的同意。详细设计应该完成详细设计文档主要是模块的详细设计方案说明。和概要设计一样每个模块的详细设计文档都应该独立成册。
如果是界面的设计话应该遵循网站或者品牌的要求来具体来定。
W^wW.YijiTao.Com
Q6:软件开发流程中概要设计和详细设计的区别
模块的概念
软件工程中谈到的模块是指整个系统中一些相对对独立的程序单元,每个程序单元完成和实现一个相对独立的软件功能。通俗点就是一些独立的程序段。
模块设计是系统设计阶段后续的一个软件开发阶段。
概要设计的概要
一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。
详细设计
为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。