第10章_系统详细设计_第1页
第10章_系统详细设计_第2页
第10章_系统详细设计_第3页
第10章_系统详细设计_第4页
第10章_系统详细设计_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十章第十章系统详细设计系统详细设计主要内容主要内容o 输入设计输入设计o 输出设计输出设计o 人机交互人机交互设计(用户界面设计)设计(用户界面设计)o 程序处理过程详细设计程序处理过程详细设计n 模块模块的详细设计(程序的详细设计(程序流程图)流程图)n 类的详细设计(类的详细设计(UMLUML顺序图、顺序图、UMLUML类图)类图)o 代码代码体系体系设计设计o 数据库设计数据库设计o 网络和计算机系统设计网络和计算机系统设计n UMLUML部署图部署图输入/输出设计o 哪些地方需要进行输入哪些地方需要进行输入/ /输出设计呢?输出设计呢?输入设计:外部实体的数据流进入到系统的地方输入设

2、计:外部实体的数据流进入到系统的地方n 本系统操作人员的输入本系统操作人员的输入n 来自于其它系统的输入(其它的数据库或文件、其来自于其它系统的输入(其它的数据库或文件、其它系统的实时响应结果)它系统的实时响应结果)n 高度自动化的输入(高度自动化的输入(RFIDRFID读写器、条码扫描仪、传读写器、条码扫描仪、传感器等)感器等)输出设计:当输出设计:当DFDDFD图中有数据流从系统流出到外部实体图中有数据流从系统流出到外部实体的地方。的地方。n 报表、人机交互的查询、发送邮件等报表、人机交互的查询、发送邮件等n 到其它系统(消息、数据库、文件等)到其它系统(消息、数据库、文件等)10.1 输

3、入设计输入设计o 外部产生的数据如何输入到系统中外部产生的数据如何输入到系统中经理经理顾客顾客省招办省招办贷款审批意见贷款审批意见订单订单新生档案新生档案1、输入设计的内容o 确定输入数据内容:确定输入数据内容:包括确定输入数据项名称、数据内包括确定输入数据项名称、数据内容、精度、数值范围。容、精度、数值范围。o 确定数据的输入方式:确定数据的输入方式:联机终端输入还是脱机批量输入,联机终端输入还是脱机批量输入,与数据发生地点、时间、紧急程度有关。与数据发生地点、时间、紧急程度有关。o 确定输入数据的记录格式:确定输入数据的记录格式:记录格式设计得好,能减少记录格式设计得好,能减少数据冗余,降

4、低错误率和操作员劳动强度。数据冗余,降低错误率和操作员劳动强度。o 输入数据的正确性校验:输入数据的正确性校验:输入设计最重要的问题是保证输入设计最重要的问题是保证输入数据的正确性。对数据进行必要的校验,是保证输输入数据的正确性。对数据进行必要的校验,是保证输入正确的重要环节。可能的话直接从已有数据中选择。入正确的重要环节。可能的话直接从已有数据中选择。o 确定输入设备:确定输入设备:键盘、鼠标、触摸屏、读卡机、字符识键盘、鼠标、触摸屏、读卡机、字符识别机、光电阅读器、条形码识别机、语音识别仪、图像别机、光电阅读器、条形码识别机、语音识别仪、图像扫描仪。扫描仪。输入设计的重要性 输入是垃圾输入

5、是垃圾 输出是垃圾输出是垃圾 (GIGO) 输入设计的目标是保证向系统输入正确的数据输入设计的目标是保证向系统输入正确的数据o批量集中输入批量集中输入o联机分散输入联机分散输入o混合方式混合方式2、输入模式批量集中输入的优点o 收集和输入可以脱离主数据库(主机)收集和输入可以脱离主数据库(主机)o 输入可以由受过专门训练的人员完成输入可以由受过专门训练的人员完成o 数据处理的速度很快数据处理的速度很快o 处理可以安排在非高峰时间进行处理可以安排在非高峰时间进行o 例如:例如:n 保险单的录入保险单的录入n 人口普查数据的输入人口普查数据的输入批量集中输入的不足o 数据收集通常是集中式的数据收集

6、通常是集中式的o 数据录入一般需要受过专门训练的人员完成数据录入一般需要受过专门训练的人员完成o 处理过程有延迟处理过程有延迟,因此可能造成,因此可能造成数据过时数据过时,或等到处理,或等到处理完后已经不适用了完后已经不适用了o 因为处理通常在业余时间进行,因此在因为处理通常在业余时间进行,因此在处理时发现的输处理时发现的输入错误,只能在下一次处理时才能纠正入错误,只能在下一次处理时才能纠正(录入人员不熟(录入人员不熟悉业务)悉业务)联机分散输入的优点联机分散输入的优点o 数据能够由拥有者进行录入数据能够由拥有者进行录入o 数据的录入可以尽可能地与他们的源头靠近数据的录入可以尽可能地与他们的源

7、头靠近o 对于数据的正确性和可接受性,可以获得快速的反馈对于数据的正确性和可接受性,可以获得快速的反馈 o 输入的数据能及时更新数据库,从而使数据在最新状输入的数据能及时更新数据库,从而使数据在最新状态(实时)态(实时)n 如北京市房地产开发企业与购房者签订房屋预售合如北京市房地产开发企业与购房者签订房屋预售合同时,通过网上签约并下载打印合同文本,实现与同时,通过网上签约并下载打印合同文本,实现与政府网的联机备案,保护了消费者权益政府网的联机备案,保护了消费者权益n 国内一些科研项目申请的数据都是由申报个人自行国内一些科研项目申请的数据都是由申报个人自行录入录入联机分散输入的不足o 为了完成录

