软件工程实用教程4-软件设计(2).ppt

上传人(卖家):三亚风情 文档编号:3390021 上传时间:2022-08-26 格式:PPT 页数:41 大小:3.32MB
下载 相关 举报
软件工程实用教程4-软件设计(2).ppt_第1页
第1页 / 共41页
软件工程实用教程4-软件设计(2).ppt_第2页
第2页 / 共41页
软件工程实用教程4-软件设计(2).ppt_第3页
第3页 / 共41页
软件工程实用教程4-软件设计(2).ppt_第4页
第4页 / 共41页
软件工程实用教程4-软件设计(2).ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、第四章第四章 软件设计(软件设计(2 2)任务任务2 2 构建数据库构建数据库数据设计数据设计数据结构设计数据结构设计数据库设计数据库设计任务任务3 3 设计界面设计界面任务任务4 4 描述算法描述算法详细设计详细设计详细设计工具详细设计工具2 2在分析图书管理系统的过程中出现了很多与业务在分析图书管理系统的过程中出现了很多与业务相关的数据流、数据存储、数据实体等数据表现相关的数据流、数据存储、数据实体等数据表现形式。这些数据在系统实现过程中都需要使用到形式。这些数据在系统实现过程中都需要使用到并需要体现出来的。例如,数据存储本身是一种并需要体现出来的。例如,数据存储本身是一种静态数据的表示方

2、式,就意味着在系统中需要持静态数据的表示方式,就意味着在系统中需要持久化这些数据。数据库往往是持久化数据的常用久化这些数据。数据库往往是持久化数据的常用方法。那么,这些数据应该以什么样的形式进行方法。那么,这些数据应该以什么样的形式进行组织,又应该怎样表达出来呢?组织,又应该怎样表达出来呢?3 3数据设计的内容数据设计的内容数据结构的设计数据结构的设计文件的设计文件的设计数据库的设计数据库的设计数据设计的层次数据设计的层次业务级业务级存储在不同数据库并且重新组织为存储在不同数据库并且重新组织为“数据仓库数据仓库”的信息的的信息的集合,它启动了数据挖掘或知识发现,对业务本身的成功集合,它启动了数

3、据挖掘或知识发现,对业务本身的成功有重要影响。有重要影响。应用级应用级需求工程导出的数据模型到数据库的转换,是达到系统业需求工程导出的数据模型到数据库的转换,是达到系统业务目标的关键;务目标的关键;程序构件级程序构件级设计数据结构和操作它们所需要的相关算法,对创建高质设计数据结构和操作它们所需要的相关算法,对创建高质量的应用至关重要。量的应用至关重要。5 5数据设计的原则数据设计的原则在数据设计中也可以使用自顶向下、逐步细化的在数据设计中也可以使用自顶向下、逐步细化的方法。底层数据设计的决策应该推迟到设计过程方法。底层数据设计的决策应该推迟到设计过程的后期进行的后期进行数据设计时应遵从信息隐藏

4、原则数据设计时应遵从信息隐藏原则要确定所有数据结构,以及在每种数据结构上实要确定所有数据结构,以及在每种数据结构上实施的操作施的操作应当创建一个存放数据结构和相关操作的库应当创建一个存放数据结构和相关操作的库数据结构设计数据结构设计原则原则尽量使用简单的数据结构尽量使用简单的数据结构在设计数据结构时要注意数据之间的关系在设计数据结构时要注意数据之间的关系为了加强数据设计的可复用性,应该针对常用的数据结构为了加强数据设计的可复用性,应该针对常用的数据结构和复杂的数据结构设计抽象类型和复杂的数据结构设计抽象类型尽量使用经典数据结构尽量使用经典数据结构在确定数据结构时一般先考虑静态结构在确定数据结构

5、时一般先考虑静态结构对于复杂数据结构,应给出图形和文字描述,以便于理解对于复杂数据结构,应给出图形和文字描述,以便于理解数据库设计数据库设计数据库设计的基本步骤数据库设计的基本步骤(1 1)数据库的概念结构设计)数据库的概念结构设计(2 2)数据库的逻辑结构设计)数据库的逻辑结构设计(3 3)数据库的物理结构设计)数据库的物理结构设计数据库的概念结构设计数据库的概念结构设计 概念结构设计应在系统分析阶段进行。任务是根据概念结构设计应在系统分析阶段进行。任务是根据用户需求设计数据库的概念数据模型用户需求设计数据库的概念数据模型 (简称概念模型简称概念模型)。概念模型是从用户角度看到的数据库,它可

