软件工程

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

纵然是瞬间 提交于 2020-01-06 15:40:22
软件工程师应该具备的基础和能力 具备软件工程课程是软件开发的指导思想,方法体系,这是需要掌握的核心内容: (1)软件工程知识 (2)系统分析基础知识 (3)系统设计基础知识 (4)系统实施基础知识 (5)系统运行和维护基础知识 (6)软件质量管理基础知识 (7)软件过程改进基础知识 具有基本代码实践能力:最拿手的计算机语言之一,代码量多少?(偏web前端,PC/Mobile App) 具有行业洞察力:你最感兴趣的领域是什么?这个领域过去10年经历了哪些创新? 项目管理能力:如何决定项目中各种任务的优先次序,有什么理论来支持你的做法? 团队协作能力:协同工作,提供反馈,说服别人 软件设计能力:架构设计,模块化设计,接口设计 一.单选题,共8题。 1.软件开发的增量模型____。 A.最适用于需求被清晰定义的情况 B.是一种能够快速构造可运行产品的好方法 C.最适合于大规模团队开发的项目 D.是一种不适用于商业产品的创新模型 试题1分析 增量模型是一种非整体开发的模型,该模型具有较大的灵活性,适合于软件需求不明确的一种模型。使用该模型开发产品,一般是尽快构造出可运行的产品,然后在该产品的基础上再增加需要的新的构建,使产品更趋于完善。 试题1答案 B 2.为了有效地捕获系统需求,应采用____。 A.瀑布模型 B.敏捷开发 C.原型模型 D.螺旋模型 试题2分析

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

