系统分析师学习笔记
目录
- 系统分析师学习笔记
- 前言
- 1 数学与工程基础(选择题2-4分)
- 1.1 图论与应用(考选择题)
- 1.1.1 最小生成树
- 1.1.2 最短路径
- 1.1.3 网络与最大流量(常考)
- 1.2 预测与决策(在原有基础上有扩展,选择题)
- 1.2.1 决策的方法(定方 线 成 效 模 决)
- 1.2.2 预测的方法(一次指数平滑)(考选择题)
- 1.2.3 预测的基本内涵(SMC、系 模 结)
- 1.2.4 决策过程(决 情 设 抉 实)
- 1.2.5 线性规划问题(常考)
- 1.3 数学建模
- 1.3.1 模型(抽 思 符 数 形 直 物)
- 1.3.2 建模的过程(准 假 建 求 分 检 应)
- 1.3.3 建模的方法(数建方 直 类 数 构)
- 1.3.4 建模的特点(建特 逼 可 渐 强 ,转 非 条 技 局)
- 1.3.5 模型的分析工作包括(误 统 敏 健)
- 1.4 工程伦理
- 1.4.1 主要的工程伦理问题(伦 技 利 责 环)
- 1.4.2 处理工程伦理问题的基本原则(伦原 人 社 和)
- 1.4.3 基本准则(准则 N I A)
- 1.5 真题知识点
- 2 计算机系统(选择题8-12分)
- 2.1 计算机系统概述
- 2.2 存储器系统(选择题1-2分)
- 2.2.1 RAID 8个级别
- 2.2.2 Cache高速缓冲存储器(相关联存取)
- 2.2.3 网络存储技术
- 2.3输入输出系统(选择题1-2分)
- 2.3.1 I/O系统(控 中、DMA高 通)
- 2.3.2 总线
- 2.3.3 总线的性能指标
- 2.3.4 I/O接口的功能(中驱无用,单读写加处,双写加读处)
- 2.4 指令系统
- 2.6 进程管理(常考)
- 2.6.1程序并发执行的前驱图与关系(选择题2分,初P末V)
- 2.6.2进程的三态和五态
- 2.6.3利用PV操作实现进程的同步(选择题3分,初始信号量1)
- 2.6.4 产生死锁的原因(常考)
- 2.6 存储器管理(选择题2分)
- 2.7 系统性能(真 核 基 合)
- 2.8 文件管理
- 2.8.1 路径名
- 2.8.2 位示图(常考)
- 2.9 真题知识点
- 2.9.2 寄存器
- 2.9.3加速比(常考)
- 2.10 系统配置与性能评价
- 2.10.1 性能
- 2.10.2加速比
- 2.10.3测量方法
- 2.10.4 计算机系统的可靠性
- 2.11 计算机系统与配置
- 3 计算机网络与分布式系统(5-8分)
- 3.1 网络体系结构与协议(2分)
- 3.1.1 TCP/IP协议簇(常考)
- 3.2 Web服务(重要11.3.7)
- 3.2.1 SOAP、WSDL和UDDI
- 3.3 网络规划与设计
- 3.3.1 网络规划
- 3.3.2网络设计
- 3.3.3 分层设计(核心交换、汇聚控制、接入用户)
- 3.3.4 网络存储技术分类
- 3.3.5 网络存储——RAID
- 3.4 云计算
- 3.4.1 基础设施即服务 (IaaS : Infrastructure as a Service)
- 3.4.2 平台即服务(PaaS:Platform as a Service)
- 3.4.3 软件即服务 (SaaS:Software as a Service)
- 3.5 真题知识点(2024年6分)
- 3.5.1 域名服务器算法(本递、根迭、中递)
- 3.5.2
- 3.5.3 传输速率
- 3.5.4 以太网标准
- 3.5.5 FTP、TFTP、SFTP
- 3.5.6 隧道技术
- 3.5.7 子网掩码的计算(重点32个子网需要5bits,网络地址与 广播地址或)
- 3.5.8 CRC校验
- 4 数据库系统(6-8分)
- 4.1 数据库管理系统
- 4.1.1 三级模式(背,外 逻 概 物 内 )
- 4.2 关系数据库(重点4分)
- 4.2.1 候选键和依赖关系(候选键起始点或者独立点)
- 4.2.2 关系模式分解(依赖和联接)
- 4.2.3 范式1NF、2NF、3NF
- 4.2.4 关系运算
- 4.2.5 连接(左连接留左边,右链接留右边,全连接全留下)
- 4.3 数据库控制功能
- 4.3.1 事务的四大特性(原子、一致、隔离、持久)
- 4.3.2 数据库的完整性
- 4.3.3 数据库的安全性
- 4.3.4 安全、完整、并发控制、故障恢复
- 4.4.4 备份与恢复技术
- 4.4 数据库设计与建模
- 4.4.1 数据库规划阶段(背,需 概 逻 物)
- 4.4.2 E-R图
- 4.5 分布式数据库系统(常考2分)
- 4.5.1 分布式数据库的特点
- 4.6数据仓库技术
- 4.6.1 数据仓库的结构
- 4.6.2 联机事务处理(OLTP)和联机分析处理(OLAP)的区别
- 4.6.3 ETL(抽取、转换、加载)
- 4.6.4 数据仓库
- 4.6.5 数据仓库的设计
- 4.7数据挖掘技术
- 4.8 非关系数据库
- 4.8.1 非关系型数据库分类与特点
- 4.8.2 CAP理论
- 4.8.3 分区的方法
- 4.8.4 存储布局(行写、列查)
- 4.8.5 文档数据库
- 4.8.6 键值数据库
- 4.8 真题知识点
- 4.8.1 自反、增广、传递
- 5 企业信息化(6-9分)
- 5.1 企业信息化概述(业重重 核应成 信主资)
- 5.2 信息资源管理
- 5.2.1信息资源管理概述(IBM)
- 5.2.3 规范与标准
- 5.2.4 信息资源规划(IRP记忆,职能域定业分数分 建企标准 建信系功模 建信系数模 建关联矩阵)
- 5.2.5 信息资源网络建设
- 5.3 企业信息化规划(2分)
- 5.3.1 信息化规划的内容(业重信规 企系技资)
- 5.3.2 信息化规划与企业战略规划
- 5.4 信息系统战略规划方法(ISSP 常考,核心一数据,二系统,三集成,)
- 5.4.1 企业系统规划法(BSP,business system planning)
- 5.4.2 关键成功因素法(CSF,critical success factors)
- 5.4.3 战略集成转化法(SST,strategy set transformation)
- 5.4.4 战略数据规划法(SDP,strategy data planning)
- 5.4.5 信息工程法(IE,information engineering)
- 5.4.6 战略栅格法(SG,strategic grid)
- 5.4.7 价值链分析法(VCA,value chain analysis)
- 5.4.8 战略一致性模型(SAM,strategy alignment model)
- 5.4.9 规划方法的选择
- 5.4.10 企业资源规划和实施(ERP,enterprise resource planning)
- 5.5 企业信息系统
- 5.5.1 客户关系管理(CRM,customer relationship management)
- 5.5.2 供应链管理(SCM,supply chain management,信息资金物流)
- 5.5.3 产品数据管理 (PDM,product data management)
- 5.5.3 产品生命周期管理(PLM,product lifecycle management)
- 5.5.4 知识管理
- 5.5.5 商业智能(BI,business intelligence)
- 5.5.6 企业门户(EP,enterprise portal)
- 5.5.7 决策支持系统(DSS,decision support system)
- 5.5.8 信息系统开发方法
- 5.6 电子商务
- 5.6.1 电子商务的类型
- 5.6.2 电子商务的标准(背)
- 5.6.3 电子商务的特征
- 5.6.4 电子商务的优势
- 5.6.5 电子商务技术
- 5.7 电子政务
- 5.8 业务流程重组(BRP,business process reengineering,流程为核心)
- 5.9 企业应用集成(EAI,enterprise application integration)
- 5.10 事件驱动的企业应用集成(EDA,event-driven architecture)
- 5.11 真题知识
- 6 软件工程(2-5,在系统架构设计师中是考试重点)
- 6.1 软件生命周期
- 6.2 软件开发方法与模型
- 6.2.1 瀑布模型
- 6.2.2 演化模型(快速模型)
- 6.2.3 螺旋模型
- 6.2.4 喷泉模型
- 6.2.5 变换模型
- 6.2.6 智能模型
- 6.2.7 V模型(单编、集详、系概、验需)
- 6.2.8 快速应用开发(RAD)
- 6.2.9 统一过程模型(UP、RUP,初模,细架,构产,移测)
- 6.2.10 敏捷开发
- 6.3 软件开发环境与工具
- 6.4 软件过程管理(常考)
- 6.5 软件重用和再工程
- 6.6 软件产品线
- 6.6.1 产品线的过程模型
- 6.6.2 产品线的建立方式
- 6.7 统一建模语言
- 6.7.1 UML
- 6.8 软件形式化方法
- 6.9 真题知识点
- 6.9.1工作流参考模型
- 7 项目管理(1-2)
- 7.1 范围管理
- 7.2 进度管理
- 7.3 预算与成本管理
- 7.4 配置管理
- 7.5 质量管理
- 7.6 人力资源管理
- 7.7 风险管理
- 7.8 真题知识点
- 8 信息安全(4-9)
- 8.1 信息系统安全体系
- 8.2 数据安全与加密
- 8.3 通信与网络安全技术
- 8.4 系统访问控制技术
- 8.5 容灾与业务持续
- 8.6 安全管理措施
- 8.7 系统可靠性(常考)
- 8.8 冗余技术
- 8.9 软件容错技术
- 8.10 真题知识
- 9 系统规划与分析(2分)
- 9.1 系统规划概述(调查 目标 功能 方案 可行 建设)
- 9.2 项目的提出与选择
- 9.3 系统分析概述
- 9.4 问题分析
- 9.5 业务流程分析
- 9.5.1 业务流程图TFD
- 9.5.2 业务活动图BAM
- 9.5.3 业务流程建模BPM
- 9.6 数据与数据流程分析
- 9.7 系统可行性分析
- 9.8 成本效益分析
- 10 软件需求工程(4-8分)
- 10.1 软件需求概述
- 10.2 需求获取(选择题)
- 10.3 需求分析
- 10.4 结构化分析方法(单独罗例,重点)
- 10.5 面向对象分析方法(单独罗例,重点)
- 10.6 需求定义
- 10.7 需求验证
- 10.8 需求管理
- 11 软件架构设计(2-4分)
- 11.1 软件架构概述
- 11.2 软件架构建模
- 11.3 软件架构风格(新增大量知识)
- 11.3.1 数据流体系结构风格
- 11.3.2 调用/返回体系结构风格
- 11.3.3 以数据为中心的体系结构风格
- 11.3.4 虚拟机体系结构风格
- 11.3.5 面向服务的架构风格(见3.2,可单独考论文)
- 11.4 软件架构标准
- 11.5 软件架构实现
- 11.6 软件架构质量属性(选择题或案例题,判断属于哪种质量属性)
- 12 系统设计(2-4分)
- 12.1 系统设计概述
- 12.2 处理流程设计
- 12.3 结构化设计SD
- 12.4 面向对象设计(选择题属于哪种原则)
- 12.5 设计模式(背,选择题属于哪种模式)
- 12.6 输入/输出原型设计
- 12.7 人机交互设计
- 13 软件实现与测试(2分)
- 13.1 软件实现概述
- 13.2 软件测试概述
- 13.3 软件测试方法(选择测试方法)
- 13.4 软件测试类型
- 13.5 软件测试的组织
- 13.6 软件部署
- 14 系统运行与维护(2分)
- 15 补充知识点
- 15.1 图音视频
- 15.2 计算机体系结构
- 15.3 主存编码
- 15.4 磁盘时间
- 15.5 知识产权与标准
- 16 Web应用系统分析与设计
- 16.2 Web应用架构设计
- 16.2.1 设计原则
- 16.2.2 B/S三层架构
- 16.2.3 MVC、MVP
- 16.2.4 微服务架构优缺点
- 16.3 Web应用开发框架
- 16.3.1 SSH轻量级架构,J2EE提供集成框架
- 16.3.2 Web层开发框架
- 16.4 Web应用系统开发
- 16.4.1 Web通信协议
- 16.4.2 Web数据存储(负载均衡器、消息队列重点)
- 16.4.3 Web客户端技术
- 16.4.4 Web服务器端技术
- 16.4.5 Web系统部署(负责均衡)
- 16.5 Web系统测试
- 16.5.1测试描述
- 16.5.2 测试过程
- 16.5.3 功能测试
- 16.5.4 性能测试
- 16.5.5 web安全性测试
- 16.5.6 web服务测试
- 17
前言
2025软考系统分析师擦边而过,学习笔记分享。
`
1 数学与工程基础(选择题2-4分)
1.1 图论与应用(考选择题)
常考项目工期,和路径
1.1.1 最小生成树
所有顶点接入,没有回路,权值之和最小。
算法:普里姆(Prim)算法、克鲁斯卡尔(Kruskal)算法、博卡鲁夫(Boruvka)算法、反向删除(Reverse-Delete)算法
1.1.2 最短路径
两个顶点间长度最短的路径,路径上各边权值的总和。
算法:迪杰斯特拉算法、弗洛伊德算法、贝尔曼-福特算法、A*算法、约翰逊算法、SPFA算法
1.1.3 网络与最大流量(常考)
从起点到终点的最大运输量。
1.2 预测与决策(在原有基础上有扩展,选择题)
1.2.1 决策的方法(定方 线 成 效 模 决)
常见的定量计算方法:有线性规划、成本效益分析、效用分析、模拟仿真、决策树分析。
决策是指在一定的条件写,从多种可供选择的方案中选择一个方案来达到特定的目标或目的的过程。
1.2.2 预测的方法(一次指数平滑)(考选择题)
有第N年收入x1,X2…Xn,第N年效益Y1,Y2…Yn,得出Yi+1=aXi+(1-a)Yi,其中0<a<1,属于( )算法?
1.2.3 预测的基本内涵(SMC、系 模 结)
科学的预测途径包括:因果分析、类比分析、统计分析。
S表示系统、M表示模型、C表示结论
1.2.4 决策过程(决 情 设 抉 实)
决策过程主要分为4个阶段:情报活动、设计活动、抉择活动和实施活动。
1.2.5 线性规划问题(常考)
线性规划的的标准型的主要特征有:目标函数为极大化函数,所有的约束条件都是等式、所有约束方程右端的常数都是非负的,所有决策变量都是非负的。
线性问题的最优解要么0个,要么1个(目标函数的极值一定会在某个顶点处达到),要么无穷(只要有2个就会有无穷个)个。
可行解区可能无解,当可行解区无解时可能仍存在最优解。
线性规划问题的数据模型组成:线性目标函数、线性约束条件、变量非负条件。
1.3 数学建模
1.3.1 模型(抽 思 符 数 形 直 物)
理想模型(抽象模型):思维模型、符号模型、数学模型。物质模型(形象模型):直观模型、物理模型。
1.3.2 建模的过程(准 假 建 求 分 检 应)
模型建模过程:模型准备、模型假设、模型建立、模型求解、模型分析、模型检验、模型应用
1.3.3 建模的方法(数建方 直 类 数 构)
数学建模的方法:直接分析法、类比法、数据分析法、构想法
1.3.4 建模的特点(建特 逼 可 渐 强 ,转 非 条 技 局)
数学建模的特点:模型的逼真性和可行性、渐进性、强健性、可转移性、非预制性、条理性、技艺性、局限性
1.3.5 模型的分析工作包括(误 统 敏 健)
误差分析、统计分析、模型对数据的灵敏性分析、对假设的强健性分析
1.4 工程伦理
1.4.1 主要的工程伦理问题(伦 技 利 责 环)
工程伦理所关注的4个方面的问题:即工程的技术伦理问题、工程的利益伦理问题、工程的责任伦理问题和工程的环境伦理问题。
1.4.2 处理工程伦理问题的基本原则(伦原 人 社 和)
处理伦理问题的三个基本原则:人道主义、社会公正、人与自然和谐发展
1.4.3 基本准则(准则 N I A)
基本准则中,美国全国职业工程师协会(NSPE)伦理准则、IEEE伦理准则、ASCE伦理准则等
1.5 真题知识点
一、需要测试三类构建,A、B、C,每位测试人员至少测试1类构件,至多测试2类构件,对任意的测试任务分配方式,至少有一种构件种类完全一致的测试任务,其中测试人员不少于7名。
每个人的测试必是A、B、C、AB、AC、BC这6种情况,6名测试人员,则每个人的测试类别可能都不同,至少有一种构件种类完全一致,则至少需要7名。
二、概率统计,问卷调查中设计2题,题1你是男生吗?题2你作弊了吗?随机选着1题回答。抽男生60名、女生40名参与答题,如实回答,结果:35份是,65份否,计算出考试作弊的比例大概为10%。
三、甲乙丙三人独立解决问题的概率分别为0.45、0.55、0.6,求三人一起解决该问题的概率,1减去三人无法解决该问题的概率。
四、按照最小最大后悔值决策标准(坏中求好的保守策略),应根据最大后悔值中的最小值来选择对应的决策方案。
五、11、甲机器三台,乙机器2台,甲次品率0.3%,乙次品率0.2%,每天一个机器能生产100个零件,某一天质检员抽到1个次品,则是甲机器生产的概率。
A 40% B 50% C 60% D 70%
六、三位专家为10幅作品投票,每位专家分别都投出了5票,并且每幅作品都有专家投票。如果三位专家都投票的作品列为A等,两位专家投票的作品列为B等,仅有一位专家投票的作品列为C等,则下列说法正确的是:
2 计算机系统(选择题8-12分)
2.1 计算机系统概述
计算机系统的多级层次结构:硬件层、系统层和应用层
计算机系统硬件 层之上的软件包括:操作系统、其他系统软件、应用软件
系统层中语言处理程序又分为:编译程序、汇编程序、解释程序
计算机硬件的组成部分:运算器、控制器、存储器、输入设备、输出设备
存储器的4个性能指标:存取时间、存储器带宽、存储器周期、数据传输速率
主存储器分为RAM(DRAM动态、SRAM静态)和ROM只读
根据Flynn分类方式根据指令流和数据流将计算机分为4类,SISD、SIMD、MISD、MIMD(当前主流多核,多指令多数据流)
2.2 存储器系统(选择题1-2分)
2.2.1 RAID 8个级别
RAID的主要技术有:分块技术、分叉技术、重聚技术
RAID0故障最高、空间利用率最高、性能最高,无冗余无数据校验
RAID1安全最高、空间利用率50%
RAID10 高可靠性、高性能,是RAID0和RAID1的组合
RAID2、3、4、5、6加入了校验
RAID6 具有独立的数据硬盘与两个独立的分布式校验方案
RAID5 2块备份,1块冗余
2.2.2 Cache高速缓冲存储器(相关联存取)
Cache使用的算法:随机算法(RAND)、先进先出算法(FIFO)、先进后出算法(FILO)、近期最少使用算法(LRU)、最不经常使用算法(LFU,计数器多实现困难)
Cache的操作方法:写直达,当要写Cache时,数据同时写回内存。
写回,CPU修改Cache的某一块后,相应的数据并不立即写入内存单元,而是当该块从Cache中淘汰时,才把数据写回内存中。
标记法,对Cache中的每一个数据设置一个有效位,1有效,从Cache中取数,否则从内存中取数。
直接映像、组相联映像、全相联映像的块冲突概率依次降低。
替换算法:当Cache产生了一次访问未命中后,相应的数据应同时读入CPU和Cache,但是当Cache已存满数据后,新数据必须替换淘汰Cache中的某些旧数据。最常用的算法:随机算法、先进先出算法、近期最少使用算法
2.2.3 网络存储技术
常用的网络存储技术:直接附加存储技术(DAS、SAS)、网络附加存储技术(NAS)、存储区域网络(SAN)
SAN根据数据传输过程采用的协议,划分为:FC SAN、IP SAN、IB SAN
2.3输入输出系统(选择题1-2分)
2.3.1 I/O系统(控 中、DMA高 通)
I/O系统的5种工作方式:程序控制方式(无条件传送和程序查询方式最耗时)、程序中断方式(CPU需要执行程序来实现数据传输)、DMA工作方式(实现外设与存储器之间的数据交换,CPU停止访问主存法、存储器分时法、周期挪用法)、通道方式、I/O处理机。
DMA的优先级高于中断方式,要求CPU执行设备驱动程序来启动设备,给出存放数据的内存起始地址以及操作方式发给I/O启动命令后,由通道指令来完成这些工作。
2.3.2 总线
按总线功能分:地址总线、数据 总线、控制总线
按总线功用分:局部总线、系统总线、通信总线
2.3.3 总线的性能指标
5种:总线宽度、总线带宽、总线负载、总线分时复用、总线猝发传输
2.3.4 I/O接口的功能(中驱无用,单读写加处,双写加读处)
I/O设备管理如那件分为4层:中断处理程序、设备驱动软件、与设备无关的系统软件和用户层I/O软件。
实现主机和外设的通信联络控制,进行地址译码和设备选择,实现数据缓冲,数据格式的变换,传递控制命令和状态信息。
常见的设备接口:IDE(磁盘接口),
ATA,SATA(串行硬件驱动器接口,支持热插拔、传输速率快、执行效率高),eSATA,
SCSI(大容量存储设备、音频设备和CD-ROM驱动器的一种标准),PCMCIA(PC Card接口,存储器卡),IEEE-1394,
USB(串行总线式的接口)
2.4 指令系统
RISC、CISC
指令系统的设计要求:完整性、规整性、高效率、兼容性 通用计算机系统的基本指令有数据传送类指令、运算类指令、程序控制类指令、IO 指令、处理机控制和调试指令。 ### 2.4.1 CISC(指令多、长可变、频率悬殊、主存单元处理、微控) CISC的特点:指令数量众多、指令使用频率相差悬殊、支持很多种寻址方式、指令可以对主存单元中的数据直接进行处理、以微程序控制为主、多种指令格式、指令长度可变。 每条指令需要占用过多的CPU周期,强调数据控制、导致设计复杂、研制周期长。 微程序 ### 2.4.2 RISC(指令少、长固定、逻辑控制、单指执、优编译、寄存器多) RISC的特点:指令数量少、指令的寻址方式少、指令长度固定、以硬布线逻辑控制为主、单周期指令执行、优化的编译器、CPU 中通用寄存器数量多。  RISC关键技术:延迟转移技术、指令取消技术、重叠寄存器窗口技术、指令流调整技术、逻辑实现以硬件为主。 ## 2.5 操作系统(客户、终端、进程、文件、存储器) 域是一个共用“目录服务数据库”得计算机和用户得集合,用于实现集中式管理。域只能由一个主域,但可以有零个或多个备份域控制器。 域本地组成员可来自森林 中得任何域,仅可访问本地域内的资源。 使用多处理机系统的主要目的时实现**作业级和任务级**接代码的并行性。 多处理机互连的方式主要有以下5种:总线方式、交叉开关、开关枢纽、多端口存储器、多级互联网络 操作系统分为:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统 分时操作系统的特点:多路性、独立性、交互性、及时性 嵌入式操作系统特点:微型化、可定制、实时性、可靠性、易移植性 互联网环境对OS的5个要求:自主配置和自适应协调,支持跨网络的互连、互通和协作,管理和协调系统资源的共享,支持功能、性能和可信性指标动态演化,可信赖操作系统。 2.6 进程管理(常考)
至少需要资源数=并发进程数*(每个进程)
2.6.1程序并发执行的前驱图与关系(选择题2分,初P末V)
进程是程序的一次执行,由进程控制块(PCB,进程存在的唯一标志)、程序(描述了进程需要完成的功能)和数据组成。
2.6.2进程的三态和五态
三态模型:就绪、运行、阻塞
五态模型:新建、就绪、运行、阻塞、终止
线程就就绪、运行、阻塞3种基本状态
一般来说,将程序的模块划分得越小,程序模块间得数据相关性越大,通信得开销也越大、
2.6.3利用PV操作实现进程的同步(选择题3分,初始信号量1)
2.6.4 产生死锁的原因(常考)
产生死锁的4个必要条件:互斥条件、不剥夺条件、请求与保持条件、环路条件
某系统中有3个并发进程竞争资源R,每个进程都需要5个R,那么至少有( 13 )个R,才能保证系统不会发生死锁。
假设系统为每个进程分配了4个资源,系统剩余数为 0,导致这3个进程互相都要求对方占用的资源无法继续运行,产生死锁。
每个进程分配了4个资源,还剩余1个,能保证3个进程中的一个进程运行完毕。
2.6 存储器管理(选择题2分)
虚拟存储器的实现主要由3种方式:请求分页系统、请求分段系统、请求段页式系统
2.7 系统性能(真 核 基 合)
通常用户采用评价程序来评价系统的性能,评测准确度最高的评价程序是( 真实程序)。在计算机性能评估中,通常将评价程序中用得最多、最频繁的(核心程序 )作为评价计算机性能的标准程序,称其为基准测试程序。
测试精确度排名:真实程序>核心程序>小型基准程序>合成基准程序
2.8 文件管理
2.8.1 路径名
全文件名未路径+文件名
绝对路径:从根目录开始的路径
相对路径:从当前工作目录开始的路径
2.8.2 位示图(常考)
假设系统字长为16位,因此每个字可以表示16个物理块的使用情况,2057号物理块应该在位图中的第128位,即2057/16,
(256+1)/64= 4.02,同时由于题目已明示“字号从0开始计算”,所以256号物理块应在4号字中描述。256号物理块对应的是4号字中第0位,所以应将第0位置为“1”,表示占用。
假设计算机系统的字长为32位,磁盘容量为200GB,物理块的大小为1MB,那么位试图的大小为2001024/32=6400字节,需要占用64004字节,25600/1024=25物理块。
2.9 真题知识点
### 2.9.1 吞吐率=指令条数/流水线执行时间 当流水线中各个流水段的执行时间不完全相等时,流水线的最大吞吐率与实际吞吐量主要由流水线中执行实际 最长的流水段来决定。2.9.2 寄存器
指令被执行时,首先需要将指令从内存读取出来,指令的地址则放在程序计数器(PC)中,取得指令则暂存在指令寄存器中。状态寄存器保存指令执行过程中的状态及控制信息。
2.9.3加速比(常考)
流水线加速比,完成N条指令的时间:使用流水线的时间(取最大时间乘以N,加上其他指令执行时间)
某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2Δt )、分析指令(1Δt )、取操作数(3Δt)、运算(1Δt)和写回结果(2Δt)组成, 并分别用5个子部件完成,该流水线的最大吞吐率为( ) ;若连续向流水线输入10条指令,则该流水线的加速比为( )。
流水线周期为:3Δt。
*流水线的吞吐率为:指令条数/流水线执行时间。计算流水线执行时间的理论公式是:第一条 指令顺序执行时间+(指令条数-1)周期,而周期是取各节点的最大处理时长。
即:
n/(2Δt+1Δt+3Δt+1Δt+2Δt+(n-1)*3Δt)=n/(6Δt+3nΔt)
流水线的最大吞吐率就是上面的式子中,n趋向于无穷大的结果。当n趋向于无穷大时,上式的结果为:1/3Δt。所以应该选B。
流水线加速比=不用流水线的执行时间/使用流水线的执行时间
10条指令不用流水线的执行时间=(2Δt+1Δt+3Δt+1Δt+2Δt)×10=90Δt。
10条指令使用流水线的执行时间=(2Δt+1Δt+3Δt+1Δt+2Δt)+(10-1)×3Δt=36Δt。
所以加速比为:90Δt/36Δt=5∶2。
2.10 系统配置与性能评价
2.10.1 性能
信息系统的性能评价指标是客观评价信息系统性能的依据,其中,吞吐量是指在单位时间内处理请求的数量。
执行速度等于主频除以时钟周期。
计算机系统的性能主要包括:可用性和处理能力,处理能力三类指标:吞吐率、响应时间、资源利用率。
计算机的可用性可从故障率、健壮性、可恢复性三个方面来进行测评。
计算机性能的评价方法:测量方法、分析方法、模拟方法
计算机性能的评价通常用峰值性能及持续性能两个指标。
MIPS和MFLOPS都是峰值性能指标
MIPS适合衡量标量处理机的性能,MFLOPS适合衡量向量处理机的性能。
2.10.2加速比
通过改进计算机的某一部分(部件)的性能,使得计算机整体性能得以提高,可以采用Amdahl(阿姆达尔)定律定义的加速比来进行定量分析。
加速比=不使用增强措施时完成整个任务的时间/使用增强措施时完成整个任务的时间,
加速比=使用增强措施时完成整个任务的性能/不使用增强措施时完成整个任务的性能。
加速比主要取决于两个因素:第一,在原计算机上,能被改进增强的部分在总执行时间中所占的比例;第二,整个计算机采用了增强措施执行时,增强部分的执行效率提高的程度。
例:假定求浮点数平方根(FPSQR)的操作在某台机器上的一个基准测试程序中占总执行时间的 20%,FP 运算指令所用时间占总执行时间的 50%。采用两种优化 FPSQR的方法,第一种方法是增加专门的FPSQR硬件,可以将FPSQR的操作速度提高为原来的 10 倍;第二种方法是提高所有 FP(浮点)运算指令的执行速度到原来的 1.6 倍,从而提高求浮点数平方根操作的速度。可以通过计算这两种方法对基准测试程序的加速比来比较这两种方法的优劣。以下叙述正确的是( )。
2.10.3测量方法
测量方法中经典的性能评估方法有时钟频率法、指令执行速度法、等效指令速度法、数据处理速率法、综合理论性能法等。
指令执行速度法:在计算机发展的初期,曾用加法指令的运算速度来衡量计算机的速度,速度是计算机的主要性能指标之一。因为加法指令的运算速度大体上可反映出乘法、除法等其他算术运算的速度,而且逻辑运算、转移指令等简单指令的执行时间往往设计成与加法指令相同,因此加法指令的运算速度有一定代表性。表示机器运算速度的单位是MIPS( 每秒百万条指令 )。
等效指令速度法 ( Gibson mix,吉普森混合法):通过各类指令在程序中所占的比例(Wi)进行计算得到的。特点:考虑指令比例不同的问题。
综合理论性能法(CTP ,Composite Theoretical Performance ):CTP用MTOPS(Million Theoretical Operations Per Second,每秒百万次理论运算)表示。CTP的估算方法是,首先算出处理部件每个计算单元的有效计算率,再按不同字长加以调整,得出该计算单元的理论性能,所有组成该处理部件的计算单元的理论性能之和即为CTP。
基准程序法:把应用程序中用得最多、最频繁的那部分核心程序作为评估计算机系统性能的标准程序,称为基准测试程序(benchmark)。基准程序法是目前一致承认的测试系统性能的较好方法**。考虑了诸如I/O结构、操作系统、编译程序的效率对系统性能**的影响。
时钟频率法:计算机的时钟频率在一定程度上反映了机器的速度。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟频率范围也不一定相同。相同频率、不同体系结构的机器,其速度和性能可能会相差很多倍。
2.10.4 计算机系统的可靠性
(1 – (1 – R) 3)( 1 – (1 – R) 2)
串联
(1 – (1 – R1R2) (1-R3))R4
2.11 计算机系统与配置
3 计算机网络与分布式系统(5-8分)
3.1 网络体系结构与协议(2分)
3.1.1 TCP/IP协议簇(常考)
Telnet远程主机的默认服务端口是23
3.2 Web服务(重要11.3.7)
服务请求者是web服务使用者,查找、绑定并调用服务或与服务进行交互的应用程序,该角色可由浏览器担当,由人或程序来控制。
服务注册中心是连接服务提供者和服务请求者的纽带
服务提供者可直接把秒速发送给服务请求者。
网络层:HTTP超文本传输协议
XML:可扩展标记语言,是一种数据存储语言,是互联网环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。
SOAP:消息传输协议,基于XML机制用于网络应用程序之间交换结构化数据。SOAP主要是在分布的、分散的环境中提供一个跨互联网调用服务的框架结构,提供了独立于变成语言和分布对象底层基础结构的跨平台集成机制。
WSDL:提供了应用访问指定的Web服务所必须的全部信息,秒速服务提供了什么功能、服务位于何处以及服务如何调用。
UDDI:描述自己提供的服务和查询对方提供的服务,最常出现的问题是在哪里以及如何找到需要的信息。
3.2.1 SOAP、WSDL和UDDI
WebService的三要素:soap用来描述传递信息的格式,wsdl描述如何访问具体的接口,uddi管理、分发、查询WebService。
WSDL用于定义和描述服务(即它们是什么、如何调用它们等),这些描述通常用于SOAP服务,但也可以用于描述REST服务(尽管REST服务的描述通常更简单,不需要WSDL的复杂性)。
SOAP通常与WSDL结合使用,以便创建可互操作、标准化的网络服务调用。然而,REST服务不依赖SOAP协议,而是使用HTTP方法来执行CRUD(创建、读取、更新、删除)操作。
UDDI用于发布和查找WSDL描述的服务,使得服务提供者可以注册其服务,而服务消费者可以发现和调用这些服务。但在实际使用中,由于各种发现机制和服务注册中心(如API管理平台)的出现,UDDI并没有得到广泛应用。
3.3 网络规划与设计
3.3.1 网络规划
网络规划:网络需求分析、可行性研究、对现有网络的分析与描述
3.3.2网络设计
网络设计:完成网络规划后,将进入网络系统的设计阶段,这个阶段通常包括网络总体目标和设计原则,进行网络总体设计和拓扑结构设计,确定网络选型和进行网络安全设计等。包括:确定网络总体目标、确定总体设计原则、通信子网设计、资源子网设计、设备选型、网络操作系统与服务器资源设备、网络安全设计。
3.3.3 分层设计(核心交换、汇聚控制、接入用户)
3.3.4 网络存储技术分类
3.3.5 网络存储——RAID
3.4 云计算
3.4.1 基础设施即服务 (IaaS : Infrastructure as a Service)
把计算基础(服务器、网络技术、存储和数据中心空间)作为一项服务提供给客户。它也包括提供操作系统和虚拟化技术、来管理资源。消费者通过Internet可以从完善的计算机基础设施获得服务。
3.4.2 平台即服务(PaaS:Platform as a Service)
PaaS实际上是指将软件研发的平台作为一种服务,供应商提供超过基础设施的服务,一个作为软件开发和运行环境的整套解决方案,即以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
3.4.3 软件即服务 (SaaS:Software as a Service)
是一种交付模式,其中应用作为一项服务托管,通过Internet提供给用户;帮助客户更好地管理它们的IT项目和服务、确保它们IT应用的质量和性能,监控它们的在线业务。
3.5 真题知识点(2024年6分)
16、基于TCP的协议,能发送电子邮件的协议是( SMTP ),主要靠每个协议的应用
17、TCP/IP结构模型( 网络接口层 )处于模型的最底层,( 网络互联层 )解决了路由选择的问题
18、212.32.15.18和212.33.16.31 两个IP地址要他们位于同一个子网,子网掩码是多少?(255.0.0.0)
19、IPsec是一个工业标准,其中的( 封装安全有效的负载 )技术可以防止sniffer监测
20、云计算不包括:
3.5.1 域名服务器算法(本递、根迭、中递)
本地域名服务器采用的是递归算法,根域名服务器采用的是迭代算法,中介域名服务器采用的是递归算法,授权域名服务器不能确定采用哪种算法。
3.5.2
安全层协议:SSH安全外壳协议位于应用层
IPSec网络层协议
Socks防火墙安全会话转换协议,会话层协议
3.5.3 传输速率
利用率是描述效率的指标,网络利用率是度量一个网络带宽被占用了多少和网络拥塞的一个关键参数(吞吐量)。利用率高表明网络负载较大;利用率低则表明网络较空闲。
总信息传输速率=平均事务量大小×每字节位数×每个会话事务数×平均用户数/平均会话时长
根据这个公式,结算结果为:0.05×8×11×200/60=10.7(Mb/s)
传输的每个字节位数为8
一般情况下,汽车的速度为30km/h,可合理假设装车和卸货时间分别是5分钟;双绞线的传输速率为100Mb/s,多模光纤的传输速率为1000Mb/s,单模光纤的传输速率为2500Mb/s,并假设有足够的磁带机系统而忽略磁带数据上网所需时间。
一个数据包从开始发送到接收完成的时间包含发送时间tf和传播延迟时间tp两部分,可以计算如下:
对电缆信道:传播延迟时间t p=2000km/(200km/ms)= 10ms,发送接收数据包的时间t f=4000b/64000b/s=62.5ms,t p+t f=72.5ms
3.5.4 以太网标准
在以太网中规定的最小帧长是64字节,最小帧长是根据网络中检测冲突的最长时间决定。
网络管理中故障管理的目标是:故障监测、故障报警、故障信息管理、排错支持工具、检索/分析故障信息等内容。
采样频率必须大于信息最高频率的2倍才能使得到的样本信息不失真。
3.5.5 FTP、TFTP、SFTP
TFTP(简单文件传输协议),由于TFTP最初是设计用于系统引导进程,它不提供用户名和口令。常用于优先考虑简便性和速度而非安全性和可靠性的场景。
FTP(File Transfer Protocal,文件传输协议)用于建立两台主机间的数据文件传输下载。使用客户/服务器(Client/Server)架构,基于TCP协议,服务端口为21。支持两种编码方式传输数据,ASCII方式和Binary方式。
FTPS(也称为FTP安全,FTP-ES,FTP-SSL)是对常用文件传输协议(FTP)的扩展,增加了对传输层安全性(TLS,Transport Layer Security)和安全套接字层(SSL,Secure Sockets Layer)加密协议的支持。提供了一种安全的文件传输方式。
3.5.6 隧道技术
IPv6站点通过IPv4网络通信需要使用隧道技术,常用的3中隧道技术:6to4隧道、6over4隧道、ISATAP隧道
3.5.7 子网掩码的计算(重点32个子网需要5bits,网络地址与 广播地址或)
32个子网需要5bits
16个子网需要4bits
64个子网需要6bits
下面的计算以IP:16.158.165.91/22为例:
网络地址=ip地址 & 子网掩码,11得1
总长32位,划分4段,案例中掩码位22位,说明网络地址占22位,主机地址占10位。
广播地址
广播地址=网络地址 | ~子网掩码,见1得1
主机号范围
网络地址+1=第1个主机地址
广播地址-1=最后一个主机地址
主机号范围=网络地址+1~广播地址-1
案例中的主机号范围:16.158.164.1~16.158.167.254
主机数量
主机数量=2主机位二进制数位 -2(不包括网络地址和广播地址)
案例中的数量为:210 -2=1022
3.5.8 CRC校验
带发送的数据10110011
现假设选择的CRC生成多项式为P(X) = X^4 + X^3 + 1,要求出二进制序列10110011 的CRC校验码。下面是具体的计算过程 :
①将多项式转化为二进制序列,由P(X) = X^4 + X^3 + 1可知二进制一共有5位,第4位、第3位和第0位分别为1,则序列为 11001;
②多项式的位数5,则在数据帧的后面加上5-1位0,数据帧变为10110011 0000,然后使用模2除法除以除数P(X) = 11001,得到余数;
③将计算出来的CRC校验码添加在原始帧的后面,真正的数据帧为10110011 0100,再把这个数据帧发送到接收端;
④接收端收到数据帧后,用上面选定的除数P(X),用模2除法除去,验证余数是否为0,若为0则说明数据帧未出错。
4 数据库系统(6-8分)
4.1 数据库管理系统
数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能。
4.1.1 三级模式(背,外 逻 概 物 内 )
数据库通常采用三级模式结构,其中视图对应外模式、基本表对应模式、存储文件对应内模式
数据的物理独立性和数据的逻辑独立性式分别通过修改模式和内模式之间的映像、外模式和模式之间的映像来完成的
内模式、概念模式、外模式
数据模型所描述的内容包括:数据结构、数据操作和数据约束。
数据结构主要描述数据的类型、内容、性质和数据间的联系等
数据操作主要描述在相应的数据结构上的操作类型和操作方式。
数据约束主要描述数据结构内数据间的语法和词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
层次模型:每个节点可有多个孩子节点,但只能由一个双亲结点。
网状模型:用有向图表示实体类型和实体之间的联系,联系通过指针实现,多对多的联系容易实现,查询效率高。
关系模型:用表格结构表达实体集,用外键表示实体之间的联系。常用的关系型数据库:Oracle、DB2、SQL Server、Sybase和MySQL。
现有的关系型数据库系统中增加对对象模型支持的关系型数据库为Oracle。
4.2 关系数据库(重点4分)
4.2.1 候选键和依赖关系(候选键起始点或者独立点)
包含在任何一个候选码中的属性都叫主属性。
使用图示法求候选键:
1、将关系模式的函数依赖关系用有向图的方式表示,其中顶点表示属性,弧表示属性之间的依赖关系。
2、找出入度为0的属性集,并以该属性为起点,尝试遍历有向图,若能正常遍历途中所偶有节点,则该属性集为关系模式的后选键;若入度为0的属性集不能遍历图中所有节点,则需要尝试性地将一些中间顶点并到入度为0的属性集中,直到该集合能遍历所有顶点,则该集合为候选键。
例题给定关系R(A 1,A 2,A 3,A 4 ,A 5 )上的函数依赖集F={A 1→A 2A 5,A 2→A 3A 4,A 3→A 2},R的候选关键字为( A1 )。函数依赖( )∈F +。
F+是代表F函数依赖集的闭包,通俗一点,就是从F函数依赖集能推导出来的依赖关系。
A3→A2A4是正确的。首先F中有直接的依赖关系:A3→A2,此外,又有A3→A2与A2→A4得出A3→A4。A3→A2与A3→A4合并为A3→A2A4。
注:依赖关系中没有出现的关键字肯定为候选关键字。
存在冗余、插入异常和删除异常操作,以及修改操作的不一致。
4.2.2 关系模式分解(依赖和联接)
4.2.3 范式1NF、2NF、3NF
1NF,在关系模式R中,当且仅当所有属性只包含原子值,即每个分量都是不可再分的数据项,则称满足1NF。
1NF主要存在冗余变大、修改操作的不一致、插入异常和删除异常的问题。
例:某销售公司数据库中的关系零件为P(Pno, Pname, Sname, City, Qty),Pno表示零件号,Pname表示零件名称,Sname表示供应商,City表示所在地,Qty表示库存量。其函数依赖集F={Pno→Pname, (Pno,Sname)→Qty,Sname→City}。关系P为 ( 1NF ),存在冗余度大、修改操作不一致、插入异常和删除异常的问题。若将P分解为( ),则可以解决这一问题。
C.P1(Pno, Pname)、P2(Pno,Sname,Qty) 、P3(Sname,City),分解后的关系模式P1、P2和P3消除了非主属性对码的部分函数依赖,同时不存在传递依赖,故达到3NF。
4.2.4 关系运算
合并乘积与其后的选择运算为连接运算,即在表达式中,当 乘积运算后面的是选择运算时,应该合并为连接运算,使选择和乘积一道完成,以避免完成乘积后,需再扫描一个大的乘积关系进行选择运算。
4.2.5 连接(左连接留左边,右链接留右边,全连接全留下)
自然连接的属性列数是二者之和减去重复列数
判断自然连接与笛卡尔积关系表达式是否等价时,需要注意需要同名属性列取值相等才可以与自然连接等价。
给定关系R(A,B,C,D)和关系S(A,D,E,F),若对这两个关系进行自然连接运算R▷◁S后的属性列有( 6 )个;关系代数表达式σR.B>S.F(R▷◁S)与( π1,2,3,4,7,8(o1=5^2>8^4=6(R×S) )等价。
关系R、S如下表所示,R⋈S的结果集为( ),R、S的左外连接、右外连接和完全外连接的元组个数分别为( )。
根据自然连接的结果,属性列数是二者之和减去重复属性列,所以结果有4个属性列
左外连接:取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值NULL填充所有来自右侧关系的属性,将结果加入自然连接的结果中。结果如下:
左外连接共有4个元组。
右外连接:取出右侧关系中所有与左侧关系中任一元组都不匹配的元组,用空值NULL填充所有来自左侧关系的属性,将结果加入自然连接的结果中。结果如下:
右外连接共有4个元组。
完全外连接:完成左外连接和右外连接操作,结果如下:
完全外连接共有6个元组。
4.3 数据库控制功能
4.3.1 事务的四大特性(原子、一致、隔离、持久)
4.3.2 数据库的完整性
完整性约束条件、实体完整性、参照完整性、用户定义的完整性、触发器
4.3.3 数据库的安全性
数据授权可分为:数据库登录权限类、资源管理权限类、DBA权限类
视图可以被看成是虚拟关系或存储查询,适用于第三方开发人员调用
在数据库的安全机制中,通过建立( 视图 )使用户只能看到部分数据,从而保护了其它数据的安全性。
在数据库的安全机制中,通过提供(存储过程)供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。
4.3.4 安全、完整、并发控制、故障恢复
数据控制功能包括对数据库中数据的安全性、完整性、并发和恢复的控制。
其中:
①安全性(security)是指保护数据库不受恶意访问,即防止不合法的使用所造成的数据泄漏、更改或破坏。这样,用户只能按规定对数据进行处理,例如,划分了不同的权限,有的用户只能有读数据的权限,有的用户有修改数据的权限,用户只能在规定的权限范围内操纵数据库。
②完整性(integrality)是指数据库正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据。保证数据库中数据是正确的,避免非法的更新。
③并发控制(concurrency control)是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作。DBMS的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,避免用户得到不正确的数据。
④故障恢复(recovery from failure)。数据库中的4类故障是事务内部故障、系统故障、介质故障及计算机病毒。故障恢复主要是指恢复数据库本身,即在故障引起数据库当前状态不一致后,将数据库恢复到某个正确状态或一致状态。恢复的原理非常简单,就是要建立冗余(redundancy)数据。
4.4.4 备份与恢复技术
按备份的方式:物理备份(冷备份和热备份)和逻辑备份
按数据量情况:完全备份、增量备份、差异备份
4.4 数据库设计与建模
4.4.1 数据库规划阶段(背,需 概 逻 物)
需求分析用于调查和整理企业数据需求和应用需求
概念设计用于描述企业应用中的实体及其联系
逻辑设计用于逻辑结构的设计,主要是关系模式和设计、视图设计、规范化等
物理设计实现对数据物理组织的描述,包括存取方式、索引设计、数据文件物理分布等。
索引的写入修改了数据库的物理结构,而不是简单的逻辑设计。内模式规定了数据在存储介质上的物理组织方式、记录寻址方式。
设计逻辑结构时,首先为概念模型选定一个合适的逻辑模型(关系模型、网状模型、层次模型),然后将其转化为由特定DBMS支持的逻辑模型,最后对逻辑模型进行优化。
物理结构主要指数据库在物理设备上的存储结构和存取方法。
4.4.2 E-R图
E-R模型三要素:属性、实体、联系
数据模型三要素:数据结构、数据操作、数据的约束条件
4.5 分布式数据库系统(常考2分)
4.5.1 分布式数据库的特点
全局概念模式定义分布式数据库中数据的整体逻辑结构。
加锁阶段和解锁阶段,也称为扩展阶段和收缩阶段是传统集中式数据库的两阶段提交协议。获取阶段和运行阶段是与开发数据库应用过程相关的阶段。表决阶段和执行阶段是分布式数据库的两阶段提交协议。
4.6数据仓库技术
4.6.1 数据仓库的结构
数据仓库是一个面向主体的、集成的、相对稳定的、反映历史变化的数据集合。
4.6.2 联机事务处理(OLTP)和联机分析处理(OLAP)的区别
OLAP的基本多维分析操作:钻取、切片、切块、旋转等。
某集团公司下属有多个超市,假设公司高管需要从时间、地区和商品种类三个维度来分析某电器商品销售数据,那么应采用( OLAP )来完成。
4.6.3 ETL(抽取、转换、加载)
一种数据集成和数据转换的技术,常用于数据仓库和商业智能领域。ETL的主要目标是从不同的数据源中提取数据,进行清洗、转换和整合,然后将数据加载到目标系统中。
4.6.4 数据仓库
数据仓库是一个用于集成、存储和管理大量结构化和非结构化数据的大型数据存储系统。
从结构的角度看,由三种数据仓库模型:企业仓库、数据集市、虚拟仓库。
4.6.5 数据仓库的设计
数据仓库的设计方法通常有三种:自顶向下的方法(企业级)、自底向上的方法(先数据集市)、两者结合的额混合方法。
自顶向下的方法:投资大、应用周期较长、需求难以确定。
4.7数据挖掘技术
数据挖掘的流程:问题定义、建立数据挖掘库、分析数据、调整数据、模型化、评价和解释。
数据挖掘常用技术:决策树方法、分类方法、粗糙集方法、神经网络、关联规则、概念树方法、遗传算法、依赖性分析、公式发现、统计分析方法、模糊论方法、可视化分析。
数据分析方法分为6种:关联分析、序列分析、分类分析、聚类分析、预测分析和时间序列分析。
4.8 非关系数据库
4.8.1 非关系型数据库分类与特点
4.8.2 CAP理论
CAP理论就是对于一个分布式系统,一致性C、可用性A、分区容忍性P三个特点最多只能三选二。
4.8.3 分区的方法
内存缓存、集群、读写分离、范围分割技术/分片
4.8.4 存储布局(行写、列查)
基于行的存储布局、基于列的存储布局、带有局部性群组的列存储布局、LSM-Tree(典型例子BigTable)
行存储布局主要适用于OLTP或者更新操作,尤其是插入、删除操作频繁的场合。
列存储布局主要适用于OLAP、数据仓库、数据挖掘等查询密集型应用。
4.8.5 文档数据库
MongoDB最大的特点就是无表结构。
特征:高性能、丰富的查询语言、高可用性、水平扩展能力。
4.8.6 键值数据库
键很灵活,可以说图片名称、网页URL或者文件路径名,他们指向那些图片、网页和对应的文档。
存在三种操作:put、get和delete
4.8 真题知识点
1、数据库反规范式的优点:提高查询性能
2、数据库范式的目的:减少数据冗余
3、触发器的作用:保证数据完整性
4、用户在购买一个商品成交完成后,会同时订单表插入一条记录,请问用那种触发器最合适:AFTER INSERT
4.8.1 自反、增广、传递
关系模式R <U,F >来说有以下的推理规则:
A1.自反律(Reflexivity):若Y⊆X⊆U,则X →Y成立。
A2.增广律(Augmentation):若Z⊆U且X→Y,则XZ→YZ成立。
A3.传递律(Transitivity):若X→Y且Y→Z,则X→Z成立。
根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
合并规则:由X→Y,X→Z,有X→YZ。(A2,A3)
伪传递规则:由X→Y,WY→Z,有XW→Z。(A2,A3)
分解规则:由X→Y及Z⊆Y,有X→Z。(A1,A3)
5 企业信息化(6-9分)
5.1 企业信息化概述(业重重 核应成 信主资)
常见的企业信息化方法:业务流程重组法(重要方法)、核心业务应用法(成功秘诀)、信息系统建设方法、主题数据库方法、资源管理方法。
5.2 信息资源管理
信息资源特征:无限的、可再生的、可共享的
5.2.1信息资源管理概述(IBM)
IBM做好信息资源管理,包括数据资源管理(维护和安全)和信息处理管理(人员如何获取和处理信息,流程和方法)。
信息资源的分类主要功能是用于IBM,IBM的起点和基础是建立信息资源目录
分类:从管理维度分类、从信息来源维度分类、从应用主题维度分类。
5.2.3 规范与标准
IBM的基础标准:数据元素标准(命名标准、标识标准、一致性标准)、信息分类编码标准、用户视图标准、概念数据库标准、逻辑数据库标准。
企业内外信息共享和交换的基础:规范和简化用户视图
5.2.4 信息资源规划(IRP记忆,职能域定业分数分 建企标准 建信系功模 建信系数模 建关联矩阵)
IRP的过程:定义职能域、各职能域业务分析、各职能域数据分析、建立整个企业的IRM标准、建立信息系统功能模型、建立信息系统数据模型、建立关联矩阵
5.2.5 信息资源网络建设
包括:数据库和数据仓库的建设、信息资源网的数据分布和分布式数据库的建设
5.3 企业信息化规划(2分)
5.3.1 信息化规划的内容(业重信规 企系技资)
5.3.2 信息化规划与企业战略规划
信息化规划与企业战略集成的主要方法:业务与IT整合(BITA)、企业IT结构(EITA)
5.4 信息系统战略规划方法(ISSP 常考,核心一数据,二系统,三集成,)
ISSP方法经历的三个主要阶段:第一阶段以数据处理为核心,围绕职能部门需求进行的信息 系统规划,主要的方法包括企业系统规划法、关键成功因素法和战略集合转化法;第二个阶段主要是以企业内部管理信息系统为核心,围绕企业整体需求进行的信息系统规划,主要的方法包括战略数据规划法、信息工程法和战略栅格法;第三个阶段综合考虑企业内外环境的情况,以集成为核心,围绕企业战略需求进行信息系统规划,主要的方法包括价值链分析法和战略一致性模型。
5.4.1 企业系统规划法(BSP,business system planning)
BSP方法是企业战略数据规划法和信息工程法的基础。
BSP方法的目标是提供一个信息系统规划,用以支持企业短期的和长期的信息需求。
核心 是 识别企业过程
BSP方法的原则:信息系统必须支持企业的战略目标;信息系统的战略应该表达出企业各个管理层次的需求;信息系统应该向整个企业提供一致的信息;信息系统应该适应企业组织结构和管理体制的改变;信息系统战略规划应当由总体信息系统结构中的子系统开始实现。
BSP方法是通过全面调查,分析企业信息需求,制定信息系统总体方案的一种方法。4个步骤:定义管理目标、定义管理功能、定义数据分类和定义信息结构。
5.4.2 关键成功因素法(CSF,critical success factors)
关键成功因素法目的:确定企业业务的关键信息需求,提供实施指南。
三步:确定企业目标、识别CSF、确定信息需求
通过对CSF的识别,找出实现目标所需的关键信息集合,从而确定系统开关的优先次序。
行业CSF、企业CSF、部门CSF、管理人员CSF
CSF方法要求高层股那里人员就评价标准达成共识,对于高层管理和开发决策支持系统尤其适用。
缺点:
数据的汇总和数据分析过程比较随意,缺乏一种专门的、严格的方法将众多个人的CSF汇总成一个明确的、整个的企业的CSF。
由于个人和企业的CSF往往并不一致,两者之间的界限容易被混淆,从而使企业的CSF具有个人倾向性。
由于环境和管理经常迅速变化,信息系统也必须做出相应的调整,而用CSF方法开发的系统可能无法适应变化的环境。
CSF方法在应用较低层的管理时,由于不容易找到相应的目标的CSF及其关键指标,效率可能会较低。
5.4.3 战略集成转化法(SST,strategy set transformation)
三步:
第一步,识别和阐明企业的战略集合。
第二步,将组织的战略集合转化为信息系统战略集合。
第三步,反复完善、修改,提交进行评审,选出一个最佳方案送主管领导进行审核。
CSF方法能抓住主要矛盾,使目标的识别突出重点。
SST方法反映了各种人的需求,能保证目标比较全面,疏漏较少。
BSP方法首先强调目标,但没有明显的目标引出过程。企业目标到系统目标的转换通过对PO矩阵、RD矩阵和CU矩阵等的分析得到。
5.4.4 战略数据规划法(SDP,strategy data planning)
SDP是企业核心竞争力的重要构成因素,具有异质性和专有性。
SDP方法采用自顶向下进行全局规划,自底向上进行详细设计,设计是规划的延伸。
步骤:
企业模型的建立,完整性、适用性、持久性
主题数据库,特征:面向业务主题、信息共享、一次一处输入系统、由基本表完成
主体数据库设计目的:加速应用系统的开发。
SDP的执行过程,包括:企业的实体分析(实体是数据的载体,实体可以说具体的,也可以是抽象的)、实体活动分析(活动之间的相关的)、企业的重组、亲和度分析和分布数据规划。
在分布数据规划中,要对数据进行定性分析和定量分析。
定性分析是指讨论分布式处理系统中,如何设计各种应用程序的运行位置,
定量分析是指以某种方式去那排数据和加工处理位置,使得任意两点间的流通量和相互作用尽量小。
5.4.5 信息工程法(IE,information engineering)
IE的基础是BSP方法和SDP方法,是对他们的综合应用
信息工程由系统的方法论、完备的工具集、信息工程环境和成熟的经验总结组成。
IE认为与企业信息系统密切相关的三要素:各种信息、企业的业务活动过程、企业采用的信息技术。
实施阶段:自上而下,4个阶段:信息战略规划阶段、业务领域分析阶段、系统设计阶段、系统构建阶段。
7个步骤:信息战略规划、业务领域分析、业务系统设计、技术系统设计、系统构建、系统转换和系统运行。
5.4.6 战略栅格法(SG,strategic grid)
转变组合,工厂依赖,支持型低,战略型高
5.4.7 价值链分析法(VCA,value chain analysis)
实现企业战略的关键是:信息技术和关键业务流程的优化。
5.4.8 战略一致性模型(SAM,strategy alignment model)
5.4.9 规划方法的选择
保证业务流程与信息系统架构之间的一致:BSP、SDP
保证企业战略与信息系统战略之间的一致:SST、SG、CSF、VCA
保证企业战略、业务流程和信息系统架构之间的一致:IE
5.4.10 企业资源规划和实施(ERP,enterprise resource planning)
ERP是 指建立在信息技术基础上,以系统化的股那里思想为企业提供决策和运营手段的管理平台。
可以从管理思想、软件产品和管理系统三个角度来思考。
ERP的作用是在协调与整合企业各方面资源运营的过程中,全面实现信息共享和企业对市场变化的快速反应,降低市场波动给企业带来的经营风险,帮助企业以更少的资源投入获得更多的投资回报。
一般管理主要包括三个方面的内容:生产控制、物流管理和财务管理
典型ERP系统的主要功能:财会管理、物流管理、生产控制管理、人力资源管理。
5.5 企业信息系统
5.5.1 客户关系管理(CRM,customer relationship management)
CRM的关键内容是客户服务。
市场营销和客户服务是CRM
一个有效的客户关系经理解决方案应具备畅通有效的客户交流渠道、对所获信息进行有效分析和CRM与ERP很好的集成等特点。
5.5.2 供应链管理(SCM,supply chain management,信息资金物流)
5.5.3 产品数据管理 (PDM,product data management)
是一门用来管理所有与产品相关信息和所有与产品相关过程的技术。
主要功能:数据库和文档管理、产品结构和配置管理、生命周期管理和数据管理以及集成开发接口。
PDM系统是一种软件框架,利用这个框架可以帮助企业实现对企业产品相关的数据、开发过程以及使用者进行集成与管理,可以实现对设计、制造和生成过程种需要的大量数据进行跟着和支持。
5.5.3 产品生命周期管理(PLM,product lifecycle management)
5个阶段:培育期、成长期、成熟期、衰退期、结束期。
实施一整套业务解决方案,把人、过程和信息有效集成在一起,作用于整个企业,遍历产品生命在周期,支持与产品相关协作研发、管理、分发和使用产品 定义信息。
PLM的主要功能:总体功能,核心创造、协作和控制功能,细化功能。
5.5.4 知识管理
知识管理工具分为:知识生产工具、知识编码工具、知识转移工具
5.5.5 商业智能(BI,business intelligence)
4个阶段:数据预处理、建立数据仓库、数据分析、数据展现。
步骤:需求分析、数据仓库建模、数据抽取、建立BI分析报表、用户培训和数据模拟测试、系统改进和完善。
5.5.6 企业门户(EP,enterprise portal)
按实际应用领域,EP分为4类,企业网站(单向传递)、企业信息门户EIP、企业知识门户EKP、企业应用门户EAP。
5.5.7 决策支持系统(DSS,decision support system)
推理部分由知识库、知识库管理系统和推理机组成。算法:排序算法、分类算法、最小生成树算法、最短路径算法、计划评审技术、线性规划、整数规划、动态规划、各种统计算法和组合算法。
决策支持可分为结构化决策、半结构化决策和非结构化决策。
结构化决策是指对某一决策过程的规则进行确定性描述与建模,以适当的算法产生决策方案,并能进行多种方案中选择最优解。
非结构化决策的决策过程复杂,不可能用确定的模型和语言描述其决策过程,更无所谓的最优解。
半结构化和非结构化的决策一般用于企业的中、高级管理层。
5.5.8 信息系统开发方法
结构化方法:结构化分析、结构化设计、结构化程序设计;其精髓是自顶向下、逐步求精、模块化设计
面向对象方法:面向对象的分析、面向对象的设计、面向对象的程序设计
面向服务方法
原型化方法
5.6 电子商务
5.6.1 电子商务的类型
企业对消费者(B2C),借助网络开展在线销售活动
企业对企业(B2B),虚拟企业圈,企业利用计算机网络向它的供应商进行采购,或利用计算机网络进行付款,B2B具有实时商务处理能力。
消费者对消费者(C2C),在线交易平台,拍卖商品、竞价。
5.6.2 电子商务的标准(背)
电子商务急需建立标准的三个领域:用户接口、基本功能、数据及客体。
我国电子商务标准包含4个方面的内容:数据交换标准、识别卡标准、通信网络标准和其他相关的标准
5.6.3 电子商务的特征
普遍性、方便性、整体性、安全性、协调性
5.6.4 电子商务的优势
降低营销成本、提高销售效率、扩大销售渠道、提高服务质量和大数据分析
5.6.5 电子商务技术
网络数据通信技术、电子数据交换技术、电子支付技术、数据库技术
5.7 电子政务
4种模式,可能考选这题,判断给出的是哪种模式
5.8 业务流程重组(BRP,business process reengineering,流程为核心)
强调以流程为核心
业务流程重组是针对业务流程的基本问题进行回顾,其核心思路是对业务流程的根本性改造,BPR过程通常以业务流程为中心
必须坚持以以流程为核心的原则、团队式管理原则(以人为本的原则)和以顾客为导向的原则
BRP强调的4个核心内容:根本性、彻底性、显著性、流程
基于BRP的信息系统规划步骤:
战略规划、流程规划、数据规划、功能规划、实施规划
5.9 企业应用集成(EAI,enterprise application integration)
推动EAI技术发展的原动力是企业的价值取向
*EAI可以表示集成(界面)、数据集成(中间件)、控制集成(逻辑)和业务流程(B2B)等。
按照教材上的图:
EAI可以表示集成(界面)、数据集成(应用逻辑)、控制集成(中间件)和业务流程(B2B)等。
5.10 事件驱动的企业应用集成(EDA,event-driven architecture)
EDA的特点:异步、发布/订阅、解耦
EAI框架5层:企业服务总线、应用服务层、总线接入层、核心服务层、业务支持层
5.11 真题知识
建立企业模型的输入:组织层次图、业务计划、年终报告和备忘录等
建立企业模型的输出:组织单元目标和关键成功因素、企业目标/组织单元目标矩阵等
信息工程:以数据为中心,三要素:企业的信息、业务过程、企业常用的信息技术
智能制造系统架构从生命周期、系统层级和智能特征三个维度对智能z制造设计的要素、装备、活动等内容进行描述,主要用于明确智能制造的标准化需求、对象和范围。
其中系统层级是对企业生成活动相关的组织结构的划分包括:设备层、单元层、车间 层、企业层和协同层。
产品数据管理(PDM)系统可以帮助企业实现对企业产品相关的工作流、产品视图和客户进行集成和管理。
企业战略与信息化战略的集成主要方法有:业务与IT整合BITA、企业IT架构EITA
BITA适用于信息系统不能满足当前管理中的业务需求。
EITA适用于现有信息系统和IT基础架构不一致、不兼容和缺乏统一的整体管理的企业。
企业门户主要采用应用集成对现有应用系统的处理逻辑进行整合。
6 软件工程(2-5,在系统架构设计师中是考试重点)
软件工程是以工程化的原则和方法来解决软件问题的工程,目的:提高软件生产率、提高软件质量、降低软件成本。
定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行、维护的全过程及上述方法的研究。
三部分组成:方法、工具、过程
6.1 软件生命周期
一个完整的软件生命周期是以需求为出发点。
5个基本过程:获取过程(需方要定义的活动,招标)、供应过程(供方向需方提供定义的活动)、开发过程(开发软件产品的组织)、运作过程(为用户提供运行计算机系统服务的组织)、维护过程(维护软件产品或修改管理)
9个支持过程:文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审核过程、问题解决过程和易用性过程。
7个组织过程:管理过程、基础设施过程、改进过程、人力资源过程、资产管理过程、重用大纲管理过程、领域工程过程
6.2 软件开发方法与模型
第一种以软件需求完全确定为前提的瀑布模型。
第二种在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式开发模型,喷泉模型、螺旋模型、统一开发过程和敏捷方法等。
第三种以形式化开发方法为基础的变换模型。
6.2.1 瀑布模型
6个阶段:软件计划(可行性分析)、需求分析、软件设计、程序编码、软件测试、运行维护
特点:适合需求明确,严格区分阶段,每个阶段英国关系紧密相连。
瀑布模型:风险把控能力弱,前一阶段的错误会隐蔽带入到后一个阶段。适用于需求明确的开发,不能适应需求的变化。
严格串行化,很长时间才能看到结果。
强调早期的阶段性、早期计划和需求调查以及产品测试。
6.2.2 演化模型(快速模型)
需求不明确
针对事先不能完整定义需求的软件开发,在快速开发一个原型的基础上,根据用户在调用原型的过程中提出的反馈意见和建议,对原型进行改进,以获得原型的新版本。
6.2.3 螺旋模型
以快速模型(演化模型)为基础+瀑布模型相结合
特点:引入了风险分析,迭代
每次迭代都包括:制定计划、分析分析、实施工程、客户评估
6.2.4 喷泉模型
典型的面向对象模型
以用户需求为动力,以对象为驱动的模型
特点:迭代、无间隙。
6.2.5 变换模型
基于形式化规格说明语言和程序变换的软件开发模型,需要严格的数据理论和一整套开发环境的支持。
6.2.6 智能模型
基于知识的软件开发模型,采用规约和推理机制,建立知识库。
6.2.7 V模型(单编、集详、系概、验需)
是在快速开发应用模型的基础上演变而来
强调测试贯穿项目始终,是一种测试的开发模型。
软件测试计划在需求分析阶段完成。
集成测试通常在软件概要设计阶段完成。
6.2.8 快速应用开发(RAD)
是一种比传统生命周期法快得多的开发方法,它强调极短的开发周期。
是瀑布模型的变种,基于构件的开发方法,模块化要求高,不适合技术风险很高的情况
过程:业务建模、数据建模、过程建模、应用生成、测试与交付
6.2.9 统一过程模型(UP、RUP,初模,细架,构产,移测)
基于构件,在为软件系统建模时,UP使用的时UML
特点:用例驱动、以架构为中心、迭代和增量。
RUP将项目股那里、业务建模、分析与设计等统一起来,贯穿整个开发过程。
4个阶段,考试选这题判断属于哪一个阶段:
初始阶段:定义最终产品视图和业务模型、确定系统范围
细化阶段:设计及确定系统架构、制定工作计划及资源需求
构造阶段:构造产品并继续演进需求、体系结构、计划直至产品提交
移交阶段:确保软件对最终用户是可用的、进行β测试,制作产品发布版本
增量模型适合软件功能不断调整。
6.2.10 敏捷开发
一种以**人为核心、迭代、循序渐进(适应型)**的开发方法,并非预测性。
实现和测试是软件过程的中心活动。
适用于小团队、小项目。
极限编程法(XP):是一种轻量、高效、低风险、柔性、可预测、科学且充满乐趣的软件开发方法。
由4部分组成:价值观、原则、实践、行为
四大价值观:沟通、简单、反馈、勇气
5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
测试先行,近螺旋式
动态系统开发方法(DSDM):倡导以业务为核心
20%的时间完成80%的有用功能,以适合商业目的为准
SCRUM:明确了定义了可重复的方法过程,是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程。
6.3 软件开发环境与工具
在RAD方法中,所包括的工具主要有数据库编程语言、界面生成器和报告生成器。
6.4 软件过程管理(常考)
软件能力成熟度模型CMM:初始级、可重复级、已定义级、可管理级、优化级
考选择属于哪一级
能力成熟度能力模型CMMI
6.5 软件重用和再工程
6.6 软件产品线
6.6.1 产品线的过程模型
由核心资源和产品集合组成。
核心资源是领域工程的所有结果的集合,是产品线中产品构造的基础。
领域分析:利用现有系用户的设计、架构和需求建立领域模型。
领域设计:用领域模型确定领域/产品线的共性和可变性,为产品线设计架构
领域实现:基于领域架构开发领域可复用资源。
6.6.2 产品线的建立方式
软件产品线发展过程的三个阶段:开发阶段、配置分发阶段和演化阶段。
6.7 统一建模语言
类、子系统、包和用例的子集属于逻辑视图
可实行线程和进程作为互动类的建模是进程视图
基于系统的物理代码的文件和构件进行建模是实现视图
把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构属于部署视图
最基本的需求分析模型属于用例视图
6.7.1 UML
UML中的关系主要有六种:继承、实现、依赖、关联、聚合、组合。
继承:用extends表示
一个子类由多个父类,可以从多个父类中继承特性,这种继承称为多重继承。
实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。用implements表示
依赖:两个事务之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。简单理解就是一个类A使用到了类B,B的变化会影响到A,好比人要坐船,人和船之间就是依赖的关系,但是依赖关系比较弱,有一定的偶然性,在代码层面,就是类B作为参数被类A在某个method方法中使用。
关联:描述一组对象之间连接的结构关系。是一种强依赖关系,一般是长期性的,关联可以是单向和双向的,表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。
聚合:体现的是整体与部分、拥有的关系,如果部分可能同时属于多个整体。即has-a的关系,体现整体和部分的关系,但是二者是可以分开的,有各自的生命周期,在代码层面和关联关系是一样的。
组合:如果部分和整体具有统一的生命周期,是关联的特例,是contains-a的关系,关系比聚合强,体现整体和部分的关系,二者不可分离,整体生命周期结束,则部分生命周期也结束,在代码层方面和关联关系一致。
对于两个类A和B,如果A是B的子类,则B是A的泛化
接口:指为类或构件提供特定服务的一组操作的集合
协作:定义了交互的操作,是一些角色和其他事物一起工作,提供一些合作的动作
活动类:的对象由一个或多个进程或线程,其对象代表的事物的行为和其他事物是同时存在
节点:是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。
6.8 软件形式化方法
形式化方法 (formal method) 是一种在计算机科学和软件工程领域中广泛使用的精确建模和分析技术. 它利用数学和逻辑的原理, 以形式化的方式描述和验证计算系统的行为和性质. 形式化方法通过使用形式化规约语言(formal specification language) 和形式化验证 (formal verification) 来对系统进行建模和分析. 它提供了一种严格、精确的描述方式, 可以清晰地定义系统的语义、规则和约束. 通过形式化方法, 开发人员可以将系统的需求和设计转化为数学模型, 然后利用形式化验证对这些模型进行验证和分析, 从而提高系统的可靠性、安全性和正确性.
6.9 真题知识点
系统设计分为概要设计和详细设计,
概要设计是将系统功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图。
详细设计选择适当的技术手段和处理方法的 过程。
结构化设计的基础:数据流图和数据字典,是一种面向数据的方法。
内聚度从低到高:偶然、逻辑、瞬时、过程、通信、顺序、功能
在业务流程分析中,价值链分析法能够找出或设计出那些能够使客户满意,实现客户价值最大化。基于ERP的分析法能够对供应链上的所有环节进行有效管理,实现对企业的动态控制和各种资源的集成和优化。
基本E-R图是概念结构设计阶段形成的文档,并作为逻辑结构设计阶段的设计依据。
数据流图是数据库设计需求分析阶段的业务流程。
应用程序设计阶段的文档:程序结构图和功能模块。
逆向工程相关的概念由重构、设计恢复、再工程和正向工程
重构:同一抽象级别上转换系统描述形式。
设计恢复:借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息。
再工程:逆向工程所获得信息的基础上,修改或重构已有的系统,产生系统的一个新版本。
正向工程:指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。
6.9.1工作流参考模型
系统结构化分析模型的核心是数据字典,有三个层次模型分别是数据模型(E-R图)、功能模型(DFD图)、行为模型(状态STD)。
DFD主要由以下基本元素组成:
过程(Process):表示数据处理的步骤或功能。通常用圆形或椭圆形表示,内部写上过程名称或编号。
数据流(Data Flow):表示数据在过程之间的移动。用带箭头的直线表示,箭头指向数据的流向,线上标注数据名称。
加工:对数据流的变换处理
数据存储(Data Store):表示系统中存储数据的地方。用开放矩形(或两条平行线)表示,内部写上数据存储名称或编号。
外部实体(External Entity):描述了与系统交互的事务表示系统外部的实体,如用户、外部系统等。用矩形表示,内部写上实体名称。
数据字典:做详细描述
OMT方法使用了建模思想,讨论如何建立一个实际的应用模型
结构化方法是先把系统功能视作一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
面向对象设计是模型驱动和用例驱动的,整个设计过程将需求模型作为输入,设计模型作为输出。
领域需求是从系统的应用领域而不是从系统用户的特定需要中得出,他们可以是新的功能性需求,或者是对已有功能性需求的约束或者是陈述特定的计算必须遵守的要求。
7 项目管理(1-2)
7.1 范围管理
首要任务是:编制好范围管理计划
范围计划编制的成果:范围管理计划
范围定义的输入:项目章程、项目范围管理计划、批准的变更申请、组织过程资产
7.2 进度管理
进度管理的输入:WBS、工作包
类比估算:
功能点估算:
在需求分析阶段基于系统功能的一种规模估计方法。
7.3 预算与成本管理
项目成本控制的基础:成本预算
7.4 配置管理
软件配置管理是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理工具,来保证所有配置项的完整性和可跟踪性。
配置管理是标识和确定系统中配置项的过程,是在系统整个生存期内控制这些配置项的投放和更动。
内容:对配置项的功能特性和物理特性进行标识和文件编制工作,控制这些特性的变动情况,记录并报告这些变动进行的处理和实现的状态。
目的:运用配置标识、配置控制、配置状态和配置审计,建立和维护工作产品的完整性。
配置管理过程的内容:编制软件配置管理计划、配置标识、变更管理和配置控制、配置状态说明、配置审核、版本控制和发行管理。
7.5 质量管理
ISO 9000标准是以质量管理中的8项原则为基础,分别是:顾客的关注焦点、领导作用、全员参与、过程方法、管理的系统方法、持续改进、以事实为基础进行决策、与供方互利的关系。
使用质量模型的5个特性:有效性、效率、满意度、抗风险和周境覆盖
产品质量模型:
7.6 人力资源管理
项目人力资源管理的主要过程:编制人力资源计划、组建项目团队、项目团队建设、管理项目团队和沟通管理
项目团队的发展过程:形成期、震荡期、正规期、表现期
资源负荷:指在特定的时间内,现有的进度计划所需要的各种资源的数量。
资源平衡:延迟项目任务来解决资源冲突问题的方法,是一种网络分析法,以资源管理因素为主进行项目进度决策。
7.7 风险管理
项目风险管理的过程:风险管理计划编制、风险识别、风险定性分析、风险定量分析、风险应对计划编制和风险监控
针对消极的风险:避免、转移、减轻
针对正向的风险:开拓、分享、强大
定性分析:是对已识别风险的概率和影响进行主观评估,确定风险的优先级排序。其目的在于为后续的定量分析或风险应对计划的制定提供基础。要依赖于专家的经验和判断,通过文字、图表或等级评分等方式来呈现分析结果。这种方法灵活处理复杂、不确定的风险因素。
定量分析:是对项目风险的概率、影响和其他因素进行数值化分析,以评估风险对项目目标的潜在影响。其目的在于更准确地了解风险的严重性和紧迫性,为制定有效的风险应对计划提供数据支持。运用数学模型和统计方法,对风险进行精确的计算和量化。常用的方法包括决策树、净现值统计、蒙特卡洛模拟等
7.8 真题知识点
用户使用可行性包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以细分为管理可行性和运行可行性。
甘特图是做计划检查进度的一种工具。
PERT图是进行项目管理工作中进度安排的常用图形工具和描述方法之一,它能够反应各个任务之间的依赖关系。通过关键路径分析法可以计算出完整的最短 工期。
系统分析阶段结束后得到的工作产品:系统方案建议书
系统测试阶段完成后的工作产品:操作手册
8 信息安全(4-9)
8.1 信息系统安全体系
信息系统得到安全分为:实体安全、运行安全、信息安全和人员安全。
运行安全:包括风险管理、审计 跟踪、备份与恢复、应急等。
信息安全可分为:操作系统安全、数据库安全、网络安全、病毒防护、访问控制、数据加密和认证。
系统安全防范体系:物理层安全、操作系统安全、网络安全、应用安全、安全管理。
网络安全等级保护5级:用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级。
8.2 数据安全与加密
传统加密算法主要包括:代换加密和置换加密
对称加密技术:IDEA和DES,密钥K的传输安全是关键
非堆成加密算法:RSA,密钥长度512位,主要用在数字签名中
数字签名的主要功能:保证信息传输的完整性、发送者的身份证、防止交易中的抵赖发生。
接收者能够核实发送者对数据的签名,发送者事后不能抵赖对数据的签名,接收者不能伪造对数据的签名。
数字签名算法:Hash、MD5(以512位分组来处理输出信息,输出128位散列值)、SHA
数字证书内容:CA的信息、用户信息、用户公钥、CA签发时间和有效期等
PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等服务,以及所必须的密钥和证书管理体系。
解决了分发密钥时依赖秘密信道的问题。
8.3 通信与网络安全技术
防火墙的功能:访问控制功能、内容控制功能、全面的日志功能、集中管理功能、自身的安全和可用性、流量控制、网络地址转换、虚拟专用网络等。
VPN技术:隧道技术(点对点连接技术,让数据通过这条隧道传输、加解密技术、密钥管理技术、身份认证技术、访问控制技术
PPP会话过程:创建PPP链路、用户验证、PPP回叫控制和调用网络层协议
https 用于安全的http数据传输
SSL可用于邮件传输
SSO系统的特征与功能:
单点登录的实施可由Kerberos机制和外壳脚本机制实现,也可以采用通用的安全服务API和分布式计算环境。
常规特征,多种系统、设备和接口;终端用户管理灵活性;应用管理灵活性;移动用户管理;加密和认证;访问控制;可靠性和性能。
8.4 系统访问控制技术
访问控制的三要素:主体、客体、控制策略
访问控制策略包括:登录访问控制、操作权限控制、目录安全控制、属性安全控制和服务器安全控制等方面。
访问控制是基于安全策略和安全模型的。
BLP模型应用于军事系统中,分为公开、受限、秘密、机密、高密5个级别,允许用户读取安全级别比它低的资源,写入对象的安全级别只能高于用户级别。下写上读
Lattice模型通过划分安全边界对BLP模型进行扩充,每个资源和用户都服从于一个安全类别。
Bida模型对数据提供了分级别的完整性保证,与BPL模型相反,分别是下读上写,对数据的完整性提供保障。
常见的访问控制机制:自主访问控制、强制访问控制、基于角色的访问控制、基于任务的访问控制和基于对象的访问控制。
TBAC模型由工作流、授权结构体、授权步和许可集组成。
8.5 容灾与业务持续
灾难恢复划分为6个等级:基本支持、备用场地支持、电子传输和部分设备支持、电子传输及完整设备支持、实时数据传输及完整设备支持、数据零丢失和远程集群支持。
支持灾难恢复各个等级所需的资源包括7个要素,分别是数据备份系统、备用数据处理系统、备用网络系统、备用基础设施、技术支持能力、运行维护管理能力和灾难恢复预案。
灾难恢复策略的实现包括:灾难备份系统技术方案的实现、灾难备份中心的选择和建设、技术支持能力的实现、运行维护管理能力的实现和灾难恢复预案的实现。
业务持续性规划BCP:灾难恢复规划、业务恢复规划、危机管理规划、持续可用性。
8.6 安全管理措施
安全管理体系是企业在整体或特定范围内建立的系统安全方针和目标,以及完善这些目标所采用的方法和手段构成的体系,可表示为策略、原则、目标、方法、程序和资源等总体集合。
安全审计是落实系统安全 策略的重要机制和手段。
安全审计的4个基本要素:控制目标、安全漏洞、控制措施和控制测试。
安全审计6个部分:安全审计自动响应、安全审计数据生成、安全审计分析、安全审计浏览、安全 审计事件、安全审计事件存储。
8.7 系统可靠性(常考)
系统可靠性包括成熟性、容错性、易恢复性和可靠性。
成熟性:指系统避免因错误的发生导致失效的能力
容错性:指系统发生故障或违法指定接口的情况下,系统维持规定的性能级别的能力。
易恢复性:指在系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力
可靠性:依从性是指系统依附于于可靠性相关的标准、约定或规定的能力。
平均无故障时间:
串联系统:
并联系统:
8.8 冗余技术
冗余技术有:结构冗余、信息冗余、时间冗余、冗余附加
8.9 软件容错技术
软件容错技术有N版本程序设计、恢复块方法、防卫式程序设计。
N版本程序设计是一种静态的故障屏蔽技术,采用前向恢复的策略。表决。
防卫式程序设计实现策略:错误检测、破坏估计、错误恢复。
防卫式程序设计的基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦发生错误,程序就能撤销错误状态,恢复到一个已知的正确状态中去。
8.10 真题知识
机房安全属于物理安全,入侵检测属于网络安全,漏洞补丁管理属于系统安全,数据库安全则是应用安全。
DES是经典的数据加密算法,是一种共享密钥,密钥长度56位,3重DES加密是使用2个DES密钥,进行多次操作来完成,密钥长度是112位。
RSA是公钥加密算法
对称加密算法:DES、AES
SHA-1是一种针对不同输入生成160固定长度的摘要算法。
SHA-256是一种报文摘要算法,防止被篡改
报文认证算法:SHA-1、MD5、HMAC
数字签名摘要中的算法MD5
密钥交换算法:Diffie-Hellman
RC5一种对明文进行加密的算法。
社区网、城域网和校园网的安全性相对较弱。
人工方式隔离的特征:内网于外网永不连接,内网和外网在同一时间最多只有一个同隔离设备建立非TCP/IP协议的数据连接。最安全
9 系统规划与分析(2分)
9.1 系统规划概述(调查 目标 功能 方案 可行 建设)
系统规划的主要步骤:初步调查、分析和确定系统目标、分析子系统的组成和基本功能、拟定系统的实施方案、进行系统的可行性研究、制定系统建设方案。
9.2 项目的提出与选择
信息系统建设的目标:促进企业管理、提高工作效率、提高企业竞争力
系统项目的建设模式:进行基础研究(理论)、进行应用研发(软件产品)、提供技术服务和产品的使用者
以基础研究为目标的项目是高度技术研究导向的,以应用产品开发为目标的项目重点关注的是技术在具体领域中的应用和推广,以技术服务为目标的项目则是高度客户业务导向或客户满意导向的,产品的最终用户则主要关系系统的使用、影响和代价等应用性问题。
企业总是通过产品开发、提供技术解决方案、整合外部资源、提供咨询和技术服务、销售或运营、进入买房价值链或开创新的领域6个层面来获得价值和利润。
选择有核心价值的项目、评估所选择的项目、项目优先级排序、评估项目的多种实施方式、平衡地选择合适的方案
9.3 系统分析概述
系统分析阶段的基本任务:系统分析师和用户在充分了解用户需求的基础上,把双方对新系统的理解表达为系统需求规格说明书。
系统分析阶段的难点:系统分析师与用于对系统的理解不同,系统分析师与用户沟通困难,环境的不断变化。
9.4 问题分析
系统问题分析是软件工程中的一个重要阶段,通过对问题领域进行综合分析,以识别和定义系统问题,从而为后续的软件开发和系统设计提供指导和支持。
构建上下文图步骤:确定系统的边界、识别外部实体、识别过程、绘制上下文图、验证上下文图。
9.5 业务流程分析
业务流程分析的目的:了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
业务流程分析的主要任务:调查系统中各个环节的业务活动,掌握业务的内容和作用,以及信息的输入、输出、数据存储和信息处理方法及过程等,为建立系统数据模型和逻辑模型打下基础。
业务流程分析的步骤:通过调查掌握基本情况,描述现有业务流程,确定现有业务流程,对现有业务流程的分析,发现问题并提出解决方案,提出优化后的业务流程。
业务流程分析的方法:价值链分析法、客户关系分析法、供应链分析法、基于ERP的分析法、业务流程重组
业务流程分析传统工具:业务流程图TFD、业务活动图BAM、统一建模语言UML
9.5.1 业务流程图TFD
TFD是分析和描述现有系统的传统工具,是业务流程调查结果的图形化表示。
9.5.2 业务活动图BAM
BAM是一个有效的业务流程描述工具,其主要功能是提供业务流程情况 的全面模型。
应用:业务流程调查时,进行识别
业务流程分析时,描述新的业务流程
业务流程实施时,优化
9.5.3 业务流程建模BPM
企业业务流程三要素:实体、对象、活动
描述业务流程模型最常见的方法是形式化描述和图示化描述。
常见方法:标杆瞄准、组织动态本质建模法、Petri网、业务流程建模语言和基于服务的BPM
标杆瞄准:是一个连续、系统化地对外部领先企业进行评价的过程,它通过分析和评价,确定出代表最佳实践的经营过程和工作过程,以便合理地确认本企业的业务流程。复制
DEMO:核心是业务事务,6种模型:交互模型、业务流程模型、事务模型、行为模型、事实模型和互约束模型。
Petri网:一种从流程的角度出发描述和分析复杂系统的模型工具,适用于多种系统的图形化、数据化建模,为描述和研究具有并行、异步、分布式和随机性等特征的信息提供了强有力的手段。
主流的业务流程建模语言标准:业务流程执行语言BPEL、业务流程建模语言BPML、业务流程建模标注BPMN、XML流程定义语言XPDL、UML
9.6 数据与数据流程分析
数据与数据流程分析是建立数据库系统和设计功能模块处理过程的基础,是一种分析系统种数据和数据流动的方法。
数据流图是一种用于描述系统功能的图形化工具。4种符号:数据流、进程、数据 存储、外部实体。
数据的动态分析:固定值属性(物料主数据、客户基础资料、会计科目)、固定值个体变动属性(订单数量,购买商品的客户名称)和随机变动属性(销售量)
9.7 系统可行性分析
经济可行性、技术可行性、法律可行性、用户使用可行性
建模的目的是获得一个对新系统的框架认识和概念性认识,技术:系统上下文关系范围图、实体-联系模型、用例模型、领域模型、输入/处理/输出图
9.8 成本效益分析
货币的时间价值:F=P(1+i×n)
累计利息:F=P(1+i)^n
折现系数:
净现值分析:
静态回收期:
10 软件需求工程(4-8分)
需求开发包括:需求获取、需求分析、编写需求规格说明书(定义)、需求验证
需求管理包括:需求基线、处理需求变更、需求跟踪等
系统分析:软件需求分析、硬件需求分析、网络需求分析
10.1 软件需求概述
软件需求:指用户对新系统在功能、性能、行为、设计约束等方面的期望。
指用户解决问题或达到目标所需的条件或能力,合同要求
需求:业务需求(视图、范围)、用户需求(目标、任务)、系统需求(功能、非功能、设计约束)
质量功能部署:常规需求(明示)、期望需求(隐含)、意外需求(多余)
在统一过程UP种,需求:功能性、可用性、可靠性、性能、可支持,实现、接口、操作、包装、授权
需求工程:需求获取、需求分析、形成需求规格、需求确认与验证、需求管理
10.2 需求获取(选择题)
用户访谈:灵活、信息量大、应该范围广
问卷调查:缺乏灵活、低廉
采样
情节串联板:帮助用户消除盲区,形成共识,图文演示,交互性好
联合需求计划JRP:成本高,严格按照议程,通过高度组织的群体会议来分析企业内的问题并获取需求的过程。
用户故事的6个基本属性:独立性、可协商性、对用户有价值、可预测性、短小精悍、可测试性
10.3 需求分析
需求分析的工作:将用户需求转化为用于指导后续软件设计和开发的软件需求描述规约。
需求分析的目标:把用户对待开发软件提出的要求或需要进行分析与整理,确认后形成描述完整、清晰与规模的文档,确定软件需要实现那些功能,完成那些工作。
需求分析的方法:结构化分析法SA、面向对象分析法OOA、面向问题领域的分析PDOA
PDOA:的核心元素:问题框架
更多强调描述,较少强调建模
关注问题域、关注解系统的待求行为
问题域类型、问题域相关特性的描述
特点:重新将重点定位在问题域和需求上,通过对问题域的分类,向系统分析师提供具体问题的相关指南,并且它将规格说明作为另外的任务处理,它的成果只是一份问题域的全面描述和一份需求列表而已。
问题框架的目标:大量地获取更多有关问题域的信息
10.4 结构化分析方法(单独罗例,重点)
DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统完成的功能。
数据字典中一般有6类条目:数据元素、数据结构、数据流、数据存储、加工逻辑和外部实体。
数据字典作用:按各种要求列表;相互参照,便于系统修改;由描述内容检索名称;一致性校验和完整性检验。
10.5 面向对象分析方法(单独罗例,重点)
用例的元素:参与者、用例、通信关联
逻辑视图和开发视图描述系统的静态结构
进程视图和物理视图描述系统的动态结构
10.6 需求定义
需求定义的 过程是形成需求规格说明书的过程
需求规格说明书SRS应包括:范围、引用文件、需求、合规性规定、需求可跟踪性、尚未解决问题、注解附录
10.7 需求验证
10.8 需求管理
需求变更管理的过程:问题分析和变更描述、变更分析和成本计算、变更实现
需求基线
需求变更策略:
所有需求变更必须遵循变更控制过程
对于未获批的变更,不应该做设计和实现工作
变更应该由项目变更控制委员会决定实现那些变更
项目风险承担者应该能够了解变更的内容
绝不能从项目配置库中删除或者修改变更请求的原始文档
每一个集成的需求变更必须能跟踪到一个经核准的变更请求,以保持水平可追踪性
变更申请——变更评估——变更决策(CCB)——变更实施——变更验证——沟通存档
11 软件架构设计(2-4分)
传统的软件开发过程:软件计划、需求分析、软件设计、软件实现和软件测试
软件架构设计介于需求分析和软件设计之间,桥梁
架构设计就是需求分配,将满足需求的职责分配到组件上
11.1 软件架构概述
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
软件架构研究主要内容涉及:软件架构描述、软件架构风格、软件架构评估、软件架构的形式化方法等。
架构设计的4个阶段:
无架构设计阶段:以汇编语言进行小规模应用程序开发为特征
萌芽阶段:以控制流图和数据流图构成软件结构特征
初级阶段:UML为典型代表,
高级阶段:基于构件的软件开发阶段,该阶段以过程为中心,强调软件开发采用构件化技术和架构技术,要求开发出的软件具备很强的自适应性、互操作性、可扩展性和可复用性。
11.2 软件架构建模
软件架构的模型分为5种:结构模型(核心:架构描述语言)、框架模型(以特殊的问题为目标建立只针对和适应该问题的架构)、动态模型(激励型)、过程模型(构建系统的步骤和过程)、功能模型
见10.5节
11.3 软件架构风格(新增大量知识)
软件体系结构设计的一个核心目标是:重复的体系结构模式,即达到体系结构级的软件重用,主要任务是研究和实践软件体系结构风格和类型问题。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型
体系风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将模块和子系统有效组织成一个完整的系统。
11.3.1 数据流体系结构风格
数据流体系结构风格主要包括批处理风格和管道-过滤器风格。
批处理风格:每一个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据必须是完整的,以整体的方式传递。基本的构件是独立的应用程序,连接件是某种类型的媒介。
连接件定义了相应的数据流图,表达拓扑结构。
管道-过滤器风格:
11.3.2 调用/返回体系结构风格
主程序/子程序风格、面向对象体系结构风格、层次型体系结构风格、客户端/服务器体系结构风格
客户端/服务器体系结构风格:
C/S架构
缺点:开发成本高、客户端程序设计复杂、用户解密风格不一、软件移植困难、软件维护和升级困难、新技术不能轻易应用、可扩展性差、系统安全性难以保证
三层C/S架构
缺点:通信效率不高,部分依赖于网络。
三层B/S架构:浏览器、Web服务器、数据库服务器,0客户端
数据提交一般以页面为单位,数据动态交互性不强。
11.3.3 以数据为中心的体系结构风格
11.3.4 虚拟机体系结构风格
一个解释器通常包括完成解释器的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被执行进度的数据结构。典型的如:专家系统
11.3.5 面向服务的架构风格(见3.2,可单独考论文)
SOA的设计原则:明确定义的接口、自包含和模块化、粗粒度、松耦合、互操作性兼容和策略声明。
在采用Webservice作为SOA的实现技术时,应用系统大致分为6层:底层传输、服务通信协议层、服务描述层、服务层、业务流程层和服务注册层。
企业服务总线ESB,一种用于实现企业内部不同应用系统之间高效通信和集成的技术架构。
为进行连接服务提供的标准化的通信基础结构,基于开放的标准,为应用提供了一个可靠的、可度量的和高度安全的环境。
ESB主要功能:服务通信、消息转换、服务路由、服务编排、服务监控与管理
11.4 软件架构标准
11.5 软件架构实现
基于架构的软件开发模型:分为体系结构需求、设计、文档化、复审、实现和演化。
体系结构需求过程:需求库、需求获取、标识构件(生成类图、对类进行分组、把类打包成构件)、需求评审
11.6 软件架构质量属性(选择题或案例题,判断属于哪种质量属性)
影响软件质量的主要因素6个维度:功能性、可靠性、易用性、效率、维护性、可移植性
面向架构评估的质量属性:性能、可靠性、可用性、安全性、可修改性、功能性、可变性、互操作性
质量属性场景描述是一种面向特定质量属性的需求。
刺激源:指某个生成该刺激的实体
刺激:该刺激时当刺激到达系统时需要考虑的条件
环境:该刺激在某些条件下发生
制品:某个制品被激励
响应:该响应是在激励达到后所采取的行动
响应度量:当响应发生时,应当能以某种方式对其进行度量,以对需求进行测试
质量属性场景主要关注:可用性、可修改性、性能、可测试性、易用性、安全性
1.可用性质量属性场景
可用性质量属性场景所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要进行哪种通知。
2.可修改性质量属性场景
可修改性质量属性场景主要关注系统在改变功能、质量属性时需要付出的成本和难度,可修改性质量属性场景可能发生在系统设计、编译、构建、运行等多种情况和环境下。
3.性能质量属性场景
性能质量属性主要关注系统的响应速度,可以通过效率、响应时间、吞吐量、负载来客观评价性能的好坏。
4.可测试性质量属性场景
可测试性质量属性场景主要关注系统测试过程中的效率,发现系统缺陷或故障的难易程度等。
5.易用性质量属性场景
易用性质量属性场景主要关注用户使用系统时的容易程度,包括系统的学习曲线、完成操作的效率、对系统使用过程的满意程度等。
6.安全性质量属性场景
安全性质量属性场景主要关注系统在安全性方面的要素,衡量系统在向合法用户提供服务的同时,阻止非授权用户使用的能力。
为了精确描述软件系统的质量属性,通常采用质量属性场景(Quality Attibute Scenario)作为描述质量属性的手段。质量属性场景是一个具体的质量属性需求,是利益相关者与系统的交互的简短陈述,它由刺激源、刺激、环境、制品、(响应和 响应度量)六部分组成。其中,想要学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意属于( 易用性)质量属性场景的刺激。
12 系统设计(2-4分)
12.1 系统设计概述
网络设计、代码设计、输入输出设计、处理流程设计、数据存储设计、用户界面设计(置于用户控制之下、减轻用户记忆负担、保持界面一致性)、安全性和可靠性设计
12.2 处理流程设计
流程的6个基本要素:输入资源、活动、活动的相互作用、输出结果、用户、价值
工作流:是一类能够完全或者部分自动化执行的业务过程,根据一系列过程规则、文档、信息或任务,在不同的执行者之间传递和执行。
工作流管理系统WFMS:
接口一:当工作定义发生改变时,其处理流程将发生变化,执行服务应该进行相应调整。
接口二:可以实现多个不同的客户端应用调用同一个工作流引擎
接口三:调用不同的应用系统
接口四:不同系统之间的互操作
接口五:用于系统管理应用访问工作流执行服务
流程设计工具:图形工具、表格工具、语言工具
图形工具:程序流程图、IPO图、N-S图、问题分析图、判定树
顺序型、选择型、多分支选择型、当型循环、直到型循环
表格工具:判定表
语言工具:过程设计语言
12.3 结构化设计SD
结构化设计是一种面向数据流的方法,以SRS和SA阶段所产生的数据流图和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。
基本思想:将软件设计成由相对独立且具有单一功能的模块组成的结构。
模块是实现功能的基本单位,它一般具有功能、逻辑和状态三个基本属性,功能模块做什么,逻辑描述模块内部怎么做,状态模块使用时的环境和条件。
模块划分时遵循的原则:模块的大小要适中,模块的扇入扇出要合理,深度和宽度要适当。
扇出大标识模块的复杂度高(可增加中间层次的控制模块),扇入大标识模块的复用性高
12.4 面向对象设计(选择题属于哪种原则)
类可以分为实体类、控制类、边界类
开闭原则:软件实体应对扩展开放,而对修改关闭。
里氏替换原则:一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象。
依赖倒置原则:抽象不应该 依赖于细节,细节应该当依赖于抽象。
组合/聚会复用原则:多用,少用继承
接口隔离原则
最少知识原则:一个软件实体应尽可能少地与其他实体发生相互作用
12.5 设计模式(背,选择题属于哪种模式)
软件模式包括:设计模式、架构模式、分析模式、过程模式
目的:提高代码的可重用性
设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素
关键元素:模式名称、问题、解决方案、效果
根据目的和用途不同分为三类;创建型模式、结构型模式、行为型模式
创建型模式
结构型模式
行为型模式
12.6 输入/输出原型设计
设计输入系统时应遵循的7种原则:
确定输入数据的类型和格式,确定输入数据的来源,设计良好的输入界面,设计系统输入验证机制,设计输入处理流程,设计输入存储方案,设计输入安全机制
设计输出系统时应遵循的7种原则:
简洁性、一致性、可用性、可访问性、可维护性、安全性、可扩展性
12.7 人机交互设计
13 软件实现与测试(2分)
13.1 软件实现概述
结构化程序设计、面向对象程序设计、可视化程序设计
13.2 软件测试概述
软件测试是使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差异。
13.3 软件测试方法(选择测试方法)
黑盒测试(功能测试)、白盒测试(结构、代码)、灰盒测试(设计输入输出)
静态测试:通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,包括代码走查、静态结构分析、代码质量度量
动态测试:通过运行背测试程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能,包括构造测试用例、执行程序、分析程序的输出结果
13.4 软件测试类型
按测试对象划分:
功能测试:数据驱动测试,从软件产品的界面、架构出发,根据需求编写测试用例,输入期望结果和实际结果之间的比对。
性能测试:指测试再不同的情况下软件响应的时间,检查系统是否满足需求规格说明书中规定的性能。包括:负载测试、压力测试、并发测试、容量测试(最大并发用户数、数据库记录数等)、可靠性测试
安全测试:验证应用程序的安全等级和识别潜在的安全性缺陷,非法入侵
兼容性测试:平台、版本、前后、数据、相关软件等
界面测试:
易用性测试:交互的适应型、功能性、有效性的集中体现,用叫用户体验测试
稳定性测试:
按阶段划分:单元测试、集成测试、系统测试、验收测试(交付测试)
按被测试软件划分:App测试、Web测试、物联网测试、车联网测试、大数据测试、AI测试、小程序测试
其他分类测试:
回归测试:指修改了旧代码后重新进行测试,以确认修改没有引入新的 错误或导致其他代码产生式错误。包括:再 测试全部用例、基于风险选择测试、基于操作剖面选择测试、再测试修改部分
冒烟测试:硬件通电测试,确定代码中的更改会按预期玉兴,而且不会破环整个版本的稳定性。执行者是:版本编译人员,
13.5 软件测试的组织
软件测试过程主要包括:项目需求分析阶段、制定测试计划阶段、设计测试文档阶段、搭建测试环境阶段、执行测试阶段、缺陷管理
配置管理的目标:控制和审计测试活动的变更、在测试项目的里程碑建立相应的基线、记录和跟踪测试活动变更请求、相应的软件测试活动或产品被标识、控制,并且是可用的。
配置管理的承诺:每个测试项目的配置管理 责任明确,配置管理贯穿项目的整个测试活动,配置管理应用于所有的从测试活动配置项,包括支持董局,建立配置库和基线库,定期评审基线库内容和 测试配置项活动。
测试的过程管理基本内容:测试项目启动阶段、测试计划阶段、测试设计阶段、测试执行阶段、测试结果的审查和分析阶段
13.6 软件部署
部署的步骤:环境准备、软件安装、数据库和文件配置、测试和验证。
14 系统运行与维护(2分)
系统运行和维护阶段占整个系统生命周期的比重为60%-80%,主要涉及系统的运行及故障处理、软件维护、系统实施及评价、遗留系统的处理、新旧系统的转换、系统的扩展等方面的内容。
平均故障修复时间MTTR、平均故障时间MTBF、平均无故障时间MTTF、平均应答时间MTTA
四类:更正性维护、适应性维护、完善性维护、预防性维护
软件维护:
软件评价:
15 补充知识点
15.1 图音视频
采样频率为最高频率的2倍以上
位图:静态复制像素点;矢量图(动态绘制元图)
伪彩色:色彩查找表
色度信号/色差信号:可降低采样频率,减少数据量
常见的图像格式:BMP、GIF、TIF、JPEG、PNG
常见的声音格式:WAVE、MP3、MIDI
常见的视频格式:GIF、AVI、MOV、RM、MPEG、MP4、WMV
感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体
15.2 计算机体系结构
阶多范大、尾多精高
Flynn分类法根据计算机在执行过程中指令和数据流的不同组合分为4类,当前主流的多核计算机属于MIMD计算机
CISC、RISC
流水线执行时间、吞吐率、加速比
CPU使用的是冯诺依曼结构、DSP使用的是哈佛结构
控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式,以及当前执行任务的特性,对程序员是透明的。
对程序员透明的是高速缓存。
15.3 主存编码
15.4 磁盘时间
15.5 知识产权与标准
16 Web应用系统分析与设计
16.2 Web应用架构设计
16.2.1 设计原则
分离关注点是核心设计思想
封装,隔离实现松耦合、模块化
依赖关系反转,是生成松耦合应用程序的关键一环
显式依赖关系,类和方法就会告知客户端其需要哪些内容才能工作。
单一责任,微服务实现
避免自我重复
持久性无知,代码不受所选择的持久性技术的影响,保持不变。
有界上下文
16.2.2 B/S三层架构
表现层:完成用户和后台的交互及最终查询结果的输出功能。
逻辑层:利用服务器完成客户端的应用逻辑功能。
数据层:接受客户端请求后独立进行各种运算。
16.2.3 MVC、MVP
Model、View、Controller
Model、View、Presenter
Model数据的存储
Controller和Presenter负责逻辑处理
16.2.4 微服务架构优缺点
优点(异构性、隔离性、扩展性、部署简单):高度可扩展性、独立开发和部署、技术栈灵活性、容错性和可维护性、独立部署与快速交付、技术多样性、易于维护和演化
缺点:系统复杂性、系统间通信开销、运维复杂性、数据一致性和事务管理、开发团队的技术要求、测试和调试复杂性
为克服其缺点提出的技术:服务注册与发现、服务监控、服务容错(熔断、隔离、限流、降级、超时)
16.3 Web应用开发框架
16.3.1 SSH轻量级架构,J2EE提供集成框架
Spring是为了解决企业应用开发的复杂性而创建的开源框架,
优势:分层架构,Spring框架易于使用并整合各类框架,能统一配置和部署、灵活并且可扩展、测试简单、开发成本低。
Spring框架依赖注入机制,可以在运行期间为组件配置所需资源,而无需再编写组件代码时就加以制定。面向接口编程,通过修改配置文件切换底层实现类。
Struts是是基于MVC模式的企业级Web应用架构的开源框架
使用技术:Java Servlet、JSP和XML等技术
整合了:Java Servlet、JSP、自定义标签和信息资源(Message Resources)
Struts使用Plugin实现Web应用设计架构中的接口层,ActionServlet、Action和AactionForm等类实现抽象层,后台啊实现各种实现层的功能。
MVC三部分通过struts-config.xml配置文件联系在一起。
优势:加快开发速度、增加系统灵活性并降低系统的耦合性
使用标记能够把逻辑处理代码从页面中分离出来,简化页面开发,提高代码的可重用性。
Hibernate是开源对象关系映射框架,通过JDBC技术,支持所有的SQL数据库管理系统。
JSF用于构建Web应用程序的标准Java框架,通过提供标准可扩展的用户界面组件、易配置的页面导航、方便的数据验证和转换、自动化Bean管理、事件处理、方便的错误处理以及内置对国际化的支持来加速Web应用开发。
MVC三部分分别对应:
Model是进行业务操作的部门,实现业务逻辑(JavaBean、EJB)
View是JSP页面,通过一个字符串松耦合Controller,通过发送事件来间接调用Controller的逻辑,Controller主要包括FacesServlet、配置文件和action处理器。FacesServlet负责从客户端接收请求,执行一组合理步骤来准备和派发响应。
16.3.2 Web层开发框架
WebPage 3.0是基于组件的、可视化的、轻量级的Web开发框架,有极好的稳定性和可扩展性。
AJAX框架作为重要的Web 2.0技术被广泛采用。
Prototype:简化JavaScript代码的编写工作,特点:功能实用,规模较小,非常适合在中小型的Web应用中使用,兼容各个浏览器。
Mootools:更快、更简单的编写JavaScript代码,特点:视觉效果和变换特性。
jQuery:特点:语法设计简单,使用方便,方便处理HTML、Dom、Events,实现动画效果。
DOJO:简化动态Web开发,能保持更好的扩展性、提高执行性能、减轻用户开发的工作量。
Ext JS: 创建前端用户界面、与后台技术无关的前端开源AJAX框架,UI开发更轻松
AFLAX:将JavaScript和Flash进行结合,创建出AJAX类型应用。
16.4 Web应用系统开发
16.4.1 Web通信协议
HTTP:超文本传输协议,完成Web应用中必要的文件传输和基于Web的动态交互应用。
RTP:网络传输协议,视频会议,建立在用户数据报协议上的。
RTSP:实时流传输协议,流媒体,位于RTP和RTCP(RTP控制协议)之上。
SMTP和POP3:邮件传输协议,
16.4.2 Web数据存储(负载均衡器、消息队列重点)
1、缓存系统:存储在本地
4种缓存模式:应用程序服务器缓存、全局缓存(所节点访问单个缓存空间)、分布式缓存(通过哈希请求节点数据)、内容交付网络(交付静态数据)
2、云存储:特点:灵活性、经济高效、持久、安全、高可用、高可扩展
3、CDN:内容交付网络,用于更快、更好的向用户交付数据内容,用户访问到路由,再到存储内容的缓存版本的CDN服务器上。DNS服务器
4、负载均衡器:根据可用性或预定义策略将流量负载分布在不同的服务器之间来平衡流量负载。
软件负责均衡器分为四层负责均衡器(LVS、Haproxy)和七层负责均衡器(Haproxy、Nginx)。
硬件负责均衡:NetScaler、F5、Radware、Array
5、消息队列:缓冲区,异步存储消息,并促进Web应用程序中不同服务之间的通信。
基于消息队列的点对点模式:消息生产者生产消息并发到消息队列中,然后消息消费者从Queue中取出并且消费消息。消息被消费后,Queue不再有存储,所有消息消费者不可能消费到已经被消费的消息。Queue支持多个消费者,但只有一个消费者可以消费。
16.4.3 Web客户端技术
通过浏览器来展示页面内容并实现与用户的交互,HTML是信息展现的有效载体。
1、HTML、HTML5缺点:变现过于简单、链路容易中断、检索时所花时间较长、扩展性差、缺乏语义性。
2、XML:应用广泛。可扩展标记语言,以开放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描述,从而体现数据之间的关系。
3、DHTML:动态HTML,当用户点击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发送异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应的更新用户界面,而不是刷新整个页面。开发时要慎重考虑网络延迟,或者通过可视化组件来告诉用户系统正在加载数据。
4、CSS:用来为结构化围挡添加样式。HTML是框架,CSS是装饰
5、Flash、Flex:动画。运行flash完全可以做到Flex的效果
6、DOM:应用广泛,本身是一种独立的程序语言,以一致的API存储文件的结构表述。Dom主要用来解析XML文档。
7、JavaScript、AJAX:
16.4.4 Web服务器端技术
1、CGI:Web服务器运行服务器端外部程序,用于动态生成Web内容。当用户发出请求时,Web服务器将请求转到目标程序,执行程序后接收其输出,并将输出作为HTTP响应发回客户端。CGI程序是独立的可执行程序,每次收到CGI请求时由Web服务器调用,服务器与CGI进程进行进程间通信。缺点:开发运行效率不高,开发难度大,需要单独进程,开销较大。
2、PHP:HTML内嵌脚本语言,在服务器端执行。功能强大,能实现CGI的功能。优点:学习快速、与Apache及其他扩展库紧密结合、良好的安全性。
3、ASP、ASP.NET:ASP一个服务器的脚本环境,在这里可以生成和运行动态的、交互的、高性能的Web服务器应用程序。
ASP特性表现:(1)利用APS实现突破静态页面的一些功能限制,实现动态页面技术。
(2)ASP文件包含在HTML代码所组成的文件中,易于修改和测试。
(3)服务器端的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上。
(4)ASP提供了一些内置对象,是服务器端脚本功能更强。
(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,如访问数据库、文件系统。
(6)传回浏览器端的是ASP执行后的结果,可以防止ASP程序被窃取。
使用ASP.NET一般以IIS作为服务器以提供完整的Web服务器功能,通用语言的基本库、消息机制和数据接口的处理都能无缝整合到ASP.NET的Web应用中。基于COM+开发的程序完整地向ASP.NET移植。
4、Servlet:Java EE的一部分,动态生成Web页面,运行于支持Java的Seevlet容器中。Servlet的.java文件先编译成.class文件,然后部署在Servlet容器。
在MVC中,Servlet充当控制器角色。Servlet通过童虎发送的HTTP请求,接收用户的输入事件,并把这些信号翻译成消息传递给封装了请求业务逻辑的JavaBean或EJB进行交互,最后激活JSP。
优势:Java语言的优点、执行效率高、构造的控制器功能强。
5、JSP:将Java代码嵌入HTML页面中实现的服务器端Web开发技术,在服务器端进行解析,动态生成页面传递给客户端,使Web应用开发人员使用HTML和XML模板以及Java代码在服务器上建立动态内容。
优点:使内容的生成和现实分离;
生成可重用的组件;
用标签简化页面开发,通过开发定制标签库实现了JSP技术的扩展;
具有Java的优点,包括健壮的存储管理和安全性,可靠且移植方便等;
企业产品多样性,在Java EE平台内容中不仅包括管理负复杂企业的应用程序,而且包括事务管理技术和Pooling资源管理技术。
6、Perl、Ruby、Python脚本语言
16.4.5 Web系统部署(负责均衡)
Web应用部署一般包括打包、发布和评估
1、部署粒度,每个打包发布周期都为最终用户提供了一个具有可用功能和特性的Web应用增量。每个评估周期都为Web应用团队提供重要指导,并为下一个增量做出内容、功能、特征和方法的修改。
2、部署原则:管理客户对Web应用增量的期望、安全与测试交付包、交付前建立支持制度、先改正有缺陷的Web应用再交付。
负责均衡法:通过负责分担技术,将请求均匀的分配到对称结构的某一个服务器上,接收到请求的服务器负责处理请求并返回处理结果。
在实际应用中,通常会将传输层负责均衡法与应用层负责均衡法向结合,以提高系统的整体性能、可用性和可靠性。
3、部署环境:
需要解决的问题:负载均衡、数据库连接池、高速缓存机制
应用服务器的选择具体分析:
数据库操作支持:JDBC数据源通过缓冲数据库连接,提供高效、可靠的数据库操作。
安全性控制:J2EE提供声明性安全控制,用户在部署描述符中通过声明的方式来控制应用系统的安全性。
事务控制:J2EE应用服务支持将事务控制交给容器自动管理或者利用JTA在代码中自己控制事务。
与其他系统交互:基于JCA或者JMS,另外可以直接访问Corban构件
4、版本控制和内容管理系统CMS:
优点:
(1)版本控制和内容管理系统都是变更管理工具,而且和其他内容一致
(2)确保所发布的内容正确,而且和其他内容一致
(3)控制和跟踪内容的变更,包括对谁可以做出变更进行强制的实现机制
(4)检验实现了一个功能的正确版本以及和相关功能版本的正确对应
(5)使Web工程团队在系统失败或崩溃时,能快速重建Web应用
(6)允许团队在最新版本遇到严重的、未预见的错误时,回滚到前一个版本。
16.5 Web系统测试
功能测试、内容测试、性能测试、Web页面测试、客户端兼容性测试、安全性测试等
16.5.1测试描述
测试的特性和面临的挑战主要表现在:
1、用户数量巨大,需要进行多用户访问的性能测试
2、内容的错误同城智能靠人工完成
3、采用了多层架构,要综合分析确定系统功能或性能缺陷存在的位置
4、组件直角的交互质量影响,对第三方软件和组件及集成和配置的测试
5、浏览器提供的导航、回退、前进、刷新等按钮、也会经常引发各种错误
6、充分建立组件间的关系是一个大的难题
7、自动化测试,Web应用测试方法和工具的不成熟性,使得测试棉铃错误、难以使用等问题。
生命周期不同阶段的主要任务:
设计阶段:估算服务器端容量规划是否合理,系统的安全设计是否合理,数据库设计是否合理,检查客户端设计的功能是否正确合理,检查系统的网络拓扑结构、容量设计是否合理
开发阶段:代码测试及组件测试,检查涉及的代码能否满足规格需求
运行阶段:功能测试、性能测试、安全性测试、配置测试、兼容性测试以及易用性测试
维护阶段:根据维护的内容实施开发及运行阶段中的各个相关方面的测测试。
16.5.2 测试过程
功能测试、内容测试和评审、Web页面测试、导航测试、接口测试、配置测试、安全测试、性能测试等
测试步骤:
1、明确目标,首先需要对被测试的Web应用进行需求分析,即对所做的测试做一个简要额度介绍,包括描述测试的目标和范围,所测试的目标需要实现一个什么样的功能,总结基本文档、主要活动。
2、选择方法,定义测试策略和方法,这里包括开发测试开始的条件、测试的类型、测试开始的标准以及所测试的功能、测试通过或失败的标准、结束测试的条件,测试过程中遇到什么样的情况终止和怎么处理等。
3、确定测试环境的要求,选择合适的测试用例、选择合适的测试工具、决定执行测试的人员,以及确定测试要做到何种程度
4、针对测试的行为,描述测试的细节,包括测试用例列表、进度表、错误等级分析、对测试计划的总结、测试过程会出现的风险分析等。
16.5.3 功能测试
链接测试、表单测试、数据校验、Cookie测试和数据库测试
链接测试:链接是否能访问、访问的内容是否存在、是否所有页面都能够被链接到。测试工具:HTML Link Validator
表单测试:校验用户提交给服务器的信息的正确性和二有效性
Cookie测试:Cookie是否起作用,是否按预订时间进行保存,刷新页面对Cookie是否有影响、有什么影响等,如果Cookie中保存了处置信息,请确认该Cookie能够正常工作,而且已对这些信息加密等。测试工具BrowserHistory View
数据库测试:测试实际内容及其完整性,以确保数据没有损坏且模式正确。测试工具:DBunit、QTP、DataFactory、Crash-me
16.5.4 性能测试
速度测试、负责测试、压力测试、强度测试、并发测试、大数据量测试、配置测试和可靠性测试
速度测试:网络连接速度和业务处理速度
负责测试:确定在用户可接受的响应时间内,系统能够承担的并发用户数量。
压力测试:关注在大量并发用户、传送大量数据也大业务量的情况下的性能变化,关注Web应用能否长时间运行,响应是否太慢、系统是否崩溃、能否恢复等。
强度测试、超负荷情况下的表现,最差工作环境能力,在标准工作压力下的各种资源的最下限指标
并发测试:当测试多个用户同时访问同一个Web应用、同一个模块数据记录时,是否存在线程同步问题、死锁或其他性能问题。
大数据量测试:测试用户较多或某些业务产生较大数据量时系统是否稳定,基线状态下的测试是指被测试应用使用了一段时间后,数据已经积累到一定程度,再看系统是否正常。
配置测试:通过测试知道系统各项资源的最优分配原则,为系统调优提供依据。
可靠性测试:在规定时间内,软件无效工作的概率。
**性能测试方法:**虚拟用户法和wus法
wus方法是基于WUS的概率来设计测试场景,强调建立真实的负载。
16.5.5 web安全性测试
主要包括:数据加密测试、用户身份验证测试、日志文件测试、脚本测试、session测试、备份与恢复测试、访问控制测试测试、安全漏洞测试、TCP端口测试、服务器端脚本漏洞检查、防火墙测试等
日志文件测试:检查web运行的相关访问和状态信息是否写进了日志文件,是否可追踪等。
session测试主要检查Web应用是否有超时的限制,检查超时后需要重新登录才能正常使用,是否能自动退出,退出后,浏览器回退按钮是否可以回到登录页面状态。
16.5.6 web服务测试
1、Web服务测试特性
测试参与者、测试分布、测试模型、测试覆盖、测试执行、测试客户端、测试预测、回归测试
2、Web服务测试内容
Web服务基础设施的验证与确认、Web服务独立测试以及Web服务集成测试
Web服务集成测试:就是在服务流描述执行前,通过静态验证以及动态模拟的方法,确认服务描述能够正确地描述业务需求,能够由服务中介正确解析,并能由所有服务节点正确执行。