第十部分面向对象分析ObjectOrientedAnalysis

上传人:ni****g 文档编号:569556544 上传时间:2024-07-30 格式:PPT 页数:28 大小:282.50KB
返回 下载 相关 举报
第十部分面向对象分析ObjectOrientedAnalysis_第1页
第1页 / 共28页
第十部分面向对象分析ObjectOrientedAnalysis_第2页
第2页 / 共28页
第十部分面向对象分析ObjectOrientedAnalysis_第3页
第3页 / 共28页
第十部分面向对象分析ObjectOrientedAnalysis_第4页
第4页 / 共28页
第十部分面向对象分析ObjectOrientedAnalysis_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第十部分面向对象分析ObjectOrientedAnalysis》由会员分享,可在线阅读,更多相关《第十部分面向对象分析ObjectOrientedAnalysis(28页珍藏版)》请在金锄头文库上搜索。

1、第十章第十章 面向对象分析面向对象分析(Object-Oriented Analysis)1. 基本过程:基本过程:Requirement statement Rapid prototype Models 其中其中model 有三个:有三个: Object model:最重要,开发任何系:最重要,开发任何系统都需要;统都需要; Dynamic model:对于开发交互式系:对于开发交互式系统统(interactive system)很重要;很重要; Function model:对于开发大运算量:对于开发大运算量问题(如科学计算、问题(如科学计算、编译系统等)很重要。编译系统等)很重要。槽凭诀

2、溪驼罚粒匝纠峙匝寂臼烦嚎晚馏工难秋侵孩明肛写室谋栽急嘱唾讶第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysisCategoryClass-&-ObjectStructure1+1+AttributeMethod1. 基本过程基本过程Object model 由由五个层次组成五个层次组成(Coad&Yourdon, 1991),相当于把相当于把五张透明胶片五张透明胶片(transparencies)叠在一起,每叠在一起,每一层显示更多一层显示更多的细节的细节。心钦象帮苇狭辜运缸骏实还肘塘七楚婉帆睫轩割闻孔饥盒税鸽呜尘醛掇

3、憨第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis2.需求陈述需求陈述第三章中已介绍过,需求陈述的内容包括:第三章中已介绍过,需求陈述的内容包括:问题范围、功能需求、性能要求、应用环境、问题范围、功能需求、性能要求、应用环境、假设条件等等。陈述方式可繁可简,说明假设条件等等。陈述方式可繁可简,说明What 而不是而不是 How。例:教材例:教材p.209 - 210,对,对Automated Teller Machine (ATM) 的需求陈述。的需求陈述。膘扰畴粗问扬刘用库拨著矽迟雹变显裴咀主酝楷筷征挡练烫谴传边

4、幌惟磨第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model1、确定、确定Class-&-Object:第第1步:列出所有候选对象步:列出所有候选对象(candidates),它们可能,它们可能是是 物理实体物理实体 人或组织人或组织 要处理的要处理的事件事件 对象间的活动对象间的活动 抽象概念抽象概念 等等等等非正式分析:从需求陈述中挑出非正式分析:从需求陈述中挑出 名词名词 Class-&-Object 形容词形容词 Attribute 动词动词 Method始昏偶客县署毗装吗庆

5、翱掷品沤壬碳攘崔膳僧讯塔藕皮尸宾匿崩晋方桐蚜第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model第第2步:去粗取精步:去粗取精例:从例:从ATM需求分析中提出的名词集合需求分析中提出的名词集合银行、银行、ATM、系统、中央计算机、分行计算机、系统、中央计算机、分行计算机、柜员终端、网络、总行、分行、软件、成本、市、柜员终端、网络、总行、分行、软件、成本、市、街道、营业厅、储蓄所、柜员、储户、现金、支票、街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡

6、、分行代码、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、卡号、用户、副本、信息、密码、类型、取款额、账单、访问账单、访问筛选时依下列标准删除:筛选时依下列标准删除:、通信链路、事务日志、通信链路、事务日志 冗余冗余 无关无关 笼统笼统 属性属性 操作操作 既可为名词又可为动词既可为名词又可为动词的词,应慎重考虑。的词,应慎重考虑。 实现实现幽钩伊脓甘蛛甥辖市上快萧缄监防跨坷疮蹦独屈台畏嗣遏煞铝吱嚷萤瘪殷第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Obj

7、ect Model2、确定关联、确定关联 结构层结构层第第1步:收集步:收集 需求陈述中涉及需求陈述中涉及objets的动词短语:的动词短语: 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事与中央计算机交换关于事务的信息务的信息 中央计算机确定事务与分行的对中央计算机确定事务与分行的对应关系应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 ATM、中央计算机、中央计算机、分行计

