软件工程导论考试夹带
软件工程导论试题打印word文档良心出品

软件工程导论试题(老师给的)一.选择1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、 系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段: 计划阶段、开发阶段和()。
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节 出错,对软件的影响最大()。
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目 标()。
A 、需求分析阶段B 、详细设计阶段C 、概要设计阶段D 、可行性研究阶段 4、软件工程的出现主要是由于 ()。
A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是() A 、硬件环境B 、软件开发的环境 C 、软件开发工具和软件开发的环境D 、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的 关系表现为()7、UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法 ()A 、基于瀑布模型的结构化方法B 、基于需求动态定义的原型化方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高 ()A 、结构化方法B 、原型化方法C 、面向对象的方法D 、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的A 、控制流B 、数据流C 、程序流D 、指令流11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为 A 、瀑布模型B 、对象模型C 、螺旋模型D 、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段, 般认为可能占用人员最多的阶段是()21.系统流程图是描述物理模型的传统工具, 用图形符号表示系统中各个元素表达了系统中 各种元素之间的()情况。
2023软件工程导论期末考试题库及参考答案

2.判断题1.向滞后的项目中增加人手会使得项目更加滞后。
(T)2.过程描述语言可以用于描述软件的系统结构。
(F)3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。
(F)5.只有质量差的软件产品才需要维护。
(F)6.层次图用来描述软件的层次结构。
层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。
在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。
(F)7.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)8.软件错误可能出现在开发过程的早期,越早修改越好。
(T)9.软件模块的耦合是越低越好。
(T)10.一个好的测试用例在于能发现至今未发现的错误。
(T)11.面向对象设计的结果只能采用面向对象语言来实现(F)12.一个成功的项目唯一提交的就是运行程序。
(F)13.用例之间的关系有3种。
(T)14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。
(T)15.软件工作的考虑范围主要是程序设计和实现。
(F)16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G)=N-E+2o(改成E-N+2)(F)17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。
(T)18.在进行总体(改成概要)设计时应加强模块间的联系。
(F)19.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(T)20.建立动态模型的第一步,是编写典型交互行为的脚本。
(T)21.在程序调试时,找出错误的位置和性质比改正该错误更难。
(F)22.如果通过软件测试没有发现错误,则说明软件是正确的。
(F)23.快速原型模型可以有效地适应用户需求的动态变化。
(T)24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产2023软件工程导论期末考试题库及参考答案1 .填空题1.一般来说,可以从一致性、完整性、现实性和有效性四个方面验证软件需求的正确性。
消过申请书 精选(范文10篇)

消过申请书精选(范文10篇)篇1:消过申请书尊敬的学校领导、各位老师:您好,我是XX级新高计网学生XX。
由于去年在Basic语言考试中作弊,学校给予记过处分。
给学校的同学和自我带来了损失,影响极坏。
在上一学期里,痛定思痛,我认真作自我反省、努力学习,同学的帮助和老师的耐心教育使我最终认识到事情的严重性,受益颇多,思想有了进步,学习也有宏大进步。
按学校规定,特此向学校申请取消处分。
考试中作弊的行为,违背了学校纪律,造成了考试的不公平。
不公有害于同学,同时也打击了自我的信心。
我为自我做的错事感到内疚,至今懊悔莫及,唯有改正错误才能弥补以往的过失。
向尊敬的老师和亲爱的同学们说对不起,为自我的错误向你们致以内心的歉意。
人无完人,都有自我做错事的时候,重要是自我犯的错主动成认错误,及时改正,以免再犯一样的错。
从上学期以来,一向对自我进展反思,对作弊事件分析^p ,认真总结经历教训。
Basic考试之前,对它没有严肃对待,导致最终没有做好准备。
考试期间,携带与考试有关的纸条,动机不纯。
其次,老师打过招呼不允许小动作,也还是没听。
直到老师逐个收卷子到跟前时,脑子里一片茫然。
此事虽然过了很久,但还恍如昨日发生一样。
感觉与自我平时不注意生活细节有必须关系。
平时思想懒散,没有及时纠正,终成大错,此刻我深深地懊悔那学期没有认真学习Basic的根底知识,荒废了学业。
也很懊悔没有听老师不停的警告。
但世界上没有懊悔药,改正不良习惯和纠正错误才是最根本的。
下来之后,老师找我谈过,进展了思想交流。
我虚心理解老师的批评和提议,同学们也热心帮助我,使我能逐渐树立信心。
此刻我有了较大的进步。
以往做事拖拉,此刻做事紧凑。
原先睡觉晚、起床晚,此刻根本改掉。
不喜欢看课外书的我,此刻常常拿着教材钻研。
利用闲瑕时间背英语词汇,学习之余听听音乐,松驰有度。
既培养兴趣爱好,又进步了学习效率,一举多得。
时时谨记“光阴似箭”一去不回的道理,阅读有益的书籍,拓展视野,增强学习动力。
软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。
答案:需求调研7. 软件工程的三要素是______、过程、方法。
答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。
答案:内聚性9. 软件测试的目的不包括______。
答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。
答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。
答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。
12. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是( A )。
A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。
A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误( A )。
A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。
软件工程导论期末考试考点

