一、[材料型]问答题
试题一(15分)
阅读以下关于软件系统分析的数述,在答题纸上回答问题1至问题3.
【说明】
某软件企业拟开发一套基于移动互联网的在线运动器材销售系统,项目组决定采用
FAST 开发方法进行系统分析与设计,在完成了初步的调查研究之后进入了问题分析阶
段,分析系统中存在的问题以及改进项,其分析的主要内容包括:
(1)器材销售订单处理的时间应该减少20%;
(2)移动端支持IOS和Android两类操作系统;
(3)器材销售订单处理速度太慢导致根多用户取消订单;
(4)后台服务器硬件配置比较低;
(5)用户下单过程中应该减少用户输入的数据量;
(6)订单处理过程中用户需要输入大量信息;
(7)利用云计算服务可以降低50%的服务器处理时间;
(8)公司能投入的技术维护人员数量有限;
(9)大量的并发访问会导致App页面无法正常显示。
1、【问题1】(12分)
FAST 开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段,请简要说明每个阶段的主要任务。
参考答案:
FAST开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段。
1)初始研究(又称初始研究阶段):定义范围和目标,计划项目进度表和预算,列出问题,明确开发团队的目标和期望。
2)问题分析:深入研究问题,分析问题和机会,制定系统改进目标。
3)需求分析:定义、分析、排列需求,持续不断的需求管理。
4)决策分析:分析、比较候选方案,推荐一个系统方案。
解析:
FAST开发方法在系统分析中包括四个主要阶段,即初始研究、问题分析、需求分析和决策分析。
- 初始研究阶段:此阶段的主要任务是明确项目的范围和目标,制定项目计划,包括进度表和预算。同时,需要列出项目中存在的问题,并明确开发团队的目标和期望。
- 问题分析阶段:在此阶段,团队会深入研究系统中存在的问题,分析这些问题的原因和影响,同时也会寻找改进的机会,制定系统的改进目标。
- 需求分析阶段:这一阶段主要是定义、分析和排列需求。开发团队会对用户需求进行细致的分析,明确系统的功能需求,并进行持续的需求管理,确保开发出的产品符合用户需求。
- 决策分析阶段:在此阶段,开发团队会分析和比较各种可能的解决方案,基于成本、效益、可行性等因素,推荐一个最佳的系统方案。
以上每个阶段都有其特定的任务和目标,确保软件开发的顺利进行。
2、【问题2】(8分)
在问题分析阶段,因果分析方法常用于分析系统中的问题和改进项,请结合题目中所描述各项内容,将题干编号(1)-(9)填入表1-1的(a)~(d)中。

参考答案:
(a)(3)
(b)(4)、(6)、(9)
(c)(1)、(5)、(7)
(d)(2)、(8)
解析:
问题/机会部分主要是识别系统存在的问题和改进的机会。在本题中,“(3)器材销售订单处理速度太慢导致很多用户取消订单”是一个明显的问题,它指示了系统中存在的一个主要瓶颈。因此,这个问题应被识别为待解决的主要问题之一。
原因/结果部分主要是分析问题的根源以及改进可能带来的结果。在这里,“(4)后台服务器硬件配置比较低”是订单处理速度慢的一个可能原因;“(6)订单处理过程中用户需要输入大量信息”和“(9)大量的并发访问会导致App页面无法正常显示”是可能导致用户取消订单的原因。这些都属于问题的原因或结果。
制定系统改进目标的部分是确定解决问题的具体目标和方案。这里,“(1)器材销售订单处理的时间应该减少20%”是一个具体的改进目标;“(5)用户下单过程中应该减少用户输入的数据量”和“(7)利用云计算服务可以降低50%的服务器处理时间”是可能的解决方案或目标,它们都是为了解决系统中的问题或满足用户的需求。
约束条件部分则是考虑在实施解决方案时需要遵守的限制或条件。“(2)移动端支持iOS和Android两类操作系统”是一个需求限制,即解决方案必须同时支持这两种操作系统;“(8)公司能投入的技术维护人员数量有限”是一个资源限制,意味着解决方案必须在有限的资源下实施。这些都属于系统的约束条件,因此在分析问题阶段也需要考虑这些因素。
3、【问题3】(5分)
在决策分析阶段,需要对候选方案所述内容按照操作可行性、技术可行性、经济可行性和进度可行性进行分类。请将下列(1)~(5)内容填入表1-2的(a)-(d)中。
(1)新开发的器材销售系统能够满足用户所需的所有功能;
(2)系统开发的成本大约需要40万元人民币;
(3)需要对移动端App开发工程师进行技术培训;
(4)系统开发周期需要6个月;
(5)系统每年维护的费用大约5万元人民币。