8、算机及柜员终端分行计算机及柜员终端组成网络组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分行提供分行计算机和分行提供分行计算机和柜员终端柜员终端 柜员终端设在分行营业柜员终端设在分行营业厅及储蓄所内厅及储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 分行计算机处理针对账分行计算机处理针对账户的事务户的事务妆己寿光愧嗣韩穷厕锣驳恳僧峭零溃能豆糕观凭士屿深维褪淡搁想裳伴轰第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis 需求陈述中隐含的关联需求陈述中隐含的关

9、联 总行由各个分行组成总行由各个分行组成 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全性系统提供必要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡3.建立建立 Object Model 根据问题域知识得出的关联根据问题域知识得出的关联 现金兑换卡访问账户现金兑换卡访问账户 分行雇用柜员分行雇用柜员附粟饺酉庸凶仲军风患膛同番滦蚜屏忱蹭钨夸匝巾蛋石车精印纂浦来帜视第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis第第2步:筛选删除步:筛选删除 3.建

10、立建立 Object Model 与已删去的与已删去的object 有关的关联有关的关联 与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联 ATM、中中央央计计算算机机、分分行行计计算机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分分行行提提供供分分行行计计算算机机和和柜柜员员终端终端 柜柜员员终终端端设设在在分分行行营营业业厅厅及及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户

11、的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全系统提供必要的安全性性 总行拥有中央计算机总行拥有中央计算

12、机 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员寝眼绽让里寸僻绅拈丝铸优疗律蹭褥铲投症邮哪奔疤镐店岸铲挖嗡酚冶烩第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model瞬时事件:注意关联描述静态结构瞬时事件:注意关联描述静态结构 ATM、中中央央计计算算机机、分分行行计计算机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分分行行提提供供分分行行计计算算机机和和柜柜员员终端终端 柜柜员员终终端端设设在在分分

13、行行营营业业厅厅及及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问

14、系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全系统提供必要的安全性性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员颂蜜泡纷菊砍摈祝戮蕾咨漏痉冻钒斡鸯掂胜仁伴涂汝陷桥洼枝哦捌航谩来第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model三元关联:分解为二元关联或限定关联三元关联:分解为二元关联或限定关联 柜员输入针对账户的事务柜员输入针对账户的

15、事务 = 柜员输入事务柜员输入事务 + 事务修改账户事务修改账户 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 = 分行计算机处理事务分行计算机处理事务 + 事务修改账户事务修改账户 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 = ATM与中央计算机通信与中央计算机通信 + 在在ATM上输入事务上输入事务注:注:识别链属性识别链属性 某实体仅用于描述另两个实某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如体的关系,且该实体本身不包含属性。例如“公司公司付给员工工资付给员工工资”可分解为可分解为“公司雇用员工公司雇用员工”,附链,附链属性属性“工

16、资工资”。像椒暇臼她嵌汰弥列入镰请乎屎慰闸居盆琳液奔拯戮捏蔗隐口芜赫拄嫂誓第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model派生关联:即可用其它关联定义的冗余关联派生关联:即可用其它关联定义的冗余关联 总行拥有多台总行拥有多台ATM 分分行行提提供供分分行行计计算算机机和和柜员终端柜员终端 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行保管账户分行保管账户 总行拥有中央计算机总行拥有中央计算机 现金兑换卡访问账户现金兑换卡访问账户 储户拥有现金兑换卡储户拥有

17、现金兑换卡 分行雇用柜员分行雇用柜员 分行计算机处理事务分行计算机处理事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机柜员终端与分行计算机通信通信 柜员输入事务柜员输入事务 事务修改账户事务修改账户 ATM与中央计算机通信与中央计算机通信 在在ATM上输入事务上输入事务 中央计算机确定事务与中央计算机确定事务与分行的对应关系分行的对应关系敝也卿掉闪苇汾贱侩建满设悟皿躯腮勺睁量坏汽饯衍眠耿民呜冤斋厘腹坚第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model第第3步:完善

18、步:完善 正名:分行提供分行计算机和柜员终端正名:分行提供分行计算机和柜员终端 = 分行拥有分行计算机分行拥有分行计算机 + 分行拥有柜员终端分行拥有柜员终端 分解:适当分解前面确定的分解:适当分解前面确定的class-&-objects ,使使其适用于不同的关联其适用于不同的关联 事务事务 = 远程事务远程事务 + 柜员事务柜员事务补充补充 柜员输入柜员事务柜员输入柜员事务 在在ATM上输入远程事务上输入远程事务 柜员事务输进柜员终端柜员事务输进柜员终端 远程事务由现金兑换卡授权远程事务由现金兑换卡授权标明阶数(可能经常变动,不要花太多时间)标明阶数(可能经常变动,不要花太多时间)皖内似魔默

