- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象分析_图文-课件(PPT-精)
* 2. 细化数据流图 首先,把基本系统模型中的处理框逐步分解,得到描述系统加工和变换数据的基本功能的若干个处理框,然后,构成功能级数据流图。ATM系统的功能级数据流图如图9.12所示。 * 图9.12 ATM系统的功能级数据流图 * 3. 功能描述 当数据流图分解到一定程度后,就应该对图中各个处理进行描述。描述功能可用自然语言、流程图、IPO图(或表)和伪码等工具,描述可用说明性的或过程性的。说明性描述着重描述处理所代表的功能;过程性描述着重描述实现处理功能的算法。 例如,“更新账户”处理的功能描述如下: * 更新账户处理 输入:账户,数量,事务类型;输出:现金,收据,信息 IF 取款数目超过账户当前余额 THEN 退出事务,不付出现金; IF 取款数目不超过账户当前余额 THEN 记账并付出储户要求的现金; IF 事务是存款 THEN 建立账户并无现金付出; IF 事务是状态请求 THEN 无现金付出; 在上述任何情况下,显示账单内容为:ATM编号、日期、时间、账户编号、事务类型、事务数量(若有)以及新的余额。 * 10.5 定 义 服 务 1. 访问对象属性的操作 在对象模型中,对类中定义的每个属性都是可以访问的,应该提供访问这些属性的服务。因此,需要定义访问这些属性的读、写操作。这些操作在对象模型中没有显式表示出来,但隐含在属性内。 * 2. 来自事件驱动的操作 发往对象的事件驱动修改对象状态(即属性值),对象被驱动后的行为可定义成为一个操作,并通过执行该操作提供相应的服务。也就是说,当对象接收到事件后,在事件驱动下完成相应的服务。例如,在ATM系统中,发往分行的事件“请分行验卡”驱动该对象的服务“验证卡号”;而事件“处理分行事务”驱动分行对象的服务“更新账户”。 * 3. 处理对应的操作 数据流图中的每个处理都对应于一个对象(也可能是若干个对象)上的操作。可将完成每个处理的功能定义成为相应的操作。例如,在ATM系统中,数据流图上的处理“验证密码”就可以定义成为一个“验证密码”操作,该分行对象通过执行这个操作提供“验证密码”服务。 4. 消除冗余操作 利用继承机制减少服务定义。将相似类(子类)中共享的属性和操作,最好定义在父类中,可利用继承关系消除冗余的定义,共享的属性和操作,简化实现。 * 2. 如何确定主题 是否划分主题要看目标系统的大小,若开发很小的系统,则没必要划分主题;若开发大型、复杂的系统,则为了降低复杂程度,应将系统再进一步划分成几个不同的主题,使得开发者便于分组承担任务,小组成员能集中精力考虑承担范畴内的内容。 对于含有较多对象的系统,应采用选择、精炼和构造的方法来确定主题。 1)首先,由高级分析员粗略地识别对象和关联,然后初步选择主题。 2)经进一步分析,在更深入了解系统结构的基础上,修改和精炼主题。 3)最后,按问题领域构造出一个主题(主题编号和主题名)。 * 按问题领域确定主题,应该将相互间依赖和交互较多的对象确定为同一个主题。我们确定“总行”、“分行”和“ATM”等为ATM系统中的三个主题,用①、②和③分别表示这三个主题的编号,如图9.4所示。 该例不是很复杂,可以不引入主题层,在这里主要是为了说明如何确定主题。为了使图简单、清晰,在下面的章节中讨论这个例子时将忽略主题层。 * 1. 为何识别结构 确定了类的属性后,就可以利用继承来共享公共的性质,以结构的形式重新组织类。 结构是问题域复杂关系的表示,它与系统的任务直接相关。 一般 - 特殊结构具有继承性,一般类和对象的属性和方法一旦被识别,即可在特殊类和对象中使用。 10.2.5 识别结构 * 2. 如何识别结构 通常,可用以下两种方法来建立继承(分类)关系。 1) 自底向上识别 自底向上识别是抽象出现有类的共同性质来一般化成父类,找出具有相似的属性、操作和关联的类来发现继承。例如,在ATM系统中,“远程事务”和“营业事务”可以一般化为“事务”(父类)。也可以将“ATM”和“营业终端”一般化为“输入站”(父类)。 * 2) 自顶向下识别 自顶向下识别是把现有的类细化为更具体的子类,通常,具体化的子类可以在应用领域中直接找出来。在类层次结构中,特殊类共有的属性应放在父类中。特殊类中应定义自己独有的属性,当然它可以继承父类的属性。加入继承的ATM对象模型如图9.5所示。 * 图9.5 带有属性和继承的ATM对象模型 * 通过以上各步,对象模型就建立起来了,但这样不能确保模型是完全正确的,还应反复修改,不断
文档评论(0)