软件工程导论第10章-面向对象分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程导论第10章-面向对象分析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 10 面向 对象 分析 课件
- 资源描述:
-
1、h1第十章 面向对象分析10.1 面向对象分析的基本过程10.2 需求陈述10.3 建立对象模型10.4 建立动态模型10.5 建立功能模型10.6 定义服务10.7 小结 h210.1 面向对象分析的基本过程l面向对象分析 (1)其关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起3种模型。(2)对象模型最基本、最重要、最核心。h310.1 面向对象分析的基本过程l3个子模型 对所解决问题的描述角度进行划分:对象模型(静态结构)3个子模型 动态模型(交互次序)功能模型(数据变换)h410.1 面向对象分析的基本过程l5个层次 复杂问题的对象模型的5个层次五个层次像是对象模型的
2、5张水平切片,一层比一层显示出对象模型的更多细节。类或对象间的关系指读者理解大型、复杂模型的一种机制,将一个大型的、复杂的对象模型分解成几个不同的概念范畴(记忆的7+2原则)h5l面向对象分析的过程l 寻找类与对象l 识别结构l 定义属性l 建立动态模型l 定义服务 10.1 面向对象分析的基本过程面向对象分析不可能严格地按预定顺序进行,大型、复杂系统的模型需要反复构造多遍才能建成。先构造模型的子集,再到完全地理解整个问题,最终建立整个模型。h610.2 需求陈述l需求陈述是阐明“做什么”,而不是“怎样做”l问题范围l功能需求l性能需求l应用环境假设条件h7lATM机系统问题描述l 某银行拟开
3、发一个自动取款机系统,它是由自动取款机ATM、中央计算机、分行计算机及柜员终端组成的网络系统。l 总行投资购买多台ATM和中央计算机,ATM分别设在全市各主要街道上。l 分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该软件的开发成本由各分行分摊。l 储户可以用现金或支票向自己拥有的某个账户内存款、取款或开新账户。通常一个储户拥有多个账户。10.2 需求陈述 举例h8ATM机系统问题描述l 银行柜员使用柜员终端处理储户提交的储蓄事务,柜员负责把储户提交的存款或取款事务输进柜员终端。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。l
4、 拥有银行账户的储户有权申请领取现金兑换卡,使用现金兑换卡可以通过ATM访问自己的账户。目前仅限于用现金兑换卡在ATM上提取现金或查询自己账户的信息。将来还可能要求使用ATM办理转账、存款等事务。h9ATM机系统问题描述l一张现金兑换卡就是一张特制的磁卡,上面有分行代码。一张磁卡可以访问储户的若干个账户,但仅属于一个储户所有。但是同一张卡可以有多个副本,因此必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性。l当用户将磁卡插入ATM后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。ATM要求用户输入密码,ATM将密码和卡上的信息传给中央计算机,请求中央计
5、算机核对这些信息并处理这次事务。中央计算机根据卡的分行代码委托分行验证用户密码,若密码正确,则ATM要求用户选择事务类型(取款,查询等)。当用户选择取款时,ATM请求用户输入取款额。最后ATM从现金口吐出现金,并且打印账单给用户。h10l自动取款机(ATM)系统 ATM系统10.2 需求陈述h1110.3 建立对象模型l10.3.1找出候选类与对象l1.找出候选的类与对象l寻找以下五类客观事物l可感知的物理实体l人或组织的角色l应该记忆的事件l两个或多个对象的相互作用,通常具有交易或接触的性质需要说明的概念h1210.3 建立对象模型l10.3.1找出候选类与对象l1.找出候选的类与对象(续)
6、l名词解析法 从陈述中找出所有名词,作为类和对象的初步候选者 银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事物,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。h13l 某银行拟开发一个自动取款机系统,它是由自动取款机ATM、中央计算机、分行计算机及柜员终端组成的网络系统。l 总行投资购买多台ATM和中央计算机,ATM分别设在全市各主要街道上。l 分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该软件的开发成本由各
7、分行分摊。l 储户可以用现金或支票向自己拥有的某个账户内存款、取款或开新账户。通常一个储户拥有多个账户。从陈述中找出所有名词,作为类和对象的初步候选者h14从陈述中找出所有名词,作为类和对象的初步候选者l 银行柜员使用柜员终端处理储户提交的储蓄事务,柜员负责把储户提交的存款或取款事务输进柜员终端。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。l 拥有银行账户的储户有权申请领取现金兑换卡,使用现金兑换卡可以通过ATM访问自己的账户。目前仅限于用现金兑换卡在ATM上提取现金或查询自己账户的信息(例如,某个指定账户上的余额)。将来还可能要求使用ATM办理转账、存款
8、等事务。h15l一张现金兑换卡就是一张特制的磁卡,上面有分行代码,对应总行下的一个分行。卡号确定这张卡可以访问哪些账户。一张磁卡可以访问储户的若干个账户,但仅属于一个储户所有。但是同一张卡可以有多个副本,因此必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性。也就是说,系统应该能够处理并发的访问。l当用户将磁卡插入ATM后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。ATM要求用户输入密码,ATM将密码和卡上的信息传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡的分行代码委托分行验证用户密码,若密码正确,则ATM要求用户选择事
9、务类型(取款,查询等)。当用户选择取款时,ATM请求用户输入取款额。最后ATM从现金口吐出现金,并且打印账单给用户。从陈述中找出所有名词,作为类和对象的初步候选者h1610.3 建立对象模型l10.3.1找出候选类与对象l2.筛选出正确的类与对象l筛选时主要依据下列标准,删除不正确或不必要的类与对象!(1)冗余(2)无关(3)笼统(4)属性(5)操作银行,自动取款机(ATM),系统,中央计算机分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。
10、(共34个名词)从中筛选出正确的类与对象)(储户、用户;现金兑换卡、磁卡和副本)(成本、市、街道、营业厅和储蓄所)(银行、访问、信息、网络、系统、软件)(现金、支票、取款额、账单、余额、分行代码、卡号、密码、类型)注意:在分析阶段不应该过早地考虑怎样实现目标系统。h1710.3.1找出候选类与对象l2.筛选出正确的类与对象(共11个)ATM中央计算机分行计算机柜员终端总行分行柜员储户账户事务(分为柜员事务和远程事务)现金兑换卡h1810.3.2 确定关联l1.初步确定关联 需求陈述中使用的描述性动词或动词词组,通常表示关联关系。(1)直接提取动词短语得出关联(2)需求陈述中隐含的关联(3)根据
11、问题域知识得出的关联 h19直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有账户。分行计算机处理针对账户的事务。分行计算机维护账户。柜员终端与分行计算机通信。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。隐含的关联总行由各个分行组成。分行保管账户。总行拥有中央计算机。系统维护事务日志。系统提供
12、必要的安全性。储户拥有现金兑换卡。中央计算机与分行通信根据问题域知识得出的关联现金兑换卡访问账户。分行雇用柜员。h2010.3.2 确定关联l2.筛选(1)根据下述标准删除候选关联:已删去的类之间的关联。与问题无关的或在实现阶段考虑的关联。瞬时事件。派生关联。(2)三元关联:将三元关联改造成二元关联。h21直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有账户。分行计算机处理针对账户的事务。分行计算机维护账户。柜员终端与分行计算机通信
13、。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。隐含的关联总行由各个分行组成。分行保管账户。总行拥有中央计算机。系统维护事务日志。系统提供必要的安全性。储户拥有现金兑换卡。中央计算机与分行通信根据问题域知识得出的关联现金兑换卡访问账户。分行雇用柜员。去掉已删去类的关联去掉与问题无关的或应该在实现阶段考虑的关联去掉瞬时事件将三元关联改造成二元关联去掉派生关联分行计算机处理针对账户的事务。分解为:分行计算机处理事务。事务修改账户。柜员输入针对账户的事务。分解
14、为:柜员输入事务。事务修改账户。ATM与中央计算机交换关于事务的信息。分解为:ATM与中央计算机通信。在ATM机上输入事务。h2210.3.2 确定关联l3.进一步完善正名、分解、补充、标明重数 ATMATM系统原始的类图h23(6)分行提供分行计算机和柜员终端。(7)储户拥有账户。(8)分行计算机维护账户。同2及13-2(9)柜员终端与分行计算机通信。(10)中央计算机确定事务与分行的对应关系。同(5)(13)柜员输入针对账户的事务。分解为:(13-1)柜员输入事务。(13-2)事务修改账户。(14)分行计算机处理针对账户的事务。分解为:(14-1)分行计算机处理事务。(14-2)事务修改账
15、户。(15)ATM与中央计算机交换关于事务的信息。分解为:(15-1)ATM与中央计算机通信。(15-2)在ATM机上输入事务。隐含的关联(1)总行由各个分行组成。(2)分行保管账户。(3)总行拥有中央计算机。(4)储户拥有现金兑换卡。(5)中央计算机与分行通信根据问题域知识得出的关联(11)现金兑换卡访问账户。(12)分行雇用柜员。直接提取动词短语得出的关联h24隐含的关联(1)总行由各个分行组成。(2)分行保管账户。(3)总行拥有中央计算机。(4)储户拥有现金兑换卡。(5)中央计算机与分行通信(6)分行提供分行计算机和柜员终端。(7)储户拥有账户。(8)分行计算机维护账户。同2及13-2(
16、9)柜员终端与分行计算机通信。(10)中央计算机确定事务与分行的对应关系。同(5)(13)柜员输入针对账户的事务。分解为:(13-1)柜员输入事务。(13-2)事务修改账户。(14)分行计算机处理针对账户的事务。分解为:(14-1)分行计算机处理事务。(14-2)事务修改账户。(15)ATM与中央计算机交换关于事务的信息。分解为:(15-1)ATM与中央计算机通信。(15-2)在ATM机上输入事务。根据问题域知识得出的关联(11)现金兑换卡访问账户。(12)分行雇用柜员。h2510.3.3 划分主题l在概念上把系统包含的内容分解成若干个范畴应该按问题领域而不是用功能分解的方法来确定主题不同主题
展开阅读全文