概要设计与详细设计的区别

合集下载

概要设计与详细设计的区别

概要设计与详细设计的区别

概要设计与详细设计的区别概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。

同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系.详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述.概要设计阶段通常得到软件结构图详细设计阶段常用的描述方式有:流程图、N—S图、PAD图、伪代码等概要设计和详细设计在软件设计中,大家经常问到的一个问题是:概要设计应该怎样一个概要法,详细设计应该怎样一个详细法?这个问题在公司内部经常有人问。

现在陈述一下.我们公司的研发流程是瀑布型的,这个模型中的分析、设计阶段是基于经典的结构化方法。

结构化设计方法的基本思路是:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。

模块的概念,和编程语言中的子程序或函数是对应的。

这样一来,设计可以明显地划分成两个阶段:概要(结构)设计阶段:把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。

详细设计阶段:依据概要设计阶段的分解,设计每个模块内的算法、流程等。

概要设计阶段:在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此.主要集中于划分模块、分配任务、定义调用关系。

模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。

概要设计一般不是一次就能做到位,而是反复地进行结构调整。

典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块.在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量.概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。

软件工程概要设计和详细设计

软件工程概要设计和详细设计
•系统结构设计定义软件系统的整体结构,是软件开 发的核心步骤,在设计步骤中,建立软件主要成份之 间的关系。合理的模块划分可以降低软件开发的复杂 度,同时也能提高软件的可重用性。
•过程设计则是把结构成份转换成软件的过程性描述。
•界面设计是对系统边界的描述,用户界面是用户和 系统进行交互的工具,人机接口直接影响软件的寿命。
ClientA
ClientB
ClientC
ClientD
第三级

户 机
business logic node(商业逻辑结点)
Security
(安全)
Event
(事件)
Search
(搜索)



Database management node
(数据库管理结点)
第二级 第一级
软件工程概要设计和详细设计
现在越来越多的应用采用多层结构,以适应不断 变化的用户需求。
软件工程概要设计和详细设计
四、分布式对象结构(Distributed Objects Architecture)
在C/S模型中,客户和服务器在服务/请求上的差别, 在一定程度上限制了系统的灵活性和可扩展性。
采用分布式对象结构 :
“对象(Object)”——提供服务的系统组件(System Component)。
② 安全性:网络环境面临着各种威胁,如病毒、 木马、非法访问,安全问题十分突出
③ 可管理性:开放性造成异构性,造成管理困难 ④ 不可预知性:系统响应时间受网络负载等网络
环境的影响。
软件工程概要设计和详细设计
三、 客户机/服务器模型(Client/Server Architectural Model) C/S结构是一种分布式模型,采用发请求、得结

概要设计范本

概要设计范本

概要设计范本1.概要设计和详细设计怎么写知乎撰写的设计文档主要分为:总体概要设计文档+详细设计文档,后简称为“概设”+“详设”。

总设和详设都应该包含的部分:(1)需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的storylist部分;(2)名词解释(可选):非相关领域内的同学需要看到文档需要提前了解的一些概念性质的东西;(3)设计目标:又分为功能目标和性能目标,功能目标一般是对产品需求的技术描述,性能目标是根据产品给出的数据对性能进行的评估。

一般来说,新服务必须要有性能目标一项,性能目标可能会影响设计方案。

除了都应该包含的部分,总体概要设计一般还包含:(1)系统架构:一般来说会有个简单的架构图,并配以文字对架构进行简要说明;(2)模块简介:架构图中如果有很多模块,需要对各个模块的功能进行简要介绍;(3)设计与折衷:设计与折衷是总体概要设计中最重要的部分;(4)潜在风险(可选);输出总体概要设计的时候,很多方案还是不确定的,需要在设计评审会议上确认。

总体概要设计重点在“方案折衷”,总体概要设计评审完毕之后,此时应该是所有方案都确认了,需要输出各模块的详细设计,详细设计重点在“详细”:(1)总体概要设计结论汇总(可选):达成一致的结论有个简要概述,说明详设是对这些结论的实现;(2)交互流程:简要的交互可用文字说明,复杂的交互建议使用流程图,交互图或其他图形进行说明;(3)数据库设计:这个是应该放在总设还是详设呢?(4)接口形式:有了数据库+接口+流程,别的同学拿到详设文档,基本也能够搞定了;(5)其他细节:例如公式等;理论上输出了详细设计之后,无论谁拿到了这个详设文档,都是能够完成该项目的。

