概要设计与详细设计如何编写

article/2025/9/14 4:11:51

撰写的设计文档主要分为:总体概要设计文档 + 详细设计文档,后简称为“概设”+“详设”。

总设和详设都应该包含的部分:

(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倍计算;

互联网公司,产品迭代块,项目周期长,基本没有“文档”一说,但其实写好文档,对系统和项目未来的维护是非常有帮助的。


http://chatgpt.dhexx.cn/article/BwCIWqsR.shtml

相关文章

软件项目总体设计

软件项目总体设计 目录 1.导言 1 1.1目的 1 1.2范围 1 1.3参考资料 2 2.项目设计原则简介 2 3.功能模块设计 2 3.1功能模块设计总述 2 3.2 客户端子系统模块设计 4 3.2.1 模块 CM1 :静态页面 4 3.2.2 模块 CM2:系统登录 5 3.2.3 模块 CM3 :注…

软件概要设计的过程与任务

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来,对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确定软件系统的基本框架;然后是在概要设计基础上…

软件工程技术--第四章 概要设计

第四章 概要设计 4.1 软件设计概述 4.1.1 软件设计的概念与重要性 ​ 软件设计是软件工程的重要阶段,是一个将软件需求转换为软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型&#xff0…

ios 新建项目关于Main.storyboard的处理

使用xcode新建新建项目时,都会带一个main.storyboard的主界面。如果你不进行代码控制,默认APP启动会加载main.storyboard这个界面。怎么使用这个界面来加载这里就不在介绍了,这里只说用代码加载主页,不使用main.storyboard时&…

storyboard 使用

Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的界面时可以极大地节省时间。 如下图所示,这就是一个完整的应用的storyboard,接下来我们要学习如何通过这种方式创建应用。 现在你可能还不是很精确地知道我们的应用可…

ios storyboard简单用法

使用xcode5中的storyboard,做个简单的界面,第一次用简直一头雾水,摸索下来感觉也蛮方便的。 从左到右,从上到下,控件依次是:UITextFiled,UIButton, UILabel, UIPickerVi…

iOS开发18:Storyboard的简单使用

之前做的例子,我们经常会用到.xib文件,在其中我们可以进行界面的设计。不过如果想切换视图,我们就得自己写很多代码。自从苹果推出了Storyboard,我们可以在一个编辑区域设计多个视图,并通过可视化的方法进行各个视图之…

如何在xcode中使用storyboard

StoryBoard是iOS 5的新特征,目的是代替历史悠久的NIB/XIB,对于已经习惯了xib文件的孩子们来说,StoryBoard还不是那么熟悉。经过两天的研究,有了一些心得,在此分享。 一、如何使用storyboard简单实现Push页面&#xff…

Storyboard Reference

在某些情况下,你开发的应用可能包含有各种各样的复杂界面,如果你使用Storyboard来管理这些界面,通常你会将这些界面按照相应的逻辑分成许多子模块,放在不同的storyboard里,比如注册相关的放到Register.Storyboard&…

storyboard使用教程

Storyboard是最先在iOS 5引入的一项振奋人心的特性,大幅缩减构建App用户界面所需的时间。 要介绍Storyboard是什么,我打算从这张图讲起。下面是您将会在本教程中构建的Storyboard: image 或许你现在并不清楚这个App是用来做什么的&#xff0c…

关于storyboard的使用入门

 在iOS5以前,一直使用纯代码进行处理界面,尽管能够严格数据信息,但是操作上相比storyboards操作效率低,现就这个时尚的storyboards进行简要学习总结。 一 创建storyboards。 创建storyboards的方式有多种…

Storyboard入门

Storyboard 是iOS 5 中令人兴奋的一个新特性,他将为你在创建用户界面上节省很多时间。 那么究竟什么是Storyboard呢?我将用一幅图片来向你展示: 下面这个就是本教程中即将用到的Storyboard。 你或许不能精确的知道这个应用是做什么的,但是你可…

IOS开发入门之五——storyboard的使用(上)

需要iOS开发视频资料可以加我微信: 1914532832 验证信息请注明:IOS开发 上节介绍了纯代码开发,就是所有页面全部用代码来写,纯代码开发缺点就是比较慢的,而且很不直观,需要在App运行后才能看到页面效果。这节介绍重点…

IOS开发之——更换Storyboard

一 概述 新建项目的默认面板为Main.storyboard,用于向界面中添加控件并显示向项目中添加新的storyboard,并替换Main.storyboard 二 添加新的Storyboard 在Main.storyboard上右键,选择New File 在User Interface 分类下,选择Stor…

使用storyboard

story board是xcode4.2新增的一个特性,它将原有工程中的所有xib文件集成在一起,用拖拽的方式建立2个viewController之间的跳转关系,使得整个程序的UI跳转逻辑清楚明了。使用storyboard后,界面相关的代码编写将更少。 简单说…

Storyboard使用心得

最近接触IOS7新特性,之前项目都是使用xib,没有使用过storyboard,今天就研究下。首先,说下storyboard优缺点,优点:a). 流程结构清晰b). 有内置的segue支持c). 方便的实例化ViewController缺点:a). 所有的Vie…

Storyboard 自适应布局

原文链接:http://justsee.iteye.com/blog/2148987 通用的Storyboard 通用的stroyboard文件是通向自适应布局光明大道的第一步。在一个storyboard文件中适配iPad和iPhone的布局在iOS8中已不再是梦想。我们不必再为不同尺寸的Apple移动设备创建不同的storyboard文件&a…

IOS开发之Storyboard应用

(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么…

Storyboard的使用

创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程。有关storyboard的介绍在后面的文章中提到。 首先利用xcode4.2创建一个新项目,…

Storyboard全解析

原文地址:Storyboard全解析 作者:Capacity 故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图&…