概要设计说明书怎么写设计文档–概要设计求解答

概要设计说明书  时间:2021-08-14  阅读:()

简要描述系统概要设计包括哪些方面的架构

在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。

因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。

一、问题的提出 概要设计写什么?概要设计怎么做? 如何判断设计的模块是完整的? 为什么说设计阶段过于重视业务流程是个误区? 以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确? 结构化好还是面向对象好? 以上问题的答案请在文章中找。

二、概要设计的目的 将软件系统需求转换为未来系统的设计; 逐步开发强壮的系统构架; 使设计适合于实施环境,为提高性能而进行设计; 结构应该被分解为模块和库。

三、概要设计的任务 制定规范:代码体系、接口规约、命名规则。

这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。

总体结构设计: 功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现; 模块层次结构:某个角度的软件框架视图; 模块间的调用关系:模块间的接口的总体描述; 模块间的接口:传递的信息及其结构; 处理方式设计:满足功能和性能的算法 用户界面设计; 数据结构设计: 详细的数据结构:表、索引、文件; 算法相关逻辑数据结构及其操作; 上述操作的程序模块说明(在前台?在后台?用视图?用过程?······) 接口控制表的数据结构和使用规则 其他性能设计。

四、概要设计写什么 结构化软件设计说明书结构(因篇幅有限和过时嫌疑,在此不作过多解释) 任务:目标、环境、需求、局限; 总体设计:处理流程、总体结构与模块、功能与模块的关系; 接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面) 数据结构:逻辑结构、物理结构,与程序结构的关系; 模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置; 运行设计:运行模块组合、控制、时间; 出错设计:出错信息、处错处理; 其他设计:保密、维护; OO软件设计说明书结构 1 概述 系统简述、软件设计目标、参考资料、修订版本记录 这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。

同时,对于非功能性的需求例如性能、可用性等,亦需提及。

需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。

这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。

在随后的文档部分,将解释设计是怎么来实现这些的。

2 术语表 对本文档中所使用的各种术语进行说明。

如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。

3 用例 此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。

4 设计概述 4.1 简述 这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose) 4.2 系统结构设计 这部分要求提供高层系统结构(顶层系统结构、各子系统结构)的描述,使用方框图来显示主要的组件及组件间的交互。

最好是把逻辑结构同物理结构分离,对前者进行描述。

别忘了说明图中用到的俗语和符号。

4.3 系统界面 各种提供给用户的界面以及外部系统在此处要予以说明。

如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。

如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。

4.4 约束和假定 描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。

说明系统是如何来适应这些约束的。

另外如果本系统跟其它外部系统交互或者依赖其它外部系统提供一些功能辅助,那么系统可能还受到其它的约束。

这种情况下,要求清楚地描述与本系统有交互的软件类型以及这样导致的约束。

实现的语言和平台也会对系统有约束,同样在此予以说明。

对于因选择具体的设计实现而导致对系统的约束,简要地描述你的想法思路,经过怎么样的权衡,为什么要采取这样的设计等等。

5 对象模型 提供整个系统的对象模型,如果模型过大,按照可行的标准把它划分成小块,例如可以把客户端和服务器端的对象模型分开成两个图表述。

在其中应该包含所有的系统对象。

这些对象都是从理解需求后得到的。

要明确哪些应该、哪些不应该被放进图中。

所有对象之间的关联必须被确定并且必须指明联系的基数。

聚合和继承关系必须清楚地确定下来。

每个图必须附有简单的说明。

6 对象描述 在这个部分叙述每个对象的细节,它的属性、它的方法。

在这之前必须从逻辑上对对象进行组织。

你可能需要用结构图把对象按子系统划分好。

为每个对象做一个条目。

在系统对象模型中简要的描述它的用途、约束(如只能有一个实例),列出它的属性和方法。

如果对象是存储在持久的数据容器中,标明它是持久对象,否则说明它是个临时对象(transient object)。

