软件设计模式A卷期末考核

合集下载

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。

题目一:根据给定的需求文档,设计一个在线购物系统。

请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。

答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。

请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。

答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。

题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。

```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。

《软件工程》期末考试试卷A(答案)

《软件工程》期末考试试卷A(答案)

—南昌大学考试试卷—【适用时间:20 15 ~20 16学年第二学期试卷类型:[ A ]卷】回答要点:----------------------------每一点1分,解释1分1、等价类划分。

等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。

2、界值分析。

该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。

3、错误推测。

错误推测法没有确定的步骤,凭检验进行。

它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。

4、对象模型有哪5个层次?建立对象模型有哪几个步骤?答:主题层、类&对象层、结构层、属性层、服务层。

(1分)1、确定类与对象:(1分)第1步:列出所有候选对象第2步:去粗取精2、确定关联结构层(1分)第1步:收集第2步:筛选删除第3步:完善3、划分主题(0.5分)得分评阅人五、应用题:(每小题 10分,共 20 分)1、某图书馆借阅系统有以下功能:(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。

对于第一次借阅者则直接办理借阅手续。

(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。

请对以上问题,画出分层数据流图2、2、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。

请用等价类划分法设计测试用例。

划分等价类:(5分)设计测试用例:(5分)。

软件设计考试题目和答案

软件设计考试题目和答案

软件设计考试题目和答案一、单项选择题(每题2分,共20分)1. 软件设计的主要目的是()。

A. 提高软件的可读性B. 提高软件的可维护性C. 提高软件的可扩展性D. 以上都是答案:D2. 在软件设计中,模块化的主要优点是()。

A. 减少代码量B. 提高代码复用性C. 减少测试难度D. 降低软件复杂度答案:D3. 面向对象设计中的“封装”概念是指()。

A. 将数据和操作数据的方法组合在一起B. 将所有数据和方法公开C. 将数据隐藏,只提供接口D. 将所有方法隐藏,只提供数据答案:A4. 在软件设计中,耦合度是指()。

A. 模块之间的依赖程度B. 模块之间的独立程度C. 模块内部的复杂程度D. 模块内部的依赖程度答案:A5. 软件设计中的“开闭原则”是指()。

A. 对扩展开放,对修改关闭B. 对扩展关闭,对修改开放C. 对扩展和修改都开放D. 对扩展和修改都关闭答案:A6. 在软件设计中,以下哪个不是软件架构的风格()。

A. 管道-过滤器风格B. 事件-驱动风格C. 面向对象风格D. 过程式编程风格答案:D7. 在软件设计中,以下哪个不是软件设计的基本原则()。

A. 模块化B. 抽象C. 继承D. 封装答案:C8. 软件设计阶段的主要任务不包括()。

A. 需求分析B. 概要设计C. 详细设计D. 编码实现答案:A9. 在软件设计中,以下哪个不是软件设计模式的分类()。

A. 创建型模式B. 结构型模式C. 行为型模式D. 管理型模式答案:D10. 在软件设计中,以下哪个不是软件设计文档的组成部分()。

A. 需求规格说明书B. 软件架构文档C. 用户手册D. 测试计划答案:C二、多项选择题(每题3分,共15分)1. 软件设计过程中可能需要考虑的因素包括()。

A. 性能要求B. 安全性要求C. 可维护性要求D. 法律法规要求答案:ABCD2. 以下哪些是软件设计模式的常见类型()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD3. 在软件设计中,以下哪些是提高模块独立性的方法()。

软件设计模式与应用实例考核试卷

软件设计模式与应用实例考核试卷
B.容器类
C.叶节点类
D.组合类
18.以下哪个模式用于封装一系列的行为,并将每一个行为封装为一个对象?()
A.策略模式
B.模板方法模式
C.状态模式
D.职责链模式
19.在中介者模式中,以下哪个角色负责定义与各个同事类相互作用的接口?()
A.中介者
B.同事类
C.客户端
D.抽象中介者
20.以下哪种模式主要用于在系统中分离抽象和实现部分?()
10. ______模式通过定义一个中介对象来简化原有对象之间的交互关系。
四、判断题(本题共10小题,每题1分,共10分,正确的请在答题括号中画√,错误的画×)
1.设计模式是为了解决软件设计中的特定问题而提出的一系列解决方案。()
2.单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。()
A.抽象工厂
B.具体工厂
C.抽象产品
D.具体产品
8.以下哪种情况适合使用策略模式?()
A.算法的稳定不变
B.多个类只区别在表现行为不同
C.需要控制对象的创建
D.需要简化对象的组合
9.适配器模式的目的是()
A.将一个接口转换成客户希望的另一个接口
B.封装多个对象为一个对象
C.定义一个操作中的算法的骨架
3.装饰器模式在不改变接口的前提下,动态地给一个对象添加一些额外的职责。与代理模式区别在于,代理模式控制对对象的访问,装饰器模式则是添加职责。
4.命令模式将请求封装成对象,实现请求的发送者和接收者解耦。优点:易于扩展新命令,可以组合命令,支持撤销操作等。在图形编辑软件中,每个图形操作可对应一个命令对象。
A.命令模式
B.观察者模式
C.职责链模式

2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)

2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)

2020-2021《软件体系结构》期末课程考试试卷A专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。

()2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。

()3. 软件架构的风格、软件体系的框架和软件的设计模式,其实就是同一个概念。

()4.在C2风格的系统中每个构件和连接件都有一个顶部一个底部。

构件的顶部与某连接件的底部连接,构件的底部与某连接件的顶部连接,构件与构件之间也可以直接连接。

()5.可修改性战术的主要目的是减少由某个变更直接或者间接影响的模块的数量。

()6. 设计师对系统的质量属性应平等看待,在系统设计中全部予以解决。

()7.应将产生数据的模块和使用数据的模块分离开。

()8. 构架评审中对所有问题都要一视同仁。

()9.通过ATAM评审可以得到明确的量化指标。

()10.根据架构提供的结构图就可以对组件之间的行为进行判断。

()二大题:名词解释题(共2小题,每小题8分,共16分)1. 什么是软件架构2.什么软件架构风格?三大题:论述与应用题(共5小题,1—4小题,每题10分,第5小题24分,共64分)1. 功能,架构,质量属性之间的关系?2.可用性和可靠性有什么区别?3.为什么软件设计中要应用架构样式?4.在用户登录的过程中,需要到后台数据库进行身份验证,试以JSP页面验证技术的发展说明不同战术对质量属性的影响。

5.请根据所学的知识对你的暑期实训作业进行架构设计(应至少包括:➀项目背景、➁需求分析、➂系统架构设计、➃构架的表述、➄质量属性效用树、➅对系统构架的再分析等几个部分)。

院系:专业班级:姓名:学号:装订线2020-2021《软件体系结构》期末课程考试试卷A答案专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。

(错)2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。

软件工程期末考试A卷及答案

软件工程期末考试A卷及答案

软件工程期末考试A卷及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素包括()。

A. 工具、方法和过程B. 工具、方法和环境C. 方法、过程和环境D. 方法、工具和环境答案:C2. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。

A. 客户对需求理解的不完整B. 客户对需求理解的不准确C. 客户对需求理解的不清晰D. 客户对需求理解的完全正确答案:D4. 软件测试的目的是()。

A. 证明软件是正确的B. 发现软件中的错误C. 证明软件没有错误D. 证明软件是完美的答案:B5. 以下哪项不是软件维护的类型()。

A. 纠错性维护B. 适应性维护C. 完善性维护D. 创新性维护答案:D6. 在面向对象方法中,类的实例称为()。

A. 对象B. 实体C. 组件D. 模块答案:A7. 以下哪项不是软件工程中的项目管理活动()。

A. 风险管理B. 配置管理C. 需求管理D. 系统分析答案:D8. 软件工程中的“软件危机”主要指的是()。

A. 软件成本过高B. 软件质量低下C. 软件进度延误D. 以上都是答案:D9. 以下哪项不是软件复用的优点()。

A. 提高开发效率B. 降低开发成本C. 增加软件复杂性D. 提高软件质量答案:C10. 在敏捷开发方法中,以下哪项不是其核心价值()。

A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 客户合作高于合同谈判D. 遵循计划高于适应变化答案:D二、多项选择题(每题3分,共15分)1. 软件工程的主要目标包括()。

A. 提高软件生产率B. 提高软件质量C. 降低软件成本D. 提高软件的可维护性答案:ABCD2. 软件需求分析阶段的输出包括()。

A. 需求规格说明书B. 用户手册C. 系统设计说明书D. 数据字典答案:AD3. 软件测试的类型包括()。

《软件测试技术》期末A卷及参考答案

《软件测试技术》期末A卷及参考答案

单项选择题:共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.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是()(A)大棒模式(B)边写边改模式(C) 瀑布模式(D)快速原型开发模式12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的()(A)判定覆盖(B)条件覆盖(C) 判定/条件覆盖(D)组合覆盖13.下列说法不正确的是()(A)测试不能证明软件的正确性;(B)测试员需要良好的沟通技巧;(C)QA与testing属于一个层次的概念;(D)成功的测试是发现了错误的测试。

07软件工程期末考试卷(A)

07软件工程期末考试卷(A)

姓名:______________ 学号:_________________专业:______________ 考试日期:_________________一、选择题(共40分,每个选择框1分)1. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

为高质量地开发软件项目,在软件结构设计时,必须遵循( E )原则。

供选择的答案:A:①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B:①需求分析②需求调查③可行性分析④问题定义C、D:①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计E:①信息隐蔽②质量控制③程序优化④数据共享2. 软件需求分析的任务不应包括( A )。

进行需求分析可使用多种工具,但( B )是不适用的。

在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。

需求规格说明书的内容不应当包括( D )。

该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。

供选择的答案:A:①问题分析②信息域分析③结构化程序设计④确定逻辑模型B:①数据流图②判定表③PAD图④数据词典C:①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率如何④要让软件具有什么样的结构D:①对重要功能的描述②对算法的详细过程性描述③软件确认准则④软件的性能E:①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据④软件可行性分析的依据3. 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。

它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。

供选择的答案:A. ①需求不确定性高的②需求确定的③管理信息④决策支持B. ①用户界面使用手册②用户界面需求分析说明书③系统界面原型④完善的用户界面C. ①改进用户界面的设计②阅读文档资料③模拟用户界面的运行④运行用户界面原型D.①同意什么和不同意什么②使用和不使用哪一种编程语言③程序的结构④执行速度是否满足要求E.①自外向内②自顶向下③自内向外④自底向上4. 从下列关于模块化程序设计的叙述中选出5条正确的叙述:供选择的答案:①程序设计比较方便,但比较难以维护;②便于由多个人分工编制大型程序;③软件功能便于扩充;④程序易于理解,也便于排错;⑤在主存储器能够容纳的前提下,应使模块尽可能大,以便减少模块的个数;⑥模块之间的接口叫做数据文件;⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块;⑧模块间的单向调用关系叫做模块的层次结构;⑨模块越小模块化的优点越明显。

《软件工程》期末考试试卷(A卷)含答案(2)

《软件工程》期末考试试卷(A卷)含答案(2)

2016‐2017 学年第2 学期《软件工程》期末考试试卷(A 卷)一、单项选择题(共20 题,每题2 分)1、软件工程的出现主要是由于。

A). 程序设计方法学的影响 B). 其他工程科学的影响C). 软件危机的出现 D). 计算机的发展2、可行性研究的目的是。

A). 争取项目 B). 确定项目是否值得开发C). 确定系统需求 D). 深入调研用户需求3、从结构化的瀑布模型看,软件生命周期的各个阶段中,下面哪个环节出错,对软件的影响最大_________。

A).总体设计阶段 B).实现阶段 C).需求分析阶段 D).详细设计阶段4、DFD中的每个加工至少需要A). 一个输入流 B). 一个输出流C). 一个输入或输出流 D). 一个输入流和一个输出流5、层次图中上下层间的关系是________。

A).调用关系 B).组成关系 C).继承关系 D).嵌套关系6、一个设计得好的系统应该具有特征。

A). 低内聚、低耦合 B). 高内聚、低耦合C). 高内聚、高耦合 D). 低内聚、高耦合7、下列关于Jackson方法的叙述,观点不正确的有。

(A)Jackson方法是根据目标系统的输入、输出数据结构导出程序的结构的一种方法(B)Jackson方法适合大型实时系统的开发(C)Jackson方法适合于开发以数据为主,计算较简单的事务型数据处理系统(D)Jackson方法对模块与独立性原则没有给予应有重视,未提供对复杂设计过程的技术支持8、将下列块内联系的类型按模块独立性由强到弱的顺序排列的是。

①模块中包含的任务必须在同一时间段内执行②模块内所有的成分构成一个整体,仅完成一个单一的功能③模块中所有元素都使用同一个输入数据或产生同一个输出数据④一组语句在程序中多次出现,为节省空间把这组语句独立出来作为一个模块(A)①②③④(B)④①③②(C)②③①④(D)②①④③9、软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们A).前者属于静态测试,后者属于动态测试 B).都属于静态测试C).前者属于动态测试,后者属于静态测试 D).都属于动态测试10、下面不是对象具有的特性。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件⼯程期末试卷(⼗套含答案)百度⽂库软件⼯程期末试题(对部分发现的错误进⾏了修正)原链接:软件⼯程知识点简要总结:设计模式 —— OOP七⼤原则 + 23种设计模式:单项选择题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卷)

《软件工程》期末考试试卷(A卷)

2016-2017学年度第一学期 2014级信安《软件工程》期末考试试卷(A卷)第一部分.单选题(共30分,每小题1分)软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指 1 。

在软件工程思想提出之前,开发软件所需的高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 2 ,产生它的原因是 3 。

为了解决这种矛盾,人们提出用工程化的原则指导软件的生产、维护和管理,以达到 4 的目标。

1.(A). 原型化方法(B). 面向对象方法(C). 结构化方法(D). Jackson方法2.(A). 软件投机(B). 软件过程(C). 软件生命周期(D). 软件危机3.(A). 不重视需求,开发过程中缺乏科学的方法(B). 开发过程中管理困难(C). 软件本身的特点(D). 以上都是4.(A). 获取需求(B). 消除软件固有的复杂性(C). 努力发挥开发人员的潜能(D). 经济地开发出高质量的软件5 是软件生存期中的一系列相关软件工程活动或任务的框架,它规定了完成各项任务的步骤,有多种典型的软件过程模型,其中,瀑布模型是6 ;增量模型是7 ,快速原型模型是8 ,喷泉模型是9 。

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卷)(附答案)

软件工程期末试卷试题(A卷)(附答案)

cheng《软件工程》期末试卷(A卷)一.单项选择题(每小题1分,共22分)1.对象实现了数据和操作的结合,使数据和操作( 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.( A )意味着一个操作在不同的类中可以有不同的实现方式。

A.多态性B.多继承C.类的可复用D.信息隐藏7.单元测试的测试用例主要根据( D )的结果来设计。

A.需求分析B.源程序C.概要设计D.详细设计8.随着软硬件环境变化而修改软件的过程是( B )。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。

A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖10.结构化程序设计的一种基本方法是( C )。

A.筛选法B.迭代法C.逐步求精法D.递归法11.不适合作为科学工程计算的程序设计语言是( D )。

A.Pascal B.CC.Fortran D.Prolog12.只有单重继承的类层次结构是( C )层次结构。

A.网状型B.星型C.树型D.环型13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。

A.Booch方法B.Coad方法C.UML语言D.OMT方法14.瀑布模型本质上是一种( A )。

A.线性顺序模型B.顺序迭代模型C.线性迭代模型D.及早见产品模型15.软件维护产生的副作用,是指( C )。

软件关键工程期末考试卷A重点标准答案

软件关键工程期末考试卷A重点标准答案

②设计成果重用
③分析成果重用
评分原则:软件成分旳重用共分三个级别,每答对一种级别得1.7分。

5.设计任务管理子系统有哪7个任务?
①拟定事件驱动型任务
②拟定期钟驱动任务
③拟定优先任务
④拟定核心任务
⑤拟定协调任务
⑥尽量减少任务数
⑦拟定资源需求
评分原则:设计任务管理子系统共分7个任务,每答对一种任务得0.7分。

三、某校教务系统具有如下功能,输入顾客ID号及口令后,经验证进入教务管理系统,可进行如下功能旳解决:〖合计15分〗;
1.查询成绩:查询成绩以及从名次表中得到名次信息;
2.学籍管理:根据学生总成绩排出名次信息;
3.成绩解决:解决单科成绩并输入成绩表中。

就以上系统功能画出顶层和0层旳DFD。

顶层DFD:
评分原则:每回答对旳一种模块旳内容得1分,三个模块共3分;每回答对旳箭头上旳一种解决得1分,两个解决共2分,总共5分。

软件工程A 期末考试试题及参考答案

软件工程A 期末考试试题及参考答案
C).系统分析员、软件开发人员D).系统分析员、软件开发人员、用户、使用部门负责人
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检查软件产品是否符合需求定义的过程称为()

(完整word版)软件设计模式A卷期末考核

(完整word版)软件设计模式A卷期末考核

东北大学继续教育学院软件设计模式试卷(作业考核线上) A 卷学习中心:黑龙江漠河奥鹏学习中心[17]院校学号:C54570212090015 姓名牟雷(共 5 页)1. C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性:A、封装、继承和多态B、类、对象和方法C、封装、继承和派生D、封装、继承和接口2. 下列语句创建了多少个string 对象?string[,] strArray = new string[3][4];A. 0B. 3C. 4D. 123. 关于结构类型,下列说法哪些是正确的?A. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针4. 在c#程序中,入口函数的正确声明为:A. static int main(){……}B. static void Main(){……}C. static void main(){……}D. void Main(){……}5. 在C#中,引用命名空间system 的正确语句是:A. using System;B. #import <System>;C. uses System;D. #include <System>;6. MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象?MyClass[ , ] myArray = new MyClass[2][3];A. 0B. 2C. 3D. 67. 已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n的值为:int a,b,c,n;if (c < b)n = a + b + c;else if (a + b < c)n = c - a - b;elsen = a + b;A. 3B. -3C. 9D. 158. 下列说法哪个正确?A. 不需要定义类,就能创建对象B. 属性可以定义为抽象的C. 对象中必须有属性和方法D. 常量不能作为类成员9. 在类的外部可以被访问的成员是:A. public成员B. private成员C. protected成员D. protected internal成员10. C#语言源代码文件的后缀名为:A. .C#B. .CCC. .CSPD. .CS11. C#中导入某一个命名空间的关键字是:A. usingB. useC. importD. include12. 方法中的值参数是_________的参数。

《软件工程》期末考试(A)卷

《软件工程》期末考试(A)卷

《软件工程》期末考试(A)卷一、填空题(在括号内填写正确的答案,每空1分,共25分)1.详细设计的工具有、表格工具和。

(图形工具语言工具)2.IPO图由、处理和三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

(输入输出)3.面向对象技术是一整套关于如何看待和的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。

面向对象方法是一种运用、、、、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

(软件系统现实世界对象类继承封装)4.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的。

(逆向工程)5.程序测试是对编码阶段的语法错、和进行查找的编码执行活动。

(语义错运行错)6.软件工程学的基本原则包括、、一致性、确定性等。

(分解独立性)7.软件生存周期一般可分为、可行性研究、、设计、编码、、运行与维护阶段。

(问题定义需求分析测试)8.成本估计方法主要有、和算法模型估计三种类型。

(自顶向下估计自底向上估计)9.数据流图的基本符号包括、、、。

(数据输入的源点和数据输出的汇点加工数据流数据存储文件)10.JSD是一种典型的的分析设计方法。

(面向数据结构的)二、单项选择题(将一个正确的答案代码填入括号中,每小题2分,共10分)1.下列哪种方法不是度量效益的方法( B )。

A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入2.下列描述错误的是( D )。

A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向3.下列哪个阶段不属于软件生存期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段4.下列哪个图不是N-S图的构件( C )。

5.对于下列各图,有关描述中正确的是(A )。

A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B(不能同时)输入,变换成CXYA、WHILE MBB、XYC、UNTIL NCD、BCBCC第 1 页共3 页共 3 页三、多项选择题(将正确的答案代码填入括号中,每小题3分,共15分)1.关于内容耦合的描述正确的是( AD )。

软件设计模式试题集(含答案)

软件设计模式试题集(含答案)

1. Facade 模式可以用来(隐藏)系统。该模式能够将系统作为自己的私有成员包含进来。
2. Façade 模式要解决的问题:只需要使用一个复杂系统的一个(子集)。或者,需要用一种特殊的方式与系统交互。
3. Façade 模式不仅可以为方法调用创建更(简单)的接口,还可以减少客户必须处理的对象数量。
4. Façade 外观模式的解决方案是向客户展现使用现有系统的一个新的(接口)。 三.判断
1. Façade(外观)模式不仅可以为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。对
2. 外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。错
3. Façade 模式为子系统中的一组接口提供的界面可能不一致。错
承本质上是“白盒复用”,对父类的修改,不会影响到子类。
2. 在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在( )。
A 外观模式(Facade)
B 装饰模式(Decorator)
C 策略模式(Strategies)
D 桥接模式(Bridge)
3. 行为类模式使用( )在类间分派行为。
4. Adapter 模式不是必须针对某个接口进行设计。错 四.名词解释 1. Adapter 模式
将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使原本由于接口不兼容而不能一起工作的那些 类可以一起工作。
2. 对象 Adapter 模式
使用 Adapter 模式与适当的抽象类相匹配,它通常依赖于一个对象(适配对象)包含另一个对象(被适配对象)。
1. 根据你的理解,请分析 Façade 模式比 Adapter 模式的相同点和不同点,并说明它们在实际应用中的差异? 在两

南昌大学2013~2014软件工程期末试卷A卷及答案

南昌大学2013~2014软件工程期末试卷A卷及答案

2、( 问题定义 )是软件生存周期的第一个时期。
3、( 总体设计 )的第二项任务是设计软件的结构,即确定模块以及模块之间的关系。
4、在结构化分析中,( 数据流图 )和( 数据字典 )共同构成系统的逻辑模型。
6、数据流图有四种成分:源点或终点、处理 、( 数据存储 )、( 数据流
)。
6、模块独立可以有( 耦合性 )和( 内聚度 )定性标准度量。。
—南 昌 大 学 考 试 试 卷—
【适用时间:20 13 ~20 14 学年第 一 学期 试卷类型:[ A ]卷】
课程编号:
Z6103B004
试卷编号:
课程名称: 软件工程 教
师 开课学院:
信息工程学院
考试形式:
闭卷
填 适用班级:
2011 级各班
考试时间:
120 分钟


1、本试卷共 8 页。
试卷说明: 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
参考答案: 划分等价类
设计测试方案
第8页 共9页
第9页 共9页
7、结构化方法由结构化分析、( 结构化设计 )、结构化程序设计构成,它是一种面向 ( 数据流 )的开发方法。
8、一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦 合方式是( 控制耦合 )。
9、任何程序都可由( 顺序 )、( 选择 )、( 循环 )三种基本控制结构构造。
第3页 共9页
1、 指出如下数据流图的三个错误。
E1
DF2 DF5
P2
得 分 评阅人
DF1
DS1
DF6 DF3
DF4
E2
DF2
P1
参考答案: 错误一:数据流 DF1 直接从数据源 E1 到数据源 E2。 错误二:数据流 DF5 从数据源 E1 直接到数据存储 DS1。 错误三:加工 P2 有两个输入但没有输出。

东北大学“计算机科学与技术”《软件设计模式》23秋期末试题库含答案

东北大学“计算机科学与技术”《软件设计模式》23秋期末试题库含答案

东北大学“计算机科学与技术”《软件设计模式》23秋期末试题库含答案第1卷一.综合考核(共20题)1.在C#中,引用命名空间system的正确语句是()。

ing System;B.#import;es System;D.#include;2.类是对具有公共的方法和一般特殊性的一组基本相同对象的描述。

()A.正确B.错误3.分析下列程序中类MyClass 的定义class BaseClass{public int i;}class MyClass:BaseClass{public new int i;}则下列语句在Console 上的输出为_______.MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine("{0}, {1}",x.i,y.i);A.0,0B.100,100C.0,100D.100,04.下面是几条动态初始化二维数组的语句,指出其中正确的:()A.int arr5[][]=new int[4,5];B.int[][]arr6=new int[4,5];C.int arr7[,]=new int[4,5];D.int[,]arr8=new int[4,5];5.下列说法哪个正确?()A.允许一个子类有多个父类B.某个类是一个类的子类,它仍有可能成为另一个类的父类C.一个父类只能有一个子类D.继承关系最多不能超过4层6.判断下列类MyClass的定义中哪些是合法的抽象类?()A.abstract class MyClass{ public abstract int getCount();}B.abstract class MyClass{ abstract int getCount();}C.private abstract class MyClass{ abstract int getCount();}D.sealed abstract class MyClass{ abstract int getCount();}7.与事件关联的方法,其方法名必须与事件名相同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北大学继续教育学院软件设计模式试卷(作业考核线上)A 卷学习中心:黑龙江漠河奥鹏学习中心[17]院校学号:C54570212090015 姓名牟雷(共 5 页)总分题号一二三四五六七八九十得分一:单选题(共40分,20小题,每小题2分。

请将答案填入下表)题号12345678910答案A D A B A D D B A D 题号11121314151617181920答案A A D D C C B C D A 1. C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性:A、封装、继承和多态B、类、对象和方法C、封装、继承和派生D、封装、继承和接口2. 下列语句创建了多少个string 对象?string[,] strArray = new string[3][4];A. 0B. 3C. 4D. 123. 关于结构类型,下列说法哪些是正确的?A. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针4. 在c#程序中,入口函数的正确声明为:A. static int main(){……}B. static void Main(){……}C. static void main(){……}D. void Main(){……}5. 在C#中,引用命名空间system 的正确语句是:A. using System;B. #import <System>;C. uses System;D. #include <System>;6.MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象?MyClass[ , ] myArray = new MyClass[2][3];A. 0B. 2C. 3D. 67. 已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n 的值为:int a,b,c,n;if (c < b)n = a + b + c;else if (a + b < c)n = c - a - b;elsen = a + b;A. 3B. -3C. 9D. 158. 下列说法哪个正确?A. 不需要定义类,就能创建对象B. 属性可以定义为抽象的C. 对象中必须有属性和方法D. 常量不能作为类成员9. 在类的外部可以被访问的成员是:A. public成员B. private成员C. protected成员D. protected internal成员10. C#语言源代码文件的后缀名为:A. .C#B. .CCC. .CSPD. .CS11. C#中导入某一个命名空间的关键字是:A. usingB. useC. importD. include12. 方法中的值参数是_________的参数。

A. 按值传递B. 按引用传递C. 按地址传递D. 不传递任何值13. 结构化程序设计的3种结构是:A. 顺序结构、if结构、for结构B. if结构、if…else结构、else if结构C. while结构、do…while结构、foreach结构D. 顺序结构、分支结构、循环结构14. 以下关于类和对象的说法中,不正确的是:A. 类包含了数据和对数据的操作B. 一个对象一定属于某个类C. 类是同一类对象的抽象D. 可由抽象类生成对象15.下列关于构造函数的描述正确的是:A.构造函数可以声明返回类型B.构造函数不可以用private 修饰C.构造函数必须与类名相同D.构造函数不能带参数16. 分析下列C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1{class MyClass{public class subclass{int i;}}}若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择:A. privateB. protectedC. internalD. public17. 在类的定义中,类的_______描述了该类的对象的行为特征。

A.类名B.方法C.所属的名字空间D.私有域18.C#语言中,下列能够作为变量名的是____。

A. ifB. 3abC. a_3bD. a-bc19.能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是____。

A. a>=10 or a<=0B. a>=10|a<=0C. a>=10&&a<=0D. a>=10||a<=020.以下关于for循环的说法不正确的是____。

A. for循环只能用于循环次数已经确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。

二:判断题(共20分,20小题,每小题1分。

请将答案√或×填入下表)题12345678910号答×√××√√××√×案题11121314151617181920号答××√√×××××√案1.软件危机是二十一世纪软件领域出现的新问题。

2.数据流分析技术是结构化分析方法的核心技术。

3.从提出软件开发计划的那一刻起开始直到软件投入实际应用为止可以认为是一个完整的软件生存周期。

4.喷泉模型主要用于面向过程的软件项目。

5.类是所有某一类对象的共同的行为和不同状态的集合体。

6.利用多重继承虽然可以提高类的共享程度,但也会增加系统的复杂程度。

7.面向对象程序设计应该遵循低内聚、高耦合的原则。

8.人机交互子系统的设计内容就是用户如何命令系统。

9.作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

10.状态图、顺序图、协作图和部署图属于动态建模机制。

11.顺序图和协作图虽然都是用来描述交互的,但顺序图强调的是空间,而协作图强调的是时间。

12.面向对象设计中的"开-闭"原则指的是软件对修改应该是开放的,对扩展应该是关闭的。

13.单一职责原则、里氏代换原则、依赖倒置原则等,都可以看成是“开放-封闭”原则的实现方法。

14.一般来说,继承必须确保超类所拥有的性质在子类中仍然成立。

15.当一个超类的实例能够替换任何其子类的实例时,它们之间才具有is-A关系。

16.工厂方法是抽象工厂模式的扩展。

17.结构型模式在破坏类的封装性的基础上,实现新的功能。

18.数组作为函数的参数时默认的传递形式是按值传递。

19.具有抽象方法的类必须声明为abstract。

20.重载是进行基类中函数的重写。

三:简答题(共25分,5小题,每小题5分。

)1. 什么是设计模式?答:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

2. 面向对象设计中需要遵循哪些原则?为什么要遵循这些原则?答:(1)"开-闭"原则:软件对扩展应该是开放的,对修改应该是关闭的。

(2)单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。

(3)里氏代换原则:继承必须确保超类所拥有的性质在子类中仍然成立(4)依赖倒置原则:如果一个类的一个成员或参数为一个具体类型,那么这个类就依赖于那个具体类型。

3. 什么是面向对象软件开发的“开放-封闭”原则?其优点有哪些?答:所谓开放封闭原则就是软件实体应该对扩展开发,而对修改封闭。

优点:按照开放-封闭原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。

当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能。

增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试。

4. 结构型模式的功能有哪些?答:结构型模式能够解决如下几个方面的问题:(1)在不破坏类的封装性的基础上,实现新的功能;(2)在不破坏类的封装性的基础上,使得类可以同不曾估计到的系统进行交互;(3)创建对一组类的统一的访问接口;(4)对同一类,创建不同的访问界面,提供给不同的访问者5. 试简述抽象工厂模式。

答:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。

抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。

抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。

四:综合题(共15分)假设你现在是一家快餐店的的管理者,要给顾客提供一系列的食品,如鸡翅、鸡腿等,顾客每要求一种食品,快餐店应当很快“生产”出来。

请采用工厂模式来实现这个过程,用C#语言编写相应的类代码。

答: //抽象的KFC食品,Product角色public abstract class KFCFood{public abstract void show();}//下面两个类表示两种具体的KFC食品,它们继承了抽象的KFC食品Concrete Product1角色public class Chicken: KFCFood{public override void show(){Console.WriteLine(“鸡腿+1”);}}//Concrete Product2角色public class Wings: KFCFood{public override void show(){Console.WriteLine(“鸡翅+1”);}}//产品工厂,Factory角色interface IKFCFactory{KFCFood CreatFood();}//鸡翅膀工厂,ConcreteFactory角色public class WingsFactory: IKFCFactory{public KFCFood CreateFood(){return new Wings();}}//鸡腿工厂,ConcreteFactory角色public class ChickenFactory: IKFCFactory{public KFCFood CreateFood(){return new Chicken();}}Static void Main(String[] args){//定义一个鸡腿工厂IKFCFactory factory=new ChickenFactory() //生产鸡腿KFCFood food1=factory.CreateFood();food1.show();//生产鸡腿KFCFood food2=factory.CreateFood();food2.show();//生产鸡腿KFCFood food3=factory.CreateFood(); food3.show();Console.Read();}。

相关文档
最新文档