软件工程概论复习题(答案)[1]

合集下载

软件工程(概论)习题与答案

软件工程(概论)习题与答案

一、单选题1、软件产品与物质产品有很大的区别,软件产品是一种()产品。

A.有形B.消耗C.逻辑D.文档正确答案:C2、在()年的NATO会议上,软件工程的术语被首次提出。

A.1966B.1968C.1970D.1972正确答案:B3、软件开发中实现映射的基本手段是()A.抽象B.分层C.隔离D.建模正确答案:D4、下列哪项不属于软件工程框架的三元组。

()A.目标B.范围C.原则D.活动正确答案:B5、下列哪个不是软件维护的类型。

()A.完善性维护B.纠错性维护C.适应性维护D.更新性维护正确答案:D6、只有高水平的(),才能生产出高质量的软件产品。

A.软件开发技术B.软件开发工具C.软件工程管理D.项目开发经验正确答案:C二、多选题1、下列关于软件的说法正确的是()A.软件是通过定制进而生产制造出来的B.软件没有磨损老化问题。

C.软件开发的成本很高D.软件开发和运行必须依赖计算机环境正确答案:B、C、D2、下列软件属于系统软件的是()A.操作系统B.编译器C.中间件D.浏览器正确答案:A、B3、下述软件属于支撑软件的是()A.财务管理软件B.编译器C.中间件D.数据库正确答案:C、D4、下述软件属于应用软件的是()A.财务管理软件B.数据库C.编译器D.浏览器正确答案:A、D5、软件工程是一门交叉性学科,下列哪些学科是软件工程涉及的?A.数学B.计算机科学C.管理科学D.工程科学正确答案:A、B、C、D6、下列属于软件模型的是()A.概念模型B.设计模型C.实现模型D.部署模型正确答案:B、C、D7、软件需求阶段所要完成的任务包括()A.需求获取B.需求完善C.需求定义D.需求规约正确答案:A、C、D三、填空题1、软件工程概念的提出是为了解决()。

正确答案:软件危机2、软件设计阶段包括()和()两个阶段。

正确答案:总体设计、详细设计3、软件开发是实现()的概念和处理逻辑到()的概念和处理逻辑的映射。

软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年

软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年

软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年1.需求不明确或可能发生变化的大型复杂软件系统适合使用瀑布模型来开发。

参考答案:错误2.V模型是对瀑布模型的修正,强调测试验证;V模型中的各个开发阶段之间强调最大重叠。

参考答案:错误3.在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求文档、需求规格说明书。

其中,用例文档可以用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。

参考答案:正确4.软件结构设计是()。

参考答案:从数据流图导出初始结构图5.模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合的软件产品。

参考答案:正确6.在软件生存周期各个阶段,工作量最大的是需求分析阶段。

参考答案:错误7.快速原型模型的缺点之一就是缺少项目标准,不断修改原型可能导致原型质量低下;容易退化为边做边改。

参考答案:正确8.与设计测试用例无关的文档是()。

参考答案:项目开发计划9.软件的几种维护中,以()占比最高。

参考答案:完善性维护10.软件测试用例主要由输入数据和()两部分组成。

参考答案:预期输出结果11.软件开发全过程的测试工作都可以实现自动化。

参考答案:错误12.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为()。

参考答案:内部变量13.不属于白盒测试的技术是()。

参考答案:边界值分析14.项目的前景和范围文档、用户需求文档都被视为属于(),重点都是用户的现实世界。

参考答案:用户文档15.系统需求规格说明书、软件需求规格说明书、硬件需求规格说明书、接口需求规格说明书和人机交互文档一起被用于系统开发,都被认为是()。

参考答案:开发文档16.原型方法的最大有点就是能够及早地发现并解决系统开发中的不确定性,从而降低软件项目失败的风险。

参考答案:正确17.软件生存周期中所花费用最多的阶段是()。

软件工程概论

软件工程概论

参考答案第1章一、填空题1.C omputer Aided Software Engineering2.定义阶段、开发阶段、支持阶段3.可行性研究、项目开发计划、需求分析、软件设计、编码、测试、维护4.软件危机5.软件开发、运行、维护6.瀑布、增量7.线性二、选择题1.B2.A3.C4.A5.B6.B三、问答题1.答:(1)在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的办法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。

