系统架构设计师 0. 重点 2. 操作系统 3. 数据库系统 5. 软件架构(体系结构)设计 6. 系统建模 8. 项目管理 10. 系统可靠性分析与设计

  • 快速选两个题目!!!各个小题目都比较有把握的!!!最好是选填的或者概念知识点记得熟的!!!比如质量效用树、数据流图、UML图、对比类型的题目!!!
  • !!!只准备架构、系统建模、数据库三个大主题就够用了!!!
    • 架构
      • 架构评估(大概率考一题)
        • 质量属性、质量效用树(性能、安全、可用性、可扩展性)
        • 架构风险、敏感点和权衡点
      • 具体架构风格(大概率考一题)
        • 面向服务架构(SOA)
        • 面向构件的编程
        • MVC
        • Web系统架构设计
        • 微服务
    • 系统建模(大概率考一题)
      • 结构化方法
      • 面向对象方法
    • 数据库(大概率考一题)
      • 不同数据库类型
      • 数据库访问及持久层
  • 第一题
    • 架构
      • (2018)系统需求、非功能性需求
      • 架构评估
        • (2017、2016、2015)质量属性、质量效用树(性能、安全、可用性、可扩展性)
        • (2017、2015)架构风险、敏感点和权衡点
      • (2016)架构风格
      • (2014)MVC、扩展接口模式结构
  • 第二题
    • 架构
      • (2017)MVC与EJB构件
    • 系统建模
      • (2018、2014)结构化方法
        • DFD图
        • ER图
      • 面向对象方法
        • (2018、2016)用例图
        • (2015)状态图
        • (2015)活动图
  • 第三题
    • 系统可靠性分析与设计
      • 如果混合着嵌入式实时系统中特殊的知识,可以选择性放弃!!!
      • (2015)系统可靠性的4个子特性
      • (2015)硬件可靠性特征与其对应的软件可靠性特征之间的差异或相似之处
      • (2015)软件的可靠性设计方法
        • 恢复块
        • 和N版本程序设计
      • (2016)软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)
    • 架构
      • (2014)面向构件的编程
    • (2018、2017、2016、2014)嵌入式实时系统(每年考,但是不熟,可以放弃)
  • 第四题
    • 数据库
      • (2015)文件系统、关系型数据库、内存型数据库特点对比
      • (2018)分布式数据库缓存
      • (2017)数据库访问
    • 应用服务器
      • (2016)
    • 架构
      • 架构评估
        • (2014)质量属性、质量效用树(性能、安全、可用性、可扩展性)
  • 第五题
    • 架构
      • (2018)面向服务架构(SOA)
      • (2017、2014)Web系统架构设计
      • (2016)MVC架构
    • 数据库
      • (2015)数据持久层
      • (2014)数据库分区、主从复制、缓存机制
    • 开发模型、方法
      • (2016)scrum敏捷方法

2. 操作系统

  • 嵌入式实时操作系统
    • (2018.3)
      • 王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是一种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3-1给出的实时任务特征分类,用题干中给出的(a)(t)20个实时任务特征描述,补充完善表3-1给出的空(1)(14)。
      • 请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。
    • (2017.3)
      • 王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式, 使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。
    • (2016.3)
      • 王工在培训中指出:嵌入式系统主要负责对设备的各种传感器进行管理与控制。而航空航天飞行器的电子设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用300字以内文字说明什么是实时系统,实时系统有哪些主要特性。
      • 实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种分类方法,即时间类别、时间需求和工作方式结构。根据自己所掌握的“实时性”知识,将图3-1给出的实时特性按三种分类方式,填写图3-1中(1)~(8)处空白。
        • 备选答案:时限的危害程度;时间角色;弱;时间响应;固定;时限/反应时间;时间明确;输入/输出激励;时间触发;强;周期/零星/非周期;事件触发。
    • (2014.3)
      • 王工程师的实施方案指出:本公司的大部分产品是为用户提供标准计算平台的,而此平台中的主要开发工作是为嵌入式操作系统研制板级支持软件(BSP)。为了提高BSP软件的复用,应首先开展BSP构件的开发,且构件架构应符合国外GENESYS规范定义的嵌入式系统架构风格。图 3-1 给出了架构风格定义的构件通用接口,其中:链接接口 (LIF)是构件对外提供的功能服务接口;局部接口建立了构件和它的局部环境的连接,如传感器、作动器或人机接口;技术相关接口(TDI)提供了查看构件内部、观察构件的内部变量的手段,如诊断等;技术无关接口(TII)用来在运行时配置、复使、重启构件的接口。现需要针对BSP中常用的RS-232串行驱动程序设计一个可复用的软构件,请说明该软构件四类接口的具体功能。

