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

我认为一个软件工程师的软件工程知识技能水平高低主要体现在:实现一个软件工程基本流程的是否完善,到位。

 

软件工程基本流程包括以下几大步骤:

1、获取需求

2、设计体系结构

3、设计模块

4、编写程序

5、测试程序

6、测试系统

7、交付系统

8、维护系统

 

下面选出一些软件工程知识技能水平试题。

 

一、需求工程解决的问题
1、用户的真实需求

2、统一的建模语言,工具,符号,不产生歧义性


二、需求的主要工作产品

1、需求定义文档(客户角度)

2、需求规格说明(技术人员角度)

3、配置管理文档(支持两种文档间的直接对应)

 

三、获取需求的过程
1、导出需求

2、分析建模

3、规格说明

4、需求确认和校验

5、最终产品是软件需求规格说明SRS

 

四、需求确认和需求校验的区别

需求确认:目的检查获取的需求定义是否准确反映了用户的实际需求

需求校验:检查需求规格说明文档和需求定义文档是否一致

 

五、为何要进行分析建模?

1、建立分析模型,从不同角度,不同抽象级别说明对问题的理解以及目标软件的需求
2、模型帮助用户和分析人员发现排除用户需求不一致,不合理的部分,挖掘用户潜在需求
3、模型是分析人员根据初步导出的需求而建立的软件系统结构,包括信息流,处理功能,用户界面,行为和设计约束
4、是形成需求规格说明和进行软件设计的基础

 

六、什么是结构化分析方法

1、建模技术

2、目标系统是数据流和一些转换构成

3、核心是数据字典,它描述了目标系统中使用的和生产的数据对象,三种图:ERD,DFD,STD


七、简要描述耦合和内聚

耦合分为:

1、内容耦合:一个模块可以直接操作另一个模块的数据

2、公共耦合:全局变量

3、控制耦合:传递的是如flag的控制变量

4、标记耦合:传递的是数据结构

5、数据耦合:传递的是一般数据

6、非直接耦合:通过上级模块联系


内聚分为:

1、功能性内聚:一个功能,一个模块

2、顺序内聚(最低):一个成分的输出是下一个成分的输入

3、通讯内聚:借用公共数据

4、过程内聚:块内成分必须按照特定次序执行(前一个完成后,后一个才执行)

5、时间内聚:因执行时间一样而安排统一模块,如初始化

6、逻辑内聚:和控制耦合关联,求某班平均分最高分,输入输出相同

7、偶然内聚

 

八、UML的五种视图?程序员最关注的哪种视图?

用例视图、逻辑视图、实现视图、进程视图、配置视图
分析人员和测试人员关心的是系统的行为,因此会侧重于用例视图
程序员关系的是系统的配置、装配等问题,因此会侧重于实现视图
系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重于进程视图
系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署视图

posted @ 2020-01-06 20:51  gang.w  阅读(208)  评论(0编辑  收藏  举报