软件工程面向对象分析课件.ppt
文本预览下载声明
第十章 面向对象分析;10.1 面向对象分析的基本过程;3个子模型
对所解决问题的描述角度进行划分:
静态结构(对象模型)
3个子模型 交互次序(动态模型)
数据变换(功能模型)
解决问题不同,三个子模型的重要程度也不同。;5个层次
;
寻找类与对象
识别结构
识别主题
定义属性
建立动态模型
定义服务
;需求陈述是阐明“做什么”,而不是“怎样做”
问题范围
功能需求
性能需求
应用环境
假设条件;自动取款机(ATM)系统
ATM系统
;ATM机系统问题描述
银行网络中包含柜员和 ATM,ATM 被共享中心所分享。
每家银行利用自己的计算机维护自己的账户并处理账户所属的交易,这些交易包括存款和取款。
某些银行拥有自己的柜员站,柜员站直接和该银行的计算机通信,柜员键入账户数据和交易数据。
ATM 和中心计算机通信,中心计算机再和银行清账。
ATM 接受金融卡,要求用户做些操作后和中心计算机通信,执行交易给予现金和打印收据。
系统要求保留交易记录和严守安全规定。
能同时存取客户的相同账户。;10.3.1 确定类与对象
1.找出候选的类与对象
寻找以下五类客观事物
可感知的物理实体
人或组织的角色
应该记忆的事件
两个或多个对象的相互作用,通常具有交易或接触的性质
需要说明的概念;1.找出候选的类与对象
非正式分析方法
从陈述中找出所有名词,作为类和对象的初步候选者
银行,自动取款机(ATM),系统,中央计算机,
分行计算机,柜员终端,网络,总行,分行,软件,
成本,市,街道,营业厅,储蓄所,柜员,储户,
现金,支票,账户,事物,现金兑换卡,余额,
磁卡,分行代码,卡号,用户,副本,信息,密码,
类型,取款额,账单,访问。
通信链路 事务日志;银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户, 现金,支票,账户,事物,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。
通信链路 事务日志;2.筛选出正确的类与对象
ATM、中央计算机、分行计算机、
柜员终端、总行、分行、柜员、储户、
账户、事务、现金兑换卡
;1.初步确定关联
需求陈述中使用的描述性动词或动词词组,通
常表示关联关系。
直接提取动词短语得出关联
需求陈述中隐含的关联
根据问题域知识得出的关联
2.筛选(根据下述标准删除候选关联)
已删去的类之间的关联
与问题无关的或在实现阶段考虑的关联
瞬时事件
三元关联
派生关联
;直接提取动词短语得出的关联
ATM、中央计算机、分行计算机及柜员终端组成网络。
总行拥有多台ATM。
ATM设在主要街道上。
分行提供分行计算机和柜员终端。
柜员终端设在分行营业厅及储蓄所内。
分行分摊软件开发成本。
储户拥有账户。
分行计算机处理针对账户的事务。
分行计算机维护账户。
柜员终端与分行计算机通信。
柜员输入针对账户的事务。
ATM与中央计算机交换关于事务的信息。
中央计算机确定事务与分行的对应关系。
ATM读现金兑换卡。
ATM与用户交互。
ATM吐出现金。
ATM打印账单。
系统处理并发的访问。;3.进一步完善
正名、分解、补充、标明重数
;在概念上把系统包含的内容分解成若干个范畴
应该按问题领域而不是用功能分解的方法来确定主题
不同主题内的对象相互间依赖和交互最少的原则
总行(总行和中央计算机)
ATM系统 分行(分行、分行计算机、柜员终端、
柜员事务、柜员和账户等)
ATM(ATM、远程事务、现金兑换卡和储户)
;属性是对象的性质或特征
注意在分析阶段不要用属性来表示对象间的关系,使用关联能够表示两个对象间的任何关系,而且把关系表示得更清晰、更醒目。
确定属性的过程包括分析和选择两个步骤。
;分析
在需求陈述中一般用名词词组表示属性
需藉助于领域知识和常识才能分析得出属性
属性对问题域的基本结构影响很小
属性的确定与问题域和目标系统的任务有关。
不要考虑那些超出所要解决的问题范围的属性。
先找最重要的属性,再逐渐把其余属性增添进去。分析阶段不考虑那些纯粹用于实现的属性。
;选择
(1) 误把对象当作属性
同一个实体在不同应用领域中,到底应该作为对象还是属性,需要具体分析才能确定。
例如,储户/账户
显示全部