面向对象分析ppt课件

上传人:我*** 文档编号:141315682 上传时间:2020-08-06 格式:PPT 页数:60 大小:538KB
返回 下载 相关 举报
面向对象分析ppt课件_第1页
第1页 / 共60页
面向对象分析ppt课件_第2页
第2页 / 共60页
面向对象分析ppt课件_第3页
第3页 / 共60页
面向对象分析ppt课件_第4页
第4页 / 共60页
面向对象分析ppt课件_第5页
第5页 / 共60页
点击查看更多>>
资源描述

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

1、第8章 面向对象系统分析,本章主要内容,面向对象方法的优势 面向对象方法的基本概念 UML概况 需求建模 用例分析、用例图、用例描述 面向对象分析模型 对象分析、类图,8.5 分析模型,面向对象分析的主要内容是:开发一系列模型,以描述计算机软件结构,从而满足客户定义的需求(分析模型) 分析模型主要包括:描述领域对象(静态结构)的类图,描述对象交互(动态交互)的交互图 类图(class diagram):描述了构成一类对象特征的状态和行为(描述软件架构) 交互图(interaction diagram):描述对象之间的交互行为(描述系统行为) 每个用例会涉及一组对象的交互,分析模型与用例模型,用

2、例:外观,类图:内部结构 交互图:内部行为,软件的基本组成类,学习OOA,找到实现用例功能的类,系统做了些什么(事件流),谁去做的(对象)?,如何建立分析模型,分 析 从 用 例 开 始! 发现领域对象,定义概念类 识别对象的属性 识别对象的关系,包括建立类的泛化关系、对象的关联关系 建立交互图 此外: 对象的状态变化较多时:使用状态图和活动图,8.5.1 定义概念类,有两种方法用来识别领域中的概念,从而确定概念类 从用例描述中获取候选概念 摘取用例的详细文档中的名词(术语或名词短语),然后进行分析 通过不同类别发现候选概念,1、Wirfs-Brock名词短语策略,阅读理解需求文档(或用例说明

3、); 反复阅读,筛选出名词或名词短语,建立初始对象清单(候选对象); 将候选对象分成三类,即显而易见的对象、明显无意义的对象和不确定类别的对象; 舍弃明显无意义的名词或短语; 小组讨论不确定类别的对象,直到将它们都合并或调整到其它两类。,阅读需求说明或用例描述,1图书管理员将读者借书卡提供给系统; 2系统验证读者身份和借书条件; 3图书管理员将读者所借图书输入系统; 4系统记录借书信息,并且修改图书的状态和此种书的可借数量; 5系统修改读者的可用限额; 6重复3-5,直到图书管理员确认全部图书登记完毕; 7系统打印借书清单,交易成功完成。,图书馆系统的对象,图书状态总是和具体的图书联系在一起,

4、不是一个独立的对象。同理,借书数量、可用限额是读者属性。 可借数量是某个图书品种的特性,每本图书归属于一个图书品种,图书品种是一个隐含概念 借书条件是一种规则,可以作为对象吗?,阅读用例描述,用例名:购买商品 参与者:出纳员 描述:顾客带着所要购买的商品来到收款处。出纳员记录下商品信息并收款。付款完成后,顾客带着所购买的商品和收据离开。,阅读用例规格说明,用例名称:预定房间 涉及的参与者:酒店前台 正常事件流: 1) 前台人员向系统提供需要预定房间的类型、日期和预定天数。 2) 系统确认有相应档次的空闲房间,并计算出总费用和定金。 3) 前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号

5、等)。 4) 系统记录旅客信息。 5) 前台人员确认已经交纳定金。 6) 系统记录房间已经预定,工作完成。,2、不同类别的概念,人员:系统需要保存或管理其信息的人员(如录象商店的会员、图书馆的读者),或在系统中中扮演一定角色的人员(如录象商店的职员、论文评阅教师)。 组织:在系统中发挥一定作用的组织机构(如录象商店的连锁店,医疗保险系统中的医院,学校中的系)。 物品:需要由系统管理的各种物品(如录象商店的商品、图书),包括无形事物(如学校的一门课程、毕设题目)。 设备:在系统中被使用或由系统进行监控的设备、仪器等,系统运行中的硬件设备(如打印机)除外。 事件:需要由系统长期记忆的事件(如在自动

6、柜员机上的每次取款事件、每次借书事件)。,不同类别的概念(续),规格说明:系统中关于对象的规格信息的描述。 如图书品种,每种图书有一个唯一的馆藏号,同时该图书还包含一些描述信息,如书号、价格、作者、出版社等,多本图书对象共用这些规格说明。这是一种经过了抽象的概念,应该识别为概念类。 业务规则或政策:系统中经常使用的业务规则或政策的文字描述。 业务规则通常会在用例文档之外以其它条款说明。如图书馆系统中,对不同违规行为指定不同的罚款金额,商店对不同顾客或产品有不同的折扣策略等。如果这些规则无法并入到其他对象中,则可以作为概念类建立。 通常规则可能仅有属性,或者仅有操作,比如折扣策略可能是一个纯粹的

7、计算类。,图书馆系统的概念类,图书馆系统的第1张类图,8.5.2 识别概念类的属性,属性是描述对象静态特征的一个数据项。 发现属性的策略: 如何为对象做一般性的描述?比如人,一般的描述信息有姓名、性别、出生日期、身高、体重等。 在当前问题域,对象还具备那些特定描述项?比如人作为门诊系统的患者,还需要考虑血型、药物过敏、家族病史等。 对象的责任是什么?在系统中对象还需要了解或提供哪些信息?比如图书馆要实现催还功能,与该责任相关的就需要为书籍或借书事项定义借书日期和期限。 对象可能处于什么状态?对象的状态不同,则可能执行的操作也不同。比如出租物品就有在库、出租、维修三个状态。,属性的表示,属性的有

