软件工程导论10.ppt
文本预览下载声明
WHPU 主讲教师: 丁月华 Email:ding_mickey@ 10 面向对象分析 内容 10.1 面向对象分析的基本过程 10.2 需求陈述 10.3 建立对象模型 10.4 建立动态模型 10.5 建立功能模型 10.1 面向对象分析的基本过程 Requirement statement ? Rapid prototype ? Models 3个模型 Object model:最重要,开发任何系统都需要; Dynamic model:对于开发交互式系统(interactive system)很重要; Function model:对于开发大运算量问题(如科学计算、编译系统等)很重要 5个层次 10.1 面向对象分析的基本过程 Class--Object Category Structure 1+ 1+ Method Attribute 10.2 需求陈述 第三章中已介绍过,需求陈述的内容包括: 问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明What 而不是 How。 见教材对Automated Teller Machine (ATM) 的需求陈述。 10.3 建立对象模型 确定Class--Object 确定关联 ? 结构层 完善 确立属性 识别继承关系及其它修改 10.3 建立对象模型 确定Class--Object 第1步:列出所有候选对象(candidates),它们可能是 ? 物理实体 ? 人或组织 ? 要处理的事件 ? 对象间的活动 ? 抽象概念 等等;非正式分析:从需求陈述中挑出 名词 ? Class--Object 形容词 ? Attribute 动词 ? Method 10.3 建立对象模型 第2步:去粗取精 银行、ATM、系统、中央计算机、分行计算机、 柜员终端、网络、总行、分行、软件、成本、市、 街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、账单、访问 筛选时依下列标准删除: 、通信链路、事务日志 ? 冗余 ? 无关 ? 笼统 ? 属性 ? 操作 既可为名词又可为动词的词,应慎重考虑。 ? 实现 10.2 需求陈述 2、确定关联 ? 结构层 第1步:收集 ① 需求陈述中涉及objets的动词短语: ? 分行计算机维护账户 ? 柜员终端与分行计算机通信 ? 柜员输入针对账户的事务 ? ATM与中央计算机交换关于事务的信息 ? 中央计算机确定事务与分行的对应关系 ? ATM读现金兑换卡 ? ATM与用户交互 ? ATM吐出现金 ? ATM打印账单 ? 系统处理并发的访问 ? ATM、中央计算机、分行计算机及柜员终端组成网络 ? 总行拥有多台ATM ? ATM设在主要街道上 ? 分行提供分行计算机和柜员终端 ? 柜员终端设在分行营业厅及储蓄所内 ? 分行分摊软件开发成本 ? 储户拥有账户 ? 分行计算机处理针对账户的事务 10.3 建立对象模型 2、确定关联 ? 结构层 第1步:收集 ② 需求陈述中隐含的关联 ? 总行由各个分行组成 ? 系统维护事务日志 ? 分行保管账户 ? 系统提供必要的安全性 ? 总行拥有中央计算机 ? 储户拥有现金兑换卡 ③ 根据问题域知识得出的关联 ? 现金兑换卡访问账户 ? 分行雇用柜员 10.3 建立对象模型 第2步:筛选删除 ① 与已删去的object 有关的关联 ② 与问题无关的或应在实现阶段考虑的关联 ? ATM、中央计算机、分行计算机及柜员终端组成网络 ? 总行拥有多台ATM ? ATM设在主要街道上 ? 分行提供分行计算机和柜员终端 ? 柜员终端设在分行营业厅及储蓄所内 ? 分行分摊软件开发成本 ? 储户拥有账户 ? 总行由各个分行组成 ? 分行计算机处理针对账户的事务 ? 分行计算机维护账户 ? 柜员终端与分行计算机通信 ? 柜员输入针对账户的事务 ? ATM与中央计算机交换关于事务的信息 ? 中央计算机确定事务与分行的对应关系 ? ATM读现金兑换卡 ? ATM与用户交互 ? ATM吐出现金 ? ATM打印账单 ? 系统处理并发的访问 ? 现金兑换卡访问账户 ? 系统维护事务日志 ? 分行保管账户 ? 系统提供必要的安全性 ? 总行拥有中央计算机 ? 储户拥有现金兑换卡 ? 分行雇用柜员
显示全部