1、软件工程考研复试题软件工程考研复试题(总10页)1、 说出软件工程的四项基本原则?选取适合的开发范型,采用合适的设计方法,提供高质量的工程支持,重视开发过程的管理。2、 请列出软件工程的生命周期的6个阶段?问题的定义及规划,需求分析,软件设计,程序编码,软件测试和运行维护。瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。2)当前一阶段完成后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。2、瀑布模型有以下缺点:1)在项目各个阶段之间极少有反馈。2)只
2、有在项目生命周期的后期才能看到结果。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。1.Strings=newString(xyz);请问产生几个StringObject2.软件工程可以分为几个阶段请问各个阶 段的作用是什么3.值类型与引用类型的区别用C#事例说明4.编写一个冒泡排序的程序。6举例说明你所熟悉几种设计模式,说明各 种模式在何种情况下使用7你如何理解委托,一般在什么情况下用8你做过的C/S结构程序中你用的是几层架构,为什么要用,各层间的关系是什 么9:请问此程序的输出结果:usingSystem;u1 非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要
3、求或期望,包括:(1) 性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。(2) 可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。(3) 易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。(4) 安全性需求:用户在身份认证、授权控制、私密性等方面的要求。(4) 运行环境约束:用户对软件系统运行环境的要求。(5) 外部接口:用户对待开发软件系统与其他软件系统或硬件设备之间的接口的要求。(6) 可保障性(supportable)需求:用户在软件可配置性、可扩展性、可维护性、可移植性等方面的要求。软件设计的目标
4、是,获取能够满足软件需求的、明确的、可行的、高质量的软件解决方案。“明确”是指,软件设计模型易于理解,软件构造者在设计方案的实现过 程中,勿需再面对影响软件功能和质量的技术抉择或权衡。“可行”是指,在可用的技术平台和软件项目的可用资源条件下,采用预定的程序设计语言可以完整地实 现该设计模型。“高质量”是指,设计模型不仅要给出功能需求的实现方案,而且要使该方案适应非功能需求的约束;设计模型要尽量优化,以确保依照设计模型构 造出来的目标软件产品(在排除软件构造阶段引入的影响因素后)能够表现出良好的软件质量属性,尤其是正确性、有效性、可靠性和可修改性。常见的软件研发流程:瀑布模型,螺旋模型,RUP流
5、程,IPD流程瀑布模型核心思想是按工序将问题化简,将功 能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编 写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发 过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。螺旋
6、模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是 一个面向对象且基于
7、网络的程序开发方法论。根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。 RUP和类似的产品例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等) 整合在一个统一的框架内。集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的产品及生命
8、周期优化法(简称PACEProduct And Cycle-time Excellence)一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。Q.什么是计算机软件?A. 计算机软件是一个完整的方案,其中包括软件程序,如何使用该软件的文档和用户手册.Q.您能不能区分计算机软件和计算机程序?A. 计算机程序是一段程序代码,执行一个定义良好的任务,其中软件包括程序代码并它的文档和用户指南.Q.什么是软件工程?A. 软件工程与软件系统开发相关工程分支.Q.如你知道编程,什么是需要学习软件工程的概念?A. 一个人谁知道如何建立一个墙不是善于建设一个完整的家。同样,谁可以写程序的人可能没有对软件
9、工程的其他概念的知识。软件工程的概念,引导程序员如何评估最终用户的需求,实际的编码开始之前设计的算法,创建了编码,测试代码和文档的程序.Q.什么是软件过程和软件开发生命周期(SDLC)A. 软件开发生命周期,或软件过程是软件在开发过程中,即要求收集,系统分析,设计,编码,测试,维护和文档的顺序以下各阶段的系统化发展.Q.有几个 SDLC模型?A. 有几个可用的SDLC的模型,如瀑布模型,迭代模型,螺旋模型,V模型和大爆炸模型等等。.Q.什么是SDLC的各个阶段?A. SDLC的一般阶段是:理解客户需求,系统分析与设计,编码,测试和实施。该阶段取决于我们选择的软件开发模型时.Q.那一种SDLC模
10、式是最好的?A. SDLC模式采用按开发过程中的需求。它很可能软件到软件,以确保该模型是合适的.我们可以选择最佳的SDLC模式,如果以下答案感到满意 - 是否SDLC适合选择技术实现的软件 是否SDLC适合客户的需求和优先事项 是否SDLC模型适合于该软件的规模和复杂性 是否SDLC模式适用于项目和工程,我们做的类型 是否SDLC适当的地域共同定位或分散开发 Q.什么是软件项目管理?A. 软件项目管理是管理就像从事软件开发时间,成本和质量管理的所有活动的过程.Q.谁是软件项目经理吗?A. 软件项目经理承诺进行软件项目的责任.Q.什么是软件项目经理角色与责任?A. 软件项目经理是从事与软件管理的
11、活动。他负责的项目规划,监测进展情况,利益相关者之间的沟通,风险管理和资源开发的顺利实施,并在时间,成本和质量的约束上交付项目. Q.什么是软件的范围?A. 软件的范围是一个明确的界限把它包含了所有完成开发和提供软件产品的活动.该软件适用范围明确规定的所有功能和文物交付的软件的一部分。范围确定什么样的产品会做,什么也不会做,什么终端产品将包含哪些它将不包含.Q.什么是项目估算?A. 它是一个过程来估计,以计算在努力,时间和资源方面的开发成本的软件产品的各个方面。这种估计可以从过去的经验中得到,通过咨询专家或通过使用预先定义的公式.Q.我们如何才能得到软件产品的规模?A. 软件产品的大小可以用以
12、下两种方法之一进行计算 - 计数的交付的代码行 计数交付功能点Q.什么是功能点?A. 作用点是由该软件产品提供的各种功能。它被认为是测量软件大小的单元.Q.什么是软件项目估算技术可用?A. 有许多估计技术.最广泛使用的是 - 分解技术(计数代码行和功能点) 实证方法(普特南和COCOMO)Q什么是底线?A. 基线是测量,定义了一个阶段的完整性。经过与特定阶段相关联的所有活动都完成,这个阶段就完成,并作为下一阶段的基准.Q.什么是软件配置管理?A. 软件配置管理是跟踪和控制的要求,设计,功能和产品的开发方面的变化,软件的处理。.Q.什么是变更控制?A. 变更控制的配置管理从而确保软件系统进行的所
13、有更改都一致并按照组织的规章制度的作用。.Q.你如何衡量项目的执行?A. 们可以测量执行项目活动监视,状态报告和里程碑清单的方式.Q.说一些项目管理工具.A. T有作为每个软件项目和组织政策要求的各种项目管理工具。它们包括甘特图,PERT图,资源直方图,关键路径分析,状态报告,里程碑清单等.Q.什么是软件需求?A. 软件的要求,提出软件系统的功能描述。要求被假定为目标的系统,其功能和特征的描述。要求传送用户从系统的期望.Q.什么是可行性研究?A. 这是评估如何实践和有益的软件项目开发将是一个组织的一项措施。该软件分析仪进行了深入的研究,以了解该项目的经济,技术和操作可行性。. 经济 - 资源运
14、输成本的培训,更多的实用程序和工具以及成本和项目的收益整体估算成本. 技术 - 是否有可能开发这个系统?评估机(S)和操作系统(S)上的软件将执行,现有的开发人员的知识和技能,培训,实用程序或工具对项目的适用性。 . 操作 - 可以顺利完成的每个项目的需求变化组织调整就是这个问题值得解决 Q.你怎么能收集需求?A. 要求从用户通过访谈,调查,任务分析,集思广益,域分析,原型收集,学习软件现有的可用版本,并观察.Q.什么是SRS?A. SRS系统或软件需求规格说明是需求收集过程时产生的文件。它也可以被看作炼要求和记录它们的处理.Q.什么是功能性的要求?A. 功能要求是预计从提出软件产品的用户功能
15、特性和规格.Q.什么是非功能性需求?A. 非功能性需求是隐含的,涉及到安全性,性能,外观和感觉的用户界面,互操作性,成本等。.Q.什么是软件方面的措施?A. 件的措施,可以理解为量化和象征的各种属性以及软件方面的过程.Q.什么是软件度量?A. 软件度量提供措施,软件过程和软件产品的各个方面。它们被分成 要求指标:长度要求,完整 产品指标:代码行数,面向对象度量,设计和测试指标 工艺指标:评估和跟踪预算,进度,人力资源Q.什么是模块化?A. 模块化是一种技术,将一个软件系统划分为多个离散的模块,预计进行的工作(S)独立。.Q.什么是并发性以及它是如何在软件中实现的?A. 并发是事件或动作的倾向同
16、时发生。在软件中,当两个或多个过程同时执行的,它们被称为并发进程.示例当您启动打印命令,打印机开始打印,你可以打开一个新的应用程序.并发,被分裂成软件即执行进程和线程的多个独立单位,并执行它们并行执行.Q.什么是凝聚力?A. 凝聚力是定义模块的元件之间的内部可靠性的程度的量度.Q.什么是偶合?A. 耦合是定义一个程序模块之间的相互可靠性水平的措施.Q.提到一些软件分析和设计工具?A. 这可能是:DFD的(数据流图),结构图,结构化英语,数据字典,黑豹(分层输入过程输出)图,ER(实体关系)图和决策表。Q.什么是0级的DFD?A. 最高抽象层次的DFD被称为0级DFD也称为上下文级别的DFD,它
17、描绘了整个信息系统的一个图表隐藏所有的底层细节.Q.什么是结构化的英语和伪码的区别?A. 结构化英语是用编程语言的关键字来写一个程序模块的结构,然而,伪码更接近的编程语言,并使用母语的英语单词或句子来写的代码部分英语为母语.Q.什么是数据字典?A. 数据字典被称为元数据。这意味着,它是关于数据的数据仓库。数据字典用于组织在系统中使用诸如对象和文件以及它们的命名约定的名称和它们的引用。.Q.什么是结构化设计?A. 结构化设计是一个概念化的问题到解决方案的几个组织良好的元素。这是值得关注与解决方案的设计和基于“分而治之”的策略.Q.:什么是功能导向,面向对象的设计之间的区别?A. 功能化的设计是由
18、被称为功能许多较小的子系统。每个功能能够在系统中执行显著任务。面向对象的设计工作解决现实世界中的对象(实体),它们的类(类)和对象(函数)的操作方法。 .Q.定义自顶向下和自底向上的设计模型.A. :自顶向下的模型开始系统的广义视图,将其分解为更为具体的人,而自下而上的模式开始于第一次最具体的和基本的组成部分,并保持组成成分得到的抽象水平.Q.什么是 Halsteads 的复杂度基础?A. Halsteads 的复杂度取决于上的程序的实际执行,并认为该计划作为衡量的基础上使用令牌。.Q.提到的公式来计算圈程序的复杂性?A. 圈复杂度采用图论的公式: V(G) = e n + 2Q.什么是函数式
19、编程?A. 功能编程的编程语言,它使用数学函数的概念风格。它提供了计算的数学函数,其产生的程序的状态,结果,不论装置.Q.区分确认和验证?A. 验证检查,如果该产品是由按而验证检查用户的需求,如果遵循正确的步骤来开发产品。.验证确认正确的产品和核查确认,如果该产品是建立在一个正确的方式.Q.什么是黑盒和白盒测试?A. 黑盒测试检查,如果所需的输出产生有效的输入值时给出。它不验证程序的实际执行。.白盒提供了有效的输入,而且它会检查代码是否正确实现,测试时,不仅需要的有效输出检查。.标准黑盒测试白盒测试识的软件程序,设计和结构所必需的否是的知识软件实现至关重要否是的谁做这个软件的测试软件测试员工软
20、件开发为测试基准参考需求规格说明书设计和结构的详细信息Q.质量保证与质量控制?A. 质量保证监督检查,如果合适的流程进行后续处理,而软件开发软件e.质量控制涉及维护软件产品的质量.Q.什么是各类软件的维护A. 维修种类有:纠正,适应性,完备和预防. 纠正删除用户识别的错误 自适应应对变化的硬件和软件环境下,软件工程 完备的维修在现有的或新的用户需求的变化实施 预防性维护采取适当措施以避免未来的问题Q.什么是软件再工程?A. 软件再工程的过程中,以加强该软件是建立在不改变软件的功能的技术。这样做是为了保持调整与最新技术的软件实现.Q.什么是CASE工具?A. 消协表示计算机辅助软件工程。 CASE工具被设置的自动化软件应用程序,它被用来支持,促进和平滑的SDLC活动.什么是下一个?此外,你可以通过你的过去任务的主题,并确保您能够自信地在他们身上。如果你是新鲜的,然后面试官并不期望你会回答非常复杂的问题,而是你必须让你的基本概念非常强.其次它真的没有多大意义,如果你不能回答一些问题,但它很重要,不管你回答,你必须回答有信心。所以,只是觉得在你的面试有信心。我们在tutorialspoint祝你好运有一个好的采访者和所有最好的为你的未来努力。振作起来 :-)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1