个人实践分享:一、大图(1)大系统或复杂流程,其架构图或者流程图会非常大,经常比A4纸或word的一页大很多,此时不宜在word中直接贴图形,贴了也看不清,建议将图放在wiki上,文档中直接贴链接;(2)一定要保存viso或者其他图形的源文件,否则今后改动起来要重画,代价可想而知;二、设计与折衷(1)设计与折衷是总设中最重要的内容,总设评审中,主要就是讨论这些折衷的优劣;(2)评审过后,不但要邮件周知结论,还要在总设中进行更新,说明最终决定使用了哪种方案,为什么使用这种方案;根据自己的经验,接手别人的模块、项目,拿到代码和文档,设计方案对我来说完全是个谜!!!(3)有时候因为排期或者其他原因,不一定采用了最优的设计方案,此时更应该在总设中记录决策的过程与原因;(4)最后,设计折衷是一个很好的自我辩解的机会:因为项目进度,或者历史遗留问题,我不得不采取了一个这样的设计,不要再骂我了。

概要设计和详细设计的内容

概要设计和详细设计的内容

概要设计和详细设计的内容1. 概要设计:俯瞰全局的那把钥匙概要设计,听起来是不是有点高大上的感觉?其实,它就像是一个厨师在准备大餐之前的菜单,先把大致的框架搞清楚,再逐步细化。

这个阶段,咱们主要是从整体上把握项目,确定目标和范围。

就像给一幅画打底,得先画出大致的轮廓,才好慢慢添上细节。

你想啊,如果一开始就去画眼睫毛,最后可能连鼻子都没画出来,那可就闹笑话了。

1.1 确定需求:买菜清单的重要性首先,概要设计的重中之重就是需求分析。

就像逛超市前先写个买菜清单,知道自己需要什么,才能买得心应手。

在这个阶段,团队会和客户沟通,听听他们的需求,确保咱们的产品能满足他们的期望。

这就好比和朋友商量去旅行,得先问清楚大家想去哪里,才好安排路线。

总之,需求分析就是为了把那些模糊不清的想法变得清晰明了。

1.2 设计架构:搭个框架,稳稳的接下来,咱们就进入了设计架构的阶段。

这部分就像搭建一个房子的框架,必须得坚固才能支撑起整个建筑。

概要设计不仅要考虑技术架构,还要关注系统的可扩展性和可维护性。

想象一下,如果一个房子的基础不牢固,后面再加上几层楼,那可就危险了。

所以,概要设计的关键是要有一个好的基础,确保后续的开发能够顺利进行。

2. 详细设计:画龙点睛的过程详细设计,顾名思义,就是在概要设计的基础上,把每个细节都给补充上去。

这个阶段就像是给刚刚搭好的房子装修,选择每一扇窗户、每一扇门,甚至每一盏灯的样式。

详细设计的目标是让系统在技术层面上更加完善,确保每个模块都能高效运行。

2.1 模块划分:分工明确,合作无间详细设计的第一步就是模块划分。

想象一下,一个足球队,前锋、中场、后卫,每个位置都有不同的任务,大家各司其职,才能赢得比赛。

在软件设计中,模块化可以让团队成员明确自己的职责,提高工作效率。

通过划分模块,大家可以并行开发,像打篮球一样,快速传球,互相配合,效率杠杠的。

2.2 接口设计:沟通的桥梁接下来就是接口设计,这就好比是在建造桥梁,确保不同模块之间可以顺畅沟通。

系统开发流程中的概要设计与详细设计

系统开发流程中的概要设计与详细设计

说一说:
供奉在日本唐招 提寺内的鉴真坐

(1)他有哪些优秀品质值得 学习
不畏艰难,持之以恒,终成 大业的志向。
(2)鉴真为什么被称为“天 平之甍”
在日本传播佛教、医药知 识、建筑艺术、书法绘画 等。
鉴真东渡
鉴真盲目航东海, 一片精诚照太清, 舍己为人传道艺, 唐风洋溢奈良城。
——郭沫若
鉴真东渡的影响:在日本传授佛经,还传播 中国的医药、文学、书法、建筑、绘画等, 为中日文化交流作出了卓越的贡献。
本课的知识构架
一、遣唐使

二、鉴真东渡

三、唐与新罗的关系
四、玄奘西行
遣唐使
唐朝时期,中国和日本交 流非常频繁
为了学习中国的先进文化, 日本派遣使节到中国,称 为“遣唐使”
代表人物:
• 阿倍仲麻吕
阿倍仲麻吕(698—770),日本入唐留学生,入唐后改名晁衡。仲麻吕天资聪明,勤奋 好学,酷爱汉文学。717年,仲麻吕到达长安。后来参加科考,一举考中进士。作为一个 外国人,取得进士这一桂冠,其学识是出类拔萃的。
第一单元 隋唐时期:繁荣与开放的时代
第4课 唐朝的中外文化交流
自主学习:导学提纲
学习目标
1.知道遣唐使的含义,认识唐朝文化对日本的影响; 2.知道鉴真东渡的具体历史史实及其影响。 3. 知道玄奘西行的时间和贡献,唐朝时中外文化频繁交往 的主要原因。
《西游记》的故事伴随我们成长,“大闹天 宫”“三打白骨精”“弼马温”等让我们记忆犹 新。你知道该故事的历史根据是什么吗?
影响:
遣唐使把唐朝先进的制度、天文历法、文字、典籍、书法艺术、
建筑技术等传回日本,对日本社会产生了深远的影响。
645年日本孝德天皇宣布模仿中国建立年号,定年号为“大化”。 并正式开始改革,史称“大化改新”。是日本由奴隶社会向封建 社会过渡的标志。