1.软件的定义:软件是程序、数据及相关文档的完整集合。
其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构,文档是开发、使用和维护程序所需要的图文资料。
2.软件危机的定义,表现、原因是什么a)软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
b)软件危机的表现:对软件开发成本和进度的估计常常很不准确。
经常出现用户对“已完成的”软件系统功能不满意的现象。
软件产品的质量往往达不到要求。
软件通常不可维护。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
c)软件危机的原因:i.客观原因:与软件本身的特点有关软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
软件缺乏“可见性”。
软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。
软件缺乏“可插拔性”。
如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。
ii.主观原因:与软件开发与维护的方法不正确也有关目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,这可能是使软件问题发展成软件危机的主要原因。
忽视需求分析只重视编码与运行。
编写程序所需的工作量只占软件开发全部工作量的10%~20%。
在后期引入一个变动比在早期引入相同变动所需付出的代价高2~3个数量级。
图定性地描绘了在不同时期引入一个变动需要付出的代价的变化趋势。
忽视文档只重视程序必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。
必须清除只重视程序而忽视软件配置其余成分的糊涂观念。
轻视维护是一个最大的错误。
统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%。
3.软件工程的定义、软件工程方法学三要素是什么软件工程定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程导论(第五版)期末考试

软件工程导论(第五版)期末考试1、软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的严重问题。
2、软件是程序、数据及相关文档的完整集合,程序是能够完成预定功能和性能的可执行的程序序列;数据是是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。
3、软件工程学包含3个要素:方法、工具、过程。
4、目前使用最广泛的软件工程方法学是传统方法学和面向对象方法学。
5、软件工程方法学的软件过程基本上可以用瀑布模型来描述。
6、瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型。
7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。
8、可行性研究的三方面:技术可行性、经济可行性、操作可行性。
9、数据流图(DFD)是一种图形化技术,他描绘信息流和数据从输入移动到输出的过程中所经受的变化。
10、数据字典是关于数据信息的集合,也就是对数据流程图中所包含的所有元素的定义的集合。
11、数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。
12、需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确的描述软件需求。
13、结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
14、ER图中包含了实体、关系和属性,矩形代表实体,菱形表示关系,椭圆或圆角矩形表示属性,用直线把实体和其属性连接。
15、验证软件需求的正确性:一致性、完整性、现实性、有效性。
16、总体设计的基本目的是回答"概括地说,系统应该如何实现?",总体设计又称为概要设或初步设计。
17、模块的独立程度可以有两个定性标量度量:内聚和耦合。
18、软件测试的目标:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现可至今为止尚未发现的错误的测试。
软件工程导论(东北林业大学)知到章节答案智慧树2023年

软件工程导论(东北林业大学)知到章节测试答案智慧树2023年最新第一章测试1.软件的主要特性是()。
参考答案:包括程序和文档;无形性;高成本2.包含风险分析的软件工程模型是()。
参考答案:螺旋模型3.下列属于面向对象开发方法的是()。
参考答案:Booch;UML;Coad;OMT4.软件危机的主要表现是()。
参考答案:软件产品的质量低劣;软件生产率低下5.从事物的组成部件及每个部件的属性、功能来认识事物。
这种方法被称为()的方法。
参考答案:面向对象6.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的()结构。
参考答案:程序7.增量模型是非整体开发的模型,软件的开发是用增量开发和增量提交。
()参考答案:对8.统一迭代过程在不同阶段,各个核心工作流的工作重心相同。
()参考答案:错9.喷泉模型是一种面向对象模型。
()参考答案:对10.螺旋模型不适用于大型内部软件开发。
()参考答案:错第二章测试1.面向对象的分析方法主要是建立三类模型,即()。
参考答案:对象模型、动态模型、功能模型2.SA法的主要描述手段有()。
参考答案:DFD图、数据词典、加工说明3.画分层DFD图的基本原则有()。
参考答案:数据守恒原则;数据流封闭的原则;子、父图平衡的原则4.数据字典是数据流图中所有元素的定义的集合,一般由以下4类条目组成()。
参考答案:数据流条目、数据文件条目、数据池条目、加工条目5.执行者(Actor)与用例之间的关系是()。
参考答案:关联关系6.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。
()参考答案:错7.SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
()参考答案:对8.HIPO法既是需求分析方法又是软件设计方法。
()参考答案:对9.对象模型表示了静态的,结构化的,系统数据性质,描述了系统的静态结构,她是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。
大学生消过申请书(二篇)

