1.1.1 系统架构师的概念。
现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。
架构本质上存在两个层次:概念层,物理层。
1.2.1 系统架构师的定义。
负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。
主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。
要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。
1.2.2 系统架构师技术素质。
对软件工程标准规范有良好的把握。
1.2.3 系统架构师管理素质。
系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力;
必须提供特定的方法和模型作为理想的技术解决方案;
必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。
1.2.4 系统架构师与其他团队角色的协调。
系统分析师,需求分析,技术实现。
系统架构师,系统设计,基于环境和资源的系统技术实现。
项目管理师,资源组织,资源实现**:
由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。
所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。
对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。
1.3 系统架构师知识结构。
需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。
1.4 从开发人员到架构师。
总结自己的架构模式,深入行业总结规律。
几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养一批忠诚的用户或产品代言人,而不是为中国培养软件架构师。
计算机网络基础知识》
计算机系统由硬件和软件组成,软件通常分为系统软件和应用软件。
系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。
常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序、数据库等。
应用软件指计算机用户利用软硬件资源为某一专门的应用目的而开发的软件。
2.1 操作系统基础知识。
操作系统 operating system,是计算机系统的核心系统软件。
2.1.1 操作系统的原理、类型、结构。
1、操作系统定义。
硬件资源包括**处理器、存储器、输入输出设备。
软件资源是以文件形式保存在存储器上的程序和数据。
操作系统既有效组织和管理系统中各种软硬件资源,合理地组织计算机系统的工作流程,又控制程序的执行,为用户使用计算机提供了一个良好的环境和友好的接口。
2、操作系统分类。
按功能不同分:单用户操作系统、批处理操作系统;分时操作系统、实时操作系统;网络操作系统、分布式操作系统;嵌入式操作系统。
3、操作系统的特征。
并发性、共享性、虚拟性、不确定性。
4、操作系统的功能。
进程管理、文件管理、存储管理、设备管理、作业管理。
2.1.2 处理机与进程管理。
1、进程的定义及其分类。
进程通常由程序、数据、进程控制块 pcb 组成。
2、进程的状态转换与控制。
就绪、运行、阻塞。
进程控制是通过进程控制原语实现的,进程控制原语主要有:创建原语、撤销原语、挂起原语、激活原语、阻塞原语、唤醒原语。
注:原语不可分割,不允许中断。
3、进程互斥与同步以及 p/v 操作。
同步是使在异步环境下的各进程按一定的顺序和速度执行。
互斥要保证临界资源一次只能提供一个进程使用,称为临界资源 cr。
pv操作是低级通信原语,在执行期间不可分割,p表示申请一个资源,v表示释放一个资源。
p操作定义:s:=s-1,若s>=0,则执行p操作的进程继续执行,否则若s<0, 则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
v操作定义:s:=s+1,若s>0, 则执行v操作的进程继续执行,否则若s<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行v操作的进程继续执行。
**:考试大-软件水平考试4、进程通信与管程。
控制信息的交换称为低级通信,数据的交换称为高级通信。
高级通信的类型有共享存储系统、消息传递系统、管道通信。
在任一时刻最多只有一个进程能够真正地进入管程,其他的只能等待。
5、进程调度与死锁。
产生死锁的四个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
预防策略,破坏死锁的四个必要条件之一。
6、线程。线程是进程中的一个实体,是被系**立分配和调度的基本单位。
线程只拥有一些运行中必不可少的资源。
同一个进程中的多个线程可以并发执行,线程具有:就绪、运行、阻塞,三个基本状态。
2.1.3 存储管理。
存储器的发展方向是:高速、大容量、小体积。
存储管理的主要任务是:如何提高主存的利用率、扩充主存以及对主存信息实现有效保护。
2.1.4 设备管理。
设备管理的目标是:提高设备的利用率,为用户提供方便统一的界面。
磁盘调度算法:先来先服务 fcfs、最短寻道时间优先 sstf、扫描算法scan。
2.1.5 文件管理。
随机访问是指对文件中的信息可以按任意次序随机读写文件中的信息。
文件控制块fcb,描述和控制文件的数据结构。
2.1.6 作业管理。
常用的作业调度算法有:先来先服务、短作业优先、相应比高优先、优先级调度算法、均衡调度算法。
2.1.7 网络操作系统 nos
网络操作系统分为:集中模式、客户机/服务器模式、对等模式。
现代操作系统已经把网络功能包含到操作系统的内核中,作为操作系统核心功能的一个组成部分。
2.2.1 关系数据库基础。
数据库的三要素:数据结构、数据操作、数据约束条件。
特别需要指出的是,e-r模型强调的是语义。
关系数据库设计理论的核心是数据间的函数依赖,衡量的标准是关系规范化的程度及分解的无损连接和保持函数依赖性。
数据依赖包括:函数依赖、非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖、传递依赖、码、主属性、非主属性、外码、值依赖定义、函数依赖的公理系统。
事务是数据库环境中不可分割的逻辑工作单位。
四个特性:原子性、一致性、隔离性、持久性,acid。
sql语言中事务定义语句有三条:begin transaction 事务开始、commit 事务提交、rollbak 事务回滚。
并发操作是指:在多用户共享系统中,用户可能同时对同一数据库进行操作。
带来的问题主要有:丢失更新、不可重复读、读脏数据。
并发控制主要技术是封锁:排他锁(简称 x锁、写锁)、共享锁(简称 s锁、读锁)。
保护数据库的关键技术在于建立冗余数据、即备份数据。
方法是:数据转储、建立日志。
2.2.2 关系数据库设计。
需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计、运行维护。
e-r 方法的数据库概念结构设计可分三步:设计局部e-r模型、设计全局e-r模型、全局e-r模型优化。
2.2.3 分布式数据库系统。
满足分布性、逻辑相关性、场地透明性、场地自治性的数据库系统被称为完全分布式数据库系统。
分布式数据库系统的特点:数据的集中控制性、数据独立性、数据冗余可控性、场地自治性、存取有效性。
4层模式划分为:全局外层、全局概念层、局部概念、局部内层,各层还有相应的层间映射。
2.2.4 商业智能。
一般认为:数据仓库、连机分析处理、数据挖掘技术是商业智能bi 的三大组成部分。
数据仓库的关键特征:面向主题、集成的、非易失的、时变的。
三层结构:数据仓库服务器、olap服务器(连机分析处理服务器)、前端工具。
数据仓库的实现步骤:规划、需求研究、问题分析、数据的抽取清洗集成装载、数据仓库设计、数据仓库管理、分析报表查询、数据仓库性能优化、数据仓库部署发布。
切片、切块、下钻、上卷、旋转等多维度分析与跨维度分析。
olap 系统架构主要分为:基于关系数据库的rolap、基于多维数据库的molap、基于混合数据组织的holap。
数据挖掘是在没有明确架设的前提下去挖掘信息、发现知识。
所得的信息应具有先知、有效、实用,三个特征。
主要功能有5类:自动**趋势和行为、关联分析、聚类、概念描述、偏差检测。
2.3 计算机网络基础知识。
计算机网络。
按通信距离分广域网、局域网、城域网;按信息交换方式分电路交换网、分组交换网、综合交换网;按拓扑结构分星型网、树形网、环形网、总线型网;按传输带宽分基带网、宽带网;
按使用范围分公用网、专用网;按通信传播方式分广播式、点到点式……
osi/rm:把复杂的问题分解开,保持了层次之间的独立性。
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
2.3.2 计算机网络。
1、广域网、局域网、城域网。
广域网又称远程网,覆盖范围广,传输速率相对低,以数据通信为主要目的的数据通信网。数据传输可靠性随着传输介质不同而不同、拓扑结构复杂。
有公共交换**网、各种公用数据网。
局域网是指传输距离有限,传输速度较高,以共享网络资源为目的的网络系统,数据传输可靠误码率低,网络控制一般为分布式,总线拓扑、环形拓扑、星型拓扑、混合型。
城域网是一种较大范围的高速网络。
网络拓扑结构:网络中通信线路和节点的几何排序,反映各节点之间的结构关系,影响着整个网络的设计、功能、可靠性、通信费用等重要方面。
局域网和城域网都是ieee802标准,决定局域网主要技术有:传输介质、拓扑结构、介质访问控制方法。
软考系统架构设计师学习笔记
2016年软考系统架构设计师学习笔记。散列函数与数字签名。md5散列算法。散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。特点 1.给定m,要找到另一消息m,使h m h m 很难。2.散列函数都是单向的,反推m很难。3.对于任何一个报文,无法预知...
软考系统架构设计师学习笔记
2016年软考系统架构设计师学习笔记。散列函数与数字签名。md5散列算法。散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。特点 1.给定m,要找到另一消息m,使h m h m 很难。2.散列函数都是单向的,反推m很难。3.对于任何一个报文,无法预知...
2023年软考系统架构设计师学习笔记
散列函数与数字签名。md5散列算法。散列函数是一种公开的数学函数。散列函数运算的输入信息叫做报文,运算后所得的结果叫做散列码或消息摘要。特点 1.给定m,要找到另一消息m,使h m h m 很难。2.散列函数都是单向的,反推m很难。3.对于任何一个报文,无法预知它的散列码。4.散列码具有固定的长度,...