软件工程考研复试题

发布时间:2023-01-23 15:32:29

1说出软件工程的四项基本原则?选取适合的开发范型,采用合适的设计方法,提供高质量的工程支持,重视开发过程的管理。2请列出软件工程的生命周期的6个阶段?问题的定义及规划,需求分析,软件设计,程序编码,软件测试和运行维护。瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。2)当前一阶段完成后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。2、瀑布模型有以下缺点:1)在项目各个阶段之间极少有反馈。2)只有在项目生命周期的后期才能看到结果。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。1.Strings=newString(‘xyz’;请问产生几个StringObject?2.软件工程可以分为几个阶段?请问各个阶段的作用是什么?3.值类型与引用类型的区别?用C#事例说明?4.编写一个冒泡排序的程序。6举例说明你所熟悉几种设计模式,说明各种模式在何种情况下使用?7如何理解委托,一般在什么情况下用?8你做过的C/S结构程序中你用的是几层架构,为什么要用,各层间的关系是什么?9:请问此程序的输出结果:usingSystem;u1非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,包括:(1性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。(2可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。(3易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。(4安全性需求:用户在身份认证、授权控制、私密性等方面的要求。(4运行环境约束:用户对软件系统运行环境的要求。
精选文库(5外部接口:用户对待开发软件系统与其他软件系统或硬件设备之间的接口的要求。(6可保障性(supportable)需求:用户在软件可配置性、可扩展性、可维护性、可移植性等方面的要求。软件设计的目标是,获取能够满足软件需求的、明确的、可行的、高质量的软件解决方案。明确是指,软件设计模型易于理解,软件构造者在设计方案的实现过程中,勿需再面对影响软件功能和质量的技术抉择或权衡。可行是指,在可用的技术平台和软件项目的可用资源条件下,采用预定的程序设计语言可以完整地实现该设计模型。高质量是指,设计模型不仅要给出功能需求的实现方案,而且要使该方案适应非功能需求的约束;设计模型要尽量优化,以确保依照设计模型构造出来的目标软件产品(在排除软件构造阶段引入的影响因素后)能够表现出良好的软件质量属性,尤其是正确性、有效性、可靠性和可修改性。常见的软件研发流程:瀑布模型,螺旋模型,RUP流程,IPD流程瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好上一个阶段并进行适当的修改,开发进程从一个阶段流动到下一个阶段,这也是瀑布开发名称的由来。螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;2)风险分析:分析评估所选方案,考虑如何识别和消除风险;3)实施工程:实施软件开发和验证;4)客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。RUPRationalUnifiedProcess,统一软件开发过程,统一软件过程一个面向对象且基于网络的程序开发方法论。根据Rational(RationalRose和统一建模语言的开发者的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。RUP和类似的产品例如面向对象的软件过程(OOSP,以及OPENProcess都是理解性的软件工程工具把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。--2

软件工程考研复试题

相关推荐