《软件工程》打印--大题作业
- 格式:docx
- 大小:463.49 KB
- 文档页数:17
《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答: 软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
《软件工程》试题(第6套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
软件工程作业及参考答案第五、六章一、填空题1.详细设计的工具有(图形工具)、表格工具和语言工具。
2.为使用流程图描述结构华程序,限制流程图有五种基本的控制结构(顺序型)、(选择型)、(while型循环)、until循环、多情况型选择。
3.HIPO图是由一组(IPO)图和一张(HC)图组成。
4.IPO图由(输入)、处理和(输出)三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
5.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。
面向对象方法是一种运用(对象)、(类)、(封装)、(聚合)、消息传送、多态性等概念来构造系统的软件开发方法。
6.面向对象的软件工程方法是面向对象方法在(软件工程)领域的全面应用。
7.UML的定义包括(UML语义)和(UML表示法)两个部分。
二、判断题1.详细设计是在概要设计之后进行的。
它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。
(√)2.程序设计语言中应绝对禁止使用GOTO语句。
(╳)3.PAD图在设置了五种基本的控制结构后,还允许递归调用。
(√)4.UML设定的目标之一是运用面向对象概念来构造系统模型。
(√)5.类是关于对象性质的描述,由方法和数据集成。
(√)三、简答题1.详细设计的任务是什么?参考答案:1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;2.确定每一模块使用的数据结构;3.确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。
2.根据伪码画出N-S图。
STARTIF A THENBLOCKBCEND BLOCKEND IFSTOP3.根据伪码画出N-S图。
软件工程大作业(2)(答案)软件工程作业第二部分一、填空1.结构化分析方法的分析策略是___自顶向下逐步求精_______。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。
3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。
4.继承性是子类自动共享其父类的__数据结构和方法____________机制。
5.在面向对象方法中,人们常用状态图描述类中对象的___动态行为________。
6.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为____容错_____软件。
7.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。
9.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。
10.对象之间进行通信叫做__消息_____。
11.计算机辅助软件工程这一术语的英文缩写为_CASE_______。
12.McCall提出的软件质量模型包括______11________个软件质量特性。
13.为了便于对照检查,测试用例应由输入数据和预期的___输出结果____两部分组成。
14.软件结构是以____模块__________为基础而组成的一种控制层次结构。
15.结构化语言(PDL)是介于自然语言和____形式语言____之间的一种半形式语言。
16.软件概要设计的主要任务就是__软件结构的设计______。
17.结构化程序设计方法是使用___三种基本控制结构____构造程序。
18.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个__自底向上或相反顺序 _____集成的过程。
19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_____。
二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2.面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
一.单项选择题答题要求:下列各题,只有一个符合题意的正确答案,多选、错选、不选均不得分。
1.(2分)软件生命周期一般被划分为若干个独立阶段,其中占用精力和费用最多的是()。
A.运行和维护阶段B.设计阶段C.代码实现阶段D.测试阶段参考答案:A2.(2分)软件危机具有下列表现()。
I.对软件开发成本估计不准确:II.软件产品的质量往往靠不住:III.软件常常不可维护:IV.软件成本逐年上升A.I、II 和IIIB.k III 和IVC.Ik III和IVD.以上都正确参考答案:D3.(2分)下列属于软件的特点的是()。
A.软件是一种逻辑实体,具有抽象性B.软件在使用过程中没有磨损、老化的问题C.软件不同于一般程序,它的一个显箸特点是规模庞大,复杂程度髙D.以上都正确参考答案:D4.(2分)软件开发技术不包含()。
A.软件开发方法学B.软件工程环境C.软件工具D.软件质量度量参考答案:D5.(2分)(?)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型参考答案:A6.(2分)产生软件危机的原因可能有()。
I .用户的需求描述不精确、不确肚:II.对大型软件项目的开发往往缺乏有力的组织和管理;III.缺乏有力的方法学和工具的支持;IV.软件产品的特殊性和人类智力的局限性A」和IIB.I、II和1VC.IL III和1VD.以上都正确参考答案:D7.(2分)软件工程的出现是由于()。
A.软件危机的出现B.汁算机硬件技术的发展C.软件社会化的需要D.汁算机软件技术的发展参考答案:A8.(2分)下列不属于软件工程方法学三要素的是()。
A.方法B.工具C.过程D.操作参考答案:D9.(2分)在E-R模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、对象、属性D.实体、属性、联系参考答案:D10.(2分)系统技术可行性研究所涉及的技术应该是()技术。
作业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. 软件工程过程有哪几个基本过程活动?试说明之。
根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。
BEGIN T:=0IF ( X>=80 AND Y>=80 )THENT:=1ELSE IF ( X>=90 AND Y>=75 ) THENT:=2ENDIF END.答案:开始T=0X ≥80AND y ≥80T=1X ≥ AND y ≥75T=2结束YNY N经化简后的测试用例:x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;一、应用题2一个城市的公共事业部决定开发一个“计算机化的”坑洼跟踪和修理系统。
市民通过本系统报告有坑洼时,要说明街道地址、大小、影响程度,还要记录报告者的姓名和电话,存储在坑洼报告信息中,被送到公共事业部,工作人员根据坑洼的地点和大小,修理队标识号,修理队的人数,被分配的装备,制定一份工单,送到维修队。
维修队修理后,将坑洼修理信息上报公共事业部的工作人员,包括:修理坑洼状况,使用填料的数量和修理的开销(时间、人数、使用的材料、装备)。
请画出数据流程图,并写出工单的数据字典。
市民报告坑洼信息IPO01DS01DS03坑洼信息工单信息坑洼信息坑洼信息坑洼信息工单信息维修单位信息维修结果录入IPO03生成工单IPO02生成维修报告IPO04DS02维修单位信息维修信息DS04坑洼维修信息工单信息坑洼维修报告制定工单指令坑洼信息公共事业部维修单位维修信息工单数据字典 数据项 类型 长度 初始值 备注 工单号 字符 8 自动生成 主键 坑洼编号 字符 8 DS01的主键 维修单位编号 字符 8 DS02的主键 制单日期 日期 8 当前日期 制单人 字符 8 工单描述 字符 500 工单级别 数字 1 0 计划工时 数字 2 0计划用填料量 数字 5 0 单位(吨)附加题:1、对下列子程序进行调试:procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then x:=x/y; if (y=2) or (x=l) then x:=x+l; end.该子程序接受x, y, z 的值,并将计算结果x 的值返回给调用程序。
作业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. 软件工程过程有哪几个基本过程活动?试说明之。
四、设计DFD图(10分)一个飞机机票预订系统,功能为旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间及目的地等)输入机票预订系统。
系统为旅客安排航班,打印出取票通知单(付有应交的账款)。
旅客在飞机起飞的前一天凭取票通知等交款取票,系统检验无误,输出机票给旅客。
请画出该系统的DFD图。
机票设计测试用例(10分)某城市的电话号码由三个部分组成。
这三部分的名称与内容分别是:1、地区码:空白或3位数字;2、前缀:非“0”或“1”开头的3位数字;3、后缀:4位数字。
用等价分类法完成如下要求:(1)划分出有效等价类、无效等价类;(2)为有效等价类设计出测试用例。
3.下面是一段求最大值的程序,其中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;}(2)用基本路径覆盖法给出测试路径。
(3)为各测试路径设计测试用例(1)控制流图如下,McCabe环路复杂性为3。
(2)测试路径:Path1:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…(3)测试用例:Path1:取n=1,datalist[0] = 1,预期结果:k=0Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=1五、分析题1.根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEA TELSEBLOCKcdEND BLOCKEND IFSTOP答:.根据下列描述,画出教材征订系统的第一层数据流图。
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量2.在McCall软件质量度量模型中,()属于面向软件产品修改。
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.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能10.结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于( )A.它强调编程风格 B.选择良好的数据结构和算法C.有限制地使用GOTO语句 D.只有三种基本结构11. 在结构化分析方法中,()表达系统内部数据运动的图形化技术。
A 数据字典B 实体关系图C 数据流图D 状态转换图12、()意味着一个操作在不同的类中可以有不同的实现方式。
A 多态性B 多继承C 类的复用D 封装13.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( )A.有形实体 B.作用 C.事件 D.性能说明14.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A.软件工程B.软件周期C.软件危机D.软件产生15. COCOMO模型可用来()A 度量程序复杂程度B 计算软件开发成本C 估计程序的故障总数D 估计软件开发所需时间16.软件结构使用的图形工具,一般采用()图。
《软件工程》试题(第1套)第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
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.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚9.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( ) A.生存期 B.面向对象设计C.面向对象程序设计 D.面向对象分析10.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。
A.需求不确定性高的 B.需求确定的C.管理信息D.实时11、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干()。
A 关键实践B 关键过程域C 软件过程能力D 软件过程12、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程13.下列关于瀑布模型的描述正确的是( )。
⭐自考(02333)软件工程⭐2019年10月试题(带答案)一、单项选择题:本大题共15小题,每小题2分,共30分,在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。
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、如题6图所示,该类的类名是A、ShapeB、oniginC、moveD、display7、属性的可见性指的是,该类的属性是否可以被其他类(类目)所使用,其中表示受保护的符号是A、+B、#√C、-D、~8、下列关于软件接口应用应该注意的问题的叙述,不正确的是A、接口之间没有关联、泛化、实现和依赖,但可以参与泛化、实现和依赖√B、接口可以被其他类目使用,而其本身可以访问其他类目C、接口描述类的外部可见操作,通常是该类的一个特定有限行为D、接口不描述其中操作的实现,也没有属性和状态9、RUP中,分析类分为3种类型,下图属于边界类的是A、B、√C、D、10、RUP的测试活动不包含A、计划测试√B、程序测试C、实现测试D、评价测试11、RUP的业务对象模型为了精化业务用况模型中的每一个业务用况,引入了3个术语,用于表达参与业务的业务对象,其中不包括√A、业务单元B、业务实体C、工作人员D、工作单元12、软件测试主要策略中,具有最低的测试度量的测试策略是A、路径覆盖√B、语句覆盖C、分支覆盖D、条件覆盖与条件组合覆盖13、单元测试关注的是A、模块的组装B、检验是否符合用户所见的文档C、检验系统中所有的元素之间的协作√D、每个独立的模块14、CMMI模型部件中,子实现、典型工作产品和有关该共用实践的精化等CMMI资料性部分,使用以下哪种符号表示?A、B、C、√D、15、集成化能力成熟度模型(CMMI)部件中,可以用于帮助确定一个过程是否得以满足的部件是A、专用实践√B、专用目标C、共用实践D、意图陈述二、填空题(本大题共20空,每空1分,共20分)16、软件工程作为一门学科,其发展可以划分为两个时期:前期主要研究系统实现技术,后期则开始关注软件质量和软件工程管理(顺序可调换)。
软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。
2.软件概要设计的主要任务就是___软件结构的设计___。
3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。
4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。
5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
8.软件结构是以模块为基础而组成的一种控制层次结构。
9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。
10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。
12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。
14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。
15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。
16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。
17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。
18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。
19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。
一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. “软件工程的概念是为解决软件危机而提出的”这句话的意思是 ( )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是 ( )A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是 ( )A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有 ( )A.0 张B.1 张C.2 张D.3 张及其以上5.软件模块内聚性最强的是 ( )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是 ( )A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是( )A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是 ( )A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是 ( )A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran 语言主要作为以下哪个方面的语言 ( )A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是 ( )A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括 ( )A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是 ( )A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是 ( )A.工程网络图B.Gantt 图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是 ( )A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是 ( )A.在 DBMS 上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是 ( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是 ( )A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向 Ada 语言的,并处于面向对象开发方法的奠基性地位( )A.Booch 方法B.Coad 方法C.UML 语言D.OMT 方法二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。
第一部分选择题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、详细设计B、软件编码C、软件测试D、软件维护9、模块的内聚性最高的是( )A、逻辑内聚B、时间内聚C、偶然内聚D、功能内聚10、与确认测试阶段有关的文档是( )A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11. 面向对象分析是对系统进行()的一种方法。
A 需求建模B 程序设计C 设计评审D 测试验收13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为( )。
A、时间内聚B、功能内聚C、信息内聚C、过程内聚15.面向对象技术中,对象是类的实例。
对象有三种成份:( )、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息16.数据字典是用来定义_()中的各个成份的具体含义的。
根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。
BEGIN T:=0IF ( X>=80 AND Y>=80 )THENT:=1ELSE IF ( X>=90 AND Y>=75 ) THENT:=2ENDIF END.答案:经化简后的测试用例: x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;、应用题2一个城市的公共事业部决定开发一个“计算机化的”坑洼跟踪和修理系统。
市民通过本系统报告有坑洼时,要说明街 道地址、大小、影响程度,还要记录报告者的姓名和电话,存储在坑洼报告信息中,被送到公共事业部,工作人员根据 坑洼的地点和大小,修理队标识号,修理队的人数,被分配的装备,制定一份工单,送到维修队。
维修队修理后,将坑 包括:修理坑洼状况,使用填料的数量和修理的开销 (时间、人数、使用的材料、装备)。
请画岀数据流程图,并写岀工单的数据字典。
洼修理信息上报公共事业部的工作人员,数据项 类型 长度初始值 备注 工单号 字符 8自动生成主键坑洼编号 字符 8DS01的主键 维修单位编号 字符 8DS02的主键制单日期 日期 8当前日期制单人 字符 8工单描述 字符 500工单级别 数字 1 0计划工时 数字 2 0计划用填料量数字5单位(吨)附加题:1、对下列子程序进行调试: pro cedure exa mpl e(y,z: real; var x: real) beginif (y>1) and (z=0) the n x:=x/y; if (y=2) or ( x=l) the n x:=x+l;end.该子程序接受x, y, z 的值,并将计算结果x 的值返回给调用程序。
答题要求:(1) 画出流程图。
(2) 用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。
答:(1)流程图坑洼信息DS01坑洼信息 DS03工单信息工单信息制定工单指令坑洼信息*TIPO02生成工单维修单位信息工单信息洼 维 修 报 告DS02 维修单位信息(2)用白盒法中条件组合覆盖设计测试用例:① ② ③ ④3、对以下程序进行测试:PROCEDURE EX ( A ,B : REAL ; VAR X : REAL ); BEGINIF (A=3 ) OR ( B> 1 ) THEN X : =A X B IF (A>2 ) AND (B=0 ) THEN X : =A — 3 END先画出程序流程图。
1)合理等价类4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修 (1) 按等价分类法设计测试用例(要求列出设计过程) (2) 按边缘值分析法设计测试用例。
答:1至3门课程,试用黑盒法设计测试用例。
y=2, z=0, x=4; y=2, z=1,x=1; y=1,z=0,x=2; y=1, z=1,x=1.再按不同逻辑覆盖法设计一种(写出名称)测试数据。
选修1门选修2门选修3门 不合理等价类 没选课 选3门以上 测试用例 选修=2 选修=0 选修>32)边缘值法0, 1 , 3, 4 5、设被测试的程序段为: begins1 ;if (x=0) and (y>2) the n s2; if (x<1) or (y=1) then s3 ; s4 ; end可供选择的测试数据组为:2 11)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。
⑵4、高考录取统分子系统有如下功能:-13w找出实现( 答:(1) II , w (3) I , n(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
试根据要求画出该系统的数据流程图,答:(1)数据流图:图书馆的预定图书子系统有如下功能: 由供书部门提供书目给订购组。
订书组从各单位取得要订的书目。
根据供书目录和订书书目产生订书文档留底。
将订书信息(包括数目,数量等)反馈给供书单位。
将未订书目通知订书者。
对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
答:(1)数据流图:并将其转换为软件结构图。
5、(1)⑵ ⑶ ⑷⑹软件结构图:3——归类书目.订书恬細-7——订书书B 8 12, 15——S新书目14 B类书目5——讦书竜单已讦书H 9 ---- F 7F S —iT 锚&row 供书书MII供书单ferow订单消底检件n 订筆理15KNI供卩单備(2)软件结构图:ffiiT岳统主威Sir书目®理旧类社理归堯书目1 1H 输出订11回収再供収■得靈职得已处S归13st理归书目录卬书目H书目背类书a1粪书目I6、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。
答:变换型事务型动作1都分w専务屮心爭务分析动作311[接堂事务调度摸块1输出模块11 1 11动作1动作2 1动作a事务中巧]Ir 2——fSiT书目6——书书冃10——fi讦书B输出模块附加题:1、自学考试报名过程中有个“记录报名单”的加工。
该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中 (准考证号、姓名、课程)。
请绘制该加工的DFD 图,并写出数据词典中的数据流条目。
答:数据流词典 数据流条目:报名单=姓名+性别+身份证号+课程名 开考课程=课程名+开考时间 考生名册=准考证号 +姓名+课程2、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生 “项目参加者”,如下图所示,运动员名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。
请写出这三个数据流条目。
运动员名单=队名+运动员号+姓名+ 项目=项目名 项目参加者=项目名+ {运动员号}7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455, 466,楼出传入 总控糧块I3、某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从 区号和市话号码组成。
{项目}888, 552中任意一个号码。
分局号是任意长度为 4的数字串。
要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。
答:电话号码=分机号I 外线号码 分机号=7201 (7299)外线号码=9+ [市话号码I 长话号码] 长话号码=区号+市话号码 区号=100...300 市话号码=局号+分局号 局号=:455 I 466 I 888 | 552:分局号=4{数字}41-3是购买硬件,9-10是用户测试。
画出完整的PER 图(标出EET, LET ,和每个作业的机动时间);找出关键路径及完成该项目的最短时间;5-7是撰写手册,5-6是转化,7-9是培训,⑴⑵ 答:3-5是安装,《软件工程》应用题四、应用题(每小题10分*3=30)1.某培训中心要研制一个计算机管理系统。
它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。
(1)学生文件、 (2) 注销单。
(3) 要求:(1) 对以上问题画岀数据流程图。
(2) 画岀该培训管理的软件结构图。
解答:(1)数据流图2.建立窗口系统的对象模型,问题陈述如下: “窗口分为对话窗、图形窗、滚动窗三种。
对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。
图形窗中有若 干形状元素,形状元素分为一维形状和二维形状。
一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩 形、多边形,其中折线与多边形由若干有序顶点组成。
正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动 窗。
” 解答:(泛化关系)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在 课程文件上登记,并开岀报告单交财务部门,财务人员开岀发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。
a=0 a=-5 a=-5 ⑺ a=5b=0b=-1b=1b=-1b=1 (8) a=5a=0 a=0a=0 b=1 b=-1 b=-13. 假设某航空公司规定,乘客可以免费托运行李的重量不超过 30公斤。
当行李的重量超出 30公斤时,对一般 舱的国内乘客超重部分每公斤收费 4元,对头等舱的国内乘客超重部分每公斤收费 6元。
对国外乘客 超重部分每公 斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
试画出相应判定表。
4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。
(1) a=5b=1⑵a=5b=-1⑶a=5b=1⑷a=5b=1a=-5 b=-1a=0 b=-1⑸a=5 b=-1 (6) a=5 b=1a=-5 b=1a=-5 a=-5 a=-5流程图如下:解答:达到判定覆盖为( 达到条件覆盖为( 达到判定/条件覆盖为(6);达到条件组合覆盖为(8); 达到路径覆盖为(7)。
7.某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码) 、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存 款时未留密码,则系统计算利息并印出利息清单给储户。
请用数据流图描绘本系统的功能,并画出系统的解答:DFD 图:b=1 b=1b=-14);E-R 图。
ER图:(2)条件组合覆盖设计测试用例① y=2, z=0, x=4; ② y=2,z=1,x=1; ③ y=1,z=0, x=2; ④ y=1, z=1, x=1.9.自学考试报名过程中有个“记录报名单”的加工。
该加工主要是根据报名表 程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报 考证号、姓名、课程)。
请绘制该加工的DFD 图,并写出数据词典中的数据流条目。
解答:(1)DFD图:&请对下列子程序进行测试:pro cedure exa mpl e(y,z: real; var x: real) beginif (y>1) and (z=0) the n x:=x/y; if (y=2) or (x=l ) then x:=x+l; en d.该子程序接受x, y, z 的值,并将计算结果 要求:(1) 画出程序流程图。