软件工程期末复习
软件工程期末复习资料非常全
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.Ariane 5火箭发射失败的事例告诉我们A.(2)软件后备系统可以通过复制生成B.(3)软件重用必须重新进行系统论证和系统测试C. 选项(1)和(3)D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是A.软件本身的特点及开发方法。
B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是A.软件质量是在开发过程中逐渐构建起来的。
B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
《软件工程》期末复习
软件工程期末复习一.填空1.计算机软件经历了____________和____________,________ 阶段。
2 数据域有三种属性_______,________和___________。
3.数据库流程图的基本步骤是_________________ ,_________________ ,___________和_______________________________ 。
4.用JACKSON图即可以表示_____________结构,又可以表示________________结构。
5. 模块独立的准则是________和______,________________较强的模块要求高_______________模块要求低。
6.软件结构:一为 ____________结构,二为________结构。
7.软件可靠性的主要指标有 ____________________及____________________。
8.一般来说,应该从____________和____________,________,___________ 四个方面研究目标系统的可行性.。
9 .数据处理问题典型类型是___和_____.10.软件工程包括三个要素______________ ,____________和______________.11 第____代语言兼有过程和非过程二重性.12.动态测试分________和__________测试13. 内聚性的七种类型是________,__,___,____,____,___,_____14.菜单可以按照______分类和______分类15 系统模型的建立可包括______和_________阶段.16.从工程管理角度看,软件设计分二步完成,首先__________然后______________.17.系统结构图中的四种类型的模型是:__,___,_______,____,18.软件测试分四个步骤:_____,_____,____ 和_______1耩合性的七种类型是_____,_____,_____,_____,____,_______及___ 耩合。
《软件工程》期末复习题及答案
《软件工程》期末复习题及答案一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1. 软件危机产生的主要原因是 A 。
A.软件日益庞大B.不能与用户良好地沟通C.开发人员编写程序能力差D.没有适应的开发模型2.软件工程的发展不包括以下那个阶段 B 。
A.传统软件工程阶段B.自主化开发阶段C.过程软件工程阶段D.构件软件工程阶段3. 现代软件工程研究的内容不包括 D 。
A.软件开发模型B.软件开发方法C.软件支持过程D.软件开发质量4.以下哪个软件生存周期模型是一种风险驱动的模型 C 。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型5.软件的开发方法不包括 C 。
A.结构化开发方法B.面向对象开发方法C.面向管理的开发方法D. 面向数据结构的开发方法6.软件生存周期中,准确地确定软件系统必须做什么的阶段是 B 。
A.可行性分析和项目开发计划 B.需求分析 C.概要设计D.详细设计7. 需求分析中开发人员要从用户那里了解 A 。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模8. 结构化分析建立功能模型的工具是 A 。
A.DFDB.判定树/判定表C.SCD.结构化语言9. 数据词典是对数据定义信息的集合,它所定义的对象都包含于 B 。
A.数据流图B.程序框图C.软件结构D.方框图10.用于描述结构化分析中数据流加工逻辑的是 A 。
A.判定 B.ER图 C.状态 D.用例图11.下列几种耦合类型,耦合性最高的是 A 。
A.公共耦 B.控制耦合 C.标记耦 D.数据耦合12. 通信内聚是指 B 。
A. 把需要同时执行的动作组合在一起形成的模块 B各处理使用相同的输入数据或者产生相同的输出数据C一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D模块内所有元素共同完成一个功能,缺一不可13.模块 B 定义为受该模块内一个判定影响的所有模块集合。
软件工程期末复习重点
1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
这个时期的工作通常又称为系统分析,由系统分析员负责完成。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
7.维护时期的主要任务是使软件持久地满足用户的需要。
8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。
9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。
a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。
①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
c)质量保证的观点:软件工程的基本目标是优质、高产。
为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
软件工程期末考试复习题
软件工程选择题一、选择题在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分软件工程1.软件产品的开发主要是D ;A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是C 时代;A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于C ;A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.与计算机科学的理论研究不同,软件工程是一门C 学科;A.理论性B.原理性C.工程性D.心理性5.软件工程的出现主要是由于C ;A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是DA、工作阶段间的等待时间B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是CA、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质8、下列不属于软件工程方法学三要素的是 D :A、方法B、工具C、过程D、操作周期1.将每个模块的控制结构转换成计算机可接受的程序代码是A 阶段的任务;A.编码B.需求分析C.详细设计D.测试2.可行性研究的目的是决定B ;A.开发项目B.项目值得开发否C.规划项目D.维护项目3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在C 阶段完成的A.可行性研究和计划B.需求分析C.概要设计D.详细设计B 阶段编写;A.可行性研究B.需求分析C.软件概要设计D.软件详细设计5. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是BA、经济可行性B、技术可行性C、操作可行性D、法律可行性6. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护;八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和C ;A、详细计划B、可行性分析C、运行阶段D、测试与排错7. 研究开发所需要的成本和资源是属于可行性研究中的 B 研究的一方面;A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性8.进行需求分析可使用多种工具,但C 是不适用的;A. 数据流图DFDB. 判定表C. PAD图D. 数据字典9.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大C ;A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段10.软件概要设计结束后得到B ;A.初始化的软件结构图B.优化后的软件结构图C.模块详细的算法D.程序编码11.软件需求说明书是软件需求分析阶段的重要文件,下述哪个些是其应包含的内容Da.数据描述b.功能描述c.模块描述d.性能描述A. bB. c和dC. a,b和cD. a,b和d12.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具Ca.结构图b.实体联系图图d.层次图A、 a和bB、 c和dC、 a,c,dD、全部是软件开发过程中用于 C 阶段的描述工具;A.需求分析B.概要设计C.详细设计D.编程14.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及A. 软件的总结B. 需求分析评审C. 阶段性报告D. 以上答案都不正确SA1.SA方法用DFD描述D ;A.系统的控制流程 B.系统的数据结构C.系统的基本加工 D.系统的功能2.结构化分析SA方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是3.A ;a.结构化语言;b.判定树;c.判定表;A. b和cB. a,b和cC. a和cD. a和b3、在结构化分析方法中,数据字典是重要的文档;对加工的描述是数据字典的组成内容之一,常用的加工描述方法C ;A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表4、结构化分析SA方法以数据流图、 D 和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型;A、DFD图B、PAD图C、IPO图D、数据字典5.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后A ;A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型6.结构分析方法就是面向 D自顶向下逐步求精进行需求分析的方法;A.目标 B.功能 C. 对象 D.数据流7. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象BA、控制流B、数据流C、程序流D、指令流8.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 A ;A. 数据流图B. 数据词典C. 结构化语言D. 判定表与判定树10.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是 DA. 逻辑判断B. 层次分解C. 操作条目D. 组合条件11、在软件结构化设计中,好的软件结构设计应该力求做到 B ;A、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较高,中间层扇出较少,底层模块高扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、顶层扇入较少,中间层扇入较高,底层模块低扇入测试白盒测试1.软件测试中,白盒法是通过分析程序的B 来设计测试用例的;A.应用范围B.内部逻辑C.功能D.输入数据2. 使用白箱测试方法时确定测试数据应根据A 和指定的覆盖标准;A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能3白箱测试方法重视A 的度量;A.测试覆盖率B.测试数据多少C.测试费用D.测试周期4. 在软件工程中,白箱测试方法可用于测试程序的内部结构;此方法将程序可作为 AA.路径的集合B.循环的集合C.目标的集合D.地址的集合5. 在软件测试中,逻辑覆盖标准主要用于 BA.黑箱测试方法B.白箱测试方法C.灰箱测试方法D.软件验收方法6. 下面的逻辑测试覆盖中,测试覆盖最弱的是CA.条件覆盖B.条件组合覆盖C.语句覆盖D.条件及判定覆盖黑盒测试1.在设计测试用例时, A 是用得最多的一种黑盒测试方法;A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表2.黑盒法是根据程序的C 来设计测试用例的;A.应用范围B.内部逻辑C.功能D.输入数据3、黑盒测试在设计测试用例时,主要需要研究 A ;A、需求规格说明与概要设计说明B、详细设计说明C、项目开发计划D、概要设计说明与详细设计说明其他1、为了提高软件测试的效率,应该D ;A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性较大的数据作为测试用例2.与设计测试用例无关的文档是A ;A.项目开发计划B.需求规格说明书C.设计说明书D.源程序3、软件的集成测试工作最好由D 承担,以提高集成测试的效果;C.该软件的编程人员D.不属于该软件开发组的软件设计人员4、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是CA.初级、高级、高级、初级B.中级、中级、高级、中级C.高级、中高级、初级、中高级D.中级、中高级、中级、初级5. McCall提出了表明软件质量的11个质量特性;它们是正确性、可靠性、可使用性、完整性、D 、可移植性、可复用性、效率、可测试性、互联性;A.模块独立性、性B.文档完备性、灵活性C.可维护性、安全性D.可维护性、灵活性6、软件开发中大约要付出C %的工作量进行测试和排错;7、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段 D ;A、黑盒测试B、正确性测试C、动态测试D、静态测试8.如果一个软件是给许多客户使用的,大多数软件厂商要使用几种测试过程来发现那些可能只有最终用户才能发现的错误, A 测试是由一个用户在开发者的场所来进行的.测试的目的是寻找错误的原因并改正之;A. αB. βC. γD. σ9.集成测试的主要方法有两个,一个是_____一个是_____BA.白箱测试方法、黑箱测试方法B.渐增式测试方法、非渐增式测试方法C.等价分类方法、边缘值分析方法D.因果图方法、错误推测方法10、系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试;A 不是系统测试的内容;A.路径测试B.可靠性测试C.安装测试 D.安全测试11. 软件测试是软件质量保证的主要手段之一,测试的费用已超过 A的30%以上,因此提高测试的有效性非常重要;A.软件开发费用B.软件维护费用C.软件开发和维护费用D.软件研制费用内聚1. 为了提高模块的独立性,模块内部最好是C ;A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚2、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚 A ;A、时间内聚B、逻辑内聚C、通信内聚D、信息内聚3. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是A、模块间的联系程度B、模块的功能强度C、信息隐蔽程度D、接口的复杂程度4.模块的内聚性最低的是 CA.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.软件设计中划分模块的一个准则是 C ;A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合其他1.把一组具有相似特性的对象组合在一起,称之为 C ;A、多态性B、继承性C、类D、消息2.面向对象的主要特征除对象唯一性、封装、继承外,还有 AA、多态性B、完整性C、可移植性D、兼容3.下列模型属于成本估算方法的有 AA、COCOMO模型B、McCall模型C、McCabe度量法D、时间估算法4.程序的三种基本控制结构的共同特点是D ;A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口5. 程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有如下哪种特点CA、运行效率低,开发效率低B、运行效率低,开发效率高C、运行效率高,开发效率低D、运行效率高,开发效率高6. 下面的叙述哪些是正确的C1在软件开发过程中,编程作业的代价最高;2良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为原则;3为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法;4对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快;5COBOL是一种非过程型语言;6LISP是一种逻辑型程序设计语言;A、 1、3、5B、 2、3、4C、 3D、 4、67. 软件部件的内部实现与外部可访问性的分离,是指软件的C ;A.继承性B.共享性C.封装性D.抽象性8、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是 A .A、设计稳定B、变换分析C、事务分析D、模块独立性9、软件管理的主要职能包括DC.、D.A和B10、任何项目都必须精心做好项目管理工作,最常用的计划管理工具是DA.数据流程图B.程序结构图C.因果图图11.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高BA、结构化方法B、原型化方法C、面向对象的方法D、控制流方法12.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为AA、瀑布模型B、对象模型C、螺旋模型D、层次模型13. 对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流A ;A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等14.面向数据流的设计方法把D映射成软件结构;A、数据流B、模块化C、控制结构D、信息流15. 软件结构使用的图形工具,一般采用C 图;16. 在面向数据流的软件设计方法中,一般将信息流分为AA、变换流和事务流B、变换流和控制流C、事务流和控制流D、数据流和控制流17、每个对象可用它自己的一组属性和它可以执行的一组 C 来表征;A、行为B、功能C、操作D、数据18、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是 B ,一个类获得其父亲的全部描述数据和操作A、传递性B、继承性C、复用性D、并行性19、软件重用的单位是A ;A.软件模块B.性能C.系统D.功能20、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为BA、相互排斥B、相互补充C、独立使用D、交替使用21、系统分析员是 BA、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导22、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是DA、组织与管理B、分析与估算C、设计与测试D、规划与调度23、结构图SC和层次方框图是不同的,前者 B ;A、描述程序的过程特性B、描述程序的层次特性C、描述程序的过程特征和层次特征D、即不描述程序的过程特征,也不描述程序的层次特24、软件详细设计主要采用的方法是 D ;A、模块设计B、结构化设计C、PDL语言D、结构化程序设计25、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指BA、模块间的关系B、模块的操作细节C、软件层次结构D、软件开发过程26、下列哪个改变不属于软件维护中的副作用CA.修改代码B.修改数据C.修改需求分析D.修改文档27.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为D 工具;28. 螺旋模型综合了 A 的优点,并增加了风险分析;A.瀑布模型和演化模型B.瀑布模型和喷泉模型C.演化模型和喷泉模型D.原型和喷泉模型29.在软件需求规范中,下述哪些要求可以归类为过程要求AA. 执行要求B. 效率要求C. 可靠性要求D. 可移植性要求30. 设计软件结构一般不确定C ;A.模块的功能B.模块的接口C.模块内的局部数据D.模块间的调用关系31. Jackson方法实现从A 导出C ;A. B.数据流图 C.程序结构 D.软件模块层次结构32. 程序设计语言的心理特性在语言中表现不应包括 C ;A.歧义性B.简洁性C.保密性D.传统性33、软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向A 发展,重要的基本假设是过程的质量直接影响产品的质量;A.过程质量的控制B.过程的改进C.产品的改进D.技术的革新34. 软件是一种B 产品;A.物质B.逻辑C.有形D.消耗35. 需求规格说明书的内容还应包括对B的描述;A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能36、项目管理工具中,将网络方法用于工作计划安排的评审和检查的是A ;A.Gantt图 B.PERT网图C.因果分析图 D.流程图37、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定C ;A.模块间的操作细节 B.模块间的相似性C.模块间的组成关系 D.模块的具体功能38、下述任务中,不属于软件工程需求分析阶段的是A.分析软件系统的数据要求 B.确定软件系统的功能需求C.确定软件系统的性能要求 D.确定软件系统的运行平台39、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是D 关系;A.组装B.整体成员 a D.一般具体40、动态模型的描述工具是 C ;A.对象图B.结构图C.状态图D.设计图41、McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组AA.产品需求B.产品运行C.产品修正D.产品转移42.瀑布模型的存在问题是 BA.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求43.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是 BA.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记44.在SD方法中全面指导模块划分的最重要的原则是 DA.程序模块化B.模块高内聚C.模块低耦合D.模块独立性45. Jackson图中,模块框之间若有直线连接,表示它们之间存在 B ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系46.设年利率为i,现存入p元,若计复利,n年后可得钱数为 BA.p﹡1+i﹡n B.p﹡i+1nC.p﹡1+i﹡n D.p﹡i+n47.模块B定义为受该模块内一个判断影响的所有模块集合;A.控制域 B. 作用域 C.宽度 D. 接口48.在对数据流的分析中,主要是找到中心变换,这是从 C 导出结构图的关键;A.数据结构 B.实体关系 C. 数据流图 D. E—R图49.通过 B 可以完成数据流图的细化;A.结构分解 B、功能分解 C、数据分解 D、系统分解50.Jackson方法是面向 B 的设计方法;A.系统设计 B、数据结构 C、 DFD D、 OO51.在考察系统的一些涉及时序和改变的状态时,要用对象-行为模型来表示;动态模型着重于系统的控制逻辑,它包括三个图:一个是事件轨迹图和事件流图,另一个是 A ;A .状态转换图 B. 数据流图 C. 系统结构图 D. 时序图52. 软件结构图中,模块框之间若有直线连接,表示它们之间存在 A ;A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系53. 在详细设计阶段,经常采用的工具有 A ;A. PADB. SAC. SCD. DFD54.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 CA.教正性维护B.适应性维护二、填空题请把答案写在相应的横线上,每小题分1、软件是数据、计算机程序及其说明程序的各种文档 ;2、概要设计主要是把各项功能需求转换成系统的体系结构 ;3、面向对象开发方法包括 OOA 、OOD 、 OOP 三部分;4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计;5、在单元测试时,需要为被测模块设计驱动模块和桩模块 ;6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级;8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理;9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__;10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__;11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__;12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计;14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果;因此,基线可以作为项目的一个___检查点__;15. 包括软件开发技术和__软件工程管理__两大部分内容;16、开发过程管理包括项目计划、控制和___任务管理__等;17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物;18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工;19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_;20、子类只继承一个父类的属性和操作,这称为__单重继承__;21、 McCabe复杂性度量又称__环路度量_;22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型;23、Jackson图不仅可表示程序结构,还可表示___数据结构__;24、详细设计的任务是确定每个模块的内部特性,即模块的算法和数据结构 ;25、UML提供的构建系统动态模型的机制有动态视图视图包括顺序图和协作图、静态视图视图、功能视图;26、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动组成;27、用等价类划分法设计一个测试用例时,使其覆盖__尽可能多的__尚未被覆盖的合理等价类; 覆盖__一个_不合理等价类;28、需求分析阶段产生的最重要的文档是__需求规格说明书_;29、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__;30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试;31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种__非结构化__维护;32、结构化方法是一种面向数据流的开发方法;由结构化分析、_结构化设计_、结构化程序设计构成;33、对象之间进行通信的构造叫做_消息_;34、按软件服务对象的范围可以把软件划分为项目软件和产品软件;35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过文档实现过渡的;36、概要设计主要是把各项功能需求转换成系统的__体系结构__;38、结构化程序设计方法提倡开发人员的组织形式是__主程序员组_;40、类具有操作,它是对象__行为 _的抽象;41、产品管理包括版本管理和__配置管理___;42、集成测试中的具体方法是___渐增式和非渐增式___测试方法;44、结构化分析方法的分析策略是__自顶向下逐步求精__;45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程;46、衡量模块独立性的两个定性标准是__耦合性与内聚性___;47、Jackson方法是一种面向__数据结构__的设计方法;48、维护阶段是软件生存周期中花费精力和费用___最多___的阶段;49、继承性是子类自动共享其父类的__数据结构和方法__机制;50、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_;51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件;52.软件工程包括3个要素,即方法、工具、过程;53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期;通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成54.数据流图中的箭头表示__数据流__;软件结构图中的箭头方向表示___模块调用__;55.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发;56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型;软件工程简答题三、简答题简要回答下列问题,每小题4分5=201、什么是软件工程它目标和内容是什么软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科;软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高;软件工程内容:包括开发技术和开发管理两个方面;2、软件开发中有哪几种过程模型哪些适用于面向对象的软件开发软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等;其中喷泉模型、统一软件过程适用于面向对象的软件开发;4、什么是软件概要设计该阶段的基本任务是什么把一个软件需求转换为软件表示时,首先设计出软件总的体系结构;称为概要设计或结构设计;基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审6、软件测试要经过哪些步骤这些测试与软件开发各阶段之间有什么关系答案不是很好,书本上的V模型,画出V模型软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试;单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误;该阶段涉及编码和详细设计文档;集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效;确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求;系统测试是把已确认的软件与其他系统元素如硬件、其他支持软件、数据、人工等结合在一起进行测试;以确定软件是否可以支付使用;7、什么是软件生存周期它有哪几个活动软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期;。
软件工程期末复习题(含答案)
软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。
A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
软件工程期末复习知识点整理
复习整理一、绪论1.软件的定义软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。
(软件=程序+文档)2.软件工程的定义●是指导计算机软件开发和维护的一门工程学科;●采用工程化的原理与方法对软件进行计划、开发和维护;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
3.软件危机的概念,及出现的原因软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因:⑴软件规模越来越大,结构越来越复杂⑵软件开发管理困难而复杂。
⑶软件开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4.三种编程范型的特点(1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小(2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对象,粒度比较大(3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大二、软件生存周期与软件过程1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动●定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期●目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。
●主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护(P19)2、软件生命周期划分为哪几个阶段软件生命周期分为三个时期八个阶段:●软件定义:问题定义、可行性研究;●软件开发:需求分析、概要设计、详细设计、编码、测试;●软件运行:软件维护3、瀑布模型的特点和缺陷特点:线性模型,每一阶段必须完成规定的文档(阶段间的顺序性和依赖性)优点:●可强迫开发人员采用规范化的方法。
软件工程期末复习
软件工程期末复习第一章概述1、软件工程方法学的三个要素:方法、工具和过程2、目前广泛使用的软件工程方法学是传统方法学(结构化范型)和面向对象方法学3、软件生命周期分成哪几个阶段?软件定义、软件开发、运行维护(软件维护)3个时期软件定义分为3各阶段:问题定义、可行性研究和需求分析软件开发:总体设计、详细设计、编码和单元测试、综合测试(系统设计和系统分析)4、典型的生命周期模型包括瀑布模型、快速原型模型、螺旋模型、喷泉模型、RUP等第二章可行性研究1、可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决3种解法的可行性:技术可行性、经济可行性、操作可行性2、什么是系统流程图?它包括哪些符号?基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。
处理(能改变数据值或数据位置的加工或部件)输入输出(表示输入或输出)连接换页连接数据流3、什么是数据流图?它包括哪些符号?(符号:正方形、圆角矩形、开口矩形、箭头)4、数据流图为什么要分层?在一张数据流图中包含多少个元素合适?一般来说,如果一张数据流图中包含的处理多于9个,人们就难于领会它的含义,因此数据流图应该分层,并且在功能级数据流图细化后得到的处理超过9个时,应该采用画分图的方法,也就是把每个主要功能都细化为一张数据流分图,而原有的功能级数据流图用来描绘系统的整体逻辑概貌。
5、什么是数据字典?它的用途是什么?它包括哪四类元素的定义?(元素定义:数据流、数据流分量(即数据元素)、数据存储、处理)6、成本估计的三种技术代码行技术、任务分解技术、自动估计成本技术第三章需求分析1、需求分析的基本任务是什么?主要包括哪几项?(任务是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题)主要包括:确定对系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统开发计划。
软件工程期末复习
一、需求抽取1什么是需求工程?需求工程是软件开发中管理需求的过程。
需求工程创建的第一份文档是需求陈述,用于在项目开发之初理解客户的需求。
2.什么是需求陈述?需求陈述是一份文档,陈述软件方案的需要,并对可能的规格要求加以说明。
3. 需求陈述有什么作用?需求陈述用来明确软件开发的用途,它不仅要说明软件有什么用,还要在宏观层次上明确软件应具备的特性。
4. 为什么需要构想文档?构想文档是为软件开发团队创建的,有助于开发人员明了项目的目的和范围。
5. 构想文档有哪些组成部分?构想文档是待开发项目的一个概要,它从宏观层面上显示软件的需求。
文档内容还包括关键利益相关者、软件主要功能和软件约束。
-------------------------------------------------------------------------------------构想文档的作用是为了使大家都能明了软件开发的目的。
典型地,构想文档为待开发的项目提供了一个结构清晰的概要。
它确保项目的计划、设计和开发等阶段能依次有序地展开。
构想文档是为软件开发团队创建的,有助于开发人员明了项目开发的目的和范围。
一个典型的构想文档包括:委托方公司描述需求概要项目目标项目利益相关者软件主要功能项目约束前景文档必须写得非常清楚,这样用户才能理解文档。
前景文档只包含需求的概要,不包括详细需求。
一个典型的前景文档有助于你:了解委托方公司确定公司的需求确定软件所要实现的目标确定关键的项目利益相关者确定软件的主要功能确定项目约束---------------------------------------------------1. 什么是需求抽取?需求抽取是从相关来源为软件开发收集需求的过程。
2. 需求的来源有哪些?需求的来源有:公司员工和外部人员(如供应商等)。
公司文件,包括手册、文书、表格和报表等。
现有应用系统的文档(若有的话)。
1. 在需求抽取过程中,有哪五种常见的错误?a最常见的一种错误是不同的人对“需求”一词有不同的理解。
软件工程期末复习题
软件⼯程期末复习题⼀、填空题1、在软件开发过程中要产⽣⼤量的信息,要进⾏⼤量的修改,能协调软件开发,并使混乱减到最低程度。
2、结构化语⾔是介于⾃然语⾔和之间的⼀种半形式语⾔。
3、在学校中,⼀个学⽣可以选修多门课程,⼀门课程可以由多个学⽣选修,那么学⽣和课程之间是关系。
4、⼀个模块的直接上级模块的个数称为模块的。
5、从⼯程管理的⾓度看,软件设计可分为概要设计和两⼤步骤。
6、设计任何⼀个⼈机界⾯⼀般必须考虑、⽤户求助机制、错误信息处理和命令⽅式四个⽅⾯。
7、耦合的强弱取决于的复杂性、进⼊或调⽤模块的位置以及通过界⾯传送数据的多少等。
8、⼀般将⽅法、和过程称为软件⼯程的三要素。
9、形式化说明技术主要包括:有穷状态机、PETRI⽹和。
10、软件过程模型主要有:瀑布模型、快速圆形模型、增量模型、螺旋模型和。
1、软件结构是以为基础⽽组成的⼀种控制层次结构。
2、从原理上讲,软件⼯程⽅法都由建模语⾔和建模过程组成,UML属于语⾔。
3、⼀个模块拥有的直属下级模块的个数称为模块的。
4、从⼯程管理的⾓度看,软件设计可分为概要设计和两⼤步骤。
5、为了便于对照检查,测试⽤例应由输⼊数据和预期的___两部分组成。
6、根据基本机制可将程序设计语⾔分为:过程式程序设计语⾔、函数式程序设计语⾔、逻辑程序设计语⾔和程序设计语⾔四类。
7、软件元素包括程序代码、设计⽂档、、设计过程、需求分析⽂档甚⾄领域知识。
8、与⽤户沟通获取需求的⽅法包括:、⾯向数据流⾃顶向下求精、简易的应⽤规格说明技术、快速建⽴软件原型等⽅法。
9、软件过程模型主要有:瀑布模型、快速原型模型、增量模型、螺旋模型和。
10、⾯向对象的测试策略主要包括⾯向对象的单元测试、和⾯向对象的确认测试。
1.计算机软件不仅仅是程序,还应该有⼀套____________________________________。
2.在E-R图中,数据对象实体⽤长⽅形、关系⽤___________表⽰、属性⽤椭圆表⽰。
《软件工程》期末试复习
《软件工程》期末复习一、填空题二、选择题三、简答题1.什么是软件生存周期。
其各阶段的任务是什么?答:软件生存周期:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。
2、可行性研究报告的主要内容有哪些?答:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。
(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。
(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。
(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。
(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。
(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。
(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。
(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。
3、什么是软件危机?软件危机的表现是什么?其产生的原因是什么?解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
《软件工程》期末考试复习题及参考答案
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
软件工程期末考试复习重点
1.为什么会产生软件危机?一.软件特殊性和复杂性1.软件是逻辑产品而非物理产品,产品的进度和质量难以控制2.软件不会用坏,维护和升级并不是简单换一个新的。
3.软件的开发是基于硬件和操作系统的。
4.软件一般是从头做起的,而不是用现有的部件组装的。
二.在实践过程中采用了错误的方法和技术1.对用户的需求没有清楚认识2.认为编写代码是软件开发的主要工作3.轻视项目管理4.轻视维护2.解决软件危机的途径?1) 应该加强软件开发过程的管理。
2) 推广使用开发软件的成功技术与方法,并且不断探索更好的技术与方法。
3) 开发和使用好的软件工具,建立软件工程支持环境。
总之,为了解决软件危机,既要有技术措施(好的方法和工具),又要有必要的组织管理措施。
3.软件工程的定义软件工程以指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程4.软件工程的基本原理软件工程的7条基本原理:1) 用分阶段的生命周期计划严格管理2) 坚持进行阶段评审3) 实行严格的产品控制4) 采用现代程序设计技术5) 软件工程结果应能清楚地审查6) 开发小组的人员应该少而精7) 承认不断改进软件工程实践的必要性5.文档的作用1.评估软件、跟踪软件开发的进度2.程序员之间交流的工具3.维护的重要依据1. 需求分析是什么?所谓需求分析是指软件开发人员了解软件的使用者(用户)对软件的功能、性能要求的过程。
2. 需求分析的过程?通过与用户交流获取真正需求评估和分析建模写出需求规格说明文档复查1.设计的任务根据用信息域表示的软件需求,以及功能和性能需求,进行1.数据设计2.系统结构设计3.过程设计4.界面设计2.软件设计的分类:概要设计和详细设计3.软件设计原则:模块化,抽象,逐步求精,信息隐藏。
软件工程期末复习(超详细!!!)
软件工程期末复习(超详细!!!)一:软件工程概述软件工程学的存在价值:促进软件项目成功。
软件的概念:软件(software):软件是计算机系统中与硬件相互依存的另一部分。
它包括程序、数据及其相关文档的完整集合。
(1)能够完成预定功能和性能的可执行指令(program)(2)使得程序能够适当地操作信息的数据结构(data)(3)描述程序的操作和使用的文档(document)软件危机:软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。
软件危机包含两层含义:如何开发软件。
如何维护数量不断膨胀的已有软件。
软件工程(Software Engineering):是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件生存周期:是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程。
一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
计划阶段确定待开发系统的总体目标和范围。
研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
分析阶段分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段(总体设计和详细设计)设计阶段的目标是决定软件怎么做。
软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。
实现阶段(编码)实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。
测试阶段设计测试用例,对软件进行测试,发现错误,进行改正。
运行和维护阶段应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
维护常常是软件生命周期中最具挑战性的一个阶段,其费用是相当昂贵的。
软件工程三要素:工具、方法、开发过程瀑布模型:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。
软件工程期末考试复习(精)
第一章软件工程的概述软件工程的三要素:过程: 为建造高质量的软件所需完成的任务框架方法: 为软件开发提供了“如何做”的技术工具: 为软件工程方法提供了自动的或半自动的软件支撑环境软件生命周期的概念:软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期.软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。
这个过程即为计算机软件的生命周期生命周期阶段的划分原则: 各阶段的任务相对独立;同一阶段任务的性质相同;软件的生存期划分的几个阶段:1、软件定义:问题定义可行性研究(软件计划需求分析2、软件开发:系统设计软件实现软件测试3、软件使用、维护和退役软件工程的过程模型(4 个瀑布模型(生存周期模型就是传统的生命周期方法学(既自顶向下结构化开发模型方法。
优点:奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟实现;文档易修改;有复审质量保证。
缺点:用户需求明确困难;用户见面晚;纠错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。
适合于系统要求明确的小系统。
原型模型(rapid prototype model是为了确定需求而提出的实际模型。
打破传统的自顶向下结构化开发模型方法,在计划和需求分析后,把系统主要功能接口做为设计依据,快速开发出软件样机,及时征求用户意见,正确确定系统需求,然后再进一步准确地进行系统设计与实现。
优点:与用户见面快;开发成功率高,适合于需求不确定的大系统。
缺点:周期长,开发成本高。
螺旋模型(spiral model沿着螺线旋转(一个螺旋式周期,在四个象限上分别表达四个方面的活动制定计划:确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略风险分析分析所选方案,考虑如何识别和消除风险,风险角度分析该策略实施工程实施软件开发,启动一个开发阶段客户评估评价前一步开发工作,提出修正建议,计划下一轮的工作特点:瀑布模型+快速原型+风险分析迭代过程统一过程过程模型RUP 的特点:用例驱动基于用例模型,开发人员可以创建一系列实现这些用例的设计和实现模型。
软件工程要期末复习
《软件工程》期末复习第一章软件工程概述1.什么是软件危机?软件危机包含哪些问题?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
2.简述软件危机的典型表现。
答:1.对软件开发成本和进度的估计常常很不准确;2.用户对“已完成的”软件系统不满意的现象经常发生;3.软件产品的质量往往靠不住;4. 软件常常是不可维护的;5.软件通常没有适当的文档资料;6.软件成本在计算机系统总成本所占的比例逐年上升。
3.产生软件危机的原因主要有哪些?答:软件不同于硬件,它是计算机系统中的逻辑部件不是物理部件。
软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
4.什么是软件?答:软件是程序、数据及相关文档的完整集合。
其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。
在1993年IEEE为软件下的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。
5.简述如何消除软件危机?答:首先应该树立对计算机软件的正确认识。
软件开发应该是组织良好、管理严密、各类人员团结协作共同完成的工程项目。
必须充分吸取和借鉴人类长期以来从事各种工程项目所积累的行之有效的原理、概念、技术和方法,并研究能更有效地开发软件的技术和方法。
应该积极开发和使用计算机辅助软件工程的工具。
总之,为了消除软件危机,既要有技术措施,又要有必要的组织管理措施。
软件工程正是从技术和管理两方面研究如何更好的开发和维护软件的一门新兴的工程学科。
6.软件工程是一门什么样的学科?答:软件工程师指导计算机软件开发和维护的一门工程学科,该学科的目的是生产出能按期交付的,在预算范围内的、满足用户需求的、质量合格的软件产品。
软件工程期末复习题
软件工程期末复习题一、单选题(本大题共10小题,每小题2分,共20分)1.软件是一种( C ) A.物质产品 B.物理产品 C.逻辑产品 D.文档产品2.下列4个选项中,不属于软件危机表现的是( D ) A.开发的软件可靠性差 B.经费预算不断突破,完成时间一再拖延 C.开发的软件可维护性差 D.开发的软件规模庞大,结构复杂3.下列4个选项中,不属于软件危机原因的是:软件( D ) A.规模越来越大 B.结构越来越复杂 C.开发技术落后 D.用户素质不高4.软件产品的生产主要是( D ) A.生产 B.再生产 C.开发 D.研制5.软件工程是一门( C ) A.理论性学科 B.原理性学科 C.工程性学科D.心理性学科6.软件重用的单位是( A ) A.软件模块 B.性能 C.系统 D.功能7.软件工程着重于( C ) A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论8.软件工程中的“软件”是指( D ) A.程序 B.数据 C.文档 D.程序、数据及文档9.软件开发费用只占整个软件系统费用的( B ) A.1/2 B.1/3 C.1/4D.2/310.下列4种模型中,属于文档驱动的是(C ) A.喷泉模型 B.增量模型C.瀑布模型D.螺旋模型11.下列4种模型中,较为适合用于面向对象的开发方法的是( A ) A.喷泉模型 B.增量模型品 C.瀑布模型 D.螺旋模型12.下列4中方法中,属于面向数据结构的设计方法的是(C ) A. Booch方法 B. Coad方法 C. Jackson方法 D. SA方法13.下列4中方法中,属于面向数据流的分析方法的是( D ) A. Booch方法 B. Coad方法 C. Jackson方法 D. SA方法14.软件生存周期中时间最长的阶段是( B ) A.需求分析 B.概要设计C.测试D.维护15.一般而言,软件开发各阶段中,时间长、费用高、困难大的阶段是( D ) A.需求分析 B.详细设计 C.编码 D.测试16.解决“软件必须做什么”问题的阶段是( B ) A.可行性研究 B.需求分析 C.详细设计 D.编码17.下列工作中,不在需求分析阶段进行的是( B ) A.编写需求规格说明书 B.编写集成测试计划 C.编写用户手册初稿 D.修改完善软件开发计划18.下列工作中,不在需求分析阶段进行的是( B ) A.确定软件的功能需求 B.建立软件物理模型 C.导出软件逻辑模型 D.编写需求规格说明书19.需求分析的主要结果是( C ) A.项目开发计划 B.可行性分析报告C.需求规格说明书 D.设计说明书20.需求分析要解决的最重要的问题是( A ) A.要让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样D.要让该软件具有何种结构21.需求规格说明书的内容不应包括软件的( B ) A.主要功能与性能B.算法详细过程 C.用户界面 D.运行环境22.系统流程图用于描述待开发软件的(B ) A.结构系统 B.物理系统C.程序系统D.逻辑系统23.数据流图用于描述待开发软件的( B ) A.物理模型 B.逻辑模型 C.控制结构 D.数据结构24.DFD中的每个加工至少有( A ) A.一个输入流和一个输出流B.一个输入流或一个输出流 C.一个输入流 D.一个输出流25.分层DFD的顶层图描述了系统的( B ) A.细节 B.输入与输出 C.作者 D.绘制时间26.在DFD中,下列数据流中可以不命名的是( A ) A.处理与处理之间的数据流 B.处理与局部数据存储之间的数据流C.处理与数据源点之间的数据流D.处理与数据终点之间的数据流27.DFD中一般不画( A ) A.控制流 B.数据流 C.局部数据存储 D.外部实体28.在DFD中,箭头表示( A ) A.数据流 B.数据存储 C.数据处理 D.数据源点29.在DFD中,双杠表示( D ) A.数据处理 B.数据源点 C.数据流 D.数据存储30.父图与子图平衡指子图的输入、输出流同父图相应加工的输入、输出流( A ) A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等31.数据字典中一般不包括( D ) A.数据流条目B.数据存储条目C.加工条目 D.源点与终点条目32.关于DD的4类条目,不可再分解的最小元素是( B ) A.数据流条目 B.数据项条目 C.数据存储条目 D.加工条目33.表示“X由a或b组成”的DD定义式是(B ) A. X=a+b B. X=[a|b] C.X=a…b D. X=|a b|34.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入C.宽度D.深度35.当一幅DFD中既有变换流又有事务流时,这就是一个( C ) A.变换型DFD B.事务型DFD C.综合型DFD D.分层DFD35.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入C.宽度D.深度36.软件开发中结构化设计方法用于( B ) A.测试用例设计 B.概要设计 C.程序设计D.详细设计37.软件结构使用的图形工具,一般采用( C ) A.DFD图B.PAD图C.SC图D.ER图38.软件结构图中,模块框之间若有直线接,表示它们之间存在着(A )A.调用关系B.组成关系 C.连接关系 D.顺序执行关系39.下列工作中,不在概要设计进行的是( D ) A.划分模块B.确定模块功能 C.确定模块的接口 D.确定模块的算法40.为提高模块独立性,模块之间最好是(D ) A.公共耦合 B.控制耦合C.内容耦合D.数据耦合41.为提高模块独立性,模块内部最好是(C ) A.逻辑内聚 B.时间内聚C.功能内聚D.通信内聚42.在软件概要设计中,不使用的图形工具是( D ) A.SC图 B.IPO图C.IDEF图D.PAD图43.概要设计与详细设计衔接的图形工具是( B ) A.数据流图 B.结构图 C.程序流程图 D.PAD图44.软件概要设计结束后得到( B ) A.数据流图 B.结构图 C.程序流程图 D.PAD图45.划分模块时,一个模块的( A ) A.作用范围应在其控制范围内B.控制范围应在其作用范围内C.作用范围与控制范围互不包含D.作用范围与控制范围不受任何限制46.结构化程序设计主要强调程序的( C ) A.效率 B.执行速度 C.易读性 D.规模47.详细设计的任务是确定每个模块的( B ) A.外部特性 B.内部特性C.功能D.输入输出数据48.程序的三种基本控制结构是( B ) A.过程、子程序和分程序 B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移49.程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现D.单入口和单出口50.下列工作中不属于详细设计基本任务的是( D ) A.为模块内的数据结构进行设计B.对数据库进行物理设计C.为每个模块进行详细的算法设计D.为模块进行功能设计51.不属于详细描述处理过程常用的工具是( D ) A.图形B.表格C.语言 D.程序52.下列4图中不属于详细设计中描述处理过程的主要工具的是(D )A.PAD图B.IPO图 C.程序流程图 D.程序图53.结构化程序设计主要强调的是( A ) A.程序易读性 B.程序效率 C.程序规模 D.程序代码54.下列4图中支持结构化程序设计原理并可自动生成程序的是( D ) A.程序流程图B.工程网络图C.程序图D. PAD图55.下列结构中不属于Jackson结构图描述的基本结构的是( D ) A.顺序结构 B.选择结构 C.重复结构 D.组装结构56.结构化程序思想提出前程序设计中曾强调程序的效率,现在更重视程序的( D )A.效率B.安全性C.一致性D.可理解性57.源程序文档化要求在每个模块之前加序言性注释。
软件工程期末复习
软件工程期末复习软件工程期末复习————————————————————————————————作者:————————————————————————————————日期:一基本概念1简述1983年IEEE为软件下的定义。
5822926计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。
2简述软件危机的表现有哪些?以及解决软件危机的途径有哪些?软件危机的主要表现包括:(1) 软件开发进度难以预测,开发成本难以控制,导致超预算、超时;(2) 产品功能难以满足用户需求;(3) 软件产品质量无法保证;(4) 软件缺少适当的文档资料,维护困难;(5) 软件成本超过硬件成本;(6) 软件开发生产率的提高速度跟不上计算机应用普及深入的趋势;解决软件危机的途径有:1管理措施:项目管理、配置管理、过程管理、质量控制2技术措施:开发过程、开发技术与方法和开发工具3 软件工程的定义1993年IEEE给出的定义:软件工程是:①系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
”软件工程是围绕软件开发的一门交叉学科:软件工程=计算机科学+工程学+管理学4 软件工程的10个知识领域软件工程过程( Software Engineering Process)软件工程工具和方法( Software Engineering Tools and Methods )软件需求(Software Requirement)l软件设计(Software Design )软件构造(Software Construction)软件测试(Software Testing)软件维护(Software Maintenance)软件配置管理(Software Configuration management)软件工程管理( Software Engineering management )软件质量( Software Quality)5 软件工程的目标是什么,软件工程的三要素都是什么?软件工程的目标:软件工程必须以有组织的质量保证为基础,进行全面质量管理,不断地过程改进使软件工程方法走向成熟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程期末复习一、选择题1、软件工程的研究者将软件开发和维护过程概括为(c)大活动。
A.5B.7C.8D.32、(a)是职业软件工程师的必要条件。
A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋3、计算机病毒是指(b)。
A.计算机系统的漏洞B. 一组自我复制和自动执行的具有破坏能力的代码C.一种细菌D. 程序中的BUG4、软件需求具有(d)。
A.主观性B.不确定性C.多变性D.以上全部5、描述软件需求通常不用哪个工具(c)。
A.数据流程图B.数据字典C.模块结构图D.E-R图6、软件结构图中没有(d)元素。
A.模块 B.调用参数 C.返回结果 D.判断7、程序流程图与数据流程图的关系(a)。
A.不确定 B.数据流程图可以转换成程序流程图C.数据调用关系 D.程序流程图可以转换成数据流程图8、包含关系用于构造多个用例(b)。
A. 关系B.共性的部分C.角色D.特殊活动9、如果说用例F被用例T扩展,意思是(a)。
A.F是一个一般用例,T是一个特殊用例B.F是一个特殊用户,T是一个一般用例C.都是一般用例D.都是特殊用例10、用(c)对需要长久保存的信息进行建模。
A.实体类B.数据库表C.E-R图D.对象类11、美国卡内基﹒梅隆大学制定的SW-CMM是(c)。
A.软件工作规范B.软件工作流描述C.软件成熟度模型D.软件描述的一般方法12、螺旋模型是一种将(d)结合起来的软件开发模型。
A.原型化模型和增量模型B.风险判断和瀑布模型C.瀑布模型和原型化模型D.瀑布模型和增量模型13可行性研究的四大要素是(a)。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性14、软件调研报告是在(b)提交的。
A. 可行性分析之前B. 需求分析之前C.签合同之前D.设计的时候15、系统流程图的主要作用(a).A.描述系统的物理模型B.业务流程C.系统处理过程D.数据处理过程16、PDL是一种(d)语言。
A.低级程序设计语言 B.建模语言 C.高级程序设计语言 D.过程设计语言17、结构化设计方法划分模块的原则是(c)。
A.模块扇出小于5 B.模块扇入小于5 C.低耦合,高内聚 D.模块深度小于718、配置视图体现了系统的实现环境,反映系统的(b)。
A. 逻辑架构B. 物理架构C.组成结构D.体系结构19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和(d)。
A.数据库B.接口C.对象D. 时间20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由(c )实现。
A. 场景描述B.活动图和场景描述C. 用例图和场景描述D.交互图和场景描述21、下面的哪个选项不是软件工程的宗旨(b)。
A.开发满足用户需求的软件B.研究算法C.及时交付软件 D.生产无故障软件22、针对需求不确定的软件开发,比较好的模型是(a)。
A. 快速原型化模型B. 瀑布模型C.软件成熟度模型D.系统化模型23、可行性分析研究的费用大约是项目总经费的(b)。
A.2%B.6%C.20%D.5‰24、业务需求描述的是(d)。
A.功能需求B.用户需求C.用户的具体业务流程D.软件的目标、规模和范围25、一个数据流程图中的图形符号有且仅有(c)种。
A.3B.5C.4D.726、非直接耦合的模块独立性最强,(a)的模块独立性最弱。
A.内容耦合 B.数据耦合 C.控制耦合 D.外部耦合27、信息隐藏的核心内容是(c)。
A.把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问28、面向过程的方法最关心的是(a),而过程实施的对象是作为过程参数传递的。
A.参数B.主体C.过程D.数据结构29、(c)用于描述系统的功能集。
A. 组件视图B.逻辑视图C. 用例视图D.对象视图30、用(d)模型建立系统组织结构。
A.组织B.CMMC.数据D.静态31、对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,由(b)实现。
A.顺序图B.类图C.状态图D.组件图32、如果对象之间的耦合是通过(a)来实现的,则这种耦合就是交互耦合。
A.消息机制B.参数C.方法D.公共数据区33、定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的(c)指标。
A.有效性B.安全性C. 可维护性D. 开发效率34、在设计测试用例时,应该包括(d)测试用例。
A. 可能产生无效输出的输入情况B.无效的和不期望的输入情况C.有效的和期望的输入情况D.上面所有情况35、(b)属于功能测试方法。
A.等价类划分和判定覆盖B.边值分析和等价类划分C.边值分析和判定覆盖D.判定覆盖和回归测试36、一个软件项目大约(a)的工作量在开发阶段,()的工作量在维护阶段。
A.30%,70%B. 70%,30%C. 30%,30%D. 70%,70%37、软件项目管理的内容不包括(b)。
A.人员的组织与管理B. 技术和算法C.软件配置管理D.软件开发进度计划38、通俗的说,软件项目管理中常说的基线是(d)。
A.管理的基本思路B. 一种软件开发的基本策略C.基本的技术路线D. 通过正式复审的文档39、科学计算领域一般选择(b)语言。
A.HTMLB.CC.汇编语言D.XML40对于嵌套的循环和分支程序,层次不要超过(c)层。
A.1B.2C.3D.541、在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是(a)。
A.控制类B.组件类C.主函数D.事务类42、继承耦合是(b)之间的一种关联形式,设计时应该适当使用这种耦合。
A. 虚类与实体类B. 一般化类与特殊化类C.控制类与界面类D.数据类与处理类43、构架设计的主要目的是(d),这项工作由经验丰富的构架设计师主持完成。
A.类图B.确定系统数据结构C.处理流程D. 确定系统总体结构44、测试用例是一组(a)。
A.测试用的输入数据以及对应的预期结果B.测试驱动程序C.测试数据D.测试程序及数据45、由于面向对象中的继承和消息机制,使得软件测试(b)。
A.更加简单B.更加复杂C.没变D.不确定46、软件维护过程中产生的副作用,一般是由(b)引起的。
A.算法说明B.修改程序C.优先级D.环境要求47、项目计划活动的主要任务是(d)。
A.估算项目的进度B.分配工作量C.计划资源使用D.以上全部48、如果程序代码的(c)好,则调试的成本就可以大幅度降低。
A.性能比B. 可扩充性C. 可读性D.可移植性49、两个浮点数X0和X1比较相等时,应该用(c)比较。
A.X0==X1B.X1-X0<εC. |X0-X1|<εD.X0=X150、瀑布模型存在的问题是(d )。
A.用户容易参与开发B.适用可变需求 C.用户与开发者易沟通 D.缺乏灵活性51、( b)不是分析建模的目的。
A. 定义可验证的软件需求B. 开发一个简单的问题解决方案C. 描述客户需求D. 建立软件设计的基础52、对用例进行设计,发现实现用例功能的(d),确定类之间的关系。
A. 算法B.业务流程C.数据结构D. 关键类53、框架是一组可用于不同应用的(a)的集合。
A.类B.数据结构C.函数D.过程54、从狭义上讲,软件测试是(a)的过程。
A. 为发现错误而执行程序B.为了验证程序正确C.用不同的数据验证程序正确性D.区分程序员水平55、在设计黑盒测试用例时,主要研究(d)。
A. 概要设计说明书B.详细设计说明C.项目开发计划D. 需求规格说明56、(b)时,测试人员必须接触到程序源代码。
A、黑盒测试B、白盒测试C、压力测试D、外观测试57、一般维护程序代码的策略(b)。
A. 从需求开始重新开发B.根据维护申请读源程序,并修改C.找一个新的模块替换D. 不用读源程序,从新编写代码58、Gantt图直观简明、易学易用,但它不能(a)。
A.直接反应任务间的依赖关系和关键路径B.反应任务的分解情况C.直接反应任务的起止日期D.反应具体任务的时间段59、(d)针对开发过程中的程序、数据、文档提出使用和管理策略。
A.组织管理 B.过程管理 C.风险管理 D.软件配置管理60、程序的三种基本控制结构,包括顺序结构、(a)和循环结构。
A.判断结构B.说明结构C.输入结构D.输出结构61、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(c),最上层是工具层。
A.过程层B.方法层C.过程层和方法层D.系统层62美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的(a)条基本原理。
A.7B.5C.3D.1263、下面哪个选项不是软件工程研究的内容(b)。
A. 生产无故障的软件B. 精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件64可行性研究的主要任务是(d)。
A.确定系统做什么B. 确定性能C.确定功能D. 进行一次简要的需求分析65、用户需求描述的是(a)。
A.用户使用该软件要完成的任务B.业务需求C.功能需求D.软件目标、规模和范围66、数据流程图的主要作用是(d)。
A.描述模块组成B.说明用户数据结构C.描述软件功能D. 描绘系统的逻辑模型67、软件设计的目标是(a)。
A.在最短的时间内,生产出可靠性、可维护性俱佳的软件方案。
B.为软件编码设计模块结构。
C.确定软件要做什么。
D.确定软件的实现算法。
68、内容耦合是模块间最紧密的耦合,(b)是模块间最松散的耦合。
A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合69、面向对象是“先”确定()“后”(c)。
A.属性/方法B.数据结构/方法C. 动作的主体/执行动作D.动作/操作70、UML是一种(b)语言。
A.高级编程语言B.面向对象建模语言C.分析方法D.过程71、软件工程强调将(d)的方法应用于软件的开发和维护过程之中。
A.规范化B.系统化C.可度量D.以上全部72、软件开发活动的顺序应该是(a)。
A.问题定义、可行性研究、需求分析、设计、编码和测试。
B.问题定义、设计、可行性研究、编码和测试。
C.需求分析、设计、编码和测试。
D.需求分析、编码和测试、试运行。
73假定银行的存款年利率是2%,请问现在存5000元,两年后的价值应为(a)元。
A.5202B.4500C.5100D.471274、系统物理模型用(a)表示。
A.系统流程图B.数据流程图C.程序流程图D.E-R图75、关于软件需求特性不正确的描述是“软件需求具有(c)”。
A.多变性B.模糊性C. 准确性D.主观性76、随着模块规模减小,模块开发成本(b),模块集成成本()。