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

合集下载

西交《软件工程概论》在线作业满分答案

西交《软件工程概论》在线作业满分答案

西交《软件工程概论》在线作业一、单选题(共 19 道试题,共 38 分。

)1. 对象模型的描述工具是()A. 状态图B. 数据流图C. 对象图D. 结构图正确答案:C2. 软件测试的目的是()A. 证明软件的正确性B. 找出软件系统中存在的所有错误C. 证明软件系统中存在错误D. 尽可能多的发现软件系统中的错误正确答案:B3. 传统的测试策略是从()开始A. 单元测试B. 集成测试C. 系统测试D. 人员测试正确答案:A4. 软件维护工作的最主要部分是()A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护正确答案:C5. 以下不属于软件维护的困难表现的是()A. 读懂别人的程序是困难的B. 文档的不一致性C. 源程序及相关文档的错误或丢失D. 软件开发和软件维护在人员和时间上的差异正确答案:C6. 在软件生存周期中,工作量所占比例最大的阶段是()阶段A. 需求分析B. 设计C. 测试D. 维护正确答案:D7. 同一类中有相同的数据结构,这是()级别的共享A. 不同应用B. 同一应用C. 不同类D. 同一类正确答案:D8. 内容耦合指()A. 两个模块之间传递的是数据结构B. 一个模块调用另一个模块时,传递的是控制变量C. 通过一个公共数据环境相互作用的哪些模块间的耦合D. 一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部正确答案:D9. 以下说法错误的是()A. 面向对象分析与面向对象设计的定义没有明显的区别B. 在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的C. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程D. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程正确答案:A10. 以下说法错误的是()A. 面向对象方法不仅支持过程抽象,而且支持数据抽象B. 某些面向对象的程序设计语言还支持参数化抽象C. 信息隐蔽通过对象的封装来实现D. 在面向对象方法中,类是最基本的模块正确答案:D11. 以下说法错误的是()A. 面向对象方法不仅支持过程抽象,而且支持数据抽象B. 某些面向对象的程序设计语言还支持参数化抽象C. 信息隐藏通过对象的封装性来实现D. 在面向对象方法中,类是最基本的模块正确答案:D12. 指出PDL是下列()语言A. 高级程序设计语言B. 伪码C. 中级程序设计语言D. 低级程序设计语言正确答案:B13. 下面错误的说法是()A. 每个数据流必须用名词或名词短语命名B. 每个加工必须有名字,通常是动词短语C. 每个数据存储必须用名词或名词短语D. 每个数据源点或终点必须有名字正确答案:A14. 需求分析是()A. 软件开发工作的基础B. 软件生存周期的开始C. 由系统分析员单独完成的D. 由用户自己单独完成的正确答案:A15. 软件工程方法得以实施的主要保证是()A. 硬件环境B. 开发人员的素质C. 软件开发工具和软件开发的环境D. 软件开发的环境正确答案:C16. 软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试()A. 结构合理性B. 软件外部功能C. 程序正确性D. 程序内部逻辑正确答案:B17. 瀑布模型的问题是()A. 用户容易参与开发B. 缺乏灵活性C. 用户与开发者易沟通D. 适用可变需求正确答案:B18. 对于集成测试,下列说法错误的是()A. 应对每一个测试用例都执行测试规程B. 应将测试结果与预期结果比较,研究两者的偏离原因C. 将缺陷报告给相关构件工程师,不需要他们修改D. 将缺陷报告给测试设计人员,由它们评估整个测试工作的结果正确答案:C19. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()A. 细节B. 输入与输出C. 软件的作者D. 绘制的时间正确答案:B西交《软件工程概论》在线作业二、多选题(共 1 道试题,共 2 分。

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

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

一、单选题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、软件开发是实现()的概念和处理逻辑到()的概念和处理逻辑的映射。

软件工程概论期末复习题

软件工程概论期末复习题

软件工程概论期末复习题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 .过于简单B .不能适应需求的动态变更C .过于灵活D .各个阶段需要进行评审 2. 软件危机的表现不包括( )。

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

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

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

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

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

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

A. 层次图B. HIPO图C.盒图D.结构图9. 结构化程序设计的三种基本控制结构不包括()。

A.顺序 B.选择 C.转移 D.循环10. 下列关于详细设计中的说法中正确的是()。

A.详细设计任务相当于设计程序的“蓝图”B.详细设计的根本目标是应该怎样具体地实现系统C.详细设计≠编写代码D.以上都正确11. 结构化程序之所以具有易于阅读,并且有可能验证其正确性,究其本质是由于()。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程概论 西交大考试题库及答案

软件工程概论 西交大考试题库及答案

软件工程概论一、单项选择题(本大题共137小题,每小题2分,共274分)1.软件是一种( B )产品A.有形B.逻辑C.物质D.消耗2.一个CASE工作台是一组( A ),支持设计、实现或测试等特定的软件开发阶段。

A.工具集B.软件包C.平台集D.程序包3.研究软硬件资源的有效性是进行( A )研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.操作可行性4.SA方法是一种( A )A.自顶向下逐层分解的分析方法B.自底向上逐层分解的分析方法C.面向对象的分析方法D.以上都不是5.需求分析最终结果是产生( C )A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书6.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是(A )A.软件开发工程化B.消除软件危机C.实现软件可重用D.程序设计自动化7.增量模型是一种( B )模型A.整体开发B.非整体开发C.灵活性差D.较晚产生工作软件8.技术可行性要解决( D )。

A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题9.在数据流图中,有名字及方向的成分是( C )A.控制流B.信息流C.数据流D.信号流10.结构化分析方法(SA)最为常见的图形工具是( C )A.程序流程图B.实体联系图C.数据流图D.结构图11.软件工程方法得以实施的主要保证是( C )A.硬件环境B.开发人员的素质C.软件开发工具和软件开发的环境D.软件开发的环境12.瀑布模型的问题是(B )A.用户容易参与开发B.缺乏灵活性。

软件工程概论考试复习题

软件工程概论考试复习题

软件工程概论考试复习题软件工程概论是一门研究如何高效、系统地开发和维护软件的学科。

以下是一些考试复习题,帮助同学们更好地准备考试:1. 软件工程的定义:请解释什么是软件工程,并简述其重要性。

2. 软件开发生命周期(SDLC):描述软件开发生命周期的各个阶段,并解释每个阶段的主要活动。

3. 需求分析:阐述需求分析的重要性,并说明如何收集和分析用户需求。

4. 软件设计:区分高层设计和低层设计,并解释它们在软件开发中的作用。

5. 面向对象设计(OOD):解释面向对象设计的原则和概念,包括类、对象、继承、封装和多态。

6. 软件测试:讨论软件测试的目的和类型,包括单元测试、集成测试、系统测试和验收测试。

7. 软件维护:解释软件维护的不同类型,包括纠错性维护、适应性维护、完善性维护和预防性维护。

8. 敏捷开发方法:描述敏捷开发方法的核心原则和实践,以及它与传统软件开发方法的区别。

9. 项目管理:讨论软件项目管理的关键要素,包括时间管理、成本管理、风险管理和资源管理。

10. 软件质量保证:解释软件质量保证的概念,以及如何通过质量控制和质量改进来确保软件质量。

11. 软件工程伦理:讨论软件工程师在职业实践中应遵循的伦理准则和责任。

12. 案例研究:分析一个软件项目失败或成功的案例,讨论其中涉及的软件工程概念和实践。

13. 软件工程工具和技术:列举并解释在软件开发过程中常用的工具和技术,例如版本控制系统、集成开发环境(IDE)、自动化测试工具等。

14. 软件工程的未来趋势:探讨当前软件工程领域的新兴趋势,如人工智能在软件开发中的应用、DevOps实践等。

15. 个人项目经验:反思自己在软件工程课程中完成的项目,讨论所学到的知识和技能,以及如何将这些应用到未来的软件开发工作中。

请同学们认真复习以上内容,并准备相应的答案和例子,以确保在考试中能够表现出色。

祝你们考试顺利!。

软件工程概论期末测试试卷含答案

软件工程概论期末测试试卷含答案

《软件工程概论》期末测试试卷(A卷)一.单项选择题(每题1分,共22分)1.对象实现了数据和操作旳结合,使数据和操作()于对象旳统一体中。

A.结合B.隐藏C.封装D.抽象2.软件生命周期中所花费用最多旳阶段是()。

A.详细设计B.软件编码C.软件测试D.软件维护3.需求分析中开发人员要从顾客那里理解()。

A.软件做什么B.顾客使用界面C.输入旳信息D.软件旳规模4.测试旳关键问题是()。

A.怎样组织对软件旳评审B.怎样验证程序旳对旳性C.怎样采它包括措施、工具用综合方略D.怎样选择测试用例5.()是将系统化旳、规范旳、可定量旳措施应用于软件旳开发、运行和维护旳过程,和过程三个要素。

A.软件过程B.软件测试C.软件生命周期D.软件工程措施学6.()意味着一种操作在不一样旳类中可以有不一样旳实现方式。

A.多态性B.多继承C.类旳可复用D.信息隐藏7.单元测试旳测试用例重要根据()旳成果来设计。

A.需求分析B.源程序C.概要设计D.详细设计8.伴随软硬件环境变化而修改软件旳过程是()。

A.校正性维护B.适应性维护C.完善性维护D.防止性维护9.在白盒测试技术测试用例旳设计中,()是最弱旳覆盖原则。

A.语句覆盖B.途径覆盖C.条件组合覆盖D.鉴定覆盖10.构造化程序设计旳一种基本措施是()。

A.筛选法B.迭代法C.逐渐求精法D.递归法11.不适合作为科学工程计算旳程序设计语言是()。

A.Pascal B.CC.Fortran D.Prolog12.只有单重继承旳类层次构造是()层次构造。

A.网状型B.星型C.树型D.环型13.面向对象旳开发措施中,()将是面向对象技术领域内占主导地位旳原则建模语言。

A.Booch措施B.Coad措施C.UML语言D.OMT措施14.瀑布模型本质上是一种()。

A.线性次序模型B.次序迭代模型C.线性迭代模型D.和早见产品模型15.软件维护产生旳副作用,是指()。

A.开发时旳错误B.隐含旳错误C.因修改软件而导致旳错误D.运行时误操作16.软件详细设计旳重要任务是确定每个模块旳()。

【可编辑全文】软件工程概论答案

【可编辑全文】软件工程概论答案

可编辑修改精选全文完整版软件工程概论答案第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。

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

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

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

”这种观点是错误的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《软件工程概论》课程知识 复习 学习材料 试题与参考答案

《软件工程概论》课程知识 复习 学习材料 试题与参考答案

《软件工程概论》课程知识复习学习材料试题与参考答案一、单选题1.原型化方法是一种(A)型的设计过程。

A.自外向内B.自顶向下C.自内向外D.自底向上2.下述任务中,不属于软件工程需求分析阶段的是(D)。

A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台3.在软件生存周期中,用户主要是在(A)参与软件开发。

A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中4.表示集成是指一个系统中的工具使用共同的风格以及采用共同的用户交互标准集。

表示集成有三种不同级别:窗口系统集成、命令集成和(D)。

A.数据集成B.平台集成C.界面集成D.交互集成5.软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。

A.软件生存周期B.软件过程C.软件开发方法D.软件开发模型6.技术可行性要解决(D)。

A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题7.瀑布模型是一种(D)。

A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型8.面向数据流的软件设计方法可将(C)映射成软件结构。

A.控制结构B.模块C.数据流D.事务流9.一个CASE工作台是一组(A),支持设计、实现或测试等特定的软件开发阶段。

A.工具集B.软件包C.平台集D.程序包10.软件工程学的目的应该是最终解决软件生产的(B)问题。

A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证11.目前有若干种软件生存周期模型。

例如瀑布模型、增量模型、螺旋模型等。

其中基于知识的模型也称为(B)。

A.演化模型B.智能模型C.变换模型D.喷泉模型12.可行性分析中,系统流程图用于描述(A)。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统13.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型14.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中,(C)出错,对软件的影响最大。

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

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

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

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2. 软件是一种( B )性工业产品。

A. 理论B. 知识(或逻辑)C. 消耗D. 体力3. 需求分析是在( B )进行的。

A. 用户B. 用户和分析设计人员之间C. 开发人员内部D. 使用和维护人员间4. 软件的主要结构和功能是在( A )阶段决定的。

A. 分析设计B. 编程C. 测试D. 维护5.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( 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. 程序设计方法学的影响B. 其他工程科学影响C. 软件危机的出现D. 计算机的发展12、软件生成周期模型有多种,下列选项中,( C )不是软件生存周期模型。

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

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

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

软件工程概论复习题答案一、单选题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 )是指能直接控制模块的模块数。

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

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

软件工程概论复习题答案一、单选题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 )是指能直接控制模块的模块数。