参考答案:
(a)(1)
(b)(3)
(c)(2)、(5)
(d)(4)
解析:
题目要求在决策分析阶段,对候选方案所述内容按照操作可行性、技术可行性、经济可行性和进度可行性进行分类。(1)新开发的器材销售系统能够满足用户所需的所有功能,这符合操作可行性的要求;(2)系统开发的成本大约需要40万元人民币和(5)系统每年维护的费用大约5万元人民币,这两个描述都与经济可行性相关;(3)需要对移动端App开发工程师进行技术培训,这涉及到技术可行性;(4)系统开发周期需要6个月,这是关于进度可行性的描述。因此,按照题目要求将内容填入表中。
试题二(共25分)
阅读以下关于系统分析与设针的叙述,在答题纸上回答问题1至问题3,
【说明】
某高校拟开发一套图书馆管理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:
系统为每个读者建立一个账户,并给读者发放读者证(包含读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等,挂有读者证可以借阅图书、返还图书、查询图书信息、预订图书、取消预订等。
在借阅图书时,需要输入读者所借阅的图书名、ISBN号,然后输入读者的读者证号,完成后提交系统,以进行读者验证,如果读者有效,借阅请求被接受,系统查询读者所借阅的图书是否存在,若存在,则读者可借出图书,系统记录借阅记录:如果读者所借间的图书已被借出,读者还可预订该图书。读者如期还书后,系统清除借阅记录,否则需缴纳罚金,读者还可以选择续借图书。
同时,以上部分操作还需要系统管理员和图书管理员参与。
4、【问题1】(6分)
采用面向对象方法进行软件系统分析与设计时,一项重要的工作是进行类的分析与设计。请用200字以内的文字说明分析类图与设计类图的差异。
参考答案:(1)两者产生的阶段不同:分析类图在需求分析阶段产生,设计类图在系统设计阶段产生
(2)两者的表达重点不同:分析类图用于表达领域(问题域)的概念,设计类图重点描述类与类之间的接口关系
(3)两者的详细程度不同:分析类图主要从业务领域获取信息的在描述上更多地使用了业务领域的语言和词汇,不关心类的属性和方法的细节。设计类图是从编程实现角度设计类图,通常是在分析类图的基础上进行细化和改进,更多的是考虑类编码的实现,需要包括类的名称、类属性的可见性、类属性的名称、类属性的数据类型,还要包括类方法的返回值、方法的英文名称和方法的传入参数等细节信息。
解析:
分析类图主要关注软件需求阶段,对业务领域进行抽象,表达领域内的实体、活动和关系。设计类图则处于系统设计阶段,更注重类的实现和类之间的交互。两者在产生的阶段、表达的重点和详细程度上存在差异。分析类图更多是从业务领域角度进行描述,而设计类图则更多考虑编程实现,包括类的具体属性、方法等细节信息。
5、【问题2】(11分)
设计类图的首要工作是进行类的识别与分类,该工作可分为两个阶段:首先,采用
识别与筛选法,对需求分析文档进行分析,保留系统的重要概念与属性,删除不正确或
冗余的内容:其次,将识别出来的类按照边界类、实体类和控制类等三种类型进行分类。
请用200字以内的文字对边界类,实体类和控制类的作用进行简要解释,并对下面给出
的候选项进行识别与筛选,将合适的候选项编号填入表2-1中的(1)~(3)空白处,完
成类的识别与分类工作。

候选项:
a)系统管理员
b)图书管理员
c)读者
d)读者证
e)账户
f)图书
g)借阅
h)归还
i)预订
j)罚金
k)续借
l)借阅记录
参考答案:
(1):边界类用于描述外部参与者与系统之间的交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。这种交互包括转换事件,并记录系统表示方式(例如接口)中的变更。
边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外 部设备交互的类、直接与外部系统交互的类等都是边界类。
j罚金 l借阅记录
(2):实体类主要是作为数据管理和业务逻辑处理层面上存在的类别。实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的 行为,但这些行为必须与它所代表的实体对象密切相关。
实体类保存要放进持久存储体的信息。
实体类可以通过事件流和交互图发现。
通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。
实体类是用于对必须存储的信息和相关行为建模的类。
实体对象用于保存和更新一些现象的有关信息
例如:事件、人员或现实生活中的对象。
a系统管理员 b图书管理员 c读者 d读者证e账户 f图书
(3):控制类用于描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序。
控制类是控制其他类工作的类。
每个用例通常有一个控制类控制用例中的事件顺序,控制类也可多个用例间共用。 其他类并不向控制类发送很多消息,而是由控制类发出很多消息。
g借阅 h归还 i预订 k续借
解析:
边界类:位于系统与外界的交界处,描述外部参与者与系统之间的交互。包括直接与外部设备或系统交互的类,以及表示通讯协议的类等。“j罚金”和“l借阅记录”是与系统外部环境交互的内容,因此属于边界类。
实体类:主要存储和管理系统内部的信息,对应于数据库中的表,属性对应数据库表的字段。“a系统管理员”、“b图书管理员”、“c读者”、“d读者证”、“e账户”和“f图书”都是系统需要管理和存储的信息,因此属于实体类。
控制类:控制一个用例中的事件顺序,即描述用例的事件流控制行为。“g借阅”、“h归还”、“i预订”和“k续借”都是控制借阅流程的关键行为,因此属于控制类。
6、【问题3】(8分)
根据类之间的相关性特点,可以将类之间的关系分为组合(composition),继承
(inheritance),关联(association),聚合(aggregation)和依赖(dependency)等5种,
请用300字以内的文字分别对这5种关系的内涵进行叙述,并从封装性、动态组合和创
建对象的方便性三个方面对组合和维承关系的优缺点进行比较。
参考答案:
依赖是一个使用的关系,即一个类使用的实现需要另一个类的协助。
关联是一种拥有的关系,它使一个类知道另一个类的属性和方法。
组合是整体和部分的关系,但部分不能离开整体而单独存在。
聚合是整体和部分的关系,且部分可以离开整体而单独存在。
继承是表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。

