如何评测软件工程知识技能水平?
一、评测软件工程知识技能水平
掌握软件工程知识技能水平,必须了解和掌握软件工程的基本概念和知识,包括软件工程的范畴、软件过程、软件生命周期模型、软件需求、面向对象分析、面向对象设计、实现与集成、维护、测试。能够掌握和运用面向对象软件工程的理论和方法,分析设计软件项目。具体主要包括:掌握软件工程专业工程基础理论知识和专业知识,且能将其应用于解决相关问题;运用用例图、类图、时序图等面向对象软件工程分析和设计的方法描述目标软件的规格说明和设计;掌握软件生命周期要素,了解多种软件生命周期模型,了解软件项目管理、软件团队及软件复用的基本概念和方法。
二、选择题(题目来自MOOC北京大学软件工程测试题)
1. 单选题:下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。
A.演化模型 B.瀑布模型 C.喷泉模型 D.增量模型
2. 单选题:下列软件哪个最适合采用敏捷开发方法(D)
A.Windows B.铁路12306购票网 C.学生成绩管理系统 D.小型创业项目软件
3. 单选题:敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是(D)
A.对于用户来说,通过直观、简单的界面呈现出恰当特征的程序
B.对于软件设计者来说,通过简单、直观的划分,使其具有最小耦合的内部结构
C.对于开发人员来说,每周都会取得一些重大进展
D.对于软件管理者来说,只需要做很少的管理工作
4. 单选:UML中的类没有体现下列哪一项软件设计原理___C___。
A.数据抽象
B.过程抽象
C.功能抽象
D.信息隐蔽
5. 单选题:单元测试计划、集成测试计划、确认测试计划分别在(D)阶段制定。
A.详细设计、需求分析、总体设计
B.总体设计、详细设计、需求分析
C.需求分析、总体设计、详细设计
D.详细设计、总体设计、需求分析
三、简答题(题目来自网络)
1. 说出3你所熟悉的设计模式,并简要描述。
参考答案:
单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。
原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。
工厂方法(Factory Method)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。
抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。
建造者(Builder)模式:将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。
代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。
适配器(Adapter)模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
2. 比较黑盒测试和白盒测试的优缺点。
参考答案:
黑盒测试的优点:适应于阶段测试,从产品功能角度测试,容易入手生成测试数据。
缺点:某些代码得不到测试,如果规格说明有误,可能无法发现,不易进行充分性测试。
白盒测试的优点:可构成测试数据使特定程序部分得到测试,有一定的充分性度量手段,可生成较多工具支持。
缺点:不易生成测试数据,无法对未实现规格说明的部分进行测试,作量大通常只用于单元测试有应用局限。