《软件工程》期末考试题及答案
软件工程(期末试题及答案)
软件工程(期末试题及答案)软件工程(期末试题及答案)一、选择题(共20题,每题2分,共40分)1. 在软件工程中,以下哪一项不是七大工程()。
A. 软件需求B. 软件设计C. 软件开发D. 软件维护答案: D2. 软件需求分析的目的是()。
A. 理解用户需求B. 设计软件架构C. 编写用户手册D. 测试软件功能答案: A3. 软件开发过程中的迭代模型,不存在的是()。
A. 瀑布模型B. 敏捷开发模型C. 螺旋模型D. 喷泉模型答案: D4. 以下哪个不是软件测试的目的()。
A. 发现错误和缺陷B. 验证软件是否满足需求C. 评估软件的可靠性和质量D. 优化软件的性能答案: D5. 软件项目管理中,以下哪种方法适用于大型复杂项目()。
A. 瀑布模型B. 敏捷开发C. 增量模型D. 螺旋模型答案: D6. 软件开发生命周期中,以下哪个过程不属于()。
A. 需求分析过程B. 设计过程C. 编码过程D. 运维过程答案: D7. 在软件工程中,什么是软件测试()。
A. 软件开发的最后阶段B. 发现软件缺陷的过程C. 确保软件质量的控制过程D. 软件最终验收的流程答案: C8. 以下哪种测试方法旨在评估软件在不同负载下的性能和稳定性()。
A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案: D9. 软件开发中,以下哪个活动不属于软件配置管理()。
A. 版本控制B. 配置变更控制C. 缺陷管理D. 代码评审答案: D10. 以下哪个是敏捷开发的基本原则()。
A. 面对面交流胜过文档B. 完全按照计划进行C. 精确的需求分析是关键D. 严格的变更控制是必要的答案: A11. 下列哪个不属于软件配置管理的内容()。
A. 变更控制B. 版本控制C. 缺陷管理D. 运维管理12. 软件的可靠性是指()。
A. 软件是否能正常运行B. 软件是否符合用户需求C. 软件运行期间不出现故障的能力D. 软件功能的完善程度答案: C13. 下列哪个不属于软件开发的7大原则()。
《软件工程》期末试卷(3套含答案)
《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。
A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。
A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。
(2)_______________是软件策划的核心、重点与难点。
(3)软件由程序、数据和______________组成。
(4)______________是软件设计的基础,______________是软件开发的核心。
(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。
(6)对象图的组成元素包括对象和______________。
《软件工程》期末考试参考题及答案
得分评卷人一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
得分评卷人二、单项选择题(每小题2分,共10分)1.下列哪个阶段不属于软件生存周期的三大阶段(C)。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A)。
3.?A、软件开发工作的基础?????????B、软件生存周期的开始4.?C、由系统分析员单独完成的?????D、由用户自己单独完成的5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B)。
6.?A、明确的需求定义???????????????B、完整的生命周期7.?C、较长的开发时间???????????????D、熟练的开发人员8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为(A)。
软件工程期末试题及答案
软件工程期末试题及答案选择题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)如何组织软件评审C)如何验证程序的正确性7.软件测试用例主要由输入数据和(B)如何选择测试用例D)如何采用综合策略)两部分组成。
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.集成测试时,能较早发现高层模块接口错误的测试方法为( ) 。
大学本科软件工程期末试题及答案
软件工程期末考试试题及参考答案一、单向选择题1、软件的发展经历了(D)个发展阶段。
A. 一B. 二C. 三D. 四2、需求分析的任务不包括(B)。
A. 问题分析B. 系统设计C. 需求描述D. 需求评审。
3、一个软件的宽度是指其控制的(C)。
A. 模块数B. 层数C. 跨度D. 厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
A. 判定表和判定树B. 盒图C. 流程图D. 关系图5、以下不属于逻辑覆盖的是(D)A. 语句覆盖B. 判定覆盖C. 条件覆盖D. 基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)A. 纠错性维护B. 适应性维护C. 改善性维护D. 预防性维护二、填空题1. 软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)2. 高级语言:独立于机器,面向过程或面向(对象)3. 软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)4. 人机界面的风格第一代界面是命令和(询问)方式5. 由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)6. 在公式V (G)= E - N + 2中:E为程序图G中边的总数;N为程序图中结点的总数。
V (G)又称为图G的环形(复杂度)7. 任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型8. 为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问你确实要删除…?”9. 文档是一种数据媒体和其上所记录的(数据)三、判断题(每小题2分,共24分,错误打X、正确打")1. 用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(V)2. 目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
(V)3. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
软件工程期末试题及答案
软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。
答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。
答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。
答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。
答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。
软件工程期末试题(含答案)
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件工程期末试卷(十套含答案)
软件工程期末试卷(十套含答案)-CAL-FENGHAI.-(YICAI)-Company One1软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是( B )A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。
软件工程试题含答案
软件工程期末试题(1)一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×) PAD图在设置了五种基本控制结构后,还允许递归调用. (×) 你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×) 当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×) 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√) 以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准. A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.)(ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱2、请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }4、什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格, 然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)5、简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.软件工程期末试卷(2)(开放教育本科)计算机科学与技术专业《软件工程》试题B一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、__需求分析_、设计编码、_测试_、运行与维护阶段。
软件工程期末试卷(十套含答案)
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
软件工程(期末试题及答案)
一、填空题1.()是一门研究应用工程化方法构建和维护有效,实用和高质量的软件学科。
2.项目的三个约束因素是:(),()和范围.3.()是在系统之外,透过系统边界与系统进行有意义交互的任何事物。
4.数据库建模主要涉及三个阶段,即建立()模型,()模型和物理模型,E-R图是指()—关系图。
5.()图和()图称为交互图.6.用例与用例之间的关系包括()关系,()关系和()关系。
7.瀑布模型一般适用于(),但不适用于()项目的开发。
8.用例图主要由(),()和关联等模型元素构成。
9.类之间可能有关联,(),(),(),依赖等关系.10.软件生命周期的六个阶段是(),(),(),(),(),运行|维护。
11.分析类分为三种类型:(),()和().12.在设计模型中,可以直接将实体类及其关系映射为关系数据库,类可以映射为(),对象则映射为(),属性映射为().13.设计时通常会将一些公共算法封装成特定的类,这种类被称为()类.14.如果类A和类B是一对多的关系中,即一个类A的中以有0个或多个类B的对象,而一个类B的对象只能有一个类A的对象,在映射为关系数据库的表时,外键应放在()表中。
二、判断题1.设计继承关系时,超类通常被设计为抽象类.()2.螺旋模型特别适用于需求不够明确的软件开发项目,但不适家用于大而复杂的系统。
()3.用例描述中的事件流,应该描述参与者与系统的交互过程。
()4.分析模型是设计模型的输入。
()5.顺序图中的消息映射为发送消息的类中的操作.()6.在多层结构的设计中,包应公依赖于同一层和次下层的包。
()7.类的操作必须定义为公有可见的。
()8.软件开发过程就是编写程序代码的过程。
()9.关联类最常见的用途就是协调多对多关系。
()10.在用例的包含关系中,基础用例可能是,也可能不是一个真实存在的用例,一定会执行被包含用例.()11.类与类之间的泛化关系,即继承关第,是一般元素和具体元素之间的分类关系。
软件工程期末试题(含答案)
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。
结构化分析方法使用_数据流图DFD_与_数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。
软件工程-期末考试题(含答案)
软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。
在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。
1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。
需求获取的方法可以包括面谈、问卷调查、观察等。
通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。
1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。
在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。
通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。
1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。
在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。
需求规格书通常包括用例图、类图、时序图等各种工具和技术。
1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。
在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。
需求验证也可通过模拟测试、原型验证等方式进行。
2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。
下面介绍几个常用的软件设计原则。
2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。
这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。
2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。
这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。
2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。
软件工程期末考试试卷附答案
软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
国开期末考试《软件工程》机考试题及答案(第5套)
国开期末考试《软件工程》机考试题及答案(第5套)一、选择题(每题2分,共20分)1. 以下哪个阶段是软件工程的核心?A. 软件开发B. 软件测试C. 软件维护D. 软件设计答案:A2. 下列哪个不是软件工程的目标?A. 提高软件开发效率B. 提高软件质量C. 降低软件开发成本D. 提高软件开发人员的技术水平答案:D3. 下列哪种方法可以用来减少软件开发中的复杂性?A. 增加开发人员的数量B. 提高开发人员的技术水平C. 采用模块化设计D. 减少开发时间的安排答案:C4. 下列哪个工具不用于软件项目管理?A. 甘特图B. 帕累托图C. 思维导图D. 需求跟踪矩阵答案:B5. 下列哪种编程范式主要用于降低软件的复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A二、填空题(每题2分,共20分)1. 软件工程主要包括______、软件开发、软件维护和软件管理四个阶段。
答案:软件需求分析2. 在软件开发过程中,需求分析是______阶段的工作。
答案:早期3. 软件项目管理主要包括______、人员管理、进度管理和质量控制等方面的工作。
答案:范围管理4. 结构化分析方法主要包括______、数据流图、实体关系图和数据字典等工具。
答案:业务流程图5. 面向对象设计的主要优点是______。
答案:提高软件的可重用性和可维护性三、判断题(每题2分,共20分)1. 软件工程的目标是开发出完全没有错误的软件。
()答案:错误2. 软件开发是一个简单的线性过程。
()答案:错误3. 软件项目管理的主要任务是控制软件开发进度。
()答案:错误4. 结构化设计方法只适用于大型软件系统。
()答案:错误5. 面向对象编程主要解决了软件的可重用性问题。
()答案:正确四、简答题(每题10分,共40分)1. 请简述软件工程的基本目标。
答案:软件工程的基本目标是通过工程化的方法,系统地开发和维护软件,以提高软件的质量、提高软件开发的效率、降低软件开发和维护的成本,同时使软件开发的过程和结果易于理解和易于管理。
国开电大本科《软件工程》期末考试试题及答案
国开电大本科《软件工程》期末考试试题及答案一、选择题(每题2分,共20分)1. 软件工程的三要素是:_______A. 软件开发、软件维护、软件管理B. 软件设计、软件编码、软件测试C. 软件需求分析、软件设计、软件开发D. 软件开发、软件项目管理、软件维护答案:B2. 下面哪个不是软件工程的七个基本活动之一?_______A. 软件规格说明B. 软件设计和实现C. 软件验证D. 软件部署答案:D3. 面向对象方法中,下面哪个不是三大基本特征之一?_______A. 封装B. 继承C. 多态D. 模块化答案:D4. 软件需求分析的主要目的是:_______A. 确定软件的功能和性能要求B. 设计软件的结构C. 编写软件的测试用例D. 确定软件的开发计划答案:A5. 下面哪个不属于软件测试的级别?_______A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D二、填空题(每题2分,共20分)6. 软件生命周期是指软件从_______到_______的全过程。
答案:需求分析、软件退役7. 结构化分析方法主要包括数据流图(DFD)、_______和_______。
答案:实体关系图(ER图)、状态转换图(STD)8. 在软件设计中,设计模式是一种_______的解决方案,它可以解决软件设计中的常见问题。
答案:通用9. 软件编码阶段的主要任务是编写_______和_______。
答案:源代码、文档10. 软件测试的目的是_______,而不是证明软件是正确的。
答案:发现错误三、简答题(每题5分,共25分)11. 简述软件工程的定义及其目标。
答案:软件工程是一门应用计算机科学、数学及管理科学的方法、技术和工具,来定义、开发和维护软件的学科。
软件工程的目标是提高软件的生产率、提高软件的质量、降低软件的成本。
12. 简述面向对象方法的特点。
答案:面向对象方法具有以下特点:(1)封装:将数据和操作数据的方法封装在一起,形成一个对象。
软件工程期末考试题(含答案)
软件⼯程期末考试题(含答案)⼀、选择题1.瀑布模型把软件⽣命周期划分为⼋个阶段:问题的定义、可⾏性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运⾏、维护。
⼋个阶段⼜可归纳为三个⼤的阶段:计划阶段、开发阶段和_。
( C ),A .详细计划B .可⾏性分析C .运⾏阶段 D.测试与排错2.在结构化的瀑布模型中,哪⼀个阶段定义的标准将成为软件测试年勺系统测试阶段的⽬标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可⾏性研究阶段,3.软件⼯程的出现主要是由于(C ) ,A.程序设计⽅法学的影响B.其它⼯程科学的影响C.软件危机的出现D.计算机的发展,4.软件⼯程⽅法学的⽬的是:使软件⽣产规范化和⼯程化,⽽软件⼯程⽅法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发⼯具和软件开发的环境D.开发⼈员的素质5.软件开发常使⽤的两种基本⽅法是结构化和原型化⽅法,在实际的应⽤中,它们之间的关系表现为(B)A.相互排斥B相互补充C独⽴使⽤ D.交替使⽤6.UML是软件开发中的⼀个重要⼯具,它主要应⽤于哪种软件开发⽅法(C)A.基于瀑布模型的结构化⽅法 B.基于需求动态定义的原型化⽅法C.基于对象的⾯向对象的⽅法 D.基于数据的数据流开发⽅法7.在下⾯的软件开发⽅法中,哪⼀个对软件设计和开发⼈员的开发要求最⾼(B)A.结构化⽅法B原型化⽅法C⾯向对象的⽅法 D.控制流⽅法8.结构化分析⽅法是⼀个预先严格定义需求的⽅法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化⽣命周期⽅法将软件⽣命周期划分成(A)A.计划阶段.开发阶段.运⾏阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,⼀般都将开发过程划分为:分析、设计、编码和测试等阶段,⼀般认为可能占⽤⼈员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于⾯向对象⽅法学的软件⽣存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的⽣命周期中的⼋个阶段中,下⾯的⼏个选项中哪个环节出错,对软件的影响最⼤的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运⾏阶段13.从实⽤⾓度看,数据规范化在⼤多数场合选⽤第____范式。
软件工程 期末考试题(含答案)
一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。
( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。
软件工程 期末考试题(含答案)
软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。
软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。
其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。
2. 什么是软件需求工程?请简要阐述软件需求工程的过程。
软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。
软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。
2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。
3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。
4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。
5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。
三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。
1. 需求分析阶段:(1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》期末考试样题
一、填空题
1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型。
2.可行性研究一般可以从经济可行性、技术可行性、运行可行性、法律可行性和开发可行性等方面来研究。
3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为F/(1+i)n。
4.数据流图基本符号包括数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件。
5.Jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述。
6.详细设计的工具有图形工具、表格工具和语言工具。
7.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。
面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法。
二、单项选择题
1.下列()属于系统软件。
A.WINDOWS 2000
B.Word
C.Flash
D.3D MAX
2.下列哪个图是N-S图的构件()。
A.
B.
C. D.
3.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。
A. 制定计划
B. 实施工程
C. 风险分析
D. 程序编码
三、多项选择题
1.软件危机可以表现为(ABCD )。
A.产品不符合用户的需要
B.软件产品的质量差
C.软件的可维护性差
D.软件的价格昂贵
2.Jackson图中一般可能包括(ABCD)。
A.表头
B.表体
C.表名
D.字段名
3.关于内容耦合的描述正确的是(AD )。
A、内容耦合是最高程度的耦合
B、应该尽量使用内容耦合
C、高级语言一般设计成允许内容耦合的形式
D、如果一个模块有多个入口,可能发生内容耦合
4.下列属于不标准的书写格式(BCD)。
A、书写时适当使用空格分隔
B、一行写入多条语句
C、嵌套结构不使用分层缩进的写法
D、程序中不加注释
四、判断题(正确的在括号内打上“√”,错误的打上“×”)
1.软件生存周期是从软件开始开发到开发结束的整个时期。
()
2.系统流程图是一个典型的描述逻辑系统的传统工具。
()
3.数据流图和数据字典共同构成系统的逻辑模型。
(√)
4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。
(√)
5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。
()
6.程序运行过程中出现错误叫做容错。
()
7.软件测试的目的是证明程序没有错误。
()
8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。
()
五、问答题
1.什么是软件生存周期。
答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程
2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。
答:系统流程图是描述物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。
系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。
3.为什么数据流图要分层?
答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。
为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。
4.软件的质量反应为哪些方面的问题?
答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。
在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。
如果不遵守这些开发准则,软件质量就得不到保证。
往往会有一些隐含的需求没有明确地提出来。
如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。
软件质量是各种特性的复杂组合。
它随着应用的不同而不同,随着用户提出的质量要求不同而不同。