8、入,设备的花费更多为了完成录入,设备的花费更多o 使用者繁杂,不都是受过良好训练使用者繁杂,不都是受过良好训练o 对用户数据录入的程序控制要求高对用户数据录入的程序控制要求高o 所有数据必须在交易时间访问数据库,因此对主机、所有数据必须在交易时间访问数据库,因此对主机、数据库和网络的处理能力要求高(如数据库和网络的处理能力要求高(如160表)表)o 同样的数据,其录入会比批量录入过程要慢,总的效同样的数据,其录入会比批量录入过程要慢,总的效率低率低o 一般项目的输入方式采用此种方式一般项目的输入方式采用此种方式3、数据记录格式设计o 很多数据在输入到系统之前,通常来源于纸质的记录。很多数据在输

9、入到系统之前,通常来源于纸质的记录。原因:原因:n 数据提供者只负责提供数据,而不负责数据录入到数据提供者只负责提供数据,而不负责数据录入到计算机系统计算机系统n 出于安全考虑,需纸质资料存档,如涉及签字的表出于安全考虑,需纸质资料存档,如涉及签字的表格和文件格和文件o 需要进行数据记录格式的设计。需要进行数据记录格式的设计。o 数据记录格式的设计直接关系到计算机系统输入数据的数据记录格式的设计直接关系到计算机系统输入数据的质量,因此要考虑计算机录入的特点。质量,因此要考虑计算机录入的特点。格式设计例子中国邮政汇款单中国邮政汇款单邮编邮编用用户户填填写写邮邮局局填填写写写写业务业务种类种类普通

10、汇款普通汇款加急汇款加急汇款电子汇款电子汇款特急汇款特急汇款礼仪礼仪自行通知自行通知划拨划拨附言附言入帐入帐支票支票附加附加种类种类收款人收款人姓名姓名汇款汇款金额金额佰佰 拾拾 万万 千千 佰佰 拾拾 元元 角角 分分收款人地址收款人地址开户局及帐号开户局及帐号汇款人地址汇款人地址汇款人姓名汇款人姓名汇汇 票票 号号 码码汇款金额汇款金额汇费汇费手续费手续费收汇日期收汇日期经办员经办员:复核员复核员:检查员检查员:4、输入设备输入设备输入设备:输入设备:键盘、鼠标、触摸屏、读卡机、字符识别机、光电键盘、鼠标、触摸屏、读卡机、字符识别机、光电阅读器、条形码识别机、语音识别仪、图像扫描仪阅读器、

11、条形码识别机、语音识别仪、图像扫描仪oMagnetic Ink Character Recognition (MICR)磁性墨磁性墨水识别水识别oOptical Character Recognition (OCR)光学字符光学字符识别识别oOptical Mark Recognition (OMR)oImage Scanner & Facsimile (Fax) Machines扫描仪扫描仪oPoint-of-Sale Device (POS)oAutomatic Teller Machine (ATM)oIntelligent Card o Keyboardo Mouseo Joystic

12、ko Penso Scaleso Voice Recognitiono Touch Screen5、输入设计的原则o 最小量原则最小量原则n在保证满足处理要求的前提下在保证满足处理要求的前提下使输入量最小使输入量最小。输入量越小,出错机。输入量越小,出错机会越少,花费时间越少,数据一致性越好会越少,花费时间越少,数据一致性越好o 简单性原则简单性原则n输入的准备、输入过程应尽量容易,以减少错误的发生,并在输入的准备、输入过程应尽量容易,以减少错误的发生,并在适当适当的地方使用代码的地方使用代码(如药品名常用拼音的首字母缩写)(如药品名常用拼音的首字母缩写)o 早检验原则早检验原则n对输入数据的

13、对输入数据的检验检验尽量接近原数据发生点尽量接近原数据发生点, ,使错误能及时得到改正使错误能及时得到改正o 少转换原则少转换原则n采用国际标准,减少转换次数,即输入数据尽量用其处理所需形式采用国际标准,减少转换次数,即输入数据尽量用其处理所需形式记录,以免数据转换时发生错误;直接使用已有的数据,比如采用记录,以免数据转换时发生错误;直接使用已有的数据,比如采用EDI,XMLEDI,XML,数据从一个系统传给另一个系统,不需要再次输入。如图,数据从一个系统传给另一个系统,不需要再次输入。如图书销售书销售输入数据的错误o 没有药可以阻止死亡,也没有规则能防止错误没有药可以阻止死亡,也没有规则能防

14、止错误弗洛伊德弗洛伊德o 不管怎样设计,总是免不了会有错误,可以针对不管怎样设计,总是免不了会有错误,可以针对不同的错误采取一定程度的防范措施。错误有以不同的错误采取一定程度的防范措施。错误有以下几类:下几类:n 数据内容错:这是由于原始单据有错或录入时发生错误数据内容错:这是由于原始单据有错或录入时发生错误n 数据多余或不足:这是收集中的错误,如原始单据丢失数据多余或不足:这是收集中的错误,如原始单据丢失或重复或重复n 数据的延误:由于输入数据迟缓导致处理推迟,不仅影数据的延误:由于输入数据迟缓导致处理推迟,不仅影响业务工作,还可能使输出结果变得无价值响业务工作,还可能使输出结果变得无价值避