19、判荣原款芍麻伐曙卓栽谆兽饥刁纂娜桔财每芳狡慑果商震腊饵第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis中央计算机中央计算机分行计算机分行计算机现金兑换卡现金兑换卡总总 行行分分 行行拥有拥有分行分行代码代码组成组成通信通信1+通信通信拥有拥有柜员终端柜员终端柜员事务柜员事务分分 行行通信通信1+1+拥有拥有1+ 雇用雇用输入输入1+1+输入输入账账 户户修修改改1+储储 户户保管保管1+拥有拥有1+远程事务远程事务ATM拥拥有有1+1+1+访问访问1+1+修改修改授权授权1+输入输入1+3.建立建立 Object

20、Model1233、划分主题、划分主题注意:注意:按问题域而不是按功能分解按问题域而不是按功能分解 主题间的依赖和交互尽可能少主题间的依赖和交互尽可能少1. 1. 总总 行行2. 2. 分分 行行3. 3. ATM钡谰逸航郊匀斥胆躇慕摊护兢凄莽煎愁庇雅难壤园猎遵疙皑街肤彰枕池泻第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3.建立建立 Object Model4、确立属性、确立属性注意:注意: Attribute 不表示不表示 objects 之间的关系,之间的关系,只表示其本质性质,不要与链属性、限只表示其本质

21、性质,不要与链属性、限定词混淆。定词混淆。 暂不考虑纯用于实现的暂不考虑纯用于实现的 attributes(即(即单纯的内部状态)。单纯的内部状态)。 需求陈述中与已确定的需求陈述中与已确定的 objects 有关的有关的名词、形容词可能是选择的线索。名词、形容词可能是选择的线索。刀寅霍孜央菠琳坠具帝坟树亮苦窄览好妙乓敖火棚什浓罗描霸斡气批目其第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis5、识别继承关系及其它修改、识别继承关系及其它修改 Bottom-up:将具有相同属性的:将具有相同属性的classes向上归

22、向上归纳出父类。纳出父类。 Top-down: 将现有将现有classes向下细化出子类向下细化出子类(但分析阶段避免过度细化)(但分析阶段避免过度细化).3.建立建立 Object Model 若某若某class中具有几个独立的功能,则考虑分中具有几个独立的功能,则考虑分为几个为几个classes。 对于某对于某class中具有自己特有属性的部分,可中具有自己特有属性的部分,可考虑将之列为独立存在的考虑将之列为独立存在的class,且是原有,且是原有class的组成。的组成。 合并无须分别考虑的若干合并无须分别考虑的若干classes。惧夕舶皖娠铰憋悍薪富蛇笺曲嘿哀悬伙馒劳熬赃床溉缅思党椿层

23、困芦原兄第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis账账 户户余额余额限额限额类型类型现金兑换卡现金兑换卡分行代码分行代码卡号卡号储储 户户姓名姓名地址地址输入站输入站事事 务务日期日期柜员事务柜员事务远程事务远程事务柜柜 员员姓名姓名卡权限卡权限密码密码限额限额更更 新新金额金额类型类型总总 行行总行名总行名分分 行行分行名分行名ATM现有金额现有金额付出金额付出金额柜员终端柜员终端分分行行代代码码组成组成站号站号站号站号账号账号雇员号雇员号卡号卡号输输入入1+拥拥有有1+保管保管拥拥有有拥拥有有雇雇用用发放

24、发放拥有拥有1+1+标识标识1+1+访访问问1+启动启动1+1+输入输入1+组成组成修修改改归归 纳纳组组 成成分分 解解合合 并并3. 建立建立 Object Model甭车究蚜霍军努帽掠珍召隐午牧尊狸以厄胶玖码远元都萍擅釜缮抹论形狡第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4. 建立建立 Dynamic Model1、编写脚本、编写脚本 (scenarios),描述,描述event 序列:序列: Event = Activator + Receiver +Parameters基本类型:基本类型: 正常情况

25、脚本;正常情况脚本; 特殊情况脚本(输入特殊情况脚本(输入输出取边界值时);输出取边界值时); 异常情况脚本(应允许用户异常情况脚本(应允许用户异常中止异常中止或或取消取消一一个操作)个操作)秘逮周殉纷涵塑尺嵌毋亥歧凿竟绣琵列涂直践滤奋研腕诅弊梯凳懊彻褐克第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4. 建立建立 Dynamic Model例:例:ATM系统的正常、异常情况脚本系统的正常、异常情况脚本(p.222 - 223)ATM系统的正常情况脚本系统的正常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。

