问答题 (一共5题,共5分)

1.

阅读以下关于软件架构设计的叙述,在答题纸上回答问题1至问题3

某公司要在现场开发一个网站应用系统,该系统的特点是:规模不大;工期短;用户需求不明确;没有大的技术风险;系统中的一些模块可以外包给其他的公司开发。在选择开发过程时,项目组内产生了分歧。

王工提出采用XP(eXtreme Programming,极限编程),理由是XP方法简洁,能减轻开发人员的负担、快速适应市场、缩短投资回收期。

李工认为采用XP在项目开发中存在一些问题,建议考虑原型开发方法。

双方就上述的问题展开了激烈的争论。项目组最后决定采用XP,但同时针对李工提出的XP中存在的问题采取了相应的措施。

【问题1】(8分)

小规模发布(small release)是XP的基本元素之一。请用200字以内文字分别阐明:

(1)原型系统和XP小规模发布的系统的主要差别?

(2)为什么该项目组没有采用原型开发方法?

【问题2】(8分)

请用200字以内文字,简要说明采用XP方法可能会存在哪些问题。

【问题3】(9分)

在项目组的后续讨论中,李工提出,如果项目规模扩大,XP将不再适用。王工对此表示赞同,但同时提出可以将XP方法和传统软件开发过程相结合。请用200字以内的文字简要地说明如何将XP方法和传统软件开发过程相结合。

2.

阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用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](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。

3.

阅读以下软件系统架构选择的问题,在答题纸上回答问题1至问题3。

某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1给出了该系统的简化示意图。表4-1描述了各种系统输入的含义。

高级系统架构设计师,押题密卷,2021年《系统架构设计师》下午押题密卷

高级系统架构设计师,押题密卷,2021年《系统架构设计师》下午押题密卷

公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。

在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。

【问题1】(5分)

在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。

【问题2】(12分)

用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。

【问题3】(8分)

实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。

4.

阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题3。

【说明】

RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。

项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过"局部数据库+缓存"的读写分离结构实现,具有较好的运行性能和可扩展性。

项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。

【问题1】(8分)

请用300字以内的文字,说明张工和刘工提出的数据架构的基本思想。

【问题2】(13分)

在刘工建议的基础上,为了避免CRSS系统的单点故障,请用200字以内文字简要说明如何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。

【问题3】(4分)

RMO公司销售区域将在未来五年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是CRSS系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。

5.

阅读以下关于系统建模的叙述,回答问题。【说明】 某软件公司承接了一个软件开发的项目,为共享单车租赁公司开发一套单车租赁服务系统,公司项目组对此项目进行了初步分析,具体描述如下:1)非注册用户可通过该系统进行注册,成为平台的合法用户, 其中包括提供身份、手机号等信息,在线支付押金;2)非注册用户如果是支付宝会员的,可以通过支付宝的第三方服务直接关联注册成会员,且芝麻信用积分在500分以上的可不用支付押金,少于500分的需要支付押金;3)将采购的共享单车注册到租赁服务系统后方可投入使用。即将单车的标识信息录入到系统;4)注册用户通过手机或支付宝第三方服务登录到租赁服务系统中,通过扫描二维码或输入车辆编号以进行系统确认,系统后台确认车辆状态后下达解锁指令;5)用户在用完车辆后关闭车锁,车辆自身将闭锁状态上报到租赁服务系统中,完成车辆状态的更新和用户租赁费用结算;6) 系统不定时推出积分奖励方案,每200积分可提升会员等级,不同等级的会员在费用结算时会有不同的折扣;7)系统开辟积分商城,会员可以使用积分去兑换或购买合作伙伴的产品及服务。8)每个合作伙伴的类提供了不同的调用方法,系统设计中需要考虑如果公司更换了合作伙伴,应该尽可能少地在系统中修改或创建新类。项目组薛工、邹工等分析之后达成一致:(1)采用面向对象分析与设计方法开发系统;(2)决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。【问题1】 (12 分)请分析下面 A~R 所列出的共享单车租赁服务系统中的概念类及其方法,在图 1-1 所示用例图 (1) ~ (12)处补充所缺失信息。A.用户,B.共享单车,C.用户管理,D.注册,E.注销,F.用户查询,G 单车管理,H.租赁,I.归还,J.单车查询,K.费用管理,L.保证金管理,M.租赁费管理,N.数据存储管理, O.用户数据存储管理,P.单车数据存储管理,Q.费用结算,R.身份认证

高级系统架构设计师,押题密卷,2021年《系统架构设计师》下午押题密卷

问题2】(5分)设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。【问题3】(8分)针对题目中所提出的设计要求(7)~(8),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。