研究生现代软件工程期末考试试题(推荐阅读)

时间:2019-05-14 02:27:19下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《研究生现代软件工程期末考试试题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《研究生现代软件工程期末考试试题》。

第一篇:研究生现代软件工程期末考试试题

2013年 研究生 现代软件工程期末考试

2014年6月20日

某软件企业已经具有5年以上的开发经历,为了进一步拓展市场和提升市场竞争能力,在三个项目组以及SQA小组选拔了一些技术骨干作为SEPG小组成员,期望在公司内部推广CMM,争取3年之内能够通过CMM3的评级认证。

公司管理层要求一年内通过CMM2评级,第三年申请CMM3的资质认证并争取通过评审。为此,三个项目组的项目经理与SEPG和SQA小组成员共同商讨如何能够满足近期和远期目标。经了解,发现三个项目组的管理方式各不相同,开发方法也不统一:

项目组A:采用传统的演化模型并使用基于数据流图的结构化方法进行系统开发; 项目组B:采用基于面向对象方法的UP模型进行系统开发;

项目组C:采用极限编程方法进行开发;

问题一:SEPG要求各项目组的项目经理给出各自项目组的基于里程碑的软件开发过程及相应的文档编制计划。

问题二:为了CMM3的目标SEPG根据各小组的软件开发过程决定采用通用的面向对象方法定义一个公司级的统一软件工程过程并给出基于KPA组织过程定义必须执行的活动(Key Practices)。

问题三:SQA小组基于SPEG定义的公司级的软件工程过程,参考ISO的质量模型开始着手制定CMM3需要的针对软件需求分析阶段的质量评估模型及其必须的尺度度量准则。

除此之外,项目组A各人员组成的工资待遇如下:

1、项目经理:12000;

2、工程师_X:5000;

3、工程师_Y:6500;

4、工程师_Z:3000;公司规定项目经理有权掌握项目40%经费进行管理,其中包括项目组的人员成本和平时加班补贴(平时加班按工资的2倍支付,国家法定假日3倍支付)。此时,公司交付给项目组A一个必须在2个月完成的项目,要求项目必须按照客户的具体需求完成分析、设计和开发任务,并能实现20%的利润,同时项目经理自己也打算给自己保留5%经费作为自己奖励。具体需求如下:

有一个医院期望开发一个《医院取药告知管理系统》。该系统要求实现病人在交费处使用自己的就医卡交费完毕后,系统会根据当前的取药人数分配取药窗口和相应的药剂师。每个窗口的药剂师按顺序使用系统,并接收系统分配的菜单。药剂师配药完成后使用系统功能显示并通知病人取药。

每个取药窗口有一个大屏幕显示取药的病人名称,每个人取药时间为2分钟并反复显示并广播病人的姓名;超过两分钟没来取药的病人信息会转到屏幕下方的滚动条滚动显示,可以显示多人姓名。取过药的病人信息随即被清除。取药大厅设置多台自动查询机,病人使用就医卡扫描后,查询机会显示病人姓名、取药窗口号以及在本病人之前未取药的人数或者是否处于超时等待取药。

作为项目经理,请根据上述功能需求回答以下问题:

问题四:给出该系统的功能列表(以用例表示)开发和后期维护的报价。

问题五:给出系统开发的进度安排,并确定关键任务路径上的人员安排使得项目进度效率最高且成本最低。

问题六:请根据自己熟悉的编程语言估算该系统的KLOC、CK(技术状态常数),并由此根据“软件工程”计算该系统开发的工作量。

问题七:给出开发周期内TOP5的风险因素。

第二篇:软件工程期末考试试题

一,单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。

1.可行性研究要进行一次_____需求分析。

A.详细的 B.全面的 C.简化的、压缩的 D.彻底的 2.系统流程图用于可行性分析中的_____的描述。

A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 3.系统流程图是描述_____的工具。

A.逻辑系统B.程序系统C.体系结构D.物理系统 4._______工具在软件详细设计过程中不采用。

A.判定表 B.IPO图 C.PDL D.DFD图 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.基线控制

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.原型化方法是一种_______型的设计过程。

A.自外向内 B.自顶向下 C.自内向外 D.自底向上 19.为了提高测试的效率,应该()A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。

A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能

