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

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

时间:2020-01-05 15:47:29      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:高级   面向对象设计   构造   课程   注册   类继承   包括   style   上传   

  总结

  通过本学期对高级软件工程的学习以及自身的理解与体会,我认为一个软件工程师的软件工程知识技能水平的高低主要可以从以下几个维度进行考察:

知识类:

1.需求分析与设计(包括建模以及需求挖掘等);

2.代码的结构特性与描述方法(包括接口封装设计,常用设计模式等);

3.软件工程的一般过程与项目管理(包括软件的生命周期,软件的一般开发过程);

技能类:
1.键盘及代码工具使用效率;

2.代码规范与风格;

3.代码/文档结构化;

若一位软件工程师在以上六个方面都表现地十分出色,那么可以说明其软件工程知识进水平是比较高的。

 

  软件工程技能水平测评试题:

选择题:

1、需求分析最终结果是产生(C) 
A.项目开发计划     B.可行性分析报告     C.需求规格说明书     D.设计说明书 

2、软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编写需求规格说明书以及(B) 
A.用户     B.需求评审     C.总结     D.都不正确 

3、设计模式的两大主题是( D ) 
    A.系统的维护与开发       B 对象组合与类的继承     C.系统架构与系统开发     D.系统复用与系统扩展

4、常用的基本设计模式可分为 ( A )
A.创建型、结构型和行为型   B.对象型、结构型和行为型    C.型、结构型和行为型    D.抽象型、接口型和实现型

5、在观察者模式中,表述错误的是( C )
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行
D.以上表述全部错误

判断题:

1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求与一个使用实例相联系,尽可能多的使用实例。(F)

2、属性是指实体某一方面的特征,一个实体通常有多个属性。联系也可以有属性。(T)

3、适配器模式属于创建型模式结构型(F)

4、设计模式使代码编制不能真正工程化 (T)

5、在进行详细的过程设计和编写程序之前,进行概要设计的好处是可以在软件开发的早期在全局高度对软件结构进行优化,使软件质量得到重大改进(T)

简答题:

1、可复用的面向对象设计的两条原则是什么?

针对接口编程,而不是针对实现编程。不要将变量声明为一个特定类的实例对象,而是让他遵从抽象类所定义的接口;
优先使用对象组合,而不是类继承;

2、什么是设计模式?设计模式目标是什么?

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。

3、一个良好的设计类应当满足哪几个特点?

完整性和充分性、原始性、高内聚性、低耦合性

4、面向对象设计的准则?

模块化 抽象 信息隐藏 弱耦合 强内聚 可重用

5、模块间的耦合性有哪几种?(将其按耦合度从高到低排列)

内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合

6、什么是结构分析方法?结构化分析方法通过哪些步骤来实现?

结构化分析:简称,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。

实现的步骤:

(1)解当前系统的工作流程,获得当前系统的物理模型。(2)抽象出当前系统的逻辑模型。(3)建立目标系统的逻辑模型。(4)作进一步补充和优化。

7、什么是软件生存周期模型有哪些主要模型?

生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

8、结构化程序设计的基本要点是什么?

主要有三个:

(1)采用自顶向下、逐步求精的程序设计方法使用三种基本控制结构构造程序;

(2)任何程序都可以由顺序、选择、重复(循环)这三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口;

(3)主程序员组的组织形式。

综合题:

1、某培训中心要研制一个计算机管理系统。它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理:

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

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

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

要求:(1)对以上问题画出数据流程图;(2)画出该培训管理的软件结构图。

答:(1)数据流程图:

技术图片

 

 

 (2)软件结构图:

技术图片

 

 

 2、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。“远程网络教学系统”的功能需求如下:

  学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。

(1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。

(2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

答:

技术图片

 

 

3、分析下图和表,其中模块更新同一个数据库,其它模块的关系如表所示,请确定模块之间的耦合类型。

技术图片

 

p-q:数据耦合

p-s:标记耦合

q-r:控制耦合

q-s:标记耦合

r-t:数据耦合

s-u:数据耦合

主要参考资料:

https://wenku.baidu.com/view/829ab15ac5da50e2534d7f14.html

https://wenku.baidu.com/view/fbbf61d777eeaeaad1f34693daef5ef7ba0d1217.html

 

https://wenku.baidu.com/view/a98ae09e4afe04a1b171de3d.html

https://wenku.baidu.com/view/6818f2c453d380eb6294dd88d0d233d4b04e3f18.html

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

标签:高级   面向对象设计   构造   课程   注册   类继承   包括   style   上传   

原文地址:https://www.cnblogs.com/PGHustcsz/p/12152436.html

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