软件工程复习题(带答案)
- 格式:docx
- 大小:30.97 KB
- 文档页数: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、快速原型模型的主要特点之一是()A、开发完毕才见到产品B、及早提供全部完整的软件产品C、开发完毕后才见到工作软件D、及早提供工作软件7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法8、软件详细设计主要采用的方法是()A、模块设计B、结构化设计C、PDL 语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 () A、.软件工程B、软件周期C、软件危机D、软件产生10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、概要设计C、详细设计D、软件维护11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探索型模型B、演化型模型C、实验型模型D、提交型模型12、程序设计语言的工程特性之一为()A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ()A、可用性B、可靠性C、正确性D、完整性14、模块设计中,最不希望的内聚是()A、功能内聚B、通信内聚C、过程内聚D、偶然内聚15、实施快速原型模型方法开发软件的关键在于()A、CASE 工具的支持B、如何开发演化型模型C、项目主管的支持D、开发人员的素质16、程序流程图(框图)中的箭头代表()。
软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对2、在需求剖析过程中,剖析员要从用户那边解决的最重要的问题是给该软件供给哪些信息。
3、需求规格说明书在软件开发中拥有重要的作用,它也能够作为软件可行性剖析的依照。
错错4、成立用例模型的步骤包含确立角色、确立用例和绘制用例图。
错5、数据流图成立系统的功能模型,它由数据流、加工和数据存贮构成。
错6、软件配置管理是一组表记、组织和控制改正源程序的活动。
错7、UML 是一种直观化、明确化、建立和文档化软件产物的通用语言。
错8、好的测试是用少许的测试用例运转程序,发现被测程序尽可能多的错误。
对9、界限值剖析方法是取输入 / 输出等价类的界限值作为测试用例。
对10、面向对象的剖析是面向计算机系统成立软件系统的对象模型。
错11、(D )是将系统化的、规范的、可定量的方法应用于软件的开发、运转和保护的过程,它包含方法、工具和过程三个因素。
A 软件过程B 软件测试C 软件生计周期D 软件工程12、 ISO9000 是由 ISO/TC176 拟订的对于( B )和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改良13、 CMM 供给了一个框架,将软件过程改良的进化步骤组织成 5 个成熟度等级。
除第 1 级外,每个等级都包含了实现该成熟度等级目标的若干(B)。
A重点实践 B 重点过程域 C 软件过程能力 D 软件过程14、在软件开发的各样资源中,( D )是最重要的资源。
A 开发工具B方法 C硬件环境 D人员15、软件的复杂性是( A ),它惹起人员通讯困难、开发花费超支、开发时间超时等问题。
A 固有的B 人为的C 可除去的D 不行降低的16、在各样不一样的软件需求中,( D )描绘了用户使用产品一定要达成的任务,能够在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,合用于( A )系统。
一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1.软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性2.软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的3.以下哪个软件生存周期模型是一种风险驱动的模型。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型4.可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统5.结构化分析建立功能模型的工具是。
A.DFDB.判定树/判定表C.SCD.结构化语言6.检查软件产品是否符合需求定义的过程称为。
A.确认测试B.集成测试C.系统测试D.单元测试7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护8.通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可9.一个只有顺序结构的程序,其环形复杂度是。
A.0B.1C.3D.510.下述四个能力成熟度等级,级别最高的是。
A.已定义级B.优化级C.可重复级D.已管理级11.结构化程序设计,主要强调的是。
A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系12.软件调试技术包括。
A.边界值分析B.演绎法C.循环覆盖D.集成测试13.需求分析中开发人员要从用户那里了解。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模14.数据字典是对数据定义信息的集合,它所定义的对象都包含于。
A.数据流图B.程序框图C.软件结构D.方框图15.面向对象的主要特征除唯一性、继承性、多态性外,还具有。
A.封装性B.移植性C.完整性D.兼容性16.关于软件维护的说法错误的是。
一、填空题在下划线上填写正确的答案,每题2分,共20分1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数;2.数据流图和数据字典共同构成了系统的逻辑模型;3.盒图也称为 N-S图 ;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题;4.软件有效性,指软件系统的时间和空间效率;6.数据流图有四种基本成分:源、终点,处理,存储,数据流 ;7其中数据项是组成数据流和数据存储的最小元素;8.软件工程中的结构化分析SA是一种面向数据流的分析方法;9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程; 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础;1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型 ;2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段;3.软件测试的步骤:单元、集成、系统、验收 ;4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点 ;5.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 ;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块;10.常用的测试方法有黑盒测试和白盒测试 ;1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究;2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构;3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段;4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求 ;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程 ;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有低耦合和高内聚性能的模块;1.若年利率为i,n年后可得钱数为F则现在的价值 F/1+Ni ;2.在结构化分析中用来描述加工逻辑的主要工具是结构化语言、判定表、判定树 ;3.软件测试的步骤:制定、设计、实施测试、测试后调试、做4.自顶向下结合的渐增测试法,在组合模块时有两种组合策略:7;1;2;3.HIPO图是由一组IPO图和一张H 图组成;4.在前期需求明确、资料完整的情况下尽量采用瀑布模型;5.用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用扩展关系来表示;6.UML;7.类是类图的主要的主要部件,由类名、属性、操作3部分组成;8.UML中的泛化关系就是通常所说的继承关系;9;10Rose中对应图形的分类;1.软件危机具有下列表现 D ;1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、 1、2和3B、 1、3 和4C、 2、3和4D、以上都正确2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是 A ;A 运行和维护阶段 B、设计阶段 C、代码实现阶段 D、测试阶段3.下列属于软件的特点的是 D ;A、软件是一种逻辑实体,具有抽象性B、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高D、以上都正确4.软件开发技术不包含 D ;A、软件开发方法学B、软件工程环境C、软件工具D、软件质量度度量5.需求分析阶段最重要的技术文档是 B ;A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册6.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是 CA、数据库设计B、数据通信C、数据定义D、数据维护7.需求分析阶段的研究对象是 C ;A、系统分析员要求B、用户要求C、软硬件要求D、系统要求8.结构化方法的基本原则是B ;A 、模块化B、抽象与分解 C、信息隐藏 D、逐步求精9.耦合度最高的是B 耦合;A、环境耦合B、内容耦合C、控制耦合D、数据耦合10.画软件结构图时应注意调用关系只能是 BA、从下到上B、从上到下C、从左到右D、从右到左11.软件设计中划分模块的一个准则是CA、低内聚低耦合B、低内聚高耦合C、高内聚低耦合 D高内聚高耦合12.Jackson设计方法是由英国的提出的,它是一种面向C的软件设计方法;A、对象B、数据流C、数据结构D、控制结构13.使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准;A、程序内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能14.软件维护工作的最主要的部分是A;A、校正性维护B、适应性维护C、完善性维护D、预防性维护15.PDL是B语言;A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言16.下列哪个阶段不属于软件生存期的三大阶段 C ;A、定义阶段B、开发阶段C、编码阶段D、维护阶段17.可维护性的特性中相互促进的是 AA、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好18.软件测试的目标是BA、证明软件是正确的B、发现错误、降低错误带来的风险C、排除软件中所有的错误D、与软件调试相同19.软件生命周期中所花费用最多的阶段是 DA、详细设计B、软件编码C、软件测试D、软件维护20.详细设计的基本任务是确定每个模块的D设计;A、功能B、调用关系C、输入输出数据D、算法22.下列哪个图不是N-S图的构件 C ;23.对于下列各图,有关描述中正确的是 A ;A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B不能同时输入,变换成CD、数据A变换成B和C24.下列哪种方法不是度量效益的方法 B ;A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入25.下列描述错误的是 D ;A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向26.软件是CA、处理对象和处理规则的描述B、程序C、程序及文档D、计算机系统27.软件需求规格说明的不应包括B;A、主要功能B算法的详细描述C、用户界面及运行环境D、软件性能28.程序的三种基本控制结构是B;A、过程、子程序和分程序B、顺序、选择和循环C、递归、迭代和回溯D、调用、返回和转移29.面向对象的分析方法主要是建立三类模型, 即D;A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型B、ER模型、对象模型、功能模型D、动态模型、功能模型、对象模型30.ER模型中,包含以下基本成分C;A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作1.快速原型模型的主要特点之一是 B A.开发完毕才见到产品B.及早提供工作软件C.及早提供全部完整软件 D.开发完毕才见到工作软件2.软件工程学的一个重要目标是 D A.提高程序的执行效率 B.降低程序对存储空间的要求C.定义各种软件开发过程模型D.提高软件的可维护性3.需求分析最终结果是产生 B A.项目开发计划B.需求规格说明书C.设计说明书 D.可行性分析报告4.数据存储和数据流都是处于不同状态的 D A.分析结果 B.事件 C.动作D.数据5.数据字典是对数据定义信息的集合,它所定义的对象都包含于 A A.数据流图 B.程序框图 C.软件结构 D.方框图6、结构化设计是一种面向 A 的设计方法;A.数据流B.数据库C.数据结构 D.程序7.下列可哪个组件不是用例图的基本组件 D A.参与者 B.用例C.系统D.文档8.用例图中用例之间存在各种关系,但不包括 BA.包含B.关联 C.泛化 D.扩展9.常用动词或动词词组来表示 C A.对象B.类 C.关联D.属性10.组件图中通常不包括下列哪个元素 A A.对象 B.组件C.接口 D.依赖11.好的软件结构应该是 B A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚 D.低耦合、低内聚12.静态模型不包括 C A.类图 B.组件图C.状态图 D.部署图13.动态模型不包括 D A.交组图B.活动图C.状态图D.部署图14.Rose模型文件的扩展名为 AA.mdl B.vsd C.pdf D.swf15.逆向工程是什么过程 CA.模型到代码B.设计到实现C.代码到模型 D.类图到包图三、判断题正确的在括号内打上“√”,错误的打上“×”;每小题2分,共20分1软件开发的主要任务是写程序; F2测试只能证明程序有错误,不能证明程序没有错误; T3模块化程序设计中,模块越小,模块化的优点越明显;一般来说,模块的大小都在10行以下; F4在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等; F5程序设计风格指导原则提出,尽量多使用临时变量; F6用黑盒法测试时,测试用例是根据程序内部逻辑设计的; F7发现错误多的程序模块,残留在模块中的错误也多; T8为了加快软件维护作业的进度,应尽可能增加维护人员的数目; F9软件维护就是改正软件中的错误; F10质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动; T11螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示; F12模块越多,开发成本越小; F13内聚是指一个软件结构内各个模块之间互连程序的度量; F14结构化设计属于面向数据流的设计方法; T15详细设计是在概要设计之后进行的;它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述; T16程序运行过程中出现错误叫做容错; F17软件测试的目的是证明程序没有错误; F18白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;F19 PAD图在设置了五种基本的控制结构后,还允许递归调用; T20独立编译是指一个大程序的不同程序单元分别编译,然后重新连接整个程序段;T31开发软件就是编写程序F32 系统测试的主要方法是白盒测试法,主要进行功能、性能测试、安全性测试及可靠性测试等F33编程时应尽可能利用硬件特点以提高程序效率F;34软件需求分析的任务是建立软件模块结构图F;35尽可能使用高级语言编写程序T;36以结构化方法建立的系统模型就是数据流图F;37进行总体设计时加强模块间的联系F;38编码时尽量多用全局变量F;39用CASE环境或程序自动化生成工具来自动生成一部分程序T40软件测试是要发现软件中所有错误FT 41、软件开发、设计几乎都是从头开始,成本和进度很难估计;F 42、VG值越高的程序往往是越不复杂、越不容易出问题的程序;F 43、适应性维护是改进软件未来的可维护性和可靠性;F 44、软件是逻辑产品,软件质量较容易直接度量;T 45、随着软件复杂性的不断提高,软件的维护难度越来越大;F 46、软件也会磨损和老化;F 47、用穷举法测试是较现实的测试方法;T 48、面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和循环三种基本形式表示数据等步骤;F 49、测试计划、测试用例,出错统计和有关的分析报告一般不用长期保存;F 50、McCabe建议模块规模应满足:VG≤20;T 61.总体设计阶段要设计软件体系结构;F 62、软件即程序;T 63.采用对象设计系统时,首先建立系统的物理模型;T 64.用例图中,扩展关系表示为虚线箭头加“extend”;T 65.实现关系指定两个实体之间的一个合同;T 66.状态图通常作为对类图的补充;F 67.聚集关系是关联的一种形式,表示两个类之间的一般与特殊关系;T 68.一个完整的模型必然描述系统的静态和动态两个方面;F 69.状态图是对多个对象建模;T 70.在UML中,组件是指系统中可替换的物理部分;四简述题每小题5分,共10分1.测试用例测试用例Test Case是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个路径或核实是否满足某个特定需求;2.模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性;3.对象指行动或思考时作为目标的事物4.软件生命周期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行;5.软件重用的效益是什么答:1、软件重用可以显着地改善软件的质量和可靠性;2、软件重用可以极大地提高软件开发的效率;3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费;6.结构化程序设计方法的基本要点;1.采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自定向下、逐层细化的方法;2.使用三种基本控制结构构造程序,分别是顺序、选择和循环,这三种基本结构的共同点是、单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段;3.采用主程序员的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组;7.什么是软件生命周期8.简述什么是回归测试回归测试-----在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径,可能出现新的I/O操作,激活新的控制逻辑;这样变化有可能使原来正常的功能出现了问题;所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上述变化没有带来非预期的错误;9.简述软件危机有哪几种表现软件开发和维护的过程中常遇到的问题1对于软件开发的成本和进度的估计很不准确;2开发的软件产品不能完全满足用户要求;3开发的软件可靠性差,软件产品质量差;4软件通常没有适当的文档资料;5软件的可维护性差;6软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势,效率低;7软件价格昂贵;10.什么是软件工程Software Engineering,简称为SE是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科;它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面;11.简述需求分析的任务需求分析的任务就是:确定待开发的软件系统“做什么”;具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册12.详细设计的主要任务是什么答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审13.自顶而下渐增测试与自底向上渐增测试各有何优缺点答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误;缺点:需要存根程序,底层错误发现较晚;②自底而上渐增测试优点与缺点和自顶而下渐增测试相反;14.软件生存期各阶段的主要任务;15.简述需求分析工作可以分成哪四个方面软件需求分析有三个基本原则需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审;1问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划;然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作;2分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理;3制定规格说明,编写需求分析的文档;4需求分析评审;为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行;需求分析的原则1.必须能够传达和理解问题的数据域和功能域2.必须按自顶向下、逐层分解的方式对问顺进行分解和不断细化3.给出系统的逻辑模型和物理模型161、为了发现错误而执行程序的过程2、一个好的用例能够发现至今尚未发现的错误的测试3、一个成功的测试是发现至今尚未发现的错误的测试17.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用1、在面向对象的系统开发过程中,每个阶段要建造不同的模型2、需求分析阶段建造的模型用来捕获系统需求分析3、设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案4、实现阶段的模型是真正的源代码及编译后的组件5、发布阶段是描述系统物理上的架构18 .软件工程的原则是什么软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则;五、应用题20分1.某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员;请用结构化语言,判定树或判定表描述上述问题的加工逻辑;职工重新分配工作的政策可描述为:若年龄在20岁以下则初中文化程度脱产学习高中文化程度当电工若年龄在20-40岁之间则中学文化程度男性当钳工女性当车工大学文化程度都当技术员若年龄在40岁以上者则中学文化当材料员大学文化当技术员初中脱产学习年龄<20 高中电工男钳工中学女车工工作分配规则年龄20-40高中技术员年龄>40 中学村料员高中技术员2.假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李;当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定表表示每种条件组合相对应的计算行李费的算法;用判定树表示计算行李费的算法用判定树表示计算行李费的算法3.以自己开发软件可以是C、C++、VC++、VF、甚至是汇编、等其他语言的一个自选项目为背景,应用软件工程方法进行策划,要求必须给出项目描述,主要的软件工程过程的描述以及各阶段的主要内容。
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程复习题及答案1. 软件工程的三要素是()。
A. 技术、方法和工具B. 方法、对象和类C. 方法、工具和过程(正确答案)D. 过程、模型、方法2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。
A. 软件工程材料(正确答案)B. 软件工程目标C. 软件工程原理D. 软件工程过程3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件生命周期B. 软件测试C. 软件工程(正确答案)D. 软件过程4. 下列说法中正确的是()。
A. 20世纪50年代提出了软件工程的概念B. 20世纪60年代提出了软件工程概念(正确答案)C. 20世纪70年代出现了客户机/服务器技术D. 20世纪80年代软件工程学科达到成熟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. 程序设计B. 可行性研究(正确答案)C. ER分析D. 2NF分析12. 进行需求分析可使用多种工具,但()是不适用的。
软件工程复习题(带答案)软件工程复习题一、单选题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、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。
通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。
4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。
它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。
5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。
6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。
7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。
它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。
8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。
单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。
9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。
维护包括错误修复、性能优化、功能扩展等。
作业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:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
一、选择题1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。
2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。
3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。
4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
5.软件测试时为了___发现错误_____而执行程序的过程。
6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。
7.面向对象分析是对系统进行___需求分析_____的一种方法。
8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。
9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。
10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。
11.常用的面向对象的软件过程模型是__喷泉模型_____。
生命周期模型A.瀑布模型(规范化,阶段性取得前进)B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡)C.原型模型(快速,线性顺序,不带反馈环)D.增量模型(产品分解为一系列增量构件,开发中逐步加入)E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估)12.面向对象的分析阶段建立的系统模型不包括____数据模型____。
有对象模型、动态模型、功能模型13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。
措施:建立质量保证制度、改进程序文档质量、明确软件质量标准14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。
15. 可行性分析研究的主要目的是项目是否值得开发16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合)A.控制耦合B.内容耦合C. 数据耦合D. 特征耦合17.需求分析是回答系统必须(D做什么)的问题。
一、填空题(每空1分,共20分)1.软件生存周期一般可以划分为,需求分析、____________、____________、_______________和维护。
2.软件管理主要包括软件生命周期中的__________、__________、____________和组织管理。
3.可行性研究,应从技术可行性、、操作可行性、和法律可行性等方面研究分析。
4.在软件系统边界确定方面,从接口方面考虑,主要考虑_________、____________、_____________和____________四个方面。
5.软件成本估计中已经发展有一些价格估算模型,公式为____________。
6.形式语言是一种符合化,规范化的语言。
其语义无__________。
7.规格说明书应该严格,精确,同时又要容易为用户和软件设计人员理解。
目前,普遍流行的有三种语言___________、____________、___________。
8.数据流图的基本四种成分:数据的源点和终点___________、___ 、和。
9.在软件详细设计中,过程细节说明工具有三种:图形工具、__________和语言工具。
10.软件程序测试技术通常分为静态测试和___________两种:后一种又可分为__________和__________。
11.动态分析方法的动态测试包括三部分______________、执行程序与_______________。
12.软件维护按维护的内容来分,分为四种类型的维护:_______________、________________、_________________和________________。
13.软件工程开发模型中的清洁房间模式的关键技术方法是结构化程序设计+ ______________ + 验证。
14._________现实世界的一个组成部分,被映像到软件域中。
选择:1.软件危机出现于____,为了解决软件危机,人们提出了用工程的原理来设计软件,这是软件工程诞生的基础。
《软件工程》课程复习资料一、单项选择题:1.下面哪些UML图描述系统行为?()A.用例图B.类图C.对象图2.属于概要设计活动的是()A.软件结构设计B.数据结构设计C.算法设计3.属行为型设计模式的是()A.组合模式B.工厂方法模式C.观察者模式4.下列说法正确的是()A.UML 是软件开发方法B.UML是系统描述语言C.UML是软件开发过程5.根据程序流程图划分的模块通常是()A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为()A.m-1B.mC.m+17.按ISO9000-3的说明,下列属软件配置项的是()A.软件开发方法B.软件开发组织管理制度C.软件开发合同8.软件测试的目的是()A.证明软件无错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是()A.软件体系结构B.模块细节C.软件性能10.软件项目开发计划的内容有()A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的有()A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价()A.软件过程能力B.组织能力C.学习能力13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()A.完善性维护B.改正性维护C.适应性维护14.对项目软件而言,软件功能需求信息主要由谁提供()A.软件用户B.软件开发人员C.软件项目管理人员15.IDEF0 图反映不出()A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是一种什么开发过程模型()A.自顶向上B.由外至内C.增量式17.系统流程图描述()A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括()A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型有()A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的有()A.组件图B.顺序图C.状态图21.面向对象方法是一种什么软件开发方法()A.层次化B.迭代增量式C.逐步求精22.不可以用来衡量软件可维护性的有()A.可靠性B.可用性C.可行性23.系统分析员在需求分析最后负责编写()A.用户手册B.概要设计说明书C.可行性研究报告24.为了提高软件的可靠性、可维护性等而对软件的修改称为()A.改正性维护B.适应性维护C.预防性维护25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构()A.与问题结构对应B.与问题结构独立C.与用户界面对应26.单元测试的计划应该在什么阶段完成?()A.需求分析B.概要设计C.详细设计27.下列属面向对象软件开发方法的有()A.LCP 方法B.OMT 方法C.IDEF0 方法28.强调信息隐藏的软件工程设计方法有()A.Jackson 方法B.Parnas 方法C.SA/SD 方法29.描述系统动态行为的模型有()A.包图B.软件结构图C.状态图30.考虑输入条件组合的测试用例设计方法有()A.等价分类法B.语句覆盖法C.因果图法31.下列能减少支援性维护活动的有()A.利用软件包B.进行配置管理C.对用户进行适当培训32.只支持单重继承的程序设计语言有()A.C++B.DelphiC.C33.IDEF0 图的顶层图是()A.A0 图B.A-0 图C.A-1图34.在UML 的用例图中,扩展关系是一种()A.泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的方法是()A.基于经验模型的估计B.自底向上估计C.自顶向下估计37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的()A.全部属性B.主关键字属性C.非主关键字属性38.结构化分析方法使用的工具有()A.数据流图B.类图C.软件结构图39.白盒测试设计用例的方法是()A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是()A.可维护性好B.可用性好C.满足用户功能需求41.瀑布模型是一种()A.演化模型B.顺序模型C.增量模型42.模块的独立程度可以由什么定性标准度量?()A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有()A.继承B.多态C.封闭44.面向数据结构的设计方法有()A.Parnas 方法B.Jackson 方法C.IDEF0 方法45.与UML配合最好的软件开发方法是()A.RUP 方法B.Coad/Yourdon方法C.IDEF4方法二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和。
软件工程复习题及答案选择题1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性2.软件维护产生的副作用,是指( C )A.开发时的错误B.隐含的错误C.因修改软件而带来的错误D.运行时误操作3.软件详细设计的主要任务是确定每个模块的( A )A.算法和使用的数据结构 B.外部接口 C.功能 D.编程4.为了提高模块的独立性,模块内部最好是( C )A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚5.软件是一种( C )A.程序B.数据C.逻辑产品D.物理产品6.下列那个模型不是面向对象的分析中建立的模型( B )A.对象模型B.瀑布模型C.动态模型D.功能模型7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于A.集成测试B.恢复测试C.验收测试D.单元测试8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D )A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系9.程序的三种基本控制结构是( B )A.过程、子过程和分过程B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移10.软件生存周期中时间最长的是( D )阶段A.总体设计B.需求分析C.软件测试D.软件维护11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要的。
A.需求说明B.概要设计C.软件文档D.测试计划12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。
A.继承性B.共享性C.封装性D.抽象性13.单元测试是发现编码错误,集成测试时发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现( C )错误。
A.接口错误B.编码错误C.性能、质量不合要求D.功能测试14.软件工程管理对软件项目的开发管理,即对整个软件( B )的一切活动的管理。
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。
A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。
A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。
A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。
A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。
A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。
A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。
A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。
A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。
A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。
A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。
A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。
考研软件工程试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。
A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。
A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。
A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。
A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。
答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。
2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。
3. 请解释什么是软件重构。
答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。
4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。
四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。
一、填空题1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个入口和一个出口。
2.程序的三种基本控制结构的共同特点是。
(单入口单出口)3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构)4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。
5.计算机程序及其说明程序的各种文档称为。
(软件)6.软件是、和(程序、数据、相关文档)的完整集合。
7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。
8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文档)的编制是很重要的。
9.软件工程方法学有3大要素、工具、。
(方法、过程)10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。
11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。
(软件应当做什么)12.软件开发活动的顺序是_________。
(问题定义、可行性研究、需求分析、设计、编码和测试)13.软件需求分析的任务包括_________。
(问题分析、信息域分析、确定程序结构)14.最早提出软件系统维护问题的阶段是_________。
(需求分析)15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。
16.“软件危机”是指________ 。
(软件开发和维护中出现的一系列问题)17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。
18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产生的。
19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。
20.瀑布模型本质上是一种________ 模型。
(线性顺序)21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发方法。
22.瀑布模型的主要特点是_________。
(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型)23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。
24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境)25.可行性研究的目的是______。
(确定系统是否值得开发)26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的_________。
(8%)27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方面进行分析。
28.数据字典是用来定义_________中的各个成份的具体含义的。
(数据流程图)29.结构化程序设计的一种基本方法是_________。
(逐步求精法)30.结构化分析方法式一种面向(数据流)的开发方法。
31.结构化程序设计,主要强调的是______。
(程序的可理解性)32.SD(结构化设计)方法设计的结果是_________。
(模块结构图)33.结构化方法总的指导思想是_______(自顶向下)逐层分解。
34.PDL(过程设计语言)是描述处理过程_________。
(怎么做)35.PDL是一种_________语言。
(过程设计语言)36.软件测试的目的_________。
(发现程序中的错误)37.测试用例是一组。
(测试用的数据以及对用的预期结果)38.一般来说,与设计测试数据无关的文档是。
(项目开发计划书)39.为提高测试的效率,应该______。
(选择发现错误可能性大的数据作为测试数据)40._________(白盒)测试时,测试人员必须接触到程序源代码。
41.确认测试也称,它的目标是验证软件的。
(验收、有效性)42.黑盒测试在设计测试用例时,主要需要研究。
(需求规格说明与概要设计说明)43.白盒测试又称为,按照程序的测试程序。
(逻辑结构测试、内部逻辑)44.在进行软件测试时,首先应当进行_________(单元测试),然后再进行组装测试,最后进行有效性测试。
45.下列属于静态测试方法的是_________(人工检测)。
关于软件测试的目的,_________。
(为了发现错误而执行程序的过程、一个好的测试用例能够发现至46.今尚未发现的错误、一个成功的测试用例是发现了至今尚未发现的错误的测试)47.测试的关键问题是________ 。
(如何选择测试用例)48.大型软件测试包括______(单元测试)、_______(集成测试)、确认测试和____(系统测试)四个步骤49.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(性能、质量不合要求)的错误50.模块的耦合性可以按照耦合程度的高低进行排序,正确次序是_________。
(无直接耦合,数据耦合,控制耦合,内容耦合)51.模块的内聚性用于衡量模块内各组成部分之间彼此结合的紧密程度,按照内聚程度的从低到高进行排序,依次为_________。
(偶然内聚、逻辑内聚、通信内聚、功能内聚)52.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________(偶然内聚)。
53.软件模块内聚性最强的是_________。
(逻辑内聚)54.为了提高模块的独立性,模块之间最好是________ 。
(内容耦合)55.如果对象之间的耦合是通过_________(消息机制)来实现的,那么这种耦合就是交互耦合。
56.划分模块时尽量做到________(高内聚、低耦合),保持模块的独立性。
57.对类进行详细设计,主要是设计类的_________(属性和方法),优化类之间的关系。
58.数据流程图的主要作用是_________。
(描绘系统的逻辑模型)59.一般维护程序代码的策略是_________。
(根据维护申请读源程序,并修改)60.UML是一种语言。
(面向对象建模语言)61.面向对象分析和设计的界限是(模糊的),从分析到设计师一个逐渐扩充模型的过程。
62.数据模型(E-R图)中主要涉及到的信息有数据实体、和。
(属性、联系)63.人机界面设计中的系统响应时间的重要属性有长度和。
(易变性)64.软件再工程过程实质上就是维护过程。
(预防性)65.为了提高软件的可维护性,在编码阶段应注意。
(养成好的程序设计风格)66.画某系统的数据流图时,顶层图有_________。
(1张)67.软件详细设计阶段的任务是_________(算法与数据结构设计)。
68.可维护软件的主要特性包括_________。
(可理解性、可修改性、可移植性)69.在制定项目开发计划文档时,包含的内容是_________。
(项目概述、实施计划、交付期限)70.软件部件的内部实现与外部可访问性分离,这是指软件的______(封装)。
71.用来模拟被测模块的上级调用模块的模块称为_______(驱动模块)。
72.软件复杂性度量的参数很多,主要有规模、_______(难度)、结构、智能度。
73.软件开发环境中最主要的组成部分是______(软件工具)。
74.软件维护困难的主要原因是( 开发方法的缺陷)。
75.可维护性的特性中,相互矛盾的是(效率与可修改性)。
76.与维护人员有关的文档有(概要设计说明书)77.类的实例化是________。
(对象)78.向对象发出服务请求称为______(接口),类对象上的各种操作称为_______(方法)。
79.在面向对象方法中,对象实现了数据和操作的结合,使数据和操作_____(封装)于对象的统一体中。
80.软件生存周期是指一个软件从提出开发要求开始直到_______(该软件报废)为止的整个时期。
二、判断题1.测试最终是为了证明程序无错误。
(F )2.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(F )3.用黑盒法测试时,测试用例是根据程序功能设计的。
(F )4.在测试用例时,应包括合理的测试条件和不合理的输入条件。
(T )5.程序测试只能证明错误的存在,但不能证明错误不存在。
(T )6.在整个测试过程中,增量式组装测试所需时间比非增量式测试时间多。
(F )7.测试是为了表明程序是正确的。
(F )8.软件测试是为了发现错误而执行程序的过程。
(T )9.可维护性复审紧在维护阶段进行。
(F )10.验收测试依据系统需求规格说明书。
(T )11.软件维护的对象是程序代码。
(F )12.软件维护前必须由用户填写维护要求表。
(T )13.软件维护的对象是程序代码。
(F )14.在一个正在工作的软件上重新开发一个大型程序是一种浪费。
(F )15.好的测试方案是能够发现迄今为止尚未发现的错误的测试方案。
(T )16.程序员应避免检查自己的程序。
(T )17.验收测试依据系统需求规格说明书。
(T )18.使用了形式化的说明技术后就能保证说明的完整性了。
(F )19.成功的测试是发现了至今为止尚未发现的错误的测试。
(T )20.应长期保留测试用例,直至系统废弃。
(T )三、简答题1.可行性研究的目的是什么?可行性研究的内容是什么?2.模块设计的优化准则是什么?3.软件危机的典型表现有什么?4.什么是软件生命周期?软件生命周期划分为几个时期几个阶段?5.什么是需求分析?需求分析的具体任务是什么?6.简述系统设计采用模块化的优点。
7.UML的使用准则是什么?8.简述确认测试中软件配置复查的测试内容。
9..软件生存周期可以分为几个阶段,每个阶段的提交物是什么?10.结构化分析的描述工具有哪些?简述结构化分析的步骤。
11.什么是黑盒测试法?常用的黑盒测试方法有哪些?12.简述面向对象的特征。
13.简述增量模型和瀑布模型的本质区别。
14.简述设计一个容错系统的步骤。
15.简述在项目开发时,选择程序设计语言应考虑因素。
四、应用题1.下面是用PDL写出的程序,请画出对应的程序流程图、PAD图和N-S图。
While T doIf A>0 thenA1If B>0 then B1 else B2 endifElse A2 endifIf C>0 then C1 else C2 endifEndifA3Endwhile2.下面是用PDL写出的程序,请画出对应的程序流程图、PAD图和N-S图。
While T doIf A>0 then A1 else A2 endifIf B>0 then B1If C>0 then C1 else C2 endifelse B2 endifA3endwhile3.某公安报警系统在一些公安重点保护单位(如银行、学校等)安装了报警装置,工作过程如下,一旦发生意外,事故发生单位只需要按报警按钮,系统立即向公安局发出警报,自动显示报警单位的地址、电话号码等信息。