23年系统架构师-知识点汇总

  1. 实体完整性:主键

  2. 参照完整性:外键、简单约束

  3. 用户自定义完整性:复杂约束、触发器等。

  4. 参照完整性只能保证职务不为null,不能限制职务范围。

  5. 数据库属于应用系统,又与操作系统相关,因此属于系统安全和应用安全。

  6. 软件著作权自软件开发完成之日起产生。

  7. 技术:热备份或冷备份系统、纠错码、三模冗余

  8. 统的性能一般包括两个大的方面。一个方面是它的可靠性或可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度(例如,平均无故障时间),也可以是在一段时间内,能正常工作的时间所占的百分比。另一个方面是它的处理能力或效率,这又可分为三类指标,第一类指标是吞吐率(例如,系统在单位时间内能处理正常作业的个数),第二类指标是响应时间(从系统得到输入到给出输出之间的时间),第三类指标是资源利用率,即在给定的时间区间中,各种部件(包括硬设备和软件系统)被使用的时间与整个时间之比。当然,不同的系统对性能指标的描述有所不同。例如,计算机网络系统常用的性能评估指标为信道传输速率、信道吞吐量和容量、信道利用率、传输延迟、响应时间和负载能力等。

  9. 存取(Direct Memory Access,DMA)是指数据在主存与I/O设备间的直接成块传送,即在主存与I/O设备间传送数据块的过程中,不需要CPU作任何千涉,只需在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时由CPU进行处理,实际操作由DMA硬件直接完成,CPU在传送过程中可做其它事情。
    注:DM4直接存储器访问,指硬盘/u盘间与主存之间的传输

  10. 数据库设计6个阶段:
    1、需求分析:分析用户的需求包括数据、功能和性能需求–产出物有数据流图,数据字典,需求说明书
    2、概念机构设计:设计E-R图,即实体-属性图,与物理实现无关,说明有哪些实体,实体有哪些属性
    3、逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换
    4、数据库物理设计:根据生成的表等概念生成物理数据库
    5、数据库的实施:包括编程,测试和试运行
    6、数据库运行与维护:系统的运行与数据库的日常维护

  11. 一般来说,架构可以分为表现层、中间层和持久层三个层次。(1)表现层。表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用MVC结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求调用中间层进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。(2)中间层。中间层主要包括业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框架四个方面。业务逻辑层组件分为接口和实现类两个部分,接口用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。通常按模块来设计业务逻辑组件,每个模块设计为一个业务逻辑组件,并且每个业务逻辑组件以多个DAO组件作为基础,从而实现对外提供系统的业务逻辑服务。业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分I/O参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的开发、代码重用和管理。(3)持久层。持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。

  12. 五种常见的软件架构风格
    1、风格(批处理序列;管道/过滤器)
    批处理
    特点:每一步处理都是独立的,并且每一步都是顺序执行的,只有当前一步处理完,后一步处理才能开始。数据传送在步与步之间作为一个整体。
    典型应用:经典数据处理;程序开发;window下的BAT程序。
    管道/过滤器
    特点:面向数据流传输,每个构件都有一组输入和输出,构件读输入的数据,经过内部处理,产生输出数据流。
    优点:a)使软件具有良好的隐蔽性和高内聚、低耦合的特点 b)支持软件重用 c)系统维护和增强系统性能简单 d)支持并发执行
    缺点:a)通常导致进程成为批处理的结构 b)不适合处理交互的应用 c)由于每个过滤器都增加了解析和合成数据的工作,导致系统性能下降。
    2、调用/返回风格(主程序/子程序;面向对象风格;层次结构)
    主程序/子程序
    特点:采用单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。
    面向对象风格(普遍使用)
    特点:建立在数据抽象和面向对象的基础上,对象是通过函数和过程的调用来交互的。
    优点:a)改变一个对象的表示,不影响其他的对象 b)设计者可以将一些数据存取操作的问题分解为一些交互的代理程序集合。
    缺点:a)对象的标识改变,就必须修改所有其他明确调用它的对象 b)必须修改所有显示调用它的其他对象,例如A 使用了对象 B, C 也使用了对象 B,那么, C 对 B 的使用所造成的对 A 的影响可能
    层次结构
    特点:每一层为上层服务,并作为下层客户,允许将一个复杂问题分解成一个增量步骤序列。
    缺点:并不是每个系统都很容易划分为分层模式,很难找到一个合适的正确的抽象方法。
    1. 二层及三层C/S架构风格
    2. B/S架构风格
    3. MVC架构风格
    4. MVP架构风格

    3、独立构件风格(进程通信;事件系统)
    进程通信
    特点:构件是独立的过程(命名过程),连接件是消息传递(可以点对点、异步和同步方式及远程过程调用等)
    事件系统
    特点:构件不直接调用一个过程,而是触发或广播一个或多个事件。
    4、虚拟机风格(解释器;基于规则的系统)
    解释器
    特点:可以仿真硬件执行过程和一些关键应用。
    包含:完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行进度的数据结构。
    缺点:执行效率低
    典型应用:专家系统。
    基于规则的系统
    特点:包括规则集、规则解释器、规则/数据选择器及工作内存。
    5、仓库风格(数据库系统;超文本系统;黑板系统)
    数据库系统
    特点:构件包含两大类,一个是中央共享数据源,保存当前系统的数据状态;一个是多个独立处理元素,处理元素对数据元素进行操作。
    超文本系统
    典型应用:早期静态网页
    黑板系统
    特点:在求解过程中综合应用多种不同的知识源,使得问题的表达、组织和求解变得容易,适用于解决复杂的非机构化问题。
    包含:a)知识源 b)黑板数据结构 c)控制
    典型案例:语言识别系统、信号处理系统、松耦合代理数据共享存取
    注:体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统

  13. 构件的特性是:
    (1)独立部署单元;
    (2)作为第三方的组装单元;
    (3)没有(外部的)可见状态。一个构件可以包含多个类元素,但是一个类元素只能属于一个构件。将一个类拆分进行部署通常没什么意义。

  14. 对象的特性是:
    (1)一个实例单元,具有唯一的标志。
    (2)可能具有状态,此状态外部可见。
    (3)封装了自己的状态和行为。

  15. 性能是指系统的响应能力,即要经过多长时间才能对某个时间做出响应。可用性是指系统两次故障之间系统正常运行的比例。当可用性和可靠性同时出现在选项中的时候,我们通常选择可用性。可修改性是指较高的性价比对系统进行变更的能力。敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。权衡点是指影响多个质量属性的特性,是多个质量属性的敏感点。风险点不以标准术语出现,它指某些做法有一些隐患可能导致—些问题。

  16. “4+1”视图是对逻辑架构进行描述,最早由Philippe Kruchten提出,他在1995年的IEEE Software上发表了题为The 4+1View Model of Architecture的论文,引起了业界的极大关注,并最终被RUP采纳,现在已经成为架构设计的结构标准。“4+1”视图主要包括:
    ①逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
    ②过程视图(Process View),捕捉设计的并发和同步特征。
    ③物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
    ④开发视图(Development View),描述了在开发环境中软件的静态组织结构。
    ⑤架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(Use Cases)或场景(Scenarios)来说明,从而形成了第五个视图。
    当采用面向对象的设计方法描述对象模型时,通常使用类图表达类的内部属性和行为,以及类集合之间的交互关系;采用状态图定义对象的内部行为。

  17. 企业应用集成通过采用多种集成模式,构建统一标准的基础平台,将具有不同功能和目的而又独立运行的企业信息系统联合起来。目前市场上主流的集成模式有3种:面向信息的集成、面向过程的集成和面向服务的集成。其中面向过程的集成模式强调处理不同应用系统之间的交互逻辑,与核心业务逻辑相分离,并通过不同应用系统之间的协作共同完成某项业务功能。

  18. 客观的世界是复杂的当评估现实世界的对象之间的关系和影响时通常使用系统模型用简化的模型来代替真实的系统。不论开发什么模型,准确性都是关键因素。一个不准确的模型通常会导致对问题的不准确解决方案。另外;大多数模型包括许多假设应尽可能这些假设同现实情况相符。

  19. 软件架构设计主要关注软件构件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构.

  20. 一般说来,信息化需求包含3个层次,即战略需求、运作需求和技术需求。一是战略需求。组织信息化的目标是提升组织的竞争能力、为组织的可持续发展提供一个支持环境。从某种意义上来说,信息化对组织不仅仅是服务的手段和实现现有战略的辅助工具;信息化可以把组织战略提升到一个新的水平,为组织带来新的发展契机。特别是对于企业,信息化战略是企业竞争的基础。二是运作需求。组织信息化的运作需求是组织信息化需求非常重要且关键的一环,它包含三方面的内容:一是实现信息化战略目标的需要;二是运作策略的需要。三是人才培养的需要。三是技术需求。由于系统开发时间过长等问题在信息技术层面上对系统的完善、升级、集成和整合提出了需求。也有的组织,原来基本上没有大型的信息系统项目,有的也只是一些单机应用,这样的组织的信息化需求,一般是从头开发新的系统。

  21. 电子政务的行为主体包括:政府、企(事)业单位及居民。
    国家和地方人口信息的采集、处理和利用,属于政府对政府的电子政务活动。

  22. RISC特点:使用等长指令,目前典型长度为4个字节寻址方式少且简单,一般为2-3种;绝不出现存储器间接寻址方式只有取数指令、存数指令访问存储器指令集中的指令数目一般少于100种,指令格式一般少于4种指令功能简单;控制器多采用硬布线方式,以期更快的执行速度平均而言,所有的指令的执行时间为一个处理时钟周期强调通用寄存器资源的优化使用

  23. 在中断时,CPU断点信息—般保存到中。

  24. 接近CPU的存储器容量更小、速度更快、成本更高,辅存容量大、速度慢,价格低。采用分级存储体系的目的是解决存储的容量、价格和速度之间的矛盾。

  25. 时间管理的过程包括:⑦活动定义⑧活动排序⑨活动的资源估算⑩活动历时估算制定计划进度控制

  26. 统一过程(UP)的基本特征是以用例和风险驱动,以架构为中心,受控的迭代式的增量开发。
    UP定义了四个阶段:
    起始阶段(Inception):该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,提交结果包括需求和用例。
    精化阶段(Elaboration):该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构、问题领域、修改后的需求及项目开发计划等相关文档。
    构建阶段(Construction) :增量式开发可以交付给用户的软件产品。
    移交阶段(Transition) :目的是将软件产品交付给用户。

  27. RUP(统一软件开发过程,是一个面向对象且基于网络的程序开发方法论)有九个核心工作流:业务建模、需求、分析与设计、实现、测试、部署、配置和变更管理、项目管理、环境.

  28. 在需求管理过程中需求的变更是受严格管控的,其流程为:
    1、问题分析和变更描述。这是识别和分析需求问题或者一份明确的变更提议,以检查它的有效性,从而产生一个更明确的需求变更提议。
    2、变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改、系统修改的设计和实现的成本。一旦分析完成并且确认,应该进行是否执行这一变更的决策。
    3、变更实现。这要求需求文档和系统设计以及实现都要同时修改。如果先对系统的程序做变更,然后再修改需求文档,这几乎不可避免地会出现需求文档和程序的不—致。

  29. 通常按软件过程活动将软件工具分为软件开发工具、软件维护工具、软件管理和软件支持工具。
    软件开发工具:
    需求分析工具、设计工具、编码与排错工具。
    软件维护工具:
    版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
    软件管理和软件支持工具:
    项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

  30. 配置项是构成产品配置的主要元素,配置项主要有以下两大类:
    (1)属于产品组成部分的工作成果:如需求文档、设计文档、源代码和测试用例等;
    (2)属于项目管理和机构支撑过程域产生的文档:如工作计划、项目质量报告和项目跟踪报告等。这些文档虽然不是产品的组成部分,但是值得保存。所以设备清单不属于配置项。所以选项C的工作计划虽可充当配置项,但不属于产品组成部分工作成果的配置项。

  31. 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

  32. 在初步项目范围说明书中已文档化的主要的可交付物、假设和约束条件的基础上准备详细的项目范围说明书,是项目成功的关键。范围定义的输入包括以下内容:①项目章程。如果项目章程或初始的范围说明书没有在项目执行组织中使用,同样的信息需要进一步收集和开发,以产生详细的项目范围说明书。②项目范围管理计划。③组织过程资产。④批准的变更申请。

  33. 结构化程序设计采用自顶向下、逐步求精及模块化的程序设计方法,通过顺序、分支和循环三种基本的控制结构可以构造出任何单入口单出口的程序。

  34. 把应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序

  35. 系统的可维护性指标包含可理解性、可测试性、可修改性。不包括可移植性

  36. 设计模型则包含以包图表示的软件体系机构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图和用以描述流程化处理过程的活动图等。

  37. 根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。进一步来说,用例描述的是功能需求,质量属性场景描述的是质量需求(或侧重于非功能需求)。

  38. 面向对象的分析模型主要由顶层架构图、用例与用例图和领域概念模型构成;
    设计模型则包含以包图表示的软件体系机构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图和用以描述流程化处理过程的活动图等。

  39. UML中有4种关系:
    1、依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义;
    2、关联是一种结构关系,描述了一组链,链式对象之间的连接,聚集是一种特殊类型的关联,描述整体与部分间的结构关系;
    3、泛化是一种特殊一般关系,特殊元素的对象可替代一般元素的对象;
    4、实现是类元之间的语义关系,其中—个类元指定了由另—个类元保证执行的契约。

  40. BI系统(商业智能系统)主要包括数据预处理、建立数据仓库、数据分析和数据展现四个主要阶段。

  41. UML中有4种事物:
    1、结构事物是UML模型中的名词。它们通常是模型的静态部分,描述概念或物理元素;
    2、行为事物是UML模型的动态部分。它们是模型中的动词,描述了跨越时间和空间的行为;
    3、分组事物是UML模型的组仅部分。它们是—些由模型分解成的盒子;
    4、注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值