首页 > 其他 > 详细

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

时间:2020-01-03 10:49:37      阅读:95      评论:0      收藏:0      [点我收藏+]

一、软件工程师的软件工程知识技能水平高低主要体现在哪些方面

(1)牢固掌握计算机软件的基本知识和技能;

(2) 善于分析和综合问题,具有严密的逻辑思维能力;

(3) 工作踏实细致,遵循标准和规范,具有严格的科学作风;

(4) 工作有耐心、有毅力、有责任心;

(5) 善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;

(6) 具有良好的书面和口头表达能力。

二、知识总结

软件三部分:数据、文档、程序。
软件危机:落后的软件生产方式无法满足迅速增长的计算机需求,从而导致软件开发与维护工程中出现一系列严重问题的现象。
软件工程:指导计算机开发维护的一门工程学科。
软件工程三要素:方法、工具、过程。


软件开发常见模型
瀑布模型:适用于用户需求明确,完整、无重大变化的软件项目开发,文档驱动。缺点:文档驱动;用户难以清除给出所有需求;用户等待周期长。
V模型:强调测试的重要性,每步都进行测试。
原型模型:在用户不能给出完整明确的需求时,根据用户的基本需求,快速建造原型,然后进行评估,进一步精华、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。缺点:没有考虑软件的总体质量和长期的可维护性。不便管理。
增量式模型:迅速向用户提交完成部分工作的产品,分批,逐步的向用户提交产品,需要更精心的设计,但将在维护阶段获得回报。缺点:增量时必须不破坏原来已开发的产品,有无法集成的风险。
喷泉模型:主要用于面向对象软件开发项目。
螺旋模型:基本思想是降低风险,迭代更新产品,有利于软件的重用,减少了过多测试或测试不足,维护和开发没有本质区别。缺点:风险驱动,需要专业知识,否则风险更大。适用于内部开发的大规模软件项目。随着迭代次数增加,工作量加大,软件开发成本增加。
RUP(统一软件开发过程)的四个阶段:初始、细化、构造、移交。


软件生命周期的几个阶段和任务
问题定义:明确要解决的问题是什么。
可行性研究:明确做不做,从经济、技术、社会因素论证解决方案的可行性。
需求分析阶段:明确做什么,提出完整、准确、清晰、具体的要求。
概要设计:明确怎么做,制定最佳方案的详细计划,系统的体系结构设计。
详细设计:明确具体做法,设计出程序的详细规格说明。
编码和单元测试:编写出正确的、易理解的、易维护的程序模块。
综合测试:通过各类的测试使软件达到预定的要求。
软件维护:通过各种必要的维护活动使系统持久的满足用户的要求。


UML(统一建模语言)中包含的五类图:交互图(时序图、协作图);行为图(状态图、活动图);用例图;静态图(类图、包图);实现图(部署图、构件图)。

用例图:从用户的观点对系统行为的一个描述。
获取用户需求的方法:访谈、情景分析、联合分析小组、快速建立软件模型。
类图的关系
依赖:类之间的使用关系。
泛化:类之间的一般和特殊关系。
关联:对象之间的结构关系。
规格说明和其实现之间的关系。

类图的设计过程:研究分析问题领域;发现对象与类并确定属性和含义;发现类之间的关系;设计类与关系;绘制类图并编制相应说明。
时序图:描述对象之间传递消息的时间顺序,用来表示用例的行为顺序。
协作图:显示对象为了一个用例描述的一个系统时间而与另一组对象进行写作的交互图。
协作图与时序图的两点特性:协作图有路径;协作图有顺序号。
活动图:描述了系统从一个活动转换到另一个活动的整个过程。
状态图:包括状态与转换。
状态图和活动图的区别:活动图主要描述动作及其对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。
面向对象建立的三种模型:功能模型;对象模型;动态模型。
OOA:面向对象分析。
OOD:面向对象设计。
四条设计原则中有一条是高内聚,低耦合。


