软件工程导论课件第10章-面向对象的分析(第六版)(张海潘编著).ppt
第10章面向对象分析;例子;过程论观点;对象论观点;例子中五个对象很相似,可以看做一类东西,于是,我们给出一个类,叫“人”,且认为这五个对象都是“人”这个类的具体例子,我们叫其为实例。以后遇到类似的对象,我们都可以知道,这个对象属于“人”类。;10.1面向对象分析的根本过程;10.1面向对象分析的根本过程;10.1面向对象分析的根本过程;面向对象分析的过程
寻找类与对象
识别结构
识别主题
定义属性
建立动态模型
建立功能模型
定义效劳;10.2需求陈述;ATM机系统问题描述
银行网络中包含柜员和ATM,ATM被共享中心所分享。
每家银行利用自己的计算机维护自己的账户并处理账户所属的交易,这些交易包括存款和取款。
某些银行拥有自己的柜员站,柜员站直接和该银行的计算机通信,柜员键入账户数据和交易数据。
ATM和中心计算机通信,中心计算机再和银行清账。
ATM接受金融卡,要求用户做些操作后和中心计算机通信,执行交易给予现金和打印收据。
系统要求保存交易记录和严守平安规定。
能同时存取客户的相同账户。;自动取款机〔ATM〕系统
ATM系统;10.3建立对象模型;10.3建立对象模型;名词解析法
用自然语言书写需求陈述,把陈述中的名词作为类与对象的候选者,从形容词中考虑属性,把动词作为效劳〔操作〕的候选者。
以ATM系统为例:
从陈述中找出所有名词,作为类和对象的初步候选者:
银行,自动取款机〔ATM〕,系统,中央计算机,
分行计算机,柜员终端,网络,总行,分行,软件,
本钱,市,街道,营业厅,储蓄所,柜员,储户,
现金,支票,账户,事物,现金兑换卡,余额,
磁卡,分行代码,卡号,用户,副本,信息,密码,
类型,取款额,账单,访问。
通信链路事务日志;
2.筛选出正确的类与对象
筛选时主要依据以下标准,删除不正确或不必要的类与对象
〔1〕冗余
〔2〕无关
〔3〕笼统
〔4〕属性
〔5〕操作
〔6〕实现;2.筛选出正确的类与对象
ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、??户、账户、事务、现金兑换卡;10.3.2确定关联
1.初步确定关联
需求陈述中使用的描述性动词或动词词组,通常表示关联关系。
1〕直接提取动词短语得出的关联
总行拥有ATM
储户拥有帐户
分行计算机维护帐户
………………
2〕需求陈述中隐含的关联
分行组成总行
分行保管帐户
………………
3〕根据问题域知识得出的关联
现金兑换卡访问帐户
分行雇用柜员
………………;直接提取动词短语得出的关联
ATM、中央计算机、分行计算机及柜员终端组成网络。
总行拥有多台ATM。
ATM设在主要街道上。
分行提供分行计算机和柜员终端。
柜员终端设在分行营业厅及储蓄所内。
分行分摊软件开发本钱。
储户拥有账户。
分行计算机处理针对账户的事务。
分行计算机维护账户。
柜员终端与分行计算机通信。
柜员输入针对账户的事务。
ATM与中央计算机交换关于事务的信息。
中央计算机确定事务与分行的对应关系。
ATM读现金兑换卡。
ATM与用户交互。
ATM吐出现金。
ATM打印账单。
系统处理并发的访问。;2.筛选〔根据下述标准删除候选关联〕
经初步分析得出的关联只能作为候选的关联,需进一步筛选,以去掉不正确的或不必要的关联;3〕瞬时事件
关联应该描述问题域的静态结构,不应是一个瞬时事件,如应该删除:
ATM读取现金兑换卡
4〕三元关联
三个或三个以上对象之间的关联,可分解为二元关联:
“柜员输入针对帐户的事务”可分解为:
“柜员输入事务”、“事务修改帐户”
5〕派生关联
去掉可以用其它关联定义的冗余关联,
如“分行计算机维护帐户”,
可用“分行保管帐户”、“事务