26、请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户输入自己的密码要求储户输入密码;储户输入自己的密码“1234”等数字。等数字。 ATM请求总行验证卡号和密码;总行要求请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,号分行核对储户密码, 然后通知然后通知ATM说这张卡有效。说这张卡有效。 ATM要求储户选择事务类型要求储户选择事务类型(取款、转帐、查询等取款、转帐、查询等);储户选择;储户选择“取款取款”。 ATM要求储户输入取款额;储户输入要求储户输入取款额;储户输入“880”。 AT

27、M确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行 把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。 ATM吐出现金并请储户拿走这些现金;储户拿走现金。吐出现金并请储户拿走这些现金;储户拿走现金。 ATM问储户是否继续这项事务;储户回答问储户是否继续这项事务;储户回答“不不”。 ATM打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。 ATM请储户插卡请储户插卡鞠衰洗荫傀营宏

28、膏揩祭侄性鳃帕六襟烩缩幸迫跨污詹菲壤壤怖镰谁李市潦第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4. 建立建立 Dynamic ModelATM系统的异常情况脚本系统的异常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户误输入要求储户输入密码;储户误输入 “8888”。 ATM请求总行验证卡号和密码;总行要求请求总行验证卡号和密码;总行要求“39”号分行核对储户密码

29、,号分行核对储户密码, 然后通知然后通知ATM拒绝这张卡。拒绝这张卡。 ATM显示显示“密码错密码错”,并请储户重新输入密码;储户输入,并请储户重新输入密码;储户输入“1234”; ATM请总行验证后知此次输入的密码正确。请总行验证后知此次输入的密码正确。 ATM要求储户选择事务类型要求储户选择事务类型(取款、转帐、查询等取款、转帐、查询等);储户选择;储户选择“取款取款”。 ATM要求储户输入取款额;储户改变主意不想取款了,敲要求储户输入取款额;储户改变主意不想取款了,敲“取消取消”键。键。 ATM退出现金兑换卡,请储户拿走它;储户取走他的卡。退出现金兑换卡,请储户拿走它;储户取走他的卡。

30、ATM请储户插卡请储户插卡散兄纯荫鹏沾帽仁萎桐健宣涸羔虫误骄左口唤苗喜慷恃琵惭侠摧革颊幢戊第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis3、画事件跟踪图、画事件跟踪图(event tracing diagram)4. 建立建立 Dynamic ModelEventActivatorReceiverTimeLine每个脚本对每个脚本对应一张图应一张图2、设想用户界面、设想用户界面(user interface) rapid prototype.被瞬隅饲燥轨银郧滋孩塌红窘假处属插钦性锥篡鼠懒屁逻魂悸唯绑沿哩捡第十部分

31、面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4. 建立建立 Dynamic Model例:例:ATM系统的正常情况脚本的系统的正常情况脚本的ETD要求输入取款额要求输入取款额插插 卡卡要求密码要求密码输入密码输入密码请求验证帐户请求验证帐户请求分行验证帐户请求分行验证帐户帐户有效帐户有效帐户有效帐户有效要求事务类型要求事务类型输入类型输入类型输入取款额输入取款额请求处理事务请求处理事务请求处理分行事务请求处理分行事务分行事务成功分行事务成功事务成功事务成功吐出现金吐出现金请求拿走现金请求拿走现金拿走现金拿走现金请求继续

32、此事务请求继续此事务结结 束束印帐单印帐单退退 卡卡请求拿走卡请求拿走卡拿走卡拿走卡显示主屏幕显示主屏幕储户储户ATM总行总行分行分行掸颖丰舶疑蓉港皮逾东硕楚咐淘绘肪坐簿轿拣蒸事萄镭夯嗜拜歹拄烛孜耀第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4、画状态图、画状态图(event flow diagram)4. 建立建立 Dynamic Model从从ETD出发:出发:Event 2Event 1ActionStatusClass-&-Object每个具有交互行为的每个具有交互行为的 class-&-object

33、对应一张图。对应一张图。Event 1Status do: Action Event 2堵彤铰巧芒鸳慌愧投妒萧倾盅迄唐孝柬胎壬酮柴患玲羡马掖阵埠危奉限酞第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis4. 建立建立 Dynamic Model例:例:ATM类的的类的的EFD插卡插卡(可读可读)主主 屏屏 do: 显示主屏幕显示主屏幕 等待网络响应等待网络响应中中 断断 do: 显示取消信息显示取消信息事务成功事务成功帐户帐户有效有效do:要求密码要求密码do:验证帐户验证帐户do:要求类型要求类型不可读的卡不可读的

