网站大量收购独家精品文档,联系QQ:2885784924

第13章—设计子系统.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章—设计子系统

主要内容 13.1 引言 13.2 把分析的类模型映射为设计的类模型 13.3 使用关系数据库实现存储 13.4 最终确定用户界面 13.5 设计业务服务 13.6 使用模式、框架和库 13.1 引言 1、设计业务层 必须把分析阶段开发的、面向业务的类模型转换为适合于所选的编程语言、面向实现的类。 2、子系统设计的步骤 ①把分析类模型作为指导,设计业务层的类和字段。业务层包含问题域中的实体和它们需要的各种支持类。 ②确定持久数据如何存储,设计存储布局。 ③引用分析阶段生成的草案,最终确定用户界面的外观和操作方式。 ④参考用户界面设计,遍历系统用例,注意中间层必须支持的业务服务。业务服务是客户机内发送给服务器的问题和命令,例如“购买一本书”或“预约汽车型号”。 ⑤把业务服务传送给服务器对象,其消息可通过网络获得。服务器对象使用业务层,以各种客户机认可的方式实现业务服务。 ⑥最终确定必要的措施,以确保并发控制和线程安全。 13.2 把分析的类模型映射为设计的类模型 1、映射操作 ①允许客户机对象读取或修改字段值。 ②允许客户机对象访问派生的数据(例如消息除了可以读取圆的半径之外,还可以读取直径)。 ③经验和直觉告诉我们某个消息是有用的。 ④要使用的某个框架或模式需要某些消息。 2、变量类型 ①在每个面向对象的编程语言中都有的原型类型和简单类。 ②自己设计的类。 ③选择使用的模式和框架中的类。 3、字段的可见性 4、访问器 读取器(getter)和设置器(setter) Private int count; Public int getCount() { return count; } Public void setCount(int c) { count = c; } (1)下划线的用法 (2)在映射到设计图时,解决了三个主要问题:要实现的类、属性的类型和如何映射复合。 6、映射其他类型的关联 (1)从分析阶段继承下来的大多数关联,以及专门为设计阶段添加的新关联,最终都映射为对象的字段。 (2)关联的实现可取决于每一端的多重性。 iCoot的设计类 13.3 使用关系数据库实现存储 1、把对象模型映射为关系模型 使用分析模型来设计表,再根据设计图确定类型。 原因:分析图更接近于关系模型,它没有显示关联的方向;而设计图指出了字段的类型。 2、映射实体类 (1)引入一个与实体类同名的表; (2)对于每个简单的字段,都在表中添加一个与字段同名的列和一个对应的SQL数据类型; (3)为了便于进行面向对象的编程,引入一个整型属性(如ID)作为主键。 3、映射关联 (1)一对一关联:可以给一个实体表添加外键。 对于可选关联的特殊情况(多重性是1和0..1),可以给可选的一端添加外键。 另一种方法:把两个表合并为一个表。(为了便于维护,只有一个表不能独立表示一个实体时,才应合并表。) (2)一对多关联:在“多表”中添加外键 (3)多对多关联:需要使用链表 (4)关联类:映射为链表 有属性列、两个外键以及ID列。 (5)映射对象状态 引入一个列来表示对象的状态,把它的类型设置为VARCHAR或INTEGER。 另一种方法:给每个状态引入一个新表,使用外键表示对象的状态。 在存储状态时,有时必须处理状态属性——在业务对象处于特定状态下时与该业务对象相关的数据。 一个例子:当某个预约处于等待状态时,需要知道该预约上次的更新时间(因为在等待一个星期之后,该预约就需要更新了)。 (6)映射继承 为每个类引入一个表,其中的列对应于类添加的属性。 第二种方法:把所有的属性放在一个表中。 13.4 最终确定用户界面 1、确定用户界面的基础 ①用户界面草图。这些有助于在用户的帮助下,在需求捕捉阶段生成系统用例。 ②通信图中的边界对象。在动态分析阶段,使用通信图显示用例的实现过程;在这些图中,每个参与者都通过边界对象与系统交互。 2、设计的目标 必须提取粗糙的边界对象,粗略的用户界面草图和准确的用例,把它们转换为可以直接实现的用户界面描述。 3、用户界面设计的基本原则 ①以用例为指导 用例应用于给用户界面建立结构;应组合相关的用例,在用户界面的结构中反映出来;还应避免把单个用例或一组相关的用例分隔为多个界面。 ②简单 ③使用选项卡 ④使用向导 ⑤避免使用多个窗口 13.5 设计业务服务 1、业务服务是中间层供其客户使用的查询和命令。 例如,对于iCoot可以派生出如下的业务服务: ①从目录中读取索引标

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档