软件工程及实践[窦万峰]第5章 软件详细设计.pptVIP

软件工程及实践[窦万峰]第5章 软件详细设计.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AccountService部分精化后的取款顺序图如图5-40所示。 5.6.1 编码语言 根据编码语言的发展历程,编码语言基本上可以分为低级语言和高级语言两大类。 低级语言包括机器语言和汇编语言,这两种语言都依赖于相应的计算机硬件。机器语言属于第一代语言,汇编语言属于第二代语言。 1.源程序文档化 源程序文档化包括选择标识符名称,对源程序适当地注释,使源程序具有良好的视觉组织等。 2.数据说明 (1)数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。 (2)一个语句说明多个变量时,各变量按字典顺序排列。 (3)对于复杂的数据结构要加注释,说明在程序实现时的特点。 3.语句构造 (1)避免使用复杂的条件测试。 (2)排除测试条件“非”。 (3)避免大量的循环嵌套和条件嵌套。 (4)使用括号清晰地表达逻辑表达式和算术表达式。 (5)利用加空或易读的符号清晰地表示语句的内容。 (6)只使用ANSL(American National Standard Label)标准特性。 (7)换位自问:“如果我不是编程人员,我能看懂它吗?”。 4.输入/输出风格 输入/输出的方式和格式应当尽量做到对用户友好,尽可能方便用户的使用。 5.效率 效率是指处理机时间和存储空间的使用,选择良好的设计方法是提高程序效率的根本途径。 6.主界面 【案例5.6】 POS机系统详细设计 POS机系统主界面的作用是输入要购买的商品和数量,并实时显示商品的名称、数量、单价、金额,以及总价和折扣等,如图5-41所示。 7.主要设计类代码 下面给出几个主要类的Java语言实现代码。 (1)Sale类的实现代码。 (2)SalesLineItem类的实现代码。 (3)Payment类的实现代码如下: public class Payment { Money amount; public Payment(Money cashTendered) { amount = cashTendered; } public Money getAmount() { return amount; } } (4)Register类的实现代码。 5.实施阶段 (1)建立实际数据库结构。 (2)装入试验数据对应用程序进行调试,试验数据可以是实际数据,也可由手工,或随机数发生器生成。 (3)装入实际数据,进入试运行状态。 6.数据库运行与维护 (1)维护数据库的安全性与完整性 (2)监测并改善数据库运行性能 (3)根据用户要求对数据库现有功能进行扩充。 (4)及时改正运行中发现的系统错误。 5.5.1 设计模型精化 1.泛化关系 泛化是在多个概念中识别共性,以及定义超类(普遍概念)与子类(具体概念)关系的活动,此活动对概念类进行层次分类。例如,在POS机系统中的CashPayment,CreditPayment 和ChequePayment的概念很相似,这时就可以将它们组织成泛化-特化层次结构,如图5-12所示。 通过以上原则对POS机系统的Payment类进行划分,结果如图5-13所示。 2.关联类 可以使用一个关联类ServiceContract用于拥有属性merchantID,如图5-14所示。Store和AuthorizationService类都与ServiceContract相关联,这就表示ServiceContract类依赖于两者之间的关系,可以将merchantID看做是与Store类和AuthorizationService类之间的关联所相关的属性。 3.聚合关系和组合关系 在POS机系统中,SalesLineItems可以被视为Sale的组成部分;同样ProductCatalog是ProductDescriptions的一个组成,如图5-15所示。 4.时间间隔 例如,POS机系统在初始设计时,SalesLineItems与ProductDescriptions关联,记录了销售项的价格。在精化过程中,需要关注与信息和合同等相关的时间间隔问题。 可以采用两种方法解决此问题,一是可以在ProductDescriptions中保存当前价格,仅将销售发生时的价格写入SalesLineItem;二是将一组ProductPrices与ProductDescriptions关联,每个ProductPrices关联适用的时间间隔。这样就可以记录所有的历史价格和未来计划的价格,如图5-16所示。 5.使用包 例如,在POS机系统领域模型中包的结构如图5-18所示。 Products包如图5-18所示。 1.层次模型 依赖线可以由一个包发出,如在POS机系统中从Sale包指向POSRuleEng

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档