1、- .一、选择题1软件开发瀑布模型中的软件定义时期各个阶段依次是: B A)可行性研究,问题定义,需求分析。B)问题定义,可行性研究,需求分析。C)可行性研究,需求分析,问题定义。D)以上顺序都不对。2可行性研究主要从以下几个方面进展研究: AA技术可行性,经济可行性,操作可行性。B技术可行性,经济可行性,系统可行性。C经济可行性,系统可行性,操作可行性。D经济可行性,系统可行性,时间可行性。3耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: CA)容耦合,控制耦合,数据耦合,公共环境耦合。B)容耦合,控制耦合,公共环境耦合,数据耦合。C)容耦合,公共环境耦合,控制耦合,数
2、据耦合。D)控制耦合,容耦合,数据耦合,公共环境耦合。4在详细设计阶段所使用到的设计工具是:AA)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。C)判定表,判定树,PDL,程序流程图,PAD图,N-S图。D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。5 按照软件工程的原那么,模块的作用域和模块的控制域之间的关系是: AA)模块的作用域应在模块的控制域之。B)模块的控制域应在模块的作用域之。C)模块的控制域与模块的作用域互相独立。D)以上说法都不对。6在软件生命周期中,能准确确定软件系
3、统的体系构造的功能阶段是 CA.概要设计 B.详细设计 C.需求分析 D.可行性分析7下面不是软件工程的3个要素的是 CA过程 B.方法 C.环境 D.工具8.下面不属于软件的组成的是BA程序 B.记录 C.文档 D.数据9在瀑布模型中,将软件分为假设干个时期,软件工程的可行性研究一般归属于CA.维护时期 B.运行时期 C.定义时期 D.开发时期10.在瀑布模型中,下面C是其突出的缺点。A.不适应平台的变动B.不适应算法的变动C.不适应用户需求的变动D.不适应程序语言的变动11下面不属于软件的特点的是D。A软件是一种软件产品B软件产品不会用坏,不存在磨损、消耗问题C软件产品的生产主要是研制D软
4、件产品非常廉价12 软件开发工具是协助开发人员进展软件开发活动所使用的软件或环境。下面不是软件开发工具的是A。A.维护工具 B.编码工具 C.测试工具 D.需求分析工具13.以下表达中不属于软件生命周期模型的是D。A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型14.软件设计中,用抽象和分解的目的是B。A.提高易读性B.降低复杂性 C.增加聚性 D.降低耦合性15软件生命周期中所花费用最多的阶段是D。A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护16.开发软件时对提高开发人员工作效率至关重要的是B。A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量
5、D.计算机的并行处理能力17.开发软件所需高本钱和产品的低质量之间有着锋利的矛盾,这种现象称作B。A.软件投机 B.软件危机 C.软件工程 D软件产生18软件开发的构造化生命周期方法将软件生命周期划分成A。A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计19.软件工程的理论和技术性研究的容主要包括软件开发技术和B。A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用20软件工程的出现是由于C。A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的开展21.在软件生命周期中,能准确地确定软
6、件系统必须做什么和必须具备哪些功能的阶段是D。A.概要设计B.详细设计C.问题定义D.需求分析22. 开发大型软件时,产生困难的根本原因是A。A.大系统的复杂性 B.人员知识缺乏 C.客观世界千变万化 D.时间紧、任务重23. 文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的B,软件开发人员在各个阶段以文档作为前段工作成果的表达和后段工作的根底。A.接口B.桥梁C.科学D.继续24软件工程学的目的是以 较低的本钱,研制A质量的软件。A较高B较低C.可靠D.优秀25软件从一个计算机系统或环境转换到另一个计算机和环境的容易程度称为D。A.可用性B.兼容性C.可靠性D.可移植性26.
7、软件生存周期是指D阶段。A.软件开场使用到用户要求修改为止B.软件开场使用到被淘汰为止C.从开场编写程序到不能再使用为止D.从立项制定方案,进展需求分析到不能再使用为止27.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是B。A引入新技术提高空间利用率B用较少的投资获得高质量的软件C缩短研制周期扩大软件功能D硬软件结合使系统面向应用28. 软件可行性分析是着重确定系统的目标和规模。对本钱-效益进展发现应属于以下选项中的 A。A.经济可行性B.操作可行性C.技术可行性D.社会可行性29在数据流图中,用圆或者椭圆来表示B。A.数据流B.加工C.数据存储D.数据源点或终点30. 需
8、求分析阶段的任务是确定C。A.软件开发方法B.软件开发费用C.软件系统功能D.软件开发工具31D的目的就是用最小的代价在尽可能短的时间确定该软件工程是否能够开发,是否值得去开发。A需求分析B概要设计C总体设计D可行性研究32.以下选项中D不是软件需求规格目标。A.便于用户、分析员和软件设计人员进展理解及交流B.控制系统的实施过程C.作为软件测试和验收以及维护的依据D.便于软件的维护33下面描述中,不符合构造化程序设计风格的是B。A使用顺序、选择和重复循环三种根本控制构造表示程序的控制逻辑B模块只有一个入口,可以有多个出口C注重提高程序的执行效率D不使用goto语句 34. 以下工具中属于需求分
9、析常用工具的是D。A.PAD B.PFD C.N-S D.DFD35. 在数据流图DFD中,带有名字的箭头表示 C。A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分36. 在软件生产过程中,需求信息的给出是D。A.程序员 B.工程管理者 C.软件分析设计人员 D.软件用户37以下表达中,不属于构造化分析方法的是C。A.面向数据流的构造化分析方法B.面向数据构造的构造化数据系统开发方法C.面向对象的分析方法38构造设计是一种应用最广泛的系统设计方法,是以B为根底、自顶向下、逐步求精和模块化的过程。A.数据流 B.数据流图 C.数据库 D数据构造39需求分析是由分析员经
10、了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出B。A.模块说明书B.软件规格说明书C.工程开发方案 D.合同文档40. 构造化分析方法以数据流图、D和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图 B.PAD图 C.IPO图 D.数据字典41. 数据字典是软件需求分析阶段的重要工具之一,它的根本功能是 AA.数据定义B.数据维护C.数据通讯D.数据库设计42. 以下A不是详细设计中常用的图形描述工具。A.数据流图B.程序流图C.盒图N-S)D.问题分析图PAD43. 在构造图的有关术语中,用于表示软件构造中控制的层数的是 CA.扇入B扇出
11、C深度D宽度44. 模块的独立程度是评价设计好坏的重要标准。A是衡量软件的模块独立性的两个定性度量标准。A耦合性和聚性B聚性和可靠性C耦合性和独立性D可靠性和独立性45. 软件设计包括B两个阶段。A.接口设计和构造设计B.概要设计和详细设计C.数据设计和概要设计D.构造设计和过程设计46在详细设计阶段,经常采用的工具是A。A.PAD B.SA C.SC D.DFD47. 在软件开发中,下面任务不属于设计阶段的是D。A.数据构造设计 B给出系统模块构造C定义模块算法 D定义需求并建立系统模型48.对建立良好的程序设计风格,下面描述正确的选项是A。A程序应简单、清晰、可读性好 B符号名的命名要符合
12、语法C充分考虑程序的执行效率 D程序的注释可有可无49.下面不属于软件设计原那么的是C。A抽象B模块化C自底向上D信息隐蔽50. 为了防止流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为C。A PAD图 B.N-S图 C.构造图 D数据流图51软件测试按照功能划分可以分为B。A黑盒测试和单元测试 B白盒测试和黑盒测试C集成测试和单元测试 D白盒测试和静态测试52在软件测试过程的4个步骤中,测试依据是需求规格说明的是( C)A单元测试B集成测试C确认测试D系统测试53黑盒测试法属于C。A集成测试B系统测试C动态测试D静态测试54以下表达中错误的选项是C。A
13、测试是为了寻找错误而运行程序的过程B一个成功的测试是提醒了迄今为止尚未发现的错误的测试C测试的目的是为了证明程序是正确的D一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试55软件测试过程是软件开发过程的逆过程,其最根底性的测试应是(B )A集成测试B单元测试C有效性测试D系统测试56. 程序的三种根本控制构造是 B 。A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移57. 面向对象的分析方法主要是建立三类模型,即(D)。 A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) -模型、对象模型、功能模型 D) 对象模型、动
14、态模型、功能模型 58. 在E-R模型中,包含以下根本成分(C)。A) 数据、对象、实体 B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作59软件测试的目标是A。A. 证明软件是正确的 B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误 D. 与软件调试一样60软件生命周期中所花费用最多的阶段是 D A详细设计 B软件编码 C软件测试 D软件维护61.在数据流图中, 圆或椭圆表示 (1) _A_ ,平行线表示 (2) _D_ 。 (1) A、加工 B、外部实体 C、数据流 D、存储 (2) A、加工 B、外部实体C、数据流 D、存储62瀑布模型Waterfall M
15、odel突出的缺点是不适应 ( D )的变动。A、算法 B、平台 C、程序语言 D、用户需求63构造化分析方法(SA)的一个重要指导思想是( C) 。A自顶向下,逐步抽象B自底向上,逐步抽象C自顶向下,逐步分解D自底向上,逐步分解64模块的控制围包括它本身及它所有的附属模块,模块的作用围是指模块一个判定的作用围,但凡受到这个判定影响的所有模块都属于这个判定的作用围,理想的情况是( A)A模块的作用围应在控制围之B模块的控制围应在作用围之C模块的作用围与控制围穿插D模块的作用围与控制围别离65关于模块设计的原那么,以下表达中正确的选项是 ( B)A模块的聚性高,模块之间的耦合度高B模块的聚性高,
16、模块之间的耦合度低C模块的聚性低,模块之间的耦合度高D模块的聚性低,模块之间的耦合度低66软件的用户界面作为人机接口起着越来越重要的作用,用户界面的( D)是用户界面设计中最重要的也是最根本的目标。A灵活性 B风格多样性C美观性 D易操作性67.原型化方法是一种动态定义需求的方法,( D)不具有原型化方法的特征。A简化工程管理B尽快建立初步需求C加强用户参与和决策D提供严格定义的文档68数据流图包含的成分有 ( B)A.关系、实体和属性B.数据流、加工和数据存储C.数据流、数据源和数据实体D.数据流、属性、数据存储和加工69.如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用 ( A)
17、进展系统开发。A.原型 B.瀑布模型C.V-模型 D.螺旋模型70.在软件开发的各个阶段中,对软件开发成败影响最大的是 (A)A.需求分析B.概要设计C.详细设计D.编码71.模块聚度用于衡量模块部各成分之间彼此结合的严密程度。 1一组语句在程序的多处出现,为了节省存空间把这些语句放在一个模块中,该模块的聚度是 _A_ 的。2将几个逻辑上相似的成分放在一个模块中,该模块的聚度是 _B_ 的。3模块中所有成分引用共同的数据,该模块的聚度是 _C_ 的。4模块的某成分的输出是另一些成分的输入,该模块的聚度是 _D_ 的。5模块中所有成分结合起来完成一项任务,该模块的聚度是 _E_ 的。它具有简明的
18、外部界面,由它构成的软件易于理解、测试和维护。A 5 B 7 C 3 D 2 E 1供选择的答案AE: 功能性 顺序性 通信性 过程性 偶然性 瞬时性 逻辑性72软件设计中划分模块的一个准那么是(3)。两个模块之间的耦合方式中,4耦合的耦合度最高,2耦合的耦合度最低。一个模块部的聚种类中3聚的聚度最高,1聚的聚度最低。两个模块之间的耦合方式通常可分为7种,按其耦合度从低到高的次序依此为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、容耦合。聚度从低到高的次序依此为:偶然聚、逻辑聚、瞬时聚、过程聚、通信聚、顺序聚、功能聚供选择的答案:A:低聚低耦合 低聚高耦合高聚低耦合 高聚高耦
19、合B:数据 非直接 控制 容C:数据 非直接控制 容D:偶然 逻辑 功能过程E:偶然逻辑 功能 过程二、填空1 黑盒测试又称为_功能测试 数据驱动测试或基于规格说明的测试,白盒测试也称为_构造测试或逻辑驱动测试2、如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用_原型模型进展系统开发。3、在软件开发的各个阶段中,对软件开发成败影响最大的是_需求分析阶段。4、研究可行性从技术可行性,经济可行性,操作可行性可行性进展研究。5构造化方法的指导思想是 自顶向下,逐步分解6、在软件开发的各个阶段中,软件维护阶段成为软件的二次开发。7、类是指具有一样数据构造和一样操作的 对象的集合。8数据流程图
20、按照信息流的类型主要分为事务流和变换流两种。9软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题10、阶段是解决目标系统做什么的问题,阶段是解决目标系统怎么做的问题。11、 聚是度量一个模块的各个元素彼此结合的严密程度,它是信息隐藏概念的自然扩展。12.面向对象的三个子模型分别是对象模型、动态模型和功能模型13.构造化设计简称 ,分为和14软件工程方法学的三要素是方法 工具 过程15软件设计的准那么是、和16JACKSON方法是面向 面向数据构造 的设计方法,它有种逻辑构造17软件过程模型中模型是描述用户的动态需求的, 模型是带有风险驱动的18构造化设计方法是面向过程 的设计方法1
21、9传统的软件工程方法学采用构造化分析技术 完成系统分析工作的20模块的独立性要求 高聚 低耦合 21.在软件测试的步骤中, 单元测试是检验每个模块能否单独工作22.调试是是在测试发现错误之后排除错误纠错的过程23.本钱效益分析是从方面进展可行性研究24.Jackson方法是面向数据构造的软件设计方法25.聚越高模块的独立性 越好;耦合越高模块的独立性越差26.软件维护又称为软件的二次开发三.判断:1、开发软件就是编写程序。 、系统测试的主要方法是白盒法,主要进展功能测试、性能测试、平安性测试及可靠性等测试。3、生产高质量的软件产品是软件工程的首要目标。 4、只有了解用户、了解任务,才能设计出好
22、的用户界面。5、对象是具有一样状态的一组操作的集合。6、用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响。7、编程序时应尽可能利用硬件特点以提高程序效率. 8、软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。 9、开发一个软件工程总存在某些不确定性,即存在风险。有些风险如果控制得不好,可能导致灾难性的后果。 10. 程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量、和语言的实现机制决定的。11、一般单元测试不可以并行进展。( )12.螺旋模型是在瀑布模型和增量模型的根底上增加了风险分析活动。 13.数据字典是
23、对数据流图中的数据流,加工、数据存储、数据的源和终点进展详细定义。14.如果通过软件测试没有发现错误,那么说明软件是正确的。 15.快速原型模型可以有效地适应用户需求的动态变化。 16.白盒测试无需考虑模块部的执行过程和程序构造,只要了解模块的功能即可。 17.用PDL语言写出的程序不可以在计算机上运行 18.黑盒测试主要用于测试步骤的后期阶段 19.白盒测试主要用于测试步骤的后期阶段20.测试就是调试,都是在计算机上运行程序的四、简答题1什么是软件危机计算机软件的开发和维护过程所遇到的一系列问题。2什么是黑盒测试和白盒测试黑盒测试:产品的功能设计规格,可以进展测试证明每个实现了的功能是否符合
24、要求。白盒测试:产品的部工作过程,可以通过测试证明每种部操作是否符合设计规格要求,所有部成分是否以经过检查。3软件开发和写程序有什么不同软件包含程序,程序是软件的一局部。软件是程序、数据及其相关文档的完整集合。程序只是为了实现软件的功能和性能要求而编写的指令序列4软件设计的准那么5什么是软件的生命周期,包含哪些阶段是软件产生直到报废的生命周期,周期有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段6软件测试的步骤有哪些,含义是什么7软件过程模型有那些,各自特点是什么8. 比拟黑盒测试和白盒测试的优缺点黑盒测试的优点:适应于阶段测试,从产品功能角度测试
25、,容易入手生成测试数据。缺点:某些代码得不到测试,如果规格说明有误,可能无法发现,不易进展充分性测试。白盒测试的优点:可构成测试数据使特定程序局部得到测试,有一定的充分性度量手段,可生成较多工具支持。缺点:不易生成测试数据,无法对未实现规格说明的局部进展测试,作量大通常只用于单元测试有应用局限。9. 衡量模块独立性的标准是什么,并解释与模块独立的具体关系聚性和耦合性。 模块的聚性越高耦合性越低那么模块越独立,反之越不独立。10.详细设计用到的有哪些工具五综合题1画出银行储蓄系统、航空售票系统、患者监护系统、运动会管理系统的DFD,信用卡管理系统2给出DFD会转换为SC构造图3给出一段代码会画出
26、PAD问题分析图作业总汇:一.以下说明和数据流图,答复以下问题1-4,讲解答填入答题纸的对应栏。说明:现准备为某银行开发一个信用卡管理系统CCMS,改系统的根本功能为:1.信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的根本信息,提交CCMS。如果信用卡被银行承受,CCMS将记录该客户的根本信息,并发送确认函给客户,告知客户信用卡的有效期限及信贷限额;否那么该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。2.信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作完毕后,CCMS将激活通知发给客户,告知客户其信用卡是否成
27、功激活。3.信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进展在线管理。每位信用卡客户可以在线查询和修改个人信息4.交易信息查询。信用卡客户使用信用卡进展的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息包括信用卡交易记录及交易金额下面是它的顶层图和0层图:问题:1. 将顶层图中得E1-E3填充完整2. 顶层图中缺少三条数据流,根据上面的说明,分别指出这三条数据流的起点和终点3. 0层图中有两条数据流是错的,请指出这两条数据流的名称,并改正4. 根据说明,将0层图中得P1P4的处理名称填充完整个人信息拒绝函确认函查询| 修改个人信息交易记录查询请求E1P
28、0信用卡管理系统CCMS E2E3激活通知信用卡申请信息信用卡申请验证结果P1P2P3P4E1E3E2 交易信息交易记录查询请求查询| 修改个人信息个人信息激活通知拒绝函激活请求信用卡申请表确认函信用卡申请信息信用卡申请验证结果二.是某系学籍管理的一局部AB分别是同一模块A的两个不同的设计方案,你认为哪一个设计方案较好?请述理由A取班级成绩班级成绩总汇B取平均成绩或最高成绩平均/ 最高成绩 成绩C取个人成绩学号成绩A图A取班级成绩班级成绩总汇B 取平均成绩B 取最高成绩平均成绩最高成绩C取个人成绩学号成绩学号成绩B图我认为(b)方案较好。要评价一个软件构造设计,主要看模块的独立性,要从软件构造
29、的耦合性和聚性两个方面来衡量。对于(a)方案,模块A 与模块B 之间形成了控制耦合,因此独立性不高,而在B 模块部,有两个不同的功能被放在一起,形成的是逻辑聚,聚性不高。对于(b)方案,模块A 与B1 和B2 之间是数据耦合,独立性较强,在B1 和B2 部,只完成单一的功能,是功能聚,因此聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。307年下对于如下的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计 2 个测试用例。输入 x 和yX0Y=Y+XY=Y XY0X= 1X= 1否是否是409年中选用分支覆盖法对以下流程图进展测试时,至少需要设计6个测试用例。Return x
30、X= - 1X=1X=1X= - 1beginInt x=0b= = 0b0a=0a=0a=0X=0X= - 1YYYYNNNNN5.07年上下面流程图中当用判定覆盖法进展测试时,至少需要 B个测试用例。A. 2 B. 4 C. 6 D. 8开场输入x,y初始化dX! = 0 y= = 0y= = 0d= = 0d=d/y d=d/xd=d/(x*y)输出d终止6.(09年上半年)McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为:V(G)=m-n+2,其中V(G)是有向图G的环路个数,m是G中得有向弧数,n是
31、G中的节点数。以下图所示程序图的程序复杂度是 BA.2 B.3 C.4 D.5ABCDEFGz tp5While (niterations and p= = false)While(tcount)7.09年下半年)某程序的程序图如下所示,运用McCabe度量法对其进展度量,其环路复杂度是D A.2 B.3 C.4 D.5ABCDEFGz tp5While (niterations and p= = false)While(tcount) While (xy)8.图中描述了某个子程序的处理流程,根据判断覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出
32、满足相应标准的最小的测试数据组。(1) a=5 b=1(2)a=5 b= - 1(3) a=5 b=1; a=5 b= - 1(4) a=5 b=1; a=0 b= - 1(5) a=5 b= - 1; a= - 5 b=1; a= - 5 b= - 1(6) a=5 b= 1; a=-0 b=0; a= - 5 b= - 1(7) a=5 b= 1; a=0 b=1; a= 0 b= - 1; a= - 5 b=1(8) a=5 b= 1; a=0 b= - 1; a= -5 b=1; a= - 5 b= - 1开场z=0(a0) and (b0)z=1z=z+2返回(a -b)3) or (a - b) - 3FFT到达判定覆盖为 4到达条件覆盖为 3到达判定/条件覆盖为6到达条件组合覆盖为 8到达路径覆盖为 7- . 可修编.