绝密★启用前学院
学年第二学期期末考试
级专业《软件开发实验与实践》试卷
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案。每小题1分,共20分)
1、为了使构件系统更切合实际、更有效地被复用,构件应当具备____,以提高其通用性。
A. 可继承性 B.可变性 C.可封装性 D.可伸缩性
2、在使用UML建模时,若需要描述跨越多个用例的单个对象的行为,使用_____是最为合适的。
A.协作图(Collaboration Diagram)B.序列图(Sequence Diagram)
C.活动图(Activity Diagram)D.状态图(Statechart Diagram)
3、可测试性是指对测试一个软件所需要的工作量的度量。可测试性与软件的许多度量属性有关,与可测试性有关的6个度量属性是。
A.可操作性,可跟踪性,自检视性,易培训性,完备性,模块性
B.可操作性,可容错性,可检视性,可理解性,复杂性,准确性
C.可审计性,执行效率,自检视性,易培训性,安全性,准确性
D.可审计性,自描述性,自检视性,可理解性,简洁性,模块性
4、 用例(use case)用来描述系统在对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“核查客户帐号”之间是____关系。
A. 包含(include) B. 扩展(extend)
C. 分类(classification) D. 聚集(aggregation)
5、面向对象技术中,对已有实例的特征稍作改变就可生成其它的实例,这种方式称为____。
A.委托B.代理C.继承D.封装
6、分类(classification)指的是对象及其类型之间的关系。若一个对象可用n个类型表述,而这些类型不必由继承来关联的是____。
A.单一分类B.多重分类C.动态分类D.静态分类
7、____是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。
A.继承(inhertance) B.模板(template)
C.对象自身引用(self-reference)D.动态绑定(dynamic binding)
8、 如果你想对一个类的意义进行描述,那么应该采用
A. 标记值 B. 规格描述 C. 注释 D.构造型
9、在ERwin建模中,一个实体由3部分组成:实体名称、实体的”主属性”、和实体的”非主属性”。下列说法正确的是_____
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、下列关于UML叙述正确的是____。
A.UML是一种语言,语言的使用者不能对其扩展
B.UML仅是一组图形的集合
C.UML仅适用于系统的分析与设计阶段
D.UML是独立于软件开发过程的
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、软件开发工具VB、PB、Delphi是可视化的。这些工具是一种________程序语言。
A.事件驱动 B.逻辑式 C.函数式 D.命令式
二、填空题(每空1分,共20分)
1、对于一个复杂的大系统,为了提高规范化程度,有必要对图中各个元素加以编号,常在编号之首冠以字母,用以表示不同的元素,用P表示处理,D表示数据流,____ __表示数据存储,___ _ 表示外部实体。
2、在UML中,标志为 +表示public 、–表示 ______、#表示 ______、~表示_________。
3、用例建模可分为用例图和用例描述。用例图由参与者(角色)、用例(Use Case)、___________及箭头组成,用画图的方法来完成。
4、在类图中,类被描述为带有三层的盒子,顶层表示 _______、中间层表示属性,底层表示________ 。
5、在UML中,绘制业务流程图的5中图元分别是: ______、 ______、
_______ 、数据存储、业务流程流转方向。
6、UML是一种_______语言,在UML中,类可以划分为:______ 、_______ 和控制类三种。
7、CVS是一个__________ 工具。
8、实体之间的联系主要有四种类型,它们是______关系、______ 关系 、多对联系和非标识关系。
9、一个用例的描述,最基本的部分应包含用例描述、 ________、用例概述、主参与者、___________。
10、状态图中的基本元素是:状态、转移、________ 动作。
三、简答题(共6题,每题5分,共30分)
在进行数据库设计时,构造数据库必须遵守一定的规则,即范式结构,什么是1NF,2NF,3NF?
2、什么是需求分析?
3、用例之间的扩展、包含二种关系有什么异同,请分别举例说明。
4、活动图中的基本元素有哪些?并分别写出他们的表示符号。
5、数据系统的生存期分成哪几个阶段?数据库结构的设计在生存期中的地位如何?
6、UML中的活动图和顺序图有什么区别?
四、分析解答:(15分)
1、运用所学过的编程语言把下面类图转换为程序代码(6)
2、一个车辆基本信息管理可以划分为:查询车辆基本信息、插入车辆基本信息、删除车辆基本信息及编辑修改车辆基本信息。请手工绘制一个车辆基本信息管理活动图。(9分)
五、综合应用(15分)
阅读以下关于某嵌入式实时系统的软件需求的叙述,请回答问题1和问题2。
某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。
系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):
(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)
(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)
(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)
(4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)
本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。
[问题1](8分)
请简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?
[问题2](7分)
李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。
《软件开发实验与实践》A卷参考答案
一、单项选择题答案(每小题1分,共20分)
1、B 2、D 3、D 4、A 5、 C 6、B 7、D 8、C 9、A 10、C 11、B 12、B 13、A 14、D 15、A 16、D 17、C 18、B 19、D 20、A
1、F、S 2、private(私有)、 protected(保护)、package(包)3、系统边界4、类名、操作5、主体、单证、业务处理6、统一建模、边界类、实体类7、版本控制8、分类标识 9、用例名称、基本事件流10、事件
三、简答题(每题5分,共30分)
答:第一范式(1NF)结构就是指数据库中表无重复的列。第二范式(2NF)结构要求每一行记录可以被唯一的区分。第三范式(3NF)一个数据库表中应该不包含已在其它数据表中定义的非主关键信息。
2、答:需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会—了解用户究竟需要什么。 需求分析也是一个建模的过程,与在概要设计中建模不同,在需求分析中建模是面向用户的过程。而在概要设计中的建模过程是面向开发人员的过程。这样两种建模的过程就会存在差异和不同,从而使用自然语言进行描述也就不同。在传统的软件工程中并不建议大量的使用自然语言对软件的需求进行描述,因为太多的自然语言会引发出很多问题。比如说,二义性即不同的人对自然语言的描述会有不同的理解,就是再好的文档编写人员也不会保证他的文档不存在二义性。这样就引入了借用图示进行功能的描述和建模的过程。图示有其自己的优势比如,清晰,明确给人直观的感觉。无论是何种背景的人群都可以理解。这样就大大减少需求分析中的二义性。从而使系统设计人员和用户更加有效的沟通。这样也增加了软件的正确性。
3、答:扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展(或者使用用例1不一定使用用例2,则用例1和用例2就是扩展关系)
包含关系:被包含的用例不是孤立存在的,它仅作为某些包含它的更大的基用例的一部分出现(或者使用用例1必须使用用例2,则用例1和用例2就是包含关系)
4、答:1、活动,(园角巨型)<Object: word/embeddings/oleObject1.bin>2 转移、(箭头)<Object: word/embeddings/oleObject2.bin>3、分支、(菱形)<Object: word/embeddings/oleObject3.bin>4、同步条、(粗线条)<Object: word/embeddings/oleObject4.bin>5、泳道。(竖线条)<Object: word/embeddings/oleObject5.bin>
5、答:分成七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行和维护。
数据库结构的设计在生存期中的地位很重要,数据库结构的设计包括逻辑设计、物理设计, 逻辑设计把概念模式转化为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构, 而物理设计主要是设计DB在物理设备上的存储结构与存取方法等。
6、答:活动图侧重于如何将职责拆分为类,而顺序图则帮助我们理解各对象是如何并且以何种顺序进行交互的
活动图侧重于工作流程,而顺序图则侧重于对业务实体的处理
1、
Public class Flight
{
int FlightNumber ;
private Date DepartureTime;
protected Minutes FlightDuration;
protected Date DelayFlight(int numberofMinutes)
{…}
Date getArrivalTime()
{….}
}
2、答案
<Object: word/embeddings/oleObject6.bin>
【问题1】
采用嵌入式实时操作系统的主要理由及优点:
操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。
采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。
选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:
·任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。
·操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。
·操作系统对可靠性有较强的保障支持能力。
·使用简单,支撑环境配套好,可配置、可剪裁能力强。
【问题2】
嵌入式实时系统中时间性能评估主要考虑以下几个因素:
·系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。
·保证所有任务在规定的时间期限内完成(或进行可调度性评估)。
·任务的上下文切换时间和中断响应时间。
针对本题的具体数据,系统的工作时序关系应该是:
系统的最小时间节拍定义为5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20 ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。
如果觉得《软件开发实验与实践期末试题与答案A卷》对你有帮助,请点赞、收藏,并留下你的观点哦!