软考软件设计师教程试题分析加答案
软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希赛小编整理的软考软件设计师考前必做的练习题。
试题一分析
本题主要考查类图和顺序图。
【问题1】
需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock中含有锁编号和锁状态这两个属性。又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock中还有锁的安全级别。
【问题2】
首先,(1)、(2)是FingerReader和LockController之间的交互。所以我们看题目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。 (5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。
【问题3】
这是纯理论题,请直接阅读参考答案。
试题一参考答案
【问题1】
锁的编号、安全级别、锁的当前状态。
【问题2】
(1)中断事件(2)读取用户指纹
(3)读取用户开锁权限(4)读取锁的安全级别
(5)判断用户是否有权限开锁,或用户是否可以开锁
【问题3】
组装和聚集都表示实例之间的整体/部分关系。组装是聚集的一种形式。
聚集是概念性的,只是区分整体与部分。
组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。
试题二分析
本题考查的是UML类图和顺序图的基本知识。
【问题1】
由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,所以商品分类与商品之间的关系是1:0..*,即第(1)空填“0..*”,第(2)空填“1”。
促销活动与商品之间的关系是这样的:一个促销活动至少得有一种促销商品,否则就无法成为促销活动;而一种商品可以参与多个促销活动,所以促销活动与商品之间的关系有些特别,应是0..*:1..*,故第(3)空填“0..*”,第(4)空填“1..*”。
再看订单与促销活动之间的关系:由于题目中说明“用户可选择参与某一个促销(Promotion)活动”,同时对于一个促销活动可以有多个客户下订单,所以它们之间的关系为1:0..*,所以第(5)空填“1”,第(6)空填“0..*”。
【问题2】
在顺序图中,消息的执行顺序为:在垂直方向自上至下地执行,其中的虚线表示消息结果的返回。在图2-38中,包含着两个操作,第一个操作是得到某个商品的信息,其流程是:先在商品分类列表中找到相应的分类,再从分类中找到具体的商品,从此商品对应的类中得到相应信息。所以第(7)空应填“getCategories”,第(8)空应填“getCommodities”。第二个操作是创建一次促销活动,并为其指定促销品,所以第(9)空应填“createPromotion”,第(10)空应填“addCommodities”。
【问题3】
这是一个纯理论问题,请直接阅读参考答案。
试题二参考答案
【问题1】
(1)0..n或1..n(2)1(3)0..n
(4)1..n(5)1(6)0..n
【问题2】
(7)getCategories(8)getCommodities
(9)createPromotion(10)addCommodities
【问题3】
关系:聚集(聚合)是关联的特例。(聚集是关联的一种)
不同点:聚集表示部分与整体关系的关联。
试题三分析
本题考查类图和状态图。
【问题1】
根据“每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家及演奏这首歌曲的艺术家”和图2-39中类A与类B之间约束为“编写”、“演奏”,所以类A与类B只能是艺术家和歌曲,又根据图上标示的关联关系(1,0..*),可以确定类A为艺术家(Artist);类B为歌曲(So