6、用。概念模型是从用户角度看到的数据库,它可用E-E-R R模型表示。模型表示。数据库的逻辑结构设计数据库的逻辑结构设计逻辑结构设计是将概念结构设计阶段完成的概念模逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统型转换成能被选定的数据库管理系统(DBMS)(DBMS)支持的支持的数据模型。目前常见的是关系模型。数据模型。目前常见的是关系模型。将将E-RE-R模型转换为关系模型的一般规则模型转换为关系模型的一般规则(1 1)每一实体集对应于一个关系模式,实体名作为关系)每一实体集对应于一个关系模式,实体名作为关系名,实体的属性作为对应关系的属性。名,实体的属性作为对应关

7、系的属性。(2 2)实体间的联系一般对应一个关系,联系名作为对应)实体间的联系一般对应一个关系,联系名作为对应的关系名,不带有属性的联系可以去掉。的关系名,不带有属性的联系可以去掉。(3 3)实体和联系中关键字对应的属性在关系模式中仍作)实体和联系中关键字对应的属性在关系模式中仍作为关键字。为关键字。重数重数数据库操作数据库操作一对一一对一为每个对象分别创建一个表为每个对象分别创建一个表每个表中的主码也是相关表中的外码每个表中的主码也是相关表中的外码一对多一对多为每个对象分别创建一个表为每个对象分别创建一个表关联中关联中“一一”这一侧表的主码是这一侧表的主码是“多多”那一侧表的外码那一侧表的外

8、码多对多多对多为每个对象分别创建一个表为每个对象分别创建一个表创建一个附加的交叉表创建一个附加的交叉表每个对象对应的表的主码在交叉表中都定义为外码每个对象对应的表的主码在交叉表中都定义为外码交叉表的主码可以是单独的特定一列(自动生成的代交叉表的主码可以是单独的特定一列(自动生成的代主码),或者也可能是来自其他表的两个外键的组合主码),或者也可能是来自其他表的两个外键的组合再加上一个有含义的标识符(如角色、类型)再加上一个有含义的标识符(如角色、类型)将重数映射到数据库操作根据规则,下面的实体和联系就很容易转换成了上述对应的关系根据规则,下面的实体和联系就很容易转换成了上述对应的关系数据模型数据

9、模型:学生学生 (学号学号,姓名,性别,出生日期,籍贯,姓名,性别,出生日期,籍贯)课程课程 (课程编号课程编号,课程名,学时,学分,教材名称,课程名,学时,学分,教材名称)教师教师 (教师编号教师编号,教师姓名,性别,出生日期,职称,学历,教师姓名,性别,出生日期,职称,学历,工作时间工作时间)学习学习 (学号学号,课程编号课程编号,成绩,成绩)教学教学 (教师编号,课程编号,效果教师编号,课程编号,效果)数据库的物理结构设计数据库的物理结构设计物理结构设计是为数据模型在设备上选定合物理结构设计是为数据模型在设备上选定合适的存储结构和存取方法,以获得数据库的适的存储结构和存取方法,以获得数据