大学生消过申请书尊敬的尊敬的校学位学科办公室、教务处、学生处、管理科学与工程学院领导:您好!我是09计本3班的一名团员学生,在整个大一,大二乃至大三上期间,我一直以学生手册上的要求来规范自己的行为,举止乃至品性。
在平时,我积极参加校院组织的各种活动,参加过社会实践,也曾在院学生会社会实践部工作学习过;学习上,我也努力认真,要求自己做到实践与知识相结合。
可是,在大三下学期的全校期末检测中,我忘记了自己平时做人准则,忘记了平时在学生手册上学习到的高等学校学生行为准则的第五条:诚实守信,严于律己:履约践诺,知行统一;遵从学术规范,恪守学术道德,不作弊,不剽窃;自尊自爱,自省自律,忘记了丁忠明校长在我们大一刚来时当着全校所有新生的面所说的校训“知行统一,诚信博学”。
仅仅为了自己可以在大三学期拿到奖学金,为了回家能让父母看到我取得的“分数”,我在软件工程导论这场考试中,夹带了小抄。
幸亏教务处的老师们在我还没有彻底酿成更大的错误之前发现了我夹带小抄的行为,而我也因自己的无知和愚笨,在面对奖学金的诱惑和为了让自己的父母看到自己“考到”的“高分”而做出的对校规校纪的不遵守,对平时老师教导我们一名大学生应该所作和所为的的疏忽,受到了学业B级警示。
在受到警示到现如今,我恐惧过,害怕学校真的像别人所说的那样不发给我学位证书;我也迷惘过,迷惘自己当初做的到底是为了什么;我还庆幸过,庆幸自己在犯了这么大的错误后依然有老师同学来帮助自己度过那段让自己刻骨铭心的时间。
但是,最终,我深刻认识到,不管是恐惧,迷惘还是庆幸,都抵不过院长程刚对我说过的那句话,“做人,要讲诚信。
学生时代就是个很好的培养诚信的时代,它将会是你迈入社会,培养自身素质的一个孕育时期。
”是啊,在大学,如果一个人就丢掉了自己的诚信,还怎么在社会上保持自己最基本的个人素质和信仰呢!我认识到,自己当初是多么的愚笨,为了奖学金,就丢掉了自己的诚信,是多么一个错误的决定。
软件工程导论期末考试题

一、单项选择题1.适合于面向对象方法学的软件生存周期模型是(B )A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。
A. 1B.2C.3D.53. 可行性分析研究的目的是(A )。
A. 项目值得开发否B.争取项目C.开发项目D.规划项目4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B )A.软件工程B. 软件危机C. 软件周期D.软件产生6. 需求分析阶段的任务是确定( D )A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能7. 完整的软件结构通常用( B )图来表示。
A. IPO图B. HIPO图C.PAD图D.DFD图8. 在白盒法技术测试用例的设计中(A )是最弱的覆盖标准。
A.语句B.路径C.条件组合D.判定9.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏C.封装D.抽象10.在数据流图中,圆代表(C)。
A.源点B.终点C.加工D.模块11.模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。
A.松散B.紧密C.无法判断D.相等12.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑13.面向对象开发方法中,( C )是占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C )A.如何做B.怎么做C.做什么D.对谁做15.结构化程序设计的一种基本方法是(C )A.筛选法B.迭代法C.逐步求精法D.递归法二、填空题1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。
消过申请书格式