8、关说明: 属性的名称和解释:有些属性只适用于该问题域,是专业术语,晦涩难懂;有些常用词语在特定环境下字面的含义有所修改,为了提高清晰度,需要对这些属性进行定义。 属性的数据类型:分析时使用简单类型,如整数、实数、字符串、日期、数组、布尔等,分析阶段因为不考虑技术实现,所以不需要考虑具体语言能支持的数据类型。 其它要求:如取值范围、缺省值等。,定义领域类属性的原则,仅定义与系统责任和系统目标有关的属性。 使用简单数据类型来定义属性。如数字、字符串、日期、布尔、文本等。还包含多种特征或规则的数据,可考虑作为独立的对象类。 一般不使用可导出的属性。 不为对象关联定义属性。属性只用于体现对象本身的内在

9、性质,关联属性来实现,但那是设计阶段的问题,应推迟考虑。 如毕业设计题目与教师和学生存在关联,但题目中不应定义“教师姓名”、“学号”之类的属性。,图书馆系统的第2张类图,影片租借系统中的类,对象是孤立的吗?,零散孤立的概念类构成不了系统的概貌 组成系统的事物之间是相互制约相互依赖的,对象间有一定的关联结构。如同实体关系图(E-R图)就基本表达了这种关联。 UML对于对象关联关系有明确的定义和表示法。,8.5.3 识别对象关联,关联表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。可以使用关联表示对象了解其他对象的程度。,销售 Sale,销售明细项 SalesLineIte

10、m,包含,1,1.*,关联名称,多重性,描述关联的要素,关联名称 对象在关联中的角色 多重性 导向性,1、关联名称,多数关联是二元的(即只存在于两个类的实例之间),在图中表示为连接两个类符号的实线路径。 使用关联名称,应该反映该关系的目的,并且应该是一个动词词组。 比如教师对象和课程对象的关联名称就是“讲授”,医生和处方单的关系是“书写处方”。 关联名称应放置在关联路径上或其附近。,2、关联角色(Role),关联所联系的每一端叫做一个角色 角色名称应该是一个名词,能够表达被关联对象在关联中所充当的角色,角色名称紧邻关联线的末端。,贷款,客户,客户,0.1 担保人,贷款人 1,1,*,教师和一个

11、毕业设计课题也是存在多个关联,关联角色举例,3、关联的多重性(Multiplicity),定义了一个类A的实例在一段特定的时间内能够和多少个类B的实例发生关联。,4、关联的导向性(Navigability),角色的导向性特征表示可以通过关联从源类导向到目标类上。也就是说给定关联一端的对象就能够容易并直接地得到另一端的对象。 识别关联的导向可以推迟,与设计实现有关。通常是源对象存储了对目标对象的一些引用,读者 Reader,借书记录 Loan,1 登记 1.*,导航箭头说明Reader对象可单向访问到Loan对象,Reader很可能有一个 指向Loan对象的属性,5、整体-部分关联(Whole-

12、Part),如果对象a是对象b的一个组成部分,则称b为a的整体对象,a为b的部分对象,二者对应的关联形式称为整体-部分关联。这种结构可以用b “has a” a进行验证。 整体-部分关联是关联中使用较频繁的一种模式,用于对模型元素之间的组装关系进行建模。组成关系在现实生活中可以表现为以下几种形式: 客观上或逻辑上的整体事物和它的组成部分(机器和零件、人体和器官、书和章节、图和元素) 组织机构和它的下级组织及部分(公司和子公司、医院和科室) 团体(组织)和成员(科室和医生、班级和学生) 空间上的容器事物和其包容物(车间和机器/工人、教室和设备),整体-部分关联举例(一个窗口),F,o,r,m1,

13、C,o,n,t,r,o,l,*,B,u,t,t,o,n,E,d,i,t,C,h,e,c,k,B,o,x,F,o,r,m,整体/部分关联聚集,聚集(aggregation)是用于为整体-部分关系建模的一种关联,使用连接线和菱形表达,菱形一端的对象是整体对象。 整体-部分关联有两种类型 组合聚集(composition aggregation ) 共享聚集 (shared aggregation),共享聚集(shared aggregation),描述整体-部分的关系,部分可能同时属于多个整体对象。 关联路径的末端有一个空心菱形,用来表示聚集关系。,学生社团,学生,1.*,*,组合聚集(compo

14、sition aggregation ),组合聚集具有很强的归属关系,部分只能是一个组合对象的成员,而且部分对象的存在是依赖于整体对象,与整体同生共死。 整体端的重数不会超过 1(即它无法被多个整体对象共享),关系建立后是不可变更。 关联路径的末端有一个实心菱形,用来表示组合关系。,整体-部分关联的程序举例(一),Class House Class Door Public size As Double Public Sub New(ByVal s As Double) size = s End Sub End Class Class Window Public size As Double P

15、ublic Sub New(ByVal s As Double) size = s End Sub End Class Private dr As Door Private win As Window Public Sub New() dr = New Door(50) win = New Window(100) End Sub End Class,House 对象诞生后立即诞生內含的Door对象和Window对象,整体-部分关联的程序举例(二),Class Controller Private brand As String Public Sub New(ByVal ba As String

16、) brand = ba End Sub End Class Class Engine Public model As String Public Sub New(ByVal mdl As String) model = mdl End Sub End Class Class Car Private e As Engine Private cn As Controller Public Sub New() e = New Engine(Honda) End Sub Public Sub setController(ByVal c As Controller) cn = c End Sub End Class,Dim civic As New Car() Dim c1 As New Controller(“神风) Dim c2 As N

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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