10、库的最佳存取效率。最佳存取效率。物理结构设计的主要内容包括物理结构设计的主要内容包括:库文件的组织形式。如选用顺序文件组织形式、索引文件组织库文件的组织形式。如选用顺序文件组织形式、索引文件组织形式等。形式等。存储介质的分配。例如将易变的、存取频繁的数据存放在高速存储介质的分配。例如将易变的、存取频繁的数据存放在高速存储器上,稳定的、存取频度小的数据存放在低速存储器上。存储器上,稳定的、存取频度小的数据存放在低速存储器上。存取路径的选择等。存取路径的选择等。第一范式(第一范式(1NF1NF)在关系模式在关系模式R R中的每一个具体关系中的每一个具体关系r r中,如果每个中,如果每个属性值属性值

11、 都是不可再分的最小数据单位,则称都是不可再分的最小数据单位,则称R R是是第一范式的关系。第一范式的关系。第二范式(第二范式(2NF2NF)如果关系模式如果关系模式R R(U U,F F)中的所有非主属性都完)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系全依赖于任意一个候选关键字,则称关系R R 是属是属于第二范式的。于第二范式的。第三范式(第三范式(3NF3NF)如果关系模式如果关系模式R R(U U,F F)中的所有非主属性对任)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系何候选关键字都不存在传递信赖,则称关系R R是属是属于第三范式的。于第三范式的。在需求分析

12、阶段我们已经接触到采用快速原型的在需求分析阶段我们已经接触到采用快速原型的方式来获取和明确用户的需求,在设计阶段我们方式来获取和明确用户的需求,在设计阶段我们已经基本上掌握了用户的想法,需要根据需求规已经基本上掌握了用户的想法,需要根据需求规格说明书中提到的信息构建和明细系统实现的界格说明书中提到的信息构建和明细系统实现的界面,那么,在用户界面构建的过程中,除了确定面,那么,在用户界面构建的过程中,除了确定界面中所包含的界面信息外,还有哪些方面是我界面中所包含的界面信息外,还有哪些方面是我们需要注意的呢?们需要注意的呢?1515界面设计界面设计设计用户界面就是设计输入输出,这些输入输出设计用户

13、界面就是设计输入输出,这些输入输出是指为了执行一个任务用户与计算机系统之间进是指为了执行一个任务用户与计算机系统之间进行的交互。行的交互。我们侧重于人和计算机交互的界面设计,即人机我们侧重于人和计算机交互的界面设计,即人机交互界面。交互界面。遵循一组界面设计原则,设计任务需标识界面对遵循一组界面设计原则,设计任务需标识界面对象和动作,然后创建屏幕布局,形成用户界面原象和动作,然后创建屏幕布局,形成用户界面原形的基础。形的基础。界面设计八项黄金规则界面设计八项黄金规则尽量保持一致性尽量保持一致性为熟练用户提供快捷键为熟练用户提供快捷键提供有效反馈提供有效反馈设计完整的对话过程设计完整的对话过程提

14、供简单的错误处理机制提供简单的错误处理机制允许撤销动作允许撤销动作提供控制的内部轨迹提供控制的内部轨迹减少短期记忆负担减少短期记忆负担通过概要设计阶段所获得的软件体系结构,我们通过概要设计阶段所获得的软件体系结构,我们已经了解了系统内部基本的组成形式及模块间的已经了解了系统内部基本的组成形式及模块间的调用关系,下面我们需要深入到模块内部,去探调用关系,下面我们需要深入到模块内部,去探寻一下每个模块具体的实现策略,那么,可以采寻一下每个模块具体的实现策略,那么,可以采用什么样的方式来对模块内部实现策略进行描述用什么样的方式来对模块内部实现策略进行描述呢?呢?1818详细设计详细设计详细设计也称为

15、构件级设计或过程设计。详细设计也称为构件级设计或过程设计。在数据设计、体系结构设计和接口设计完成之后进行在数据设计、体系结构设计和接口设计完成之后进行。其意图是将设计模型翻译为可以运行的软件。其意图是将设计模型翻译为可以运行的软件。构件级设计建立起操纵数据结构,影响软件构件间通构件级设计建立起操纵数据结构,影响软件构件间通过它们的接口的通信以及实现分配到每个构件的处理过它们的接口的通信以及实现分配到每个构件的处理算法所需的算法细节。算法所需的算法细节。从软件开发的工程化观点来看,在使用程序设计从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关语言编制程序以前,

16、需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务。予清晰的表达。这就是过程设计的任务。在过程设计阶段,要决定各个模块的实现算法,在过程设计阶段,要决定各个模块的实现算法,并精确地表达这些算法。表达过程规格说明的工并精确地表达这些算法。表达过程规格说明的工具叫做详细设计工具,它可以分为以下三类具叫做详细设计工具,它可以分为以下三类:图形工具图形工具 表格工具表格工具 语言工具语言工具2020程序流程图程序流程图五种基本控制结构五种基本控制结构A;B;对应的代码对应的代码If P A;else B;对应的

17、代码对应的代码while P S;对应的代码对应的代码Do S;Until P对应的代码对应的代码Switch P case 1:A1;break;case 2:A2;break;case n:An;对应的代码对应的代码 示例示例阅读前面给出的程序流程图,请用伪码进行阅读前面给出的程序流程图,请用伪码进行表示。表示。将下述伪码转换为程序流程图将下述伪码转换为程序流程图A;B;if x1 then while x2 E;if x3 then C;D;F;N-SN-S图图也叫做盒图。也叫做盒图。五种基本控制结构由五种图形构件表示。五种基本控制结构由五种图形构件表示。示例示例N-SN-S图的嵌套定义

18、形式图的嵌套定义形式问题分析图问题分析图(PAD)(PAD)PADPAD也设置了五种基本控制结构的图式,并允许也设置了五种基本控制结构的图式,并允许递归使用。递归使用。PADPAD描述的示例描述的示例判定表判定表判定表能够清晰地表示复杂的条件组合与应做的判定表能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。动作之间的对应关系。一张判定表由四部分组成,包括所有可能条件、一张判定表由四部分组成,包括所有可能条件、所有可能做的动作、各种条件的可能组合、每种所有可能做的动作、各种条件的可能组合、每种条件组合相对应的动作。条件组合相对应的动作。判定表的每一列实质上是一条规则,规定了与特判定表的每

19、一列实质上是一条规则,规定了与特定的条件组合相对应的动作。定的条件组合相对应的动作。优先进行维修处理的优先进行维修处理的决策:决策:对功率大于对功率大于5050马力的马力的机器、维修记录不全机器、维修记录不全或已运行或已运行1010年以上的年以上的机器,应给予优先的机器,应给予优先的维修处理。维修处理。建立判定表的步骤建立判定表的步骤列出与一个具体过程列出与一个具体过程(或模块或模块)有关的所有处理。有关的所有处理。列出过程执行期间的所有条件列出过程执行期间的所有条件(或所有判断或所有判断)。将特定条件取值组合与特定的处理相匹配,消去不可能发将特定条件取值组合与特定的处理相匹配,消去不可能发生

20、的条件取值组合。生的条件取值组合。将右部每一纵列规定为一个处理规则,即对于某一条件取将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。值组合将有什么动作。以行李托运费的算法为例说明判定表的组织方法以行李托运费的算法为例说明判定表的组织方法。假设某航空公司规定,乘客可以免费托运重量不假设某航空公司规定,乘客可以免费托运重量不超过超过3030公斤的行李。当行李重量超过公斤的行李。当行李重量超过3030公斤时,公斤时,对头等舱的国内乘客超重部分每公斤收费对头等舱的国内乘客超重部分每公斤收费4 4元,对元,对其他舱的国内乘客超重部分每公斤收费其他舱的国内乘客超重部分每公斤收费6 6

21、元,对外元,对外国乘客超重部分每公斤收费比国内乘客多一倍,国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表可以清楚地表示与上述每种条件组半。用判定表可以清楚地表示与上述每种条件组合相对应的动作(算法)。合相对应的动作(算法)。条条件件123456789国内乘客国内乘客TTTTF FFF头等舱头等舱TFTFTFTF残疾乘客残疾乘客FFTTFFTT行李重量行李重量W30TFFFFFFFF 动动作作免费免费(W-30)2(W-30)3(W-30)4(W-30)6(W-30)8(W-30)12判定树判定树判定树是

22、判定表的变种判定树是判定表的变种也能清晰地表示复杂的条件组合与应做的动作之也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。间的对应关系。判定树的形式简单,易于掌握和使用。判定树的形式简单,易于掌握和使用。举例举例残疾乘客残疾乘客(W-30)2正常乘客正常乘客(W-30)4正常乘客正常乘客(W-30)6残疾乘客残疾乘客(W-30)3残疾乘客残疾乘客(W-30)4正常乘客正常乘客(W-30)8残疾乘客残疾乘客(W-30)6正常乘客正常乘客(W-30)12头等舱头等舱其他舱其他舱头等舱头等舱其他其他舱舱国内乘国内乘客客国外乘国外乘客客行李重行李重量量W30行李重量行李重量W30免费免费行行李李费费过程设计语言(过程设计语言(Process Design Language,PDLProcess Design Language,PDL)也称为伪码,它是一种笼统的名称,是用正文也称为伪码,它是一种笼统的名称,是用正文形式表示数据和处理过程的设计工具。形式表示数据和处理过程的设计工具。4040了解了解软件设计概述软件设计概述 用户界面设计用户界面设计理理解解体系结构设计体系结构设计掌握掌握内聚、耦合的种类内聚、耦合的种类结结构化设计方法构化设计方法4141

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件工程实用教程4-软件设计(2).ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|