系统设计:详细设计和概要设计主要内容

系统设计:详细设计和概要设计主要内容

设计过程包括2个主要的规程:概要设计,详细设计。

1.概要设计:收集相关资料,确定设计目标,完成系统的架构设计。

2.详细设计:在概要设计基础上,确定接口的详细规格说明。

概要设计模板引言(项目背景、系统任务、设计依据);总体设计(设计原则、总体结构、关键技术);系统功能设计说明;数据库设计;界面设计;系统安全设计;开发工具;系统运行环境选择设计方法学:比如使用面向对象设计方式或者结构化设计方式,并且有一个成熟的方法论作为指导。

子系统分解:对系统进行分层、分区等处理,得到组成系统的子系统,降低系统复杂度。

确定子系统的服务:定义子系统提供的服务,以及对其他子系统服务的使用情况。

此处的服务不需要对接口做详细地规格说明。

设计对象模型:对需求分析中产生的对象模型进行整理,添加解决域实体,根据一些设计模式或者解决问题的需要,对系统中的实体以及它们之间的关系进行整理。

确定系统的构件模型:比如有哪些动态库,哪些COM组件等;确定哪些类或者文件属于这些构件;确定构件之间的依赖关系。

确定系统硬件分布情况:比如是客户机/服务器,还是分布式系统,并且用模型建立它们的关系。

确定软件和硬件的映射关系:哪些构件放到哪些机器上。

确定系统的数据管理策略:确定对实体的管理是利用内存对象、文件还是数据库方式,并进行建模。

设计在系统的边界处理:比如初始化、退出、异常处理等情况下系统行为规则。

详细设计模板详细设计是为系统的每项具体任务选择适当的技术手段和处理方法。

总体设计负责构建系统整体骨架,详细设计则要考虑各个方面的部件内部细节的方案。

例如系统的输入输出设计、用户界面设计、数据库设计、程序处理过程设计、网络系统设计、安全性设计等方面的内容。

详细设计的基本任务详细设计包括业务对象设计、功能逻辑设计、数据库设计和界面设计等工作。

详细设计是系统实现的依据,需要考虑所有的设计细节。

(1)为每个模块进行详细的算法设计。

用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

概要设计与详细设计的区别

概要设计与详细设计的区别

概要设计与详细设计的区别概要设计就就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。

同时,还要设计该项目的应用系统的总体数据结构与数据库结构,即应用系统要存储什么数据,这些数据就是什么样的结构,它们之间有什么关系。

详细设计阶段就就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

概要设计阶段通常得到软件结构图详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等概要设计与详细设计在软件设计中,大家经常问到的一个问题就是:概要设计应该怎样一个概要法,详细设计应该怎样一个详细法?这个问题在公司内部经常有人问。

现在陈述一下。

我们公司的研发流程就是瀑布型的,这个模型中的分析、设计阶段就是基于经典的结构化方法。

结构化设计方法的基本思路就是:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。

模块的概念,与编程语言中的子程序或函数就是对应的。

这样一来,设计可以明显地划分成两个阶段:概要(结构)设计阶段:把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系与接口。

详细设计阶段:依据概要设计阶段的分解,设计每个模块内的算法、流程等。

概要设计阶段:在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。

主要集中于划分模块、分配任务、定义调用关系。

模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。

概要设计一般不就是一次就能做到位,而就是反复地进行结构调整。

典型的调整就是合并功能重复的模块,或者进一步分解出可以复用的模块。

在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。

概要设计文档最重要的部分就是分层数据流图、结构图、数据字典以及相应的文字说明等。

软件概要设计和详细设计精要

软件概要设计和详细设计精要

前段时间在项目上因为阅读某公司的软件详细设计说明书,引发了我的一些思考,这既是自己多年来感悟的一次梳理,也作为我从事企业模型咨询工作的一次总结。

因为涉及的内容太广泛,以下尽量用简洁的语言来叙述。

传统的面向结构的设计,概要设计主要是给出系统整体功能菜单,模块之间的调用关系描述,还有软件系统工作环境的说明;详细设计则主要针对一个模块的算法设计,屏幕界面设计,按钮操作设计等等。

面向结构的软件设计缺点主要有以下两点:1、从业务逻辑到功能菜单的跳跃太大,导致需求及变更的追溯性难以保证;2、结构化开发方法不区分内外,不区分层次,编码语句会把信息全部平铺暴露,使用不当会形成太多的耦合点,修改起来牵一发而动全身,所以应变性很差。

软件行业发展变化太快,上世纪颁布的国家标准都不适应了现在的工程实践。

特别是从软件工程转到面向对象的设计,还有所谓的快速迭代开发方法,完全打乱了原来面向结构的设计步骤。