1.C[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。

2.A[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。

3.C[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。

4.D[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。

5.B[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。6.D[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。

7.C [解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。

8.C[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。

9.A [解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。

10.B [解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。

11.B[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。

12.A[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。

13.D[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术

14.D[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。

15.C[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。16.D[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。

17.A[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。

18.A[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程 19.D[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。

20.A[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。二,填空题(本大题共10小题,每小题2分,共20分)

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。

22.成本效益分析的目的是从()角度评价开发一个项目是否可行。

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。

24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。

25.汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

26.在JSP方法中解决结构冲突的具体办法是()。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。

28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。

29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。

21.解:信息流动[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。

22.解:经济[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。

23.解:宽度优先策略[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

24.解:在其他独立路径中未有过[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

25.解:机器[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。

26.解:中间数据结构或中间文件[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

27.解:使用的数据[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。

28.解:软件问题[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。29.解:维护支援[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。30.解:FORTRAN语言[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/

1、FORTRAN语言都是工程计算中常用的语言。

三,名词解释(本大题共5小题,每小题3分,共15分)

31.经济可行性

解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。

32.社会可行性

解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。

33.投资回收期

解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。

34.对应关系 解:即有直接因果关系在程序中可以同时处理。[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

35.结构冲突 解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。四,简答题(本大题共4小题,每小题5分,共20分)

36.可行性研究报告的主要内容有哪些?

解:一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

[解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。

37.系统设计的内容是什么?

解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。

(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。

如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。

(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。

[解析]系统设计是问题求解及建立解答的高级策略。必须制定解决问题的基本方法,系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口。

38.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

软件危机表现在以下四个方面:

(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。

造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。

[解析]由于软件危机的出现,人们才开始用工程化的思想来开发软件,从此,软件生产才步入了软件工程时代。

39.软件质量保证应做好哪几方面的工作?

解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:

(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。

[解析]软件的质量保证是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,是软件工程管理中的重要内容。五,论述题(本大题共3小题,第40小题7分,第41小题8分,第42小题10分,共25分)

40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。

解:PDL语言:

N=1

WHILE N<=10 DO

IF A(N)<=A(N+1)MAX =A(N+1);

ELSE MAX =A(N)ENDIF;

N=N+1;

ENDWHILE;

PAD图:

[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。41.根据下列条件使用等价类划分法设计测试用例。

某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065

解:(1)划分等价类并编号,如下表示:(4分)

(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)

(3)为不合理等价类测试用例,至少设计一个测试用例(2分)

[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。

42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:

生产科的任务是:

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

(2)根据车间实际生产日报表、周报表调整月生产计划

(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间

技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。

解:

画出生产科图的给6分,画出技术科的给4分。

[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。

第三篇:现代西方哲学期末考试试题

2013—2014学年第一学期期末考试试题

《现代西方哲学》

课程代码:22301116适用班级:思想政治教育10级 命题教师:王业建任课教师:王业建 教研室主任审核(签名):教学主任(签名):

一、以“弗洛姆的性格结构理论”为题写一篇论文。

二、要求:

1、不低于3000字。

2、观点明确、条理清晰,字迹清楚。

3、按照《安康学院学报》的标准格式来写,特别是参考文献要符合标准格式。

4、不要英文翻译的摘要和关键词。

三、参考书目:

1、刘放桐主编《新编现代西方哲学》,人民出版社

2、衣俊卿著《西方马克思主义概论》,北京大学出版社

3、陈学明、王凤才著《西方马克思主义前沿问题二十讲》,复旦大

学出版社

4、弗洛姆著《追寻自我》,延边大学出版社

5、弗洛姆《逃避自由》,国际文化出版公司

6、弗洛姆《健全的社会》,上海译文出版社

第四篇:《现代西方哲学》期末考试试题

《现代西方哲学》期末考试试题

一、名词解释(每题5分,共20分)

1.现代西方哲学

2.超人

3.生命冲动

4.工具主义

一、简答题(每题10分,共40分)

1.简述现代西方哲学的基本特征(本题10分)

2.简述萨特人道主义的自由观(本题10分)

3.简述杜威多元主义的社会历史观(本题10分)

4.简述罗素的“摹状词”理论(本题10分)

二、论述题(本题20分)

试述柏格森的“封闭社会”与“开放社会”。(本题20分)

三、分析题(本题20分)

联系实际,谈谈你对叔本华悲观主义伦理学的理解。(本题20分)

第五篇:软件工程期末考试总结

一、1、1968年“软件工程”诞生。

2、软件定义:软件是程序、数据 相关文档的完整结合。其中,程序是能够完成预订功能和性能的可执行的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

3、为了解决软件危机,技术措施(方法和工具),组织管理措施

4、软件工程:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。

5、软件工程是从管理和技术两方面

6、软件工程的本质特性:(1)软件工程关注于大型程序的构造;(2)专拣工程的中心课题是控制复杂性;

(3)软件经常变化;(4)开发软件的效率非常重要;(5)和谐的合作是开发软件的关键;(6)软件必须有效的支持它的用户;(7)在软件工程领域中通常由具有一种文化背景的人替具有另外一种文化背景的人创造产品。

7、软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚的审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。

8、软件工程包括(技术和管理)两方面内容,是技术与管理紧密结合所形成的工程学科。

9、软件工程方法学包括三个要素:方法、工具和过程。

10、CASE计算机辅助软件工程

11、软件的生命周期由 软件定义、软件开发和运行维护(软件维护)3个时期组成。

12、软件生命周期每个阶段的基本任务:(1)问题定义:必须回答的关键问题是:“要解决的问题是什么?”性质规模总目标;(2)可行性研究:要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”可解?值得解?(3)需求分析:这个阶段的任务不是具体的解决问题,而是准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能需求规格说明书(4)总体设计:这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”(总体设计又称概要设计)软件结构图(5)详细设计:把解法具体化,也就是回答下面这个关键问题:“应该怎样具体的实现这个系统呢?”算法、数据结构(6)编码和单元测试:关键任务是写出正确的容易理解、容易维护的程序模块(7)综合测试:关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求(最基本的测试是集成测试和验收测试)。

13、软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤。用生命周期模型描述它。

15、过程模型:生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也成为过程模型。

16、瀑布模型是唯一被广泛采用的且现在仍是应用最广泛的过程模型。

17、增量模型:也称渐增模型,适用于能在较短时间内向用户提交可完成部分工作的产品。

18、螺旋模型:适用于内部开发的大规模软件项目。

1、可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能解决。

2、研究每种解法的可行性从三个方面:(1)技术可行性(2)经济可行性(3)操作可行性

3、系统流程图是概括的描绘 物理系统 的传统工具。

数据流图是系统逻辑功能的图形表示。

4、数据字典的作用:在软件分析和设计过程中给人提供关于数据的描述信息。

5、系统的逻辑模型由(数据流图和数据字典)共同构成,没有数据字典,数据流图就不严格,没有数据流图,数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

5、数据字典由4类元素的定义组成:数据流、数据流分量、数据存储、处理,但是对数据处理的定义用

其他工具(IPO图或PDL)描述更方便。

1、需求分析:把用户关于软件的期望和想法,转变成软件开发人员需要的关于该软件的规格说明。

2、需求分析过程应该建立的3种模型:数据模型、功能模型和行为模型

3、实体-联系图是用于建立数据模型的图形,数据流图是建立功能模型的基础,状态转换图是行为建模的基础。

4、实体-联系图符号:矩形框代表实体,用连接实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,用直线把实体(或关系)与其属性连接起来。

5、状态转换图:初态、终态和中间态。

6、在一张状态图中只能有一个初态,终态有0至多个。初态用实心圆,终态用一对同心圆(内为实心圆),中间态用圆角矩形。

8、IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便的描绘输入数据、对数据的处理和输出数据之间的关系。

9、从以下4个方面验证软件需求的正确性:(1)一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾(2)完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能(3)现实性 指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的(4)有效性 必须证明需求是正确有效的,确实能解决用户面对的问题

10、总体设计阶段主要内容:设计软件结构和设计数据库

11、耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。

12、耦合设计原则:尽量少使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合13、内聚:内聚标志着一个模块内各个元素彼此结合的紧密程度。功能内聚10偶然内聚014、“高内聚,低耦合”

15、启发规则:(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当【深度:表示软件结构中控制的层数,它往往能粗略的标志一个系统的大小和复杂程度;宽度:是软件结构内同一个层次上的模块总数的最大值;扇出:是一个模块直接控制的模块数目;扇入:表明有多少个上级模块直接调用它】(4)模块的作用域应该在控制域之内【模块的作用域:受该模块内一个判定影响的所有模块的集合。模块的控制域:是这个模块本身以及所有直接或间接从属于它的模块集合。】(5)力争降低模块接口的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测。

16、描绘软件结构的图形工具:层次图和结构图。

17、层次图用来描绘软件的层次结构(作为描绘软件结构的文档)。

18、信息流的两种类型:变换流和事务流

19、变换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统。当系统具有这些特征时,这种信息流就叫做变换流。

20、事务流:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,这类数据成为事务流,处理T叫做事务中心。

六、详细设计

21、结构程序设计的经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

七、实现

1、高级语言写程序比用汇编语言写程序生产率可以提高好几倍,而且高级语言写的程序容易阅读,容易

测试,容易调试,容易维护。所以高级语言明显优于汇编语言。

2、实现:编码和测试统称为实现。

3、编码:就是把软件设计结果翻译成用某种程序设计语言书写的程序

4、软件测试:是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

5、测试的目的:在软件投入生产性运行之前,尽可能多的发现软件中的错误(发现软件中的错误)。

6、调试是在测试发现错误之后排除错误的过程。

7、软件测试的目标或定义:(1)测试是为了发现程序中的错误而执行程序的过程。(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案(3)成功的测试是发现了至今为止尚未发现的错误的测试。

8、测试的目的是暴露程序中的错误由程序的编写者自己进行测试是不恰当的,测试阶段通常由其他人员组成测试小组来完成测试工作。

9、逻辑覆盖:是对一系列测试过程的总称这组测试过程逐渐进行越来越完整的通路测试。

10、语句覆盖:选择足够多的测试数据,使被测程序中每个语句至少执行一次(语句覆盖是很弱的逻辑覆盖)。

11、判定覆盖(分支覆盖):不仅每个语句必须至少执行一次,而且每个判定的没种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。(比语句覆盖强)

12、条件覆盖:不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果(比判定覆盖强)。

13、判定/条件覆盖:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果(有时不必条件判定强)。

14、条件组合覆盖:是更强的逻辑覆盖,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。

15、点覆盖:如果连通图G的子图G’是连通的,而且包含G的所有节点,则称G’是G 的点覆盖。(要求:选取足够多的测试数据,使得程序执行路径至少经过流图的每个节点一次(与语句覆盖标准相同)。)

16、边覆盖:如果连通图G的子图G”是连通的,而且包含G的所有边,则称G”是G 的点覆盖(要求:选取足够多的测试数据,使得程序执行路径至少经过流图中每条边一次(与判定覆盖相同)。)。

17、路径覆盖:选取足够多的测试数据,使程序的每条可能路径都至少执行一次。

18、控制结构测试包括:基本路径测试、条件测试、循环测试。

19、黑盒测试力图发现下述类型的错误:(1)功能不正确或遗漏了功能(2)界面错误(3)数据结构错误或外部数据库访问错误(4)性能错误(5)初始化和终止错误

20、黑盒测试外部,白盒测试内部。

八、维护

软件维护就是在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程。

把诊断和改正错误的过程称为改正性维护。

适应性维护:为了和变化了的环境适当的配合而进行的修改软件的活动,是即必要有经常的维护活动。完善性维护、预防性维护。

下载研究生现代软件工程期末考试试题(推荐阅读)word格式文档
下载研究生现代软件工程期末考试试题(推荐阅读).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件工程 期末考试 名词解释

    面向对象建模及它们之间的关系:对象建模:定义了做事情的实体;动态模型:明确规定了什么时候做;功能模型:指明了应该做什么;他们相互补充,相互配合。对象模型是最基本最重要的,他为其他......

    软件工程试题

    一,单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。 1.可行性研究要进行一次____......

    《软件工程》期末考试模拟练习题

    期末考试模拟练习题一、填空题 1、 用软件工程的观点看,软件=__程序____+____数据____+___系列文档__。 2、 软件是计算机系统中与硬件相互依存的部分,它是包括_____程序_____,___......

    GIS软件工程期末考试复习题

    《软件工程》选择题 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分) 1.软件产品的开发主要是(D )。 A.复制B.再生产C.拷......

    现代金融业务期末考试试题5篇范文

    现代金融业务期末考试试题 姓名学号分数 一、名词解释(每题4分,共20分) 1.对公存款 2.金融市场 3. 抵押贷款 4.担保贷款 5.再保险 二、填空题(每空1分,共17分) 1.利息率,是一定时期......

    软件工程第一章试题

    第一章 一、填空 1.软件与物质产品有很大的区别,软件是一种(逻辑)产品。 2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于(建造一个软件系统)。 3.概要......

    软件工程导论试题

    软件工程导论试题 一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又......

    2011-2012学年现代人力资源管理期末考试试题

    2011-2012学年现代人力资源管理期末试题1、下列人力资源规划工作的目标中,错误的是:A、充分利用现有人力资源B、减少企业在关键技术环节对外部招聘的依赖性C、能够预测企业组......