(2)表现:开发的软件不能满足用户要求;无完整、规范的文档,难以维护;项目计划不周,进度拖延;软件质量差。

(3)原因:缺乏正确的理论指导,开发人员各行其是;软件规模越来越大,无开发管理经验;软件复杂度越来越高,而开发技术不相适应;缺少先进的开发工具,开发方式落后。

2.答:软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。

在软件开发技术方面,主要是研究软件开发方法、软件开发过程、软件开发工具和环境。

在软件开发管理方面,主要是研究软件管理学、软件经济学、软件心理学等。

3.答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

4.答:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。

把整个生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。

软件生存周期在各阶段有不同的划分。

在划分软件生存周期阶段时,应遵循的一条基本原则是:各阶段的任务应尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

软件工程概论期末复习题

软件工程概论期末复习题

软件工程概论期末复习题Document number【980KGB-6898YT-769T8CB-246UT-18GG08】期末总复习1.选择、判断、简答2.判定树和判定表3.用例图、类图、对象模型、顺序图等4.McCabe环路复杂性度量;5.黑盒测试和白盒测试6.数据流图7.成本效益分析习题一、判定树和判定表1.请用判定表画出以下问题的行为逻辑。

人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。

如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。

2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。

20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。

年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。

请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。

二、McCabe环路复杂性度量某程序的描述如下:if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;else k = b;1)画出单个条件的嵌套的分支结构;(5分)2)计算该结构的McCabe环路复杂性度量;(5分)3)为完成基本路径测试,求它的一组独立的路径。

(5分)三、测试:变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。

请用等价分类法设计测试用例。

四、数据流图某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:1)查询成绩:查询成绩以及从名次表中得到名次信息。

2)学籍管理:根据学生总成绩确定名次信息。

3)成绩处理:处理单科成绩并输入成绩表中。

软件工程导论复习题含答案

软件工程导论复习题含答案

软件工程导论复习题含答案软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是(a)。

a.软件日益巨大b.开发方法不当c.开发人员编写程序能力差d.没保护不好软件2.软件就是一种(b)性工业产品。

a.理论b.科学知识(或逻辑)c.消耗d.体力3.需求分析是在(b)进行的。

a.用户b.用户和分析设计人员之间c.开发人员内部4.软件的主要结构和功能就是在(a)阶段同意的。

a.分析设计b.编程c.测试d.维护5.软件就是计算机系统中与硬件相互依存的另一部分,它的组成部分就是(d)。

d.使用和维护人员间a.程序、数据b.程序、文档c.程序d.程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是(a)a.管理水平b.个人程序技术c.小组技术水平d.硬件的发展7.在软件开发模型中,提出最早、应用最广泛的模型是(a)。

a.瀑布模型b.喷泉模型c.增量模型d.螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与(c)三个阶段,而每一阶段又可分为若干更小的阶段。

a.详细设计b.可行性分析c.运转及保护d.测试与排错9.计算机辅助软件工程,简称(d)。

a.sab.sdc.scd.case10.软件危机是软件产业化过程中出现的一种现象,下述现象中:(c)是其主要表现。

①软件须要快速增长难以满足用户。

②软件开发成本提升。

③软件开发进度难以掌控。

④软件质量难于确保。

a.③和④b.③和④c.全部d.①、②和③11软件工程的发生主要就是由于(c)。

a.程序设计方法学的影响c.软件危机的出现b.其他工程科学影响d.计算机的发展12、软件生成周期模型有多种,下列选项中,(c)不是软件生存周期模型。

a.螺旋模型b.增量模型c.功能模型d.瀑布模型(二)简答题1.软件产品的特点是什么?2.软件生产的发展经历了哪几个时代?各有何特征?3.软件危机的概念、表现形式、产生原因、化解途径4.详述主要的软件生存期模型(或软件开发模型)。

软件工程概论课后答案

软件工程概论课后答案

第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。

办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。

1.2 认为“软件就是程序,软件开发就是编程序。

”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。

”这种观点是错误的。

首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。

1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。