但是,越是变化快,就越需要理出“变中不变”的约束和规范来。

因此,如何才能划分好概要设计与详细设计的界限,明确其设计的基本思想和原则具有至关重要的意义。

从概要到详细,首先就是要贯彻由整体到局部、由概括到细节,由概念模型到物理模型,由业务逻辑到IT技术实现,由“做什么”的描述到“如何做”的可执行步骤,这是一个由表及里、抽丝剥茧、层层深入的分析过程。

要体现企业架构的思想,既要把业务架构与应用架构平滑过渡,无缝连接,需求分析可追溯不跳跃不中断;又要整体架构可扩充,可伸缩,具有松耦合的特点,这样就便于发生需求变动进行修改。

要体现出概要设计与详细设计之间的“松耦合”和“可验收”的两大特点,就必须找到这两者之间的不变量,就是设计的提交物应该达到可检验的颗粒度,形成成果物体现出“变中不变”的抽象关系。

这样从不变量的角度讲,可以说明概要设计书的确完成了任务,作为详细设计的输入起到了约束条件的作用;从可变的角度讲,就明确了在详细设计阶段必须补充的需求调研,这也是设计者具有的主观能动性可以有所作为的部分。

系统概要设计和详细设计

系统概要设计和详细设计

系统概要设计和详细设计系统概要设计和详细设计系统概要设计是软件开发过程中的一个重要环节,它是在需求分析的基础上,对整个系统进行全面的规划和设计。

系统概要设计包括了对系统的总体结构、功能模块、数据结构、算法流程等方面进行详细的规划和描述。

而详细设计则是在概要设计的基础上,对每个模块进行具体的实现和编码。

一、系统概要设计1. 系统总体结构在系统总体结构方面,需要考虑到整个系统所包含的各个模块之间的关系。

这些模块之间应该是相互独立、互相协作,共同完成整个系统所需实现的功能。

同时,在总体结构中还需要考虑到数据存储方式、数据传输方式以及用户界面等方面。

2. 功能模块在功能模块方面,需要对整个系统所需实现的各项功能进行详细规划和描述。

这些功能应该能够满足用户需求,并且能够与其他模块进行有效地协作。

3. 数据结构在数据结构方面,需要考虑到整个系统所需使用的各种数据类型以及它们之间的关系。

这些数据类型应该能够满足系统所需实现的各项功能,并且能够与其他模块进行有效的交互。

4. 算法流程在算法流程方面,需要考虑到整个系统所需使用的各种算法以及它们之间的关系。

这些算法应该能够满足系统所需实现的各项功能,并且能够与其他模块进行有效的协作。

二、详细设计1. 模块设计在模块设计方面,需要对每个模块进行具体的实现和编码。

这些模块应该能够满足系统所需实现的各项功能,并且能够与其他模块进行有效地协作。

同时,在模块设计中还需要考虑到代码复用、可维护性等方面。

2. 数据库设计在数据库设计方面,需要考虑到数据表结构、数据类型、索引等方面。

这些数据库设计应该能够满足系统所需实现的各项功能,并且能够与其他模块进行有效的交互。

3. 用户界面设计在用户界面设计方面,需要考虑到用户体验、易用性等方面。

这些用户界面设计应该能够满足用户需求,并且能够与其他模块进行有效地协作。

4. 测试与调试在测试与调试方面,需要对整个系统进行全面的测试和调试。

这些测试与调试应该能够发现系统中存在的问题,并且能够及时地进行修复和优化。

概要设计和详细设计区别

概要设计和详细设计区别

概要设计与‎详细设计的‎区别概要设计就‎是设计软件‎的结构,包括组成模‎块,模块的层次‎结构,模块的调用‎关系,每个模块的‎功能等等。

同时,还要设计该‎项目的应用‎系统的总体‎数据结构和‎数据库结构‎,即应用系统‎要存储什么‎数据,这些数据是‎什么样的结‎构,它们之间有‎什么关系。

详细设计阶‎段就是为每‎个模块完成‎的功能进行‎具体的描述‎,要把功能描‎述转变为精‎确的、结构化的过‎程描述。

概要设计阶‎段通常得到‎软件结构图‎详细设计阶‎段常用的描‎述方式有:流程图、N-S图、PAD图、伪代码等概要设计和‎详细设计在软件设计‎中,大家经常问‎到的一个问‎题是:概要设计应‎该怎样一个‎概要法,详细设计应‎该怎样一个‎详细法?这个问题在‎公司内部经‎常有人问。

现在陈述一‎下。

我们公司的‎研发流程是‎瀑布型的,这个模型中‎的分析、设计阶段是‎基于经典的‎结构化方法‎。

结构化设计‎方法的基本‎思路是:按照问题域‎,将软件逐级‎细化,分解为不必‎再分解的的‎模块,每个模块完‎成一定的功‎能,为一个或多‎个父模块服‎务(即接受调用‎),也接受一个‎或多个子模‎块的服务(即调用子模‎块)。

