首页 > 其他分享 >软件设计师之软件工程复习

软件设计师之软件工程复习

时间:2023-08-13 21:32:48浏览次数:37  
标签:复习 对象 系统 软件工程 模块 数据流 设计 设计师 数据

数据流图

数据流图(Data Flow Diagram,缩写为DFD)是一种图形化的工具,用于描述系统或过程中的数据流动和处理。它主要用于分析、设计和描述信息系统的功能,并以图形化的方式表示系统中的数据流、数据存储、处理过程和数据来源与目标之间的关系。

数据流图使用各种符号来表示系统中的不同元素。以下是常用的符号及其含义:

  1. 进程(Process):表示对数据进行处理或转换的功能模块。
  2. 数据流(Data Flow):表示在系统中传输的数据。
  3. 数据存储(Data Store):表示系统中的数据存储位置,如数据库、文件等。
  4. 外部实体(External Entity):表示与系统交互的外部对象,如用户、其他系统等。
  5. 数据流箭头(Data Flow Arrow):表示数据在不同元素之间的流动方向。

通过将这些符号组合在一起,数据流图可以清晰地展示系统中各个组成部分之间的关系,包括数据的来源和去向,数据的处理过程以及数据存储的位置。这有助于开发人员和利益相关者更好地理解系统的功能和流程,并在分析、设计和改进系统时提供一个可视化的依据。

数据流图是软件工程师在需求分析和系统设计阶段经常使用的工具之一,它可以帮助开发人员识别系统中的问题、优化数据流和流程,并用于与利益相关者沟通和验证需求。


以下关于数据流图基本加工的叙述中,不正确的是 ( ) 。

A. 对每一个基本加工,必须有一个加工规格说明

B. 加工规格说明必须描述把输入数据流变换为输出数据流的加工规则

C. 加工规格说明需要给出实现加工的细节

D. 决策树、决策表可以用来表示加工规格说明


软件设计原则

以下关于好的软件设计原则的叙述中,不正确的是 ( ) 。

A. 模块化 B. 提高模块独立性 C. 集中化 D. 提高抽象层次


活动图

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动, 则里程碑 (17) 在关键路径上,关键路径长度为 (18) 。

软件设计师之软件工程复习_软件设计师

(17)A. B B. E C. G D. I

(18)A. 15 B. 17 C. 19 D. 23


沟通路径

由 8 位成员组成的开发团队中,一共有 ( ) 条沟通路径。

A. 64 B. 56 C. 32 D. 28

增量模型

以下关于增量模型优点的叙述中,不正确的是 ( ) 。

A. 能够在较短的时间提交一个可用的产品系统

B. 可以尽早让用户熟悉系统

C. 优先级高的功能首先交付,这些功能将接受更多的测试

D. 系统的设计更加容易


敏捷开发

以下敏捷开发方法中, ( ) 使用迭代的方法,把一段短的时间(如 30 天)的迭代称为一个冲刺,并按照需求优先级来实现产品。

A. 极限编程(XP) B. 水晶法(Crystal) C. 并列争求法(Scrum) D. 自适应软件开发(ASD)


模块设计

若模块 A 通过控制参数来传递信息给模块 B,从而确定执行模块 B 中的那部分语句。则这两个模块的耦合类型是 (31) 耦合。

A. 数据 B. 标记 C. 控制 D. 公共


可移植性设计

在设计中实现可移植性设计的规则不包括 (32) 。

A. 将设备相关程序和设备无关程序分开设计

B. 可使用特定环境的专用功能

C. 采用平台无关的程序设计语言

D. 不使用依赖于某一平台的类库


管道—过滤器软件体系结构

以下关于管道—过滤器软件体系结构风格优点的叙述中,不正确的是 (33) 。

A. 构件具有良好的高内聚、低耦合的特点

B. 支持软件复用

C. 支持并行执行

D. 适合交互处理应用


测试用例

以下流程图中,至少需要 (34) 个测试用例才能覆盖所有路径。采用 McCabe 方法计算程

序复杂度为 (35) 。

(34) A. 3 B. 4 C. 5 D. 6

(35) A. 2 B. 3 C. 4 D. 5


用户界面

在软件系统交付给用户使用后,为了使用户界面更友好,对系统的图形输出进行改进,该行为属于 (36) 耦维护。

A. 改正性 B. 适应性 C. 改善性 D. 预防性


面向对象

采用面向对象方法开发学生成绩管理系统,学生的姓名、性别、出生日期、期末考试成绩、 查看成绩操作均被 (37) 在学生对象中。系统中定义不同类,不同类的对象之间通过 (38) 进 行通信。

(37) A. 封装 B. 继承 C. 多态 D. 信息

(38) A. 继承 B. 多态 C. 消息 D. 重载

对采用面向对象方法开发的系统进行测试时,通常从不同层次进行测试。测试类中定义的每 个方法属于 (39) 层。

(39) A. 算法 B. 类 C. 模板 D. 系统

在面向对象系统设计中,如果重用了一个包中的某个类,那么就要重用该包中的所有类,这属于 (40) 原则。

(40) A. 共同封闭 B. 共同重用 C. 开放—封闭 D. 接口分离

UML

以下关于 UML 序列图的描述是(41),下图所示 UML 图中消息可能执行的顺序是(42)。

(41) A. 系统在它的周边环境的语境中所提供的外部可见服务

B. 某一时刻一组对象以及它们之间的关系

C. 系统内从一个活动到另一个活动的流程

D. 以时间顺序组织的对象之间的交互活动

(42) A. a→b→c→a→b B. c C. a→b→a→b→c D. a→b→c→a→b→c

UML 包图展现由模型本身分解而成的组织单元及其依赖关系,以下关于包图的叙述中,不正确的是 (43) 。

