面向对象分析.pptVIP

  • 2
  • 0
  • 约1.13万字
  • 约 96页
  • 2023-09-05 发布于广东
  • 举报
10.3.6 反复修改 2. “事务”由“更新”组成 一个事务包含对账户的若干次更新,更新指的是对账户所做的一个动作(取款、存款或查询)。“更新”虽然代表一个动作,但是它有自己的属性(类型、金额等),应该独立存在,因此应该把它作为类。 3. 把“分行”与“分行计算机”合并 区分“分行”与“分行计算机”,对于本系统并没有多大意义,为简单起见,应该把它们合并。类似地,合并“总行”和“中央计算机”。 第六十一页,共九十六页,2022年,8月28日 10.3.6 反复修改 取消没有特殊属性的特殊类。 大学生 研究生 研究方向 指导教师 …… 学生 姓名 学号 班级 …… …… 研究生 研究方向 指导教师 …… 学生 姓名 学号 班级 …… …… 第六十二页,共九十六页,2022年,8月28日 10.3.6 反复修改 通过增加属性简化一般-特殊结构。 人员 …… …… 男人 …… …… 女人 …… …… …… …… 美国人 …… …… 日本人 …… …… 人员 性别 国籍 …… …… 中国人 第六十三页,共九十六页,2022年,8月28日 10.3.6 反复修改 两种结构的变通 冷藏车 …… …… 汽车 …… …… 制冷设备 …… …… 冷藏车 …… …… 汽车 …… …… 制冷设备 …… …… 仅用一般 -特殊结构 两种结构 同 用 冷藏车 …… …… 汽车 …… …… …… …… 仅用整体 -部分结构 第六十四页,共九十六页,2022年,8月28日 10.3.6 反复修改 用整体-部分结构实现复用 车床 …… …… 机床 …… …… 刨床 …… …… 起重机 …… …… 电动机 …… …… 钻床 …… …… 送料车 …… …… 第六十五页,共九十六页,2022年,8月28日 10.4 建立动态模型 第一步,编写典型交互行为的脚本。虽然脚本中不可能包括每个偶然事件,但是,至少必须保证不遗漏常见的交互行为。 第二步,从脚本中提取出事件。确定触发每个事件的动作对象以及接受事件的目标对象。 第三步,排列事件发生的次序。确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。 最后,比较各个对象的状态图。检查它们之间的一致性,确保事件之间的匹配。 第六十六页,共九十六页,2022年,8月28日 10.4.1 编写脚本 所谓“脚本”,原意是指“表演戏曲、话剧,拍摄电影、电视剧等所依据的本子,里面记载台词、故事情节等”。 在建立动态模型的过程中,脚本是指系统在某一执行期间内出现的一系列事件。 脚本描述用户与目标系统之间的一个或多个典型的交互过程,以便对目标系统的行为有更具体的认识。编写脚本有助于确保整个交互过程的正确性的和清晰性。 第六十七页,共九十六页,2022年,8月28日 10.4.1 编写脚本 编写脚本时,首先编写正常情况的脚本。然后,考虑特殊情况,例如输入或输出的数据为最大值(或最小值)。最后,考虑出错情况。 例如,输入的值为非法值或响应失败。对大多数交互式系统来说,出错处理都是最难实现的部分。如果可能,应该允许用户“异常中止”一个操作或“取消”一个操作。此外,还应该提供诸如“帮助”和状态查询之类的在基本交互行为之上的“通用”交互行为。 第六十八页,共九十六页,2022年,8月28日 10.3.1 确定类与对象 (4) 属性 在需求陈述中有些名词实际上描述的是其他对象的属性。 在ATM系统的例子中,“现金”、“支票”、“取款额”、“账单”、“余额”、“分行代码”、“卡号”、“密码”、“类型”等,实际上都应该作为属性对待。 第二十九页,共九十六页,2022年,8月28日 10.3.1 确定类与对象 (5) 操作 在需求陈述中有时可能使用一些既可作为名词,又可作为动词的词。 例如,谈到电话时通常把“拨号”当作动词,当构造电话模型时确实应该把它作为一个操作,而不是一个类。但是,在开发电话的自动记账系统时,“拨号”需要有自己的属性(例如日期、时间、受话地点等),因此应该把它作为一个类。 第三十页,共九十六页,2022年,8月28日 10.3.1 确定类与对象 (6) 实现 在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该去掉和实现有关的候选的类与对象。 在ATM系统的例子中,“事务日志”无非是对一系列事务的记录,它的确切表示方式是面向对象设计的议题;“通信链路”在逻辑上是一种联系,在系统实现时它是关联类的物理实现。总之,应该暂时去掉 “事务日志”和“通信链路”这两个类,在设计或实现时再考虑它们。 第三十一页,共九十六页,2022年,8月28日 10.3.1 确定类与对象 综上所述,在ATM系统的例子中,经过初步筛选,剩下下列类与对象:ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储

文档评论(0)

1亿VIP精品文档

相关文档