模块的概念‎,和编程语言‎中的子程序‎或函数是对‎应的。

这样一来,设计可以明‎显地划分成‎两个阶段:概要(结构)设计阶段:把软件按照‎一定的原则‎分解为模块‎层次,赋予每个模‎块一定的任‎务,并确定模块‎间调用关系‎和接口。

详细设计阶‎段:依据概要设‎计阶段的分‎解,设计每个模‎块内的算法‎、流程等。

概要设计阶‎段:在这个阶段‎,设计者会大‎致考虑并照‎顾模块的内‎部实现,但不过多纠‎缠于此。

主要集中于‎划分模块、分配任务、定义调用关‎系。

模块间的接‎口与传参在‎这个阶段要‎定得十分细致明‎确,应编写严谨‎的数据字典‎,避免后续设‎计产生不解‎或误解。

概要设计一‎般不是一次‎就能做到位‎,而是反复地‎进行结构调‎整。

典型的调整‎是合并功能‎重复的模块‎,或者进一步‎分解出可以‎复用的模块‎。

软件的概要设计与详细设计的区别

软件的概要设计与详细设计的区别

1.1 软件的概要设计1.1.1 概要设计在交通局和开发者双方认可的《需求分析报告》基础上,开发者进行下——步的工作。

首先,开发者需要对软件系统进行概要设计,即系统设计。

概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

1.1.2 编写概要设计的要求a.一致性概要设计的要求应该与需求分析报告所描述的需求一致。

同时,概要设计的各项要求之间也应该一致。

b.合理性概要设计所提出的设计方法和标准应该是合理的、恰当的。

c.可追踪性对概要设计所提出的各项要求应该可以得到它的清晰的源流,即在需求分析报告客户有明确的需求描述。

d.可行性根据概要设计进行详细设计、操作和维护应该是可行的。

1.1.3 概要设计报告的编写者概要设计报告由开发者根据需求分析报告的要求进行编写。

1.1.4 概要设计和需求分析、详细设计之间的关系和区别需求分析不涉及具体的技术实现,而概要设计注重于从宏观上和框架上来描述采用何种技术手段、方法来实现这些需求。

详细设计相对概要设计更注重于微观上和框架内的设计,是编码的依据。

概要设计是指导详细设计的依据。

1.1.5 概要设计的评审在软件概要设计工作完成后,软件开发者应向交通提交《软件系统概要设计报告》。

在交通局对《概要设计报告》评审通过后,即可进入详细设计阶段。

1.1.6 概要设计格式《软件系统概要设计报告》需按一定的格式进行编写,具体的《软件系统概要设计报告》文档编写模板请见附录B。

1.2 软件的详细设计1.2.1 详细设计在概要设计的基础上,开发者需要进行软件系统的详细设计。

在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。

应当保证软件的需求完全分配给整个软件。

接口概要设计和详细设计

接口概要设计和详细设计

接口概要设计和详细设计一、概要设计接口是软件系统中不同模块之间进行交互的枢纽,良好的接口设计能够提高系统的可维护性、可扩展性和可重用性。

接口概要设计是指在系统设计阶段对系统整体接口进行规划和设计的过程,其目的是确定系统各模块之间的通信协议、数据格式、接口类型等基本要素,从而确保系统各部分之间的协作和交互能够顺利进行。

在进行接口概要设计时,首先需要对系统整体架构有一个清晰的认识,明确各个模块的功能和职责,然后确定模块之间的接口关系和通信方式。

接口概要设计需要考虑以下几个方面:1. 接口类型:包括应用程序接口(API)、网络接口、用户界面接口等,根据系统的具体需求确定接口的类型。

2. 数据交换格式:确定模块之间交换数据的格式,可以是XML、JSON、Protobuf等,需要考虑数据的结构、数据的编码方式等因素。

3. 接口协议:确定模块之间通信的协议,例如HTTP、TCP/IP、SOAP等,需要考虑安全性、稳定性、效率等因素。

4. 接口文档:对接口进行详细描述和文档化,包括接口的调用方式、参数说明、返回结果等,方便其他开发人员进行集成和使用。

5. 异常处理:定义接口调用过程中可能出现的异常情况,包括错误码、错误信息、异常处理方式等。

接口概要设计需要充分考虑系统整体架构和功能需求,确定各模块之间的协作方式和通信规则,为接下来的详细设计和开发工作奠定基础。

二、详细设计接口详细设计是在接口概要设计的基础上,对具体接口进行技术细节的规划和设计。

在进行接口详细设计时,需要考虑各个具体接口的调用方式、参数定义、返回结果、异常处理等具体细节,以及接口的具体实现方式。

接口详细设计包括以下几个方面的内容:1. 接口定义:明确定义接口的名称、功能和作用,包括接口的输入参数和输出参数,以及接口的调用方式和使用方法。

2. 参数定义:对接口的输入参数和输出参数进行详细的定义和说明,包括参数的类型、名称、取值范围、参数验证方式等。

