2023上半年软考系统分析师科目一整理-01
- 1. 面向对象
- 2. UML
1. 面向对象
- 面向对象分析中,对象是类的实例。对象的构成成分包含了(A),属性和方法(或操作)。A.标识 B.消息 C.规则 D.结构
对象的三要素为:属性(数据)、方法(操作)、对象ID(标识)。
- 面向对象分析中,类与类之间的 “IS-A”关系的是一种(C),类与类之间的“IS-PART-OF”关系是一种(D)。A.依赖关系 B. 关联关系 C. 泛化关系 D. 聚合关系A.依赖关系 B. 关联关系 C. 泛化关系 D. 聚合关系
is-a基于类继承或接口实现,is-a是表达:“这个东西是那个东西的一种”。例如:哈士奇是一种狗。has-a关系是基于用法(即引用)而不是继承。如类A中的代码具有对类B实例的引用,则“类A has-a类B”。例如:狗有衣服。is part of是一种整体与部分的关系。例如:狗的眼睛属于狗身上的整体。
- 面向对象分析中,构建用例模型一般分为四个阶段,其中,除了(D)阶段之外,其它阶段是必需的。A.识别参与者 B.合并需求获得用例C.细化用例描述 D.调整用例模型
- 类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以划分为不同种类。身份验证通常属于(A),用户通常属于(B)。A.控制类 B.实体类 C.边界类 D.接口类A.控制类 B.实体类 C.边界类 D.接口类
- 类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以分为实体类、边界类和控制类。下面用例描述中属于控制类的是(A)。A.身份验证 B. 用户 C. 通信协议 D. 窗口
采用面向对象技术设计银行信息系统,“账户类”应设计为(D), “账户管理 员类”应设计为(A)。A.控制类 B.边界类 C.接口类 D.实体类A.控制类 B.边界类 C.接口类 D.实体类
在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。
实体类实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从SRS中的那些与数据库表(需要持久存储)对应的名词着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。控制类控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类的实例)通常控制其他对象,因此,它们的行为具有协调性。控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控制类没有属性,但一定有方法。边界类边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处理。
- 面向服务(Service-Oriented,SO)的开发方法将(A)的定义与实现进行解耦,并将跨构件的功能调用暴露出来。该方法有三个主要的抽象级别,最低层的(C)代表单个逻辑单元的事物,包含特定的结构化接口,并且返回结构化的响应;第二层的服务代表操作的逻辑分组;最高层的(B)则是为了实现特定业务目标而执行的一组长期运行的动作或者活动。A.接口 B.功能 C.活动 D.用例A.类 B.对象 C.操作 D.状态A.业务规则 B.业务流程 C.数据流 D.控制流
OO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented,SO)的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。SO方法有三个主要的抽象级别,分别是操作、服务和业务流程。位于最低层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应;位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件。
- 如何选择一个合适的开发方法,以保证在多变的市场环境下,在既定的预算和时间要求范围内,开发出让用户满意的信息系统,是系统分析师必须要面对的问题。(B)方法使系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人员的交流与沟通,缩短开发周期,提供系统开发的正确性和效率。(D)方法以粗粒度、松散耦合的系统功能为核心,强调系统功能的标准化和构件化,加强了系统的灵活性、可复用性和可演化性。A.结构化 B.面向对象 C.原型化 D.面向服务A.结构化 B.面向对象 C.原型化 D.面向服务
- 面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。在常见的测试技术中,(A)属于方法层次的测试,(D)属于类层次的测试。A.等价类划分测试和多态消息测试 B.不变式边界测试和递归函数测试C.组合功能测试和非模态类测试 D.不变式边界测试和模态类测试A.等价类划分测试和多态消息测试 B.不变式边界测试和递归函数测试C.组合功能测试和非模态类测试 D.不变式边界测试和模态类测试
面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。方法层次的测试类似于传统软件测试中对单个函数的测试,常用的测试技术包括等价类划分测试、组合功能测试、递归函数测试和多态消息测试等。类层次的测试主要包括不变式边界测试、模态类测试和非模态类测试。类树层次的测试主要包括多态服务测试和展平测试。
- 以下关于面向对象设计的叙述中,错误的是(D)。A.类的属性用于封装数据,类的方法用于封装行为B.面向对象设计的基本思想包括抽象、封装和可扩展性C.对象继承和多态可用来实现可扩展性D.对象持久化是指将数据库中的数据加载到内存中供应用程序访问
类是面向对象类型扩展的重要机制,利用属性和方法将数据和与数据相关的行为封装起来。面向对象设计的基本思想包括抽象、封装和可扩展性,其可扩展性是通过对象继承和多态来实现。对象持久化是将内存中的数据以数据库或物理文件的形式保存到可永久存储的设备中。
- 关于用例和类,错误的说法是(D)。A.两者都属于模型图的构成元素B.存在抽象用例和抽象类C.类图描述系统的部分静态视图,用例图描述系统与用户之间的交互视图D.两者都可以用来描述系统的内部结构
用例描述业务场景或事件,系统必须对这些场景或事件提供确定的响应,是用例图的主要结构元素,用例图用来描述系统与外部系统以及用户之间的交互视图。类是共享相同属性和行为的对象集合,是类图的主要组成元素,类图是系统静态对象结构的图形描述。抽象用例通过组合几个用例公共的步骤降低用例之间的冗余,抽象类是包含一种或多种抽象方法的类,它本身不需要构造实例。
- 适用于描述复杂算法的执行流程。A.活动图 B.状态图 C.类图 D.用例图
活动图用来描述一个业务流程,说明活动之间的依赖关系。状态图显未出对象可能的状态以及由状态改变而导致的转移。活动图和状态图之间是有关系的。状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程中的动作流程。类图通过显示出系统的类以及这些类之间的关系来表示系统,是系统静态对象结构的图形描述。用例图用来描述系统与外部系统以及用户之间的交互视图,强调这个系统是什么而不是这个系统怎么工作。
- 在面向对象方法中,信息流是通过向参与者或内部对象发送消息形成的。(B)用于描述进出系统的信息流。A.协作图 B.顺序图 C.数据流图 D.流程图
状态图描述了一个对象在其生命周期中可能的状态组合;顺序图用来描述对象按照时间顺序的消息流来建模用例;数据流图是一种描述数据通过系的流程以及系统实施的工作或处理过程的过程模型;流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程。
- 面向对象设计是模型驱动和用例驱动的,整个设计过程将(D)作为输入,并生成(D)作为输出。A.逻辑数据流图 B.设计文档和用户说明 C.需求类图 D.需求模型A.物理数据流图 B.设计文档和用户说明C.设计类图和系统顺序图 D.设计模型
面向对象设计是模型驱动和用例驱动的,整个设计过程将面向对象分析阶段所产生的需求模型作为输入,并生成供构建阶段使用的设计模型作为输出。
- 雇员类含有计算报酬的行为,利用面向对象的(A),可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。A. 多态性 B. 继承性 C. 封装性 D. 复用性
- 面向对象分析的一项重要任务是发现潜在对象并进行筛选,错误的做法是删除(B)。A. 系统范围之外的名词 B. 表示事件的名词C. 不具有独特行为的名词 D. 一个对象的同义词
- 面向对象分析的任务不包含(C)。A. 建模系统功能 B. 发现并确定业务对象C. 建模各对象的状态 D. 组织对象并确定对象间的关系
面向对象分析基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为以及对象之间的关系。面向对象分析包括3个活动:建模系统功能;发现并且确定业务对象:组织对象并确定其关系。
2. UML
- UML2.0所包含的图中,(B)描述由模型本身分解而成的组织单元,以及他们之间的依赖关系。A.组合结构图 B.包图 C.部署图 D.构件图
UML所包括的图形中,(C)将进程或其他计算结构展示为计算内部的控制流和数据流,主要用来描述系统的动态视图。A.流程图 B.通信图 C.活动图 D.协作图
UML中,序列图的基本元素包括(C)。A.对象、生命线和泳道 B.对象、泳道和消息C.对象、生命线和消息 D.生命线、泳道和消息
UML中,静态视图描述事务的静态结构,主要包括(A);交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,主要包括(D)。A.用例图、类图、包图 B.用例图、组件图、部署图C.类图、对象图、状态图 D.组件图、协作图、包图A.活动图、状态图 B.序列图、状态图 C.活动图、协作图 D.序列图、协作图
在UML2.0中,(A)强调消息跨越不同对象或参与者的实际时间,而不仅仅关心消息的相对顺序;它能够(C)。A.定时图 B.通信图 C.顺序图 D.交互概览图A.表示对象之间的组织结构B.直观地表示对象之间的协作关系C.把状态发生变化的时刻以及各个状态所持续的时间具体地表示出来D.确定参与交互的执行者
UML 2.0所包含的图中, ( D)将进程或者其他结构展示为计算内部一步步的控制流和数据流; ( B)描述模型本身分解而成的组织单元以及它们之间的依赖关系;(C )描述运行时的处理节点以及在其内部生存的构件的配置。A.用例图 B.通信图 C.状态图 D.活动图A.类图 B.包图 C.对象图 D.构件图A.组合结构图 B.制品图 C.部署图 D.交互图
UML中的( A)主要用于参与者与系统中对象之间的交互,以及这些对象之间交互的建模。A.顺序图 B.活动图 C.用例图 D.状态图
类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。构件图(component diagram)。构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。组合结构图(composite structure diagram)。组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。用例图(use case diagram)。用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。顺序图(sequence diagram,序列图)。顺序图是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。构成序列图的基本元素包括对象、生命线和消息,还可以包括角色和激活期两种元素。泳道在UML活动图中区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。序列图(Sequence Diagram)是场景(scenario)的图形化表示,描述了以时间顺序组织的对象之间的交互活动。通信图(communication diagram)。通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X版本中,通信图称为协作图(collaboration diagram)。定时图(timing diagram,计时图)。定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。状态图(state diagram)。状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。活动图(activity diagram)。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。部署图(deployment diagram)。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。制品图(artifact diagram)。制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。包图(package diagram)。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。交互概览图(interaction overview diagram)。交互概览图是活动图和顺序图的混合物。是UML 2.0新增的交互图之一,它是活动图的变体,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行连接,抽象掉了消息和生命线。
- UML的结构包括构造块、规则和公共机制三个部分。在基本构造块中,(C)能够表示多个相互关联的事物的集合;规则是构造块如何放在一起的规定,包括了(D)公共机制中,(A)是关于事物语义的细节描述A.用例描述 B.活动 C.图 D.关系A.命名、范围、可见性和一致性 B.范围、可见性、一致性和完整性C.命名、可见性、一致性和执行 D.命名、范围、可见性、完整性和执行A.规格说明 B.事物标识 C.类与对象 D.扩展机制
(1)构造块。UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。(2)公共机制。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制四种。规格说明是事物语义的细节描述,它是模型真正的核心;UML为每个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;UML包括两组公共分类,分别是类与对象(类表示概念,而对象表示具体的实体)、接口与实现(接口用来定义契约,而实现就是具体的内容);扩展机制包括约束(扩展了UML构造块的语义,允许增加新的规则或修改现有的规则)、构造型(扩展UML的词汇,用于定义新的构造块)和标记值(扩展了UML构造块的特性,允许创建新的特殊信息来扩展事物的规格说明)。(3)规则。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。
- 面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中,交互模型包括(A),其他行为模型还有(D)。A.顺序图和协作图 B.顺序图和状态图 C.协作图和活动图 D.状态图和活动图A.顺序图和协作图 B.顺序图和状态图 C.协作图和活动图 D.状态图和活动图
多种UML图有其严格的分类,首先分为静态图和动态图。其中动态图又有一个细化的分类:交互图,交互图包括顺序图(序列图)与通信图(协作图)。
- 某在线交易平台的“支付”功能
下一篇:软考备考经验分享