软件工程导论复习题及答案详解

软件工程导论复习题及答案详解

第一章一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与________。

2.程序设计时代的生产方式是________。

3.软件工程涉及到几个学科,它是一门_____学科。

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能________。

5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是________模型。

6.喷泉模型是一种以用户需求为动力,以_______为驱动的模型。

7.结构化方法是一种面向数据流的开发方法。

由结构化分析、_______、结构化程序设计构成。

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

9.软件工具是支持软件开发人员的开发和维护活动而使用的________。

10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种________,使用相应的工具来进行。

三、选择题1.软件是一种( )产品。

A.物质B.逻辑C.有形D.消耗2.软件产品的开发主要是( )。

A.复制B.再生产C.拷贝D.研制3.个体手工劳动生产方式的时代是( )。

A.程序设计B.软件生产自动化C.程序系统D.软件工程4.与计算机科学的理论研究不同,软件工程是一门( )学科。

A.理论性B.原理性C.工程性D.心理性5.软件重用的单位是( )。

A.软件模块B.性能C.系统D.功能6.软件开发费用只占整个软件系统费用的( )。

A.1/2B.1/3C.1/4D.2/37.软件开发中大约要付出( )%的工作量进行测试和排错。

A.20B.30C.40D.508.准确地解决“软件系统必须做什么”是( )阶段的任务。