消过申请书格式申请人:___________ 日期:___________消过申请书格式尊敬的尊敬的校学位学科办公室、教务处、学生处、管理科学与工程学院领导:您好!我是09计本3班的一名团员学生,在整个大一,大二乃至大三上期间,我一直以学生手册上的要求来规范自己的行为,举止乃至品性。
在平时,我积极参加校院组织的各种活动,参加过社会实践,也曾在院学生会社会实践部工作学习过;学习上,我也努力认真,要求自己做到实践与知识相结合。
可是,在大三下学期的全校期末检测中,我忘记了自己平时做人准则,忘记了平时在学生手册上学习到的高等学校学生行为准则的第五条:诚实守信,严于律己:履约践诺,知行统一;遵从学术规范,恪守学术道德,不作弊,不剽窃;自尊自爱,自省自律,忘记了丁忠明校长在我们大一刚来时当着全校所有新生的面所说的校训“知行统一,诚信博学”。
仅仅为了自己可以在大三学期拿到奖学金,为了回家能让父母看到我取得的“分数”,我在软件工程导论这场考试中,夹带了小抄。
幸亏教务处的老师们在我还没有彻底酿成更大的错误之前发现了我夹带小抄的行为,而我也因自己的无知和愚笨,在面对奖学金的诱惑和为了让自己的父母看到自己“考到”的“高分”而做出的对校规校纪的不遵守,对平时老师教导我们一名大学生应该所作和所为的的疏忽,受到了学业B级警示。
在受到警示到现如今,我恐惧过,害怕学校真的像别人所说的那样不发给我学位证书;我也迷惘过,迷惘自己当初做的到底是为了什么;我还庆幸过,庆幸自己在犯了这么大的错误后依然有老师同学来帮助自己度过那段让自己刻骨铭心的时间。
但是,最终,我深刻认识到,不管是恐惧,迷惘还是庆幸,都抵不过院长程刚对我说过的那句话,“做人,要讲诚信。
学生时代就是个很好的培养诚信的时代,它将会是你迈入社会,培养自身素质的一个孕育时期。
”是啊,在大学,如果一个人就丢掉了自己的诚信,还怎么在社会上保持自己最基本的个人素质和信仰呢!我认识到,自己当初是多么的愚笨,为了奖学金,就丢掉了自己的诚信,是多么一个错误的决定。
软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是A) 路径的集合B)循环的集合C)目标的集合D)地址的集合c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序I.功能测试Ⅱ. 结构测试A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱa(3)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试c(4)下述陈述中,哪一个不是软件健壮性的度量指标?A)失败后重新启动所需的时间B)引起失败的时间所占的百分比D)失败前的平均工作时间D)在一次失败中数据恶化的概率b(5)对软件是否能达到用户所期望的要求的测试称为A) 集成测试B) 有效性测试C) 系统测试D) 验收测试a(6)在面向数据流的软件设计方法中,一般将信息流分为A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容I.数据描述Ⅲ. 模块描述II.功能描述Ⅳ. 性能描述A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ(8)软件测试一般分为三类,即I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试设计测试用例对程序进行测试,应属于A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ(9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。
A)模块间联系程度B)模块的功能强度C)信息隐蔽程度D)模块的复杂程度(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具I.结构图Ⅱ. 实体关系图Ⅲ. IPO图II.Ⅳ. 流程图Ⅴ. N-S图A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部A (2)C (3)A (4)C (5)B (6)A (7)D (8)B (10)C(11)试判断下列论述中哪个(些)是正确的I.软件系统中所有的信息流都可以认为是变换流II.软件系统中所有的信息流都可以认为是事务流III.事务分析和变换分析的设计步骤基本类似A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书C)总体设计报告D)有效性测试要求(13)软件设计中的软件过程其主要描述的是A)模块间关系B)模块操作细节C)模块控制方法D)模块类型(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?I.预防软件发生的错误Ⅱ. 发现改正程序错误Ⅲ. 提供诊断错误信息A)只有Ⅰ均不须B)只有ⅡC)只有ⅢD)都是(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?A)功能测试B)单元测试C)结构测试D)确认测试(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?A)完善性维护B)适应性维护C)改正性维护D)预防性维护(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为A)瀑布模型B)对象模型C)螺旋模型D)层次模型(18)软件原型化开发方法有其基本步骤,下述I.获取基本需求Ⅱ. 开发工作模型Ⅲ. 严格细部说明Ⅳ. 模型验证中,哪些(个)是实现原型化的最基本的步骤?A)全部都是B)Ⅰ,Ⅱ和ⅣC)ⅣD)Ⅰ和Ⅱ(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指A)模块间的关系B)模块的操作细节C)软件层次结构D)软件开发过程(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是A)先数据后程序B)先程序后数据C)与顺序无关D)可同时进行(11)D (12)B (13)B (14)D (15)B (16)A (17)A (18)B(19)B (20)A(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述I.结构化语言Ⅱ. 判定树Ⅲ. 判定表是常用的说明工具,其中便于对加工出现的组合条件的说明工具是A)Ⅱ和ⅢB)Ⅰ、Ⅱ和ⅢC)Ⅰ和ⅢD)Ⅰ和Ⅱ(22)软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是A)分析阶段B)设计阶段C)编码阶段D)测试阶段(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?A)加工顺序B)加工逻辑C)执行频率D)激发条件(24)构建一个原型不支持下述哪种功能?A)取代最终系统B)辅助收集软件需求C)辅助估计工程代价D)作为较大工程的基础(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的A)可复用性B)可维护性C)可扩展性D)可移植性(26) 下列哪种描述是正确的?A)定义阶段产生软件需求规划B)测试在软件生命周期中是可选的C)CASE工具只能辅助软件生命周期的设计阶段D)后一阶段改变时,不需要更新以前所有阶段的文档(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的A)结构合理性B)程序正确性C)程序外部功能D)程序内部逻辑(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是A)设计人员和用户B)分析人员和用户C)分析人员和设计人员D)编码人员和用户\(21)A (22)C (23)B (24)A (25)B (26) A (27) D (28) B (29) C(30) A(29)数据流图是用于软件需求分析的工具,下列元素I.数据流Ⅱ. 加工Ⅲ. 数据存储Ⅳ. 外部实体(源或潭)哪些是其基本元素?A)Ⅰ,Ⅱ和ⅢB)Ⅰ和ⅢC)全部D)Ⅰ,Ⅲ和Ⅳ(30) 数据字典(DD)是定义哪一种系统描述工具中的数据的工具?A) 数据流程图B) 系统流程图C) 程序流程图D) 软件结构图(31) 软件需求分析一般应确定的是用户对软件的A) 功能需求B) 非功能需求C) 性能需求D) 功能需求和非功能需求(32) 软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?A) 软件结构B) 数据库设计C) 制定测试计划D) 模块算法(33) 数据字典是对数据定义信息的集合,它所定义的对象都包含于A) 数据流图B) 程序框图C) 软件结构D) 方框图(34) 软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能A) 减少测试工作量B) 避免后期付出高代价C) 保证软件质量D) 缩短软件开发周期(35) 程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是A) 语言的应用领域B) 对语言的熟悉程度C) 数据结构的复杂度D) 算法的复杂度(36) 软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:I.成熟的原型化人员Ⅱ. 快速的成型工具Ⅲ. 需求了解的准确性哪个(些)条件是实施原型化方法所必备的?A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ,Ⅱ和ⅢD)Ⅲ(37) 软件的可维护性度量可分解为对多种因素的度量,下述各种因素I.可测试性Ⅱ. 可理解性Ⅲ. 可修改性Ⅳ. 可复用性哪个(些)是可维护性度量的内容?A)全部B)ⅠC)Ⅰ,Ⅱ和ⅢD)Ⅰ和Ⅱ(38) 软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是A) 集成测试B) 单元测试C) 系统测试D) 验收测试(39) 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?I.自顶向下Ⅱ. 自底向上Ⅲ. 分层绘制Ⅳ. 逐步求精A)全是B)Ⅰ,Ⅲ和ⅣC)Ⅱ,Ⅲ和ⅣD)Ⅰ和Ⅲ(31) D (32) D (33) A (34) B (35) A (36) A (37) C (38) B (39) B (40) B(40) 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的A) 控制流B) 数据流C) 程序流D) 指令流(41) 软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?A) 调用关系B) 从属关系C) 嵌套关系D) 主次关系(42) 原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?A) 提供严格定义的文档B) 加强用户参与和决策C) 简化项目管理D) 加快需求的确定(43) 评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的内容?A) 尽量发现错误B) 检查软件文档C) 根据评审标准D) 依靠测试信息(44) 软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于A) 阅读设计文档B) 理解程序代码C) 分析软件结构D) 查阅测试记录(45) 软件工程哪个阶段产生软件需求定义?A) 定义阶段B) 工程阶段C) 维护阶段D) 开发阶段(46) 自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护A) 输出数据B) 数据字典C) 处理序号D) 输入数据(47) 下述哪种是内聚性最严格的形式?A) 逻辑B) 功能C)过程D) 一致性(48) 下述哪个不是白盒测试法的概念?A)应该执行边界条件下的所有循环B) 应该执行边界条件下的所有接口B)应该执行所有逻辑判断的真假情况D) 应该至少执行一次模型中的所有独立路径(49) 原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力A) 熟练的编程技能B) 及时获得用户需求C) 协作精神及有力管理D) 巧妙使用工具(50) 数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?(41) D (42) A (43) D (44) C (45) A (46) B (47) B (48) B (49) B (50) BA) 可行性分析B) 需求分析C) 详细设计D) 程序编码(51) 判定树和判定表是用于描述结构化分析方法中哪一环节的工具?A) 功能说明B) 数据加工C) 流程描述D) 结构说明(52) 在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?A) 详细设计B) 需求分析C) 总体设计D) 编程调试(53) 信息隐蔽的概念与下述哪一种概念直接相关?A) 软件结构定义B) 模块独立性C) 模块类型划分D) 模块耦合度(54) 结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?A) 顺序结构B) 条件结构C) 选择结构D) 嵌套结构(55) 软件复审时其主要的复审对象是A) 软件结构B) 软件文档C) 程序编码D) 文档标准(56)软件需求规格说明书不应包含的内容是A) 系统输入/输出的描述B) 质量控制方案C) 数据字典D) 用户界面需求描述E) 系统可靠性要求描述F) 测试方案G)需求分析阶段进度安排H) 人员需求(51) B (52) C (53) B (54) D (55) B (56 ) F G H(57) 将下面的DFD转换为初始化的模块结构图图中:左竖虚线表示此处为系统的逻辑输入57-2)57-3)(58) 将下面的伪码转换为PAD和N-S图beginS1;I f x>5 then S2 else S3;w hile y<0 do beginif z>3 then S4 else S5;while w>0 then S6;S7end;S8;If u>0 then S9;S10;E nd.(59)(60) 将下面给出的伪码,转换为PAD图和程序流程图。
《软件工程导论》试题及答案