强颜欢笑 提交于 2020-01-06 15:39:47
一、一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面: 1:至少一门熟练的程序开发语言,能够深入理解语言的特性。将需求实现。 2:具有良好的沟通能力,因为软件开发不是一个人的单打独斗,而是一群人的团队协作。 3:具有足够的理解能力,能够理解需求的深层逻辑。 4:具有测试能力,能够测试自己的代码知道是否真地完成了,否则,经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。 二、软件工程知识技能水平的测评试题: 试题来源:911软件工程考研复习大全 选择题: 1、软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。 A.可移植性 B.可重用性 C.容错性 D.可适应性 2、软件特性中,( A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A.可理解性 B.可靠性 C.可适应性 D.可重用性 3、下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对 象来驱动的模型是( C )。 A.原型模型 B.瀑布模型 C.喷泉模型 D.螺旋模型 4、在软件生存周期的瀑布模型中一般包括计划、(C)、设计、编码、测试、维护等阶段。 A. 可行性分析 B. 需求采集 C. 需求分析 D. 问题定义 5、需求分析是( A )。 A.软件开发工作的基础 B.软件生存周期的开始 C.由系统分析员单独完成的 D.由用户自己单独完成的 6

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

夙愿已清 提交于 2020-01-06 14:44:39
软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。 它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。 软件工程师的软件工程知识技能水平高低主要体现 软件工程师虽然不能算是一个新生事物,但随着社会的不断发展,计算机是我们必不可少的,软件开发也是推动计算机迅速发展的条件,那么做为软件工程师我们需要什么条件? (1)具有扎实的计算机专业知识 这是软件工程理由能够从事软件一切工作最基本的前提,是软件工程最基本的素质,这要求软件工程师必须精通高等数学、离散数学、电子学、编程语言、数据结构等课程。 (2)良好的语言表达能力和沟通能力 这是软件工程师应该具备的一个很重要的素质,因为软件工程师是为用户开发软件,常常需要直执着面对用户。 (3)健康的心理素质 开发软件本身就是一项艰苦的脑力和体力劳动,软件工程师开发成功一个软件,要经过反复修改

软件工程第五次作业

核能气质少年 提交于 2020-01-06 13:44:25
团队共同回答: 团队应该如何安排QA 和测试工作 答: QA: 确保项目的正 确性 自动化测试只是其中的一小部分。“我们在开发正确的产品吗?如果是,那么我们开发的产品正确吗?”QA首先需要在整个项目过程中不断询问所有成员上述问题,确保团队是在开发客户所需的产品,而不是自己YY出来的产品。 确保流程的正确性 质量从来都不只是QA的职责,而是整个团队的职责。但QA如果自己都不注重,不督促组内成员改进质量,再将责任强加于整个团队,那么产品质量又何谈提升与保证。 作为一个QA,我们不仅要检测项目中存在的问题,也要改进团队的实践活动,更重要的是预防问题的发生。 ● 每次bug bash或相应迭代完成后,要分析统计,找出产生缺陷的环节,并采取措施防止问题再现。例如每次release或者bug bash之后,可以按照功能模块与bug类型进行统计划分,分析统计bug的成因,例如某次迭代我们bug数量激增,经调查,发现我们对某些模块的前端代码进行了重构,但缺乏相应的单元测试与集成测试,造成了我们没有及时发现bug。之后我们就对应的采取措施防止问题再现。 ● 总结分析报告,及时反馈这些信息给团队。总结分析是一个长期的任务,每次bug数量的变动,都会直接体现整个团队上次迭代的开发质量,例如bug数量减少了,可以鼓励成员再接再厉。或者某几次迭代某些模块bug呈上升趋势,那么就需要组织团队一起讨论问题根源

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

╄→尐↘猪︶ㄣ 提交于 2020-01-06 12:52:46
一名优秀的软件工程师应当具备以下的特点: 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

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

て烟熏妆下的殇ゞ 提交于 2020-01-06 12:31:47
一、评测软件工程知识技能水平   掌握软件工程知识技能水平,必须了解和掌握软件工程的基本概念和知识,包括软件工程的范畴、软件过程、软件生命周期模型、软件需求、面向对象分析、面向对象设计、实现与集成、维护、测试。能够掌握和运用面向对象软件工程的理论和方法,分析设计软件项目。具体主要包括:掌握软件工程专业工程基础理论知识和专业知识,且能将其应用于解决相关问题;运用用例图、类图、时序图等面向对象软件工程分析和设计的方法描述目标软件的规格说明和设计;掌握软件生命周期要素,了解多种软件生命周期模型,了解软件项目管理、软件团队及软件复用的基本概念和方法。 二、选择题( 题目来自MOOC北京大学软件工程测试题 ) 1. 单选题:下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。   A.演化模型 B.瀑布模型 C.喷泉模型 D.增量模型 2. 单选题:下列软件哪个最适合采用敏捷开发方法(D)   A.Windows B.铁路12306购票网 C.学生成绩管理系统 D.小型创业项目软件 3. 单选题:敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是(D)   A.对于用户来说,通过直观、简单的界面呈现出恰当特征的程序   B.对于软件设计者来说,通过简单、直观的划分,使其具有最小耦合的内部结构   C

第九组作业(张丽娟,鲁雨静,张国一,梅位民,潘泽)

折月煮酒 提交于 2020-01-06 12:30:23
QA是质量保证,是对软件制作过程中的制作质量进行管理,强调控制和评估。 软件测试是对软件产品的质量本身进行测试,是从技术方面出发测试软件质量,属于Life cycle的一部分,更准确的说法应该是质量管理。 对于一个团队如何安排QA 和测试工作,我认为在初始阶段,即新项目、团队进入一个新领域,这时每个团队成员都要尽量打通各个环节,多负责,把所有事情都搞懂,培养通才。 当项目或产业发展到一定阶段即进入阵地战的时候,要大力提倡分工合作,培养专才。同时,要把好的工具和流程集成起来,从每日构建,到基本功能的自动化,都要尽快实现。 当开发项目时,项目的的架构和流程做好,让所有人都能比较容易地进行QA工作,这样,团队的“软件工程质量”才会有提高。同时培养“大家都要做QA,专人负责量化的Test,有条件多做测试自动化”的文化。 最后要明白自己项目的特点,避免照搬别人的做法。如果一个团队是认真严肃地做软件,那他们一定要考虑如何保证程序的质量和软件工程的质量,以及达到这些质量,需要多少成本。 来源: https://www.cnblogs.com/zlj1/p/12152258.html

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

試著忘記壹切 提交于 2020-01-06 09:06:08
一、评测软件工程知识技能水平   掌握软件工程知识技能水平,必须了解和掌握软件工程的基本概念和知识,包括软件工程的范畴、软件过程、软件生命周期模型、软件需求、面向对象分析、面向对象设计、实现与集成、维护、测试。能够掌握和运用面向对象软件工程的理论和方法,分析设计软件项目。具体主要包括:掌握软件工程专业工程基础理论知识和专业知识,且能将其应用于解决相关问题;运用用例图、类图、时序图等面向对象软件工程分析和设计的方法描述目标软件的规格说明和设计;掌握软件生命周期要素,了解多种软件生命周期模型,了解软件项目管理、软件团队及软件复用的基本概念和方法。 二、选择题( 题目来自MOOC北京大学软件工程测试题 ) 1. 单选题:下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。   A.演化模型 B.瀑布模型 C.喷泉模型 D.增量模型 2. 单选题:下列软件哪个最适合采用敏捷开发方法(D)   A.Windows B.铁路12306购票网 C.学生成绩管理系统 D.小型创业项目软件 3. 单选题:敏捷设计要求系统设计在任何时间都尽可能的简单、干净和富有表现力,下面对敏捷设计理解错误的是(D)   A.对于用户来说,通过直观、简单的界面呈现出恰当特征的程序   B.对于软件设计者来说,通过简单、直观的划分,使其具有最小耦合的内部结构   C

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

坚强是说给别人听的谎言 提交于 2020-01-06 01:45:37
根据本课程的学习以及自身的知识和经验,您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下:   1.具有优秀的学习能力,IT技术更新很快,软件工程师应具备的技能里很重要的一点就是学习能力。只有具备了学习能力,才能很快适应市场与业务的需要,有时候工作的需求不是你在学校就已经学过的,只能靠着之前积累的经验与快速学习熟悉新的知识,升华自己的能力,为以后成为架构师后者其他职位打下基础。   2.具有扎实的计算机专业知识,吃透高等数学、离散数学、算法等课程。(1)基础编程语言,编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言通常来说,软件工程师往往需要掌握多门编程语言。(2)算法。算法是软件工程师的重点知识技能,算法的掌握情况往往能够决定软件工程师的成长高度。(3)数据库。信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要具备的基本素质之一。目前常用的数据库软件有Oracle数据库和SQL Server等。   3.具有对这个行业的热爱,才有能坚持与继续学习的动力。   4.具有良好的交流与沟通能力,现在的软件开发永远不是一个人的游戏,需要与团队成员协调沟通,分配好工作的任务与进度,才能够开发出高质量的软件。 一、选择题 1、软件工程的出现主要是由于( ) A.程序设计方法学的影响  

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

纵饮孤独 提交于 2020-01-05 23:49:41
一. 软件工程师的软件工程知识技能水平高低主要体现在哪些方面 1 、软件工程师 软件工程师 主要是指从事软件开发相关工作的人员,不仅包括通常意义上的软件设计人员,还包括软件架构人员、软件工程管理人员、程序员等其他与软件开发相关的工作人员。软件工程师需要掌握较为全面的计算机技术,除了基础的编程语言、数据库技术等,工程师还要掌握诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING 等前沿技术。 软件工程师 是强调实际的技术水平和解决问题的职业,他们除了重点关注项目的经验和学习知识的能力之外,还要学会利用软件工程专业知识来解决问题。根据工程师在公司岗位的不同,他们的职业要求也有所不同 2. 软件工程师的知识技能包含三大类基础知识,计算机基础、数学基础和工程基础:所以软件工程师的软件工程知识技能水平的高低可以体现在这几个方面。 第一:具有扎实的计算机专业知识: 此外精通高等数学、离散数学、电子学、编程语言、数据结构等课程。 1)基础编程语言,编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发熟练掌握ASP,NET等编程语言,而大数据可能会使用Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言。 2)算法。算法是软件工程师的重点知识技能