【软考系统架构设计师】2009年下系统架构师案例分析历年真题

2009年下系统架构师案例分析历年真题

  • 【软考系统架构设计师】2009年下系统架构师案例分析历年真题
    • 2009年系统架构师案例分析真题第一题(质量属性)
    • 2009年系统架构师案例分析真题第二题(软件工程)
    • 2009年系统架构师案例分析真题第三题(嵌入式)
    • 2009年系统架构师案例分析真题第四题(架构风格)
    • 2009年系统架构师案例分析真题第五题(安全)

2009年系统架构师案例分析真题第一题(质量属性)

某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
(1) 在线交易平台必须在Is内完成客户的交易请求。
(2) 该平台必须保证客户个人信息和交易信息的安全。
(3) 当发生故障时,该平台的平均故障恢复时间必须小于10s。
(4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
【问题1】
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称并解释其含义。
【问题2】
请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。

  • 【问题1我的解答】
  1. 性能:单位时间内所能够完成事务多少的能力;
  2. 可用性:系统在多长时间内可以没有故障正常使用的;
  3. 可靠性:系统在出现错误或者故障的情况下,仍然可以运行的能力;
  4. 可修改性:以较高的成本效益比完成系统升级维护工作的能力;
  5. 安全性:允许合法用户正常访问系统,不允许非法用户或没有授权的用户访问系统;
  6. 互操作性:系统并不是独立存在的,需要和用户以及其他系统协同工作;
  7. 功能性:向系统升级新功能的能力
  • 【问题2我的解答】
需求内容 质量属性 策略
在线交易平台必须在1s内完成客户的交易请求 可用性 冗余,心跳线
该平台必须保证客户个人信息和交易信息的安全 安全性 访问控制,信息隐藏
当发生故障时,该平台的平均故障恢复时间必须小于10s 可用性 冗余,心跳线
由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成 可修改性 接口实现分离,面向接口编程
  • 【问题1标准答案】
  1. 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
  2. 可用性是系统能够正常运行的时间比例。
  3. 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力
  4. 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
  5. 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
  6. 互操作性是指系统与外界或系统与系统之间的相互作用能力。
  7. 功能性是系统所能完成所期望工作的能力
  8. 可变性是指体系结构经扩充或变更成为新体系结构的能力
  • 其他质量属性:
  1. 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
  2. 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
  3. 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
  • 【问题2标准答案】
  1. 在线交易平台必须在Is内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
  2. 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等
  3. 当发生故障时,该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Edio、心跳、异常和主动冗余等。
  4. 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
  • 【心得体会】
  1. 第一空中犯了两个错误。首先八大质量属性漏掉了一个可变性;可变性是经过扩充或变更后成为新体系结构的能力。
  2. 易用性,健壮性,可测试性不在八大质量属性之中,但也是可以了解一下的。其次性能是指系统的响应能力,需要多久才可以对某事件作出响应,关于性能的概念定义,我这边还不够准确。
  3. 第二空,性能这个质量属性居然搞错了,不应该啊。关于质量属性的对应策略,我这边也错了不少;
  4. 安全性策略忘记了安全审计,可惜可惜了;
  5. 性能的策略是围绕资源的,增加资源,资源调度,资源管理都可以提高性能;
  6. Ping/Echo以及异常的策略可以用在可用性方面,目前第一次看到,一定要记住;
  7. 总体看来质量属性的题目目标要拿22分的,但目前估计只有18分左右,看来知识掌握的不够扎实呀!

2009年系统架构师案例分析真题第二题(软件工程)

某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:
(1) 小张提出先构建系统流程图(SystemFlowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
(2) 小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。

项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了上图所示数据流图中存在的错误。
【问题1】
流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
【问题2】
请分析指出上图所示的数据流图中存在的错误及其原因,并针对1层数据流图绘制出情报分类子系统的0层数据流图。
【问题3】
高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则

  • 【问题1我的答案】
  1. 流程图:一般用来描述企业,部门如何使用系统来完成业务处理的流程。描述各个单元的输入输出;一般在业务流程建模的时候使用。可以用来了解现有业务等等流程情况,并可以在现有的基础上,对业务流程进行改善与重构。
  2. 数据流图:一般用在信息系统建设的需求分析阶段,用来描述系统与外部实体的关系,它有四个元素组成:加工,数据流,外部实体,数据存储所组成。
  3. 数据流图面向需求定义描述分析需求,业务流程图面向的是系统的业务流程;
  4. 数据流图可以分解为顶层图,1,2层图;业务流程图没有这个功能
  5. 数据流图一般用于结构化的软件系统的需求分析建模,业务流程图与具体开发方法没有直接关系。
  6. 采用结构化开发方法的系统来说,对于情报数据处理流程及其与外部角色的关联进行建模,采用数据流图更加合适。
  • 【问题2我的解答】
  1. 用户是外部实体,这里却用了加工的符号
  2. 分类训练没有输出的箭头
  3. 规则库到分类训练这个箭头反了
  4. 规则库到分类处理这个箭头反了
  • 0层图:
    外部实体:用户
    加工:情报分类子系统
    数据流:配置信息,分类,分类结果;

  • 【问题3我的解答】

  1. 可读的
    顶层图中的加工可以体现在1层图中作为一个子系统来定义;有明确的层次定义关系;
  2. 内部一致
    每个加工都有输入的数据流和输出的数据流。不会有数据只出不进或者只进不出的情况;
  3. 准确表达需求
    数据流图能够准确的表达数据在各个加工中如何传递,数据流存储在哪里以及数据流如何输入系统,数据如何输出给用户。
  • 【问题1标准答案】
  • 数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。
  • 流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。
  • 两者的区别主要包括:
  1. 数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
  2. 数据流图展现系统的数据流;流程图展现系统的控制流
  3. 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。
  4. 数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。

【问题2标准答案】
如图所示的数据流图中存在的错误有以下4种:

  1. “分类训练”加工:只有输入没有输出,产生数据黑洞;
  2. “分类处理”加工:只有输出没有输入,无中生有;
  3. “规则文件”数据流:外部实体没有经过加工处理,直接到数据存储;
  4. “配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。
  • 【问题3标准答案】
    髙质量数据流图设计时应考虑的三个原则:
  1. 复杂性最小化原则
    DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详细的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考査。
  2. 接口最小化原则
    接口最小化是复杂性最小化的一种具体规则,在设计模型时,应使得模型中各个元素之间的接口数或连接数最小化。
  3. 数据流一致性原则
    一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?
  • 【标准说明】
    本题考查考生对于结构化系统建模方法的掌握情况。
  1. 关于问题1:
    数据流图和流程图是结构化建模中使用的重要工具,能够帮助开发人员更好地分析和设计系统,增强系统开发人员之间交流的准确性和有效性。数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流,适用于系统分析中的逻辑建模阶段。流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流,往往涉及到具体的技术和环境,适用于系统设计中的物理建模阶段。
    本题项目组为了更好地对情报数据处理流程及其与外部角色的关联进行建模,符合数据流图的应用场景要求,因此,首先构建数据流图以反映数据流向和系统边界。
    数据流图和流程图是为了达到不同的目的而产生的,其所采用的标准符号集合也不相同。在实际应用中,区别主要包括是否可以描述处理过程的并发性;描述内容是数据流还是控制流等几个方面。
  2. 关于问题2:
    数据流图中常见的错误分为两种类型:一类是语法错误,包括外部实体之间、数据存储之间或外部实体与数据存储之间不经过加工而存在直接数据流;另一类是逻辑错误,包括数据黑洞(只有输入没有产生输出)、灰洞(输入不足以产生输出)和无输入。
    · “分类训练”加工属于数据黑洞错误;
    · “分类处理”加工属于无输入错误;
    · “规则文件”和“配置信息”数据流属于语法错误。
    对于复杂系统,一般采用分层数据流图逐步细化系统的内部处理逻辑。0层数据流图是1层数据流图更高级别的抽象。“分类训练”和“分类处理”加工属于内部加工,“分类规则”数据流属于内部数据流,抽象为“情报分类子系统”加工。其中,“样本数据”、“规则文件”和“配置信息”为输入数据流;“分类结果”为输出数据流。
  • 关于问题3:
    高质量的数据流图首先要求满足数据流一致性要求,即数据流的输入输出应该匹配,输入数据的信息量足以产生输出数据,所有的输出数据都能够从输入数据中找到数据的来源。对于复杂性系统,可以采用DFD分层结构将系统的复杂性逐步分解降低,以提高数据流图的有效性。高质量的数据流图应该简化复杂的接口,最小化接口或连接的数目

  • 【心得体会】

  1. 本题主要考察了数据流图和流程图之间的区别和联系。因为考查的是结构化分析方法,而且该考点已经相当陈旧了。个人觉得不具备相应的参考价值。但是该题有助于了解技术发展的历程。
  2. 首先要记住这两个图的不同与区别之处。
数据流图 流程图
数据流 控制流
处理可并行 处理不可并行
用在逻辑建模阶段 用在物理建模阶段
不同计时规则 一致计时规则
  1. 数据流图的三个原则,这个概念觉得比较重要,还是要记住的。分别是复杂性最小化原则,数据流一致性原则和最小接口原则。复杂性最小化容易理解,数据流图可以把0层图中的加工分解为1层图,同理可知,也可以抽象回0层图;数据流一致性原则就是在图中数据流的输入和输出是相对一致和平衡的,如果存在只出不进,或者只进不出的情况的话,就破坏了一致性;
  2. 各个元素之间的接口数或者连接数最小化就是最小接口原则,试想一个网状的数据流图它的设计建模本身就存在问题吧。

2009年系统架构师案例分析真题第三题(嵌入式)

某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
(2) 应用软件应与硬件无关,便于软硬件的升级;
(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
(4) 宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案

【问题1】
用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)-(4),说明架构中各层内涵。
【问题2】
在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
两种操作系统的主要差异

【问题3】
故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。

  • 【问题1我的解答】
    设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构) 层次架构中各层是可以替换的。
    应用软件应与硬件无关,便于软硬件的升级 层次之间有隔离性,只和直接的上层和下层发生联系
    由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离; 通过层次之间不可跨级调用的特点,达到数据隔离的效果
    宇航设备可靠性要求高,系统要有故障处理能力。 每一层构件独立处理自己该做的事,也可以替换
层次 说明
应用层 应用软件与硬件无关,它只与临近的应用层相关
操作系统层 提供系统的可靠性,支持完成不同功能任务间的数据隔离
模块支持层 实现应用软件应与硬件无关,便于软硬件的升级
硬件平台 设备可以单独替换,而不必再修改操作系统层和应用层
  • 【问题2我的解答】
    我选择Linux操作系统,作为宇航系统来说相比实时性,更加注重的是安全性;Linux系统的安全性比Vxworks来得高。
比较类型 Vxworks Linux
工作方式 操作系统与应用程序处于同一应用空间 操作系统与应用程序分离
多任务支持 支持多任务操作 支持多任务操作
实时性 实时系统 实时系统
安全性 一般
标准API 支持 支持
  • 【问题3我的解答】
    嵌入式系统的故障有软件故障,硬件故障,
    容错算法:N版本程序设计,恢复块方法,
    故障滤波算法:防卫式编程技术。

  • 【问题1标准答案】

  • TLS结构框架的主要特点:

  1. 应用软件仅与操作系统服务相关,不直接操作硬件。
  2. 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
  3. 模块支持层将硬件抽象成标准操作。
  4. 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
  • TLS结构框架的各层内涵是:
  1. 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
  2. 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
  3. 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
  • 【问题2标准答案】

    选择类似于Linux的嵌入式操作系统。理由如下:
  1. Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。
  2. Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
  3. 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
  • 【问题3标准答案】
  1. 嵌入式系统中故障主要分为:
    ①硬件故障:如CPU、存储器和定时器等:
    ②应用软件故障:如数值越界、异常和超时等:
    ③操作系统故障:如越权访问、死锁和资源枯竭等。
  2. 滤波算法:
    ①门限算法
    ②递减算法
    ③递增算法
    ④周期滤波算法
  3. 容错算法:
    ①N+1备份
    ②冷备
    ③温备
    ④热备
  • 【心得体会】
  1. 第三空考查的是嵌入式系统的故障,嵌入式系统的故障不外乎分为软件故障,硬件故障和操作系统的故障三种类型,可以和数据库的故障分类关联起来记忆;
  2. 容错算法有N+1备份,双机互备,双机热备,双机双工,冷备等;滤波算法没有接触过;
  3. 第二问直接比对了Linux和VXWorks5.5这两个操作系统,Linux系统内核工作在核心态,应用程序工作在用户态,他们彼此分离,出于不同的存储空间,所以在安全性上Linux系统更高。
  4. 而且在任务之间VXWorks是没有保护的,而在Linux的任务进程之间相互隔离,所以安全性较高。
  5. 分析到这里,对于两个嵌入式操作系统都有了基本的了解之后,那么就好填空了。
  6. 最后分析一下第一空,其实TLS结构框架的主要特点就是层次性架构风格的主要特点。每一层各司其职,这里就不多说了。

2009年系统架构师案例分析真题第四题(架构风格)

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

公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。
在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格
【问题1】
在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。
【问题2】
用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。
【问题3】
实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。

  • 【问题1我的解答】
  1. 软件架构是将用户的需求转化分配到各自的组件,并将需求转化为设计的过程。软件架构架起了需求分析和软件设计之间鸿沟,同时软件架构也更方便干系人之间的沟通。
  2. 面向对象风格是调用返回风格中的一个成员,面向对象风格将客观世界中的东西都定义为了对象,通过对象之间的各种关系及调用来实现系统的功能;
  3. 控制环路风格:它在内部就是一个闭环,不会受到外部事件的影响,它会在内部进行条件判断后,根据判断的结果作出相应的响应。
  • 【问题2我的解答】

  • 【问题3我的解答】

  1. 定速巡航系统,空调系统等都是控制环路风格的适用场景;定速巡航系统中速度的增减取决于检测到的车轮的转速;空调系统中是否制冷取决于检测到外部的温度,根据外部的温度不同而决定。
  2. 能够对现实世界进行面向对象建模的系统,都可以采用面向对象架构风格。
  • 【问题1标准答案】
  1. 软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。
  2. 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程
  3. 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
  • 【问题2标准答案】
    对于系统的增减速功能,来用面向对象风格的巡航控制系统首先会定义司机、油门、 时钟、速度计和车轮等构件
    整个计算的主要过程是:
  1. 司机进行增/减速操作设置期望速度,该期望速度以消息的形式传递给速度计;
  2. 速度计通过向车轮和时钟发送消息获取车轮转速和时钟值,得到当前速度;
  3. 速度计计算前速度和期望速度的速度差值;
  4. 该差值以消息的形式发送给油门,油门通过速度差值调节自身状态;
  5. 整个过程在时钟的控制下定期向速度计发送消息,重复执行2.〜4.。
    控制环路的架构风格以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为
    构件。
    具体的计算过程是:
  6. 司机进行增/减速操作设置期望速度值;
  7. 将设定值置为期望速度值;
  8. 控制器采集车轮脉冲和时钟值,计算出当前速度;
  9. 比较期望速度和当前速度,计算速度差值,控制油门动作;
  10. 反复执行3.和4.。
  • 【问题3标准答案】
  • 适合面向对象架构风格的应用场景:
  1. 用户刹车时立即退出巡航系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格;
  2. 系统对突发事件的处理,如某些部件失灵等;理由:当发生突发事件时,系统会同时产生数据和事件,这种情况使用面向对象建模比较妥当。
  • 适合面向控制环路架构风格的应用场景:
  1. 在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。
  2. 用户改变期望速度后,系统不断进行调整,直至到恒定速度。
    理由:这也是一个闭环控制的情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下,对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。
  • 【心得体会】
  1. 此题好难回答,尤其是第二空完全蒙圈。
    首先第一空什么是软件架构风格,它是特定应用领域中的系统组织方式和惯用方式。这是软件架构中的其中一个概念;
  2. 面向对象架构风格的特点,面向对象开发了这么多年,一下子回答不上来。这个模式中的构件是对象,对象之间的消息传递和通信就是连接件;对象不是独立存在的,对象之间需要通过协作来完成计算的过程,对象还需要有一个唯一的标识是标记它。
  3. 控制环路架构风格的关键字就是设定点;也就是维护这个特定的参考值,通过收集和比对实际和理想信息,通过调整过程变量,让实际状态接近于理想状态的一种风格。闭环风格道理明白,但实际用自己语言来描述,发现就不行了。
  4. 第二空需要给出架构风格的主要构件,并说明实际运用。首先是面向对象风格,这里其实就是面向对象建模,先找出哪些是系统中的对象,操控汽车的司机,油门,计数器,车轮,时钟当对象。
  5. 司机可以设定期望的速度,计数器通过访问时钟对象和车轮转速,获得当前速度;
    获得的速度需要比对,如果速度有偏差,那么需要发送给油门对象,让油门对象去调节。
  6. 而在闭环控制架构风格当中需要期望速度,车轮脉冲,油门,控制器等作为构件;
    首先司机可以通过增减速去设定期望速度值,控制器通过时钟和车轮脉冲采集到当前的速度,计算速度的差值后,然后控制调整油门的动作。
  7. 可以看到在面向对象风格和闭环控制风格中,油门,控制器,时钟等构件都是一致的,说明这两种架构风格可以混合使用。
  8. 第三空就相对比较简单,闭环控制风格中,速度总是维持在一定的数值,当改变数值的时候,调整系统直至恒定的速度。
  9. 而面向对象就讲究对象与事件,找出案例背景中对象,尤其是对象之间的协作的事件,这样就好回答了。

2009年系统架构师案例分析真题第五题(安全)

某企业根据业务扩张的要求,需要将原有的业务系统扩展到互联网上,建立自己的B2C业务系统,此时系统的安全性成为一个非常重要的设计需求。为此,该企业向软件开发商提出如下要求:
(1) 合法用户可以安全地使用该系统完成业务;
(2) 灵活的用户权限管理;
(3) 保护系统数据的安全,不会发生信息泄漏和数据损坏;
(4) 防止来自于互联网上各种恶意攻击;
(5) 业务系统涉及到各种订单和资金的管理,需要防止授权侵犯;
(6) 业务系统直接面向最终用户,需要在系统中保留用户使用痕迹,以应对可能的商业诉讼。
该软件开发商接受任务后,成立方案设计小组,提出的设计方案是:在原有业务系统的基础上,保留了原业务系统中的认证和访问控制模块;为了防止来自互联网的威胁,增加了防火墙和入侵检测系统。
企业和软件开发商共同组成方案评审会,对该方案进行了评审,各位专家对该方案提出了多点不同意见。李工认为,原业务系统只针对企业内部员工,采用了用户名/密码方式是可以的,但扩展为基于互联网的B2C业务系统后,认证方式过于简单,很可能造成用户身份被盗取;王工认为,防止授权侵犯和保留用户痕迹的要求在方案中没有体现。而刘工则认为,即使是在原有业务系统上的扩展与改造,也必须全面考虑信息系统面临的各种威胁,设计完整的系统安全架构,而不是修修补补。
【问题1】
信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别予以简要描述。
【问题2】
认证是安全系统中不可缺少的环节,请简要描述主要的认证方式,并说明该企业应采用哪种认证方式。
【问题3】
请解释授权侵犯的具体含义;针对王工的意见给出相应的解决方案,说明该解决方案的名称、内容和目标。

  • 【问题1我的解答】
    安全威胁有:
    1)系统被入侵
    2)非法用户登陆使用系统
    3)授权侵犯
    4)内部数据泄漏

  • 【问题2我的解答】
    主要的认证方式有:用户名密码认证,生物特征识别,短信验证码认证等;
    针对该系统在保留用户名密码认证的基础上,再增加验证码认证。

  • 【问题3我的解答】

  • 基于日志的安全审计,当出现授权侵犯时,通过查看安全日志,查看用户使用痕迹来判断是否已构成授权侵犯。

  • 【问题1标准答案】

  1. 信息系统面临的安全威胁来自于物理环境、通信链路、网络系统、操作系统、应用系统以及管理等多个方面。
  2. 物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。
  3. 通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。
  4. 网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。
  5. 操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱门”等。
  6. 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。
  7. 管理系统安全威胁指的是人员管理和各种安全管理制度。
  • 【问题2标准答案】
    目前主要的认证方式有三类:
  1. 用户名和口令认证:主要是通过一个客户端与服务器知的口令(或与口令相关的数据)进行验证。根据处理形式的不同,分为验证数据的明文传送、利用单向散列函数处理验证数据、利用单向散列函数和随机数处理验证数据。
  2. 使用令牌认证:该方式中,进行验证的密钥存储于令牌中,目前的令牌包括安全证书和智能卡等方式。
  3. 生物识别认证:主要是根据认证者的图像、指纹、气味和声音等作为认证数据。根据该企业的业务特征,采用令牌认证较为合适。
  • 【问题3标准答案】
  1. 授权侵犯指的是被授权以某一目的使用某一系统或资源的某个人,将此权限用于其他非授权的目的,也称作“内部攻击”。
  2. 针对王工的建议,从系统安全架构设计的角度需要提供抗抵赖框架。
  3. 抗抵赖服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。
  4. 框架中抗抵赖服务的目的是提供有关特定事件或行为的证据。例如,必须确认数据原发者和接收者的身份和数据完整性,在某些情况下,可能需要涉及上下文关系(如日期、时间、原发者/接收者的地点等)的证据,等等。
  • 【试题解析】
  1. 本题考查信息系统的安全威胁以及采用的常用方案。
  2. 信息系统面临的安全主要包括信息系统所依赖环境的安全、信息系统自身安全和使用信息系统的人员管理和相关规章制度。
  3. 信息系统所依赖的环境带来的安全威胁有物理环境、通信链路和操作系统。物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱门”等。
  4. 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。
  5. 管理系统安全威胁指的是人员管理和各种安全管理制度。所谓的安全措施,是指“三分技术 ,七分管理
  6. 目前威胁信息系统安全中,有相当一部分是由于内部人员犯罪所引起的,即授权侵犯。授权侵犯指的是被授权以某一目的使用某一系统或资源的某个人,将此权限用于其他非授权的目的,也称作“内部攻击”。防止授权侵犯的主要手段是提供类似于审计的功能,从系统安全架构设计的角度来讲,即提供抗抵赖框架。
  7. 抗抵赖服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。框架中抗抵赖服务的目的是提供有关特定事件或行为的证据。
  8. 例如,必须确认数据原发者和接收者的身份和数据完整性,在某些情况下,可能需要涉及上下文关系(如日期、时间、原发者/接收者的地点等)的证据,等等
  • 【心得体会】
  1. 第一问考查理论知识,安全威胁有哪些?这里的安威胁要分信息系统的安全威胁,环境的安全威胁,以及人员制度方面的安全威胁。这里主要的安全威胁还是在信息系统自身,信息系统自身的安全威胁又可以分为物理环境,通信链路和操作系统,应用系统安全威胁四种。有了这些理论知识第一空就好回答了。
  2. 第二空考查认证方式,三种常用的认证方式应该都可以想到的,这里令牌认证才是最好的答案。
  3. 第三空授权侵犯指的是被授权以某一目的使用某一系统或资源的某个人,将此权限用于其他非授权的目的,也称作“内部攻击”。防止授权侵犯的主要手段就是安全审计。这里还有提到了一个防抵赖框架,以提供相应的证据而存在。