3. 数据库系统

  • 数据库理论
    • (2015.4)
      • 请从设计难度、数据冗余程度、数据架构、应用扩展性等4个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表4-1中(1)~(4)。
        • (1) 数据结构需要符合关系模式,设计难度较大
        • (2) 可能在多个文件中复制相同的数据属性,数据冗余较大
        • (3) 以应用系统为中心组织、管理数据
        • (4) 数据独立于应用系统,很容易在不同的应用系统之间共享数据
      • 对系统的核心业务需求进行认真分析后,公司的资深架构师张工提出一种内存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入内存数据库,而将相对固定不变的数据存入关系数据库。请首先分析比较内存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表4-2中(1)~(4)的空白,并根据张工的思路指定各种业务数据的存储方式,填写表4-3中(5)~(9)中的空白。
        • (1) Key-Value模式(键-值对模式)
        • (2) 外存读写,性能相对较低
        • (3) 基于内存存储, 存储容量受限
        • (4) 恢复机制复杂, 可靠性较低
        • (5) 内存数据库
        • (6) 内存数据库
        • (7) 关系数据库
        • (8) 内存数据库
        • (9) 内存数据库
        • 混合存储架构中,将客户电子邮件、客户联系电话、商品库存信息、商品价格信息等数据存入内存数据库:客户基本信息,商品基本信息相对稳定、访问频率较低,存入关系型数据库。
      • 系统开发完成进行压力测试时,发现在较大数据量的情况下,部分业务查询响应时间过长,经过分析发现其主要原因是部分SQL查询语句效率低下。请判断表4-4中的SQL语句设计策略哪些可能会提升查询效率,哪些可能会降低查询效率,在(1)~(4)中填入“提升”或“降低”。
        • (1) 提升
        • (2) 降低
        • (3) 降低
        • (4) 提升
  • 数据库分区
    • (2014.5)
      • (1) 本系统中应主要使用水平分区机制。根据已知信息,系统数据库中存储的主要数据为以用户标识为索引的社交网络数据,采用水平分区机制可根据用户标识将用户数据进行水平分割,用户操作时先将请求分发到不同数据库分区,再进行具体数据库操作,以提高数据库访问效率。
  • 主从复制
    • (2014.5)
      • (2) 引入主从复制机制所带来的好处:
        • ①避免数据库单点故障:主服务器实时、异步复制数据到从服务器,当主数据库宕机时,可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。
        • ②提高査询效率:根据系统数据库访问特点,可以使用主数据库进行数据的插入、删除及更新等写操作,而从数据库则专门用来进行数据査询操作,从而将査询操作分担到不同的从服务器以提高数据库访问效率。
  • 分布式数据库缓存
    • (2018.4)
      • 在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表 4-1中的空(1)~ (6)。
      • 刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案
      • 请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式
    • (2014.5)
      • (a)请补充下述关于引入Memcached后系统访问数据库的基本过程:系统需要读取后台数据时,先检查数据是否存在于(1)中,若存在则直接从其中读取,若不存在则从(2)中读取并保存在(3)中;当(4)中数据发生更新时,需要将更新后的内容同步到(5)实例中。(备选答案:数据库、Memcacbed 缓存)
        • (1) Memcached缓存
        • (2) 数据库
        • (3) Memcached缓存
        • (4) 数据库
        • (5) Memcached缓存
      • (b)请结合已知信息从缓存架构、缓存有效性及缓存数据类型等方面分析使用Memcached代替数据库查询缓存的原因。
        • 使用Memcached代替数据库查询缓存的原因:
          • (1) 缓存架构:数据库查询缓存通常每个数据库只有一个实例,因此存储内容受数据库服务器可用内存限制,可缓存数据有限。而Memcached可采用高速分布式缓存服务器结构,不受数据库服务器约束,可扩展性更好。
          • (2) 缓存有效性:数据库查询缓存只要在发生写操作时就会失效,即使更新的是数据库中的其他行。而Memcached可通过键值将数据进行散列缓存,有效降低缓存的更新频率,从而提髙缓存的有效性。
          • (3) 缓存数据类型:数据库查询缓存只能缓存数据库行,对社交网站好友动态显示等典型业务所需要的组合数据缓存缺乏有效支持,而Memcached理论上可缓存任何内容。因此可以将分散在数据库中的关系或者列表组合后进行缓存,以提高缓存数据的针对性和效率。
  • 数据库访问
    • (2017.4)
      • 请用 300 字以内的文字分别说明数据库程序在线访问方式和ORM方式的优缺点,说明该软件企业采用 ORM 的原因。
      • 请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。
      • 应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景: 请解释说明工厂模式在数据访问层中的应用
    • (2015.5)
      • 请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?
        • 数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。能够为项目开发带来的好处:
          • (1)分离业务逻辑层和数据层,降低两者之间的耦合;
          • (2) 通过对象/关系映射向业务逻辑提供面向对象的数据访问;
          • (3) 简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。
      • 针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因。
        • 项目组应该采用Hibernate框架。原因:
          • (1) Hibernate支持多种不同类型数据库,满足项目组数据库移植需求;
          • (2) Hibernate相对于iBatis减少了SQL语句开发的工作量;
          • (3) iBatis生成的P0是扁平化的,无法像Hibernate—样支持对象的继承和聚合等立体化关系。
      • 数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。
        • (1) (c)
        • (2) (b)
        • (3) (d)
        • (4) (a)