A.可行性研究B.需求分析C.详细设计D.编码9.软件生存周期中最长的是( )阶段。

A.需求分析B.概要设计C.测试D.维护四、简答题1.软件产品的特性是什么?2.软件生产有几个阶段?各有何特征?3.什么是软件危机?产生的原因是什么?4.软件工程的性质、目标和内容是什么?5.软件工程面临的问题是什么?6.软件工程过程有哪些过程?7.软件生存周期有哪几个阶段?8.软件生存周期模型有哪些主要模型?9.有哪些主要软件开发方法?参考答案二填空题1.软件 2.个体手工劳动3.综合性交叉 4.相同5.瀑布 6.对象7.结构化设计8.软件开发技术9.软件10.开发方法三、选择题1.B 2.D 3.A 4.C5.A 6.B 7.C 8.B 9.D第二章一、名称解释1.可行性研究2.技术可行性3.经济可行性4.社会可行性5.货币时间价值6.投资回收期7.纯收入8.系统流程图二、填空题1.可行性研究的目的是用最小的代价,在尽可能短的时间内,确定________。

软件工程习题解答

软件工程习题解答

第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。

其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。

①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。

软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。

其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。

A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。

这时既没有(A),也没有(B),程序员只能用机器指令编写程序。

第二阶段(20世纪60年代),称为“基本软件期”。