一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
《软件工程导论》期末考试-试题与答案

《软件工程导论》期末考试-试题与答案一、填空题1.软件工程中的结构化分析 SA 是一种面向________的分析方法。
2.软件模块独立性的两个定性度量标准是_________________。
3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。
4. ________和数据字典共同构成了系统的逻辑模型5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
二、单选题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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。
A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了________而执行程序的过程。
A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。
A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行_________的一种方法。
软件工程导论的命题范围提纲

软件工程导论的命题范围提纲考试提纲如无异议,每个知识点请出对错题2个,选择题2个,知识点3个及以上的部分出简答题2道,知识点2个及一下的部分出简答题1个。
题目与答案一起本周发送给我。
举例来说,第一部分涉及知识点2个,因此需出对错题4个,选择题4个,简答题1个。
第一部分1、计算系统的分层2、计算历史第二部分4 4 11、位置记数法(2、8、16进制及其转化)2、数据与计算机第三部分:8 8 21、门2、存储器电路3、CPU芯片4、RAM与ROM1. 是用来存放程序和数据的部件,它是一个记忆装置。
(B)A.输入设备B。
存储器C。
输出设备D。
控制器2. 世界上第一台电子数字计算机是。
(A)A.ENIAC B.深蓝C.银河D.PC机3、计算机中存贮信息的最小单位是。
(A)A.字节B.ByteC.字D.Bit4.十进制11在十六进制中表示为。
(B)A、aB、bC、cD、d5. 以下二进制运算表达式中,错误的为。
(B)A、0·0=0B、1·1=0C、0 + 0=0D、1 + 0=16、一旦断电,数据就会丢失的存储器是。
(B)A、ROMB、RAMC、硬盘D、软盘7、计算机能直接执行的程序是。
(B)A、汇编语言程序B、机器语言程序C、BASIC程序D、C语言8、微机采用总线结构对CPU,存储器和处部设备进行连接,总线通常由组成。
(D)A 、逻辑总线,传输总线和通信总线B 、数据总线,信息总线和传输总线C 、地址总线,运算总线和逻辑总线D、数据总线,地址总线和控制总线9、计算机系统由两大部分组成。
(C)A、系统软件和应用软件B、主机和外部设备C、硬件系统和软件系统D、输入设备和输出设备10、关于存储器的存取速度快慢的比较中,__ __是正确的。
(B)A、硬盘>软盘>RAMB、RAM>硬盘>软盘C、软盘>硬盘>RAMD、硬盘>RAM>软盘11、用MHz来衡量计算机的性能,它指的是__ ___。
软件工程导论试题(整理)

