(满分100分)
考试时间:120分钟(可根据具体情况适当调整) 1. 单项选择题(每题2分,共20分)
(1) 以下哪一项不属于软件工程三要素( )。
A. 过程 B. 方法 C. 工具 D. 计划
(2) 以下哪一项不属于软件管理过程( )。
A. ISO9000 B. CMM
C. IEEE 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. 包含关系、扩展关系
2. 填空题(每题2分,共20分)
(1) (2) (3) (4)
需求分析员参与客户需求调研,撰写________________。 _______________是软件策划的核心、重点与难点。 软件由程序、数据和______________组成。
______________是软件设计的基础,______________是软件开发的核心。
(5) 需求分析分为两个阶段,_______________阶段和需求规约阶段。 (6) 对象图的组成元素包括对象和______________。 (7) 包的作用为__________内聚,___________耦合。 (8) 活动图中必须有且仅有一个______________标记。
(9) 对于一个组件而言,它有提供接口和________________两类接口。 (10) 动态测试的两种方法为黑盒测试和____________测试。
3. 简答题(每题5分,共20分)
(1) (2) (3) (4)
请简述什么是可行性研究。 对象模型的多态性指的是什么。
软件测试和软件调试的区别是什么(至少两点)。 螺旋模型有什么优点(至少两点)。
4. 画出求两个数m和n的最大公约数的N-S图(提示:辗转相除法)(10分) 5. 某图书馆借书流程为:
(1) 读者提交索书单,系统查看读者记录进行读者鉴别,并存储借阅记录文件。
(2) 系统查询图书文件,进行存书查询,若图书未借出,向书库发送出库单并修改
借阅记录文件和图书文件;如果图书已借出,向读者发有人借阅通知。 请画出该借书过程的顶层数据流图(15分)
6. 公司之间商谈事宜的参与对象可以分为客户、业务员和公司行政部,对于如
下一个协商场景,请用活动图描述其过程(15分)
a) b) c) d) e) f)
公司业务员打电话给客户,确定一个约定
如果约定的地点是在公司内部,那么行政部的同事需要为会面安排一间会议室 如果约定的地点时在公司外部,那么业务员需要用笔记本准备一份陈述报告 业务员与客户在约定的时间和地点见面 业务员准备好会议用纸
如果会议产生一个陈述,业务员需要记录下来备案。
参
1. 单项选择题
(1)D (6) A
(2) C (7)C
(3) D (8)A
(4)A (9)B
(5)B (10)D
2. 填空题
(1)需求文档 (2) 软件估计 (3)文档 (4) 软件需求 软件设计 (5)需求获取 (6)链 (7)高 低 (8)开始 (9)需求接口 (10)白盒
3. 简答题
(1)可行性研究就是指在项目进行开发之前,对该项目是否能在特定的资源、时间等制约条件下完成做出评估,并且确定它是否值得去开发。可行性研究的目的不在于如何去解决问题,而在于确定问题是否值得去解决,是否能够解决。
(2)是指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。 (3)
软件测试从一个侧面证明程序员的“失败”,而调试是为了找到程序员“失败”的准确位置;
测试是以已知条件开始,使用预先定义的测试用例,且有预知的正确结果,不可预见的,仅是程序是否通过测试,而调试一般是以不可知的内部条件开始,结果是不可预见的;
测试是有计划的,要进行测试用例设计,而调试是无计划的,不受时间约束;
测试是发现错误,相关人员修改后,验证错误是否被修复的过程,而调试是一个推理判断过程;
测试的执行是有规程的,而调试的执行往往靠灵感的产生。 (4)
与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,从而降低了软件开发风险。
螺旋模型对可选方案和约束条件的强调,有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。
减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险。 螺旋模型中维护只是模型的另一个周期,和开发之间并没有本质区别。
4.
图表 1 求最大公约数的N-S图
5.
图表 2 图书借阅数据流图
6.
图表 3 协商流程活动图
《软件工程》期末试卷(二 )
考试时间:120分钟(可根据具体情况适当调整)
1.判断题(每题2分,共20分,正确打√,错误打×)
(1)单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是系统功能。( )
(2)C语言是一种面向过程的计算机编程语言,有高级语言的特点,但不具有汇编语言的特征。( )
(3)黑盒测试只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,而不考虑模块的内部执行与程序结构。( ) (4)数据流图明了业务用例实现的工作流程。( )
(5)增量模型把瀑布模型的顺序特征与快速原型法的迭代特征相结合。( )
(6)软件工程是:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;以及在上述所述方法的研究。( ) (7)一般来说,类应该具有操作,属性以及类名。( ) (8)集成测试的测试对象包括单元间的接口。( )
(9)在UML中,包图是一种数据结构,其中可包含附属包、图表或单个元素。( )
(10)软件的开发工作中,为了保证工作的进度,开发工作与测试工作应交给同一部分人完成。( )
2.单项选择题(每题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 PAD B SA C SC D DFD
3.简答题(每题5分,共20分)
(1)请简述软件从不同角度的分类。 (2)软件工程的目标是什么。 (3)软件维护有哪些内容。
(4)什么是软件生存周期,它有哪几个活动。
4.请根据附图1设计相关的类图(共10分)
uc use case model制定库存计划计划部人员授权制定采购计划采购部采购商品管理员职员制定出货单销售部登录人员注册安排商品入库库存部安排商品出库
附图1 用例图
5. 宾馆客房业务管理提供客房预订、预订变更、客房入住、退房结帐、 旅客信息查询几个方面的功能。订房人可以通过电话、短信、网络或面对面等方式预订客房。允许预订人根据自己情况的变化更改预订信息。旅客入住客房前需要出示证件并登记,并要预交一定的押金。旅客提交押金后,柜台工作人员将在电脑上登记旅客信息,分配房间,并打印旅客入住单,旅客持入住单到指定客房入住。旅客离开宾馆前需要退房结账。旅客或宾
馆管理人员可以随时查询旅客或客房的入住信息。建立该问题的用例图。(共15分)
6. 设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。 现用等价类划分法设计测试用例,来测试程序的\"日期检查功能\"。(共15分)
参
1. 判断题
(1)√ (6)√
(2)× (3)√ (7)√ (8)√
(4)× (5)√ (9)× (10)×
2. 单项选择题
(1)A (6)B
(2)B (3)A (7)D (8)B
(4)B (5)A (9)B (10)A
3. 简答题
(1)
①按照功能不同可分为系统软件、支撑软件、应用软件 ②按照软件服务对象不同可分为通用软件、定制软件
③按照软件产品规模不同可分为小型软件、中型软件、大型软件
④按照工作方式可分为实时软件、分时软件、交互式软件、批处理软件 (2)
①达到要求的软件功能 ②取得较好的软件性能 ③开发出高质量的软件 ④付出较低的开发成本 ⑤需要较低的维护费用
⑥能按时完成开发工作,及时交付使用 (3)
①校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和校正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。 ②
适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变 化而修改软件的过程称为适应性维护。 ③
完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动 称为完善性维护。 ④
预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。 (4)
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。 4. 根据附图1(用例图)设计的类图如附图2所示:
附图2 类图
5.该问题的用例图如附图3所示:
uc Use Case Model宾馆客房管理查询房间信息预定信息查询客房预订旅客入住«include»打印入住单退房结账«include»工作人员预订变更订房人打印取消预订查询旅客入住信息
附图3
6. 画出该问题的等价类表,并为每个等价类进行编号,如附表1所示
输入条件日期的类型及长度年份范围月份范围有效等价类6位数字字符 (1)在1990~2049之间 (5)在01~12之间 (8)表1
无效等价类有非数字字符 (2)少于6位数字字符 (3)多于6位数字字符 (4)小于1990 (6)大于2049 (7)等于00 (9)大于12 (10) 根据等价类表,设计的该问题测试用例如附表2所示
序号12345678
测试数据20021195June20036200100619122001200100200113表2
覆盖等价类(1),(5),(8)(2)(3)(4)(6)(7)(9)(10)结果有效无效无效无效无效无效无效无效
《软件工程》期末试卷(三 )
一、选择题(20)
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、软件需求分析应确定的是用户对软件的( A )
A、功能需求和非功能需求 B、性能需求 C、非功能需求 D、功能需求 6、需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出( B )
A、模块说明书 B、软件规格说明书 C、项目开发计划 D、合同文档 7、PDL是一种过程设计语言,又叫( C )
A、系统流程图 B、盒图 C、伪码 D、功能图 8、在详细设计算法工具中,( C )能够清楚地表现程序的层次结构 A、系统流程图 B、层次图 C、PAD图 D、功能图 9、详细设计的任务是确定每个模块的( A )
A、算法 B、功能 C、调用关系 D、输入输出数据 10、程序算法复杂性,不能度量的是( B )
A、模块内部的复杂性 B、软件效益的多少 C、开发周期及内部潜伏错误的多少 D、软件开发费用的多少
二、填空题(20)
1、按照功能的不同,可以把软件划分为__,__和__。
2、快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成功能的一个__。
3、增量模型是把待开发的软件系统__,将每个模块作为一个增量组件,从而分批次地__,__,__和__这些增量组件。
4、螺旋模型是一种适用于__地大型软件项目开发的过程模型
三、简答题(20)
1、面向对象设计应遵循那些准则?
2、就程序设计语言的工程特性而言,对程序编码有那些要求?
3、什么是静态测试,什么是动态测试? 4、简述数据字典及其用途。
四、类图及用例图(20)
苹果2021年开发者大会马上就要来啦!但是因为疫情的原因,今年的开发者大会改为了在网上举办(真的),所以名为AppleSmart的网上平台诞生了。在这个平台上,消费者可以购买门票,发表评论,观看直播,而苹果认证的开发者不需要购买门票,同时还可以展示应用,下载apple开发者工具。如果开发者愿意,还可以向管理员申请成为演讲者。演讲者在管理员的帮助下可以发起直播, 管理员需要帮助演讲者,并管理系统后台。
请你画出AppleSmart平台的类图和用例图,不需要给出方法,也不需要考虑类之间的连线方向和多重值。
五、顺序图(10)
请画出表示以下过程的顺序图:
(1) 借阅者希望通过图书管理员借阅某本图书; (2) 借阅者将图书证和图书交给图书管理员;
(3) 图书管理员将读者图书证编号和图书编号录入借阅图书界面LendBookWindow; (4) 借阅图书界面LendBookWindow根据图书编号向Book类对象请求加载图书信息; (5) Book类对象返回图书信息给借阅图书界面LendBookWindow;
(6) 借阅图书界面LendBookWindow请求将图书信息和借阅者编号添加到Loan类对象中; (7) Loan类对象添加借阅信息,返回借阅成功给借阅图书界面LendBookWindow; (8) 借阅图书界面LendBookWindow显示借阅完成; (9) 图书管理员将图书证和图书归还给借阅者
六、状态图(10)
当手机开机时,处于空闲状态。当用户打电话给他人,就进入拨号状态。如果呼叫成功,就进入通话状态;若对方手机关机、无人接听或者直接挂断,则算呼叫不成功重新回到空闲状态。当处于空闲状态被别人呼叫时手机进入响铃状态。如果拒绝接听就回到空闲状态;如果没听到则一直处于响铃状态直到自动停止响铃回到空闲状态;如果接听就进入通话状态,一直到接完电话挂断,回到空闲状态。
请试着按以上描述,描绘手机通话机制的状态图。
参
一、选择题
已填写于选择题空白处。
二、填空题
1. 系统软件,支撑软件,应用软件 2. 子集
3. 模块化,分析,设计,编码,测试 4. 风险较大 三、简答题
1.模块化、抽象、信息隐藏、强内聚性、弱耦合性
2.可移植性,开发工具的可利用性,软件的可重用性,可维护性。
3.静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。动态测试是指事先设计好一组测试用例,然后通过运行程序来发现错误。 4. 数据字典是用来定义数据流图中的各个成分的具体含义的。他以一种准确的、无二义性的说明方法为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 四、类图及用例图
class 买票管理员- 管理员ID: int帮助- - - 演讲者开发者ID: int演讲者ID: int直播间ID: int买票申请演讲门票- - 价格: int门票ID: int买票- - 消费者消费者ID: int消费者姓名: string- - 开发者开发者ID: int开发者姓名: string上传应用- - 应用ID: int应用名称: string下载开发者工具- - 开发者工具ID: int开发者工具版本号: int 图一.类图
uc apple用例图帮助演讲者管理员管理系统后台演讲者发起直播申请演讲展示应用买票消费者发表评论开发者下载apple开发者工具观看直播 图二.用例图
五、顺序图
图三.顺序图
六、状态图
stm 123空闲[开机]关机状态[呼叫某人]拨号[呼叫不成功][被呼叫][拒绝接听/未接听][通话结束][呼叫成功]响铃[接听电话]通话[未做出反应]
图四.状态图
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务