5. 软件架构(体系结构)设计

  • 概念
  • 演化
  • 系统需求、非功能性需求
    • (2018.1)
      • 在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。
      • 根据表1-1的分类,将题干所给出的系统需求(a)~(h)分别填入(1) ~ (4)。
      • 请说明瘦客户端C/S架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需求)。
  • 软件架构评估
    • (2017.1、2015.1、2014.4)
      • 在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图 1-1 中 (1)、(2) 空白处:并选择题干描述的 (a)(0) ,填入(3) (6) 空白处,完成该系统的效用树。
        • 质量属性效用树是对质量属性进行分类、权衡、分析的架构分析工具,主要关注系统的性能、可用性、可修改性和安全性四个方面。
        • 根据对相关质量属性的定义和含义, 其中“正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应”和“查询过程中涉及到的车辆实时视频传输必须保证画面具有600×480的分辨率,20帧/秒的速率”,这描述的是系统的性能属性;“网络失效后,系统需要在2分钟内发现错误并启用备用系统”和“系统主站点断电后,需要在3秒内将请求重定向到备用站点描述的则是系统的可用性;“在系统升级时,需要保证在20人月内添加一个新的消息处理中间件”和“更改系统的Web界面接口必须在4人周内完成”描述的是系统的可修改性;“车辆信息查询功能必须保证99.999%的安全性”和“用户信息数据库授权必须保证99.999%可用”描述的是系统的安全性。
        • (a)在正常负载情况下,系统必须在0.5秒内响应用户的交易请求,对应性能属性。(b)用户的信用卡支付必须保证99.999%的安全性,对应安全性属性。(c)系统升级后用户名要求至少包含8个字符,对应软件业务需求。(d)网络失效后,系统需要在2分钟内发现错误并启用备用系统,对应可用性属性。(e)在高峰负载情况下,用户发起支付请求后系统必须在10秒内完成支付功能,对应性能属性。(f)系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能,系统权衡点。(g)对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计,对应系统敏感点。(h)需要在30人月内为系统添加公司新购买的事务处理中间件,对应可修改性属性。(i)现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性,对应系统风险。(j)主站点断电后,需要在3秒内将访问请求重定向到备用站点,对应可用性属性。(k)用户信息数据库授权必须保证99.999%可用,对应安全性属性。(l)系统需要对Web界面风格进行修改,修改工作必须在4人月内完成,对应可修改性属性。(m)系统需要为后端工程师提供远程调试接口,并支持远程调试,对应可测试性属性。
      • 在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) - (0) 中分别选出 1个对系统架构风险、敏感点和权衡点最为恰当的描述。
        • 系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。
        • 系统的架构风险、敏感点和权衡点是对质量属性效用树进行分析的主要依据,根据相关概念,题干中“对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计”描述的是敏感点;“目前对‘车辆信息实时监控’业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性”描述的是系统的架构风险;“更改系统加密的级别将对安全性和性能产生影响”描述的是权衡点。
    • (2016.1)
      • 识别软件架构质量属性是进行架构设计的重要步骤。请分析题干中的需求描述,填写表1-1中(1)~(5)处的空白。
  • 风格
    • (2016.1)
      • 请在阅读题干需求描述的基础上,从交互方式、数据结构、控制结构和扩展方法4个方面对两种架构风格进行比较,填写表1-2中(1)~(4)处的空白。
    • 具体分类
      • 面向服务架构(SOA)
        • (2018.5)
          • 请说明什么是面向服务架构(SOA)以及ESB在SOA中的作用与特点
          • 请从(a)~ (j)中选择相应内容填入图5-1的(1)~ (6),补充完善架构设计图。
            • (a)数据层
            • (b)界面层
            • (c)业务层
            • (d) bind
            • (e) 企业服务总线ESB
            • (f) XML
            • (g) 安全验证和质量管理
            • (h) publish
            • (i) UDDI
            • (j) 组件层
            • (k) BPEL
          • 针对银行信息系统的数据交互安全性需求,列举3种可实现信息系统安全保障的措施。
      • MVC与EJB构件
        • (2017.2)
          • MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将JavaEE 中 JSP、Servlet、Service、JavaBean、DAO 五种构件分别填入空 (1)--(5) 所示位置
          • 项百组架构师王工提出在图 2-1 所示架构设计中加入EJ B构件,采用企业级 JavaEE架构开发资源共享平台。请说明EJB构件中的 Bean (构件)分为哪三种类型,每种类型Bean 的职责是什么。
          • 如果采用王工提出的企业级 JavaEE 架构,请说明下列(a)-(e) 所给出的业务功能构件中,有状态和无状态构件分别包括哪些。
            • (a):Identification Bean ,(身份认证构件〉
            • (b):ResPublish Bean(资源发布构件)
            • (c)ResRetrieval Bean(资源检索构件)
            • (d)OnlineEdit Bean(在线编辑构件)
            • (e)Statistics Bean(统计分析构件)
        • (2016.5)
          • 根据题干描述,本系统采用MVC架构模式,请从各选答案a~n中分别选出属于MVC架构模型中的模型(Model)、视图(View)和控制器(Controler)的相关内容描述填入表5-1的空(1)~(3)处。
          • 根据项目组给出的系统设计方案,将备选答案a~l的内容填写在图5-2中的空(1)~(9),完成系统架构图。
        • (2014.1)
          • 请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。
            • MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模型(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。
            • 在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器(C)代表管理模块。
      • Web系统架构设计
        • (2017.5)
          • 请用 200字以内的文字描述什么是"响应式Web设计",并列举 2 个响应式 Web 设计的实现方式。
          • 综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图。
            • (a) Web 应用层
            • (b) 界面层
            • (c) 负载均衡层
            • (d) CDN 内容分发
            • (e) 主数据库
            • (f) 缓存服务器集群
            • (g) 从数据库
            • (h) 写操作
            • (i) 读操作
            • (j) 文件服务器集群
          • 根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对 交易平台的特点,简要叙述引入该机制的好处。
        • (2016.4)
          • 王工认为原有网站在技术上存在先天不足,不能满足企业业务的快速发展,根据你的理解,请用300字以内的文字说明原系统存在哪几个方面的不足。
          • 请简要说明应用服务器的概念,并重点说明应用服务器如何来保障系统在大负荷和长时间运行下的稳定性以及可扩展性
          • J2EE平台采用了多层分布式应用程序模型,实现不同逻辑功能的应用程序被封装到不同的构件中,处于不同层次的构件可被分别部署到不同的机器中。请填写图4-1中(1)~(5)处的空白,完成J2EE的N层体系结构
        • (2014.5)
          • 针对目前出现的Web服务器负载过大问题,项目组决定在客户端与中间层Web服务器之间引入负载均衡器,通过中间层Web服务器集群来提高Web请求的并发处理能力。在讨论拟采用的负载均衡机制时,王工提出采用基于DNS的负载均衡机制,而李工则认为应采用基于反向代理的负载均衡机制,项目组经过讨论,最终确定采用李工提出的方案。请用200字以内的文字,分别简要说明两个机制的基本原理;并从系统执行效率、安全性及简易性等方面将两种机制进行对比,将对比结果填入表 5-1 中。
            • 两种机制的基本原理:
              • 基于DNS的负载均衡机制通过DNS服务器实现,通常通过循环复用具有同一域名的多个主机地址的服务器实现负载均衡。
              • 反向代理负载均衡则是将来自Internet的连接请求以反向代理的方式动态转发给内部网络上的多台服务器进行处理
      • 仓库风格
        • (2016.1)
          • 在确定采用数据仓库架构风格后,王工给出了集成开发环境的架构图。请填写图1-1中(1)~(4)处的空白,完成该集成开发环境的架构图。
      • 面向构件的编程
        • (2014.3)
          • 请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。
            • 基于构件的软件开发中,可以通过不同的途径来获取构件,主要包括以下4种方法:
              • (1) 从现有构件中获得符合要求的构件,直接使用或做适应性修改,得到可复用的构件;
              • (2) 通过遗留工程(Legacy Engineering),将具有潜在复用价值的软件提取出来,得到可复用的构件;
              • (3) 从市场上购买现成的商业构件,BPCOTS(Commercial Off-The-Shell)构件;
              • (4) 开发新的符合要求的构件。
            • 开发构件通常采取3种策略:
              • (1) 分区(partitioning):指的是将问题情景的空间分割成几乎可以独立研究的部分;
              • (2) 抽象(abstraction):是对在给定实践内执行指定计算的软/硬件申.元的一种抽象;
              • (3) 分割(segmentation):是将结构引入构件的行为,支持对行为性质进行时序推理。
            • 当前主流构件标准有:
              • (1) CORBA:由OMG(对象管理集团)制定;
              • (2) COM/DCOM:由Microsoft制定;
              • (3) EJB:由SUN的Java企业Bean制定。
          • 由于该公司已具备大量的成熟软件,王工程师此次的主要工作就是采用遗留工程 (Legacy Engineering)方法,将具有潜在复用价值的软件提取出来,得到可复用的构件。因此,在设计软件时与原开发技术人员产生了重大意见分歧,主要分歧焦点在于大家对构件概念理解上的差异。请根据你对构件的理解,判断表 3-1 给出的有关构件的说法是否正确,将答案写在答题纸上。
            • (1)√(2)×(3)×(4)√(5)×(6)×
      • 扩展接口模式结构
        • (2014.1)
          • 扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如图 1-1 所示。其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识;每个具体的组件需要实现扩展接口完成实际操作;客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据上图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表 1-1 中的(1)~(5)。
            • 各个角色与网络设备管理系统的对应关系为:
              • 基础接口对应统一操作接口;
              • 组件对应监控组件:
              • 扩展接口对应新网络设备的操作接口;
              • 客户端对应控制终端。

6. 系统建模

  • 结构化程序设计
    • (2018.2)
      • 若采用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD。使用题干中给出的词语,给出图2-1中外部实体E1E2、**加工**P1P6以及数据存储D1~D4的名称。
      • 若采用信息工程(Information Engineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD。请给出图2-2中实体(1)~ (5)的名称。
      • 信息工程方法中的“实体(entity)” 与面向对象方法中的“类(class)”之间有哪些不同之处?在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和Real Use Cases有哪些区别
    • (2014.2)
      • 请用300以内文字说明数据流图(Data Flow Diagram)的基本元素及其作用。
        • 四种元素:
          • (1) External Agent(实体/外部代理):定义位于项目范围之外,但与正在被研发的系统有交互关系的人、部门、外部系统或组织。
          • (2) Process(加工/处理):在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作。
          • (3) Data Store(数据存储):静止的数据,表示系统中需要保存的数据。
          • (4) Data Flow(数据流):运动中的数据,表示到一个过程的数据输入,或者来自一个过程的数据输出。
      • 数据流图在绘制过程中可能出现多种语法错误,请分析上图所示数据流图中哪些地方有错误,并分别说明错误的类型。
        • 四种错误:
          • (1) D1到A2:缺少移动数据流的加工。
          • (2) P5.3:没有输出数据流,输入输出不平衡。
          • (3) P5.4:没有输入数据流,输入输出不平衡。
          • (4) D2:数据存储没有输出的数据流。
      • 系统建模过程中为了保证数据模型和过程模型的一致性,需要通过数据-过程-CRUD矩阵来实现数据模型和过程模型的同步,请在表 2-1 所示CRUD矩阵(1)~(5)中填入相关操作。
        • (1) R
        • (2) R
        • (3) CRU
        • (4) RU
        • (5) CRUD
  • 面向对象分析与设计
    • (2016.2)
      • 用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者。
      • 用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时, “登录系统”用例与“注册课程”用例之间、“参加考试”用例与“参加补考”用例之间的关系分别属于哪种类型?
      • 类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University与类Student之间、类University和类Department之间、类Student和类Course之间的关系分别属于哪种类型?
    • (2015.2)
      • 状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以内文字简要说明状态图和活动图的含义及其区别。
        • 状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
        • 活动图可以用于描述系统的工作流程和并发行为。活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。
        • 两者最大的区别是:状态图侧重于描述行为的结果,而活动图侧重描述行为的动作。其次活动图可描述并发行为,而状态图不能。
      • 根据题干中描述的基本功能需求,架构师王工通过对需求的分析和总结给出了无人直升机控制系统纵向控制状态图(图2-1)。请根据题干描述,提炼出相应状态及条件,并完善图2-1所示状态图中的(1)~(5),将答案填写在答题纸中。
        • (1) 垂直起飞状态
        • (2) 飞机飞行异常
        • (3) 高度保持状态
        • (4) 垂直升降状态
        • (5) 无线电遥控飞行状态。
      • 根据题目中描述的基本功能需求,架构师王工给出了无人直升机控制系统纵向控制的顶层活动图(图2-2)。请根据题干描述,完善图2-2活动图的(1)-(9),将答案填写在答题纸中。
        • (1) 地面综合控制计算机
        • (2) 下传起飞就绪信息
        • (3) 垂直起飞
        • (4) 高度保持
        • (5) 发送目标高度
        • (6) 垂直升降
        • (7) 发送任务结束指令
        • (8) 飞机降落
        • (9) 无线电遥控飞行

8. 项目管理

  • 项目开发管理
    • 开发模型、方法
      • 敏捷方法
        • (2016.5)
          • Scrum项目管理软件需真实模拟Scrum敏捷开发流程,请根据你的理解完成图5-1给出的Scrum敏捷开发状态图,填写其中(1)~(5)的内容。

10. 系统可靠性分析与设计

  • (2016.3)
    • 可靠性是实时系统的关键特性之一,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。请简要说明错误、缺陷、故障和失效的定义;并在图3-2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的表现形式,填写图3-2中(1)~(6)处的空白。
  • (2015.3)
    • 请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术?
      • 系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。
      • 根据国家标准《软件工程产品质量第1部分:质量模型》(GB/T16260.1—2006)的规定,系统可靠性包括:成熟性、容错性、易恢复性和可靠性的依从性4个子特性。
      • 提高系统可靠性一般采用以下4类技术:
        • (1) 冗余技术;
        • (2) 软件容错技术;
        • (3) 双机容错技术;
        • (4) 集群技术。
    • 王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非祓修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出表3-1所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。
      • (1) 不考虑软件演化的情况下,失效率在统计上是非增的
      • (2) 如果不使用该软件,永远不会发生失效
      • (3) 软件维护会创建新的软件代码
      • (4) 软件失效之前很少会有警告
    • 王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决‘制导率计算,输出数据的交叉对比、表决、一输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成图3-1,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入表3-2中。
      • 恢复块方法:
        • (1) 主块
        • (2) 验证测试
        • (3) 输出正确结果
        • (4) 异常处理
      • 恢复块方法与N版本程序设计的比较
        • (5) 表决
        • (6) 反向恢复
        • (7) 差
        • (8) 好