解析:
本题要求对类之间的关系进行深入理解,并对组合和继承关系的优缺点进行比较。答题时需清楚阐述每种关系的含义,并从封装性、动态组合和创建对象的方便性三个方面对组合和继承进行分析。参考答案给出了五种关系的简要定义,并对组合和继承在封装性、动态组合方面的特点进行了对比,但未涉及创建对象的方便性方面的比较,因此需补充相关内容。
试题四(25分)
阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。
【说明】
某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统,以满足不同的业务需求。随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力,为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。
目前该企业各个应用系统主要存在以下问题:
(1)应用系统是异构的、运行在不同软硬件平台上的信息系统;
(2)应用系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交互、共享和融合,即存在“信息孤岛”;
(3)系统是面向应用的,各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度、值均存在不一致甚至相互矛盾的问题。为此,该企业专门成立了研发团队,希望能够尽快解决上述问题。
7、【问题1】(10分)
李工建议采用数据集成的方式来实现数据的整合,同时构建新系统来满足新的需求。针对题干中的问题(3),李工提出首先应面向企业核心的业务主题,做好企业战略数据规划,建立企业的主题数据库,然后再进行集成系统的开发。
请用200字以内的文字简要说明主题数据库的设计要求和基本特征。
参考答案:
主题数据库的设计要求包含应保证稳定性;确保能加快应用系统开发;保持主题数据库逻辑结构的独立性,不因计算机的软硬件不同而受到影响。
主题数据库的基本特征有:
(1)面向业务主题。主题数据库是面向业务主题的数据组织存储,围绕需要解决的问题展开。
(2)信息共享。主题数据库彻底否定各个系统“自建自用”数据库,强调各个系统“共建共享”数据库。
(3)一次一处输入系统。同一数据必须一次、一处进入系统,确保数据的准确性、完整性、及时性,保证可以多次、多处使用。
(4)由基本表组成。基本表具有原子性、演绎性、基本表中数据满足三范式(3NF)要求等特性。
解析:
主题数据库的设计和要求是为了解决企业面临的数据管理问题,如异构系统、信息孤岛、数据模型差异等。针对这些问题,主题数据库的设计应保证稳定性,以确保数据的可靠性和安全性。同时,它应能够加快应用系统开发,提高开发效率。主题数据库的逻辑结构应保持独立,不受计算机软硬件平台的影响,以确保数据的可用性和一致性。
主题数据库的基本特征包括面向业务主题,即围绕特定的业务主题进行数据的组织存储。信息共享意味着各个系统可以共同使用同一数据库,避免信息孤岛问题。一次一处输入系统则确保数据的准确性和完整性,同一数据只需一次输入即可在多处使用。最后,主题数据库由基本表组成,这些基本表具有原子性、演绎性和规范性,以确保数据的质量和一致性。
以上设计要求和基本特征都是为了解决企业面临的数据管理挑战,实现数据的整合和共享,提高数据的质量和效率。
8、【问题2】(9分)
张工认为数据集成的方式难以充分利用已有应用系统的业务功能,实现不同业务功能的组合,建议采用基于SOA的应用集成方式,将原有系统的功能包装为多个服务,并给出了基本的集成架构,见图2-2。
请补充完善图2-2中(1)~(3)处空白处的内容。
参考答案:
(1)服务编排
(2)数据转换
(3)应用程序接口
解析:
面向服务的架构(SOA)是一种面向应用软件开发的思想,强调将应用程序的不同功能单元化为服务,并通过服务编排来实现不同业务功能的组合。服务编排是指选择和组合服务以完成整个业务。在SOA架构中,服务注册用于注册和查找服务的接口,服务管理用于管理和协调各个服务,因此服务编排是其中的一个重要环节。由于各个应用系统中的数据模型差异大,存在数据类型、长度、值的不一致问题,因此需要进行数据转换以实现服务间的数据交换。应用程序接口(API)是计算机硬件、软件和信息之间的连接点,是应用程序与系统之间的桥梁,保障整个业务的进行。因此,在图中的空白处填写服务编排、数据转换和应用程序接口是正确的。
9、【问题3】(6分)
研发团队在对张工的方案进行分析后,发现该方案没有发挥SOA的核心理念,即松耦合的服务带来业务的复用,通过服务的编排助力业务的快速响应和创新,未实现“快速整合企业业务能力,为不同类型的用户提供各种不同功能、不同流程的业务服务”的核心目标,目前的方案仅仅是通过SOA实现了系统的集成。
请用200字以内的文字分析该方案未满足本项目核心目标的原因。
参考答案:【试题分析】
业务系统仅仅通过SOA实现业务系统的功能集成,但由于服务粒度过大,难以保证服务是细粒度、松耦合的状态;也难以实现灵活的服务编排。因此,不能实现“快速整合企业业务能力,为不同类型的用户提供各种不同功能、不同流程的业务服务”的核心目标。
解析:
该研发团队在分析张工的方案后,发现该方案存在的问题主要是服务粒度过大。在SOA架构中,服务的粒度应该足够细,以保证服务的松耦合性,这样才能实现服务的灵活编排和复用。然而,由于张工的方案中将原有系统的功能包装为多个服务的方式导致服务粒度过大,无法为不同类型的用户提供不同功能、不同流程的业务服务。此外,服务粒度过大也会影响服务的灵活性和可扩展性,难以适应快速变化的市场需求。因此,该方案未能实现本项目的核心目标。
二、问答题
10、试题五
Web系统架构设计的叙述
【说明】
某公司拟开发一个基于web的远程康复系统,该系统的主要功能要求如下:
(1)康复设备可将患者的康复训练数据实时传入云数据库
(2)医生可随时随地的通过浏览器获取患者康复训练数据并进行康复训练的结果评估和康复处方的更新
(3)患者可通过此系统查看自己的康复训练记录和医生下达的康复训练处方,并可随时与医生进行在线沟通交流
(4)平台管理员可借助此系统实现用户的管理和康复设备的监控与管理,及时获悉设备的数据信息,便于设备维护和更新。
该公司针对上述需求组建了项目组,并召开了项目开发研讨会,会上,张工建议云数据库采用关系型数据库来实现数据存储;李工提出来用三层架构实现该远程康复系统。
【问题 1】请用200字以内文容说明什么是云数据库以及云数据库特点
【问题 2】根据该系统的功能需求,列举该系统中存在的实体,以辅助张工进行关系数据库设计。
【问题 3】根据李工建议,该系统采用三层架构,请用 300 字以内的文字分析层次型架构优势,并从下面给出的(a)-(i)候选项中进行选择,补充完善图 5- 1 中(1)-(6)处空白的内容,完成该系统的架构设计方案。
候选项:
参考答案:
【问题1】参考答案
云数据库是指被优化并部署到云端虚拟计算环境中的数据库。
云数据库的特点包括高并发、高性能、高可用、高可靠、存储整合、高效部署、按需扩展、按需付费、云端迁移等诸多特点。
【问题2】参考答案
康复设备、患者、医生、康复训练记录、康复训练处方、沟通交流记录、平台管理员、评估记录、用户、康复设备数据、设备维护记录
【问题3】参考答案
层次型架构优势:

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!