您好,欢迎访问三七文档
三.名词解释1.软件工程是将系统的、规范的、可度量的方法(1分)应用于软件的开发、运行和维护的全过程及上述方法的研究。(3分)2.软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等(各1分)方面的期望。3.软件测试是对产品的功能要求进行测试,检查软件有无错误,决定软件是否具有稳定性。4.软件维护是软件生存周期的最后一个阶段,所有活动都发生在软件交付并投入运行之后。4分)1计算机软件是与计算机系统操作有关的程序(1分)、规程、规则(1分)及任何与之有关的文档(1分)和数据(1分)。2数据流图是以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。3软件可维护性是指软件被理解、改正、调整和改进的难易程度(3分),是指导软件工程各个阶段工作的一条基本原则,也是软件工程追求的目标之一。(1分)4软件测试:是对软件规格说明、软件设计和编码的最后复审(1分),目的是在软件产品交付之前尽可能发现软件中潜伏的错误。(3分)1软件生命周期:软件产品从形成概念开始,经过开发(1分)、运行(使用)(1分)和维护(1分)直到退役(1分)的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。3.协作图用于描述相互合作的对象间的交互关系(2分)和链接关系(2分)。4.软件重用是指在两次或多次不同的软件开发过程中(2分)重复使用相同或相似软件元素的过程。(2分)2.变换流:由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。3.模块的耦合和内聚内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。4.等价类划分:等价类的划分,是将输入数据按有效的或无效的划分成若干个等价类,测试每个等价类的代表值。用少量有代表性的例子代替大量测试目的相同的例子,能有效地提高测试效率。5.预防性维护:为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。2.事务流:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。3.模块化:把程序划分成若干个模块,每个模块完成一个子功能,并把这些模块集合起来组成一个整体,以完成指定的功能来满足问题的要求。4.β测试:软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出改进建议。5.完善性维护:也称改善性维护,是根据用户在使用软件过程中提出的一些建议性意见而进行的维护活动。四简答题1.软件开发过程中必须遵循哪些软件工程原则?至少列出5条并简述之(1)抽象:关注事物基本、重要的部分,忽略不相关成分(2)信息隐藏:模块中的软件设计决策信息封装起来的技术,隐藏了内部细节(3)模块化:模块是程序中一个逻辑上相对独立、具有良好的接口定义的编程单位:过程、函数、类、程序包等(4)一致性:整个软件系统均使用统一的符号、概念和术语(5)完全性:软件系统不丢失任何重要的成分,软件实现系统所需的功能、行为和性能(6)可验证性:软件系统应易于检查、测试和评审2.面向对象方法学包含哪些核心概念?简述之(1)对象:对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。(2)类:类表示某些对象在属性和操作方面的共同特征。(3)继承:类之间的继承关系是现实世界中遗传关系的模拟,它表示类之间的内在联系以及对属性和操作的共享。(4)聚集:现实世界普遍存在部分—整体关系。(5)消息:消息传递是对象与其外部世界相互关联的唯一途径3.写出至少5种内聚度。(1)偶然性内聚(2)逻辑性内聚(3)时间性内聚(4)过程性内聚(5)通信性内聚(6)顺序性内聚(7)功能性内聚4.SD方法能方便地将数据流图转换为软件结构,其过程分哪5步?(1)确定信息流的类型;(2)(3)将数据流图映射为程序结构;(4)提取层次控(5)通过设计复审和启发式策略精化结构。一、瀑布模型的缺陷有哪些?(1)完全地、精确地刻画复杂应用问题的用户需求是不可能的。(2)需求分析和软件实现是不可分割的。(3)用户和开发人员都难于理解形式的、不可执行的需求规格说明。(4)传统的开发策略没有为用户参与关键的开发决策提供便利。(5)目标软件的适应能力不强。(6)瀑布模型并不适合于软件项目管理。二、UML的消息类型有几种,哪几种?4种;(1)简单消息(2)同步消息(3)异步消息(4)返回消息1.高质量的软件应该具备哪些条件?①满足软件需求定义的功能和性能②文档符合事先确定的软件开发标准③软件的特点和属性遵循软件工程的目标和原则。开发高质量的软件必须进行有系统、有计划的软件质量保证(SQA)活动。2.写出至少5种耦合度。(1)非直接耦合(2)数据耦合(3)控制耦合(4)特征耦合(5)外部耦合(6)公共耦合(7)内容耦合3.人机界面的设计可分为哪几个步骤?(1)(2)确定完成系统人和计算机应分别完成的任务;(3)考虑界面设计中的典型问题;(4)借助CASE工具构造界面原型(5)(6)评估界面质量。4.简述螺旋模型的基本开发过程。(1)需求定义。利用前面介绍的需求分析技术理解应用领域,获取初步的用户需求,制定项目开发计划。(2)(3)工程实现。利用前一节介绍的快速原型构造方法针对已知的用户需求生成快速原型。(4)评审。将原型提交用户使用并征询用户改进意见。上述过程将不断迭代,直至给出用户满意的目标软件产品。5衡量某种程序语言是否适合于特定的项目,应考虑下面哪些因素?(1)应用领域;(2)算法和计算复杂性;(3)软件运行环境;(4)用户需求中关于性能方面的需要;(5)数据结构的复杂性;(6)软件开发人员的知识水平;(7)可用的编译器与交叉编译器。1.软件工程的目标有哪些?至少写出5种在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可追踪性、可移植性、可互操作性并满足用户需求的软件产品。2.面向对象方法学包含哪些核心概念?简述之(1)对象:对象是现实世界中个体或事物的抽象表示,是属性和相关操作的封装(2)类:类表示某些对象在属性和操作方面的共同特征。(3)继承:类之间的继承关系是现实世界中遗传关系的模拟,它表示类之间的内在联系以及对属性和操作的共享。(4)聚集:现实世界普遍存在部分—整体关系。(5)消息:消息传递是对象与其外部世界相互关联的唯一途径。3.UML的消息类型有几种,哪几种?4种;(1)简单消息(2)同步消息(3)异步消息(4)返回消息4.人机界面的设计可分为哪几个步骤?(1)创建系统功能的外部模型;(2)确定为完成此系统功能人和计算机应分别完成的任务;(3)考虑界面设计中的典型问题(4)借助CASE工具构造界面原型;(5)(6)评估界面质量。5.一个程序段的文档应包括哪些内容?(1)代码的功能;(2)代码的完成者;(3)代码在整个软件系统中的位置;(4)代码编制、复审的时间;(5)保留代码的原因;(6)代码中如何使用数据结构和算法。6.螺旋模型有哪些优点?(1)螺旋模型支(2)螺旋模型中,需求分析和软件实现是互相依赖、紧密联系的软件开发活动。(3)原型作为形式的可执行的需求规格说明,易于为用户和开发人员共同理解,为后续开发的基础(4)5)螺旋模型有助于提高目标(6)螺旋模型为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发风险。1.软件工程的目标和内容是什么?软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。2.CMM能力成熟度模型的分级结构和内容是什么?CMM五级标准按由低到高的成熟度分别为:第一级初始级:软件开发过程未经定义,计划由编程人员凭个人经验与主观感觉应对,对客户的承诺多数无法兑现,许诺客户的产品与服务质量并无客观的预测与监控体系保证实现。第二级可重复级:软件生产成本和工期能得以客观预测并被有效追踪,过程标准在项目实施中能保证被遵循。并可重复的行为,逐渐改进和成熟。第三级定义级:软件过程已被编制为各个标准化过程,并在企业范围内执行,从而使软件生产和管理更具可重复性,可控制性,稳定性和持续性。第四级管理级:由专门的软件过程数据库收集和分析软件过程中的各类数据并以此为对软件活动的质量评估的基准。第五级优化级:判断下一步实施所需的最佳过程,以持续改善过程使之最优化。3.事务分析的设计步骤:⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。⑶中下层模块的设计﹑优化工作与变换结构相同。事务型软件结构包括两部分:接收分支发送分支出通常包括一调度模块,当事务类型不多时,可与主模块合并。五、应用题1.A:(4)B:(1)C:(4)D:(5)E:(8)2.数据流图1.什么是软件危机?表现在哪几个方面?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。2.什么是瀑布模型和螺旋模型,以及它们的优缺点各是什么?(1)瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,开发过程缺乏灵活性,不适应实际的开发过程(2)螺旋模型将工程划分为4个主要活动:制定计划、风险分析、实现工程和用户评价。4个活动螺旋式地重复执行,直到最终得到用户认可的产品。①制定计划:确定软件目标,选定实施方案,弄清项目开发限制条件。②风险分析:分析可选方案,分析识别风险,研究解决化解风险的办法。③实现工程:实施软件产品的开发。④用户评价:对当前工作结果进行评价,提出改进产品的建议。螺旋模型的缺点:很难让用户确信这种演化方法的结果是可以控制的.3.简述变换分析法的设计步骤。⑴确定变换中心,逻辑输入和输出。⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制,输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式﹑发送数据变换模块:对每个基本加工建立一功能模块⑷设计的优化:输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。
本文标题:软件工程简答题
链接地址:https://www.777doc.com/doc-6135526 .html