软件工程导论试题(整理)软件工程导论试题(整理)1. 什么是软件工程?软件工程是一门研究如何以系统化、规范化和可预测的方式开发和维护软件的学科。
它关注的是软件的生命周期过程,包括需求分析、设计、编码、测试、部署和维护等阶段。
2. 软件过程模型有哪些?各有什么特点?(1)瀑布模型:将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段,每个阶段的输出作为下一个阶段的输入。
特点是各个阶段之间严格线性顺序,适用于需求变动较少的项目。
(2)迭代模型:将软件开发过程划分为若干迭代周期,每个迭代周期包含需求分析、设计、编码和测试等阶段。
特点是每个迭代周期都可以得到可运行的软件版本,适用于需求变动较大的项目。
(3)螺旋模型:将软件开发过程划分为若干个循环迭代阶段,每个阶段依次进行需求分析、风险评估、开发和测试等活动。
特点是针对风险进行及时评估和控制,适用于复杂或高风险的项目。
(4)敏捷模型:以个体和交互更甚于流程和工具的方式,强调灵活适应需求变化并迅速交付可用软件的开发方法。
特点是迭代、增量式开发,强调团队协作和反馈,适用于需求易变或创新性强的项目。
3. 请简述软件需求分析的过程。
软件需求分析是确定和明确用户对软件系统的需求的过程。
其主要步骤包括:(1)需求获取:通过与用户、利益相关者进行沟通、访谈、观察等方式,收集软件需求。
(2)需求分析:对收集到的需求进行整理、分类、澄清和详细化,同时识别需求之间的关联和优先级。
(3)需求建模:使用适当的技术和工具,将需求转化为可视化的模型,如用例图、活动图、状态图等。
(4)需求验证:与用户和利益相关者共同验证需求是否准确、完整、一致和可行。
(5)需求管理:在整个软件开发生命周期中,跟踪、变更和控制需求,确保满足客户的期望和项目的目标。
4. 什么是软件架构?软件架构设计的目标是什么?软件架构是指软件系统中各个组件的组织方式和相互关系,包括系统的结构、行为和属性等。
软件架构设计的目标是为了实现软件系统的可靠性、可维护性、可扩展性、可重用性和性能等方面的要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程导论考试夹带 Prepared on 24 November 20201.软件危机的概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
2.产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
3.软件工程的定义:是指导计算机软件开发和维护的一门工程学科。
具体如下:开发进度难以估计,开发质量难以衡量设计中的错误很难维护规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
4.怎样解决软件危机(1)对软件要有正确的认识(2)软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
(3)应该推广使用在实践中总结出来的开发软件的成功的技术和方法。
(4). 应该开发和使用更好的软件工具。
5.可行性研究的任务(1)需要进一步分析和澄清问题定义。
(2)导出系统的逻辑模型。
(3)最根本的任务是对以后的行动方针提出建议。
6.需求分析1. 功能需求这方面的需求指定系统必须提供的服务。
通过需求分析应该划分出系统必须完成的所有功能。
2. 性能需求软件开发的技术性指标。
例如:存储容量限制执行速度、响应时间吞吐量7.形式化说明技术Z语言:形式化的规格说明语言中,较典型的一种语言。
用Z语言描述的,最简单的形式化规格说明含有四个部分:(1)给定的集合,数据类型及常数;(2)状态定义;(3)初始状态;(4)操作;8.总体设计模块化:采用模块化原理可以使软件结构清晰,容易设计也容易阅读和理解、测试。
抽象:抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
逐步求精:逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。
信息隐蔽和局部化:该原理有利于提高模块的内聚性。
模块独立:模块独立重要性理由:第一,有效的模块化的软件比较容易开发出来。
第二,独立的模块比较容易测试和维护。
9.详细设计第一章1.软件危机的概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重的问题。
2.产生软件危机的原因:(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
件配置的主要包括程序、文文件和数据等成分。
4.软件工程的定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。
谓基准配置又称基线配置。
6.通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型7.软件工程方法学包含三个要素:方法、工具和过程。
8.目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学9.传统方法学也称为生命周期方法学或结构化范型10.面向对象方法学的四个要点:1.把对象作为融合了数据及在数据上的操作行为的统一的软件构件 2.把所有对象都划分成类3.按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。
4.对象彼此间仅能通过发送消息互相联系。
11.软件生命周期:软件定义(问题定义,可行性研究,需求分析)、软件开发(总体设计,详细设计,编码,单元测试,总体测试)、运行维护(持久地满足用户的需要)12.最基本的测试是集成测试和验收测试。
13.瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,概念.方法.优缺点.区别。
14.所谓构件就是功能清晰的模块或子系统(Rational统一过程)软件开发的生命周期是一个二维的生命周期模型16.”极限”二字的含义是指把好的开发实践运用到极致17.微软过程把软件生命周期划分为成5个阶段:规划阶段,设计阶段,开发阶段,稳定阶段,发布阶段。
18.面向对象方法=对象+类+继承+用消息通信第二章可行性研究19.可行性研究的目的就是用最小的代价在尽可能多的时间内确定问题能否能够解决。
20.可行性包括:技术可行性,经济可行性,操作可行性。
21.系统流程图是概括地描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文文件,数据库,人工过程等)。
系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流程图而不是程序流程图。
22.书库流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流程图中没有任何具体的物理部件,它只描绘数据在软件中流动和被处理的逻辑过程。
数据流程图是系统逻辑功能的图形表示。
23.用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的。
24.有数据元素组成的数据的方式只有下述3种基本类型:顺序(即以确定次序连接两个或多个分量)。
选择即从两个或多个可能的元素中选取一个重复即把指定的分量重复零次或多次。
第三章25.访谈有两种基本形式,分别是正式的和非正式的访谈26.所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析27.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。
28.使用简易的应用规格说明技术分析需求的典型过程:(总结出来)29.快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。
30.所谓模型就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。
31.需求分析过程应该建立3种模型,它们分别是数据模型,功能模型,行为模型.32.概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型33.数据对象是对软件必须理解的符合信息的抽象。
34.数据对象彼此之间相互连接的方式称为联系,也称为关系。
联系可分为3种类型:一对一联系,一对多联系,多对多联系。
35.状态时任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式。
36.事件就是引起系统做动作或(和)转换状态的控制信息。
图是输入,处理,输出图的简称。
38.软件的验证:一致性,完整性,现实性,有效性第五章42.总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。
43.模块是由边界元素限定的相邻程序元素(例如,数据说明,可执行的语句)的序列。
44.抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
45.逐步求精定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。
46.抽象程序对抽象的数据进行某些特定的运算并用某些合适的记号(可能是自然语言)来表示。
47.信息隐藏,信息隐藏的原理,48.局部化就是把一些关系密切的软件元素物理的放得彼此靠近。
49.耦合是对一个软件结构内不同模块之间互连程度的度量。
50.数据耦合是低耦合,控制耦合式中等程度的耦合,最高程度的耦合式内容耦合。
51.如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的,就叫做偶然内聚。
52.中内聚主要有两类:如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。
53.高内聚也有两类:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行,则称为顺序内聚。
深度表示软件结构中控制的层数,它往往能粗略的标志一个系统的大小和复杂程度。
54.宽度是软件结构内同一个层次上的模块总数的最大值。
55.扇出事一个模块直接控制(调用)的模块数目。
56.一个模块的扇入表明有多少个上级模块直接调用它。
57.设计的很好的软件结构通常顶层扇出比较高,中层扇出比较少,底层扇入到公共的实用模块中去(底层模块有高扇出)58.模块的作用域应该在控制域之内(2种方法)59.面向数据流的设计方法把信息流映像成软件成结构,信息流的类型决定了映射的方法。
信息流有两种类型:变换流,事务流。
60.总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案。
并且进而确定组成系统的每个程序的结构。
61.在进行软件结构设计时应该遵循的最主要的原理是模块独立原理。
62.第六章63.结构程序设计的经典定义:如果一个程序的代码仅仅通过顺序,选择和循环这3种基本结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
64.系统响应时间指从用户完成某个控制动作(例如,按回车键或单击鼠标),到软件给出预期的响应(输出信息或动作)之间的这段时间。
65.系统响应时间有两个重要的属性:长度和易变性。
66.易变性指系统响应时间相对于平均响应时间的偏差。
67.一般交互指南涉及信息显示,数据输入和系统整体控制。
68.过程涉及的工具:程序流程图,盒图,PAD图,判定表,判定树作为一种设计工具有如下一些特点(要求看懂伪码)第七章70.通常把编码和测试统称为实现。
71.编码和单元测试属于软件生命周期的同一个阶段。
72.编码的标准:1.系统用户的要求2.可以使用的编译程序3.可以得到的软件工具4.工程规模5.程序员的知识6.软件可移植性要求7.软件的应用领域73.所谓程序内部的文文件包括恰当的标识符、适当的注释和程序的视觉组织等。
74.当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。
75.效率主要指处理机时间和内存容量两个方面。
76.在大型计算机中必须考虑操作系统页式调度的特点,一般说来,使用能保持功能域的结构化控制结构,是提高效率的好方法。
77.二级内存的输入输出应该以信息组为单位进行。
78.测试阶段的根本目标是尽可能地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。
79.软件测试的目标:1.测试是为了发现程序中的错误而执行程序的过程 2.好的测试方案是发现了至今为止发现的错误的测试 3.成功的测试是发现了至今为止尚未发现的错误的测试。
80.测试的正确定义是“为了发现程序中的错误而执行程序的过程”。
第八章81.软件工程的主要目标就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。
82.所谓软件维护就是在软件应经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
83.四种维护的定义:1.改正性维护2.适应性维护3.完善性维护4.预防性维护。
P18984.用于维护工作的劳动可以分成生产性活动和非生产性活动。