概要设计与详细设计分别要做什么

概要设计与详细设计分别要做什么

概要设计与详细设计分别要做什么概述概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调⽤关系,每个模块的功能等等。

同时,还要设计该项⽬的应⽤系统的总体数据结构和数据库结构,即应⽤系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。

详细设计阶段就是为每个模块完成的功能进⾏具体的描述,要把功能描述转变为精确的、结构化的过程描述。

概要设计阶段通常得到软件结构图详细设计阶段常⽤的描述⽅式有:流程图、N-S图、PAD图、伪代码等概要设计和详细设计在软件设计中,⼤家经常问到的⼀个问题是:概要设计应该怎样⼀个概要法,详细设计应该怎样⼀个详细法?这个问题在公司内部经常有⼈问。

现在陈述⼀下。

我们公司的研发流程是瀑布型的,这个模型中的分析、设计阶段是基于经典的结构化⽅法。

结构化设计⽅法的基本思路是:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成⼀定的功能,为⼀个或多个⽗模块服务(即接受调⽤),也接受⼀个或多个⼦模块的服务(即调⽤⼦模块)。

模块的概念,和编程语⾔中的⼦程序或函数是对应的。

这样⼀来,设计可以明显地划分成两个阶段:概要(结构)设计阶段:把软件按照⼀定的原则分解为模块层次,赋予每个模块⼀定的任务,并确定模块间调⽤关系和接⼝。

详细设计阶段:依据概要设计阶段的分解,设计每个模块内的算法、流程等。

概要设计阶段:在这个阶段,设计者会⼤致考虑并照顾模块的内部实现,但不过多纠缠于此。

主要集中于划分模块、分配任务、定义调⽤关系。

模块间的接⼝与传参在这个阶段要定得⼗分细致明确,应编写严谨的数据字典,避免后续设计产⽣不解或误解。

概要设计⼀般不是⼀次就能做到位,⽽是反复地进⾏结构调整。

典型的调整是合并功能重复的模块,或者进⼀步分解出可以复⽤的模块。

在概要设计阶段,应最⼤限度地提取可以重⽤的模块,建⽴合理的结构体系,节省后续环节的⼯作量。

概要设计⽂档最重要的部分是分层数据流图、结构图、数据字典以及相应的⽂字说明等。

产品概要设计和详细设计

产品概要设计和详细设计

产品概要设计和详细设计产品概要设计是指在产品开发过程中,对产品的整体功能、目标用户、市场需求等进行概括和规划的阶段。

而详细设计则是在概要设计的基础上,对产品的各个模块、功能、接口等进行具体的设计和规范。

产品概要设计主要包括以下几个方面:1. 产品定位和目标用户:明确产品的定位和目标用户群体,确定产品要解决的问题和满足的需求。

2. 功能需求:详细描述产品的各个功能模块,并确定各个功能模块之间的关系和交互方式。

3. 性能需求:确定产品的性能指标,如响应时间、并发用户数、数据处理能力等。

4. 用户界面设计:设计产品的用户界面,包括界面布局、交互方式、视觉风格等,以提供良好的用户体验。

5. 数据库设计:设计产品的数据库结构和数据表,确定数据之间的关联关系和存储方式。

6. 安全性设计:考虑产品的安全性需求,包括用户权限管理、数据加密、防止攻击等。

7. 接口设计:设计产品与其他系统或服务之间的接口,确保数据的交互和共享。

8. 测试策略:确定产品的测试方法和策略,包括功能测试、性能测试、安全测试等。

9. 部署和运维:规划产品的部署方式和运维策略,确保产品的稳定性和可靠性。

产品详细设计则是在概要设计的基础上,对产品的各个模块和功能进行具体的设计和规范。

详细设计主要包括以下几个方面:1. 系统架构设计:设计产品的整体架构,包括前端、后端、数据库等模块的划分和组织方式。

2. 模块设计:对产品的各个功能模块进行详细设计,包括模块的输入、输出、处理逻辑等。

3. 数据库设计:详细设计产品的数据库结构,包括各个数据表的字段、索引、约束等。

4. 接口设计:设计产品与其他系统或服务之间的接口,包括接口的输入、输出、参数等。

5. 算法设计:对产品中需要用到的算法进行详细设计,确保算法的正确性和高效性。

6. 用户界面设计:详细设计产品的用户界面,包括界面的布局、样式、交互方式等。

7. 错误处理和异常处理:设计产品的错误处理和异常处理机制,确保系统的稳定性和可靠性。

软件需求,概要设计,详细设计(文档)

软件需求,概要设计,详细设计(文档)

软件需求,概要设计,详细设计(⽂档)软件需求,概要设计,详细设计(⽂档)怎么做,做什么?52018.06.15 08:09:26字数 2451阅读 36159写在前⾯由于项⽬⼯作需要,需要提供《软件需求规格说明书》,《软件概要设计说明书》和《软件详细设计说明书》。

