2021 年系统分析师下午真题
试题一(共 25 分)
阅读以下关于软件系统分析的数述,在答题纸上回答问题 1 至问题 3。
[说明]
某软件企业拟开发一套基于移动互联网的在线运动器材销售系统,项目组决定采用 FAST 开发方法进行系统分析与设计,在完成了初步的调查研究之后进入了问题分析阶段,分析系统中存在的问题以及改进项,其分析的主要内容包括:
- 器材销售订单处理的时间应该减少 20%;
- 移动端支持 IOS 和 Android 两类操作系统;
- 器材销售订单处理速度太慢导致根多用户取消订单;
- 后台服务器硬件配置比较低;
- 用户下单过程中应该减少用户输入的数据量;
- 订单处理过程中用户需要输入大量信息;
- 利用云计算服务可以降低 50%的服务器处理时间;
- 公司能投入的技术维护人员数量有限;
- 大量的并发访问会导致 App 页面无法正常显示。
【问题 1】(12 分)
FAST 开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段, 请简要说明每个阶段的主要任务。
【问题 2】(8 分)
在问题分析阶段,因果分析方法常用于分析系统中的问题和改进项,请结合题目中所描述各项内容,将题干编号(1)-(9)填入表 1-1 的(a)~(d)中。
表 1-1 问题、机会、目标和约束矩阵【问题 3】(5 分)
在决策分析阶段,需要对候选方案所述内容按照操作可行性、技术可行性、经济可行性和进度可行性进行分类。请将下列(1)~(5)内容填入表 1-2 的 (a)-(d)中。
- 新开发的器材销售系统能够满足用户所需的所有功能;
- 系统开发的成本大约需要 40 万元人民币;
- 需要对移动端App 开发工程师进行技术培训;
- 系统开发周期需要 6 个月;
- 系统每年维护的费用大约 5 万元人民币。
表 1-2 候选方案指标分类
可行性准则 | 候选方案描述 |
操作可行性 | (a) |
技术可行性 | (b) |
经济可行性 | (c) |
进度可行性 | (d) |
参考答案
【问题 1】
初步研究阶段:
1、列出问题和机会
2、协商项目的初步范围
3、评估项目价值
4、计划项目进度表和预算
5、汇报项目计划
问题分析阶段:
1、研究问题领域
2、分析问题和机会
3、分析业务过程
4、制定系统改进目标
5、修改项目计划
6、汇报调查结果和建议
需求分析阶段:
1、定义需求
2、排列需求的优先次序
3、修改项目计划
4、交流需求陈述
决策分析阶段:
1、确定候选方案
2、分析候选方案
3、比较候选方案
4、修改项目计划
5、推荐一种系统
【问题 2】
(a)(6)
(b)(3)(4)(9)
(c)(1)(5)(7)
(d)(2)(8)
【问题 3】
(a)(3)
(b)(1)
(c)(2)(5)
(d)(4)
试题解析
- 器材销售订单处理的时间应该减少 20%【系统目标】
- 移动端支持 IOS 和 Android 两类操作系统【系统约束条件】
- 器材销售订单处理速度太慢导致根多用户取消订单【原因/结果】
- 后台服务器硬件配置比较低【原因/结果】
- 用户下单过程中应该减少用户输入的数据量【系统目标】
- 订单处理过程中用户需要输入大量信息【问题/机会】
- 利用云计算服务可以降低 50%的服务器处理时间【系统目标】
- 公司能投入的技术维护人员数量有限【系统约束条件】
- 大量的并发访问会导致 App 页面无法正常显示【原因/结果】
- 新开发的器材销售系统能够满足用户所需的所有功能【技术可行性】
- 系统开发的成本大约需要 40 万元人民币【经济可行性】
- 需要对移动端App 开发工程师进行技术培训【操作可行性】
- 系统开发周期需要 6 个月【进度可行性】
- 系统每年维护的费用大约 5 万元人民币【经济可行性】
试题二(共 25 分)
阅读以下关于系统分析与设针的叙述,在答题纸上回答问题 1 至问题 3。 [说明]
某商校拟开发一套图书馆管理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:
系统为每个读者建立一个账户,并给读者发放读者证(包含读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等,挂有读者证可以借阅图书、返还图书、查询图书信息、预订图书、取消预订等。
在借阅图书时,需要输入读者所借阅的图书名、ISBN 号,然后输入读者的读者证号,完成后提交系统,以进行读者验证,如果读者有效,借阅请求被接受,系统查询读者所借阅的图书是否存在,若存在,则读者可借出图书,系统记录借阅记录;如果读者所借的图书已被借出, 读者还可预订该图书。读者如期还书后,系统清除借阅记录,否则需缴纳罚金,读者还可以选择续借图书。同时,以上部分操作还需要系统管理员和图书管理员参与。
【问题 1】(6 分)
采用面向对象方法进行软件系统分析与设计时,一项重要的工作是进行类的分析与设计。请用 200 字以内的文字说明分析类图与设计类图的差异。
【问题 2】(11 分)
设计类图的首要工作是进行类的识别与分类,该工作可分为两个阶段“”首先,采用识别与筛选法,对需求分析文档进行分析,保留系统的重要概念与属性,删除不正确或冗余的内容; 其次,将识别出来的类按照边界类、实体类和控制类等三种类型进行分类。
请用 200 字以内的文字对边界类,实体类和控制类的作用进行简要解释,并对下面给出的候选项进行识别与筛选,将合适的候选项编号填入表 2-1 中的(1)~(3)空白处, 完成类的识别与分类工作。
表 2-1 图书管理系统类识别与分类表格
类型 | 实例 |
边界类 | (1) |
实体类 | (2) |
控制类 | (3) |
候选项: | ||
a)系统管理员 | b)图书管理员 | c)读者 |
d)读者证 | e)账户 | f)图书 |
g)借阅 | h)归还 | i)预订 |
j)罚金 | K)续借 | I)借阅记录 |
【问题 3】(8 分)
根据类之间的相关性特点,可以将类之间的关系分为组合(composition),继承(inheritance),关联 (association),聚合(aggregation)和依赖 (dependency)等 5 种, 请用 300 字以内的文字分别对这 5 种关系的内涵进行叙述,并从封装性、动态组合和创建对象的方便性三个方面对组合和继承关系的优缺点进行比较。
在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。
-
- 实体类
实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的, 它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词, 在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从 SRS 中的那些与数据库表(需要持久存储)对应的名词着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。
-
- 控制类
控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类的实例)通常控制其他对象,因此,它们的行为具有协调性。
控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控制类没有属性,但一定有方法。
-
- 边界类
边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处, 包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的 类。常见的边界类有窗口、通信协议、打印机接口、传感器和终端等。实际上,在系统设计
时,产生的报表都可以作为边界类来处理。
边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更(例如, 与其他系统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。通常情况下,边界类可以既有属性也有方法。
参考答案
【问题 1】(6 分)
分析阶段的类图主要是从业务领域获取信息的,在描述上更多使用了业务领域的语言和词汇。
设计阶段的类图是从编程实现角度来设计类图的,更多的是考虑类编码的实现。
【问题 2】(11 分)
(1)d)读者证
(2)a)系统管理员 b)图书管理员 c)读者
e)账户 f)图书
j)罚金 I)借阅记录
(3)g)借阅 h)归还 i)预订 k)续借
【问题 3】(8 分) 封装性:
组合:不破坏封装性,整体类与局部类之间松耦合,相对独立。继承:破坏封装性,子类与父类紧耦合,子类缺独立性。
动态组合:
组合:支持动态组合。 继承:不支持动态组合。创建对象:
组合:创建整体类时,需要创建所有局部类的对象。继承:创建子类对象时,不需要创建父类对象。
- 关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。
- 依赖关系。两个类 A 和 B,如果 B 的变化可能会引起A 的变化,则称类 A 依赖于类 B 。依赖可以由各种原因引起。
- 继承关系。本质上就是泛化关系。继承是在某个类的层次关联中不同的类共享属性和方法的一种机制。父类与子类的关系是一般与特殊的关系,一个父类可以有多个子类,这些子类都是父类的特例。
- 聚合关系。表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“ 整体”,“部分”与“整体”的生命周期可以不相同。
- 组合关系。表示类之间的整体与部分的关系。其中的“部分”只能属于一个“整体”, “部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。
试题解析
常见的类关系包括:
- 关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。其余的关系涉及类元自身的描述,而不是它们的实例。
- 依赖关系。两个类 A 和 B,如果 B 的变化可能会引起A 的变化,则称类 A 依赖于类 B 。依赖可以由各种原因引起,例如,一个类向另一个类发送消息、一个类是另一个类的数据成员、一个类是另一个类的某个操作参数等。
- 泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
- 继承关系。本质上就是泛化关系。继承是在某个类的层次关联中不同的类共享属性和方法的一种机制。父类与子类的关系是一般与特殊的关系,一个父类可以有多个子类,这些子类都是父类的特例。
- 聚合关系。表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“ 整体”,“部分”与“整体”的生命周期可以不相同。例如,汽车和车轮就是聚合关系,车子坏了,车轮还可以用;车轮坏了,可以再换一个。
- 组合关系。表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的“部分”只能属于一个“整体”,“部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。例如,一个公司包含多个部门,它们之间的 关系就是组合关系。公司一旦倒闭,也就无所谓部门了。
- 实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
试题三
某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统, 以满足不同的业务需求,随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力。为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。
目前该企业各个应用系统主要存在以下问题:
- 应用系统是异构的,运行在不同软硬件平台上的信息系统。
- 应用系统的数据源彼此独立,相互封闭,使得数据难以在系统之间交互,共享和融合 ,即存在“信息孤岛”。
- 系统是面向应用的、各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度均存在不一致甚至相互矛盾的问题,为此,该企业专门成立了研发团队,希望能尽快解决上述问题。
【问题 1】
李工建议采用数据集成的方式来实现数据的整合,同时构建新系统来满足新的需求,针对题干中的问题(3),李工提出首先面向企业核心的业务主题,做好企业战略数据规划。建立企业的主题数据库,然后再进行集成系统的开发。
请用 200 字以内的文字简要说明主题数据库的设计要求和基本特征。
【问题 2】
张工认为数据集成的方式难以充分利用已有应用系统的业务功能实现不同业务功能的组合, 建议采用基于 S0A 的应用集成方式将原有系统的功能包装为多个服务,并给出了基本的集成架构,见图:
图 4-1 基于 SOA 的集成架构示意图请补充实善图 4-1 中(1) - (3) 处空白的内容。
【问题 3】
研发团队在对张工的方案进行分析后,发现该方案没有发挥 SOA 的核心理念,即松耦合的服务带来业务的复用通过服务的编排助力业务的快速响应和创新、未实现“快速整合企业业务的能力,不同类型用户提供各种不同功能,不同流程的业务服务的核心目标,目前方案仅仅是通过 SOA 实现了系统集成。
请用 200 字以内文字分析该方案未满足本项目核心目标的原因。试题答案
【问题 1】
主题数据库的设计要求:
-
- 应设计得尽可能的稳定,使能在较长时间内为企业的信息资源提供稳定的服务。
- 要求主题数据库的逻辑结构独立于当前的计算机硬件和软件的物理实现过程,这样能保持在技术不断进步的情况下,主题数据库的逻辑结构仍然有效。
主题数据库具有以下基本特征:
- 面向业务主题。主题数据库是面向业务主题的数据组织存储。
- 信息共享。主题数据库是对各个应用系统“自建自用”的数据库的否定,强调建 立各个应用系统“共建共用”的共享数据库。不同的应用系统统一调用主题数据库。
- 一次一处输入系统。主题数据库要求调研分析企业各经营管理层次上的数据源, 强调数据的就地采集,就地处理、使用和存储,以及必要的传输、汇总和集中存储。同一数据必须一次、一处进入系统,保证其准确性、及时性和完整性,但可以多次、多处使用。
- 由基本表组成。主题数据库是由多个达到基本表规范(满足 3NF)要求的数据实体构成的。
【问题 2】
- 业务流程编排(2)消息转换(3)应用程序接口
【问题 3】
张工的方案在进行集成时,只是将原有的系统做了简单的对接,应把原来的业务功能模块拆分并做成服务,以单个服务的形式使用企业服务总线做集成。
试题解析
主题数据库应设计得尽可能的稳定,使能在较长时间内为企业的信息资源提供稳定的服务。稳定并非限制主题数据库永不发生变化,而是要求在变化后不会影响已有的应用项目的工作。要求主题数据库的逻辑结构独立于当前的计算机硬件和软件的物理实现过程,这样能保持在技术不断进步的情况下,主题数据库的逻辑结构仍然有效。
主题数据库具有以下基本特征:
-
- 面向业务主题。主题数据库是面向业务主题的数据组织存储,例如,企业中需要建立的典型的主题数据库有产品、客户、零部件、供应商、订货、员工、文件资料、工程规范等。其中产品、客户、零部件等数据库的结构,是对有关单证和报表的数据项进行分析和整理而设计的,不是按单证和报表的原样建立的。这些主题数据库与企业管理中要解决的主要问题相关联,而不是与通常的信息系统应用项目相关联。
- 信息共享。主题数据库是对各个应用系统“自建自用”的数据库的否定,强调建 立各个应用系统“共建共用”的共享数据库。不同的应用系统统一调用主题数据库,例如, 库存管理调用产品、零部件、订货数据,采购调用零部件、供应商、工程规范数据等。
- 一次一处输入系统。主题数据库要求调研分析企业各经营管理层次上的数据源, 强调数据的就地采集,就地处理、使用和存储,以及必要的传输、汇总和集中存储。同一数据必须一次、一处进入系统,保证其准确性、及时性和完整性,但可以多次、多处使用。
- 由基本表组成。主题数据库是由多个达到基本表规范(满足 3NF)要求的数据实体构成的。
试题四
Web 系统架构设计的叙述
某公司拟开发一个基于 web 的远程康复系统,该系统的主要功能要求如下:
- 康复设备可将患者的康复训练数据实时传入云数据库。
- 医生可随时随地的通过浏览器获取患者康复训练数据并进行康复训练的结果评估和康复处方的更新。
- 患者可通过此系统查看自己的康复训练记录和医生下达的康复训练处方,并可随时与医生进行在线沟通交流。
- 平台管理员可借助此系统实现用户的管理和康复设备的监控与管理,及时获悉设备的数据信息,便于设备维护和更新。
该公司针对上述需求组建了项目组,并召开了项目开发研讨会,会上,张工建议云数据库采用关系型数据库来实现数据存储;李工提出来用三层架构实现该远程康复系统。
【问题 1】
请用 200 字以内文容说明什么是云数据库以及云数据库特点。
【问题 2】
根据该系统的功能需求,列举该系统中存在的实体,以辅助张工进行关系数据库设计。
【问题 3】
根据李工建议,该系统采用三层架构,请用 300 字以内的文字分析层次型架构优势,并从下
面给出的(a)-(i)候选项中进行选择,补充完善图 5- 1 中(1)-(6)处空白的内容,完成该系统的架构设计方案。
候选项:
参考答案
【问题 1】
云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。根据数据库类型一般分为关系型数据库和非关系型数据库
(NoSQL 数据库)。
云数据库的特性有:实例创建快速、支持只读实例、读写分离、故障自动切换、数据备份、
Binlog 备份、SQL 审计、访问白名单、监控与消息通知等。
【问题 2】
康复设备 患者 医生 平台管理员 训练数据 训练处方
【问题 3】架构的优势:
1、良好的复用性,只要接口不变可用在其它处;
2、可维护性好;
3、可扩展性好,支持递增设计;
4、经过合理分层,能让系统整体耦合性降低,达到解耦的效果;
5、可把相同逻辑与抽象级别的内容放在同一层次,更利于理解。
(1)(b)接入层
(2)(a)治疗仪
(3)(h)无线通信
(4)(c)Socket
(5)(i)网络层
(6)(e)应用层