1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

典型表现:(1)对软件开发成本和进度的估计常常很不准确。

(2)用户对“已完成的”软件系统不满意的现象经常发生。

(3)软件产品的质量往往靠不住。

(4)软件常常是不可维护的。

(5)软件通常没有适当的文档资料。

(6)软件成本在计算机系统总成本中所占的比例逐年上升。

(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。

(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。

(3) 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。

软件工程概论(高起专)学习指南 西交大考试题库及答案

软件工程概论(高起专)学习指南  西交大考试题库及答案

软件工程概论(高起专)学习指南一、填空题1、软件是一种(B)产品。

A、有形B、逻辑C、物质D、消耗2、软件工程学的目的应该是最终解决软件生产的(B)问题。

A、提高软件的开发效率B、使软件生产工程化C、消除软件的生产危机D、加强软件的质量保证3、与计算机科学的理论研究不同,软件工程是一门(B)学科。

A、理论性B、工程性C、原理性D、心理性4、在计算机软件开发和维护中所产生的一系列严重的问题通常称为软件危机,这些问题中相对次要的因素是(D)。

A、文档质量B、开发效率C、软件功能D、软件性能5、软件工程学科出现的主要原因是(C)。

A、计算机的发展B、其他工程科学的影响C、软件危机的出现D、程序设计方法学的影响6、软件工程是一种(A)分阶段实现的软件程序开发方法。

A、自顶向下B、自底向上C、逐步求精D、面向数据流7、有关计算机程序功能、设计、编制、使用的文字或图形资料称为(B)。

A、软件B、文档C、程序D、数据8、(A)是计算机程序及其说明程序的各种文档。

A、软件B、文档C、数据D、程序9、软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。

A、软件生存周期B、软件过程C、软件开发方法D、软件开发模型10、软件开发环境中最主要的组成部分是(C)。

A、软件工具B、项目管理工具C、软件工具D、需求分析工具11、在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是(D)工具。

A、文档分析B、项目管理C、成本估算D、版本控制12、数据集成指不同软件工程能相互(B)。

A、合作B、交换数据C、交流D、通信13、一个CASE工作台是一组(B),支持设计、实现或测试等特定的软件开发阶段。

A、工具集B、软件包C、平台集D、程序包14、控制集成是指工具激活后能控制其他(A)的操作。

A、工具B、系统C、软件D、应用15、(D)是指CASE系统嵌入了关于过程活动、阶段、约束和支持这些活动所需的工具的知识。

软件学院《软件工程概论》试题及答案

软件学院《软件工程概论》试题及答案

软件工程概论考试试卷科目: 软件工程概论专业: 软件工程一、 单项选择题:在每小题列出的四个备选答案中只有一个答案是符合题目要求。

请将正确答案填入“单项选择题答题表”对应的格中。

(每小题1分, 本题共计20分)1. 瀑布模型的关键不足在于( )。

A. 过于简单B. 不能适应需求的动态变更C. 过于灵活D. 各个阶段需要进行评审 C .过于灵活 D .各个阶段需要进行评审2. 软件危机的表现不包括( )。

A. 软件质量不可靠B. 软件几乎是不可维护的C. 测试过程中发现的错误较多D. 缺少文档 C .测试过程中发现的错误较多 D .缺少文档3. 软件可行性研究一般不考虑( )。

A. 是否有足够的人员和相关的技术来支持系统开发B. 是否有足够的工具和相关的资源来支持系统开发C. 待开发软件是否有市场、经济上是否合算D. 待开发的软件是否会有质量问题D.待开发的软件是否会有质量问题4. 需求分析的任务不包括()。

A. 确定对系统的综合要求B. 分析系统的数据要求C. 设计模块内部算法的处理过程D. 导出逻辑模型并修正开发计划D.导出逻辑模型并修正开发计划5. ()和数据流图共同构成系统的逻辑模型, 没有它, 数据流图就不完整。

A. 系统流程图B. E-R图C. 数据字典D. 层次方框图C.数据字典 D.层次方框图6. 使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息: ()。

A.数据对象, 属性, 方法 B.数据对象, 属性, 联系C.数据表, 属性, 联系 D.数据表, 实体, 联系C. 数据表,属性,联系D. 数据表,实体,联系C.数据表,属性,联系 D.数据表,实体,联系7. 为了提高模块的独立性, 模块之间最好使用()。

A.控制耦...B.公共耦...C.内容耦...D.数据耦合A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合8. 在总体设计阶段, 可用来描绘软件结构的图形工具不包括()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程概论复习题答案一、单选题1.软件工程的纵向分解是把软件开发分为几个(B)A.模块B.阶段C.子系统D.过程2.McCall软件质量度量模型中属于面向软件产品操作的是(D)A.适应性B.可重用性C.可测试性D.可用性3.快速原型模型中,用于及早向用户提交一个原型系统的是(D)A.实验型原型B.探索型原型C.提交型原型D.演化型模型4.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用(B)A.文档B.数据C.编码D.设计5.软件维护费用高的主要原因是(B)A.生产率高B.生产率低C.人员多D.人员少6.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是(A)A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%B.完善性占25%,适应性占50%,校正性占21%,其他维护占4%C.完善性占21%,适应性占25%,校正性占50%,其他维护占4%D.完善性占21%,适应性占50%,校正性占25%,其他维护占4%7.下列属于用白盒技术设计测试用例的是(B)A.错误推测B.逻辑覆盖C.等价类划分D.因果图8.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言的是(A)A.PASCALB.FORTRAN C.DL/1D.C9.在软件详细设计过程中不采用的工具为(C)A.判定表B.PDL C.数据流图D.IPO图10.根据输入输出的数据结构产生程序结构的设计方法是(B)A.PARNAS方法B.JACKSON方法C.WIRTH方法D.DIJKSTRA方法11.在软件设计中,为解决一个大而复杂的问题把软件系统划分为一个个完成某一特定的子功能的方法称为(C)A.细化B.结构化C.模块化D.抽象化12.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?(B)A.由底向上B.自顶向下C.随机D.回归13.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为(C )A.控制耦合B.公告耦合C.标记耦合D.数据耦合14.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?(B)A.可行性分析B.需求分析C.概要设计D.详细设计15.结构化方法的基本原则是功能的分解和( C )A.模块化B.信息隐藏C.抽象D.细化16.数据字典和数据流图共同构成了系统的(B)A.物理模型B.逻辑模型C.原型D.目标模型17.软件需求不应包括(C )A.功能要求B.环境需求C.标准实现的空间需求D.用户界面要求18.项目开发计划是什么类型的文档?( D )A.设计性B.进度表示C.需求分析D.管理性19.瀑布模型是一种什么类型?( B )A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型20.软件工具一般是为软件开发人员和维护活动而使用的(C )A.硬件环境B.说明书C.软件D.程序21.瀑布模型存在的问题是(B )A.用于容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求22.可将软件生存周期划分为3个过程,可行性研究属于其中的(A )A.软件定义过程B.软件开发过程C.软件设计过程D.软件运行与维护过程23.经济可行性研究的范围包括(C )A.资源有效性B.管理制度C.效益分析D.开发风险24.需求分析中开发人员要从用户那里了解(A )A.软件做什么B.用户使用界面C.输入的信息D.软件的规模25.交互设计不包括( C )A.角色设计B.目标设计C.算法设计D.任务设计26.一个模块的(B )是指能直接控制模块的模块数。

A.扇出数B.扇入数C.宽度D.深度27.将软件组装成系统的一种测试技术叫( A )A.集成测试B.单元测试C.集合测试D.系统测试28.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)A.纠错性维护B.适应性维护C.改善性维护D.预防性维护29.项目管理中成本估算时测算快,误差大,适用于准备开发阶段的估算方法是(B )A.类比估算法B.专家估算法C.参数估算法D.COCOMO方法30.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(A ),一个类获得其父类的全部描述(数据和操作)。

A.传递性B.继承性C.复用性D.并行性31.软件生命周期中所花费最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护32.在纤细设计阶段,经常采用的工具有( A )A.PAD B.SA C.SC D.DFD33.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

A.结合B.隐藏C.封装D.抽象34.统计表明,软件测试工作往往占软件开发总工作量的(B)%以上。

A.20 B.40 C.60 D.8035.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是( A )A.容错技术B.避开错误技术C.检测技术D.排错技术36.软件复杂性的常用度量方法包括( D )A.BOEHM度量法B.可扩充度量法C.线性度量法D.代码行度量法37.面向对象的要素包含( B )A.对象的唯一性B.抽象C.继承性D.分类性38.构造原型时,主要考虑(B )A.全部功能B.原型要体现的特征C.全部细节D.全部要求39.维护中,因修改文件的打开或关闭而引起的错误是(C)A.文档副作用B.数据副作用C.编码副作用D.设计副作用40.诊断和消除程序在使用过程中发生错误的过程称为( A )A.校正性维护B.适应性维护C.完善性维护D.预防性维护42.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为( D )A.确认测试B.系统测试C.渐增式测试D.非渐增式测试43.源代码的可维护性表现了程序设计语言的( B )A.心理特性B.工程特性C.技术特性D.传统特性44.以下软件生存周期的活动中,要进行软件结构设计的是(B )A.测试用例设计B.概要设计C.程序设计D.详细设计45.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是( C )A.结构化语言B.PAD图C.判定表D.程序流程图46.需求分析方法必须能够表达和理解问题的数据域和( C )A.数据流B.用户类型C.功能域D.应用领域47.在软件生存期的各个阶段中跨越时间最长的阶段是( D )A.需求分析阶段B.设计阶段C.调试阶段D.维护阶段48.软件工程管理的对象是( B )A.软件开发人员B.软件工程项目C.软件开发过程D.软件开发速度49.CMM表示( A )A.软件过程成熟度模型B.软件过程工业化控制C.国际软件质量认证D.软件统一性标准50.自底向上的成本估算法的特点是(B)A.简单、工作量小、误差大B.精度高,但缺少子任务(模块)间的联系C.估算较精确,但区分类比较困难D.复杂、不可行,一般不采用此种方法二、简答题1.答:需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。

准确地回答“系统必须做什么?”的问题。

获得需求规格说明书。

还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。

它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。

需求分析的基本任务包括:(1)抽取需求:分析现行系统存在需要解决的问题。

获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。

(2)模拟和分析需求:需求分析和模拟又包含三个层次的工作。

首先是需求建模。

需求建模的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。

需求概念模型的要求包括实现的独立性;不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。

(3)传递需求:传递需求的主要任务是书写软件需求规格说明。

(4)认可需求:对需求规格说明书达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。

常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。

(5)进化需求:客户的需求总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。

对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。

当前的发展是软件家族法,即产品线方法。

多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。

2.答:根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。

如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。

3.软件费用、软件可靠性、软件可维护、软件生产率和软件重用。

4.软件配置管理用于整个软件工程过程。

其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率;它的主要目标是:标识变更;控制变更;确保变更的正确实现;报告有关变更。

5.软件复杂性主要表现在程序复杂性,而程序的复杂性主要是指模块内程序的复杂性。

它直接关联到软件开发费用的多少、开发周期长短和软件潜伏错误的多少。

减少程序的复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜伏错误减少。

6.软件产品作为逻辑产品,具有无形性、生产就是开发研究、不会坏、不会磨损、成本昂贵、生产主要靠脑力劳动。

7.结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

准则:高内聚、低耦合,作用范围在控制范围内,软件的深度、宽度、扇入、扇出适当、模块大小适中,接口简单清晰易懂。

8.测试是为了发现错误而执行程序的过程。

一个好的测试用例能够发现至今尚未发现的错误。

一次成功的测试是发现了至今尚未发现的错误的测试。

软件测试的原则:设计测试用例时,要给出测试的预期结果。

要设计不合理输入的测试用例。

除了检查程序是否做了应该做的工作,还有检查程序是否做了不应该做的工作。

应制订测试计划并严格执行,排除随意性。

长期保存测试用例,为维护提供方便,在对程序进行修改之后,要进行回归测试。

充分注意测试中国的群集现象。

9.使用有可维护性的程序设计语言、及时更新文档、使用先进技术和工具、明确软件质量目标、明确质量保证工作。

相关文档
最新文档