> 文章列表 > 2020系统分析师案例分析真题背记内容

2020系统分析师案例分析真题背记内容

2020系统分析师案例分析真题背记内容

前言

以下内容仅为个人根据当年系分案例真题问题整理的偏需要记背的考点答案,方便个人背诵和记忆使用。方便文字转语音,所以内容全为纯文字内容,以下内容仅供参考。

背记内容

面向对象开发

面向对象系统开发过程中,按照对象所承担的职责不同,可以将对象分为实体对象、控制对象和接口对象。其中实体对象是用来表示业务域的事实数据并需要持久化存储的对象类型;控制对象是用来表示业务系统中应用逻辑和业务规则的对象类型;接口对象是用来表示用户与系统之间交互方式的对象类型。

面向对象系统设计的一般步骤:

1,对实体对象进行增、并、改,并识别接口对象和控制对象。
2,确定实体对象、接口对象和控制对象之间的各种关系。
3,完善对象类结构图,组织系统的体系结构。

面向对象系统分析与建模中,从潜在候选对象中筛选系统业务对象的原则有:
并不是所有的名词都表示了问题域内有用的业务对象,通过删除对象的同义词、系统范围之外的名词、不具有独特行为的名词、不清楚的名词和另一个对象的行动或属性的名词来最终清理候选对象列表。

业务对象是指对数据进行检索和处理的组件。是简单的真实世界的软件抽象。

业务对象的必要条件:

1、由状态和行为组成。
2、表达了来自业务域的一个人,地点,事物或概念。
3、可以重用。

业务对象的分类:

1,实体业务对象: 表达了一个人,地点,事物或者概念,根据业务中的名词从业务域中提取的,如客户,订单, 物品等。在EJB应用程序中,一般为实体Bean;在传统的web应用程序中,可能是包含业务应用的状态和行为的普通JavaBean。
2,过程业务对象: 表达应用程序中业务处理过程或者工作流程任务,通常依赖于实体业务对象,是业务的动词。 在EJB应用程序中,通常是模型的会话Bean,或者消息驱动Bean;在非EJB应用中,可能是JavaBean,包含特定的行为,作为应用程序的管理者或者控制者。
3,事件业务对象: 表达应用程序中由于系统的一些操作造成或产生的一些事件。 商家、仓库、支付系统、快递公司属于系统外部数据项,商品列表和商品重复,价格、支付、密码和配送地址等都属于其他数据项的属性或行为,无需独立作为候选对象。
最后可以筛选出候选对象,包括会员、商品、购物车、订单、配送信息、支付记录。

数据流图

数据流图(Data Flow Diagram) DFD是SA方法中的重要工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,如果采用结构化方法,则一般将DFD作为需求规格说明书的一个组成部分。 DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。

DFD在进行系统需求分析过程中的主要作用如下:

1,DFD是理解和表达用户需求的工具,是需求分析的手段。由于DFD简明易懂,不需要任何计算机专业知识就可以理解它,因此,系统分析师可以通过DFD与用户进行交流。
2,DFD概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。
3,DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。

在DFD中,通常会出现4种基本符号,分别是数据流加工数据存储外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。

流程图和活动图在表达业务流程时的不同点:

流程图是对过程、算法、流程的一种图像表示,在技术设计、交流及商业简报等地方有广泛的应用。通常用一些图框来表示各种类型的操作,在框内写出各个步骤,然后用带箭头的线把它们连接起来,以表示执行的先后顺序。用图形表示算法,直观形象,易于理解。有时候也被称之为输入-输出图。顾名思义,就是用来直观地描述一个工作过程的具体步骤。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务所必需的管理过程。
活动图是由活动节点和转换流程构成的图。它描述系统或业务的一系列活动构成的控制流,描述系统从一种活动转换到另一种活动的整个过程。
流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程;活动图能够表示并发活动的情形,而流程图不行;活动图是面向对象的,而流程图是面向过程的;活动图可以有多个结束状态,而流程图只能有一个结束状态。

实时结构化分析和设计(RTSAD)方法

实时结构化分析和设计(RTSAD)方法主要包含分析和设计两个阶段,其中分析阶段要求开发一个基础模型,这个基础模型称为需求模型。通常基本模型中应包含一个环境模型和一个行为模型。
环境模型描述的是系统运行时所处的环境,也就是系统要连接的外部实体,以及发送给系统的输入和来自系统的输出。
行为模型描述的是行为,也就是系统对从外部环境中接收到的输入信息的反应,在实时系统中,这些反应一般都是依赖于状态的。
其中行为模型常用状态转换图(简称状态图)来描述,它又称为状态机模型。行为模型通过描述系统的状态以及引起系统状态转换的事件来表示系统的行为。状态图中的基本元素有事件、状态和行为等。
内聚是指模块内各元素之间的关联交互。
耦合是指模块间的依赖关联、交互关系。
模块耦合在模块分解过程中作为种标准来使用,用于判断模块间连接性的程度。模块内聚在模块分解过程中作为种标准来使用,用于确定模块内部的强度或统一性。从模块设计角度看,模块独立性应遵守“高内聚低耦合”的基本原则。

