- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ◆通常在建立了对象模型和动态模型之后再建立功 能模型。 ◆功能模型表明了系统中数据之间的依赖关系,以 及有关的数据处理功能, ◆它由一组数据流图组成。其中的处理功能可以用 IPO图(或表)、伪码等多种方式进一步描述。 10.5 建立功能模型 图10.12 ATM系统的基本系统模型 10.5.1 画出基本系统模型图 10.5.2 画出功能级数据流图 图10.13 ATM系统的功能级数据流图 ★ 应该注意的是,要着重描述每个处理框所代表的 功能,而不是实现功能的具体算法。 ★ 描述既可以是说明性的,也可以是过程性的。 ★ 说明性描述规定了输入值和输出值之间的关系, 以及输出值应遵循的规律。 过程性描述则通过算法说明“做什么”。 一般说来,说明性描述优于过程性描述, 因为这类描述中通常不会隐含具体实现方面的 考虑。 ★ 例:表10.3 “更新账户”这个处理功能的描述。 10.5.3 描述处理框功能 1) “对象”是由描述其属性的数据,及可以对这些 数据施加的操作(即服务),封装在一起构成的独 立单元。 2) 因此,为建立完整的对象模型,既要确定类中应 该定义的属性,又要确定类中应该定义的服务。 3) 在确定类中应有的服务时,既要考虑该类实体 的常规行为,又要考虑在本系统中特殊需要的 服务。 10.6 定义服务 1. 常规行为 ◆ 在分析阶段可以认为,类中定义的每个属性都是 可以访问的,也就是说,假设在每个类中都定义 了读、写该类每个属性的操作。 ◆ 但是,通常无需在类图中显式表示这些常规操作 2. 从事件导出的操作 ◆ 状态图中发往对象的事件,也就是该对象接收到 的消息,因此该对象必须有由消息选择符指定的 操作,这个操作修改对象状态(即属性值)并启动 相应的服务。 ★ 例如:在ATM系统中,发行分行的事件“请分行 验卡”启动该对象的服务“验证卡号”。 3. 与数据流图中处理框对应的操作 ◆数据流图中的每个处理框都与一个对象(也可能是 若干个对象)上的操作相对应。应该仔细对照状态 图和数据流图,以便更正确地确定对象应该提供 的服务。 ★例如,在ATM系统中,从状态图上看出分行对象 应该提供“验证卡号”服务,而在数据流图上与之 对应的处理框是“验卡”,根据实际应该完成的功 能看,该对象提供的这个服务应该是“验卡”。 4. 利用继承减少冗余操作 ◆应该尽量利用继承机制以减少所需定义的服务数目 * * * * * * * * * * * * * * * * * * * * * * * * * 2. 筛选 (1) 已删去的类之间的关联 例如:以ATM系统为例,由于已经删去了“系统”、 “网络”、“市”、“街道”、“成本”、“软件”、 “事务日志”、“现金”、“营业厅”、“储蓄所”、 “账单”等候选类,因此,与这些类有关的下 列8个关联也应该删去: ① ATM、中央计算机、分行计算机及柜员终端组 成网络。 ② ATM设在主要街道上。 ③ 分行分摊软件开发成本。 ④ 系统提供必要的安全性。 ⑤ 系统维护事务日志。 ⑥ ATM吐出现金。 ⑦ ATM打印账单。 ⑧ 柜员终端设在分行营业厅及储蓄所内。 (2) 与问题无关的或应在实现阶段考虑的关联 例如:在ATM系统中,“系统处理并发的访问” 并没有标明对象之间的新关联,它只不 过提醒我们在实现阶段需要使用实现并 发访问的算法,以处理并发事务。 (3) 瞬时事件 关联应该描述问题域的静态结构,而不应该是一个 瞬时事件。 例如:在ATM系统中,“ATM读现金兑换卡”描述 了ATM与用户交互周期中的一个动作,它 并不是ATM与现金兑换卡之间的固有关系, 因此应该删去。类似地,还应该删去“ATM 与用户交互”这个候选的关联。 (4) 三元关联 三个或三个以上对象之间的关联,大多可以分解 为二元关联或用词组描述成限定的关联。 例如:在ATM系统中,“柜员输
文档评论(0)