所以这⾥整理学习⼀下相关⽂档需要的内容。

⽂章并不设计对所有需求分析,概要设计和详细设计的详细描述。

因为这其中的任何⼀点都可以单独提取出来成为软件⼯程学科中的⼀本书籍内容。

1 软件设计的整体流程:软件需求分析阶段:输出了《软件需求规格说明书》,不涉及具体实现⽅法。

⽤户能看得明⽩,开发⼈员也可据此进⾏下⾯的⼯作,搞清楚“要解决什么问题”。

概要设计阶段:确定软件系统的总体布局,各个⼦模块的功能和模块间的关系,与外部系统的关系,选择的技术路线。

有⼀些研究与论证性的内容。

并输出《软件概要设计说明书》。

搞清楚“总体实现⽅案”详细设计阶段:对概要设计的进⼀步细化,⼀般由各部分的担当⼈员依据概要设计分别完成,然后在集成,是具体的实现细节。

是“程序”的蓝图,确定每个模块采⽤的算法、数据结构、接⼝的实现、属性、参数。

并输出《软件详细设计说明书》。

搞清楚“每个模块怎么做”2 需求分析2.1 我们为什么需要《软件需求规格说明书》?如果需求的编写只是为了解释说明软件实现的功能,那么良好的编码结构,代码注释就可以很好的实现软件的功能说明,程序员可以将编写需求的时间节约下来进⾏更多功能的实现;可是,这样的情况可能更多适⽤于中⼩型项⽬,或者互联⽹项⽬,因为这样的项⽬需求不复杂,并且需求变化很快,所以研发的效率⾮常重要。

然⽽,针对⼤型软件项⽬或者功能⽐较复杂的系统,软件研发可能是多⼈协作的成果,所以在信息传递过程中,我们只有提前考虑好软件需求的内容,才能正确评估开发软件所需要的时间,成本的要素,从⽽更好的管理项⽬。

2.2 《软件需求规格说明书》的⼀般结构正⽂的第⼀章内容是1.概述,包含1.1.编写⽬的;1.2.术语与定义;1.3.参考资料;三个部分第⼆章要给出该项⽬的标准和规范,在⽂档的后续内容编写中以及项⽬开发过程中必须遵照这个标准和规范进⾏。

概要设计和详细设计的区别

概要设计和详细设计的区别

概要设计和详细设计的区别模块的概念软件工程中谈到的模块是指整个系统中一些相对对独立的程序单元,每个程序单元完成和实现一个相对独立的软件功能。

通俗点就是一些独立的程序段。

模块设计也叫详细设计,是系统设计阶段后续的一个软件开发阶段。

在系统设计阶段要把整个应用问题分解成一个个独立的功能部分--叫做程序模块。

每个程序模块要有自己的名称、标识符、接口等外部特征。

不过模块的概念,在现代软件工程已经不多使用了,这大概是2代3代之前的概念。

模块概念后来发展成类和对象的概念,现在又发展到组件的概念。

换句话说,现在不再叫模块设计,一般叫组件设计。

前些年叫类和对象设计。

这些不止是名词的改变,更多的是软件工程的发展。

不过对象也好、组件也好它们都是一些独立的程序单元。

概要设计的概要概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程,其结果往往以反映交互控件布置、界面元素分组以及界面整体板式的页面框架图的形式来呈现。

这是一个在用户研究和设计之间架起桥梁,使用户研究和设计无缝结合,将对用户目标与需求转换成具体界面设计解决方案的重要阶段。

概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。

设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。

数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。

显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。

概要设计与详细设计的区别概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。

同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。

详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

概要设计阶段通常得到软件结构图,详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

概要设计与详细设计的区别
概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。

同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。

详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

概要设计阶段通常得到软件结构图
详细设计阶段常用的描述方式有:
流程图、N-S图、PAD图、伪代码等概要设计和详细设计
在软件设计中,大家经常问到的一个问题是:
概要设计应该怎样一个概要法,详细设计应该怎样一个详细法?
这个问题在公司内部经常有人问。

现在陈述一下。

我们公司的研发流程是瀑布型的,这个模型中的分析、设计阶段是基于经典的结构化方法。

结构化设计方法的基本思路是:
按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。

模块的概念,和编程语言中的子程序或函数是对应的。

这样一来,设计可以明显地划分成两个阶段:
概要(结构)设计阶段:
把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口
详细设计阶段:
依据概要设计阶段的分解,设计每个模块内的算法、流程等。

概要设计阶段:
在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。

主要集中于划分模块、分配任务、定义调用关系。

模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。

概要设计一般不是一次就能做到位,而是反复地进行结构调整。

典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。

在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。

概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。

以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

详细设计阶段:
在这个阶段,各个模块可以分给不同的人去并行设计。

在详细设计阶段,设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。

这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。

详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。

一个模块一篇详细设计文档。

概要设计文档相当于机械设计中的装配图,而详细设计文档相当于机械设计中的零件图。