15、免错误的输入手段避免错误的输入手段如代码输入不能出错,那么如何避免代码错误:如代码输入不能出错,那么如何避免代码错误:1. 输入技术输入技术(如条码扫描、磁卡、如条码扫描、磁卡、IC卡卡/读卡器读卡器)2. 列表选择输入(用于数据量少的情况)列表选择输入(用于数据量少的情况)n界面中采用下拉表选择,不需要键盘输入,如省市界面中采用下拉表选择,不需要键盘输入,如省市3. 利用数据库中的代码表对照检查(数据量多)利用数据库中的代码表对照检查(数据量多)n代码量很多时,下拉选择不可取,可手工输入,利用代码量很多时,下拉选择不可取,可手工输入,利用数据库中建立的代码对照表进行验证,如果存在则可数据库中

16、建立的代码对照表进行验证,如果存在则可显示详细内容,否则表示输入有误。如学号显示详细内容,否则表示输入有误。如学号4. 代码中设置校验位(上述方法都不适用时)代码中设置校验位(上述方法都不适用时)n代码自身具有一定的验证功能,如身份证号代码自身具有一定的验证功能,如身份证号输入数据的校验方法1.1.重复验证:如由两个或更多操作员录入相同的数据重复验证:如由两个或更多操作员录入相同的数据2.2.视觉验证:如从终端上键入数据,在屏幕上校验之后再送到计算机处视觉验证:如从终端上键入数据,在屏幕上校验之后再送到计算机处理理 3.3.分批汇总校验:分批计算,累计总数验证分批汇总校验:分批计算,累计总数验

17、证. .对部分重要数据进行的对部分重要数据进行的4.4.控制总数校验:对所有数据项的值求和进行校验控制总数校验:对所有数据项的值求和进行校验. .5.5.数据类型校验数据类型校验:按照数据类型进行输入验证:按照数据类型进行输入验证6.6.格式校验:比如合同号编码有固定的格式,可按位检测格式校验:比如合同号编码有固定的格式,可按位检测7.7.逻辑校验逻辑校验:如月份应是,日期应是:如月份应是,日期应是8.8.界限校验:如一次取款为界限校验:如一次取款为200200200020009.9.记录计数校验记录计数校验 :通过记录的个数来检查数据的记录有无遗漏和重复:通过记录的个数来检查数据的记录有无遗

18、漏和重复10.10.平衡校验:如借贷要平衡、报表的小计和总计是否相符平衡校验:如借贷要平衡、报表的小计和总计是否相符11.11.匹配校验:如在主表中验证指定代码是否存在匹配校验:如在主表中验证指定代码是否存在12.12.代码自身校验:代码自身校验:数据校验举例1 信用证开立信用证开立 1页页/4页页申请书编号申请书编号 开证金额开证金额 申请人申请人 帐号帐号 名称名称 开户行行名开户行行名 地址地址 邮编邮编 受益人受益人 帐号帐号 名称名称 开户行行名开户行行名 地址地址 邮编邮编 有效日期有效日期 交单期交单期 有效地点有效地点 提示提示 F 2 = 保 存保 存 F 4 = 保 存 并

19、 退 出保 存 并 退 出 E S C = 放 弃 录 入 退 出放 弃 录 入 退 出 PAGEUP/PAGEDOWN=换页换页使用程序检验合法性使用程序检验合法性限定长度和格式限定长度和格式利用程序读数据库利用程序读数据库检验,同时提取名检验,同时提取名称称/开户行开户行/地址地址/邮编邮编限定当前日期之限定当前日期之后后6个月之内个月之内不能迟于有效期不能迟于有效期数据校验举例2 信用证开立信用证开立 2页页/4页页通知行行号通知行行号 通知行行名通知行行名 付款方式付款方式 议付行行号议付行行号 议付行行名议付行行名 延期付款期限延期付款期限 (运输单据日后天数运输单据日后天数) 货物

20、装运地货物装运地 货物目的地货物目的地 运输方式运输方式 分批装运分批装运 转运转运 最迟装运日期最迟装运日期 货物描述货物描述提示提示 F2=保存保存 F4=保存并退出保存并退出 ESC=放弃录入退出放弃录入退出 PAGEUP/PAGEDOWN=换页换页利用程序读数据库检利用程序读数据库检验,同时提取行名验,同时提取行名3种选其一种选其一小于小于180与受益人开户行一致与受益人开户行一致数据校验举例3借贷合计数应相等借贷合计数应相等10.2 输出设计输出设计o 系统中的数据输出到人、组织、其它系统经理经理顾客顾客信用卡信用卡系统系统报表报表商品查询结果商品查询结果付款信息付款信息输出设计的内

21、容o 确定输出内容:确定输出内容:首先确定用户在使用信息方面的要求,首先确定用户在使用信息方面的要求,包括使用目的、输出速度、频率、数量、安全性要求等包括使用目的、输出速度、频率、数量、安全性要求等等。然后设计输出信息的内容、信息形式(表格、图形、等。然后设计输出信息的内容、信息形式(表格、图形、文字)、数据结构、数据类型、位数及取值范围等等。文字)、数据结构、数据类型、位数及取值范围等等。 o 选择输出设备与介质:选择输出设备与介质:常用的输出设备有显示终端、打常用的输出设备有显示终端、打印机、磁带机、磁盘机、绘图仪、缩微胶卷输出器、多印机、磁带机、磁盘机、绘图仪、缩微胶卷输出器、多媒体设备

