概要设计、详细设计(二) 设计的内容

3.1     概要设计的主要内容

不同的系统类型其概要设计的内容也不相同,通过概要设计准则我们可以根据实际情况确定概要设计的具体内容,但是一般来说,概要设计的内容可以包含系统构架、模块划分、系统接口、数据设计4个主要方面的内容。

1.系统构架

系统构架包含系统使用的软硬件技术平台及相关技术列表、系统的物理架构、物理器件类型、数据库管理系统类型、服务器类型、子系统划分及部署方式、系统的软件架构、第三方软件平台列表等。

例: 硬件架构

例: 软件架构:包括层次划分、子系统&模块划分

例: 软件技术平台

软件技术平台通常定义采用什么样的软件体系来实现具体的功能,比如采用SOA结构实现服务分散部署,用ESB解决数据通讯以及共享,采用MVC结构实现交互、业务分离,采用RIA技术支撑复杂、可视交互等等。

例: 子系统划分

2.模块划分

模块划分的主要工作是结合业务领域以及系统的要求,通过拆分、合并、分组等方法,将各功能划分到子系统和功能模块中,并细化到各机能组件和功能模块上。模块划分可以通过2步来实现,层次以及模块设计和流程设计。

第1步层次设计,对于复杂系统需要对系统进行多层的划分,然后一层层的设计。层次划分的方法可以结合业务、部署、运用功能等因素考虑,首先进行分类,然后进行抽象分析,整理共性要素,将功能归纳到模块。制作方法方法可以采用各种表述方法,下例都是按图或表的方式制作的。

例 层次、模块划分

例中对系统首先进行了平台的划分(省、市、终端)、各平台中的子系统(监控系统、分析系统)进行定义,同时对子系统中的各模块(服务)进行的明确的定义。

例 层次、模块划分

按业务功能进行划分,同时对一些共性模块进行抽象后归纳。

第2步进行流程划分,进行模块间的流程设计。层次、模块划分完成后,需要对整理描述各模块间的关系,这些关系可以包括时序关系、状态关系、数据关系等等。在实际设计中,可以根据情况采用不同的描述方法来制作对应的设计文档,比如以时序为主的系统可以采用时序图。

例 模块切分后,切分用例、流程。采用时序图的方式进行的模块间流程设计

3.接口设计

软件系统结合业务、功能、部署等等因素将软件系统逐步分解到模块,那么模块与模块间就必须根据各模块的功能定义对应的接口。概要中的接口设计主要用于子系统/模块之间或内部系统与外部系统进行各种交互。接口设计的内容应包含:功能描述、接口的输入输出定义、错误处理等。软件系统接口的种类以及规范很多,可以有API、服务接口、文件、数据库等等,所以设计的方法也有很大的差异。但是总体来说接口设计的内容包含:通讯方法、协议、接口调用方法、功能内容、输入出参数、错误/例外机制等。从成果上来看,接口一览(表)以及详细设计资料是必须的资料。

例.  Web Service 调用的XML格式的接口设计

这个接口定义了数据的格式、含义、类型等方面的内容。

例.  API调用模式的接口设计

4.数据设计

现代的软件系统和信息数据紧密的相连,尤其信息系统主要就是处理各类数据。从本质上来说各类系统都是(信息)收集、转换、处理、再转换、传播的过程。难道不是这样吗?从人体这个系统到我们的电视、手机系统,这些本质过程有差异吗? 软件系统的数据设计,尤其信息系统,主要包含数据库设计或完成核心(库)表的设计,当然除了数据库设计还包括建立在内存、文件中各种关键的数据也是设计内容。

ü  数据库设计:数据库逻辑设计、物理设计、容量设计、数据字典、数据部署设计等等内容。

ü  数据设计:配置文件设计、临时文件设计、内存数据设计(共享数据设计、内容数据结构设计)等内容。

例 数据库设计(E-R图)

例 数据字典

补充

例 内存设计

补充

例 配置文件设计

补充

3.2详细设计的主要内容

详细设计的是概要设计的延续,这个延续体现在设计粒度上。一般来说,详细设计根据业务要求以及概要设计的内容,确定细化个各类组件的功能、逻辑流程、业务要求、组件接口。 从过程上基本遵循设计的4个主要活动,具体操作一般可以概括为模块组件分割、模块组件设计、设计共通功能3个步骤,其中组件分割是比较关键的。一般的信息系统,主要的组件分类可以包括画面、报表、服务、共同组件。

1.画面设计

画面设计是交互性设计的主要内容之一。常见的设计内容包括画面一览对应的画面迁移关系,详细的画面功能。

例, 画面一览

例,画面迁移

画面迁移主要描述画面间的动作关系、定义所有画面的出入口等内容。

单体画面设计

例 画面的原型

例 画面的动作定义

例 画面要素、处理定义

2.服务设计

服务组件对应软件系统主要通过软件接口实现功能的模块,详细设计中服务设计主要内容包括对应程序模块(package)设计、Class设计、处理逻辑(时序关系)、内外接口、限制条件等等。

例 处理逻辑

例 Class设计

3.共同设计

详细设计中关键的步骤就是进行共同设计,共同设计的多少往往极大的影响后续开发的工作量。比如一个系统抽取40%的共同和只抽取10%的共同,开发、测试工作量差异很大。建议 具体项目中应尽早以及有效的管理共同设计。共同设计可以大体分为业务共同、技术共同。

ü  业务共同是同业务相关的,可以根据业务的特征识别并抽象出不同的模型进行设计,不过一些常见共同比较容易识别,比如权限管理、基础(master)数据管理、用户管理、安全管理等等。再如常见的电商系统,包括内容(CMS)管理、推荐引擎、TM、OSS、BI、支付、广告管理等都可以根据情况纳入到共同设计中。