对每个对象的每个属性详细说明:名字、类型,如果属性不是很直观或者有约束(例如,每个对象的该属性必须有一个唯一的值或者值域是有限正整数等)。

对每个对象的每个方法详细说明:方法名,返回类型,返回值,参数,用途以及使用的算法的简要说明(如果不是特别简单的话)。

如果对变量或者返回值由什么假定的话,Pre-conditions和Post-conditions必须在此说明。

列出它或者被它调用的方法需要访问或者修改的属性。

最后,提供可以验证实现方法的测试案例。

7 动态模型 这部分的作用是描述系统如何响应各种事件。

一般使用顺序图和状态图。

确定不同的场景(Scenario)是第一步,不需要确定所有可能的场景,但是必须至少要覆盖典型的系统用例。

不要自己去想当然地创造场景,通常的策略是描述那些客户可以感受得到的场景。

7.1 场景(Scenarios) 对每个场景做一则条目,包括以下内容: 场景名:给它一个可以望文生义的名字 场景描述:简要叙述场景是干什么的以及发生的动作的顺序。

顺序图:描述各种事件及事件发生的相对时间顺序。

7.2 状态图 这部分的内容包括系统动态模型重要的部分的状态图。

可能你想为每个对象画一个状态图,但事实上会导致太多不期望的细节信息,只需要确定系统中一些重要的对象并为之提供状态图即可。

8 非功能性需求 五、概要设计怎么做 结构化软件设计方法: 详细阅读需求规格说明书,理解系统建设目标、业务现状、现有系统、客户需求的各功能说明; 分析数据流图,弄清数据流加工的过程; 根据数据流图决定数据处理问题的类型(变换型、事务型、其他型); 通过以上分析,推导出系统的初始结构图; 对初始结构图进行改进完善:所有的加工都要能对应到相应模块(模块的完整性在于他们完成了需求中的所有加工),消除完全相似或局部相似的重复功能(智者察同),理清模块间的层次、控制关系,减少高扇出结构,随着深度增大扇入,平衡模块大小。

由对数据字典的修改补充完善,导出逻辑数据结构,导出每种数据结构上的操作,这些操作应当属于某个模块。

确定系统包含哪些应用服务系统、客户端、数据库管理系统; 确定每个模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在数据库内部建立的对象。

对每个筛选后的模块进行列表说明。

对逻辑数据结构进行列表说明。

根据结构化软件设计说明书结构对其他需要说明的问题进行补充说明,形成概要设计说明书。

OO软件设计方法: 在OOA基础上设计对象与类:在问题领域分析(业务建模和需求分析)之后,开始建立系统构架。

第一步是抽取建立领域的概念模型,在UML中表现为建立对象类图、活动图和交互图。

对象类就是从对象中经过“察同”找出某组对象之间的共同特征而形成类: 对象与类的属性:数据结构; 对象与类的服务操作:操作的实现算法; 对象与类的各外部联系的实现结构; 设计策略:充分利用现有的类; 方法:继承、复用、演化; 活动图用于定义工作流,主要说明工作流的5W(Do What、Who Do、When Do、Where Do、Why Do)等问题,交互图把人员和业务联系在一起是为了理解交互过程,发现业务工作流中相互交互的各种角色。

第二步是构建完善系统结构:对系统进行分解,将大系统分解为若干子系统,子系统分解为若干软件组件,并说明子系统之间的静态和动态接口,每个子系统可以由用例模型、分析模型、设计模型、测试模型表示。

软件系统结构的两种方式:层次、块状 层次结构:系统、子系统、模块、组件(同一层之间具有独立性); 块状结构:相互之间弱耦合 系统的组成部分: 问题论域:业务相关类和对象(OOA的重点); 人机界面:窗口、菜单、按钮、命令等等; 数据管理:数据管理方法、逻辑物理结构、操作对象类; 任务管理:任务协调和管理进程;

软件工程概要设计说明怎么写

