第8章 面向对象分析4PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
支票 Check
8.5.2 识别概念类的属性
属性是描述对象静态特征的一个数据项。 发现属性的策略:
–如何为对象做一般性的描述?比如人,一般的描 述信息有姓名、性别、出生日期、身高、体重等。
–在当前问题域,对象还具备那些特定描述项?比 如人作为门诊系统的患者,还需要考虑血型、药 物过敏、家族病史等。
• 事件:需要由系统长期记忆的事件(如在自动柜员机上 的每次取款事件、每次借书事件)。
不同类别的概念(续)
• 规格说明:系统中关于对象的规格信息的描述。
– 如图书品种,每种图书有一个唯一的馆藏号,同时该 图书还包含一些描述信息,如书号、价格、作者、出 版社等,多本图书对象共用这些规格说明。这是一种 经过了抽象的概念,应该识别为概念类。
对象的关联关系 4.建立交互图
• 系统的功能流程比较复杂时:使用活动图 • 对象的状态变化较多时:使用状态图
8.5.1 定义概念类
• 有两种方法用来识别领域中的概念,从而 确定概念类
1. 从用例描述中获取候选概念
– 摘取用例的详细文档中的名词(术语或名词 短语),然后进行分析
2. 通过不同类别发现候选概念
8.5 分析模型
• 面向对象分析的主要内容是:开发一系列模型, 以描述计算机软件结构,从而满足客户定义的需 求(分析模型)
– 分析模型主要包括:描述领域对象(静态结构)的类 图,描述对象交互(动态交互)的交互图
– 类图(class diagram):描述了构成一类对象特征 的状态和行为(描述软件架构)
图书馆系统的对象
名词类别
概念类列表
显而易见的对象
明显无意义的对 象
不确定类别的对 象
读者 借书卡 图书 借书信息 借书清单 读者身份
借书条件 图书状态 可借数量 可用限额
• 图书状态总是和具体的图书联系在一起,不是一个独立 的对象。同理,借书数量、可用限额是读者属性。
• 可借数量是某个图书品种的特性,每本图书归属于一个 图书品种,图书品种是一个隐含概念
定天数。 2) 系统确认有相应档次的空闲房间,并计算出总费用和
定金。 3) 前台人员向系统提供旅客信息(姓名、地址、联系电
话、证件号等)。 4) 系统记录旅客信息。 5) 前台人员确认已经交纳定金。 6) 系统记录房间已经预定,工作完成。
2、不同类别的概念
• 人员:系统需要保存或管理其信息的人员(如录像商店 的会员、图书馆的读者),或在系统中中扮演一定角色 的人员(如录像商店的职员、论文评阅教师)。
• 业务规则或政策:系统中经常使用的业务规则或 政策的文字描述。
– 业务规则通常会在用例文档之外以其他条款说明。如 图书馆系统中,对不同违规行为指定不同的罚款金额, 商店对不同顾客或产品有不同的折扣策略等。如果这 些规则无法并入到其他对象中,则可以作为概念类建 立。
– 通常规则可能仅有属性,或者仅有操作,比如折扣策 略可能是一个纯粹的计算类。
商店 Store
销售项 Sale
销售项条目
出纳员
SalesLineItem Cashier
顾客
管理员
Customer Manager
现金支付 信用卡支付 支票支付
信用卡
CashPay CreditPay CheckPay CreditCard
产品目录 ProductCatalog
产品规格说明 ProductSpecification
图书馆系统的概念类
所属类目
概念类举例
人员
读者 图书管理员
组织
暂无
物品
图书 借书卡 书目 借书清单
设备
暂无
事件
借书 还书 逾期
规格说明 图书品种
政策或规则 罚款细则
图书馆系统的第1张类图
图书管理员
图书目录
图书品种
图书
读者
借书记录
逾期记录
罚款细则
POS系统的概念类
销售点终端 POS
商品项 Item
1、Wirfs-Brock名词短语策略
1) 阅读理解需求文档(或用例说明); 2) 反复阅读,筛选出名词或名词短语,建
立初始对象清单(候选对象); 3) 将候选对象分成三类,即显而易见的对
象、明显无意义的对象和不确定类别的 对象; 4) 舍弃明显无意义的名词或短语; 5)小组讨论不确定类别的对象,直到将它 们都合并或调整到其他两类。
面向对象分析4
类图、顺序图
8.5 分析模型
• 用例建模是从用户的角度对系统的描述; • 得到用例模型后,并不意味着系统分析的结束。
• 需要对对需求进一步挖掘,获取问题领域本质内 容的分析模型。
• 用例模型相当于问题空间的描述,而分析模型则 是解空间的逻辑描述。
• 透过分析模型可以回答:实现每一个用例需要哪 些对象?每一个对象有哪些职责?它们之间如何 通信?
• 组织:在系统中发挥一定作用的组织机构(如录像商店 的连锁店,医疗保险系统中的医院,学校中的系)。
• 物品:需要由系统管理的各种物品(如录像商店的商品、 图书),包括无形事物(如学校的一门课程、毕设题 目)。
• 设备:在系统中被使用或由系统进行监控的设备、仪器 等,系统运行中的硬件设备(如打印机)除外。
– 交互图(interaction diagram):描述对象之间的 交互行为(展示用例实现,描述系统行为)
– 每个用例的实现会涉及一组对象的交互
分析模型与用例模型
用例:外观
类图:内部结构 交互图:内部行为
如何开始?
分 析 从 用 例 开 始!
1.发现领域对象,定义概念类 2.识别对象的属性 3.识别对象的关系,包括建立类的泛化关系、
阅读需求说明或用例描述
1.图书管理员将读者借书卡提供给系统; 2.系统验证读者身份和借书条件; 3.图书管理员将读者所借图书输入系统; 4.系统记录借书信息,并且修改图书的状态和
此种书的可借数量; 5.系统修改读者的可用限额; 6.重复3-5,直到图书管理员确认全部图书登记
完毕; 7.系统打印借书清单,交易成功完成。
–对象的责任是什么?在系统中对象还需要了解或 提供哪些信息?比如图书馆要实现催还功能,与 该责任相关的就需要为书籍或借书事项定义借书 日期和期限。
• 借书条件是一种规则,可以作为对象吗?
Biblioteka Baidu
阅读用例描述
用例名:购买商品 参与者:出纳员 描述:顾客带着所要购买的商品来到收款处。
出纳员记录下商品信息并收款。付款完成 后,顾客带着所购买的商品和收据离开。
阅读用例规格说明
用例名称:预定房间 涉及的参与者:酒店前台 正常事件流: 1) 前台人员向系统提供需要预定房间的类型、时间和预