详细设计

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

设计方案有几种

设计方案有几种

设计方案有几种
设计方案通常有三种基本类型:概念设计,详细设计和技术设计。

下面将对这三种设计方案进行详细解释。

1. 概念设计:概念设计是根据需求和目标来制定初步的设计方案。

它主要关注的是设计的整体思路和理念。

在概念设计中,设计师会进行市场调研、市场分析和用户调研,以确定产品的基本功能和外观风格。

概念设计通常包括草图、渲染图或原型等视觉表达方式,以便让相关人员更好地理解和评估设计概念的可行性。

2. 详细设计:详细设计是在概念设计的基础上进行深入细化和完善的过程。

它主要关注的是如何实现概念设计中确定的功能和外观。

在详细设计中,设计师会考虑一些具体的细节,如材料选择、尺寸规格、工艺流程等,以确保产品能够实际制造和运作。

详细设计通常包括制作零部件图纸、工艺路线和装配图,以便供生产部门使用。

3. 技术设计:技术设计是详细设计的一种特定类型,它主要关注的是使用特定的技术来解决设计中的技术问题。

技术设计可能涉及到一些复杂的技术问题,如材料的物理性能、机械运动的力学分析、电子电路的设计等。

在技术设计中,设计师需要具备专业的技术知识和技能,以提供实际可行的技术解决方案。

技术设计通常包括详细的技术计算和分析报告,以便对设计的可行性进行评估。

总的来说,设计方案有概念设计、详细设计和技术设计三种类
型。

它们分别从整体思路、具体细节和技术解决方案的角度来解决设计问题。

根据不同的需求和目标,可以选择适合的设计方案类型来进行设计工作。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

详细设计

详细设计

为每一模块设计一组测试用例
详细设计说明书
(GB8567
— 88)
1.详细设计阶段的任务还不是具体地编写程序,而是要设计出 程序的“蓝图”, 2.程序员将根据这个蓝图写出实际的程序代码。因此,详细设 计的结果基本上决定了最终的程序代码的质量。
3.考虑程序代码的质量时必须注意,程序的“读者”有两个,

结构程序设计的经典定义如下所述:“如果一个程序
的代码块仅仅通过顺序、选择和循环这3种基本控制结构
进行连接,并且每个代码块只有一个入口和一个出口,
则称这个程序是结构化的。” • “结构程序设计是尽可能少用GO TO语句的程序设计 方法。最好仅在检测出错误时才使用GO TO语句,而且 应该总是使用前向GO TO语句。”
(e) UNTIL型循环;(f) 语句标号;(g) 定义
使用PAD图提供的定义功能来逐步求精的例子
(a) 初始的PAD图;(b) 使用def符号细化处理框P2
PAD图的主要优点:
(1) 使用PAD符号所设计出来的程序必然是结构化程序。
(2) PAD图所描绘的程序结构十分清晰。
图中最左面的竖线是程序的主线,即第一层结构。随着程序层次
(5) 产生有意义的出错信息。 (6) 使用大小写、缩进和文本分组以帮助理解。 人机界面显示的信息大部分是文字,文字的布局和形式对用户 从中提取信息的难易程度有很大影响。 (7) 使用窗口分隔不同类型的信息。 利用窗口用户能够方便地“保存”多种不同类型的信息。
(8) 使用“模拟”显示方式表示信息,以使信息更容易被用户
• PAD图由日本日立公司1973年发明以后,已得 到一定程度的推广。它用二维树形结构的图来 表示程序的控制流,将这种图翻译成程序代码 比较容易。

详细设计

详细设计