一般是分以下几个章节:1.引言1.1编写目的 1.2项目背景1.3定义 1.4参考资料 2.任务概述2.1目标2.2运行环境2.3需求概述2.4条件与限制 3.总体设计 3.1处理流程3.2总体结构和模块外部设计 3.3功能分配4.接口设计4.1外部接口4.2内部接口 5.数据结构设计5.1逻辑结构设计5.2物理结构设计5.3数据结构与程序的关系 6.运行设计6.1运行模块的组合6.2运行控制6.3运行时间 7.出错处理设计7.1出错输出信息7.2出错处理对策 8.安全保密设计 9.维护设计 要不你把邮箱给我 我给你传份模板

怎么写设计文档–概要设计求解答

在需求分析进行完成之后 项目进入设计阶段。

在设计阶段需要编写设计文档。

开发过程中的设计文档 分为: 概要设计和详细设计 2个部分。

概要设计是将杂系统按功能进行 模块划分、建立层次结构及调用关系、包括数据特征描述 ,以及界面等。

概要设计 是由架构师和每个开发者共同完成的,主要阅读者是客户和测试人员,其次是开发者和架构师。

详细设计 是由每个开发者根据 概要设计 文档共同完成的,主要阅读者是开发者们,其次是架构师和测试人员,再次是客户。

对于任何设计文档,需要项目小组内每个成员的参与编写,另外,需要交叉式的相互评审,还需要有评审结果,成员根据评审结果进行修改,将修改过的文档打给客户,等待客户的评审。

如果客户有意见或者建议,将继续修改,修改完成,继续小组评审,依次循环的工作,直到双方不再提出任何的疑问,才能进入下一个阶段,如果概要设计完成,将进入详细设计,如果详细设计完成,才能进入正式编码阶段。

–end–

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

酷番云78元台湾精品CN2 2核 1G 60G SSD硬盘

酷番云怎么样?酷番云就不讲太多了,介绍过很多次,老牌商家完事,最近有不少小伙伴,一直问我台湾VPS,比较难找好的商家,台湾VPS本来就比较少,也介绍了不少商家,线路都不是很好,有些需求支持Windows是比较少的,这里我们就给大家测评下 酷番云的台湾VPS,支持多个版本Linux和Windows操作系统,提供了CN2线路,并且还是原生IP,更惊喜的是提供的是无限流量。有需求的可以试试。可以看到回程...

FBICDN,0.1元解决伪墙/假墙攻击,超500 Gbps DDos 防御,每天免费流量高达100G,免费高防网站加速服务

最近很多网站都遭受到了伪墙/假墙攻击,导致网站流量大跌,间歇性打不开网站。这是一种新型的攻击方式,攻击者利用GWF规则漏洞,使用国内服务器绑定host的方式来触发GWF的自动过滤机制,造成GWF暂时性屏蔽你的网站和服务器IP(大概15分钟左右),使你的网站在国内无法打开,如果攻击请求不断,那么你的网站就会是一个一直无法正常访问的状态。常规解决办法:1,快速备案后使用国内服务器,2,使用国内免备案服...

概要设计说明书为你推荐
苹果退款苹果付费软件怎么退款超市管理系统精诚超市管理系统(普及版)——要怎么使用?getsockopt提示出现这个怎么办?word打字后面的字消失word编辑文字的时候,后边的字就不见了怎么回事app退款苹果app能不能退款exe文件打不开exe文件怎么打不开了?安卓模拟器哪个好用安卓模拟器哪个最好局域网ip扫描工具安卓有没有可以像电脑那样扫描局域网IP的软件?系统登录界面怎么样将系统登陆界面设置为可以切换到窗口登陆?数据管理制度网络管理制度.
日本vps 域名备案中心 香港加速器 息壤主机 大容量存储 商务主机 vip购优惠 空间合租 太原网通测速平台 酷番云 免费dns解析 怎么建立邮箱 中国电信宽带测速器 yundun 中国电信网络测速 韩国代理ip wordpress中文主题 碳云 server2008 服务器是什么意思 更多