ü  技术共同一般是和计算机技术相关的,比如线程管理、画面各组件、LOG管理、内存管理、文件处理、文字处理、配置管理、加解密、日志、消息、异常、错误处理等。

例 共同设计

补充

例 目录( 配置) 结构的设计

时间: 2024-08-28 07:04:07

概要设计、详细设计(二) 设计的内容的相关文章

【设计】概要设计-详细设计-到底需要输出什么???

概要设计-详细设计 概要设计.详细设计:概念.方法.实践步骤-博客-云栖社区-阿里云 概要设计.详细设计(二) 设计的内容_可爱桑树_新浪博客 项目管理_可爱桑树_新浪博客 软件系统概要设计的三大要素 软件概要设计 - 天神一 - 博客园 概要设计与详细设计分别要做什么 - -Numeric- - 博客园 软件概要设计与详细设计的区别 - CSDN博客 详细设计_百度百科 概要设计_百度百科 [图文]大型软件系统的设计思路_百度文库 一分钟教你知道乐观锁和悲观锁的区别 - CSDN博客 原文地址

概要设计与具体设计

概要设计与具体设计 在写概要设计与具体设计的时候,对于内容以及他们之间的界限非常easy模糊.今天写点自己的想法.有问题请大家不吝赐教:[email protected] 首先大家要注意这2个文档最后2字,都是设计.设计就是设计,不是代码因此不要误觉得具体设计就是贴代码. 概设与详设应该是,总分的关系.概设相当于一个整体规划,拿去大家先评审.然后在概设评审通过后,针对里面的功能进行具体设计.因此概设与详设须要在開始写之前确定他们描写叙述的方向. 概设内容例如以下: 具体具体设计内容例如以下: ?

(原)IOS之Metro实现,拥有windows磁帖效果(二 设计思路)

(原)IOS之Metro实现,拥有windows磁帖效果(二 设计思路) 在上一篇博客(IOS之Metro实现,拥有windows磁帖效果(一 动画效果的实现)中主要阐述了动画内容.这篇主要阐述功能的设计. 所有转出博客园,请您注明原文出处:http://www.cnblogs.com/xiaobajiu/p/4106663.html 考虑到metro控件的功能主要属性如下: 1.提供当前是否正在动画的属性.当metro正在动画的时候我们可以选择性的不去响应一些事件. 2.提供当前是否在动画事件

2017-2018-1 20155235 实验五 通讯协议设计 实验内容

2017-2018-1 20155235 实验五 通讯协议设计 实验内容 一.安装OpenSSL 二.通过混合密码系统进行防护 实验步骤 一.安装OpenSSL 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 提交运行结果截图 在运行中出现了一些问题,会在下面的测试中遇到的问题详解 二.通过混合密码系统进行防护 在Ubuntu中实现对实验二中的"wc服务器"通过混合密码系统进行防护 提交测试截图) 实验流程 在虚

Python科学计算(二) 本课程内容主要包括 Pandas,Scikit-learn,Scikit-image 的基础使用。

第1节 Pandas 结构化数据(上) 第2节 Pandas 结构化数据(下) 第3节 scikit-learn 机器学习 第4节 scikit-image 图像处理 Pandas 结构化数据(上) 一.实验说明 Pandas 是 python 的一个数据分析包,属于PyData项目的一部分.Pandas最初被作为金融数据分析工具而开发出来,因此 pandas 为时间序列分析提供了很好的支持. Pandas 的名称来自于面板数据(panel data)和python数据分析(data analy

一、架构设计的内容

1.软件设计的内容 a.软件设计的层次 一般的软件设计,从上而下,可以分为架构设计,API/SPI设计,数据库设计,功能设计,类设计和方法设计 一般程序员做的就是[类设计和方法设计] [功能设计]难度高于[类设计和方法设计],是承上启下的作用,又是迈向架构设计的必经之路 b.功能设计的内容 第一步.分析需求,细化功能点,从而分析变与不变,封装变化,通过抽象与封装,实现高内聚低耦合 第二步.分析功能点,分为数据输入,具体实现和数据产出 第三部.分析功能点之间的关系,合理组合成最终设计 c.设计模式

棋牌游戏服务器架构: 详细设计(二) 应用层设计

这里的应用层,指的是CenterServer.LogonServer.LogServer.RoomServer等几个服务器,另外还包括游戏模块的设计.不过游戏模块和前4个服务器的设计很不相同.这里先说一下服务器应用的详细设计. 这上面提到的4个服务器都需要响应客户端(这里的客户端的意思是泛指)的请求,进行数据库操作,同时还要能够配置,以及显示系统运行的状态信息等.这里会采用MVC模式来组织应用层逻辑 . 图1  Application层基本结构 IController从ITCPServiceOb

智能园区报修系统——易修 需求说明书 软件概要设计 详细设计说明书

  智能园区报修系统  ——易修                                                                                      队长:马腾俊075                                                                                                       队员:隋锦涛072.于俊杰070.杜世伟071            

UI设计网站内容大分类

对于初学UI设计或者交互设计的设计师,有很多知识来源于网络资源的共享,有的选择了一些UI设计培训机构学习基础,有的选择了在各大网站上吸取知识,然而万变不离其宗,无论从哪里学习过来的东西,吸取到才是自己的东西,在交互设计中,我们需要清楚知道不同网站的不同特点与优势. 一.作品展示网站 1.站酷  http://www.zcool.com.cn/ 里面覆盖了很多作品,网页,APP等相当不错的作品,也有很多优秀包含广泛内容的文章. 2.UI中国  http://www.ui.cn/ 从名字可以看出,U