如何评测软件工程知识技能水平?
Posted qwertyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评测软件工程知识技能水平?相关的知识,希望对你有一定的参考价值。
选择题
1、软件设计中的(D)设计指定各个组件之间的通信方式以及各组件之间如何相互作用
A、数据
B、接口
C、结构
D、组件
2、UML是一种(A)
A、面向对象的程序设计语言
B、面向过程的程序设计语言
C、软件系统开发方法
D、软件系统建模语言
3、面向对象中的(C)机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类
A、封装
B、多态
C、继承
D、变异
4、下面关于类、对象和实例的叙述中,错误的是(C)
A、类是创建对象的模板
B、对象是类的实例
C、类是对象的实例
D、类是一组具有共同特征的对象集合
5、类是一组具有相同属性的和相同服务的对象的抽象描述,类中的每个对象都是这个类的一个(C)
A、例证
B、用例
C、实例
D、过程
6、类之间共享属性与服务的机制称为(D)
A、多态性
B、动态绑定
C、静态绑定
D、继承
7、一个对象通过发送(B)来请求另一个对象为其服务
A、调用语言
B、消息
C、命令
D、口令
8、下面的陈述中,对迭代开发和增量式开发秒搜狐错误的是(D)
A、迭代是时间定量的
B、系统是增量式增长的
C、迭代是以循环反馈和调整为核心驱动力的
D、当迭代无法依照时间表来集成、测试和稳定局部系统时,可以推迟完成日期
9、下面关于领域模型的描述,不正确的是(A)
A、领域模型就是软件对象图
B、应用UML表示法,领域模型被描述为一组没有定义操作的类图
C、创建领域模型的原因之一是帮助理解关键业务概念和词汇
D、领域模型和领域层使用相似的命令可以减少软件表示与我们头脑中的领域模型的差异
10、封装是指把对象的(A)结合在一起,组成一个独立的对象
A、属性和操作
B、信息流
C、消息和事件
D、数据的集合
11、封装是一种(C)技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开
A、工程化
B、系统维护
C、信息隐藏
D、产生对象
12、使得多个类能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是(B)
A、继承
B、多态性
C、约束
D、接口
13、顺序图和协作图主要用于对用例图中的(C)的建模,用它们来描述用例图的行为
A、数据流
B、控制流
C、消息流
D、数据字典
14、顺序图和协作图建立类UML面向对象开发过程中的对象动态(A)模型
A、交互
B、状态
C、体系结构
D、软件复用
15、UML中关联的多重度是指(C)
A、一个类有多个方法被另一个类调用
B、一个类的实例能够被另一个类的多个实例相关联
C、一个类的某个方法被另一个类调用的次数
D、两个类所具有的相同的方法和属性
16、软件测试通常采用黑盒测试和白盒测试。其中黑河测试根据软件的(A)设计测试用例,白盒测试根据软件的(C)设计测试用例
A、功能规格说明
B、需求说明
C、内部结构和逻辑
D、数据流图
17、原型化方法是动态确定软件需求的方法之一,该方法适应于(A)的系统
A、需求不确定性高
B、需求确定
C、结构简单
D、可移植性好
18、瀑布模型是传统的软件开发过程模型,他强调各阶段的严格性,其主要的缺点是(D)
A、需要软件人员和用户进行沟通
B、需要付出较高的维护成本
C、开发的软件不易于移植
D、不适应需求不确定的软件开发
19、软件设计中的(B)设计指定各个组件之间的通信方式以及各组件之间如何相互作用
A、数据
B、接口
C、结构
D、组件
20、UML提供了一系列的图支持面向对象的分析与设计,其中:
(F)给出系统的静态设计试图
(B)对系统的功能进行组织和建模是非常重要的
在描述系统动态视图的交互图,(C)描述了以时间顺序组织的对象之间的交互活动,(E)强调收发消息的对象的组织结构
A、状态图
B、用例图
C、序列图
D、部署图
E、协作图
F、类图
简答题
1、简述面向对象和面向过程
面向对象是把构成问题的事务按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。
面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用。
2、请简述为什么进行软件测试?软件测试的方法有哪些?
软件测试目的:为了发现软件中的错误
测试方法:
1. 黑盒测试:等价类划分,边界值分析
2. 白盒测试:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖
3、请写出软件生命周期每个阶段的名称?并写出每个阶段产生的软件文档?
软件的生命周期:
1. 市场调研 —— 调研报告,可行性研究报告
2. 需求分析 —— 需求分析规格说明书
3. 总体设计 —— 概要设计说明书
4. 详细设计 —— 详细设计说明书
5. 实现 —— 程序源文件
6. 软件测试 —— 测试报告
7.运行维护 —— 维护报告
4、需求分析与软件设计二个阶段任务的主要区别是什么?
需求分析定义软件的用户需求,即定义待开发软件能做什么
软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件
5、白盒测试中的逻辑覆盖有哪几种常用的覆盖技术?试对它们的检错能力进行比较。
(1)语句覆盖
(2) 判定覆盖 (比语句覆盖严格些)
(3) 条件覆盖(比单是判定覆盖要严格)
(4) 判定/条件测试 (条件覆盖也不一定满足判定覆盖,因为只符合条件覆盖的用例可能会不满足每个判定语句均有真值或假值出现。因此要两者兼顾)
(5) 条件组合覆盖 (是前两个覆盖的组合)
(6) 路径覆盖 (指设计足够的测试用例,覆盖被测程序中所有可能的路径)
条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准,在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。
应用题
1、用UML 类图 表示一组几何对象。组中的父类叫“几何单项”(GeometryItem),由此衍生出线(Line)、圆(Circle)、正方形(Square)、椭圆(Elipse)和多边形(Polygon)子类。椭圆有两个焦点,它们重合时就成了圆。正方形是多边形的一种。所有的GeometryItem都是由点(Point)组成的。
答案:
2、试描述下图中类之间的关系,包括其多重性的约束。其中,关联的角色名称是成员(member),类是委员会(Committee)和人(Person)。
答案:
一个委员会可以有3~5个成员,这些成员属于"person"类
一个人最多可以参加2个委员员,也可以不参加
3、找出下面过程中的参与者和用例,画出用例图
在某单位内部的工作通告中,有空缺地区的人力资源部通知该地区的员工及其他地区的人力资源部。作为对此消息的响应,来自不同地区的员工把他们的申请送到有空缺地区的人力资源部。
申请人的技能要与空缺所要求的相匹配。具有所要求技能的申请被列入到缩减的申请人名单并获得面试计划表。通知己列入缩减的申请人名单中的申请人有关面试的时间表。
根据面试程序,面试的材料将被更新,向所有己选的申请人发送一份新的录州信。 申请人通过接受或拒绝录用信来通知有空缺的人力资源部。
在员工接受录用之后,空缺地区的人力资源部将转职请求发送到该员工当前地区的人力资源部。各个地区处理转职材料并把它发送给己转职员工的新地区。然后空缺地区的人力资源部更新此员工的材料, 把凋动的文档发送给此员工。
答案:
参考文档
https://wenku.baidu.com/view/4fb88e265901020207409c85.html
https://www.cnblogs.com/chaunceyji/p/10024386.html
https://wenku.baidu.com/view/292df091ee06eff9aff80794.html
以上是关于如何评测软件工程知识技能水平?的主要内容,如果未能解决你的问题,请参考以下文章