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

一、名词解释:

1、重构(Refactoring):就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

2、多态(Polymorphism):接口多种不同的实现方式即为多态。

3、泛化(Generalization):泛化是一般性事物(称为超类或父类)和它的较为特殊种类(称为子类)之间的一种关系,有时称为“is-a-kind-of”关系。

4、依赖(Dependency):依赖是一种使用关系,用于描述一个事物使用另一事物的信息和服务。

二、选择题:

1、下列关于单元测试的说法,不正确的是(B)

A. 单元测试应该在最基本的功能/参数上验证程序的正确性。

B. 单元测试过后,机器状态可能会发生改变。

C. 单元测试应该产⽣可重复、⼀致的结果。

D. 单元测试应该覆盖所有代码路径。

解析:单元测试过后,机器状态保持不变。

2、(中国大学mooc,北京大学-软件工程课后题)Jack在Google工作,是公司市场组的一名成员。那么描述Jack的类目Employee和描述Google的类目Company之间是(A)关系。

A.关联 B.泛化 C.细化(实现)D.依赖

3、软件生命周期中所花费用最多的阶段是( D )。

A、详细设计    B、软件编码    C、软件测试      D、软件维护

4、(中国海洋大学, 2009,软件工程期末)面向对象的分析方法主要是建立三类模型,即( B )。

A、系统模型、E-R模型、应用模型         B、对象模型、动态模型、功能模型

C、E-R模型、对象模型、功能模型        D、对象模型、动态模型、应用模型

5、(中国海洋大学,2014,软件工程期末)瀑布模型的关键不足在于( B )

A、过于简单     B.不能适应需求的动态变更

C.过于灵活     D.各个阶段需要进行评审

6、(牛客网)下面不是面向对象的基本原则的是(C)?

A、单一职责原则(Single-Resposibility Principle)

B、开放封闭原则(Open-Closed principle)

C、抽象类原则(Abstract-Class principle)

D、依赖倒置原则(Dependecy-Inversion Principle)

E、接口隔离原则(Interface-Segregation Principle)

解析:、五大基本原则:单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)。

7、(中国海洋大学,2014,软件工程期末)结构化分析方法以数据流图、__D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

A.DFD图   B.PAD图   C.IPO图   D.数据字典

8、(牛客网)系统软件中主要包括操作系统,语言处理程序和(C)

A、用户程序 B、实时程序 C、实用程序 D、编程程序

解析:系统软件包括操作系统,语言系统和工具系统,工具系统也称为实用系统

9. (牛客网)工厂模式是比较常用的设计模式,它遵循了如下设计原则中的?( A )

A、单一职责原则 B、开放-封闭原则 C、依赖倒置原则 D、里氏代换原则

解析:单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

10、两个模块彼此传递的信息中有控制信息,这种耦合称为(  D  )

A  数据耦合   B  公共环境耦合   C  内容耦合      D  控制耦合

三、判断题:

1、 linux的find和grep指令,区别在于find是用来搜索文件内部文本的,grep是用来搜索文件的。(F)

解析:linux的find和grep指令,区别在于find是用来搜索文件的,grep是用来搜索文件内部文本的。

2、在设计需求分析的过程中,功能需求是主体,没有功能需求就没有非功能需求。(T)

3、是一种描述数据变换的图形工具,它包含的元素可以使数据流、数据存储、加工、数据源、数据潭等。(T)

4、(中国大学mooc,北京大学-软件工程课后题)所有的数据流图都可以看作变换型数据流图。(T)

5、编码风格由个人喜好决定,没有固定格式。(F)

6、软件工程学只有理论意义,没有实际用途。(F)

7、类图用来表示系统中类和类与类之间的关系,是对系统动态结构的描述。( F )

解析:类图用来表示系统中类和类与类之间的关系,是对系统静态结构的描述。

8、(中国海洋大学, 2009,软件工程期末)软件测试只能证明程序有错误,不能证明程序没有错误。( T )

9、UML 是一种面向对象的分析设计方法,即OOA/OOD 方法。(F)

解析:UML是一种面向对象的统一建模语言。

10、scrum模型是一个非敏捷的瀑布式开发模型。(F)

解析:scrum模型是一个敏捷开发模型。

四:简答题:

1、用例建模的步骤:

步骤1)从需求中派生(抽象)用例,

步骤2)描述每个用例何时何地开始以及何时结束(高级用例)。

步骤3)根据描述用例上下文使用用例图访问子系统/方面。

步骤4)关联用例,并在需要时与参与者进行关联。

步骤5)逐步指定参与者和系统如何交互以完成业务任务(扩展用例)。

2、领域建模的步骤:

1)收集应用程序领域信息

-集中于功能需求

-还考虑其他需求和文档

2)头脑风暴

--列出重要的应用领域概念

--列出它们的属性/属性

-列出它们彼此之间的关系

3)将域概念分类为:类-属性/属性值-关系:关联、继承、聚合

4) 使用UML类图记录结果

3、多态的三个必要条件是什么?

1.要有继承

2.要有方法的重写

3.父类引用指向子类对象

4、软件测试的步骤以及测试的对象是什么?

①单元测试,测试对象为单元模块

②集成测试:测试对象是组装后的程序模块

③确认测试:测试对象是可运行的目标软件系统。

5、软件生命周期 8 个时期?

问题定义,可行性研究,需求分析,总体设计(概要设计),详细设计,编码与单元测试,综合测试,运行维护。

6、(中国海洋大学,06-07,软件工程期末)培训中心要研制一个计算机管理系统,它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理,

(1)如果是报名的,则把报名数据送给负责报名事务的职员,他们将查询课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单给财务部门,财务人员开发票给学员。

(2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

(3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:(1)对以上问题画出数据流程图

     (2)画出该培训管理的软件结构图的主图。

如何评测软件工程知识技能水平?_第1张图片

你可能感兴趣的:(如何评测软件工程知识技能水平?)