19
PAD图
特点
结构清晰,层次分明,易读 支持逐步求精的设计思想 容易将PAD自动转换为高级语言源程序
20
判定表
判定表可以清晰地描述复杂的条件组合。
21
判定表
其优点在于使别人很容易看清楚各种条件组合 以及由此产生的各种动作,甚至简单到不需要加以 任何说明。 表示复杂的条件组合与应做动作之间的对应关系; 判定表并不适用于作为一种通用的设计工具,通 常将之用于辅助测试 ; 要求将程序流程图中的多分支判断都改成两分支 判断; 缺点: --含义不清楚; --数据元素多于两个时,判定表简洁性下降。
PAD图
PAD是Problem Analysis Diagram的英文缩写,是日本日立公 司在1973年提出的。它是用结构化程序设计思想表现程序逻辑 结构的图形工具。 A A A
p p
B
顺序型
While P
B
选择型
=1 =2
A1 A2
S
当型循环型
p
=n
Until P
S
直到型循环型
An 多分支选择型
30
谢 谢!
全部细节;
4.为系统每一个模块设计测试用例。 以上这些内容所组成的文档就是系统详细设计说明书,这些文档设 计完成以后,经过审核合格交付给下一阶段,作为编码的依据。
5
结构化程序设计
… … if (A.LT.B) goto 120 if (B.LT.C) goto 110 100 write(6,*) C goto 140 110 write(6,*) B goto 140 120 if(A.LT.C) goto 130 goto 100 130 write(6,*) A 140 continue

基本设计和详细设计

基本设计和详细设计

基本设计和详细设计
“基础设计”不知是什么基础。

我这里权当是“基本设计”。

工艺包。

工程项目中确定的产品在其加工的整个过程需要的工艺流程确定、加工设备选择、原料的选择与成品存放环境、通用设备配置等等工程参数,以及生产过程的质量控制参数、生产过程工艺执行计划、生产流程中全部工艺技术的确定是工艺包涉及的内容。

基本设计。

是按照提供的工艺流程及设备参数初步做出的总图性设计,包括,总平面图,总流程图。

详细设计。

是按照总图和工艺包的参数做出的供工程实施使用的施工设计。

包括:建筑物、构筑物、机械、电气、给排水、消防、水处理、绿化等施工设计。

名词解释详细设计

名词解释详细设计

名词解释详细设计
详细设计是软件开发过程中的一个阶段,它是在需求分析和概要设计之后进行的,并且是在编码之前完成的。

在详细设计阶段,软件系统的各个组成部分的实现细节和具体功能被详细规划和描述。

以下是详细设计的几个关键方面:
模块设计:将系统划分为各个模块,并确定每个模块的功能、接口、输入输出、数据结构等。

模块设计通常从一个高层次的概念开始,然后逐步细化为可执行的代码。

数据设计:确定系统中所需的数据结构和数据库的设计。

这包括定义数据实体、属性、关系、表结构、数据存储和处理方式等。

界面设计:定义用户界面的布局、交互方式、控件和视觉设计。

界面设计要考虑用户友好性、易用性和美观性。

算法设计:确定解决问题所需的算法和逻辑。

这涉及到底层的数据处理和计算过程的设计,以实现系统的功能。

异常处理和错误处理:设计系统在发生异常情况和错误时的处理方式。

这包括错误代码、错误消息、异常捕获和处理机制等。

性能优化:细化系统的性能目标,并通过优化算法、数据结构和代码来提高系统的响应时间和资源利用率。

安全性设计:考虑系统的安全需求,包括用户认证、访问控制、数据加密等,以保护系统免受潜在威胁和攻击。

详细设计的输出通常是软件系统的详细设计文档,其中包含了系统的各个方面的详细描述、流程图、数据模型、接口和算法设计等内容。

这个文档将作为开发团队的参考,确保系统在实现阶段按照设计规划进行开发。

同时,它也可以作为与客户、项目经理和其他相关人员进行沟通和确认的依据。

软件系统详细-设计