出现了(A),并逐渐普及。

随着(B)的发展,编译技术也有较大的发展。

第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。

这一时期,与硬件价格下降相反,软件开发费用急剧上升。

人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。

第四阶段(20世纪70年代中期至今),称为“软件工程”时期。

软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。

如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。

A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。

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

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

软件学院考试试卷及标准答案20XX— 20XX学年第一学期课程名称:软件工程概论┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄一、单项选择题:在每小题列出的四个备选答案中只有一个....答案..是符合题目要求。

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

未填入答题表、错选或多选均不得分。

(每小题1分,本题共计35分)1. 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法常用模型不包括...( )。

A.瀑布模型 B.敏捷模型 C.原型模型 D.螺旋模型2. 软件开发瀑布模型中的各个阶段依次是()。

A.设计、分析、实现、测试、维护。

B.分析、设计、测试、实现、维护。

C.分析、设计、实现、维护、测试。

D.分析、设计、实现、测试、维护。

3. 软件危机的表现不包括()。

A.软件质量不可靠 B.软件几乎是不可维护的C.测试过程中发现的错误较多 D.缺少文档4. 瀑布模型的主要特点之一是 ( )。

A.推迟实现B.成功率极高C.容易失败D.过程迭代5. 软件工程中常用的生命周期模型有()等。