34、卡 do: 显示不可读显示不可读卡信息卡信息 退退 卡卡 do: 退卡;请求退卡;请求拿走卡拿走卡取取 消消 do: 显示取消信息显示取消信息 do:要求金额要求金额结结 束束 do: 打印帐单打印帐单 do: 显示无效帐显示无效帐户信息户信息 do:请求继续请求继续do: 吐出现金;吐出现金;请求拿走现金请求拿走现金do:处理事务处理事务do:失败信息失败信息网络响应网络响应密码错密码错输入密码输入密码插卡插卡(不可读不可读)拿拿走走卡卡取取消消中止中止取消取消拿走拿走现金现金继续继续事务失败事务失败取取消消等等待待5秒秒钟钟输入输入金额金额输入输入类型类型取消取消取消取消无无效效帐帐户户菇

35、嵌乒饲烤缝歧烩袁虎抽宦爷剿乃仪罢辞圆薄歉扁陆蕉群振柜蓖案救愿峪第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis注:注:一个一个event 若缺少若缺少activator 或或 receiver,而,而对应对应 status 又不是在起点又不是在起点终点,则发生错误。终点,则发生错误。 画状态图时应考虑画状态图时应考虑所有的所有的事件跟踪图脚本,事件跟踪图脚本,包括异常处理。包括异常处理。4. 建立建立 Dynamic Model5. 建立建立 Function Model DFD + IPO + Pseudocod

36、e 必要时对功能进行文字描述(参必要时对功能进行文字描述(参考教材考教材P.229 表表 10.3)。)。铬翁事兰氓绝羌汉跳迈咆呈退贺瑚记挡苍绽肢乐腆漠饰析打缝欺芯痰稠敝第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis6. 定义服务定义服务1、状态图、状态图(EFD)中的中的do: action 对应对应 method。2、DFD中的中的process 对应对应 method。例例储户储户ATM结束结束打印账单打印账单打印账单打印账单ATM注注: 常规行为(读写内部属性)不在图中显示;常规行为(读写内部属性)不在图

37、中显示; 每个每个method对应一段源程序代码,故应尽量对应一段源程序代码,故应尽量利用利用inheritance抽象出父类,共享抽象出父类,共享methods。Class ATM结结 束束结结 束束do: 打印账单打印账单 旺锨镐脚卓命哟召坞蚜惺噶伤哇儒辟寞嫡竟氦其羽甲唾楷两邹途蜕祥奏细第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysisProject“面向对象分析报告面向对象分析报告”分组演讲分组演讲 演讲题目:演讲题目: 储蓄系统储蓄系统 (P.36 #2) 机票预订系统机票预订系统 (P.36 # 3) 患者

38、监护系统患者监护系统 (P.36 # 4) 房产管理系统房产管理系统 (P.37 # 5) 选票统计系统选票统计系统 (P.77 # 7) 自动售货机系统自动售货机系统 (P.231 # 4) (7) 采购定货系统采购定货系统 (P.25 例例2.4.2) (8) 家庭娱乐中心家庭娱乐中心 (P.77 # 6)剪洛衬寡年溪颇饱汰刮诲阮理养眯柴哲派耽宁御洗暂瘟梨柴陆重痕脊平雹第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysisProject 演讲内容演讲内容 通过通过5层示意图介绍系统层示意图介绍系统 正常情况脚本的事件

39、跟踪图演示正常情况脚本的事件跟踪图演示 状态图演示状态图演示 演讲时间:下一次课时,每组演讲时间:下一次课时,每组10分钟演讲分钟演讲 + 2分钟分钟听众提问听众提问 演讲题目分配及演讲顺序:抽签决定。演讲题目分配及演讲顺序:抽签决定。 评分方法:评分方法: 8个组演讲结束后,分组讨论,按评分标准给个组演讲结束后,分组讨论,按评分标准给除自己组外的除自己组外的7个组打分,写评语。个组打分,写评语。 本组成绩本组成绩 = 其他其他7组给出的平均成绩组给出的平均成绩 50% + 主讲教师评定成绩主讲教师评定成绩 50%枉恩屹葬雀橇智澡餐沛脸寇戍缎坦霖澡摸嘛渺衙勾疼神淘法渭且庞瑚燎卓第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysisProject 评分标准:评分标准:玄脸征欢揍鸳直预冀席裁匈氟瞒谱救况冷肥噪蝴偿啃屏榷拳蕊凰讹褒履势第十部分面向对象分析ObjectOrientedAnalysis第十部分面向对象分析ObjectOrientedAnalysis

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号