状态转换图

状态转换图,即STD图(State Transform Diagram),表示行为模型。STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如处理数据等)。STD描述系统对外部事件如何响应,如何动作。在状态转换图中,每一个节点代表一个状态。

数据流图

数据流图(Data Flow Diagram), 是一种描述系统数据流程的主要工具,它用一组符号来描述整个系统中信息的全貌,综合地反映出信息在系统中的流动、处理和存储情况。
数据流图有两个特征: 抽象性和概括性。抽象性指的是数据流程图把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况。概括性则是指数据流图把系统对各种业务的处理过程联系起来考虑,形成一个总体。

数据库

索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。

索引的优点:

(1)加快了数据的检索速度。
(2)创建唯一性索引,保证数据库表中每一行数据的唯一性。
(3)加速表和表之间的连接。
(4)在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
(5)建立索引之后,在信息查询过程中可以使用优化隐藏器,提高整个信息检索系统的性能。

索引过多的缺点:

(1)过多的索引会占用大量的存储空间。
(2)更新开销,更新语句会引起相应的索引更新。
(3)过多索引会导致查询优化器需要评估的组合增多。
(4)每个索引都有对应的统计信息,索引越多则需要的统计信息越多。
(5)聚集索引的变化会导致非聚集索引的同步变化。

数据库表分区的方式:

1,范围分区:Range分区是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列值所在的range分区中。如按照时间划分,2010年1月的数据放到a分区,2月的数据放到b分区,在创建的时候,需要指定基于的列,以及分区的范围值。
2,列表分区:List分区也需要指定列的值,其分区值必须明确指定,该分区列只能有一个,不能像range或者hash分区那样同时指定多个列做为分区依赖列,但它的单个分区对应值可以是多个。在根据某字段,如城市代码分区时,可以指定default,把非分区规则的数据,全部放到这个default分区。
3,组合分区:如果某表按照某列分区之后,仍然较大,或者是一些其它的需求,还可以通过分区内再建子分区的方式将分区再分区,即组合分区的方式。
4,Hash分区(散列分区):对于那些无法有效划分范围的表,可以使用hash分区,这样对于提高性能还是会有一定的帮助。hash分区会将表中的数据平均分配到你指定的几个分区中,列所在分区是依据分区列的hash值自动分配,因此你并不能控制也不知道哪条记录会被放到哪个分区中,hash分区也可以支持多个依赖列。
建议根据预约订单所在城市进行表分区,而所在城市属性为离散值,根据所在城市属性建立列表分区,也方便不同城市处理自己的数据,方便数据管理。

主从复制方式进行数据同步的定义:

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新。

主从复制的原理:

1.数据库有个bin-log二进制文件,记录了所有sql语句。
2.我们的目标就是把主数据库的bin-log文件的sql语句复制过来。
3.让其在从数据的relay-log重做日志文件中再执行一次这些sql语句即可。

主从复制的基本步骤:

(1)主服务器将所做修改通过自己的IO线程,保存在本地二进制日志中;
(2)从服务器上的1/0线程读取主服务器上面的二进制日志,然后写入从服务器本地的中继日志;
(3)从服务器上同时开启一个SQL thread,定时检查中继日志,如果发现有更新则立即把更新的内容在本机的数据库上面执行一遍。

基于事件的系统风格

基于事件的系统风格的思想是构建不直接调用一个过程,而是触发或广播一个或多个事件。
系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。
这样,一个事件的触发就导致了另一模块中的过程的调用。因此,该风格也称为隐式调用。
事件:能够激活对象功能的动作,当发生动作后会给所涉及对象发送一条消息,对象便可执行相应的功能。事件源负责广播一些事件,系统中的其他处理器在事件管理器中注册自己感兴趣的事件,并将自己的过程与某个事件相关联,事件管理器通过注册调用相关的处理器。

消息队列

消息队列包括两种模式,点对点模式,和发布订阅模式。
对点模式下包括三个角色:消息队列发送者生产者、**接收者(消费者)**消息发送者生产消息发送到中,然后消息接收者从中取出并且消费消息。消息被消费以后,中不再有存储,所以消息接收者不可能消费到已经被消费的消息。

点对点模式特点:

每个消息只有一个接收者,即一旦被消费,消息就不再在消息队列中;发送者和接发收者间没有依赖性,发送者发送消息之后,不管有没有接收者在运行,都不会影响到发送者下次发送消息;接收者在成功接收消息之后需向队列应答成功,以便消息队列删除当前接收的消息;

发布订阅模式发布订阅模式下包括三个角色:角色主题发布者订阅者。发布者将消息发送到系统将这些消息传递给多个订阅者。

发布订阅模式特点:

每个消息可以有多个订阅者;发布者和订阅者之间有时间上的依赖性。针对某个主题的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行。