A.瀑布模型,快速原型模型,增量模型,螺旋模型和喷泉模型B.瀑布模型,快速循环模型,扩展模型,螺旋模型和敏捷模型C.瀑布模型,快速循环模型,增量模型,螺旋模型和喷泉模型D.瀑布模型,快速原型模型,增量模型,螺旋模型和敏捷模型6. ()是一种用来描述系统信息流和数据流的图形化工具。

A.系统流程图 B.数据流图C.程序流程图 D.HIPO图7. ()和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整。

A.系统流程图 B.E-R图C.数据字典 D.层次方框图8. 需求分析的任务不包括...()。

A.确定对系统的综合要求 B.分析系统的数据要求C.从技术角度分析系统是否可行 D.导出逻辑模型并修正开发计划9. 要将一个复杂的系统分析清楚,传统软件工程常用方法是结构化分析方法,结构化分析方法就是()。

《软件工程概论》题集

《软件工程概论》题集

《软件工程概论》题集一、选择题(每题2分,共20分)1.软件工程的目标是提高软件的( )。

A. 开发效率B. 维护效率C. 质量和生产率D. 可靠性和复用性答案:C2.在软件开发的生命周期中,需求分析阶段的主要任务是( )。

A. 确定软件开发方法B. 编写程序代码C. 确定软件系统的功能需求D.进行系统测试答案:C3.下列选项中,不属于软件设计原则的是( )。

A. 开闭原则B. 依赖倒转原则C. 迪米特法则D. 尽早编码原则答案:D4.在结构化分析方法中,数据流图(DFD)用于描述( )。

A. 数据在系统中的流动和处理过程B. 软件的模块结构C. 软件的层次结构D. 软件的控制流程答案:A5.白盒测试和黑盒测试的主要区别在于( )。

A. 测试者是否知道程序的内部结构B. 测试是否使用测试用例C. 测试是否在系统开发完成后进行D. 测试是否关注性能答案:A6.敏捷开发方法强调( )。

A. 严格遵循预先定义的计划B. 快速响应变化,交付可用的软件C. 详细的文档和过程控制D. 尽量避免与客户沟通答案:B7.下列哪项不是软件配置管理(SCM)的目标( )。

A. 标识变更B. 控制变更C. 确保变更的正确实施D. 消除所有错误答案:D8.在软件项目中,风险管理的目的是( )。

A. 消除所有风险B. 最小化风险对项目的影响C. 将风险转移给第三方D. 仅关注技术风险答案:B9.面向对象编程(OOP)的三大特征是( )。

A. 封装、继承、多态B. 数据抽象、过程控制、模块化C. 模块化、结构化、封装D. 过程控制、继承、多态答案:A10.软件复用是通过( )来提高软件开发效率的。

A. 使用已有的软件组件B. 增加开发人员数量C. 延长开发时间D. 采用新的开发工具答案:A继续二、填空题(每题2分,共14分)1.软件工程是一种(应用计算机科学、经济学、管理学和其他工程学科的知识和实践,以系统化、规范化、量化的方法开发、运行和维护软件的过程)。

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

相关文档
最新文档