软件工程综合习题(1)及答案
软件工程综合复习题连答案
《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。
A、SAB、SDC、SCD、CASE3、以下判断正确的是()。
A、所谓软件开发就是编写程序。
B、利用软件工程的思想,已成功的解决了软件危机。
C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。
4、_____是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是()。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是()。
A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是()A.主机,显示器,硬盘,软驱,打印机等。
B.CPU,存储器,控制器,I/O接口及设备。
C.计算机硬件系统和软件系统。
D.计算机及其应用系统。
8、产生软件危机的原因主要与两个方面的问题有关:A.软件在计算机中很难识别,存在磁盘中也看不到。
B.软件设计对人的智商要求很高,也要求很高的资金投入。
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D.软件很难理解,硬件也很复杂。
9、软件开发瀑布模型中的软件定义时期各个阶段依次是()A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。
D.以上顺序都不对。
10、下列选项中()是软件开发中存在不正确的观念、方法。
A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括()、()和()。
2、一般软件应该有三部分组成:()、()和()。
3、按软件的功能可将软件分成()、()和()等三类。
软件工程习题及解答1
软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程习题(1)
简单好学
逆转性差
可 以 分 阶 段 提 有时用户不同意 交 需求可变 开发速度快 需求可变 提高开发效率 风险大 不利于创新 建设周期长 不利于项目的管理
瀑布模型的特点: 过程逆转性很差或者说不可逆转, 因为根据上游的错误会在下游进行发散 性传播的原理,所以逆转将会延误工期,增加成本,造成重大损失。 选择瀑布模型必须满足下列条件: (1) 在开发时间内需求没有或很少变化。 (2) 分析设计人员对应用领域很熟悉。 (3) 低风险项目(对目标、环境很熟悉) 。 (4) 用户使用环境很稳定。 (5) 用户除提出需求以外,很少参与开发工作。 瀑布模型适合于功能和性能明确、完整、无重大变化的软件开发
5、根据下列条件使用等价类划分法设计测试用例。(书 P118 例) 某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的 范围是-177~177,如 05,0127,-065 (1)划分等价类并编号,如下表示:
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子
(3)为不合理等价类测试用例,至少设计一个测试用例
6、将下面给出的伪码转换为 N-S 图。 (8 分) void root ( float root1, float root2 ) { i = 1; j = 0; while ( i <= 10 ) { 输入一元二次方程的系数 a, b, c; p = b*b – 4*a*c; if ( p < 0 ) 输出“方程 i 无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) { 求出重根并输出; j = j + 1; } i = i +1; } 输出重根的方程的个数 j; }
8、使用 PAD 图描述在数组 A(1)~A(10)中找最大数的算法
(完整word版)软件工程习题集+答案
《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (29)综合试卷三 (33)附参考答案: (37)一软件与软件工程参考答案 (37)二软件工程管理参考答案 (40)三需求分析参考答案 (42)四面向对象的需求分析参考答案 (46)五软件设计参考答案 (55)六程序设计语言和编码参考答案 (58)七软件测试参考答案 (62)八软件维护参考答案 (65)综合试卷一参考答案及评分标准 (68)综合试卷二参考答案及评分标准 (71)综合试卷三参考答案及评分标准 (74)一软件与软件工程一、选择题1。
软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3。
包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4。
软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5。
下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7。
软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8。
软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发.B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2。
瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
软件工程综合习题(1)及答案
软件工程综合习题(1)及答案一、选择题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.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。
软件工程(第四版)习题及解答1-7
软件工程(第四版)习题及解答1-7软件工程(第四版)习题及解答1-7软件工程一直是信息技术领域中一门重要的学科,它涉及到软件设计、开发、测试和维护等多个方面。
对于学习软件工程的学生来说,练习和解答一些相关习题是非常重要的。
本文将为大家提供《软件工程(第四版)》中的习题1-7的解答和详细讨论。
1. 习题1题目描述:什么是软件工程?为什么软件工程如此重要?解答:软件工程是一门学科,涵盖了软件开发的所有阶段,包括需求分析、软件设计、编码、测试和维护等。
软件工程关注如何以系统化的、规范的方法来开发高质量的软件。
软件工程之所以如此重要,原因有以下几点:首先,软件工程能够提供一个结构化的方法来开发软件,保证开发流程可控、可预测。
通过规范的过程和方法,可以减少软件开发过程中的风险和错误。
其次,软件工程将软件开发过程分解为不同的阶段,并引入了各种工具和技术来支持这些阶段的开发工作。
这些工具和技术能够提高开发效率,减少开发成本。
此外,软件工程还注重软件质量管理,包括软件测试、验证和验证等方面,以确保最终交付给用户的软件是高质量可靠的。
最后,软件工程也关注软件的维护和更新。
由于软件在使用过程中会面临各种问题和需求变化,软件工程可以帮助开发人员及时响应和解决这些问题,提供更好的用户体验。
2. 习题2题目描述:简要解释软件需求分析的目标和过程。
解答:软件需求分析的目标是识别和规范用户对软件系统的需求,确保开发人员和用户对软件系统的期望一致,并将这些需求转化为可行的系统规格说明。
软件需求分析的过程包括以下几个步骤:1) 需求收集:通过与用户沟通、调研等方式,收集用户对软件系统的需求。
可以采用面谈、问卷调查、观察等方法。
2) 需求分析和整理:对收集到的需求进行分析和整理,将其转化为可理解的形式。
可以使用需求建模工具和技术,如用例图、数据流图等。
3) 需求规格说明:在此阶段,将需求转化为详细的规格说明,包括功能需求、性能需求、质量需求等。
软件工程习题与答案1
(1)软件危机的产生,一方面是与软件本身的特点有关,另一方面是由于软件开发和维护的方法不规范、不正确造成的,其根本原因,是与如下几个根本原因有着密切的关系。
(1)忽视了软件开发前期的需求分析。
(2)开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。
(3)忽视测试阶段的工作,提交给用户的软件质量差。
事实上,对于软件来讲,不论(4)轻视软件的维护。
在一个软件漫长的维护期中,必须改正软件使用中发现的每一处存在的错误,给用户一个满意的回答。
软件维护工作是极其复杂艰巨的,需要花费很大的总之,通过以上分析,从技术和管理两个方面入手,引入“软件工程”的概念是必不或缺的。
可行性分析是在明确了问题定义的基础上,对软件项目从技术、经济等方面进行研究和分析,得出项目是否具有可行性结论的过程。
可行性研究的任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决、是否能够解决。
一般来说,可行性研究主要包括经济可行性、技术可行性、法律可行性和运行可行性等几个方面。
(1)经济可行性(2)技术可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
(3)时机可行性:目前,学院的校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足院校内各学系,各职能部门,各直属单位上网需求,学校良好的网络设施为学院建设“信息化校园”提供了坚实的基础。
(4)管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
规章制度和管理方法为系统的建设提供了制度保障。
(5)法律可行性:分析在系统开发的全部过程中可能出现和涉及的法律问题,如合同、责任、知识产权和专利等问题。
要确保新系统的开发不会引起侵权和其他责任问题。
(6)运行可行性:判断新系统的运行方式是否可行。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。
软件工程复习题[1]
软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是(C )A模块高内聚B模块低耦合C模块独立性D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?(D )A产生危机B质量保证C开发效率D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标B软件的性能C软件的功能D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A。
功能需求B。
非功能需求 C.性能需求 D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D)A。
需求分析 B.软件设计C。
程序编码 D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A。
原型化方法B。
结构化方法 C.面向对象方法. D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.(A )A。
软件模型 B.软件功能 C.软件结构 D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A。
软件开发方法 B.软件开发工具 C.软件工程环境D。
软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的( B )A。
可理解性 B.可维护性C。
可扩展性 D.可靠性10、从( C)语言开始,软件摆脱了对硬件的依赖。
A。
第一代B。
第二代C。
第三代D。
第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分?(B )A。
实体 B.数据存储C。
关系D属性12、在下面的概念模式中,哪种描述的不是动态数据结构或属性?( C )A。
框图 B.结构图C。
实体关系图D。
软件工程习题与答案(第1次)
软件工程学习资料(1)一、填空1、软件工程学的内容可包括理论、结构、方法、工具、环境、管理、规范等。
2、N-S图中的顺序结构:在PAD图中表示为:PAD图设置五种基本控制结构,并允许递归使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此之间相互依赖的紧密程度。
内聚衡量一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为静态分析和动态测试。
二、单项选择题1、模块在同一段时间内完成各种初始化工作,这属于。
A.偶然内聚B.逻辑内聚C.时间内聚D.过程内聚2、在编程安全方法方面,一般来说无法做到。
A. 避开错误B.完美无缺,绝无错误C. 冗余D.设计防错程序3、在衡量软件质量时,最重要的标准是。
A. 成本低B. 可维护性好C. 符合要求D. 界面友好4、下列工具中,不属于详细设计工具的是。
A. 测试工具B. 图形工具C. 表格工具D. 语言工具5、下列哪个做法会导致不利的语句结构A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性三、判断题1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。
(×)2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中使用的主要表达工具。
(√)3、在软件开发中采用原型系统策略的主要困难是成本问题。
(√)4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。
(√)5、下图表示的是WHILE 型循环。
(×6的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。
(√)四、问答题1、什么是软件答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);(2)使程序能够正确运行的数据结构;(3)描述程序研制过程、方法所用的文档。
软件工程习题(附答案)
软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。
这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。
1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。
每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。
2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。
它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。
2.1.2 几种常见的需求获取方法。
答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。
2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。
它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。
2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。
3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。
3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。
3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。
3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。
(完整版)软件工程试卷及答案(多套精品试卷)
软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。
2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。
方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。
3、软件可行性研究实质上是要进行一次()需求分析和设计过程。
A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。
4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。
5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。
二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。
软件工程习题集一
一、判断题判断以下叙述的正误。
正确的叙述请在答题纸上的相应题号后打“√”,错误的打“×”。
1.编码时应尽可能使用全局变量。
2.为了提高程序的易读性,尽可能使用高级语言编写程序。
3.只要模块之间的接口关系不变,各模块的内部实现细节的修改不会影响别的模块。
4.为了加快软件维护作业的进度,尽可能增加维护人员的数目。
5.尽可能用GOTO语句6.程序的注释并不是可有可无的。
7.尽可能在软件生产过程中保证各阶段文档的正确性。
8.在进行总体设计时应加强模块间的联系。
9.程序的模块划分得越大越好。
10.模块越小,模块化的优点越明显,一般说来,模块的大小都在10行以下。
11.软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
12.在可行性研究中最难决断和最关键的问题是经济可行性。
13.在软件开发中,采用原型系统策略的主要困难是时间问题。
14.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。
15.模块越多,开发成本越小。
16.耦合是指一个模块内各个元素彼此结合的紧密程度。
17.内聚是指一个软件结构内各个模块之间互连程度的度量。
18.模块分解时应注意不要降低模块的独立性。
19.总体设计阶段完成的主要文档是总体设计说明书。
20.详细设计是在总体设计之后进行的,它利用总体设计的结果,对系统中的每个模块给出足够的过程性描述。
21.程序设计语言中应绝对禁止使用GOTO语句。
22.PAD图在设置了五种基本的控制结构后,还允许递归调用。
23.程序中嵌套的层数应加以限制。
24.程序的书写格式最好所有语句都左对齐,这样也可以节省纸张。
25.在编写程序时尽可能对程序代码进行优化。
26.使用可以看得出意义的标识符。
27.在进行需求分析时需同时考虑维护问题。
28.完成测试作业后,为了缩短源程序的长度应删去源程序的注释。
29.重视程序结构的设计,使程序具有较好的层次结构。
北京邮电大学网络教育学院-软件工程综合练习题及解答
《软件工程》综合练习题第一章一、单项选择题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、1/2B、1/3C、1/4D、2/39、软件开发中大约要付出()%的工作量进行测试和排错A、20B、30C、40D、5010、()方法是一种面向数据结构的开发方法。
A、结构化B、JacksonC、维也纳开发D、面向对象开发11、准确地解决“软件系统必须做什么”是()阶段的任务:A、可行性研究B、需求分析C、详细设计D、编码12、软件生存周期中时间最长的是()阶段A、需求分析B、概要设计C、测试D、维护13、()方法是以数据结构为驱动的、适合于小规模的项目。
A、JSPB、JSDC、VDMD、Jackson14、软件是一种()产品A、物质B、逻辑C、有形D、消耗二、填空题1、软件与物质产品有很大的区别,软件产品是一种产品。
2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于。
3、概要设计主要是把各项功能需求转换成系统的。
4、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是。
软件工程(习题及参考答案)
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程习题1
一.软件工程基本概念【例1】在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是()。
(A)概要设计(B)详细设计(C)需求分析(D)可行性分析【例2】下面不是软件工程的3个要素的是()。
(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】软件工程的原则包括抽象、__模块化__、信息隐蔽、局部化、一致性、_确定性_、完备性和可验证性。
【例10】软件可分为应用软件、____系统软件____和支撑软件3类。
其中____应用软件____是特定应用领域内专用的软件。
【例12】软件工程学研究的内容是软件开发技术和____软件工程管理____。
二.结构化分析方法【例1】以下哪个不是结构化分析方法常用的工具()。
(A)数据流图(B)数据字典(C)程序流程图(详细设计) (D)判定树【例2】软件可行性分析是着重确定系统的目标和规模。
对成本—效益进行发现应属于下列之中的()。
(经济可行性研究、技术可行性研究、社会可行性研究)(A)经济可行性(B)操作可行性(C)技术可行性(D)社会可行性【例3】在数据流图中,用圆或者椭圆来表示()。
软件工程综合应用例题(题)
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的X围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe 复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程综合习题(1)及答案
一、选择题
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.实时
6.下列有关软件工程的标准,属于国际标准的是(D )
A.GB
B.DIN
C.ISO
D.IEEE
7.结构化方法是一种基于(D)的方法。
A.数据结构
B.程序结构
C.算法
D.数据流
8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A、简化、压缩的
B、详细的
C、彻底的
D、深入的
9.可行性研究的目的是(D)
A、分析开发系统的必要性
B、确定系统建设的方案
C、分析系统风险
D、确定是否值得开发系统
10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。
A、P×(1+i*n)
B、P× (i+1)*n
C、p×(1+i)n
D、p×(i+n)
11.可行性研究是在(A)之前
A、系统开发
B、测试
C、试运行
D、集成测试
12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的
(C)。
A、1%
B、20%
C、8%
D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》
14.效率是一个性能要求,因此应当在以下哪个阶段规定?B
A、可行性分析
B、需求分析
C、概要设计
D、详细设计
15.需求规格说明书的作用不包括(D)
A、软件验收的依据
B、用户与开发人员对软件要做什么的共同理解
C、软件可行性研究的依据
D、软件设计的依据
16.数据字典是用来定义(D)中的各个成份的具体含义的。
A、程序流程图
B、功能结构图
C、系统结构图
D、数据流程图
17.数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。
A、SA
B、SD
C、SP
D、SC
18.DFD中的每个加工至少有(A)。
A、一个输入流或一个输出流
B、一个输入流和一个输出流
C、一个输入流
D、一个输出流
19.需求分析阶段的关键任务是确定(D)
A、软件开发方法
B、软件开发工具
C、软件开发费
D、软件系统的功能
20.在SD方法中全面指导模块划分的最重要的原则是(D)。
A、程序模块化
B、模块高内聚
C、模块低耦合
D、模块独立性
21.在模块的3种基本属性中,反映模块内部特性的是(C)。
A、接口
B、功能
C、逻辑
D、状态
22.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。
A、数据结构耦合,公共耦合,控制耦合,内容耦合
B、数据耦合,控制耦合,数据结构耦合,公共耦合
C、无直接耦合,数据结构耦合,内容耦合,控制耦合
D、无直接耦合,数据耦合,控制耦合,内容耦合
23.PDL是描述处理过程( C )
A、做什么
B、为什么做
C、怎么做
D、对谁做
24.(D)工具在软件详细设计过程中不采用。
A、判定表
B、IPO图
C、PDL
D、DFD图
25.为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。
A.信息隐蔽B、质量控制C、程序优化D、数据共享
26.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)
A、数据耦合
B、公共耦合
C、标记耦合
D、内容耦合
27.详细设计与概要设计衔接的图形工具是(B)。
A、DFD图
B、SC图
C、PAD图
D、程序流程图
28.下列几种类型中,耦合性最弱的是(D)。
A、内容型
B、控制型
C、公共型
D、数据型
29.软件结构使用的图形工具,一般采用(C)图。
A、DFD
B、PAD
C、SC
D、ER
30.在七种偶合中,最低偶合是(D)。
A、内容偶合
B、公共偶合
C、数据偶合
D、非直接偶合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
目标:
1合理预算开发成本,付出较低的开发费用。
2实现预期的软件功能,达到较好的软件性能,满足用户的需求。
3 提高软件的可维护性,降低维护费用。
4 提高软件开发生产率,及时交付使用
2.指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要
设计,详细设计,系统测试,设计评审,编码,需求规格说明书。
答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试
3.可行性研究报告的主要内容是什么?
答:可行性研究主要包括以下几个部分:
(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论
4.什么是需求分析?需求分析阶段的基本任务是什么?
答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,“需求分析”就是确定要计算机“做什么”。
任务:确定软件项目的目标和范围。
调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。
除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作
5.什么是结构化分析方法?该方法使用什么描述工具?
答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。
结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向。