软件系统详细-设计
END FOR
② WHILE结构 WHILE 条件
循环体S ENDWHILE
③ UNTIL结构 REPEAT
循环体S UNTIL 条件 输入/输出语句
① 输入语句: GET(输入变量表)
② 输出语句:
PUT(输出变量表) 模块调用语句
CALL 模块名(参数)
5 判定表:当算法中包含多重嵌套的条件选择时使 用。表示复杂的条件组合与相应的动作适宜。
从输入文件中各读一条记录 处理居民记录 end 关闭全部文件 停止 产生新文件 end
从上面的例子中可以看出,对于一个输入、输出数据结构之间对应关系清 晰的小规模数据处理问题来说,采用Jackson方法可以很方便地得到系统的 处理过程描述。但当输入、输出数据出现错误或输入、输出数据间没有对 应关系(称为结构冲突)时,上面所介绍的映射规则就无法处理了。
详细设计说明书可以看作是在系统结构设计说明书所确定的系统总体结构的基础
上,对其中各个模块实现过程的进一步描述和细化。通常,详细设计说明书中应主 要包括以下几方面的内容:
(1) 引言:用于说明编写本说明书的目的、背景,定义所用到的术语和缩略语, 以及列出文档中所引用的参考资料等。
(2) 总体设计:用于给出软件系统的体系结构图。
(6)PDL描述与程序结构相似,故PDL语言便于将详细设计的结果转换为源程序。 PDL的缺点是不如图形描述形象直观,因此常常将PDL描述与一种图形描述结合起
来使用。
PDL语言的主要定义语句及基本控制结构的表达如下所示: 定义语句
(1) 数据定义: DECLARE 属性变量名,… 属性包括:整型、实型、双精度型、字符型、指针、数组及结构等类型。
《软件工程》
软件的系统设计—详细设计 陈巧丽
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
负责查询房屋装修信息
负责查询房屋朝向信息
负责查询房屋用途信息
5
系统管理
05
负责对访问管理系统的用户分配角色类型并设置访问权限
负责添加用户并为用户分配角色类型
负责对数据进行备份并且可以对数据进行初始化以及恢复
6
帮助模块
06
负责所有用户登录系统时的帮助说明操作
三、
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
根据概要设计书,整个程序分为六大模块:用户信息管理,求租管理,员工信息,出租管理,系统管理和帮助模块,本文将对每个模块具体如何实现进行描述。
(二)系统说明
项目的开发需求方是XX房屋中介公司,由XX软件公司与XX学校软件专业共同承接开发任务,预期用户是中介行业内部操作人员、库存管理人员,公司经理等。
(三)术语
3.1
(1)程序目的:登录和注册功能是论坛必须具备的功能之一,开放注册后,用户才可以在论坛上一登录者的身份发表帖子;
(2)特点:该窗体在设计上尽量的符合人们的使用习惯,并且在出现用户名冲突的的情况下,有相应的提示信息输出。
菜单的设计应在两个方面考虑:使用上,在使用上应尽量让用户感觉到方便又符合人们的习惯。分类要明确、细致;外观上,应考虑使用当今比较流行的菜单样式,显得比较华丽。尽量的能让用户可以按照自己的意愿去改变菜单的样式,在选项里去设置
5.3
网页具有输入出错处理能力,提示选择功能。
5.4
房屋查询:
按地址:输入地址,下拉选框输入
按大小:输入大小,下拉选框输入
按类型:输入类型(一室、二室…),下拉选框输入
按租金:输入租金范围,下拉选框输入
需求查询:
按地址:输入地址,下拉选框输入
按大小:输入大小,下拉选框输入
按类型:输入类型(一室、二室…),下拉选框输入
详细设计说明书
总体设计
一、引言
(一)编写目的
详细设计的目标是确定应该具体地实现所要求的系统,得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
详细设计的任务是根据系统需求分析报告和系统概要设计报告中对业务功能的定义,以及系统框架的要求,进而实现更进一步的具体设计。详细设计报告中将从业务的具体实现功能方面入手,从用户界面的设计、类的详细定义、成员变量的使用,到过程调用的输入输出参数等多方面进行规范、定义、说明。
3.6
表示层接收数据,控制层将数据转到数据保存(到数据库)。
BEGIN
string name=namecontrol.text; //获取用户名
string password=passwordcontrol.text; //获取密码
img rand=randcontrol; //验证码
ConnectionDataBase()
(2)特点:该窗体在设计上尽量的符合人们的使用习惯,并且在出现用户名冲突的的情况下,有相应的提示信息输出。
菜单的设计应在两个方面考虑:使用上,在使用上应尽量让用户感觉到方便又符合人们的习惯。分类要明确、细致;外观上,应考虑使用当今比较流行的菜单样式,显得比较华丽。尽量的能让用户可以按照自己的意愿去改变菜单的样式,在选项里去设置。
5.10
程序前:
用/**…*/注释
程序中:
/*…*/多行注释
//…单行注释
5.11
查询信息前,需要会员首先登录到该系统。
5.12
见测试计划说明书
5.13

