2017年上半年 软件设计师 案例分析
2017年上半年软件水平考试(高级)系统分析师下午(案例分析)真
2017年上半年软件水平考试(高级)系统分析师下午(案例分析)真题试卷(题后含答案及解析)题型有:1.jpg />正确答案:(1)乘客信息注册、乘客身份认证、乘客信用信息管理。
(2)出租车司机信息注册、出租车司机身份认证、司机违章情况审核。
(3)支付管理。
(4)订单发起、订单提交、订单跟踪、订单撤销。
3.为了提高系统开发效率,公司的系统分析师王工设计了一个基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后该业务功能才能上线交付。
请基于王工设计的在线支付微服务交付流程,从(a)~(f)中分别选出合适的内容填入图1—1中的(1)~(5)处。
选项:(a)提交测试(b)全量上线(c)对接借记卡(d)获取个人优惠券(e)试部署(f)对账正确答案:(1)f(2)c(3)d(4)a(5)b阅读以下关于系统数据分析与建模的叙述,在答题纸上回答以下问题。
【说明】某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理。
项目组在系统逻辑数据模型设计中,需要描述的快递单样式如图2—1所示,图2—2是项目组针对该快递单所设计的候选实体及其属性。
4.数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段,请用200字以内文字说明这三个阶段的主要任务。
正确答案:概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS 的数据模型,即概念模型。
概念模型的表现形式即ER模型。
逻辑设计也称为逻辑结构设计,其主要任务是将概念模型转换为某个特定的DBMS上的逻辑模型。
设计逻辑结构时,首先为概念模型选定一个合适的逻辑模型(如:关系模式或层次模型),然后将其转化为由特定DBMS支持的逻辑模型,最后对逻辑模型进行优化。
物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构。
软考第四批案例题
软考第四批案例题软考是指软件设计师等级考试,是国内软件行业的专业考试之一。
软考的考试科目分为理论考试和案例分析题,其中案例分析题是考察考生对软件设计、开发和管理等方面的综合能力。
下面我将根据软考第四批案例题进行分析和讨论。
案例题一:某公司的软件项目管理某公司计划开发一款新的软件产品,该产品包含多个模块和功能。
为了保证项目的顺利进行和最终的成功交付,项目管理团队需要制定一个全面的项目计划,并合理分配资源和任务。
同时,他们还需要对项目进行跟踪和监控,及时发现和解决问题。
请根据上述情景,分析和讨论以下几个问题:1. 项目计划的制定和调整:项目计划是软件项目管理的基础,它需要包括项目目标、需求分析、资源分配、任务分解、进度计划等内容。
项目计划的制定和调整需要考虑到项目的整体目标和需求,同时也需要考虑到项目组成员的实际能力和可行性。
项目计划的调整应该是合理的,要根据项目进展情况和外部环境的变化进行调整。
2. 资源和任务的分配:在项目管理中,资源和任务的分配是非常重要的环节。
合理的资源和任务分配可以提高项目的效率和质量。
在分配资源和任务时,需要考虑到项目组成员的技能和能力,合理地分配任务,使每个成员能够发挥自己的优势。
同时,还需要考虑到项目的紧急性和优先级,合理分配资源,确保项目的顺利进行。
3. 项目的跟踪和监控:项目的跟踪和监控是保证项目按时交付的重要手段。
通过对项目的跟踪和监控,可以及时发现和解决问题,确保项目的质量和进度。
在项目跟踪和监控中,需要建立相应的指标和标准,对项目的进展进行定期的检查和评估。
同时,还需要建立沟通和协调的机制,及时沟通和解决项目中的问题。
案例题二:某软件公司的测试管理某软件公司负责开发和维护一款大型的软件系统,该系统包含多个模块和功能。
为了保证软件的质量和稳定性,该公司需要建立和完善测试管理的流程和方法。
请根据上述情景,分析和讨论以下几个问题:1. 测试策略和方法:在软件测试中,测试策略和方法的选择和制定是非常重要的。
2017年上半年软件设计师考试下午真题(完整版)
全职师资直播+录播双保障
1v1全程辅导
希赛网() 400-111-9811
2 ){ Return getCounterfeitCoin(coins,first,first+(last-first)/2;) }else{ Return getCounterfeitCoin(coins,first+(lastfirst)/2+1,last;) } } else{ /*奇数枚硬币*/ For(i=first;i<first+(last-first)/2;i++){ firstSum+=coins[i]; } For(i=first+(last-first)/2+1;i<last+1;i++){ lastSum+=coins[i]; } If(firstSum<lastSum){ return getCounterfeitCoin(coins,first,first+(last-first)/2-1); }else if(firstSum>lastSum){ return getCounterfeitCoin(coins,first+(last-first)/2-1,last); }else{ Return( 3 ) } } } 问题内容:【问题一】(6 分) 根据题干说明,填充 C 代码中的空(1)-(3) 【问题二】(6 分) 根据题干说明和 C 代码,算法采用了( )设计策略。 函数 getCounterfeitCoin 的时间复杂度为( )(用 O 表示)。 【问题三】(3 分) ),最多的比较次数为 若输入的硬币数为 30,则最少的比较次数为( ( )。
2017年上半年 软件设计师 详细答案
2017年5月第1题CPU 执行算术运算或者逻辑运算时,常将源操作数和结果暂存在(1)中。
(1)A. 程序计数器 (PC) B. 累加器 (AC) C. 指令寄存器 (IR) D. 地址寄存器 (AR) 【答案】B【解析】程序计数器(PC)是用于存放下一条指令所在单元的地址的地方。
累加器(AC)全称累加寄存器,是一个通用寄存器。
其功能是,当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为 ALU 提供一个工作区。
累加寄存器暂时存放 ALU 运算的结果信息。
指令寄存器(IR)用于存放当前从主存储器读出的正在执行的一条指令。
地址寄存器(AR)用来保存当前 CPU 所访问的内存单元的地址。
由于在内存和 CPU 之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
2017年5月第2题要判断宇长为 16 位的整数 a 的低四位是否全为 0,则(2)。
(2)A.将 a 与 0x000F 进行"逻辑与"运算,然后判断运算结果是否等于 0B. 将 a 与 0x000F 进行"逻辑或"运算,然后判断运算结果是否等于 FC. 将 a 与 0x000F 进行"逻辑异或"运算,然后判断运算结果是否等于 OD. 将 a 与 0x000F 进行"逻辑与"运算,然后判断运算结果是否等于 F【答案】A【解析】判断是否为1, 让1和它做与运算,为1时为1,不为1时为02017年5月第3题计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和 DMA 方式等。
当采用(3)方式时,不需要 CPU 执行程序指令来传送数据。
(3)A.中断 B.程序查询 C.无条件传送 D.DMA 【答案】D【解析】DMA(直接存储器访问方式),DMA 将数据从一个地址空间复制到另外一个地址空间时,CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来执行和完成。
2017年上半年 软件设计师 详细答案
‘’2017年5月第1题CPU 执行算术运算或者逻辑运算时,常将源操作数和结果暂存在(1)中。
(1)A. 程序计数器 (PC) B. 累加器 (AC) C. 指令寄存器 (IR) D. 地址寄存器 (AR) 【答案】B【解析】程序计数器(PC)是用于存放下一条指令所在单元的地址的地方。
累加器(AC)全称累加寄存器,是一个通用寄存器。
其功能是,当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为 ALU 提供一个工作区。
累加寄存器暂时存放 ALU 运算的结果信息。
指令寄存器(IR)用于存放当前从主存储器读出的正在执行的一条指令。
地址寄存器(AR)用来保存当前 CPU 所访问的内存单元的地址。
由于在内存和 CPU 之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
2017年5月第2题要判断宇长为 16 位的整数 a 的低四位是否全为 0,则(2)。
(2)A.将 a 与 0x000F 进行"逻辑与"运算,然后判断运算结果是否等于 0B. 将 a 与 0x000F 进行"逻辑或"运算,然后判断运算结果是否等于 FC. 将 a 与 0x000F 进行"逻辑异或"运算,然后判断运算结果是否等于 OD. 将 a 与 0x000F 进行"逻辑与"运算,然后判断运算结果是否等于 F【答案】A【解析】判断是否为1,让1和它做与运算,为1时为1,不为1时为02017年5月第3题计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和 DMA 方式等。
当采用(3)方式时,不需要 CPU 执行程序指令来传送数据。
(3)A.中断 B.程序查询 C.无条件传送 D.DMA 【答案】D【解析】DMA(直接存储器访问方式),DMA 将数据从一个地址空间复制到另外一个地址空间时,CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来执行和完成。
2017年上半年 软件设计师 案例分析
试题一阅读下列说明和图,回答问题 1 至问题 4。
【说明】某医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。
为了实现这一目标,该公司欲开发一采购系统。
系统的主要功能如下:1.检查库存水平。
采购部门每天检查部件库存量,当特定部件的库存量降至其订货点时,返回低存量部件及库存量。
2.下达采购订单。
采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3. 交运部件。
当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:(1)验证装运部件。
通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给 S/R 职员。
如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。
否则,将 S/R 职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。
通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。
如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。
如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。
库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。
标记订单采购完成。
现采用结构化方法对该采购系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。
图 1-2 0 层数据流图【问题 1】(5 分)使用说明中的词语,给出图 1-1 中的实体 E1 ~E5【问题 2】(4 分)使用说明中的词语,给出图 1-2 中的数据存储 D1~D4 的名称。
【问题 3】(4 分)根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
【问题 4】(2 分) 用 200 字内,说明建模图 1-1 和图 1-2 时如何保持数据流图平衡。
2017年系统架构设计师案例分析试题加答案(1)
2017年系统架构设计师案例分析试题加答案(1)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下关于软件系统架构选择的说明,回答问题。
希赛公司欲针对Linux操作系统开发一个KWIC(KevWordinContext)检索系统。
该系统接收用户输入的查洵关键字,依据字母顺序给出相关帮助文档并根据帮助文档内容进行循环滚动阅读。
在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。
根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。
在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。
在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。
1、在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。
请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。
2、请完成表中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。
3、规划图是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)~(4)。
参考答案1、软件架构风格是拙述特定软件系统组织方式的惯用模式。
组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。
最新2017年上半年全国计算机软考软件设计师真题解析(上午选择+下午案例)完整版
本题考查计算机组成原理中的高速缓存基础知识。高速缓存 Cache 有如下特点: 它位于 CPU 和主存之间,由硬件实现;容量小,一般在几 KB 到几 MB 之间;速 度一般比主存快 5 到 10 倍,由快速半导体存储器制成;其内容是主存内容的副 本(所以 Cache 无法扩大主存的容量) ,对程序员来说是透明的;Cache 既可存 放程序又可存放数据。 Cache 存储器用来存放主存的部分拷贝(副本) 。控制部分的功能是:判断 CPU 要访问的信息是否在 Cache 存储器中,若在即为命中,若不在则没有命中。命中 时直接对 Cache 存储器寻址。未命中时,若是读取操作,则从主存中读取数据, 并按照确定的替换原则把该数据写入 Cache 存储器中:若是写入操作,则将数据 写入主存即可。 7 、HTTPS 使用()协议对报文进行封装 A. SSH B. SSL C. SHA-1 D. SET 答案: B HTTPS 以保密为目标研发,简单讲是 HTTP 的安全版。其安全基础是 SSL 协议, 全称 Hypertext Transfer Protocol over Secure Socket Layer。 它是一个 URI scheme, 句法类同 http:体系。它使用了 HTTP,但 HTTPS 存在不同于 HTTP 的默认端口及 一个加密/身份验证层(在 HTTP 与 TCP 之间) 。这个协议的最初研发由网景公司 进行, 提供了身份验证与加密通讯方法,现在它被广泛用于互联网上安全敏感的 通讯,例如交易支付方面。 SSL 极难窃听,对中间人攻击提供一定的合理保护。 严格学术表述 HTTPS 是两个协议的结合,即传输层 SSL+应用层 HTTP。 8、以下加密算法中适合对大量的明文消息进行加密传输的是( ) A. RSA B. SHA-1 C. MD5 D. RC5 答案: D 本题考查的是信息安全中的加密算法。其中:RSA 是非对称加密算法;SHA-1 与 MD5 属于信息摘要算法;RC-5 属于非对称加密算法。这些算法中 SHA-1 与 MD5 是不能用来加密数据的, 而 RSA 由于效率问题, 一般不直接用于大量的明文加密, 适合明文加密的,也就只有 RC-5 了。 9、假定用户 A、B 分别在 I1 和 I2 两个 CA 处取得了各自的证书, 下面()是 A、 B 互信的必要条件。 A. A、B 互换私钥 B. A、B 互换公钥 C. I1、I2 互换私钥 D. I1、I2 互换公钥 答案: D 本题考查的是信息安全中的 CA 认证。题目难度较高,但用排除法来分析不难得
2017年系统架构设计师案例分析试题加答案(4)
2017年系统架构设计师案例分析试题加答案(4)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下软件系统架构选择的问题,回答问题。
希赛公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。
图给出了该系统的简化示意图。
表描述了各种系统输入的说明。
公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。
在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。
在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。
定速巡航控制系统各种输入的说明10、在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。
请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。
11、用户需求没有明确给出该系统如何根据输入集合计算输出。
请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。
12、实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。
以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。
参考答案10、软件架构风格是拙述某一类特定应用领域中软件系统的组织方式和惯用方式。
面向对象架构风格的特征是将数据表示和基本操作封装在对象中。
这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。
控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。
2017年上半年软件设计师下午案例分析真题(试题六)
2017年上半年软件设计师下午案例分析真题(试题六)6、阅读下列说明和Java代码,将应填入(n) 处的字句写在答题纸的对应栏内。
【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。
前台服务员(Waiter) 调度厨师制作套餐。
现采用生成器(Builder) 模式实现制作过程,得到如图6-1 所示的类图。
【Java代码】class Pizza {private String parts;public void setParts(String parts) { this.parts = parts; }public String toString() { return this.parts; }}abstract class PizzaBuilder {protected Pizza pizza;public Pizza getPizza() { return pizza; }public void createNewPizza() { pizza = new Pizza(); }public (1) ;}class HawaiianPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”};}class SpicyPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami"); } }class Waiter {private PizzaBuilder pizzaBuilder;public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/ ( 2 ) ;}public Pizza getPizza(){ return pizzaBuilder.getPizza(); }public void construct() { /*构建*/pizzaBuilder.createNewPizza();( 3 ) ;}}Class FastFoodOrdering {public static viod mainSting[]args) {Waiter waiter = new Waiter();PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();( 4 ) ;( 5 ) ;System.out.println("pizza: " + waiter.getPizza());}}程序的输出结果为:Pizza:cross + mild + ham&pineapple。
2017软件水平考试(高级)系统架构设计师真题及答案案例
2017软件水平考试(高级)系统架构设计师真题及答案案例说明:答案和解析在试卷最后第1部分:问答题,共5题,请在空白处填写正确答案。
1.[问答题]试题二(共 25 分)阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3.【说明】某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资 源整合和共享。
该资源共享平台的主要功能模块包括:(1)统一身份认证模块,提供统一的认证入口,为平台其他核心业务模块提供用 户管理、身份认证、权限分级和单点登录等功能:(2) 共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能:(3)共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视 频点播、资源检索、分类展示、资源评价和推荐等功能:(4) 资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能:(5) 系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。
项目组经过分析和讨论,决定采用基于 Java EE 的 MVC 模式设计资源共享平台的 软件架构,如图 2-1 所示。
图2-1【问题 1】 (9 分)MVC 架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将 JavaEE 中JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空 (1)--(5) 所示位置。
【问题 2】(6 分)项百组架构师王工提出在图 2-1 所示架构设计中加入 EJ B 构件,采用企业级 JavaEE架构开发资源共享平台。
请说明 EJB 构件中的 Bean (构件)分为哪三种类型,每种类型Bean 的职责是什么。
软考系统架构设计师案例分析及参考答案(一)
软考系统架构设计师案例分析及参考答案(一)一、试题一:阅读以下关于软件架构评估的说明,回答下列问题。
【说明】某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。
在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:(a)系统用户分为管理员、分管领导和普通民警等三类;(b)正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应;(c)系统能够抵御99.999%的黑客攻击;(d)系统的用户名必须以字母开头,长度不少于5个字符;(e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;f)网络失效后,系统需要在2分钟内发现并启用备用网络系统;(g)在系统升级时,需要保证在1个月内添加一个新的消息处理中间件;(h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600×480的分辨率;(0)更改系统加密的级别将对安全性和性能产生影响;(j)系统主站点断电后,需要在3秒内将请求重定向到备用站点;(k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的查询请求”这一要求是可以实现的;(l)对用户信息数据的授权访问必须保证99.999%的安全性;(m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;(n)更改系统的Web界面接口必须在1周内完成;(o)系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。
公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题1】(12分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。
请给出合适的质量属性,填入图1中(1)、(2)空白处;并选择题干描述中的(a)~(o),将恰当的序号填入(3)~(6)空白处,完成该系统的效用树。
2017年系统架构设计师案例分析试题加答案(3)
2017年系统架构设计师案例分析试题加答案(3)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下关于信息系统安全性的叙述,回答问题。
某企业根据业务扩张的要求,需要将原有的业务系统扩展到互联网上,建立自己的B2C业务系统,此时系统的安全性成为一个非常重要的设计需求。
为此,该企业向软件开发商提出如下要求。
①合法用户可以安全地使用该系统完成业务。
②灵活的用户权限管理。
③保护系统数据的安全,不会发生信息泄露和数据损坏。
④防止来自于互联网上的各种恶意攻击。
⑤业务系统涉及各种订单和资金的管理,需要防止授权侵犯。
⑥业务系统直接面向最终用户,需要在系统中保留用户使用痕迹,以应对可能的商业诉讼。
该软件开发商接受任务后,成立方案设计小组,提出的设计方案是:在原有业务系统的基础上,保留了原业务系统中的认证和访问控制模块;为了防止来自互联网的威胁,增加了防火墙和入侵检测系统。
企业和软件开发商共同组成方案评审会,对该方案进行了评审,各位专家对该方案提出了多条不同意见。
李工认为,原业务系统只针对企业内部员工,采用了用户名/密码方式是可以的,但扩展为基于互联网的B2C业务系统后,认证方式过于简单,很可能造成用户身份被盗取:王工认为,防止授权侵犯和保留用户痕迹的要求在方案中没有体现。
而刘工则认为,即使是在原有业务系统上的扩展与改造,也必须全面考虑信息系统面临的各种威胁,设计完整的系统安全架构,而不是修修补补。
7、信息系统面临的安全威胁多种多样,来自多个方面。
请指出信息系统面临哪些方面的安全威胁并分别子以简要拙述。
8、认证是安全系统中不可缺少的环节,请简要描述主要的认证方式,并说明该企业应采用哪种认证方式。
9、请解释授权侵犯的具体含义;针对王工的意见给出相应的解决方案,说明该解决方案的名称、内容和目标。
2017年上半年全国计算机软考系统分析师真题+答案解析(上午选择+案例分析+论文)完整版
2017年上半年系统分析师真题解析上午选择题1面向对象分析中,类与类之间的“IS-A”关系的是一种(2),类与类之间的“IS-PART-OF”关系是一种(2)。
A.依赖关系B.关联关系C.泛化关系D.聚合关系答案:C2A.依赖关系B.关联关系C.泛化关系D.聚合关系答案:D本题考查的是面向对象的基本概念:is-a基于类继承或接口实现,is-a是表达这句话的一种方式:“这个东西是那个东西的一种”。
例如:野马是一种马。
has-a关系是基于用法(即引用)而不是继承。
换句话说,如果类a 中的代码具有对类b实例的引用,则“类a has-a类b”。
例如:马有缰绳。
is part of是一种整体与部分的关系。
3面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。
其中,交互模型包括(3),其他行为模型还有(4)。
A.顺序图和协作图B.顺序图和状态图C.协作图和活动图D.状态图和活动图答案:A4A.顺序图和协作图B.顺序图和状态图C.协作图和活动图D.状态图和活动图答案:D本题考查UML图。
多种UML图有其严格的分类,首先分为静态图和动态图。
其中动态图又有一个细化的分类:交互图,交互图包括顺序图(序列图)与通信图(协作图)。
5关于设计模式,下列说法正确的是()。
A.原型(Prototype)和模板方法(Template Method)属于创建型模式B.组合(Composite)和代理(Proxy)属于结构型模式C.桥接(Bridge)和状态(State)属于行为型模式D.外观(Facade)和中介(Mediator)属于创建型模式答案:B本题考查设计模式的分类,设计模式分类情况如下所示:6三重DES加密使用2个密钥对明文进行3次加密,其密钥长度为()位。
A.56B.112C.128D.168答案:B本题考查信息安全中的对称加密算法。
三重DES加密是使用2个DES密钥,进行多次操作来完成的,所以其密钥长度是:56*2=112位。
2017年上半年软件设计师下午案例分析真题(试题四)
2017年上半年软件设计师下午案例分析真题(试题四)4、阅读下列说明和C代码,回答问题1 至问题3,将解答写在答题纸的对应栏内。
【说明】假币问题:有n枚硬币,其中有一枚是假币,己知假币的重量较轻。
现只有一个天平,要求用尽量少的比较次数找出这枚假币。
【分析问题】将n枚硬币分成相等的两部分:(1)当n为偶数时,将前后两部分,即1...n/2和n/2+1...0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币:(2)当n为奇数时,将前后两部分,即1..(n -1)/2和(n+1)/2+1...0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第(n+1)/2枚硬币是假币。
【C代码】下面是算法的C语言实现,其中:coins[]:硬币数组first,last:当前考虑的硬币数组中的第一个和最后一个下标#includeint getCounterfeitCoin(int coins[],int first,int last){int firstSum = 0,lastSum = 0;int ì;If(first==last-1){ /*只剩两枚硬币*/if(coins[first]< coins[last])return first;return last;}if((last - first + 1) % 2 ==0){ /*偶数枚硬币*/for(i = first;i<( 1 );i++){firstSum+= coins[i];}for(i=first + (last-first) / 2 + 1;i< last +1;i++){lastSum += coins[i];}if( 2 ){Return getCounterfeitCoin(coins,first,first+(last-first)/2;)}else{Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;)}}else{ /*奇数枚硬币*/For(i=first;i<="" p="">firstSum+=coins[i];}For(i=first+(last-first)/2+1;i<last+1;i++){< p="" style="color: rgb(51, 51, 51); font-family: "Microsoft YaHei", arial, simsun, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></last+1;i++){<>lastSum+=coins[i];}If(firstSum<lastsum){< p="" style="color: rgb(51, 51, 51); font-family: "Microsoft YaHei", arial, simsun, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></lastsum){<>return getCounterfeitCoin(coins,first,first+(last-first)/2-1);}else if(firstSum>lastSum){return getCounterfeitCoin(coins,first+(last-first)/2-1,last);}else{Return( 3 )}}}【问题一】根据题干说明,填充C代码中的空(1)-(3)【问题二】根据题干说明和C代码,算法采用了()设计策略。
2017年系统架构设计师案例分析试题加答案
2017年系统架构设计师案例分析试题加答案(6)系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。
阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。
希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。
项目组经过讨论,决定采用结构化分析和设计方法。
在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。
小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
小李提出先构建系统数据流图(DataFlowDiagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。
项目组经讨沦确定以数据流图作为本阶段的建模手段。
工程师老王详细说明了流程图和数据流图之间的区别与XXX,并指出了图的数据流图中存在的错误。
3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类子系统的0层数据流图。
5、高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。
请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。
参考答案3、数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。
流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
两者的区别如下。
①数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
软考案例分析真题答案解析
软考案例分析真题答案解析软考是国家计算机技术与软件专业资格(软考)认证,是国内计算机软件工程师职称评审的重要资格,对于培养和选拔优秀的软件工程师具有重要意义。
软考中的案例分析题是考察候选人能力的重要环节。
本文将解析一道软考案例分析真题,帮助考生深入了解题目背后的思路以及解题方法。
题目:某企业为了推动项目管理水平的提升,在内部举行了一场对全体员工的项目管理能力培训班。
在培训结束后,该企业安排了一次关于项目管理的学习小组讨论会,对培训中学到的知识进行复习和巩固,并进行案例分析。
在讨论会上,以下内容引起了讨论的激烈。
请结合题目情境,分析企业员工讨论的核心问题,以及可能的解决方法。
情境背景:参加该讨论会的员工大多数是初次接触项目管理的人员,他们对项目管理中的一些概念和方法存在较多的困惑。
他们之前对项目管理的理解主要停留在工作日程计划、任务分配等简单层面,并没有深入理解其中的复杂性和挑战性。
在讨论过程中,员工们开始关注项目管理的目的和价值,以及如何将项目管理应用于实际工作中。
1. 核心问题分析:在讨论会上,员工们关心的核心问题是项目管理的目的和价值。
他们想知道项目管理究竟能为企业带来什么好处。
此时,作为一名项目管理培训师,你需要解释项目管理的核心价值,以便员工们能够深入理解项目管理的重要性。
2. 解决方法:首先,你可以解释项目管理的核心目的:项目管理的主要目标是在规定的时间、成本和质量要求下,完成预定的工作,并实现项目目标。
通过项目管理,企业可以提高工作效率、降低成本、风险控制,并最终实现项目成功。
其次,你可以介绍项目管理的核心价值。
项目管理可以帮助企业实现以下价值:- 更好的资源管理:项目管理能够帮助企业合理安排资源,优化利用资源,提高工作效率。
通过项目管理,企业能够避免资源浪费和重复劳动,使资源得到最大化利用。
- 提升团队合作能力:项目管理注重团队协作,强调沟通和合作。
通过项目管理,企业可以促进团队成员之间的信息流动和知识共享,更好地发挥团队的协同作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机技术与软件专业技术资格(水平)考试2017年上半年软件设计师下午试卷(考试时间14:00~16:30 共150 分钟)1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。
2.在答题纸的指定位置填写准考证号、出生年月日和姓名。
3.答题纸上除填写上述内容外只能写解答。
4.本试卷共6道题,试题一至试题四是必答题,试题五至试题六选答1 道。
每题15 分,满分75 分。
5.解答时字迹务必清楚,字迹不清时,将不评分。
6.仿照下面例题,将解答写在答题纸的对应栏内。
例题2016 年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(1)月(2)日。
因为正确的解答是“11 月 4 日”,故在答题纸的对应栏内写上“11”和“4”(参看下表)。
试题一(共15 分)阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】某医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。
为了实现这一目标,该公司欲开发一采购系统。
系统的主要功能如下:1.检查库存水平。
采购部门每天检查部件库存量,当特定部件的库存量降至其订货点时,返回低存量部件及库存量。
2.下达采购订单。
采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3. 交运部件。
当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:(1)验证装运部件。
通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给 S/R 职员。
如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。
否则,将 S/R 职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。
通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。
如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。
如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。
库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。
标记订单采购完成。
现采用结构化方法对该采购系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。
图 1-2 0 层数据流图【问题 1】(5 分)使用说明中的词语,给出图 1-1 中的实体 E1 ~E5【问题 2】(4 分)使用说明中的词语,给出图 1-2 中的数据存储 D1~D4 的名称。
【问题 3】(4 分)根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
【问题 4】(2 分)用 200 字以内文字,说明建模图 1-1 和图 1-2 时如何保持数据流图平衡。
试题二(共 15 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。
请根据下述需求描述完成系统的数据库设计。
【需求描述】1.公司拥有多幢公寓楼,每幢公寓楼有唯一的楼编号和地址。
每幢公寓楼中有多套公寓,每套公寓在楼内有唯一的编号(不同公寓楼内的公寓号可相同〉。
系统需记录每套公寓的卧室数和卫生间数。
2.员工和租客在系统中有唯一的编号(员工编号和租客编号)。
3.对于每个租客,系统需记录姓名、多个联系电话、一个银行账号(方便自动扣房租)、一个紧急联系人的姓名及联系电话。
4.系统需记录每个员工的姓名、一个联系电话和月工资。
员工类别可以是经理或维修工,也可兼任。
每个经理可以管理多幢公寓楼。
每幢公寓楼必须由一个经理管理。
系统需记录每个维修工的业务技能,如:水暖维修、电工、木工等。
5.租客租赁公寓必须和公司签订租赁合同。
一份租赁合同通常由一个或多个租客(合租)与该公寓楼的经理签订,一个租客也可租赁多套公寓。
合同内容应包含签订日期、开始时间、租期、押金和月租金。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1所示。
【逻辑结构设计】根据概念摸型设计阶段完成的实体联系图,得出如下关系模式(不完整):联系电话(电话号码,租客编号)租客(租客编号,姓名,银行账号,联系人姓名,联系人电话)员工(员工编号,姓名,联系电话,类别,月工资,(a) )公寓楼( (b) ,地址,经理编号)公寓(楼编号,公寓号,卧室数,卫生间数〉合同(合同编号,租客编号,楼编号,公寓号,经理编号,签订日期,起始日期,租期,(c),押金)【问题 1】(4.5 分)补充图 2-1 中的“签约”联系所关联的实体及联系类型。
【问题 2】(4.5 分)补充逻辑结构设计中的(a)、(b)、(c)三处空缺。
【问题 3】(6 分)在租期内,公寓内设施如出现问题,租客可在系统中进行故障登记,填写故障描述,每项故障由系统自动生成唯一的故障编号,由公司派维修工进行故障维修,系统需记录每次维修的维修日期和维修内容。
请根据此需求,对图 2-1 进行补充,并将所补充的 ER 图内容转换为一个关系模式,请给出该关系模式。
试题三(共 15 分)阅读下列系统设计说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】某玩具公司正在开发一套电动玩具在线销售系统,用于向注册会员提供端对端的玩具定制和销售服务。
在系统设计阶段,"创建新订单 (New Order)" 的设计用例详细描述如表3-1 所示,候选设计类分类如表 3-2 所示,并根据该用例设计出部分类图如圈子 3-1 所示。
表 3-1 创建新订单 (NewOrder) 设计用例表 3-2 候选设计类分类在订单处理的过程中,会员可以点击“取消订单"取消该订单。
如果支付失败,该订单将被标记为挂起状态,可后续重新支付,如果挂起超时 30 分钟未支付,系统将自动取消该订单。
订单支付成功后,系统判断订单类型: (1)对于常规订单,标记为备货状态,订单信息发送到货运部,完成打包后交付快递发货; (2)对于定制订单,会自动进入定制状态,定制完成后交付快递发货。
会员在系统中点击”收货"按钮变为收货状态,结束整个订单的处理流程。
根据订单处理过程所设计的状态图如图 3-2 所示。
【问题 1】(6 分)根据表 3-1 中所标记的候选设计类,请按照其类别将编号C1~C12 分别填入表 3-2 中的(a)、(b)和(c)处。
【问题 2】 (4 分〉根据创建新订单的用例描述,请给出图 3-1 中 X1~X4 处对应类的名称。
【问题 3】 (5 分)根据订单处理过程的描述,在图 3-2 中 S1~S5 处分别填入对应的状态名称。
试题四(共15分)阅读下列说明和 C 代码,回答问题 1 至问题 3,将解答写在答题纸的对应栏内。
【说明】假币问题:有 n 枚硬币,其中有一枚是假币,己知假币的重量较轻。
现只有一个天平,要求用尽量少的比较次数找出这枚假币。
【分析问题】将 n 枚硬币分成相等的两部分:(1)当 n 为偶数时,将前后两部分,即 1...n/2 和 n/2+1...0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币:(2)当 n 为奇数时,将前后两部分,即 1..(n -1)/2 和(n+1)/2+1...0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币:若两端重量相等,则中间的硬币,即第 (n+1)/2 枚硬币是假币。
【C 代码】下面是算法的 C 语言实现,其中:coins[]: 硬币数组first,last:当前考虑的硬币数组中的第一个和最后一个下标#include <stdio.h>int getCounterfeitCoin(int coins[], int first,iot last){int firstSum = 0,lastSum = 0;int ì;If(first==last-1){ /*只剩两枚硬币*/if(coins[first] < coins[last])return first;return last;}if((last - first + 1) % 2 =0){ /*偶数枚硬币*/for(i = first;i <( 1 );i++){firstSum+= coins[i];}for(i=first + (last-first) / 2 + 1;i < last +1;i++){lastSum += coins[i];}if( 2 ){Return getCounterfeitCoin(coins,first,first+(last-first)/2;) }else{Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;) }} else { /*奇数枚硬币*/For(i=first;i<first+(last-first)/2;i++){firstSum+=coins[i];}For(i=first+(last-first)/2+1;i<last+1;i++){lastSum+=coins[i];}If(firstSum<lastSum){Return getCounterfeitCoin(coins,first,first+(last-first)/2-1);}else if(firstSum>lastSum){Return getCounterfeitCoin(coins,first+(last-first)/2-1,last);}else{Return( 3 )}}}【问题一】根据题干说明,填充 C 代码中的空(1)-(3)【问题二】根据题干说明和 C 代码,算法采用了()设计策略。
函数getCounterfeitCoin 的时间复杂度为()(用 O 表示)。
【问题三】若输入的硬币数为 30,则最少的比较次数为(),最多的比较次数为()。
试题五(共 15 分〉阅读下列说明和 C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】某快餐厅主要制作井出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。
前台服务员(Waiter)调度厨师制作套餐。
现采用生成器(Builder) 模式实现制作过程,得到如图 5-1 所示的类图。
【C++代码】#include<iostream>#include <string>using namespace std;class Pizza {private: string parts;public:void setParts(string parts) { this->parts=parts; }string getParts() { return parts; }};class PizzaBuilder {protected:Pizza* pizza;public:Pizza* getPizza() { retum pizza; }void createNewPizza() { pizza = new Pizza(); }( 1 );}class HawaiianPizzaBuilder :public PizzaBuilder {public:void buildParts() { pizza->setParts("cross +mild +ham&pineapple"); }class SpicyPizzaBuider: public PizzaBuilder {public:void buildParts() { pizza->setParts("pan baked +hot +ham&pineapple"); } }Class Waiter{Private:PizzaBuilder* pizzaBuilder;public:void setPizzaBuilder(PizzaBuilder* pizzaBuilder) { /*设置构建器*/( 2 )}Pizza* getPizza() { return pizzaBuilder->getPizza(); }void construct() { /*构建*/pizzaBuilder->createNewPizza();( 3 )}};int main(){Waiter*waiter=new Waiter();PizzaBuilder*hawaiian pizzabuilder=newHawaiianPizzaBuilder()( 4 );( 5 );cout<< "pizza: "<< waiter->getPizza()->getParts()<< endl; }程序的输出结果为:pizza: cross + mild + ham&pineapple试题六(共 15 分)阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。