22、。输出介质有纸张、磁带、磁盘、缩微胶卷、媒体设备。输出介质有纸张、磁带、磁盘、缩微胶卷、光盘、多媒体介质等等。光盘、多媒体介质等等。o 确定输出格式:确定输出格式:输出文字、报表或图形,清晰直观,满输出文字、报表或图形,清晰直观,满足用户的管理需求和习惯,符合行业标准足用户的管理需求和习惯,符合行业标准什么是高质量的输出设计以下因素确定了输出质量:以下因素确定了输出质量:易存取易存取Accessibility :很容易被使用:很容易被使用及时及时Timeliness适当适当Relevance :有使用价值:有使用价值正确正确Accuracy可用可用Useability :有合适的格式:有合适的

23、格式输出设备输出设备输出介质输出介质输出设备和输出介质oPrinters(打印机)oVideo Display Unit(显示器)oPlotters(绘图仪)oCOM Equipment(串行端口设备)oSpeakers(喇叭)oPaper(纸)oVideo Screen(屏幕)oMicrofilm/Microfiche(胶片)oAir Waves/Sound(声音)oDisk(存储设备)oIC卡或或邮件、手机短信、邮件、手机短信、脉冲、脉冲、传感器传感器输出格式用于信息管理的输出格式:用于信息管理的输出格式:o表格表格n清单(如各种收费单)清单(如各种收费单)n汇总表(月报表)汇总表(月报表

24、)n对照表(年度对照)对照表(年度对照)o图形图形n折线图(就业、考研、出国情况)折线图(就业、考研、出国情况)n柱状图(产品销售业绩)柱状图(产品销售业绩)n饼图(产品区域分布比例)饼图(产品区域分布比例)o文字(比如一些证书、评审报告)文字(比如一些证书、评审报告)n 特点是严谨,不会产生二义性特点是严谨,不会产生二义性信息系统界面(接口)o 信息系统与外界环境之间的输入输出就可以称信息系统与外界环境之间的输入输出就可以称为信息系统的界面。为信息系统的界面。o 根据输入输出操作对象和设备划分为两种:根据输入输出操作对象和设备划分为两种:n 系统界面:系统界面:系统中包含的不需要人员干预的输

25、入和系统中包含的不需要人员干预的输入和输出部分。例如:自动捕获的输入数据(如传感器输出部分。例如:自动捕获的输入数据(如传感器数据)和自动输出的数据(如后台邮件自动发送)。数据)和自动输出的数据(如后台邮件自动发送)。n 人机界面:人机界面:信息系统中信息系统中需要用户交互需要用户交互的输入和输出的输入和输出部分。例如:查询书目、下订单、查看购物车商品部分。例如:查询书目、下订单、查看购物车商品等。等。10.3 人机交互设计人机交互设计o 信息系统是一个信息系统是一个“人人机系统机系统”,大量的输,大量的输入和输出面对的是人,抽取这部分进行人机入和输出面对的是人,抽取这部分进行人机对话设计。对

26、话设计。人机交互的风格o直接操纵:直接操纵:直接模拟现实,比如直接模拟现实,比如电子书软件电子书软件直接使用一本书作为界面,直接使用一本书作为界面,模拟翻页(音乐播放模拟录音机)。容易学习和记忆,避免错误但编程模拟翻页(音乐播放模拟录音机)。容易学习和记忆,避免错误但编程复杂复杂o菜单选择法:菜单选择法:使用菜单列出所有可能的操作供用户选择。使用简单,结使用菜单列出所有可能的操作供用户选择。使用简单,结构化,但可能太多,占用屏幕空间构化,但可能太多,占用屏幕空间o填表法:填表法:将要输人的项目先显示在屏幕上,用户根据项目输入相应的数将要输人的项目先显示在屏幕上,用户根据项目输入相应的数据。这种

27、方法类似填表。屏幕上显示的表格应尽量与操作人员手中的原据。这种方法类似填表。屏幕上显示的表格应尽量与操作人员手中的原始数据记录格式对应。始数据记录格式对应。o回答法回答法:程序运行到一定阶段,屏幕上显示问题,等待用户回答。回答程序运行到一定阶段,屏幕上显示问题,等待用户回答。回答方式也应在屏幕上提示,让用户简单地回答。方式也应在屏幕上提示,让用户简单地回答。 o提问法:提问法:这种方式主要是用户查询。例如要查询某学生的基本情况。屏这种方式主要是用户查询。例如要查询某学生的基本情况。屏幕上提示输入幕上提示输入学号学号,当操作员回答学生的学号后,屏幕上显示该学生,当操作员回答学生的学号后,屏幕上显

28、示该学生的有关情况的有关情况什么是图形用户界面(GUI)o 界面(界面(Interface):系统或对象对外可见的部分):系统或对象对外可见的部分o 图形用户界面图形用户界面/图形用户接口(图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作用户界面。与早期)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。上更易于接受。o 用户界面(用户界面(User Interface):与用户进行交互的可见部分,):与用户进行交互的可

29、见部分,通常以屏幕为输入通常以屏幕为输入/输出介质输出介质n字符字符(character)(character)界面:以字符为单位,界面:以字符为单位,8080列列* *2525行,仅显示字符,所有行,仅显示字符,所有操作通过键盘操作操作通过键盘操作n图形图形(graphic)(graphic)界面:以像素为单位,界面:以像素为单位,600600* *480480、10241024* *768768,能显示任何,能显示任何字符、图形或图像,可以通过键盘、鼠标、光笔、触摸屏进行操作字符、图形或图像,可以通过键盘、鼠标、光笔、触摸屏进行操作要了解图形用户界面的基本元素(控件)及其使用要了解图形用户

