码迷,mamicode.com
首页 > 其他好文 > 详细

如何评测软件工程知识技能水平?

时间:2020-01-05 15:45:30      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:程序   page   public   面向   terminal   语句   逻辑   line   工程   

一名优秀的软件工程师应当具备以下的特点:

1. 注意遵循代码规范,遵循统一的代码规范有助于不同技术人员之间的协作,有助于减少开发过程中错误的产生。

2. 注重软件的测试,完整的测试是构建大型软件的基础,为了可以开发出高质量的产品,必须要编写单元测试和集成测试。

3. 注重相关实现文档的完善,具有优秀的写作能力。软件开发的文档能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,是构建合格软件的必须品。

4. 扎实的计算机基础知识,扎实的计算机基础有利于快速地解决bug,避免掉进bug的玄学旋涡,可以帮助编写出高性能的软件。

5. 重视团队间的沟通,注重团队合作能力的培养。

 

软件工程测试试卷

一、选择题

 

1. 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(  )。

  A.分析阶段  B.设计阶段  C.编码阶段  D.测试阶段

答案: C

来源: https://wenku.baidu.com/view/6bff8ed048649b6648d7c1c708a1284ac850052b.html

 

2. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试()。

A、结构合理性

B、软件外部功能

C、程序正确性

D、程序内部逻辑

答案:A

来源:https://wenku.baidu.com/view/41b1ade0534de518964bcf84b9d528ea81c72f3f.html

 

3. 下面几种白箱测试技术,哪种是最强的覆盖准则()

 A.语句覆盖   B.条件覆盖    C.判定覆盖     D.条件组合覆盖

答案: D

来源:https://www.nowcoder.com/questionTerminal/cc48563d90b2430ab51f7bceaab055ec?toCommentId=1176213

 

4. 内聚程度最低的是(      )内聚

A.偶然        B.过程      C.顺序      D.时间

答案:A

来源: https://www.nowcoder.com/questionTerminal/542bc952dd30468abc30d85c5a2aafda?orderByHotValue=1&page=1&onlyReference=false

 

5. ()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A. 多态性     B. 继承     C. 封装     D. 消息

答案:C

来源:https://wenku.baidu.com/view/63f475787fd5360cba1adb5a.html

 

6. 软件开发活动的顺序应该是 (  )。

A.问题定义、可行性研究、需求分析、设计、编码和测试

B.问题定义、设计、可行性研究、编码和测试

C.需求分析、设计、编码和测试

D.需求分析、编码和测试、试运行

答案:A

来源:https://wenku.baidu.com/view/6af039d7f605cc1755270722192e453610665b18.html

 

7. 面向对象的主要特征除对象唯一性、封装、继承外,还有 () 。

A.兼容性
B.多态性
C.完整性
D.可移植性

答案:B

来源:https://wenku.baidu.com/view/6889c212f08583d049649b6648d7c1c708a10b90.html

 

8. 需求分析最终结果是产生()

A.项目开发计划

B.需求规格说明书

C.设计说明书

D.可行性分析报告

答案:B

来源:https://wenku.baidu.com/view/7b2ecc1614791711cc791739.html

 

9. 需求分析阶段的任务是确定(  )。

 A.软件开发方法    B.软件开发工具

 C.软件开发费       D.软件系统的功能

答案:D

来源:https://wenku.baidu.com/view/bf26103411661ed9ad51f01dc281e53a5802515b.html

 

10. 软件部件的内部实现与外部可访问性的分离, 是指软件的()。
A、 继承性 B、 共享性 C、 封装性 D、 抽象性

答案:C

来源:https://wenku.baidu.com/view/0aaeee55842458fb770bf78a6529647d272834c4.html

 

二、简答题(来源于软件工程教材中的概念)

1. 什么是白盒测试?

答:是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正。

 

2. 软件危机的主要表现是什么?

答:(1)软件开发进度难以预测

(2)软件开发成本难以控制

(3)用户对产品功能难以满足

(4)软件产品质量无法保证

(5)软件产品难以维护

(6)软件缺少适当的文档资料

 

3. 软件过程是什么?列举几个常见的描述软件过程的模型?

答:软件过程是指为了获取高质量软件所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

常见的软件过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。

 

三、应用题

1. 每个国家的电压是不一样的, 中国室内的电压一般是220v,美国,日本的电压是110v,假设笔记本需要的电压是12.6v 这时,就需要适配器,将室内电压转为笔记本需要的电压。请使用熟悉的语言或者伪代码使用适配器模式模拟以上场景。

答案:

public interface ChinaVoltageInterface {
void use220v();
}
public class ChinaVoltageInterfaceImpl implements ChinaVoltageInterface {
@Override
public void use220v() {
System.out.println("this is 220v");
}
}
public interface NotebookVoltageInterface {
void use12v();
}

public class ChinaVoltageToNotebookAdapter implements NotebookVoltageInterface {
private ChinaVoltageInterface chinaVoltageInterface;
public ChinaVoltageToNotebookAdapter(ChinaVoltageInterface chinaVoltageInterface) {
this.chinaVoltageInterface=chinaVoltageInterface;
}

@Override
public void use12v() {
System.out.println("notebook use 12v ");
System.out.println(" notebook voltage use china voltage");
chinaVoltageInterface.use220v();
}
}

来源:https://www.jianshu.com/p/daf28a5f80aa

2. 交通一卡通自动充值软件系统需求如下:系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元。请为该系统设计黑盒测试用例。

答案:

若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
若选择充值按钮后不输入纸币,提示错误

来源:https://www.cnblogs.com/jane4321/p/11028956.html

如何评测软件工程知识技能水平?

标签:程序   page   public   面向   terminal   语句   逻辑   line   工程   

原文地址:https://www.cnblogs.com/ustc-yz/p/12152246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!