还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软考软件设计师必做练习题及答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法下面是希赛小编整理的软考软件设计师考前必做的练习题 试题一分析 本题主要考查类图和顺序图 【问题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只能是艺术家和歌曲,又根据图上标示的关联关系(
10..*),可以确定类A为艺术家(Artist);类B为歌曲(Song)类B与类E之间是聚集关系,根据题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,可以得到类E为音轨(Track) 接下来看类E与类F之间存在组成的关系,根据“每张唱片由多条音轨构成”得到,类F为唱片(Album)再来看类C和类D,它们与类A存在泛化关系,根据“艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队”可知,类C与类D为歌手和乐队,又因为类C与类D存在聚集关系,根据题中“一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”可知,类C为乐队(Band),类D为歌手(Musician) 【问题2】 类C为乐队,类D为歌手,题中“一支由2名或2名以上的歌手所组成的乐队一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”,则第
(1)空应填“
0..*”,第
(2)空应填“
2..*”类B与类E存在聚集关系,题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,所以第
(3)空应填“
0..1”,第
(4)空应填“
1..*” 类E与类F存在泛化关系,题中“每张唱片由多条音轨构成”,所以第
(5)空应填“
1..*”,第
(6)空应填“1” 特别要说明一下,是“
0..*”还是“
1..*”,要看表述和实际情况,比如第
(5)空,一张唱片至少有几条音轨,当然至少有一条,否则就不是唱片了,故是从1开始的 【问题3】 本问题考查的是类/对象关联中的一种特殊关联递归关联,它描述的是同一个类的不同实例之间的关系而类Track的不同实例之间恰好具有这种关系(因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么)所以缺少的那条联系的两端都是类Track,其多重度都为
0..1下限为0,是对应不存在上一条或下一条音轨的情况 【问题4】 问题4给定了两个状态“关闭”和“播放”,要求找出从“关闭”到“播放”的最短事件序列这就要求我们能够在状态图上找到连接这两个状态的最短迁移,然后将迁移上的事件记录下来就可以了 从“关闭”状态到“播放”状态可以选择经过迁移“连接电脑”到达“联机”状态,再经过迁移“断开连接”到达状态“打开”,再从“打开”状态的初始状态“歌曲待选”,经过迁移“选择歌曲”到达“播放状态”这样经过的事件序列为连接电脑电量饱和/完成复制断开连接选择歌曲显然这样的事件序列远比“关闭”经过“按任意键”直接到达“打开”状态要长得多所以从“关闭”到“播放”的最短事件序列是按任意键,选择歌曲 试题三参考答案 【问题1】 A ArtistBSongC Band D MusicianETrackF Album 【问题2】
(1)
0..*
(2)
2..*
(3)
0..1
(4)
1..*
(5)
1..*
(6)1 【问题3】 【问题4】 按任意键,选择歌曲 试题四分析 题目以希赛公司在线会议审稿系统为例,考查考生对UML用例图与活动图的掌握情况 【问题1】 题目已经给出了4类参与者用户、作者、审稿人、委员会主席,关键在于弄清楚各个参与者之间的关系,这些关系是通过题目中的系统功能描述来获得的
(1)“用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人”,从此处可以得知系统中的用户分成了两类作者和审稿人
(2)“会议委员会主席是一个特殊审稿人” 从上面两个条件得知A1对应用户,A2对应作者,A3对应审稿人,A4对应会议委员会主席同时由于UML图中不允许出现中文,且题目明确要求用英文名称给出A1~A4所对应的参与者,所以A1~A4处应分别填写User、Author、Reviewer和PCChair 【问题2】 由“会议委员会主席是一个特殊审稿人,可以浏览提交的稿件,给审稿人分配稿件,罗列录用和(或)拒绝的稿件,以及关闭审稿过程”结合“用例名称列表”可以得知会议委员会主席能操作的功能有浏览提交的稿件、分配稿件给审稿人、罗列录用或/和拒绝的稿件、关闭审稿过程而从“其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件”可以看出,用例“关闭审稿过程”与“罗列录用或/和拒绝的稿件”之间有包含关系从这个关系可以得知,U1对应的用例为罗列录用或/和拒绝的稿件同时
(2)对应的关系为包含关系,即U1应填“listaccepted/rejectedpapers”,
(2)应填“”这样,剩余的两项功能“浏览提交的稿件”和“分配稿件给审稿人”对应的为U2与U3,所以U2和U3分别应填“browsesubmittedpapers”和“assignpapertoreviewer” 【问题3】 该小题考查考生对包含与扩展关系的理解在对问题2的分析中,已经得出
(2)填“”现在来看
(1),该空是填“登录”与“提交稿件”之间的关系,在提交稿件时,若用户已经登录,则可直接提交;但如果用户没有登录,则需要先登录再提交,所以它们之间的关系应是扩展关系,即
(1)应填“” 【问题4】 该活动图所描述的是作者提交稿件的过程,对此过程题目有详细的描述“作者登录(login)后提交稿件和浏览稿件审阅结果提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知”,所以Action1~Action4分别对应输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置、上传稿件所以Action1~Action4分别填entertitleandabstract、selectsubjectgroup、selectpaperlocation和uploadpaper 试题四参考答案 【问题1】 A1UserA2AuthorA3ReviewerA4PCChair 【问题2】 U1listaccepted/rejectedpapersU2browsesubmittedpapers U3assignpapertoreviewer 注U2和U3的答案可互换 【问题3】
(1)
(2) 【问题4】 Action1entertitleandabstract Action2selectsubjectgroup Action3selectpaperlocation Action4uploadpaper 试题五分析 本题考查面向对象系统开发时,采用UML模型进行建模的方法 【问题1】 识别参与者时,考查和系统交互的人员和外部系统在本题中,与系统交互的人员包括员工、注册到系统的员工(顾客)、餐厅员工、菜单管理员、送餐员以及工资系统 由“菜单管理员是餐厅特定员工”以及图2-43中A2和图中餐厅员工之间的“是一种”关系可知,A2为菜单管理员;图2-43中还缺少描述中与工资系统的交互,由“……并发送给工资系统”可知,A1为工资系统 【问题2】 在本题中,由“任何员工都可以查看菜单和今日特价”可知,图2-43中缺少用例查看今日特价,对应参与者是员工;由“系统的顾客是……,注册工资支付、……”可知,图中缺少用例注册工资支付,对应参与者是顾客和工资系统;由“餐厅员工是……,可以进行备餐、生成付费请求……发送给工资系统”可知,图2-43中缺少用例“生成付费请求”,对应的参与者是餐厅员工和工资系统;由“菜单管理员是餐厅特定员工,可以管理菜单”可知,图2-43中缺少用例管理菜单,对应的参与者是菜单管理员 需要注意的是,在注册工资支付所对应的参与者中,虽然没有明确说明要和工资系统交互,但是由“对于注册工资支付的顾客生成付费请求并发送给工资系统”可知,工资支付是由工资系统控制,所以注册也需要和工资系统交互 【问题3】在顾客订餐过程的描述中,在“顾客选菜”之前,图中缺少符号和活动由说明中顾客“可以订餐(如果未登录,需先登录)”可以判断,在系统“显示菜单和今日特价”之后“顾客选菜”之前,需要判断(判定符号)当前用户身份是否为顾客,如果不是,需先登录;由“……发送E-mail给顾客以确认订餐,同时发送相关订餐信息通知给餐于员工”可知,发送E-mail和通知餐厅员工为并行活动,需要在前后有同步条(或纵向) 【问题4】 参与者之间的关系表示子类型“是一种”父类型,即泛化关系其中父类型通常是一个抽象泛化的参与者,可以完成子类型可完成的共同行为,每个具体的子类型继承它,可以完成父类型参与者同样的任务,并可以补充额外的角色功能 试题五参考答案 【问题1】 A1工资系统A2菜单管理员 【问题2】 【问题3】 【问题4】 泛化关系(一般/特殊关系、继承关系)泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。