30、界面的基本元素(控件)及其使用特点:特点: 下拉菜单下拉菜单 弹出菜单弹出菜单 列表框列表框/ /组合列表框组合列表框 选择钮、复选框选择钮、复选框 文本输入框文本输入框 命令按钮命令按钮 滚动条滚动条 表格表格 图形用户界面元素图形用户界面元素分析几个实例o 用户界面设计案例分析用户界面设计案例分析用户界面设计目标用户界面设计目标可度量的目标:可度量的目标:1.学习时间:学会使用相关功能所需要的时间学习时间:学会使用相关功能所需要的时间2.执行速度:程序完成基本任务需要的时间执行速度:程序完成基本任务需要的时间3.用户的出错率:用户完成基本任务时会犯多少错误,用户的出错率:用户完成基本任务时

31、会犯多少错误,哪些错误哪些错误4.记忆保持能力:使用一段时间后(记忆保持能力:使用一段时间后(1天天/1周等)还能周等)还能记住多少记住多少5.主观满意度:用户的看法,满意度等级主观满意度:用户的看法,满意度等级o 目标之间有矛盾,可能需要折衷考虑(如目标之间有矛盾,可能需要折衷考虑(如执行速度和出错率)执行速度和出错率)图形用户界面设计步骤1. 了解用户的特点(了解用户的特点(岗位职责、学历水平、计岗位职责、学历水平、计算机熟悉程度算机熟悉程度)2. 确定输入和输出的数据内容确定输入和输出的数据内容3. 确定设计目标(确定设计目标(易用性、数据校验要求易用性、数据校验要求)4. 选择适当的界

32、面元素,将设计排列出来选择适当的界面元素,将设计排列出来5. 评价设计结果,可反复修改评价设计结果,可反复修改用户界面设计策略o Ben Shneiderman所著的所著的用户界面用户界面设计设计有效的人机交互策略有效的人机交互策略总结了三总结了三项原则:项原则: 1. 考虑用户的多样性考虑用户的多样性2. 八条黄金设计规则,适用于大多数交互系八条黄金设计规则,适用于大多数交互系统的基本定律统的基本定律3. 预防出错预防出错八条黄金设计规则1. 尽量保持一致(布局、颜色、词汇)尽量保持一致(布局、颜色、词汇)2. 允许熟练用户使用快捷键允许熟练用户使用快捷键3. 提供积极的有价值的反馈提供积极

33、的有价值的反馈4. 设计完整的对话过程,每次对话有明确的结束设计完整的对话过程,每次对话有明确的结束信息(包括窗口的切换)信息(包括窗口的切换)5. 提供预防错误和简单的错误处理手段提供预防错误和简单的错误处理手段6. 允许撤销动作允许撤销动作7. 提供控制的内部轨迹,让用户感觉控制了系统,提供控制的内部轨迹,让用户感觉控制了系统,而不是被控制而不是被控制8. 减轻短期记忆负担减轻短期记忆负担10.4 程序处理过程详细设计o 10.4.1 模块的详细设计模块的详细设计o 10.4.2 类的详细设计类的详细设计o 为什么要进行模块的详细设计?为什么要进行模块的详细设计?n 当当软件结构以模块为单

34、位软件结构以模块为单位时,总体设计定义了时,总体设计定义了模块的调用关系和各模块接口,模块详细设计模块的调用关系和各模块接口,模块详细设计需要对每个模块的内部处理逻辑进行设计。需要对每个模块的内部处理逻辑进行设计。n 当当软件结构以类为单位软件结构以类为单位时,总体设计定义了类时,总体设计定义了类及关系,顺序图描述了类之间的协作,但类的及关系,顺序图描述了类之间的协作,但类的某个方法内部处理逻辑很复杂时,也需要进行某个方法内部处理逻辑很复杂时,也需要进行模块详细设计。模块详细设计。10.4.1 模块详细设计模块详细设计o 区分模块总体设计和模块详细设计区分模块总体设计和模块详细设计o 模块总体

35、设计模块总体设计是将系统分解成许多模块,并决定了每个是将系统分解成许多模块,并决定了每个模块的外部特征(功能和接口),即要确定模块及其相模块的外部特征(功能和接口),即要确定模块及其相互关系(互关系(静态结构静态结构)。)。o 模块详细设计模块详细设计(计算机处理过程)是要确定每一个模块(计算机处理过程)是要确定每一个模块的内部特征,即内部的处理过程的设计,包括局部的数的内部特征,即内部的处理过程的设计,包括局部的数据组织、控制流、每一步的具体加工要求及种种实施细据组织、控制流、每一步的具体加工要求及种种实施细节(节(动态过程动态过程)。)。o 计算机处理过程设计可以采用以下工具表达:计算机处

36、理过程设计可以采用以下工具表达:n 程序流程图(程序框图)程序流程图(程序框图)n 盒图(盒图(NS图)图)n 程序设计语言(程序设计语言(PDL)1、程序流程图、程序流程图o三种结构三种结构(a) (a) 顺序顺序(d) if-then-else(d) if-then-else选择选择(c) Case(c) Case型分支结构型分支结构(b2) Repeat(b2) Repeat UntilUntil型循环结构型循环结构TF(b1) Do While (b1) Do While 型循环结构型循环结构TFCCCCAAAAABBBE2、盒图(NS图,Nassi & Shneiderman)o 在

37、NS图中,每个处理步骤用一个盒子表示。盒子可嵌套。盒子只能从上头进入,从下头走出,除此之外别无其它出入口。第一任务第一任务第二任务第二任务第三任务第三任务(a) (a) 顺序顺序F F 条件条件 T TELSEELSE部分部分THENTHEN部分部分F F 条件条件 T TCASECASE部分部分值值1 1CASECASE部分部分值值2 2. . .CASECASE部分部分值值n n(d) (d) 循环循环(c) (c) 选择选择(b) (b) 条件条件循环条件循环条件DO-WHILEDO-WHILE部分部分循环条件循环条件REPEAT-UNTILREPEAT-UNTIL部分部分程序流程图举例

38、程序流程图举例abx1x2x5x6x3x4x7x8higfedcjFTabx1CASE xii=2,3,4x2fF x6 Tx3x4x5decx8jghx7i等价的盒图3、程序设计语言PDLo Program Design Languageo 是用来描述是用来描述模块内部具体算法模块内部具体算法的非正式的比的非正式的比较灵活的语言。或称较灵活的语言。或称类语言类语言等价的PDL(类Pascal) 执行执行a REPEAT UNTIL 条件条件x8 执行执行b IF条件条件x1 THEN BEGIN 执行执行f IF条件条件x6 THEN REPEAT UNTIL条件条件X7 执行执行i END

39、REP ELSE BEGIN 执行执行g 执行执行h END ENDIF ELSE CASE OF条件条件xi WHEN条件条件x2 SELECT DO WHILE条件条件x5 执行执行C END DO WHEN 条件条件x3 SELECT执行执行d WHEN 条件条件x4 SELECT执行执行e ENDCASE ENDIF ENDREP 执行执行j模块的总体设计与详细设计o 模块总体设计:划分模块、确定模块的接口、模块总体设计:划分模块、确定模块的接口、模块之间的关系模块之间的关系o 模块详细设计:设计模块的具体程序流程模块详细设计:设计模块的具体程序流程对比模块结构图和程序流程图信用证处理

40、信用证处理复复 核核授授 权权联机编押联机编押信息发送信息发送信息接收信息接收更更 正正删删 除除N柜员登录柜员登录该信息是否存在该信息是否存在?柜员合法吗?柜员合法吗?输入要删除信息的类别、编号输入要删除信息的类别、编号提示:该信息不存在,提示:该信息不存在,请重新输入请重新输入后台程序下传该条信息,前台显示各数据项后台程序下传该条信息,前台显示各数据项前台确认删除该信息后,将信息上传后台,后台程前台确认删除该信息后,将信息上传后台,后台程序将数据库中的该条记录删除序将数据库中的该条记录删除结结 束束该信息是否已发该信息是否已发送送?提示:该信息已发送提示:该信息已发送不能删除不能删除结结

41、束束YYYNN10.4.2 类的详细设计类的详细设计o 面向对象设计阶段面向对象设计阶段(OOD)具体内容具体内容包括:包括:n (1) 设计软件体系结构设计软件体系结构,定义系统的高层划分,定义系统的高层划分,确定主要组件及其接口。,确定主要组件及其接口。n (2) 详细设计软件类或接口详细设计软件类或接口。按照架构模式定。按照架构模式定义系统的义系统的边界类边界类、控制类控制类和和实体类实体类,详细设计,详细设计类类的属性和方法的属性和方法,设计程序执行的,设计程序执行的交互图交互图。n (3) 设计数据库接口设计数据库接口,解决面向对象模型到数,解决面向对象模型到数据库模型的过渡。据库模

42、型的过渡。 o 软件类(设计类)是设计阶段中讨论的对象和类。软件类(设计类)是设计阶段中讨论的对象和类。o 用例驱动的设计。用例驱动的设计。o 软件类软件类来源来源:n来源于分析模型中的领域类来源于分析模型中的领域类:它们通常是现实事物或概:它们通常是现实事物或概念的抽象,这些类要转换为软件世界中的类,完成业务念的抽象,这些类要转换为软件世界中的类,完成业务数据操作。数据操作。n计算机操作需要的类:如为了完成用例所描述的功能,计算机操作需要的类:如为了完成用例所描述的功能,需要添加一些窗口界面类。复杂用例可能涉及到多个领需要添加一些窗口界面类。复杂用例可能涉及到多个领域类的域类的协作协作,添加

43、控制类实现部分复杂控制流。访问数,添加控制类实现部分复杂控制流。访问数据库、权限、日志据库、权限、日志n根据分层架构,产生各司其职的类。根据分层架构,产生各司其职的类。Step1:设计软件体系结构设计软件体系结构 根据分层设计软件类根据分层设计软件类o 从分析模型的从分析模型的领域类领域类导出设计阶段中的导出设计阶段中的实体类。实体类。o 增加边界类和控制类增加边界类和控制类完成完成程序的交互和控制程序的交互和控制。1、设计界面类(边界类)、设计界面类(边界类)o 界面类的职责界面类的职责是完成是完成系统与其参与者之间的交互系统与其参与者之间的交互。n接收来自用户和外部系统的信息与请求接收来自

44、用户和外部系统的信息与请求n将信息与请求提交给用户和外部系统将信息与请求提交给用户和外部系统o 通过用例图可以得知每个界面类至少应该与一个参与通过用例图可以得知每个界面类至少应该与一个参与者有关者有关o 界面类包括屏幕窗口、通信接口、打印机接口、传感界面类包括屏幕窗口、通信接口、打印机接口、传感器、终端以及专用器、终端以及专用API(应用程序编程接口)等软件(应用程序编程接口)等软件对象。对象。n对于图书馆系统来说,参与者都是系统用户,因此界面类只有窗口对于图书馆系统来说,参与者都是系统用户,因此界面类只有窗口界面这一种形式。界面这一种形式。n若考虑提供馆际互借业务,则系统就会产生与其它外部合

45、作的图书若考虑提供馆际互借业务,则系统就会产生与其它外部合作的图书馆系统的交互,这时与外部系统间的通信接口也是一种界面类馆系统的交互,这时与外部系统间的通信接口也是一种界面类o 设计每个用例的界面窗口或设计每个用例的界面窗口或WebWeb页面。页面。o 设计窗口和页面的事件响应设计窗口和页面的事件响应建立用户界面原型建立用户界面原型o 用户界面原型是一个草图,根据用例事件流描述用户界面原型是一个草图,根据用例事件流描述进行设计,应包含用例提到的系统和用户进行交进行设计,应包含用例提到的系统和用户进行交互的必要元素互的必要元素o 界面原型不描述太多细节,通常包含以下内容:界面原型不描述太多细节,

46、通常包含以下内容:n 需要由用户需要由用户输入到系统中的数据窗口或表格输入到系统中的数据窗口或表格;n 需要由系统执行的需要由系统执行的操作按钮操作按钮;n 系统应及时做出系统应及时做出回应的事件回应的事件;n 需要由系统需要由系统输出给用户的数据窗口或消息输出给用户的数据窗口或消息。n 需要由系统进行的需要由系统进行的数据校验数据校验。Step2: 设计软件类设计软件类“借书用户界面借书用户界面”通通过过“借书控制类借书控制类”,请求业务逻辑的处理请求业务逻辑的处理(即各实体功能实现)(即各实体功能实现)根据以上设计软件类理论的步骤介绍,我们接着根据以上设计软件类理论的步骤介绍,我们接着系统

47、分析阶段的系统分析阶段的“图书管理系统图书管理系统”的分析结果,的分析结果,继续完善系统设计的步骤。继续完善系统设计的步骤。Step3:设计界面原型设计界面原型 -图书馆系统的借书界面图书馆系统的借书界面“增加增加”按钮按钮对应对应图书馆理员图书馆理员actor给界面类传入给界面类传入第二第二个消息个消息-添加到借添加到借书列表中书列表中“完成完成”按钮按钮对应对应图书馆理员图书馆理员actor给界面类传入给界面类传入第第三个消息三个消息-保存保存借书记录借书记录,修改库修改库存存“查询查询”按钮按钮对应图对应图书馆理员书馆理员actor给界给界面类传入面类传入第一个第一个消息消息-验证合法性

48、验证合法性借书界面设计o 用户借书界面中的数据说明借书界面设计o 界面事件及响应说明数据校验设计o 界面中的所有手工录入的数据根据需求进行界面中的所有手工录入的数据根据需求进行验证。验证。o 数据类型、长度、取值范围、校验方法数据类型、长度、取值范围、校验方法n 如:手工录入馆藏号,如:手工录入馆藏号,1010位数字,录入完后查位数字,录入完后查找数据库验证图书的存在,如果不存在系统应找数据库验证图书的存在,如果不存在系统应提示提示2. 设计控制类设计控制类o 用户界面与业务有关的用户界面与业务有关的事件事件转发给控制类,需转发给控制类,需要设计控制类的响应方法。要设计控制类的响应方法。o 控

49、制类代表协调、排序、事务处理以及对其控制类代表协调、排序、事务处理以及对其它对象的控制,经常它对象的控制,经常用于封装与某个具体用用于封装与某个具体用例有关的控制流例有关的控制流。o 控制类处理和协调主要的动作和控制流,并控制类处理和协调主要的动作和控制流,并将任务委派给其它对象。将任务委派给其它对象。o 根据分层原则,控制类不封装与参与者交互根据分层原则,控制类不封装与参与者交互有关的内容,也不封装与系统处理的长效持有关的内容,也不封装与系统处理的长效持久的信息有关的问题,这些问题分别由边界久的信息有关的问题,这些问题分别由边界类和实体类进行封装。类和实体类进行封装。 3. 设计实体类o 控

50、制类对于数据的存取和计算请求发送给实体控制类对于数据的存取和计算请求发送给实体类类,设计实体类的对应方法。,设计实体类的对应方法。 详细实体类的属性1. 属性类型和初值属性类型和初值属性的类型和默认的初始值应该在设计模型中表示出来。属性的类型和默认的初始值应该在设计模型中表示出来。类型和属性名之间用冒号隔开,等号之后写初值。选择的类型和属性名之间用冒号隔开,等号之后写初值。选择的数据类型最好是目标语言中可用的。数据类型最好是目标语言中可用的。关联属性关联属性2. 属性的可见性属性的可见性类中的每个属性可以有可见性定义,指定该属性可以被其类中的每个属性可以有可见性定义,指定该属性可以被其它类利用

51、的程度,它类利用的程度,UMLUML定义了定义了4 4种属性可见性:种属性可见性:o 公有(公有(publicpublic) “ “+”+”o 受保护(受保护(protectedprotected) “ “#”#”o 私有(私有(privateprivate) “ “-”-”o 包(包(packagepackage) “ “”Step4: 图书馆实体类(有属性)图书馆实体类(有属性)ResourceItem- itemID : String- state : IntegerLoan- lendDate : Date- dueDate : Date- returnDate : DateOverd

52、ue- overDays : Integer- chargeFine : doubleResourceTitle- ISBN : String- titleName : String- author : String- publisher : String- publishDate : Date- price : Double- abstract : String- collectNum : Integer- available : IntegerFineRule- overDueFine : Single- detroyFine : Single- loseFine : SingleRead

53、er- cardNo : String- readerName : String- idCardNo : String- address : String- bookLimitation : Integer- bookCurrLmt : Integer- discLimitation : Integer- discCurrLmt : IntegerBooksize : StringDiscdiscType : Stringquantity : Integer 详细实体类的方法详细实体类的方法-设计用例的实现o 要实现用例规定的功能,需要多个软件类协作要实现用例规定的功能,需要多个软件类协作:n

54、 每个软件类都应承担承担相应职责职责,即类类的行为或操作行为或操作;n 类的行为或操作,就映射为类的方法类的方法;n 类之间的协作在建模时体现为消息传递,即对象a调用对象b的方法f(),意味着对象a向对象b发送了f消息。o 通过对用例实现进行详细设计,可以构造出系统通过对用例实现进行详细设计,可以构造出系统最重要的的最重要的的动态模型:顺序图动态模型:顺序图。o 类的方法类的方法是在这个过程中被识别和分配给类的。是在这个过程中被识别和分配给类的。交互模型的设计内容交互模型的设计内容交互模型的设计内容:交互模型的设计内容:1.1. 对象职责的识别,意味着对象协作过程中消息对象职责的识别,意味着对

55、象协作过程中消息的分发(的分发(P217P217) 2.2. 定义消息的完整格式(定义消息的完整格式(P219P219)3.3. 将消息映射为类的操作,并在实现时转化为类将消息映射为类的操作,并在实现时转化为类的方法的方法详细设计消息详细设计消息o 消息的表达式语法消息的表达式语法nreturn := message (parameter : parameterType):returnTypen 如果类型信息非常明显或不重要的话,可以省略书写如果类型信息非常明显或不重要的话,可以省略书写,如:,如:n reader := getReader(cardID : String)o 消息的序号消息的

56、序号n 消息的次序用自小到大的顺序号来表示。按照消息的消息的次序用自小到大的顺序号来表示。按照消息的完成情况,消息可以有嵌套消息。完成情况,消息可以有嵌套消息。n 嵌套消息的序号按照层次编号,所有嵌套的子消息都嵌套消息的序号按照层次编号,所有嵌套的子消息都是服务于其上层消息。是服务于其上层消息。嵌套消息示例嵌套消息示例 : Loan : ResourceItem : ResourceTitle : FineRule1. amount := getTotalFine()1.1. getTitlePrice1.1.1. getPrice()1.2. getOverDueFine() 计算超期罚金,

57、最高不超过书价计算超期罚金,最高不超过书价Loan对象在计算超期罚金时还需要对象在计算超期罚金时还需要获取资源的价获取资源的价格格和和罚金标准罚金标准,因此向,因此向ResourceItem发送请求发送请求价格的消息,向价格的消息,向FineRule发送超期罚金标准,而发送超期罚金标准,而ResourceItem对象并不记录价格,因此请求价对象并不记录价格,因此请求价格的消息还需要发送给格的消息还需要发送给ResourceTitle对象。对象。 嵌套消息示例代码Loan:getTotalFine() : doubletitlePrice = itemObject.getTitlePrice()

58、;finePerDay = fineObject.getOverDueFine();double fineAmount = finePerDay * (this.returnDate this.dueDate);if (fineAmount titlePrice)return fineAmount ;elsereturn titlePrice;ResourceItem:getTitlePrice() : doublereturn itsTitleObject.getPrice();交互图交互图o 多个对象的行为采用对象交互来表达,多个对象的行为采用对象交互来表达,UML2.0提供的交互图有顺序

59、图、交互概览提供的交互图有顺序图、交互概览图、通信图和计时图。最常用的是顺序图。图、通信图和计时图。最常用的是顺序图。o 交互的类型:交互的类型:n 参与者和系统之间有交互参与者和系统之间有交互n 系统内部元素之间也有交互系统内部元素之间也有交互o 每个用例对外展示了用户和系统的交互,而内每个用例对外展示了用户和系统的交互,而内部实现则需要多个对象交互以完成用例事件流部实现则需要多个对象交互以完成用例事件流规定的各种功能规定的各种功能(P218图图10.46或前页图或前页图)Step5:设计类的方法设计类的方法 第10步 为用例建立顺序图Step6:为用例建立顺序图为用例建立顺序图类详细设计总

60、结类详细设计总结o 详细设计是一个求精的过程,应尽可能将流程中的所有细节都设计出来。o 计算机处理过程的设计通常是采用用例驱动来绘制顺序图。具体步骤如下:n (1) 首先挑中要设计的用例,例如还书用例。查看用例规约并设计出用例的用户界面。n (2) 然后根据功能要求,确定流程中需要使用的类。n (3) 接着开始绘制用例主事件流的顺序图。绘制时先排列好上述步骤明确的类(对象)类,排列次序从左至右依次是参与者、界面层对象、控制层对象、数据访问层对象。通过顺序图的消息(类的方法),完整地展现用例是如何实现的。类的方法已经被识别和定义,这里直接使用。n (4) 最后对扩展事件流的处理过程进行设计。扩展

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论