求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

變更

前往: 導覽搜尋

详细设计

增加 680 位元組, 1 年前
無編輯摘要
{| class="wikitable" align="right"|-| style="background: #FF2400" align= center| '''<big> 详细设计 ,是软件工程中软件开发 </big>'''|-|<center><img src=https://so1.360tres.com/t013a606eb95dacfe76.jpg width="300"></center><small>[https://baike.so.com/gallery/list?ghid=first&pic_idx=1&eid=5437186&sid=5675495 来自 呢图网 一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。图片]</small>|-| style="background: #FF2400" align= center| '''<big></big>'''
基本信息中文名称详细设计|-
外文名称The detailed design| align= light|
任务 中文名称;详细 设计 每个模块的实现算法
定义软件工程中软件开发的一个步骤外文名称;The detailed design
途径通过需求分析 任务;设计每个模块 结果实现算法
目的设计出满足用户需求的 定义;软件工程中 软件 系统产品开发的一个步骤
目录1主要任务2方法3设计工具4基本任务5说明书折叠编辑本段主要任务详细设计的主要任务是设计每个模块的实现算法、所 途径;通过 求分析 局部数据 构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
折叠编 目的;设计出满足用户需求的软件系统产品|} '''详细设计''',是软件工程中软件开发的一个[[步骤]],就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的[[结果]],设计出满足用户需求的软件系统产品。<ref>[https://zhuanlan.zhihu.com/p/374669051 第六章详细设计] , 知乎,2021年5月24日 </ref> ==主要任务==详细设计的主要任务是设计每个模块的实现算法、所需的局部[[数据]]结构。详细设计的目标有两个:实现模块功能的算法要逻 本段 上正确和算法描述要简明易懂。 == 方法==
传统软件开发方法的详细设计主要是用结构化程序设计法。
折叠 === 结构化程序设计===
基本要求要点
a.采用自顶向下、逐步求精的程序设计 [[ 方法]]
b.使用三种基本程序控制结构构造程序
2).用选择方式对过程分解,确定某个部分的执行条件。
3).用循环方式对过程分解,确定某个部分重复的开始和结束的 [[ 条件 ]]
c.主程序员组的组织形式。
折叠Jackson ===Jackson 方法===
设计步骤
a.分析并确定输入/出数据的逻辑结构,并用Jackson 结构图表示这些数据结构。
b.找出输入数据结构和输出数据结构中有对应关系的数据 [[ 单元 ]]
c.按一定的规则由输入、输出的数据结构导出程序结构。
d.列出基本操作与条件,并把它们分配到程序结构图的适当 [[ 位置 ]]
e.用伪码写出程序。
折叠 === 描述方法===
a.程序流程图
C.过程设计语言
折叠编辑本段 == 设计工具==折叠 === 表示工具===
详细设计的表示工具有图形工具和语言工具。
1.图形工具
利用图形工具可以把过程的细节用 [[ 图形 ]] 描述出来。
有业务流图、程序流程图、PAD图(Problem Analysis Diagram)、NS流程图(由 Nassi和 Shneidermen开发,简称 NS)。
(1)程序流程图。程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的 [[ 工具 ]] 。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优点是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。盒图是一种强制使用结构化构造的图示工具,也称为方框图。其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。PAD是一种改进的图形描述方式,可以用来取代 [[ 程序 ]] 流程图,比程序流程图更直观,结构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
2.表格工具
可以用一张表来描述过程的细节,在这张表中列出了各种可能的 [[ 操作 ]] 和相应的条件。
3.语言工具
有伪码和PDL(Program Design Language)等。
PDL。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行 [[ 交流 ]] 。语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。用它来描述详细设计, [[ 工作量 ]] 比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
PDL的不足:不如图形工具形象直观,描述复杂的条件组合与动作间对应关系时,不如判定树清晰简单。
折叠编辑本段 == 基本任务==(1)为每个模块进行详细的算法设计。用某种图形、 [[ 表格 ]] 、语言等工具将每个模块处理过程的详细算法描述出来。
(2)为每个模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3)为数据结构进行物理设计,即确定数据库的物理结构。 [[ 物理结构 ]] 主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4)其他设计:根据软件系统的类型,还可能要进行以下设计:
②输入/输出格式设计。
③人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、 [[ 内容 ]] 、格式的具体设计。
(5)编写详细设计说明书。
(6)评审。对处理过程的算法和数据库的物理结构都要评审。
折叠 === 区别===软件设计采用自顶向下、逐次功能展开的设计方法,首先完成总体 [[ 设计 ]] ,然后完成各有机组成部分的设计。
根据工作性质和内容的不同,软件设计分为概要设计和详细设计。概要设计实现软件的总体设计、模块划分、用户界面设计、数据库设计等等;详细设计则根据概要设计所做的模块划分,实现各模块的算法设计,实现用户界面设计、数据结构设计的细化,等等。
折叠 === 联系===
概要设计是详细设计的基础,必须在详细设计之前完成,概要设计经复查确认后才可以开始详细设计。概要设计,必须完成概要设计文档,包括系统的总体设计文档、以及各个模块的概要设计文档。每个模块的设计文档都应该独立成册。
详细设计必须遵循概要设计来进行。详细设计方案的更改,不得影响到概要设计方案;如果需要更改概要设计,必须经过项目经理的同意。详细设计,应该完成详细设计文档,主要是模块的详细设计方案说明。和概要设计一样,每个模块的详细设计文档都应该独立成册。
概要设计里面的数据库设计应该重点在描述数据关系上, [[ 说明 ]] 数据的来龙去脉,在这里应该结合我们的一下结果数据,说明这些结果数据的源点,我们这样设计的目 的和原因。详细设计里的数据库设计就应该是一份完善的数据结构文档,就是一个包括类型、命名、精度、字段说明、表说明等内容的 [[ 数据 ]] 字典。 概要设计里的功能应该是重点在功能描述,对需求的解释和整合,[[整体]]划分功能模块,并对各功能模块进行详细的图文描述,应该让读者大致了解系统做完后大体的 结构和操作模式。详细设计则是重点在描述系统的实现方式,各模块详细[[说明]]实现功能所需的类及具体的方法函数,[[包括]]涉及到的sql语句等。== 相关视频 ==<center>{{#iDisplay:o0630h268yh|480|270|qq}}<center>企业级项目开发实战(三)详细设计</center></center>== 参考资料 ==
[[Category: 970 概要设计里的功能应该是重点在功能描述,对需求的解释和整合,整体划分功能模块,并对各功能模块进行详细的图文描述,应该让读者大致了解系统做完后大体的 结构和操作模式。详细设计则是重点在描述系统的实现方式,各模块详细说明实现功能所需的类及具体的方法函数,包括涉及到的sql语句等。技藝總論]]
26,395
次編輯