测试:软件测试,为了发现错误而执行程序的过程。
测试的目的:尽可能多的发现软件中潜藏的错误。
白盒测试:知道产品内部工作过程,测试内部动作。
黑盒测试:知道产品应该具有的功能,测试功能。
调试:在测试发现错误之后排除错误的过程。
调试的三种技术手段:蛮干法;回溯法:原因排除法;
软件维护的定义:软件维护就是在软件已经交付使用之后,为保证软件在相当长的时期能够正常运作所运行的软件活动。
软件维护类型:改正性;适应性;扩充与完善性;预防性。

三、软件工程考试试题

 

1、填空题(节选自https://wenku.baidu.com/view/86bdb6fd0242a8956bece490.html

1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。

2.可行性研究一般可以从(经济)可行性、(技术)可行性、运行可行性、法律可行性和开发可行性等方面来研究。

3.详细设计的工具有图形工具)、表格工具和(语言工具)。

4.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

5.软件生存周期一般可以划分为,(问题定义)、(可行性研究)、(需求分析)、(设计)、(编码)、(测试)和(运行)和(维护)。

6.大型软件测试包括(单元测试)、 (集成测试)、(确认测试)和 (系统测试)四个步骤。

7.软件详细设计工具可分为3类,即(图示工具)、(设计语言)和(表格工具)。

 

2、单项选择(节选自https://wenku.baidu.com/view/86bdb6fd0242a8956bece490.html

1.下列( A )属于系统软件。

A.WINDOWS 2000

B.Word

C.Flash

D.3D MAX

2.下列哪个图是N-S图的构件( C )。

技术分享图片

 

 

 技术分享图片

 

 

 

3.对于螺旋模型,下列( D )不是利用笛卡尔坐标表达的活动。

A. 制定计划

B. 实施工程

C. 风险分析

D. 程序编码

 

3、多项选择题(节选自https://wenku.baidu.com/view/86bdb6fd0242a8956bece490.html

1.软件危机可以表现为(ABCD )。

A.产品不符合用户的需要

B.软件产品的质量差

C.软件的可维护性差

D.软件的价格昂贵

2.Jackson图中一般可能包括(ABCD )。

A.表头

B.表体

C.表名

D.字段名

3.关于内容耦合的描述正确的是(AD )。

A、内容耦合是最高程度的耦合

B、应该尽量使用内容耦合

C、高级语言一般设计成允许内容耦合的形式

D、如果一个模块有多个入口,可能发生内容耦合

4.下列属于不标准的书写格式(BCD )。

A、书写时适当使用空格分隔

B、一行写入多条语句

C、嵌套结构不使用分层缩进的写法

D、程序中不加注释

 

4、判断题(选自https://wenku.baidu.com/view/606bf1aaccbff121dc36835e.html

(1). (×)在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
改正: 在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。
(2). (√)在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
(3). (×)软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
改正: 软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。
(4). (√)模型是对现实的简化,建模是为了更好地理解所开发的系统。
(5). (×) UML语言支持面向对象的主要概念,并与具体的开发过程相关。
改正: UML语言支持面向对象的概念,并独立于具体的开发过程。
(6). (√)用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
(7). (×)好的测试用例应能证明软件是正确的。
改正: 好的测试用例在于能发现至今未发现的错误。
(8). (√)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
(9). (√)当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。
(10). (×)软件技术复审是由用户和测试人员实施的一种质量保证活动。
改正: 软件技术复审是由软件开发人员实施的一种质量保证活动。

5.简答题(节选自https://wenku.baidu.com/view/6f3a19b2cdbff121dd36a32d7375a417876fc162.html

1. 某一新闻管理系统主要用来发布新闻,管理员只需要一个,登录后可以在后台发布新闻。任何人可以浏览新闻, 浏览者可以注册成为系统会员, 注册后可对新闻进行评论。管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除等。

要求:请画出该新闻管理系统的用例图

技术分享图片

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

原文:https://www.cnblogs.com/waaq/p/12143558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!