版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软软软软软软 件件件件件件 工工工工工工 程程程程程程教学目的:理解面向对象的概念、掌握基于教学目的:理解面向对象的概念、掌握基于UML语语 言机制的需求分析方法和过程。言机制的需求分析方法和过程。教学重点:基于教学重点:基于UML语言机制的需求分析方法和过语言机制的需求分析方法和过 程、程、CASE工具工具教学难点:教学难点: CASE工具工具教教 具:多媒体教室、电子教案具:多媒体教室、电子教案作作 业:业:第第6章章 面向对象的需求分析面向对象的需求分析 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.1面向对象的概念与思想面向对象的概念与思想面向对象(面向对象(Object
2、 Oriented)方法是)方法是将现实世界将现实世界的事物以对象的方式映射到计算机世界的方法的事物以对象的方式映射到计算机世界的方法。用面向对象的方法求解现实世界问题的第一步便用面向对象的方法求解现实世界问题的第一步便是面向对象分析。面向对象分析包含两个可以重是面向对象分析。面向对象分析包含两个可以重叠的过程:用面向对象的叠的过程:用面向对象的方法方法对现实世界的问题对现实世界的问题进行分析;用面向对象的进行分析;用面向对象的工具工具对分析结果进行描对分析结果进行描述。述。本章重点介绍面向对象的方法,并用本章重点介绍面向对象的方法,并用“C程序设程序设计上机考试系统计上机考试系统”为例来介绍
3、为例来介绍UML语言机制。语言机制。 软软软软软软 件件件件件件 工工工工工工 程程程程程程现实世界现实世界OOAOODOOPSASDSP机器世界机器世界结构化生命周期方法结构化生命周期方法 面面向向对对象象方方法法面向对象方法和面向过程方法的对比面向对象方法和面向过程方法的对比 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.1 面向对象的概念与思想面向对象的概念与思想从事物的从事物的过程侧面过程侧面来描述事物的方法被称之为来描述事物的方法被称之为面向过程的方法面向过程的方法。该方法在认识现实事物的整个过程中是把事物内部的处理过程该方法在认识现实事物的整个过程中是把事物内部的处理过
4、程作为核心来描述的。作为核心来描述的。从事物的从事物的组成部件及每个部件的属性、功能组成部件及每个部件的属性、功能来认识事物。比如,来认识事物。比如,汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程数等属性,同时发动机还具有启动,加大油门等操作。这就是数等属性,同时发动机还具有启动,加大油门等操作。这就是将现实世界的事物的属性和及其过程一并进行描述的方法,这将现实世界的事物的属性和及其过程一并进行描述的方法,这种方法被称为种方法被称为面向对象的方法面向对象的方法。从事物的从事物的属性侧面属性侧面来描述事物的方法就是来描述事物的方法就是
5、面向数据的方法面向数据的方法,该,该方法在认识事物的过程中始终把事物的属性作为描述的核心。方法在认识事物的过程中始终把事物的属性作为描述的核心。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.1 面向对象的概念与思想面向对象的概念与思想在抽象现实世界的事物时,必须把抽象的范围限定在我们的在抽象现实世界的事物时,必须把抽象的范围限定在我们的问题域内问题域内。现实世界的事物都有很多侧面,我们只应关心那。现实世界的事物都有很多侧面,我们只应关心那些跟我们要解决的问题相关的侧面。些跟我们要解决的问题相关的侧面。 比如:在抽象和描述比如:在抽象和描述“学生学生”对象时,针对不同的问题域,对象
6、时,针对不同的问题域,可能得到不同的抽象结果。对于学生管理系统,学生的成绩、可能得到不同的抽象结果。对于学生管理系统,学生的成绩、所选的课程等在问题域范围内,而学生的病史,过敏史则不所选的课程等在问题域范围内,而学生的病史,过敏史则不在问题域内;如果是一个医管系统,病史,过敏史则落在问在问题域内;如果是一个医管系统,病史,过敏史则落在问题域内。题域内。 下面介绍面向对象的下面介绍面向对象的五大要素五大要素: 软软软软软软 件件件件件件 工工工工工工 程程程程程程(1) 对象(对象(Object)对象对象是现实世界事物或个体的抽象表示,是其属性和相关是现实世界事物或个体的抽象表示,是其属性和相关
7、操作的封装。抽象的结果不仅包括事物个体的属性,还包操作的封装。抽象的结果不仅包括事物个体的属性,还包括事物的操作。属性值表示了对象的内部状态。括事物的操作。属性值表示了对象的内部状态。 在分析阶段,在分析阶段,对象的操作对象的操作是对象展现给外部的服务。是对象展现给外部的服务。对象状对象状态态的改变是由对对象的操作引起的。的改变是由对对象的操作引起的。 例如,对于民航机场的指挥控制系统,例如,对于民航机场的指挥控制系统,MU9114航班就是航班就是该问题域中的对象,该对象的属性可以包含:航班号、起该问题域中的对象,该对象的属性可以包含:航班号、起飞机场、降落机场、起飞时间、降落时间,位置等;可
8、能飞机场、降落机场、起飞时间、降落时间,位置等;可能的操作包括离港、到港等。当对的操作包括离港、到港等。当对MU9114航班对象进行离港航班对象进行离港操作时,对象的状态将从停靠状态改变成飞行状态。操作时,对象的状态将从停靠状态改变成飞行状态。 软软软软软软 件件件件件件 工工工工工工 程程程程程程(2) 类(类(Class) 类是对具有共同特征(属性和操作)的对象的进一步抽类是对具有共同特征(属性和操作)的对象的进一步抽象。类通常被认为是对象的模板,通过该模板可以创建特象。类通常被认为是对象的模板,通过该模板可以创建特性一致的对象。使用类创建对象的过程实际上是类的实例性一致的对象。使用类创建
9、对象的过程实际上是类的实例化过程。化过程。类是对象的抽象,对象是类的实例。在客观世界类是对象的抽象,对象是类的实例。在客观世界存在的是类的实例,即对象。存在的是类的实例,即对象。 (3)继承()继承(Inheritance) 继承关系模拟了现实世界中遗传关系的直接模拟,也即继承关系模拟了现实世界中遗传关系的直接模拟,也即一般与特殊关系的模拟。它允许我们在已有的类的特性基一般与特殊关系的模拟。它允许我们在已有的类的特性基础上构造新类。被继承的类我们称之为基类(父类),在础上构造新类。被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类(子类)。派基类的基础上新建立的类我们称
10、之为派生类(子类)。派生类的特性比基类的特性更细致。生类的特性比基类的特性更细致。 软软软软软软 件件件件件件 工工工工工工 程程程程程程(4) 聚集(聚集(Aggregation)聚集模拟了现实世界的部分与整体的关系。它允许利用现有的聚集模拟了现实世界的部分与整体的关系。它允许利用现有的类组成新类。比如说汽车,它是由发动机、变速箱、底盘等组类组成新类。比如说汽车,它是由发动机、变速箱、底盘等组成,那么我们就可以利用发动机、变速箱、底盘等类聚集成一成,那么我们就可以利用发动机、变速箱、底盘等类聚集成一个新的类:汽车类。个新的类:汽车类。 (5) 消息(消息(Message) 消息是对象之间交互
11、的唯一途径,一个对象要想使用其他对象消息是对象之间交互的唯一途径,一个对象要想使用其他对象的服务,必须向该对象发送服务请求消息。而接收服务请求的的服务,必须向该对象发送服务请求消息。而接收服务请求的对象必须对请求做出响应。对象必须对请求做出响应。 例如:当我们向银行系统的帐号对象发送取款消息时,帐号对例如:当我们向银行系统的帐号对象发送取款消息时,帐号对象将根据消息中携带的取款金额对客户的帐号进行取款操作:象将根据消息中携带的取款金额对客户的帐号进行取款操作:验证帐号余额,如果帐号余额足够,并且操作成功,对象将把验证帐号余额,如果帐号余额足够,并且操作成功,对象将把执行成功的消息返回给服务请求
12、的发送对象,否则发送交易失执行成功的消息返回给服务请求的发送对象,否则发送交易失败消息。败消息。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.1 面向对象的概念与思想面向对象的概念与思想 小结小结:面向对象的需求分析方法通过提供:面向对象的需求分析方法通过提供对象、对对象、对象间消息传递象间消息传递等语言机制,让分析人员在等语言机制,让分析人员在解空间解空间中中直接模拟直接模拟问题空间问题空间中的对象,从而消减运用其他分中的对象,从而消减运用其他分析方法带来的析方法带来的语义断层语义断层,为需求建模活动提供直观、,为需求建模活动提供直观、自然的语言支持和方法学指导。自然的语言支持
13、和方法学指导。 面向对象对象类继承聚集消息面向对象对象类继承聚集消息。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.2 UML 概述概述6.2.1 UML 6.2.1 UML 语言机制语言机制UMLUML通过图形化的表示机制从多个侧面对系统的分析和设计模型通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,共有进行刻画,共有5 5类类1010种视图如下所示:种视图如下所示: 静态模型静态模型 动态模型动态模型逻辑模型逻辑模型 类图类图 用例图用例图 对象图对象图 顺序图顺序图 包图包图 协作图协作图 状态图状态图 活动图活动图物理模型物理模型 构件图构件图 配置图配置图
14、 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.2.1 UML 语言机制语言机制1 1、用例图(、用例图(UsecaseUsecase Diagram Diagram):用于表示系统的功能,并指):用于表示系统的功能,并指出各功能的操作者;出各功能的操作者;2 2、静态图:包括类图(、静态图:包括类图(Class DiagramClass Diagram)、对象图()、对象图(Object Object DiagramDiagram)及包图()及包图(Package DiagramPackage Diagram),表示系统的静态结),表示系统的静态结构;构;3 3、行为图:包括状态
15、图(、行为图:包括状态图(State DiagramState Diagram)及活动图)及活动图(Activity DiagramActivity Diagram),用于描述系统的动态行为和对象之),用于描述系统的动态行为和对象之间的交互关系;间的交互关系;4 4、交互图:包括顺序图(、交互图:包括顺序图(Sequence DiagramSequence Diagram)和协作图)和协作图(Collaboration DiagramCollaboration Diagram),用于描述系统对象之间的动),用于描述系统对象之间的动态合作关系;态合作关系;5 5、实现图:包括构件图(、实现图:包
16、括构件图(CompomentCompoment Diagram Diagram)和配置图)和配置图(Deployment DiagramDeployment Diagram),用于描述系统的物理实现。),用于描述系统的物理实现。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.2.2 基于基于UML 的软件开发过程的软件开发过程1 1、初启:确定项目的、初启:确定项目的主要目标和范围主要目标和范围,并进行初步的,并进行初步的可行性分析可行性分析和经济效益分析和经济效益分析。2 2、细化:细化阶段的开始标志着项目的正式确立。软件项目在此、细化:细化阶段的开始标志着项目的正式确立。软件项
17、目在此阶段需要完成以下工作:阶段需要完成以下工作:(1 1)初步的需求分析。采用)初步的需求分析。采用UMLUML的的用例用例描述目标软件系统所有比描述目标软件系统所有比较重要、比较有风险的用例,利用较重要、比较有风险的用例,利用用例图用例图表示参与者与用例、以表示参与者与用例、以及用例和用例之间的关系。采用及用例和用例之间的关系。采用UMLUML的的类图类图表示目标软件系统所基表示目标软件系统所基于的应用领域中的概念与概念之间的关系。这些相互关联的概念于的应用领域中的概念与概念之间的关系。这些相互关联的概念构成领域模型。构成领域模型。(2 2)初步的高层设计。根据用例、类在业务领域中的关系,
18、或者)初步的高层设计。根据用例、类在业务领域中的关系,或者根据业务领域中某种有意义的分类方法将整个软件系统划分为若根据业务领域中某种有意义的分类方法将整个软件系统划分为若干个包,利用干个包,利用UMLUML的的包图包图刻化这些包及其包间关系。刻化这些包及其包间关系。 软软软软软软 件件件件件件 工工工工工工 程程程程程程(3 3)部分的详细设计。对于系统中某些重要的或者风险比较高)部分的详细设计。对于系统中某些重要的或者风险比较高的用例,的用例, 可以采用可以采用交互图交互图进一步探讨其内部实现过程。同样,进一步探讨其内部实现过程。同样,对于系统中的关键类,也可以详细研究其属性和操作,并在对于
19、系统中的关键类,也可以详细研究其属性和操作,并在UMLUML类图类图中加以表现。中加以表现。(4)(4)部分的原型构造。部分的原型构造。综上所述,在细化阶段可能需要使用的综上所述,在细化阶段可能需要使用的UMLUML语言机制包括:语言机制包括:描述描述用户需求的用例及用例图用户需求的用例及用例图、表示领域概念模型的类图表示领域概念模型的类图、表示业表示业务流程处理的活动图务流程处理的活动图、表示系统高层结构的包图表示系统高层结构的包图和和表示用例内表示用例内部实现过程的交互图部实现过程的交互图等。等。细化阶段的结束条件是,所有主要的用户需求已通过用例和用细化阶段的结束条件是,所有主要的用户需求
20、已通过用例和用例图得以描述;所有重要的风险已被标识,并对风险应对措施例图得以描述;所有重要的风险已被标识,并对风险应对措施了如指掌;能够比较精确地估算实现每一用例的时间。了如指掌;能够比较精确地估算实现每一用例的时间。6.2.2 基于基于UML 的软件开发过程的软件开发过程 软软软软软软 件件件件件件 工工工工工工 程程程程程程3 3、构造:在构造阶段,开发人员通过一系列的迭代完成、构造:在构造阶段,开发人员通过一系列的迭代完成对所有用例的软件实现工作,在每次迭代中实现一部分对所有用例的软件实现工作,在每次迭代中实现一部分用例。以迭代方式实现所有用例的好处在于,用户可以用例。以迭代方式实现所有
21、用例的好处在于,用户可以及早参与对已实现用例的实际评价,并提出改进意见。及早参与对已实现用例的实际评价,并提出改进意见。这样可有效降低大型软件系统的开发风险。这样可有效降低大型软件系统的开发风险。在实际开始构造软件系统之前,有必要预先制定迭代计在实际开始构造软件系统之前,有必要预先制定迭代计划。计划的制定应遵循如下两项原则:划。计划的制定应遵循如下两项原则:(1 1)用户认为业务价值较大的用例应优先安排;)用户认为业务价值较大的用例应优先安排;(2 2)开发人员评估后认为开发风险较高的用例应优先安)开发人员评估后认为开发风险较高的用例应优先安排。排。6.2.2 基于基于UML 的软件开发过程的
22、软件开发过程 软软软软软软 件件件件件件 工工工工工工 程程程程程程在迭代计划中,要确定迭代次数、每次迭代所需时间及每在迭代计划中,要确定迭代次数、每次迭代所需时间及每次迭代中应完成(或部分完成)的用例。次迭代中应完成(或部分完成)的用例。每次迭代过程由针对用例的分析、设计、编码、测试和集每次迭代过程由针对用例的分析、设计、编码、测试和集成成5个子阶段构成。在集成之后,用户可以对用例的实现效果个子阶段构成。在集成之后,用户可以对用例的实现效果进行评价,并提出修改意见。这些修改意见可以在本次迭代进行评价,并提出修改意见。这些修改意见可以在本次迭代过程中立即实现,也可以在下次迭代中再予以考虑。过程
23、中立即实现,也可以在下次迭代中再予以考虑。构造过程中,需要使用构造过程中,需要使用UML的交互图来设计用例的实现方的交互图来设计用例的实现方法。为了与设计得出的交互图协调一致,需要修改或精化在法。为了与设计得出的交互图协调一致,需要修改或精化在细化阶段绘制的作为领域模型的类图,增加一些为软件实现细化阶段绘制的作为领域模型的类图,增加一些为软件实现所必需的类、类的属性或方法。所必需的类、类的属性或方法。6.2.2 基于基于UML 的软件开发过程的软件开发过程 软软软软软软 件件件件件件 工工工工工工 程程程程程程如果一个类有复杂的生命周期行为,或者类的对象在生命周期如果一个类有复杂的生命周期行为
24、,或者类的对象在生命周期内需要对各种外部事件的刺激作出反应,应考虑用内需要对各种外部事件的刺激作出反应,应考虑用UML的状态图的状态图来表述类的对象的行为。来表述类的对象的行为。UMLUML的活动图可以在构造阶段用来表示复杂的算法过程和有多个的活动图可以在构造阶段用来表示复杂的算法过程和有多个对象参与的业务外理过程。活动图尤其适用于表示过程中的并发对象参与的业务外理过程。活动图尤其适用于表示过程中的并发和同步。和同步。在构造阶段的每次迭代过程中,可以对细化阶段绘出的包图进在构造阶段的每次迭代过程中,可以对细化阶段绘出的包图进行修改或精化,以便包图切实反映目标软件系统最顶层的结构划行修改或精化,
25、以便包图切实反映目标软件系统最顶层的结构划分状况。分状况。4 4、移交、移交在移交阶段,开发人员将构造阶段获得的软件系统在用户实际工在移交阶段,开发人员将构造阶段获得的软件系统在用户实际工作环境(或接近实际的模拟环境)中试运行,根据用户的修改意作环境(或接近实际的模拟环境)中试运行,根据用户的修改意见进行少量修改。见进行少量修改。6.2.2 基于基于UML 的软件开发过程的软件开发过程 软软软软软软 件件件件件件 工工工工工工 程程程程程程6. 3 基于基于UML的需求分析的需求分析基于基于UMLUML的需求分析步骤:的需求分析步骤:(1 1)利用用例及用例图表示需求。)利用用例及用例图表示需
26、求。(2 2)利用包图及类图表示目标软件系统的总体框架结构。)利用包图及类图表示目标软件系统的总体框架结构。6.3.1 开发场景开发场景 场景:场景:是指从单个执行者的角度观察目标软件系统的功是指从单个执行者的角度观察目标软件系统的功能和行为。这种功能通过系统与用户之间的交互来表征。能和行为。这种功能通过系统与用户之间的交互来表征。因此也可以说,场景是用户与系统之间进行交互的一组具因此也可以说,场景是用户与系统之间进行交互的一组具体的动作。场景是用例的实例,而用例是某类场景的共同体的动作。场景是用例的实例,而用例是某类场景的共同抽象。抽象。场景描述:场景描述:场景名称、执行者实例、前置条件、事
27、件流和场景名称、执行者实例、前置条件、事件流和后置条件。后置条件。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.2 生成用例生成用例执行者:执行者:是指外部用户或外部实体在系统中扮演的角色。是指外部用户或外部实体在系统中扮演的角色。用例:从外部用户的视角看,一个用例是执行者与目标用例:从外部用户的视角看,一个用例是执行者与目标软件系统之间的一次典型的交互作用。从软件系统内部软件系统之间的一次典型的交互作用。从软件系统内部的视角出发,一个用例代表系统执行的一系列动作,动的视角出发,一个用例代表系统执行的一系列动作,动作执行的结果能够被外部的执行者所观察。作执行的结果能够被外部的
28、执行者所观察。用例描述:用例描述:用例名称、参与执行者、前置条件、一个主用例名称、参与执行者、前置条件、一个主事件流、零到多个辅助事件流和后置条件。事件流、零到多个辅助事件流和后置条件。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.3 用活动图表示用例用活动图表示用例活动图活动图主要用于系统分析,它描述系统的行为,显示系主要用于系统分析,它描述系统的行为,显示系统中动作之间的转移。活动图一般从统中动作之间的转移。活动图一般从开始节点开始节点开始,经开始,经过若干动作后,最后到达过若干动作后,最后到达结束节点结束节点。活动图是简化的状态图,它重点说明了活动间所经过的活动图是简化
29、的状态图,它重点说明了活动间所经过的操作和过程。活动图(操作和过程。活动图(ActivityActivity)只有一个动作)只有一个动作(ActionAction),活动的转移有一个相应的触发事件。活动),活动的转移有一个相应的触发事件。活动图可用来描述用例、包和类的行为,它把活动描述成正图可用来描述用例、包和类的行为,它把活动描述成正在执行的操作,在执行的操作,活动代表了一个完整的动作活动代表了一个完整的动作,即它代表,即它代表一个类或用例内部的行为。活动图不区分状态、活动和一个类或用例内部的行为。活动图不区分状态、活动和事件,它是一个从活动到活动的简单描述,其中事件,它是一个从活动到活动的
30、简单描述,其中,同步,同步线用粗横线表示线用粗横线表示,用于表示活动之间的同步。,用于表示活动之间的同步。 软软软软软软 件件件件件件 工工工工工工 程程程程程程同步线同步线6.3.3 用活动图表示用例用活动图表示用例考生考试的活动图考生考试的活动图 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.4 生成用例图生成用例图执行者和用例之间的关系:执行者和用例之间的关系:触发执行和信息交换。(可能同触发执行和信息交换。(可能同时兼具这两种关系)时兼具这两种关系)从执行者指向用例的边表示触发执行从执行者指向用例的边表示触发执行/ /信息交换;而从用例信息交换;而从用例指向执行者的边表
31、示用例将其生成的信息传递给执行者。指向执行者的边表示用例将其生成的信息传递给执行者。UMLUML的用例和用例之间的关系:的用例和用例之间的关系:使用关系和扩展关系。使用关系和扩展关系。使用关系:如果有一个公共的动作序列存在于多个用例中,使用关系:如果有一个公共的动作序列存在于多个用例中,为避免重复,并使需求模型更简洁,可以将公共动作序列抽为避免重复,并使需求模型更简洁,可以将公共动作序列抽出来构成新的独立用例。这样,原来的多个用例与新的用例出来构成新的独立用例。这样,原来的多个用例与新的用例之间便通过使用关系来连接。之间便通过使用关系来连接。扩展关系:如果一个用例的动作序列完全包含另一个用例的
32、扩展关系:如果一个用例的动作序列完全包含另一个用例的动作序列,且前者含有后者所不具备的一些特殊情况下的处动作序列,且前者含有后者所不具备的一些特殊情况下的处理动作,则称前者扩展后者。理动作,则称前者扩展后者。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.4 生成用例图生成用例图学生考试用例学生考试用例 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.5 建立顶层架构建立顶层架构UML包图:对类进行分组的一种机制。包图:对类进行分组的一种机制。包间的两种关系:依赖和构成。包间的两种关系:依赖和构成。依赖关系:如果对类依赖关系:如果对类A的修改将导致类的修改将导致类
33、B的改变,则称的改变,则称B依依赖于赖于A。构成关系:是指包可以嵌套,即包中不仅可包含类,还可构成关系:是指包可以嵌套,即包中不仅可包含类,还可以包含子包。以包含子包。 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.5 建立顶层架构建立顶层架构考试系统包图考试系统包图 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.6 建立领域概念模型建立领域概念模型UML类图:类图:类表示概念,用类图表示领域概念模型。类表示概念,用类图表示领域概念模型。类图图元:类图图元:类的名称、属性列表、方法列表。类的名称、属性列表、方法列表。类间关系:类间关系:继承、聚集、关联和依赖。继
34、承、聚集、关联和依赖。继承关系:继承关系:表示子类重用父类的属性和操作,子类的对象表示子类重用父类的属性和操作,子类的对象也也是父类的对象,有时也称父类是子类的泛化。子类继承了父是父类的对象,有时也称父类是子类的泛化。子类继承了父类的所有属性和操作,但每个子类又有自己的特殊属性,也类的所有属性和操作,但每个子类又有自己的特殊属性,也就是说父类所具有的属性和操作,子类肯定有,父类能够完就是说父类所具有的属性和操作,子类肯定有,父类能够完成的工作子类肯定能完成,反之不然。成的工作子类肯定能完成,反之不然。 软软软软软软 件件件件件件 工工工工工工 程程程程程程例如在下图所示的泛化关系中,例如在下图
35、所示的泛化关系中,“题库题库”类是比类是比“选择题选择题”类、类、“判断题判断题”类和类和“程序设计题程序设计题”类更普遍的概念,相类更普遍的概念,相反反“选择题选择题”类是比类是比“题库题库”类更特殊的概念。这样类更特殊的概念。这样“题题库库”是一个父类,是一个父类,“选择题选择题”、“判断题判断题”和和“程序设计程序设计题题”是这个父类的子类。父类的是这个父类的子类。父类的“题号题号”、“试题类型试题类型”、“试题属性试题属性”全部被子类继承,但每个子类又都有自己的全部被子类继承,但每个子类又都有自己的特殊属性,比如判断题类的属性特殊属性,比如判断题类的属性“标准答案标准答案”,而父类没,
36、而父类没有。有。6.3.6 建立领域概念模型建立领域概念模型 软软软软软软 件件件件件件 工工工工工工 程程程程程程6.3.6 建立领域概念模型建立领域概念模型继承关系继承关系/ /泛化关系泛化关系 软软软软软软 件件件件件件 工工工工工工 程程程程程程聚集关系:聚集关系:对部分整体关系的直接模拟。分普通聚集和对部分整体关系的直接模拟。分普通聚集和构成关系两种。构成关系两种。普通聚集和构成是两种类型的关联,它们是对现实世界中普通聚集和构成是两种类型的关联,它们是对现实世界中部分和整体关系的直接模拟。在普通聚集关系中,一个部件部分和整体关系的直接模拟。在普通聚集关系中,一个部件类对象可同时参与多个整体类对象。在构成关系中,一个部类对象可同时参与多个整体类对象。在构成关系中,一个部件类对象在任意时刻只能参与一个整体类对象,部件类对象件类对象在任意时刻只能参与一个整体类对象,部件类对象与整体类对象共存亡。与整体类对象共存亡。在在UMLUML中用空心菱形记号表示普通聚集关系,用实心菱形中用空心菱形记号表示普通聚集关系,用实心菱形表示构成关系。菱形在整体一端。左图为聚合关系,右图为表示构成关系。菱形在整体一端。左图为聚合关系,右图为组合关系。组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西桂林航天工业学院招聘高层次人才10人备考题库及参考答案详解1套
- 2025贵州遵义市余庆县招聘城镇公益性岗位人员9人备考题库及参考答案详解一套
- 2026年淮南安徽理工大学科技园技术经理人招募考试参考试题及答案解析
- 2026中国农业科学院生物技术研究所作智能设计与改良团队博士后招聘备考题库及1套完整答案详解
- 2026福建厦门市湖里区产业投资集团有限公司人员招聘1人备考考试题库及答案解析
- 2026内蒙古呼和浩特市自媒体协会招聘视频拍摄剪辑、编导运营、活动策划执行等岗位备考题库完整参考答案详解
- 2025贵州铜仁市德江县消防救援大队冬季招聘政府专职消防员30人备考题库(含答案详解)
- 2026年合肥理工学院编外人员招聘12名备考题库及完整答案详解一套
- 2026中科华轨航空产业发展(天津)有限公司招聘6人备考题库及1套完整答案详解
- 2026北京市大兴区旧宫医院第一批招聘临时辅助用工3人备考题库有答案详解
- 2025年农村人居环境五年评估报告
- 《开学第一课:龙马精神·梦想起航》课件 2025-2026学年统编版语文七年级下册
- 2026年洪湖市事业单位人才引进100人参考考试题库及答案解析
- 2026年中好建造(安徽)科技有限公司第一次社会招聘42人笔试参考题库及答案解析
- 北京市海淀区2025一2026学年度第一学期期末统一检测历史(含答案)
- 小拇指培训课件
- 紧急护理人力资源应急资源储备
- GB/T 22182-2025油菜籽叶绿素含量的测定分光光度计法
- 2026吉林长春汽车经济技术开发区招聘编制外辅助岗位人员69人考试备考试题及答案解析
- 2024年基层社会治理专题党课
- 消防培训案例课件
评论
0/150
提交评论