【软考系统架构设计师】2009年下系统架构师案例分析历年真题相关推荐

  1. 【软考系统架构设计师】2017下系统架构师案例分析历年真题

    [软考系统架构设计师]2017下系统架构师案例分析历年真题 2017下系统架构师案例分析历年真题 [软考系统架构设计师]2017下系统架构师案例分析历年真题 2017下系统架构师案例分析试题一(系统架 ...

  2. 【软考软件评测师】2014年下案例分析历年真题

    [软考软件评测师]2014年下案例分析历年真题 2014下案例分析历年真题 [软考软件评测师]2014年下案例分析历年真题 2014下案例分析历年真题第一题(15分) 2014下案例分析历年真题第二题 ...

  3. 【软考系统架构设计师】2022下案例分析历年真题

    [软考系统架构设计师]2022下案例分析历年真题 [软考系统架构设计师]2022下案例分析历年真题 [软考系统架构设计师]2022下案例分析历年真题 2022下案例分析历年真题第一题(25分) 202 ...

  4. 视频教程-2020年软考网络规划设计师案例分析历年真题详解软考视频教程-软考

    2020年软考网络规划设计师案例分析历年真题详解软考视频教程 10年以上软考培训经验,线下培训学员过万人.培训过的课程有:网络规划设计师.网络工程师.信 息系统项目管理师.系统集成项目管理师.信息安全 ...

  5. 【软考软件评测师】2020年下案例分析历年真题

    [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题 [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题第一题(15分) 2020下案例分析历年真题第二题 ...

  6. 【软考软件评测师】2015年下案例分析历年真题

    [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题 [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题第一题(15分) 2015下案例分析历年真题第二题 ...

  7. 【软考软件评测师】2017年下案例分析历年真题

    [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题 [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题第一题(15分) 2017下案例分析历年真题第二题 ...

  8. 【软考软件评测师】2010年下案例分析历年真题

    [软考软件评测师]2010年下案例分析历年真题 2010年下案例分析历年真题 [软考软件评测师]2010年下案例分析历年真题 2010下案例分析历年真题第一题(15分) 2010下案例分析历年真题第二 ...

  9. 【系统分析师之路】2018年下系统分析师案例分析历年真题

    [系统分析师之路]2018年下系统分析师案例分析历年真题 2018年下系统分析师案例分析真题 [系统分析师之路]2018年下系统分析师案例分析历年真题 2018年下系统分析师案例分析试题一(需求工程) ...

最新文章

  1. 客快物流大数据项目(五十):项目框架初始化
  2. 说了这么多次 I/O,可你知道其中的原理么
  3. 【阿里云课程】从零开始1小时快速掌握Pytorch核心功能,完成完整的项目实践...
  4. Linux任务处理及日志查看常用命令
  5. Navicat数据库非常实用的技巧 (create_time、edit_time 设置默认值和自动更新)
  6. mac版sublime 无法下载插件(Vue 代码无高亮问题)
  7. Window右键添加“用vim打开”
  8. 软键盘弹起,导致底部被顶上去
  9. Spring MVC-表单(Form)标签-单选按钮(RadioButton)示例(转载实践)
  10. 关于UIColor这个类的一些不知道的事
  11. Win32++ Home Page
  12. 《数学建模与数学实验》第5版 线性规划 习题3.4
  13. Unity Koreographer 之 音乐制作插件介绍学习,一般使用步骤介绍(包括:一般音乐游戏制作流程简绍) 一
  14. 宏基aspire拆机触摸_宏基(acer)Aspire 4930G拆机教程
  15. 小白之路由浅入深之------day24
  16. 前端——js关闭页面方法
  17. 【机器学习】隐马尔可夫模型
  18. Redis-狂神笔记-菜鸟风闲整理
  19. 微型计算机的 I3 I5是,i3与i5有什么区别
  20. AI智能在线客服系统,如何实现自动回复功能?

热门文章

  1. 2018年,30而立,30而已
  2. OushuDB入门(四)——数仓架构篇
  3. do matlab的 while循环_在MATLAB中,循环控制语句可以用for、while或do-while进行控制...
  4. 京东平台智能手表电商数据分析报告
  5. 同步,异步,并行概念的歪解
  6. Windows XP
  7. 五分钟教你Android-Kotlin项目编写
  8. 计算机房精密空调通风工程,机房精密空调改造施工工程方案.doc
  9. 深入理解机器学习——类别不平衡学习(Imbalanced Learning):基础知识
  10. webpack版本和vue版本的冲突问题