版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 面向对象分析(Object-Oriented Analysis),1. 基本过程:,Requirement statement Rapid prototype Models,其中model 有三个: Object model:最重要,开发任何系统都需要; Dynamic model:对于开发交互式系统(interactive system)很重要; Function model:对于开发大运算量问题(如科学计算、编译系统等)很重要。,1. 基本过程,Object model 由五个层次组成(Coad&Yourdon, 1991),相当于把五张透明胶片(transparencies)叠在
2、一起,每一层显示更多的细节。,2.需求陈述,第三章中已介绍过,需求陈述的内容包括: 问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明What 而不是 How。,例:教材p.209 - 210,对Automated Teller Machine (ATM) 的需求陈述。,3.建立 Object Model,1、确定Class-&-Object:,第1步:列出所有候选对象(candidates),它们可能是 物理实体 人或组织 要处理的事件 对象间的活动 抽象概念 等等,非正式分析:从需求陈述中挑出 名词 Class-&-Object 形容词 Attribute 动词
3、Method,3.建立 Object Model,第2步:去粗取精,例:从ATM需求分析中提出的名词集合,银行、ATM、系统、中央计算机、分行计算机、 柜员终端、网络、总行、分行、软件、成本、市、 街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、账单、访问,筛选时依下列标准删除:,、通信链路、事务日志, 冗余, 无关, 笼统, 属性, 操作 既可为名词又可为动词的词,应慎重考虑。, 实现,3.建立 Object Model,2、确定关联 结构层,第1步:收集 , 需求陈述中涉及objets的动词短语:, 需
4、求陈述中隐含的关联 总行由各个分行组成 系统维护事务日志 分行保管账户 系统提供必要的安全性 总行拥有中央计算机 储户拥有现金兑换卡,3.建立 Object Model, 根据问题域知识得出的关联 现金兑换卡访问账户 分行雇用柜员,第2步:筛选删除 ,3.建立 Object Model, 与已删去的object 有关的关联, 与问题无关的或应在实现阶段考虑的关联,3.建立 Object Model,瞬时事件:注意关联描述静态结构,3.建立 Object Model,三元关联:分解为二元关联或限定关联 柜员输入针对账户的事务 = 柜员输入事务 + 事务修改账户 分行计算机处理针对账户的事务 =
5、分行计算机处理事务 + 事务修改账户 ATM与中央计算机交换关于事务的信息 = ATM与中央计算机通信 + 在ATM上输入事务,注:识别链属性 某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如“公司付给员工工资”可分解为“公司雇用员工”,附链属性“工资”。,3.建立 Object Model,派生关联:即可用其它关联定义的冗余关联,3.建立 Object Model,第3步:完善, 正名:分行提供分行计算机和柜员终端 = 分行拥有分行计算机 + 分行拥有柜员终端, 分解:适当分解前面确定的class-&-objects ,使其适用于不同的关联 事务 = 远程事务 + 柜员事务,补
6、充 柜员输入柜员事务 在ATM上输入远程事务 柜员事务输进柜员终端 远程事务由现金兑换卡授权,标明阶数(可能经常变动,不要花太多时间),3.建立 Object Model,3、划分主题注意:按问题域而不是按功能分解 主题间的依赖和交互尽可能少,1. 总 行 2. 分 行 3. ATM,3.建立 Object Model,4、确立属性,注意: Attribute 不表示 objects 之间的关系,只表示其本质性质,不要与链属性、限定词混淆。 暂不考虑纯用于实现的 attributes(即单纯的内部状态)。 需求陈述中与已确定的 objects 有关的名词、形容词可能是选择的线索。,5、识别继承
7、关系及其它修改 Bottom-up:将具有相同属性的classes向上归纳出父类。 Top-down: 将现有classes向下细化出子类(但分析阶段避免过度细化).,3.建立 Object Model, 若某class中具有几个独立的功能,则考虑分为几个classes。 对于某class中具有自己特有属性的部分,可考虑将之列为独立存在的class,且是原有class的组成。 合并无须分别考虑的若干classes。,归 纳,组 成,分 解,合 并,3. 建立 Object Model,4. 建立 Dynamic Model,1、编写脚本 (scenarios),描述event 序列: Even
8、t = Activator + Receiver +Parameters,基本类型: 正常情况脚本; 特殊情况脚本(输入输出取边界值时); 异常情况脚本(应允许用户异常中止或取消一个操作),4. 建立 Dynamic Model,例:ATM系统的正常、异常情况脚本(p.222 - 223),4. 建立 Dynamic Model,3、画事件跟踪图(event tracing diagram),4. 建立 Dynamic Model,每个脚本对应一张图,2、设想用户界面(user interface) rapid prototype.,4. 建立 Dynamic Model,例:ATM系统的正常
9、情况脚本的ETD,4、画状态图(event flow diagram),4. 建立 Dynamic Model,每个具有交互行为的 class-&-object 对应一张图。,4. 建立 Dynamic Model,例:ATM类的的EFD,注:一个event 若缺少activator 或 receiver,而对应 status 又不是在起点终点,则发生错误。 画状态图时应考虑所有的事件跟踪图脚本,包括异常处理。,4. 建立 Dynamic Model,5. 建立 Function Model,DFD + IPO + Pseudocode 必要时对功能进行文字描述(参考教材P.229 表 10.
10、3)。,6. 定义服务,1、状态图(EFD)中的do: action 对应 method。,2、DFD中的process 对应 method。,例,注: 常规行为(读写内部属性)不在图中显示; 每个method对应一段源程序代码,故应尽量利用inheritance抽象出父类,共享methods。,Project“面向对象分析报告”分组演讲, 演讲题目: 储蓄系统 (P.36 #2) 机票预订系统 (P.36 # 3) 患者监护系统 (P.36 # 4) 房产管理系统 (P.37 # 5) 选票统计系统 (P.77 # 7) 自动售货机系统 (P.231 # 4) (7) 采购定货系统 (P.25 例2.4.2) (8) 家庭娱乐中心 (P.77 # 6),Project, 演讲内容 通过5层示意图介绍系统 正常情况脚本的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林电子信息职业技术学院单招职业技能测试题库带答案详解(典型题)
- 2026年四川司法警官职业学院单招职业技能考试题库带答案详解(基础题)
- 大数据分析流程实战演练
- 内科护理学护理职业心理调适课件
- 养老护理员心理健康与自我调适
- 山东省2026年春季高考技能测试电子技术类专业模拟试题及答案解析
- 中耳炎的康复家庭环境改造
- 相关方安全培训管理策略
- 脑血管陈爽 课件
- 危重患者护理质量控制
- 监控员考试试题及答案
- 古代诗人名人孟浩然人物介绍课件
- 陕西省西安市高陵区2024-2025学年七年级下学期开学收心检测英语试卷(含答案无听力原文及音频)
- 港澳车牌买卖协议书
- 金融行业员工自我剖析材料
- 江西省抚州市2024-2025学年高二上学期学生学业质量监测数学试题2
- 《事件信息分类编码规范》
- 2024-2025学年二年级下学期数学总复习《三位数加减法》(教案)
- 花城版三年级下册音乐教学计划
- 2024至2030年中国饲料级胍基乙酸行业现状调查及前景策略分析报告
- 工业机器人系统运维员(中级)课件全套 宋永昌 项目1-3 机械系统检查与诊断-工业机器人运行维护与保养
评论
0/150
提交评论