4.2
接收验证用户注册信息,将其添加并存入数据库,添加新用户
4.3
本系统经过了全面的测试能有超强的负载能力,由于在开发前比较好的策划,以及在开发过程中比较频繁的整合便得此系统有很好的兼容性。
4.4
有效用户注册相关信息
4.5
若用户信息符合要求,输出注册成功页面。
4.6
表示层接收数据,控制层将数据转到数据保存(到数据库)。
4.9
本组件内所依赖的变量、结构要求全部在组件元素内申明
4.10
说明准备在本程序中安排的注释,如:
e.加在模块首部的注释;
f.加在各分枝点处的注释;
g.对各变量的功能、范围、缺省条件等所加的注释;
h.对使用的逻辑所加的注释等等。
4.11

4.12
见测试计划说明书
4.13


其余模块的程序的内容与本模块基本相同,所以只介绍本模块
3.9
本组件内所依赖的变量、结构要求全部在组件元素内申明。
3.10
说明准备在本程序中安排的注释,如:
a.加在模块首部的注释;
b.加在各分枝点处的注释;
c.对各变量的功能、范围、缺省条件等所加的注释;
d.对使用的逻辑所加的注释等等。
3.11

3.12
见测试计划说明书
3.13

四、
4.1
(1)程序目的:登录和注册功能是网站必须具备的功能之一,开放注册后,用户才可以在论坛上一登录者的身份发表帖子;表1.1术语定义缩源自、术语解释库存管理
根据零部件识别码或标号,对其出库入库进行追踪统计,并对零件进行信息统计,以便更好的对供货商信息以及顾客信息进行统计并生成报表。
管理员
管理机械零部件库存管理系统,管理角色分配,用户添加基础功能
MVC三层框架
MVC三层框架,指视图层、控制层、逻辑层三层架构,M:Model,V:View,C:Control
SSH
在J2EE项目中表示了3种框架,即Spring + Struts +Hibernate
Struts
是Java领域中的一个开源框架技术,采用MVC三层结构
Spring
是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
Hibernate
是一个开放源代码的对象关系映射框架
Tomcat
Java Web应用中的Web服务器的一种,为系统提供Web容器功能
按租金:输入租金范围,下拉选框输入
5.5
查询房屋信息返回结果部分:房屋图片,房屋地址,大小,租金,房主ID,房主姓名等。
查看需求信息结果输出部分:客户ID,客户姓名等等
5.6
SQL语言
Where子句中加上所输入的相关条件
5.7
5.8
数据库接口:HZ_table, HW_table, KH_table 5.9存储分配。
BEGIN
string name=namecontrol.text; //获取用户名
string password=passwordcontrol.text; //获取密码
img rand=randcontrol; //验证码
ConnectionDataBase()
{
//连接用户数据库
}
CheckUser()
{
//连接用户数据库
}
CheckUser()
{
if(用户表中“用户名”字段= =name)
{
If(“密码”字段= =password)
{
If(“验证码”字段= =rand)
{
登陆成功
进入管理页面;
}
else
{
用户名、密码或验证码错误
}
}
else
{
该用户不存在;
}
}
END
3.7
3.8
SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。
负责所有用户的详细资料删除
2
求租管理
02
负责房源查询
负责查询房源状态
负责添加求租人员所有意向
负责修改求租人员所有意向
负责添加求租人员所有意向
3
员工信息管理
03
负责所有员工的详细资料添加
负责所有员工的详细资料修改
负责所有员工的详细资料删除
4
出租管理
04
负责查询房屋信息
负责查询房屋的楼层信息
负责查询房屋幢/坐信息
{
if(用户表中“用户名”字段= =name)
{
If(“密码”字段= =password)
{
If(“验证码”字段= =rand)
{
登陆成功
进入管理页面;
}
else
{
用户名、密码或验证码错误
}
}
else
{
该用户不存在;
}
}
END
4.7
4.8
SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。
(四)参考资料
表1.2参考资料
序号
资料名
文件编号
发表日期
出版单位
1
软件工程国家标准文档
GB8567——88
相关文档
最新文档