免费智能真题库 > 历年试卷 > 信息系统监理师 > 2021年上半年 信息系统监理师 上午试卷 综合知识
  第21题      
  知识点:   面向对象方法   面向对象系统分析   面向对象系统分析的模型
  关键词:   面向对象   系统分析   对象        章/节:   软件与软件工程知识       

 
()不属于面向对象系统分析的模型。
 
 
  A.  对象-行为模型
 
  B.  类-对象模型
 
  C.  对象-关系模型
 
  D.  数据流-对象模型
 
 
 

 
  第33题    2014年上半年  
   45%
UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。(33)不属于这类视图。
  第35题    2017年下半年  
   52%
按照J2EE技术架构组成的应用系统至少分为三层,EJB包容器属于( )。
  第29题    2019年上半年  
   53%
类库、构件、模板和框架是软件开发过程中常用的几种提高软件质量、降低开发工作量的软件复用技术。( )是面向对象的类库的扩展,..
   知识点讲解    
   · 面向对象方法    · 面向对象系统分析    · 面向对象系统分析的模型
 
       面向对象方法
        在面向对象方法方面,主要考查面向对象的基本概念、数据隐藏、UML和构件等。
                      基本概念
                      面向对象方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。下面首先介绍面向对象方法的一些基本概念。
                             对象
                             在计算机系统中,对象是指一组属性及这组属性上的专用操作的封装体。属性可以是一些数据,也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。一个对象通常可由三部分组成,分别是对象名、属性和操作(方法)。
                             类
                             类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。在分析和设计时,通常把注意力集中在类上,而不是具体的对象上。通常把一个类和这个类的所有对象称为类及对象或对象类。
                             一个类通常可由三部分组成,分别是类名、属性和操作(方法)。每个类一般都有实例,没有实例的类是抽象类。抽象类不能被实例化,也就是说不能用new关键字去产生对象,抽象方法只需声明,而不需实现。抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。
                             是否建立了丰富的类库是衡量一个面向对象程序设计语言成熟与否的重要标志之一。
                             继承
                             继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,这些子类都是父类的特例。父类描述了这些子类的公共属性和操作,子类还可以定义它自己的属性和操作。一个子类只有唯一的父类,这种继承称为单一继承。一个子类有多个父类,可以从多个父类中继承特性,这种继承称为多重继承。对于两个类A和B,如果A类是B类的子类,则B类是A类的泛化。继承是面向对象方法区别于其他方法的一个核心思想。
                             封装
                             面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,外部不能对对象中的数据随意地进行访问,这就造成了对象内部数据结构的不可访问性,也使得数据被隐藏在对象中。封装的优点体现在以下三个方面。
                             (1)好的封装能减少耦合。
                             (2)类内部的实现可以自由改变。
                             (3)一个类有更清楚的接口。
                             消息
                             消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
                             多态性
                             多态性是指同一个操作作用于不同的对象时可以有不同的解释,并产生不同的执行结果。与多态性密切相关的一个概念就是动态绑定。传统的程序设计语言把过程调用与目标代码的连接放在程序运行前进行,称为静态绑定。而动态绑定则是指把这种连接推迟到运行时才进行。在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法连接,即动态绑定。
                             构件
                             构件(组件)是一个功能相对独立的具有可重用价值的软件单元。在面向对象方法中,一个构件由一组对象构成,包含了一些协作的类的集合,它们共同工作来提供一种系统功能。
                             可重用性是指系统和(或)其组成部分能在其他系统中重复使用的程度。软件开发的全生命周期都有可重用的价值,包括项目的组织、软件需求、设计、文档、实现、测试方法和测试用例,都是可以被重复利用和借鉴的有效资源。可重用性体现在软件的各个层次,通用的、可复用性高的软件模块往往已经由操作系统或开发工具提供,如通用库、标准组件和标准模板库等,它们并不需要程序员重新开发。
                      统一建模语言
                      UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
                      在这个知识点,要求掌握UML的图形和类之间的关系,以及用例之间的关系。
                             UML的图形
                             UML2.0包括14种图,分别列举如下。
                             (1)类图(Class Diagram):展现了一组类、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出了系统的静态设计视图。包含主动类的类图给出了系统的静态进程视图。
                             (2)对象图(Object Diagram):展现了一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
                             (3)构件图(Component Diagram):展现了一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
                             (4)组合结构图(Composite Structure Diagram):它可以描绘结构化类(例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的部件配置。组合结构图用于画出结构化类的内部内容。
                             (5)用例图(Use Case Diagram):展现一组用例、参与者(一种特殊的类)及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
                             (6)顺序图和通信图:两者都是交互图。交互图(Interaction Diagram)展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图(Sequence Diagram)是强调消息的时间次序的交互图;通信图(Communication Diagram)也是一种交互图,它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图所强调的概念不同,顺序图强调的是时序,通信图则强调消息流经的数据结构。
                             (7)状态图(State Diagram):展现一个状态机,它由状态、转移、事件和活动组成。状态图展现了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
                             (8)活动图(Activity Diagram):将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模特别重要,并强调对象间的控制流程。
                             (9),部署图(Deployment Diagram):展现了对运行时的处理结点及在其中生存的构件的配置。部署图给出了体系结构的静态部署视图,通常一个结点包含一个或多个部署图。
                             (10)制品图(Artifact Diagram):展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理位集合。制品图通常与部署图一起使用。制品也展现了它们实现的类和构件。
                             (11)包图(Package Diagram):展现了由模型本身分解而成的组织单元,以及它们的依赖关系。
                             (12)定时图(Timing Diagram):是一种交互图,它展现了消息跨越不同对象或角色的实际时间,而不仅仅只是关心消息的相对顺序。
                             (13)交互概览图(Interaction Overview Diagram):是活动图和顺序图的混合物。
                             用例之间的关系
                             两个用例之间的关系可以概括为两种情况:一种是用于重用的包含关系,用构造型include或use表示;另一种是用于分离出不同行为的扩展关系,用构造型extend表示。
                             (1)包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例很重要的部分功能时,应该使用包含关系来表示它们。
                             (2)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以断定将这个用例分为一个主用例和一个或多个辅用例进行描述可能更加清晰。
                             另外,用例之间还存在一种泛化关系。用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。例如,购买飞机票时,既可以通过电话订票,也可以通过网上订票,则订票用例就是电话订票和网上订票的抽象。
                             类之间的关系
                             (1)关联关系。描述了给定类的单独对象之间语义上的连接。关联提供了不同类之间的对象可以相互作用的连接。其余的关系涉及类元自身的描述,而不是它们的实例。用“”表示。
                             (2)依赖关系。有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。在UML中,使用带箭头的虚线“”表示依赖关系。
                             在类中,依赖由各种原因引起,例如,一个类向另一个类发送消息;一个类是另一个类的数据成员;一个类是另一个类的某个操作参数。如果一个类的接口改变,则它发出的任何消息都可能不再合法。
                             (3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是从父类继承的,而父类则是子类的泛化。在UML中,使用带空心箭头的实线“”表示泛化关系,箭头指向父类。
                             (4)聚合关系。聚合是一种特殊形式的关联,它是传递和反对称的。聚合表示类之间的关系是整体与部分的关系。例如一辆轿车包含4个车轮、一个方向盘、一个发动机和一个底盘,就是聚合的一个例子。在UML中,使用一个带空心菱形的实线“”表示聚合关系,空心菱形指向的是代表“整体”的类。
                             (5)组合关系。如果聚合关系中表示“部分”的类的存在与否与表示“整体”的类有着紧密的关系,例如“公司”与“部门”之间的关系,那么就应该使用“组合”关系来表示这种关系。在UML中,使用带有实心菱形的实线“”表示组合关系。
                             (6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类之中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。实现关系用“”表示。
                             (7)流关系。流关系将一个对象的两个版本以连续的方式连接起来。它表示一个对象的值、状态和位置的转换。流关系可以将类元角色在一次相互作用中连接起来。流的种类包括变成(同一个对象的不同版本)和复制(从现有对象创造出一个新的对象)两种。用“”表示。
 
       面向对象系统分析
        面向对象系统分析(OOA)阶段将运用面向对象的方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
        面向对象的分析模型
        面向对象的分析模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。
        .用例模型:可用若干幅用例图组成。用例描述了用户和系统之间的交互,其重点是系统为用户做什么。用例模型描述全部的系统功能行为。
        .类-对象模型:描述系统所涉及的全部类以及对象。每个类和对象都通过属性、操作来进行进一步描述。
        .对象-关系模型:描述对象之间的静态关系,同时定义了系统中所有重要的消息路径,它也可以具体化到对象的属性、操作。对象-关系模型包括类图和对象图。
        .对象-行为模型:描述了系统的动态行为。包括状态图、顺序图、协作图和活动图。
        面向对象的分析方法
        面向对象分析的主要目标如下:
        .描述用户需求。
        .建立软件设计的基础。
        .定义软件完成后可被确认的一组需求。
        面向对象的分析步骤
        (1)发现角色/参与者。
        (2)发现用例。
        (3)建立用例模型。
        (4)进行领域分析。
        (5)建对象-关系模型。
        (6)建立对象-行为模型。
        (7)建立功能模型。
 
       面向对象系统分析的模型
        面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。
        .用例模型:可用若干幅用例图组成。用例描述了用户和系统之间的交互,其重点是系统为用户做什么。用例模型描述全部的系统功能行为。
        .类-对象模型:描述系统所涉及的全部类以及对象。每个类和对象都通过属性、操作来进行进一步描述。
        .对象-关系模型:描述对象之间的静态关系,同时定义了系统中所有重要的消息路径,它也可以具体化到对象的属性、操作。对象-关系模型包括类图和对象图。
        .对象-行为模型:描述了系统的动态行为,包括状态图、顺序图、协作图和活动图。
   题号导航      2021年上半年 信息系统监理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第21题    在手机中做本题