(43) A. 可以拥有类、接口构件、节点 B. 一个元素可以被多个包拥有 C. 一个包可以嵌套其他包 D. 一个包内元素不能重名


设计模式

在某招聘系统中,要求实现求职简历自动生成功能。简历的基本内容包括求职者的姓名、性别、年龄及工作经历等。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 针对此需求,设计如下所示的类图。该设计采用了 (44) 模式,由 xx 示例指定创建对象的种类,声明一个复制自身的接口,并且通过复制这些 Resume xx WorkExperience 的对象来创建新的 对象。该模式属于 (45) 模式。

(44) A. 单例(Singleton) B. 抽象工厂(Abstract Factory) C. 生成器(Builder) D. 原型(Prototype)

(45) A. 混合型 B. 行为型 C. 结构型 D. 创建型

某旅游公司欲开发一套软件系统,要求能根据季节,节假日等推出不同的旅行定价包,如淡 季打折、一口价等。实现该要求适合采用 (46) 模式,该模式的主要意图是 (47) 。

(46) A. 策略模式(Strategy) B. 状态(State) C. 观察者(Observer) D. 命令(Command)

(47) A. 将一个请求封装为对象,从而可以用不同的请求对客户进行参数化

B. 当一个对象的状态发生改变时,依赖于它的对象都得到通知并被自动更新

C. 允许一个对象在其内部状态改变时改变它的行为

D. 定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

Python 编程

Python 中采用于 (48) 原方法来获取一个对象的类型。

(48) A. str() B. type() C. id() D. object()

在 Python 语言中,语句 x = (49) 不能定义一个元组。

(49) A. (1, 2, 1, 2) B. 1, 2, 1, 2 C. tuple() D. (1)

关于 Python 语言的叙述中,不正确的是 (50) 。

(50) A. for 语句可以用在序列(如列表、元组和字符串)上进行迭代访问

B. 循环结构如 for 和 while 后可以加 else 语句

C. 可以用 if...else 和 switch...case 语句表示选择结构

D. 支持嵌套循环

标签:复习,对象,系统,软件工程,模块,数据流,设计,设计师,数据
From: https://blog.51cto.com/u_15749550/7069693

相关文章

  • 复习:矩阵快速幂
    前言emmm太久了忘了许多写笔记来复习一下概念矩阵乘法什么是矩阵乘法?给你两个矩阵\(a,b\)则令\(c=a*b\)有\(c_n=a_n\),\(c_m=b_m\)\[\sum\limits_{i=1}^{c_n}\sum\limits_{j=1}^{c_m}c_{i,j}\sum\limits_{k=1}^{a_m}a_{i,k}*b_{k,j}\]两个矩阵做乘法的前提:\(a_m=b_n\)......
  • python复习笔记
    文件操作w=open("c://....","r"或"w"或"a",encoding='utf-8')#字符串后跟b表示二进制文件w.readlines()#读出所有行存入listw.readline()#读出一行,若读完了返回""w.read()#读出所有字符构成字符串w.write("abab")#写入w.close()#关闭impo......
  • 复习 - Java 基本语法
    前言有两年没有怎么使用过Java了,重新复习一下基础的内容,特此记录。视频课程为B站尚硅谷宋红康java基础视频。关键字和保留字关键字定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中的所有字母都为小写保留字定义:现有的Java版本尚未使用,但以后版本......
  • SpringBoot复习:(21)自定义ImportBeanDefinitionRegistrar
    要达到的目的:将某个包下使用了某个自定义注解(比如@MyClassMapper)的类注册到Spring容器。一、自定义注解:packagecom.example.demo.service;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)publ......
  • SpringBoot复习:(20)如何把bean手动注册到容器?
    可以通过实现BeanDefinitionRegistryPostProcessor接口,它的父接口是BeanFactoryPostProcessor.步骤:一、自定义一个组件类:packagecom.example.demo.service;publicclassMusicService{publicMusicService(){System.out.println("musicserviceconstructed!......
  • SpringBoot复习:(19)Condition接口和@Conditional注解
    Condition接口代码如下:publicinterfaceCondition{ booleanmatches(ConditionContextcontext,AnnotatedTypeMetadatametadata);}它是一个函数式接口,只有一个方法matches用来表示条件是否满足。matches方法中的ConditionContext类对象context可以通过getEnvironment方法获......
  • 电路知识复习-1
    两个常用的电路计算方法网孔电流法将每个网孔的电流值设定为\(I_i\),然后采用KVL写出来每一个回路的方程,最后对于方程进行代换即可。列方程的时候,需要将原本的电流值采用参考方向对应的电流合成方法,用网孔电流表示出来。这个实际上是列方程采用KVL,采用KCL代还电流值的方法,两个基......
  • 软件设计师考试(软考)
    1、考试时间5月或11月;报名时间4月或10月,提前关注官网https://www.ruankao.org.cn/2、考试题型,上午单选,75题,每题1分,45分过;下午5道大题,每题15分,45分过,上下午都考过才算过3、关于备考1)买一本教材,第五版软件设计师,蓝皮的,一共12章,可以大致浏览每章内容,几乎每一章都会考到......
  • 软件设计师之计算机网络复习
    OSI七层模型在OSI七层模型中,负责对应用层消息进行压缩和加密功能的层次是表示层(PresentationLayer)。表示层位于应用层和会话层之间,是数据在网络之间传输前进行格式转换、加密和压缩的层次。它主要负责以下几个方面的功能:数据格式转换:表示层可以将应用层数据转换为一种适合在网络上......
  • 复习消息队列之RabbitMQ
    概念:RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。对比:RabbitMQ对......