免费智能真题库 > 历年试卷 > 软件设计师 > 2022年上半年 软件设计师 上午试卷 综合知识
  第38题      
  知识点:   面向对象开发技术   面向对象系统设计
  关键词:   面向对象   系统设计   依赖关系图   对象        章/节:   面向对象基础知识       

 
进行面向对象系统设计时,在包的依赖关系图中不允许存在环,即包之间的结构必须是-个无环图。这属于(38)原则。
 
 
  A.  单一责任
 
  B.  无环依赖
 
  C.  依赖倒置
 
  D.  里氏替换
 
 
 

  相关试题:面向对象基础知识          更多>  
 
  第33题    2023年下半年  
   0%
(45)设计模式将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤..
  第42题    2010年上半年  
   14%
以下关于面向对象设计的叙述中,错误的是(42)。
  第59题    2026年上半年  
   0%
UML中关联是一个结构关系,描述了一组链。两个类之间(40)关联。
   知识点讲解    
   · 面向对象开发技术    · 面向对象系统设计
 
       面向对象开发技术
               面向对象分析
               面向对象分析的目的是为了获得对应用问题的理解。理解的目的是确定系统的功能、性能要求。
               面向对象分析包含5个活动,即认定对象、组织对象、描述对象间的相互作用、定义对象的操作和定义对象的内部信息。
                      认定对象
                      在应用领域中,按自然存在的实体确立对象。在定义域中,首先将自然存在的"名词"作为一个对象,这通常是研究问题、定义域实体的良好开始。通过实体间的关系寻找对象常常没有问题,而困难在于寻找(选择)系统关心的实质性对象,实质性对象是系统稳定性的基础。
                      组织对象
                      分析对象间的关系,将相关对象抽象成类,其目的是为了简化关联对象,利用类的继承性建立具有继承性层次的类结构。抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑,如房子由门和窗构成,门和窗是房子类的子类。由对象抽象类,通过相关类的继承构造类层次,所以说系统的行为和信息间的分析过程是一种迭代表征过程。
                      描述对象间的相互作用
                      描述出各对象在应用系统中的关系,如一个对象是另一个对象的一部分、一个对象与其他对象间的通信关系等。这样可以完整地描述每个对象的环境,由一个对象解释另一个对象,以及一个对象如何生成另一个对象,最后得到对象的界面描述。
                      定义对象的操作
                      当考虑对象的界面时,自然要考虑对象的操作。其操作有从对象直接标识的简单操作,如创建、增加和删除等;也有更复杂的操作,如将几个对象的信息连接起来。一般而言,应避免对象太复杂,当连接的对象很复杂时,可将其标识为新对象。当确定对象的操作后,再定义对象的内部。对象内部定义包括其内部数据信息、信息存储方法、继承关系以及可能生成的实例数等属性。
               面向对象设计
               面向对象设计的含义是设计分析模型和实现相应源代码,在目标代码环境中这种源代码可被执行。设计期间必须充分考虑系统的稳定性,这会影响系统的结构。
               对象标识期间的目标是分析对象,设计过程也是发现对象的过程,称之为再处理。对象可以用预先开发的源代码实现,称这样的部分为构件。
               面向对象测试
               就测试而言,用面向对象方法开发的系统测试与其他方法开发的系统测试没有什么不同,在所有开发系统中都是根据规范说明来验证系统设计的正确性。程序调试步骤是从最底层开始,从单元测试、综合测试到系统测试。
               一般来说,对面向对象软件的测试可分为下列4个层次进行。
               (1)算法层。测试类中定义的每个方法,基本上相当于传统软件测试中的单元测试。
               (2)类层。测试封装在同一个类中的所有方法与属性之间的相互作用。在面向对象软件中类是基本模块,因此可以认为这是面向对象测试中所特有的模块测试。
               (3)模板层。测试一组协同工作的类之间的相互作用。大体上相当于传统软件测试中的集成测试,但是也有面向对象软件的特点(如对象之间通过发送消息相互作用)。
               (4)系统层。把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。
 
       面向对象系统设计
        面向对象系统设计(OOD)阶段对分析阶段给出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。设计阶段主要包括用例设计、类设计和子系统设计等。
        用例设计
        用例设计的主要目的如下:
        .利用交互改进用例实现。
        .调整对设计类的操作需求。
        .调整对子系统和(或)它们的接口的操作需求。
        .调整对封装体的操作需求。
        用例设计通常使用交互(特别是序列图)来说明系统的行为。当系统或者子系统的行为主要通过同步消息传递来说明时,序列图非常有用。由于消息序列通常没有严格的定义,因此,尤其是在事件驱动系统中,异步消息传递更容易利用状态机和协作来进行说明。
        类设计
        类是设计工作的核心,系统的实际工作其实也是由类执行的。子系统、包、封装体以及协作关系等其他设计元素只是说明了类的组合方式或协同操作方式。
        类设计的主要目的如下:
        .确保类可为用例实现提供必需的行为。
        .确保提供充足的信息来明确无误地实施类。
        .处理和类有关的非功能性需求。
        .包含用于类的设计机制。
        子系统设计
        子系统是一种模型元素,它具有包(可包含其他模型元素)和类(具有行为)的语义。子系统的行为由它所包含的类或其他子系统提供。子系统实现一个或多个接口,这些接口定义子系统可执行的行为。
        子系统设计的主要目的如下:
        .用所包含类的协作来定义在子系统接口中指定的行为。
        .记录子系统的内部结构。
        .定义子系统接口和包含类之间的实现关系。
        .确定对其他子系统的依赖关系。
   题号导航      2022年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第38题    在手机中做本题