09-10-1-软件工程A卷--解答
《软件工程》试卷A参考答案
《软件工程》课试题A卷参考答案一、基本概念:(每题4分,共20分)1、计算机辅助软件工程:如果把一系列的工具集成起来使用,使得一个工具产生的信息可以被另一个工具使用时,就形成了一个支撑软件开发的系统。
这种集成了软件、硬件和一个软件工程数据库的软件工程环境,称为计算机辅助软件工程(CASE)。
2、通信内聚:若一个模块的各个部分使用同一个输入数据或产生同一个输出数据,则称该模块的内聚为通信内聚。
3、编码风格:是指在不影响程序正确性和效率的前提下,有效编排和合理组织程序的基本原则。
4、流图分析:是通过分析程序流程图的代码结构,来检查程序的语法错误信息、语句中标识符引用状况、子程序和函数调用状况及无法执行到的代码段。
5、软件配置:软件过程的输出包括三个主要得类别,程序、文档及数据,这些项包括了在软件过程中产生的信息,总称为软件配置。
二、判断题:(每题1分,共10分,正确为“√”,错误为“×”。
)1、(×)2、(×)3、(√)4、(×)5、(×)6、(√)7、(√)8、(×)9、(√)10(√)三、填空题:(每空1分,共20分)1、(计算潜能),(创建和控制)。
2、(外在条件导致的“磨损”和“老化”),(在设计开发过程中留有隐患)。
3、(项目策划),(需求分析)。
4、(人的记忆),(思维和推理)。
5、([ | ]或[ ,])6、(功能),(程序代码)。
7、(可移植性),(语言编译器实现效率),(开发工具的支持)。
8、(恢复性测试),(强度测试)。
9、(执行某一处理),(回答某些信息)。
10、(植入故障数),(分别测试法)。
四、选择题:(每题1分,共20分)1、(B)2、(A)3、(C)4、(A)5、(B)6、(C)7、(B)8、(D)9、(B)10、(C)11、(A)12、(D)13、(C)14、(B)15、(A)16、(D)17、(B)18、(A)19、(B)20、(C)五、简述题:(每题4分,共16分)1、采用框架技术进行软件开发的主要特点:答:(1)领域内的软件结构一致性好;(2)建立了更加开放的系统;(3)重用代码大大增加,软件生产效率和质量得到了提高;(4)软件设计人员要专注于对该领域的了解,使需求更充分;(5)存储了经验,可以让经验丰富的人员去设计框架和领域构件,而不是设计低级编程;(6)允许采用快速原型技术;(7)有利于在一个项目内多人协同工作;(8)大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性,灵活性增强。
天津科技大学2009-2010年第二学期软件工程考试试卷A-卷(含答案)(国际学院)
一、单项选择题(请将每小题最合适的答案的代码写在答题纸的相应位置,写在试卷上无效,共30分,每小题1分)1.“软件危机”是指( C ) 。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统2.下列关于功能性注释不正确的说法是( B )A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或缩进,以便很容易区分注释和程序D. 修改程序也应修改注释3.结构化维护与非结构化维护的主要区别在于( D )A. 软件是否结构化B. 软件配置是否完整C. 程序的完整性D. 文档的完整性4.软件的可行性研究中不包括( D )A.法律可行性B.技术可行性C.经济可行性D.政治可行性5.以下不属于白盒测试技术的是( D )A.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分6.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为( D )。
A.纠错性维护B.适应性维护C.改善性维护D.预防性维护7.盒图也称为( D )或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A.流程图B.框图C.判定表D.N-S图8.在结构化程序设计当中,不建议使用( D )。
A.分支语句B.循环语句C.子程序调用语句D.转向语句9.软件是( C )。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统10.软件测试的目标是( B )。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同11.详细设计的基本任务是确定每个模块的( D )设计A.功能 B.调用关系 C.输入输出数据 D.算法12.内聚程度最低的是( A )内聚A.偶然B.过程C.顺序D.时间13.需求分析的产品是( D )A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书14.模块的内聚性最高的是( D )A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚15.系统流程图用于可行性分析中的( A )的描述。
软件工程试卷(附答案)
软件工程试卷(附答案)1.软件生命周期模型有多种,其中不属于软件生命周期模型的是(C)功能模型。
2.下列说法错误的是(C)瀑布模型和增量模型都属于整体开发模型。
3.可行性分析中,系统流程图用于描述(A)当前运行系统。
4.研究软硬件资源的有效性是进行(A)技术可行性研究的一方面。
5.数据字典中,一般不包括下列选项中的(D)源点与终点条目。
6.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。
7.通过(B)功能分解可以完成数据流图的细化。
8.对软件进行分解,是为了(C)降低模块的复杂程度,并降低模块间接口的复杂程度。
9.为了提高模块的独立性,模块内部最好是(C)功能内聚。
10.在软件结构设计完成后,对于下列说法,正确的是(C)一个模块的扇出太多,说明该模块过分复杂,缺少中间层。
11.在软件开发过程中,以下说法正确的是(B)N-S图不可能任意转移控制,符合结构化原则。
A.软件开发过程是线性的B.软件开发过程是迭代的C.软件开发过程是风险驱动的D.软件开发过程是需求驱动的3、软件需求分析的主要任务是(ABC)。
A.确定用户需求B.建立系统模型C.规定系统功能D.编写程序代码4、以下属于软件设计阶段的活动是(BCD)。
A.编写用户手册B.确定模块划分C.设计系统结构D.选择数据结构和算法5、软件测试的主要目的是(ABD)。
A.发现软件缺陷B.提高软件质量C.证明软件正确性D.评估软件可靠性6、软件维护的主要种类有(ABC)。
A.纠错性维护B.适应性维护C.完善性维护D.重构性维护7、以下属于软件过程改进的方法是(ACD)。
A.引入新的开发方法B.增加人员数量C.培训人员D.引入新的工具和技术8、以下属于软件质量特性的是(ABCD)。
A.可靠性B.可维护性C.可用性D.可重用性9、软件工程的基本原则包括(ABCD)。
A.逐步求精B.分阶段进行C.严格控制D.重视质量10、以下属于软件开发生命周期模型的是(ABCD)。
《软件工程》试题A(参考答案及评分标准)
计算机科学与技术学院2007-2008第2学期20XX级《软件工程》试题(A卷)20XX年6月20日参考答案及评分标准一.单项选择(每空1分,共30分。
每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。
答题纸上没写清楚题号的、错选、漏答和多选的不得分。
)1B 2A 3D 4C 5C 6C7A8B9D10A11C12D13A14B15B16D17A18D19D20D21B22C23A24A25B26C27B28A29B30D二.判断对错(对的写“T”,错的写“F”,在答题纸上每五个写一行。
每题1分,共20分,判断错误、漏答的不得分。
)F T F F TF F F T FF T F T F三.简答题:(每题5分,共25分)1. 简述瀑布模型的内容和特点。
特点(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(3)质量保证的观点(说明:不需要画图,8个阶段错3个去1分,最多去3分,顺序错去3分。
3个特点错一个不去分,错两个去1分,错3个去2分。
如果把6写成编码与单元测试,7写成集成测试,也对)2. 什么是软件维护,软件维护有哪些主要类型?试分别说明之。
软件维护:就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
(1分)改正性维护:诊断和改正测试遗留的错误;(1分)适应性维护:使软件适应外部环境、数据环境的变化;(1分)完善性维护:满足客户对软件功能、性能改进的要求;(1分)预防性维护:为提高软件的可维护性、可靠性而进行的重新设计、编制、测试;(1分)3. 什么是软件可靠性和可用性?假设用R(t)表示软件可靠性函数,A(t)表示软件可用性函数,对于允许修复并有一定修复能力的部门,R(t)≥A(t)成立还是A(t)≥R(t)成立?软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。
(2分)软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。
软件工程AB卷答案
《软件工程》试卷答案A卷答案:一.填空1、①与软件本身的特点有关;②如软件开发的方法与维护不正确有关。
2、数据流3、图形4、结构测试功能测试5、伪玛,软件设计语言。
6、为了解决这个问题,目标系统必须做什么?7、软件需求规格说明书8、PAD图、判定表、判定树和PDL语言任意写出三种即可。
9、数据结构10、功能二.判断1、×2、√3、√4、×5、×6、√7、√8、×9、√10、×三、选择题1、C2、A3、C4、B5、D6、D7、D8、B9、B 10、A四、1、简述原型法的基本思想:答:用交互的、快捷建立起来的原型取代规格说明,用户通过再计算机上运行、使用这个原型系统了解系统的概貌,想开发者提供反馈意见。
2、什么是软件危机?答:软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。
概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、简述软件测试的步骤,简要说明各测试步骤的目的。
答:软件系统的测试基本上由以下几个步骤组成:模块(单元)测试,目的是保证第个模块作为一个单元能正确执行。
子系统测试,目的是把经过单元测试的模块放在一起形成一个子系统,测试模块相互间的协调和通信。
系统测试,在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合要求。
验收测试,目的是验证系统确实能够满足用户的要求。
4、需求分析的任务是什么?答:需求分析的主要任务第一、正确地确定对系统综合要求,充分理解和表达用户的需求。
也就是详细定义开发软件的功能、性能、外部接口、设计限制、数据库需求、确定硬件和软件支持环境、辅助软件以及将来可能提出的要求。
第二、通过结构分析的方法对系统进行分解,以确定软件系统的主要成分或软件系统的构成。
第三、是对以上已进行的两项工作进行描述,以形成需求文档,也就是编制“需求规格说明书”。
《软件工程》试卷参考答案
考试试卷课程名称:软件工程一、选择题1、软件是一种实体。
A.有形的C.虚拟的答案:D 2、在一个用面向对象编程语言实现的软件系统中,当一个对象内的一个方法被激活,则称之为向该对象发送-A.命令B.代码C.消息D.数据答案:C 3、在整个软件过程中,哪个阶段花费最长的时间和最多的成本?A.分析B.设计C.实现D.维护答案:D 4、是语义上相连的、由边界符号界定的、由一个聚合标识符标识的一系列程序语句。
A.for 循环B.模块C.if 语句D.文件答案:B 5、好的软件设计,模块应该是。
A.低内聚、高耦合B.低内聚、低耦合C.r¾内聚、低耦合D.高内聚、高耦合答案:C6、针对下面这个用例图,哪个说法是错误的?B.物理 D.逻辑A.学生能够与系统中的用例A交互。
B.用例A的成功执行必须包括用例B的成功执行。
C.如果用例A执行,用例C也必须执行。
D,用例C可能不被激活。
答案:C7、顺序图与协作图都是图。
A.交互B.状态C.协作D.顺序答案:C8、以下关于软件系统中的实体的说法,哪个是正确的?A.实体类必须有属性。
B.实体类必须是实实在在的物理实体。
C.实体类不与逻辑类和边界类打交道。
D,用例图中的参与者是系统的外部,所以参与者肯定不能成为软件系统内部的实体类。
答案:A9、以下哪个是自顶向下实现与集成的缺点?A.逻辑模块得不到充分的测试。
B.操作模块得不到充分的测试。
C.主要设计错误发现的晚。
D.故障隔离。
答案:B10、软件测试oA.谁都能做,不需要计划和技术B.对于高水平的软件开发团队来说是不需要的,或可有可无的C.是紧接在实现阶段后面的一个阶段D.包括可执行测试和非执行测试答案:D11、使软件系统适应新的操作系统而做的维护是维护。
A.纠错性维护B.完善性维护C.适应性维护D.哪个也不是答案:C128、以下哪个软件生命周期模型是最好的?A.瀑布模型B.快速原型模型C,增量模型D.不能简单地比较优劣,要具体情况具体分析答案:D13、多态与动态绑定是所特有的。
山东农业大学09-10-1-软件工程A卷--解答
2009-2010学年第1学期
5、计算机系统工程:是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
二、填空题:(每空1分,共15分)
1、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和___①____。
2、按数据流的类型,结构化设计方法有两种设计策略,它们是变换型设计和_____②______。
用例2:三者取一
输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。
用例3:三者取一
输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。
输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。
模块完成独立的功能并且与其他模块的接口简单,模块间关联和依赖程度尽可能小。
3、白盒盒测试:把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,目的是检查程序中所有逻辑路径是否都按预定的要求正确地工作。
4、逆向工程:指在软件生存周期中,将软件的某种形式描述转换成更抽象形式的活动。
(1)由供书部门提供书目给订购组;
(2)订书组从各单位取得要订的书目;
(3)根据供书目录和订书书目产生订书文档留底;
(完整word版)《软件工程》期末考试试卷A(答案)
—南昌大学考试试卷—【适用时间:20 15 ~20 16 学年第二学期试卷类型:[ A ]卷】请对以上问题,画出分层数据流图2、2、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。
请用等价类划分法设计测试用例。
划分等价类:(5分)设计测试用例:(5分)当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人.于是,我降临在了人间.我出生在一个官僚知识分子之家,父亲在朝中做官,精读诗书,母亲知书答礼,温柔体贴,父母给我去了一个好听的名字:李清照。
小时侯,受父母影响的我饱读诗书,聪明伶俐,在朝中享有“神童”的称号。
小时候的我天真活泼,才思敏捷,小河畔,花丛边撒满了我的诗我的笑,无可置疑,小时侯的我快乐无虑。
“兴尽晚回舟,误入藕花深处。
争渡,争渡,惊起一滩鸥鹭。
”青春的我如同一只小鸟,自由自在,没有约束,少女纯净的心灵常在朝阳小,流水也被自然洗礼,纤细的手指拈一束花,轻抛入水,随波荡漾,发髻上沾着晶莹的露水,双脚任水流轻抚。
身影轻飘而过,留下一阵清风。
可是晚年的我却生活在一片黑暗之中,家庭的衰败,社会的改变,消磨着我那柔弱的心。
我几乎对生活绝望,每天在痛苦中消磨时光,一切都好象是灰暗的。
“寻寻觅觅冷冷清清凄凄惨惨戚戚”这千古叠词句就是我当时心情的写照.最后,香消玉殒,我在痛苦和哀怨中凄凉的死去。
在天堂里,我又见到了上帝。
上帝问我过的怎么样,我摇摇头又点点头,我的一生有欢乐也有坎坷,有笑声也有泪水,有鼎盛也有衰落。
我始终无法客观的评价我的一生。
我原以为做一个着名的人,一生应该是被欢乐荣誉所包围,可我发现我错了。
于是在下一轮回中,我选择做一个平凡的人。
我来到人间,我是一个平凡的人,我既不着名也不出众,但我拥有一切的幸福:我有温馨的家,我有可亲可爱的同学和老师,我每天平凡而快乐的活着,这就够了。
09年试卷含答案
华南农业大学期末考试试卷(A 卷)2009 学年第1 学期考试科目:软件工程考试类型:(闭卷)考试时间:120 分钟1.造成软件危机的主要原因有哪些?1)开发人员不能有效处理大型软件的全部关系和本身的复杂性及漏洞2)软件本身是一种逻辑部件,不像硬件那样容易维护3)缺乏有力的开发方法、技术和工具支持4)与客户的沟通存在困难,需求描述不精确5)开发中的管理不科学2.写出软件生命周期模型的每个步骤。
软件定义时期、软件开发时期、软件运行和维护时期。
3.在项目的问题定义与可行性研究阶段,要做哪几项主要的工作?弄清楚目标系统的用户和边界,根据客户提供的时间和资源进行调查研究,从经济可行性、技术可行性、社会可行性进行研究,评估各种方案,得出结论,完成《可行性研究报告》。
4.解释软件的非功能需求。
非功能需求包括产品必须遵循的标准、规范和合约;外部界面的具体细节;性能要求;质量属性等。
5.软件需求模型应包含哪几个方面的子模型?数据模型、功能模型和行为模型3个层次的子模型。
6.简要阐述软件设计模型包含内容。
数据设计,将系统分析创建的信息域模型变换成软件所需的数据结构体系结构设计,定义软件的主要结构元素接口设计,描述软件内部、软件与协作系统、软件与使用者之间的通信方式过程设计,将软件体系结构的结构性元素变换为软件构件的过程性描述。
7.什么是软件过程设计,软件过程设计有哪些主要的描述工具。
过程设计主要确定每一个构件的内部特征,即模块内部的数据结构和算法细节,主要概述工具有程序流程图、NS盒图、PAD图、判定树和判定表等。
8. 说明信息隐藏的基本原则。
1)模块内部的数据和过程,对于那些不需要这些信息的模块不可访问(隐藏)2)每一个模块中完成一个相对独立的特定功能3)模块之间仅仅交换那些完成系统功能必须交换的信息9. 软件测试的目的是什么?软件测试的目的是以最少的人力、物力和时间投入,尽可能多地发现软件中的各种错误。
10. 软件维护中工作量最大的是哪种维护,并对其概念加以解释。
XXX《软件工程A试卷答案全部
XXX《软件工程A试卷答案全部1.(8分)块间联系和块内联系是评价程序模块结构质量的重要标准。
联系的方式、共用信息的作用、共用信息的数量和接口的友好性等因素决定了块间联系的大小。
在块内联系中,功能内聚的块内联系最强。
SD方法的总的原则是使每个模块执行一个功能,模块间传送数据型参数,模块通过标准调用语句调用其他模块,而且模块间传送的参数应尽量少。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。
SD方法认为,作用范围应该是控制范围的子集。
2.(5分)软件需求分析的任务不应包括确定逻辑模型。
进行需求分析可使用多种工具,但数据词典是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是要让软件做什么。
需求规格说明书的内容不应当包括对算法的详细过程性描述。
该文档在软件开发中具有重要的作用,但其作用不应当包括软件可行性分析的依据。
3.(5分)UML是一种面向对象的统一建模语言。
它包含10种图,其中,用例图展示了外部actor与系统所提供的用例之间的连接,UML中的外部actor指代系统外的个体或其他系统,用例可以用用例图来描述。
状态图指明了对象所有可能的状态以及状态间的迁移(n)。
如果一个并发的状态由n个并发的子状态图组成,那么,该并发状态在某时刻的状态由这n个子状态图中各取一个状态组合而成。
协作图描述了协作的对象之间的交互和链接(1ink),它画成图的形式。
A.汇编程序是指(①)。
①用汇编语言写的程序②符号程序③汇编语言的处理程序B.为了实现递归子程序的正确调用,人们必须用(①)来保存(⑥)及有关信息。
①堆栈②线性表③队列④树⑤入口点⑥返回地址⑦断点C。
UNIX操作系统是(②)研制的,它是用程序语言(④)书写实现的。
①IBM②贝尔实验室③微软④C语言1.(12分)将“传感器监测”的用例活动图画出来。
活动图略)2.(15分)使用面向对象设计方法进行高层设计,以建立系统的体系结构。
这样的结构有哪几种主要的组成部分?每一部分所承担的职责是什么?一个典型的高层设计是使用MVC软件体系结构,即模型/视图/控制器(Model/View/Controller)。
软件工程习题及答案解析
软件工程习题及答案解析软件工程习题及答案解析1.介绍软件工程是一门研究如何以系统化、规范化、可定量的方法来开发和维护软件的学科。
本文档旨在提供一系列软件工程习题及答案解析,帮助读者深入理解软件工程的基本概念和方法。
2.软件生命周期2.1 什么是软件生命周期?软件生命周期是指软件从需求定义、设计、编码、测试、部署到维护的全过程。
2.2 软件生命周期模型2.2.1 瀑布模型瀑布模型是软件开发中最传统的生命周期模型,具有线性、顺序、阶段性的特点。
2.2.2 迭代模型迭代模型通过多次迭代开发,逐步完善软件产品。
2.2.3 增量模型增量模型将软件分为多个增量,按顺序逐步开发。
2.2.4 螺旋模型螺旋模型将风险管理与迭代模型相结合,通过不断迭代和风险分析调整开发计划。
2.2.5 敏捷开发敏捷开发强调开发团队的自组织和快速交付,采用迭代、增量和灵活的方式进行开发。
3.需求工程3.1 需求获取需求获取是指获取软件系统的功能、性能、约束等需求的过程。
3.2 需求分析需求分析是指对获取的需求进行分析和整理,确定需求的优先级、关联性等。
3.3 需求规格说明需求规格说明是对需求进行详细描述和规范化,通常使用用例、需求文档等形式进行说明。
4.软件设计4.1 结构化设计结构化设计是指按照模块化、层次化的原则,将软件系统划分为多个模块并规定模块之间的接口。
4.2 面向对象设计面向对象设计是将软件系统看作是一组对象的集合,每个对象具有属性和方法,并通过消息传递进行交互。
4.3 架构设计架构设计是指确定软件系统的整体结构和各个组件之间的关系,常用的架构模式有MVC、分层、客户端-服务器等。
5.软件测试5.1 测试基础5.1.1 测试概念测试是通过运行系统或部分系统,以发现系统的错误,验证系统是否满足需求。
5.1.2 测试层次分为单元测试、集成测试、系统测试和验收测试等层次。
5.2 测试方法5.2.1 黑盒测试黑盒测试是根据软件的功能需求对软件进行测试,不考虑内部实现细节。
软件工程试题题库含答案
软件工程试题题库含答案一、软件开发过程1. 软件工程的定义是什么?答:软件工程是一门学科,研究并应用以系统化的方法开发和维护软件的原则、概念、方法和工具。
2. 请列举并解释软件开发过程的基本活动。
答:软件开发过程包括以下基本活动:- 需求分析与说明:收集和分析用户需求,并将其明确、清晰地记录下来。
- 软件设计:将需求转化为软件架构和设计规范,确定技术方案和实施计划。
- 编码和单元测试:根据设计规范进行编码,并进行单元测试以确保代码的正确性。
- 综合与测试:将各个模块进行综合,进行系统级测试以验证软件的正确性和稳定性。
- 软件发布与维护:发布软件版本,并对软件进行后续的维护和更新。
3. 请解释敏捷开发方法的基本原则。
答:敏捷开发方法的基本原则包括: - 个体和互动高于流程和工具:注重团队成员的沟通和合作,更加关注人与人之间的交互。
- 可工作的软件高于详尽的文档:重视软件的实际可用性和功能,减少过多的文档记录。
- 客户合作高于合同协商:与客户保持紧密的合作,及时获取反馈并调整软件开发进程。
- 相应变化高于遵循计划:灵活应对需求变化,允许在开发过程中根据实际需要进行调整。
二、需求工程1. 需求工程的目的是什么?答:需求工程的目的是准确、清晰地确定、分析和记录用户对软件系统的需求。
2. 请解释需求工程的关键活动。
答:需求工程的关键活动包括以下几项: - 需求获取:通过与用户交流和研究,确定用户的需求,并进行系统化的收集。
- 需求分析:对收集到的需求进行分析,确定需求的可行性和优先级,并拆解出软件需求规格说明。
- 需求规格说明:编写清晰、明确的需求规格文档,对软件需求进行详细描述和说明。
- 需求验证:与用户进行需求验证,确保需求规格与用户的期望一致,并能够满足用户的需求。
3. 请解释用户需求和系统需求的区别。
答:用户需求是用户对软件系统的需求和期望,通常表达为用户对系统功能和性能的描述。
而系统需求是对用户需求的进一步细化和明确化,包括对系统功能、性能、界面、输入输出等方面的具体要求。
软件工程习题及答案解析
一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于.A、变换型B、事务型8. PAD〔Problem Analysis Diagram〕图是一种工具.A、系统描述B、详细设计C、测试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、软件投机B、软件危机C、软件工程D、软件产生16. 瀑布模型把软件生存周期划分为软件定义、软件开辟和三个阶段,而每一阶段又可细分为若干更小的阶段.A、详细设计B、可行性分析C、运行与维护D、测试与排错17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构.A、概要B、抽象C、逻辑D、规划18. 结构化分析 SA 是软件开辟需求分析阶段所使用的方法,不是 SA 所使用的工具.A、DFD 图B、PAD 图C、结构化英语D、判定表19. 结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型.A、DFD 图B、PAD 图C、IPO 图D、数据字典20. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是.A、顺序性内聚B、过程性内聚C、逻辑性内聚D、功能性内聚21. Jackson 设计方法是由英国的 M.Jackson 提出的,它是一种面向的设计方法.A、对象B、数据流C、数据结构D、控制结构22. 结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组成.A、分支B、单入口C、单出口D、有规则 GOTO23. 源程序的版面文档要求应有变量说明、适当注释和.A、框图B、统一书写格式C、修改记录D、编程日期24. 在软件工程中,软件测试的目的是.A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误25. 在软件工程中,当前用于保证软件质量的主要技术手段还是.A、正确性证明B、测试C、自动程序设计D、符号证明26. 在软件工程中,高质量的文档标准是完整性、一致性和.A、统一性B、安全性C、无二义性D、组合性27. 在软件研究过程中,CASE 是.A、指计算机辅助系统工程B、CAD 和CAM 技术的发展动力C、正在实验室用的工具D、指计算机辅助软件工程28. 软件〔结构〕设计阶段文档是.A、系统模型说明书B、程序流程图C、系统功能说明书D、模块结构图和模块说明书29. 软件的维护指的是.A、对软件的改进、适应和完善B、维护正常运行C、配置新软件D、软件开辟期的一个阶段30. 逆向工程在软件工程中主要用于阶段.A、分析B、设计C、编码D、维护31. 软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为测试.A、白盒法B、灰盒法C、黑盒法D、综合法32.阶段是软件生命期中花费最多,持续时间最长的阶段.A、需求分析B、维护C、设计D、测试33. 在可行性研究阶段,对系统所要求的功能、性能以与限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为可行性.A、经济B、技术C、法律D、操作34. 结构化系统分析所得到的系统需求说明书中包含一组小说明.小说明是指对作进一步说明.A、数据流B、数据存储〔文件〕C、处理〔加工〕D、外部项〔源点终点〕35. 分层的数据流图中,父图与子图的平衡是指的平衡.A、处理B、数据存储C、外部项D、数据流36. 数据流图中,当数据流向或者流自数据存储时,. A、数据流要命名,数据存储不必命名B、数据流不必命名,数据存储要命名C、数据流和数据存储均应命名,因流进和流出的数据流可能不同D、数据流和数据存储都不必命名,因为从处理上可自然反映出来37. 结构化系统设计阶段的目的是.A、获得良好的软件结构B、获得可读性好的程序C、获得满足用户需求的数据流图D、获得高效的算法38. 要减少两模块之间的联系,则.A、两模块之间的调用次数要尽量少B、两模块之间直接传递的信息要尽量少C、两模块应使用尽可能相同的全局变量D、两模块应尽量共享相同的数据结构39. 在集成〔联合〕测试中,测试的主要目的是发现阶段的错误.A、软件计划B、需求分析C、设计D、编码40. 在验收测试时,测试所依据的文档是.A、可行性报告B、系统〔需求〕说明书C、模块说明书D、用户手册41. 在软件生存期的维护阶段,继续诊断和修正错误的过程称为.A、完善性维护B、适应性维护C、预防性维护D、改正性维护42. 软件的可移植性是衡量软件质量的重要标准之一.它指的是.A、一个软件版本升级的容易程度B、一个软件与其他软件交换信息的容易程度C、一个软件对软硬件环境要求得到满足的容易程度D、一个软件从一个计算机系统或者环境转移到另一个计算机系统或者环境的容易程度43. 软件生存周期是指阶段.A、软件开始使用到用户要求修改为止B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止44. 可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从三个方面进行.A、技术可行性、费用可行性、效益可行性B、经济可行性、技术可行性、机器可行性C、技术可行性、操作可行性、经济可行性D、费用可行性、机器可行性、操作可行性45. 数据流图是一种描述数据与其变换的图形表示,在数据流图上不允许浮现.A、数据流B、控制流C、文件D、加工46. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是.A、数据定义B、数据维护C、数据通讯D、数据库设计47. 事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过执行后面的加工.A、变换B、选择C、合并D、联接48. 如果一个模块要调用另一个模块,在下列几种方式中,采用方式的块间联系小.A、过程调用,传递控制参数B、过程调用,传递数据参数C、直接引用,共用控制信息D、直接引用,共用数据信息49. 软件的结构化设计方法是以为依据的模块结构设计方法.A、系统数据要求B、数据结构C、数据流图D、数据流50. 结构化设计〔SD〕是软件开辟中常用的方法,使用 SD 方法可以得到.A、程序流程图B、编程语言的源程序C、分层数据流图和数据字典D、模块结构图51. 在测试层次结构的大型软件时,有一种方法是从上层模块开始, 自顶向下进行测试,此时有必要用替代尚未测试过的下层模块.A、主模块B、桩模块C、驱动模块D、输出模块52. 联合〔集成〕测试可以由两种方式进行.A、模块测试、系统测试B、条件测试、非条件测试C、渐增式测试、非渐增式测试D、分析测试、验收测试53. 由于更新了操作系统而对软件进行的修改工作属于.A、修正性维护B、适应性维护C、完善性维护D、预防性维护54. 为保证软件质量,在软件生存周期的每一个阶段结束之前,都需要进行工作. A、制定计划 B、测试 C、审查 D、交接55. 模块内部联系最大的是.A、顺序内聚B、功能内聚C、通信内聚D、时间内聚56. 将以下 3 种耦合性由弱到强的顺序罗列,正确的是.A、控制耦合数据耦合公共耦合B、数据耦合公共耦合控制耦合C、公共耦合数据耦合控制耦合D、数据耦合控制耦合公共耦合57. 对某程序进行测试时,选择足够多的测试用例,使程序的每一个判定中条件的各种可能组合都至少浮现一次,这称为覆盖法.A、判定B、判定/条件C、条件D、条件组合58. 数据字典是对数据流图中浮现的组成元素定义的集合,它不包括条目.A、文件B、数据流C、加工D、I/O 参数59. 软件需求分析的内容是.A、确定开辟的软件应有哪些功能,应达到什么性能B、确定软件的开辟成本C、制定软件开辟的进度表D、确定软件的总体结构60. 在软件的设计阶段应提供的文档是.A、软件需求规格说明书B、概要设计规格说明书和详细设计规格说明书C、数据字典与数据流图D、源程序以与源程序的说明书61. 软件测试时,正确的测试次序是.A、模块测试,组装测试,确认测试B、模块测试,确认测试,组装测试C、组装测试,模块测试,确认测试D、确认测试,模块测试,组装测试62. 在软件维护阶段,若用户要求在程序中增加一个原来没有的联机匡助功能是属于.A、改正维护B、适应性维护C、完善性维护D、改正并适应性维护63. 程序流程图、 N-S 图和 PAD 图是使用的算法表达工具.A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段64.软件的可维护性是指.A、软件的可理解程度,修改的难易程度B、软件文档修改的难易程度C、程序修改的难易程度D、使用维护工具进行维护的难易程度65.月收入≤800 元者免税,现用输入数 800 元和 801 元测试程序,则采用的是方法.A、边缘值分析B、条件覆盖C、错误猜测D、等价类66.采用黑盒法测试程序是根据.A、程序的逻辑B、程序的功能说明C、程序中的语句D、程序中的数据67.数据流图的小说明中描述的最基本部份是.A、激发条件B、加工逻辑C、优先级D、执行频率68.系统的茁壮性是指.A、系统能够正确地完成预期的功能B、系统能有效地使用计算机资源C、在有干扰或者输入数据不合理等意外情况下,系统仍能进行适当的工作 D、在任何情况下,系统均具有错误自修复功能69.软件工程学是应用科学理论和工程上的技术指导软件开辟的学科,其目的是.A、引入新技术提高空间利用率B、用较少的投资获得高质量的软件C、缩短研制周期扩大软件功能D、硬软件结合使系统面向应用70.不适于作为数据流图处理〔加工〕框名称的是.A、人工校核工资数据B、工资支票数据C、打印工资支票D、计算职工工资71.如果模块中所有成份引用共同的数据,该模块内的联系类型是.A、顺序内聚B、功能内聚C、通信内聚D、过程内聚72.某模块的功能是打印录取通知书或者不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用执行哪种通知书的打印.这种模块间的耦合称为.A、数据耦合B、混合耦合C、公共耦合D、控制耦合73.适应性维护的含义是所进行的维护.A、为使软件在改变了的环境下仍能使用B、为改正在开辟期产生、测试阶段没有发现、运行时浮现的错误C、为改善系统性能、扩充功能D、为软件的正常执行74.采用白盒法测试模块〔程序〕 ,应根据.A、内部逻辑结构B、算法复杂度C、外部功能特性D、支撑环境75.下列关于软件工程方面的叙述中,正确的说法是.A、软件的质量标准中,某些因素是不可兼得的B、数据词典包括数据流、文件、模块调用关系等三种条目C、测试过程即调试D、白盒法测试用例中,满足条件覆盖的一定满足判定覆盖76.程序编写〔实现〕阶段完成的文档有.A、详细设计说明书、模块开辟宗卷B、详细设计说明书、用户手册C、模块开辟宗卷、操作手册D、用户手册、操作手册77.软件总体结构的内容应在文档中阐明.A、软件需求规格说明书B、概要设计规格说明书C、详细设计规格说明书D、数据要求规格说明书78.使用结构化分析方法时,采用的基本手段是.A、分解和抽象B、分解和综合C、归纳与推导D、试探与回溯79.系统需求分析阶段的任务是分析系统的.A、数据要求B、功能要求C、性能要求D、A,B,C 三方面80.决定软件可维护性的主要因素可概括为.A、可测试性、可理解性、可修改性B、一致性、结构性、自我描述性C、可计测性、可访内性、可通讯性D、可扩充性、简洁性、结构性81.要减少两个模块之间的耦合,则必须.A、两个模块间的调用次数要少B、模块间传递的参数要少C、模块间传递的参数要少且不传递开关型参数D、模块间传递的参数要少且不传递开关型参数以与两模块不引用同样的全局变量82.软件开辟中系统分析阶段产生的文档是.A、数据流图B、系统说明书C、模块结构图和模块说明书D、数据字典83.初始化模块和结束模块从块内联系看,被称为模块.A、过程内聚B、功能内聚C、时间内聚D、逻辑内聚84.系统分析阶段的主要任务是分析系统的综合要求,其中对系统需要的存储量、茁壮性、完全性和联机系统的响应时间等方面的要求属于.A、环境要求B、功能要求C、性能要求D、运行要求85.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从模块结构导出程序结构C、从模块结构导出数据结构D、从数据流图导出初始结构图86.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码87.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告88.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解89.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构90.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项91.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合92.为软件系统今后的改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护93.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现94.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇人数B、扇出数C、宽度D、作用域95.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组应与测试小组合并96.某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护97.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据98.如果,则称该模块具有功能内聚.A、模块包括单一功能B、模块包括若干功能,但所有功能相互密切相关C、每一个模块有单入口、单出口D、模块中每一个处理成份对应一个功能,它们密切结合99.如果一个排序程序所设定的测试用例为〔1〕表空〔2〕表中惟独一个元素〔3〕元素均有相同的关键字值〔4〕元素已排序则此测试方法称为.A、等价分类法B、边缘值分析法C、因果图法D、错误猜测法100.维护机构接受维护申请后,接下来的工作是.A、回归测试B、评价申请C、执行维护D、组织复审101.软件重用概念是指一个程序.A、被多次使用B、被循环使用C、被多个其他软件调用D、在不同环境下的多次重复使用102.面向对象分析时,所标识的对象为是错误的.A、与目标系统有关的物理实体B、与目标系统发生作用的人或者组织的角色 C、目标系统运行中需记忆的事件 D、目标系统中环境场所的状态103.在维护请求后进行的维护过程中,应先,然后对维护要求进行评估并分别处理.A、确定维护类型B、安排维护优先次序C、组织人员维护D、分析软件错误的严重程序104.划分软件生存周期的阶段时所应遵循的基本原则是.A、各阶段的任务尽可能相关B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立105.OOA模型规定了一组对象如何协同才干完成软件系统所指定的工作.这种协同在模型中是以表明对象通信方式的一组连接来表示的.A、消息B、记录C、数据D、属性106.用黑盒法设计测试用例时采用的方法包括.A、判定覆盖法B、条件覆盖法C、因果图法D、路径分析法107.软件维护过程中,将会引起维护副作用.A、修改代码或者数据后未作测试B、进行改正性维护时错误未全部改正C、进行完善性、适应性或者预防性维护时考虑因素不全面D、维护过程中发生系统运行错误108.Jackson 程序设计方法是一种面向的设计方法.A、数据结构B、数据流图C、IPO 图D、系统流程图109.下面所列的性质中,不属于面向对象程序设计的特性.A、继承性B、重用性C、封装性D、可视化110.普通来说,在管理软件中,软件生存周期各个阶段的工作量以所占的比例最大.A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段111.结构化系统分析中,处理逻辑可用描述.A、数据字典B、数据流图C、结构图D、结构化语言112.系统开辟人员使用系统流程图或者其他工具描述系统,估计每种方案的成本和效益的工作是在阶段进行的.A、需求分析B、总体设计C、详细设计D、编码阶段113.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导程序结构114.设一模块内部的处理动作为:成份 A 的输出是成份 B 的输入,则该模块的聚合性称为.A、顺序聚合B、功能聚合C、过程聚合D、通信聚合115.某个模块的作用域是指.A、被该模块调用的所有模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定所影响的所有模块116.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码117.如果按用户要求增加新功能或者修改已有的功能而进行的维护工作,称为. A、完善性维护 B、适应性维护 C、预防性维护 D、改正性维护118.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告119.软件质量因素中,是指软件产品能准确执行需求规格说明中所规定的任务.A、茁壮性B、正确性C、可扩充性D、精确性120.下列是面向对象设计方法中有关对象的叙述,其中是正确的.A、对象在内存中没有它的存储区B、对象的属性集合是它的特征表示C、对象的定义与程序中类型概念相当D、对象之间不能相互通信121.软件生成周期中,开辟期间包括阶段.A、软件计划、结构设计、测试和运行维护B、需求分析、概要设计、详细设计和编码C、结构设计、编码、测试和运行维护D、需求分析、结构设计、编码和测试122.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解123.下列不是模块化设计的目的.A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能124.下面不属于结构化设计需解决的问题 X 围.A、确定系统应由哪些系统和模块组成B、模块以什么方式联结,接口如何C、如何编写结构程序D、如何以恰当方式表达系统的软件结构125.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构126.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合127.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项128.全局数据结构的错误通常在中检查.A、单元测试B、有效性测试C、集成〔系统〕测试D、确认测试129.为软件系统今后改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护130.下列系统设计工具中,不属于详细设计工具.A、N-S 图B、数据流图C、程序流程图D、PAD131.软件生存周期中,运行期的主要任务是.A、软件开辟B、软件维护C、版本更换D、功能扩充132.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现133.下列叙述中,不属于数据字典的作用.A、作为编码阶段的描述工具B、为用户与开辟人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目134.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇入数B、扇出数C、宽度D、作用域135.模块内部的算法设计在结构化方法的阶段进行.A、系统分析B、概要设计C、详细设计D、编码〔实现〕136.在面向对象软件方法中,"类〞是.A、具有同类数据的对象的集合B、具有相同操作的对象的集合C、具有同类数据的对象的定义D、具有同类数据和相同操作的对象的定义137.编码〔实现〕阶段得到的程序段应该是.A、编辑完成的源程序B、编译〔或者汇编〕通过的可装配程序C、可交付使用的程序D、可运行程序138.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组与测试小组合并139.某应用系统为今后的发展将单用户系统改为用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护140.可维护性是软件的重要质量标准.下列措施与提高可维护性无关.A、提高程序效率B、强调程序设计风格化C、采用模块化程序设计方法D、采用结构化程序设计方法或者面向对象方法141.产生软件危机的原因有如下几点,除了.A、软件开辟过程未经审查B、软件开辟不分阶段,开辟人员没有明确的分工C、所开辟的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开辟软件,不符合软件本身的特点142.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据。
(2023版)软件工程试卷及答案(新版)
软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题: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.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.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.效率是一个性能要求,因此应当在以下哪个阶段规定? B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开辟人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据 16.数据字典是用来定义(D)中的各个成份的具体含义的。
软件工程A 期末考试试题及参考答案
24。软件详细设计主要采用的方法是()。
A).结构化程序设计B).模型设计C).结构化设计D).流程图设计
25。()应考虑对模块相联和资源共享问题进行描述和制约。
A).系统设计B).详细设计C).接口控制D).结构化编辑工具
A).模块化B).抽象C).精化D).模块
13。()是指让一些关系密切的软件元素在物理上彼此靠近。
A).信息隐蔽B).内聚C).局部化D).模块独立
14。面向数据流的设计方法把()映射成软件结构。
A).数据流B).系统结构C).控制结构D).信息流
15。程序流程图(PDF)中的箭头代表的是()。
A).数据流B).控制流C).调用关系D).组成关系
A).软件工具箱B).环境集成C).软件管理和软件支持工具D).软件开发环境
22。在软件生命周期法中,用户的参与主要在()。
A)。软件定义期B).软件开发期C).软件维护期D).整个软件生命周期过程中
23。软件定义期问题定义阶段涉及的人员有()。
A).用户、使用部门负责人B).软件开发人员、用户、使用部门负责人
A.需求规格说明与概要设计说明B.详细设计说明
C.项目开发计划D.概要设计说明与详细设计说明
10.若有一个计算类型的程序,它的输入量只有一个,其范围是现从输入的角度考虑一组测试用例:设计这组测试用例的方法是
A.条件覆盖法B.等价分类法
C.边界值分析法D.错误推测法
11.下列属于维护阶段的文档是
A.软件规格说明B.用户操作手册
A).工具B).过程C).方法D).环境
4检查软件产品是否符合需求定义的过程称为()
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题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. 软件测试的类型包括()。
本科《软件工程》A卷(整理)
邯郸学院2010-2011学年第二学期2008级计算机科学与技术专业本科期末考试试卷(A)课程名称:软件工程任课教师:丁万宁考试时间:120分钟考试性质(学生填写“√”):正常考试()缓考补考()重修()提前修读()一、单选题(每小题1分,共20分)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做_____.A.软件工程B.软件周期C.软件危机D.软件产生2.系统流程图是描述_____的工具.A.逻辑系统B.程序系统C.体系结构D.物理系统3.两个模块彼此传递的信息是控制信息,这种耦合称为_____.A. 数据耦合B.控制耦合C. 内容耦合D. 公共环境耦合4.ER模型中的基本成分不包含_____.A. 实体B. 联系C. 属性D. 处理5.软件测试方法中的静态测试方法之一为_____.A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析6.汽车有一个发动机.汽车和发动机之间的关系是_____关系.A.一般具体B.整体部分C.分类关系D.主从关系7.模块的内聚性最高的是_____.A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚8.在详细设计阶段,经常采用的工具有_____.A.PAD B.SA C.SC D.DFD 9.检查软件产品是否符合需求定义的过程称为_____.A.确认测试B.集成测试C.验证测试D.验收测试10.在多层次的结构图中,其模块的层次数称为结构图的_____.A.深度 B. 跨度 C. 控制域 D. 粒度11.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准.A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能12.在对数据流的分析中,主要是找到中心变换,这是从______导出结构图的关键.A.数据结构 B. 实体关系 C. 数据流图 D. E—R 图13. 下列关于效率的说法不正确的是_____.A. 效率是一个性能要求,其目标应该在需求分析时给出B. 提高程序效率的根本途径在于选择良好的设计方法、数据结构与算法C. 效率主要指处理机时间和存储器容量两个方面D. 程序的效率与程序的简单性无关14. 测试的关键问题是_____.A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例15.黑盒测试在设计测试用例时,主要需要研究_____.A.需求规格说明与概要设计说明B.详细设计说明C.工程开发计划D.概要设计说明与详细设计说明16.对象实现了数据和操作的结合,使数据和操作_____于对象的统一体中.A.结合B.隐藏 C.封装 D.抽象17.详细设计的结果基本决定了最终程序的_____.A.质量B. 运行速度C.可维护性D.代码的规模18. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为_____.A.教正性维护B.适应性维护C.完善性维护D.预防性维护19. 表示对象相互行为的模型是_____模型.A. 动态模型B. 功能模型C. 对象模型D. 静态模型20.COCOMO模型可用来_____.A. 度量程序复杂程度B. 计算软件开发成本C. 估计程序的故障总数D. 估计软件开发所需时间二、判断题(每小题1分,共20分)1.维护要求表由维护组织填写.()2.程序的格式应有助于读者理解程序.()3.PAD图可用软件工具转换成高级语言源程序.()4.软件危机的产生与软件开发和维护的方法不正确有关.()`5.软件需求分析的一个重要任务是分析系统的数据要求.()6.工程网络中关键路径上的作业有一定程度的机动余地.()7.维护组织中维护管理员决定应该进行的维护活动.()8.代码审查是用计算机测试源程序.()9.数据流图和数据字典共同构成系统的逻辑模型.()10.软件需求规格说明书中可以对软件的操作人员和维护人员的教育水平和技术专长提出要求.()11.如程序中连锁式连接了4个判定(IF)结构,则程序总的路径数达24.()12.调试的任务只是确定错误的准确位置和原因.()13.等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果.()14.编程时应把常见的局部优化工作留给编译程序去做.()15.详细设计时应首选时间效率和空间效率尽可能高的算法.()16.软件的开发单位应该建立本单位文档的标识方法,使文档的每一页都具有明确的标识.()17.用户手册要使用专门术语,充分地描述该软件系统的结构及使用方法.()18.对象之间只能通过消息进行通信,而不允许在对象之外直接地存取对象内部的属性.()19.同传统软件开发方法相同,面向对象软件开发方法也以设计阶段为主.()20.尽可能在软件生产过程中保证各阶段文档的正确性有利于软件维护.()三、填空题(每空1分,共10分)1.结构化方法总的指导思想是_____________和逐步求精.2.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_______集成的过程.3.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=__________________.4.软件需求应从一致性、____________、现实性和____________4方面验证.5.测试用例应由____________和____________两部分组成.6.模块的独立性程度可以由____________和____________两个定性标准度量. 7.软件系统的文档可以分为用户文档和____________两类.四、简答题(每小题5分,共20分)1. 什么是数据流图?其中的基本符号各表示什么含义?2. 什么是模块的内聚?模块的内聚性包括哪些类型?3. 黑盒测试技术及其设计测试用例的方法?4、简述提高可维护性的方法.五、分析设计题(第1题8分,第2题10分,第3题12分,共30分)1.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员.请用判定树和判定表描述上述问题.2.某旅馆的电话服务如下:可以拨分机号和外线号码.分机号是从7201至7299.外线号码先拨9,然后是市话号码或长话号码.长话号码是以区号和市话号码组成.区号是从100到300中任意的数字串.市话号码是以局号和分局号组成.局号可以是455,466,888,552中任意一个号码.分局号是任意长度为4的数字串.要求:写出在数据字典中,电话号码的数据条目的定义(即组成).3.研究下列伪码程序,要求:(1)画出程序图并计算程序环形复杂度.(2)用基本路径测试法设计程序的测试用例.a: STARTINPUT(A,B,C,D)b: IF(A>0)c: AND (B>0)d: THEN X=A+Be: ELSE X=A-Bf: ENDg: IF(C>A)h: OR (D<B)i: THEN Y=C-Dj: ELSE Y=C+Dk: ENDSTOP。
软件工程考试题(卷)与答案解析
《软件工程导论》测试题(参考答案)(本试卷答卷时间为60分钟)学号:______________ 组别:____________、选择(每题2分,共20 分)1 .瀑布模型的存在冋题是( B )A .用户容易参与开发B .缺乏灵活性C .用户与开发者易沟通D .适用可变需求2 .程序的三种基本控制结构是( B )A .过程、子程序和分程序B .顺序、选择和重复C .递归、堆栈和队列D .调用、返回和转移3 .在详细设计阶段,经常采用的工具有( A )A. PADB. SAC. SC4 .详细设计的结果基本决定了最终程序的( C )A. 代码的规模 B .运行速度C.质量5. 结构化程序设计主要强调的是( D )A. 程序的规模D . DFDD .可维护性B. 程序的效率C. 程序设计语言的先进性D. 程序易读性6 .需求分析阶段的任务是确定( D )A. 软件开发方法B. 软件开发工具C. 软件开发费D . 软件系统的功能7.在E-R模型中,包含以下基本成分(C )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作8 .设函数C (X)定义问题X的复杂程序,函数E ( X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C (P1 ) >C ( P2)显然E (P1 ) >E ( P2),则得出结论 E( P1+P2 ) >E ( P1 ) +E ( P2)就是:( A )A .模块化的根据B .逐步求精的根据C.抽象的根据 D •信息隐藏和局部化的根据9 .面向数据流的设计方法把( D )映射成软件结构。
A •数据流B •系统结构C •控制结构D .信息流10.聚程度最低的是( A )聚A.偶然B.过程C.顺序D.时间、填空题(每空2分,共8分)。
1 .软件结构是以—模块为基础而组成的一种控制层次结构。
2 .在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、定树。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)订书组从各单位取得要订的书目;
(3)根据供书目录和订书书目产生订书文档留底;
(4)将订书信息(包括数目,数量等)反馈给供书单位;
(5)将未订书目通知订书者;
(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。
(7)
采用结构化费明细、设计的方法,对该题目进行分析设计,并根据要求画出该问题的数据流程图,并把其转换为软件结构图。
用例2:三者取一
输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。
输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。
用例3:三者取一
输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。
输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。
A+C>B。
(2)A≤0或B≤0或C≤0
(3)A+B≤C或A+C≤B
或B+C≤A
是否等腰三角形
(4)A=B或A=C或B=C
(5)A≠B且A≠C且B≠C
是否等边三角形
(6)A=B且A=C且B=C
(7)A≠B或A≠C或B≠C
(2)设计测试用例
用例1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。
(1)改造程序结构图,降低耦合度,提高内聚度
(2)避免高扇出,并随着深度的增加,力求高扇入
(3)模块的影响范围应限制在该模块的控制范围内
(4)降低模块接口的复杂程度和冗余程度,提高一致性
(5)模块的功能应是可预测的,避免对模块施加过多的限制
(6)尽可能设计单入口和单出口的模块
4、什么是黑盒测试法?常用的黑盒测试方法有哪些?
交互视图
顺序图(sequence)
通信图(communication)
物理的
部署视图
部署图(deployment)
模型管理
模型管理视图
包图(package)
6、简述面向对象的设计过程。
解答:
(1)系统设计
将子系统分配到处理器、选择实现数据管理、界面支持和任务管理的设计策略、为系统设计合适的控制机制;
“一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。”
要求:设三角形的3条边分别为A、B、C,并且
(1)列出等价类表,格式如下:
输入条件
有效等价类
无效等价类
(注意:将等价类编号)
(注意:将等价类编号)
主题域
视图(view)
图(diagram)
结构化
静态视图
类图(class)
设计视图
内部结构(internal structure)
协作图(collaboration)
构件图(component)
用况视图
用况图(use case)
动态的
状态机视图
状态机图(state machine)
活动视图
活动图(activity)
二、填空题:(每空1分,共15分)
1、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和___①____。
2、 按数据流的类型,结构化设计方法有两种设计策略,它们是变换型设计和_____②______。
3、按照每次进行维护的具体目标,软件的维护可以分为4种,分别是____③_____、____④____、_______⑤_____、和完善性维护。
4、数据流图和数据字典共同构成了系统的___⑥____模型,是需求规格说明书的主要组成部分.
5、软件是包括程序,___⑦_及其__⑧__的完整集合。
6、为了便于对照检查,测试用例应由输入数据和预期的⑨两部分组成。
7、可移植性指的是____________⑩_______________。
8、一般而言,单独测试某一模块时,要为它设计驱动模块和 ___模块,它们的作用是分别模拟被测试模块的___ 和 ___。
解答:
黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。
5、UML统一建模语言有哪几种图形?各种图形主要功能是什么?
解答:
采用面向对象的思想方法对该问题进行分析、设计,并对下列问题给出解答
(1)给出系统的用例图;
(2)给出类图;
(3)给出系统中的一个用户“张三”存款20元的顺序图;
(4)给出有关的数据库(表)的结构;
解答:
本大题,答题应具有如下特点:
(3)设计符合软件工程的基本思想,采用软件工程的基本工具、方法;
(4)设计规范、合理、图形描述清楚;
输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。
用例4:三者取一
输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。
输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。
输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。
用例5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。
用例6:输入【3,3,3】覆盖等价类(1)(6),输出结果为等边三角形。
用例7:三者取一
输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。
解答:
本大题,答题应具有如下特点:
(1)设计符合软件工程的基本思想,采用软件工程的基本工具、方法;
(2)设计规范、合理、图形描述清楚;
在这要求下,评卷教师可以按实际情况扣除分数。
七、面向对象的分析设计方法(本题15分)
某银行计算机储蓄系统的工作流程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人的姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
在这要求下,评卷教师可以按实际情况扣除分数。
3、白盒盒测试:把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,目的是检查程序中所有逻辑路径是否都按预定的要求正确地工作。
4、逆向工程:指在软件生存周期中,将软件的某种形式描述转换成更抽象形式的活动。
5、计算机系统工程:是一个问题求解的活动,其目的是分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。
9、G.J.Myers提出:软件测试是为了发现____ ________而执行程序的过程。
10、软件可行性研究从技术可行性、_____ ______、社会可行性三个方面分析研究每种解决方案的可行性。
解答:
(1)广度优先策略
(2)事务型
(3)纠错性
(4)适应性
(5)预防性
(6)需求分析
(7)数据
(8)文档
五、试给出求下列问题的判定树和判定表(本题10分):
假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。请给出该问题的判定树和判定表。。
课程代码BB002032考试方式闭卷考试时长100分钟
姓名学号教学班号专业级班
题号
一
二
三
四
五
六
七
八
合计
满分
10
15
30
10
10
10
15
100
得分
阅卷人
考生注意:①所有题目答案一律写在答题纸上,写在其他地方不得分;
②装订好的试卷不要拆开,否则视为作弊;
③考试结束好后,将试卷以及答题纸全部上交
一、名词解释(每题2分共10分)
(2)对象设计
在过程级别(procedural lavel)设计每个操作,即设计每个操作的实现细节、定义内部类、为类属性设计内部数据结构;
(3)消息设计
使用对象间的协作和对象--关系模型,设计消息模型
(4)复审
复审设计模型并在需要时迭代。
四、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。(本题10分)
解答:
条
件
1
2
3
4
5
6
7
8
9
国内乘客
T
T
T
T
F
F
F
F
头等舱
T
F
T
F
T
F
T
F
残疾乘客
F
F
T
T
F
F
T
T
行李重量W≤30
T
F
F
F
F
F
F
F
F
动
作
免费
√
(W-30)×2
√
(W-30)×3
√
(W-30)×4
√
√
(W-30)×6
√
√
(W-30)×8
√
(W-30)×12
√
六、图书馆的预定图书子系统有如下功能(本题15分):