文档的编排、装订方式也可以参考机械图纸的方法。

我们公司对模块的认识和传统定义有所不同,认为是较大的软件功能单元才可以称作模块。

这种认识使大家对概要设计和详细设计的分工产生了混乱的理解,降低了文档的可用性,应该予以纠正。

概要设计中较顶层的部分便是所谓的方案。

方案文档的作用是在宏观的角度上保持设计的合理性。

有的项目采用面向对象的分析、设计方法。

可能在概要设计、详细设计的分工上疑问更多。

其实,面向对象的分析、设计方法并没有强调结构化方法那样的阶段性,因此一般不引入概要、详细设计的概念。

如果按照公司的文档体系,非要有这种分工的话,可以
将包的划分、类及对象间的关系、类的对外属性、方法及协作设计看做概要设计;类属性、方法的内部实现看做详细设计。

1. 需求分析--产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。

不涉及具体实现方法。

用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。

2. 概要设计--产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。

并且需要指出关键技术难点等。

3. 详细设计--产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。

理论上要求可以照此编码。

概要设计和详细设计的区别与联系
软件设计采用白顶向下、逐次功能展开的设计方法,首先完成总体设计,然后完成各有机组成部分的设计。

根据工作性质和内容的不同,软件设计分为概要设计和详细设计。

概要设计实现软件的总体设计、模块划分、用户界面设计、数据库设计等等;详细设计则根据概要设计所做的模块划分,实现各模块的算法设计,实现用户界面设计、数据结构设计的细化,等等。

概要设计是详细设计的基础,必须在详细设计之前完成,概要设计经复查确认后才可以开始详细设计。

概要设计,必须完成概要设计文档,包括系统的总体设计文档、以及各个模块的概要设计文档。

每个模块的设计文档都应该独立成册。

详细设计必须遵循概要设计来进行。

详细设计方案的更改,不得影响到概要设计方案;如果需要更改概要设计,必须经过项目经理的同意。

详细设计,
应该完成详细设计文档,主要是模块的详细设计方案说明。

和概要设计一样,每个模块的详细设计文档都应该独立成册。

概要设计里面的数据库设计应该重点在描述数据关系上,说明数据的来龙去脉,在这里应该结合我们的一下结果数据,说明这些结果数据的源点,我们这样设计的目的和原因。

详细设计里的数据库设计就应该是一份完善的数据结构文档,就是一个包括类型、命名、精度、字段说明、表说明等内容的数据字典。

概要设计里的功能应该是重点在功能描述,对需求的解释和整合,整体划分功能模块,并对各功能模块进行详细的图文描述,应该让读者大致了解系统作完后大体的结构和操作模式。

详细设计则是重点在描述系统的实现方式,各模块详细说明实现功能所需的类及具体的方法函数,包括涉及到的sql语句等。

概要设计,详细设计之间的关系是什么?
Q:
我的看法:
概要设计只说明系统有多少个模块,各模块之间的接口和个模块本身的功能详细设计说明某个具体模块如何实现,粒度应该比程序略高一些
但是问题来了,各个模块之间是有层次关系的,也有先后逻辑关系。

这就说明,在概要设计中,还必须考虑模块的实现细节,否则,你怎么知道这个模块下面要划分子模块?你怎么知道各子模块的调用顺序?
这就说明,概要设计和详细设计是重叠进行的,而软件工程书上说的确是顺序进行的,不知道是不是我的理解有问题。

举个例子,例如排序程序,如果设计2个模块:
一个主模块用于排序子模块用于交换2个变量,主模块调用子模块,但是子模块是怎么设计出来的呢?肯定是你先想到了用冒泡等排序方式的时候需要交换数据,这已经考虑了主模块足够多的细节,似乎属于 "详细设计"了,但是目前进行的是概要设计,这就产生了我所说的重叠的情况。

A:
看看上面的帖子,有意思的居多。

上面也有朋友说到用建筑的例子来比喻。

软件的概要设计,主要是建立软件系统的整体架构,也就是我们在盖房子时候,需要先将房子的整个架子构建起来。

软件的详细设计,主要是将软件系统的各个部分的具体设计方法、逻辑、功能采用文字方式进行表述。

这样在实现过程中,CodingA员原则上严格按此
进行代码实现即可。

这样的一个最为简单的例证:
我们可以将代码交付第三方来做。

验证与跟踪米取设计来。

我看上面还有一个朋友说:
快速做代码。

这个本身没有值得批评之处。

但只要想一下,你写的代码没有任何设计思想、文档留下的情况,一旦你离开,如何维护?重新设计吗?还是花费几倍人力去研究你写的几千/万,甚至几十万行代码?如果是这样的,你没错,关键是你们老板太对了,钱算什么。

另外的一个问题是:
中国人如此聪明,但中国为什么没有出现巨型软件产品呢?个人英雄主义依然很严重,老板的短视利益行为大行其道。

相关文档
最新文档