系统分析师复习笔记
1. 数据库
1.1. 死锁
数据库中死锁产生的原因是两个或多个数据事务都已封锁了一些数据对象,然后又都请求已为其它事务封锁的数据对象加锁,从而出现死等待。
死锁的诊断方法一般由超时法和等待图法。
1.2. 数据库体系结构
三类数据库系统体系结构:
Ø 集中式:DBMS和应用程序都存放在一台计算机上;
Ø 主从式(客户机/服务器):DBMS存放在服务器上,应用程序存放在客
户机上;
Ø 分布式:数据库在物理上分布在不同的场地,而逻辑上属于一个整体。
对于分布式数据库,分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上的数据库数据模型。
分布透明性和归入物理独立性的范围,包括三个层次:
Ø 分片透明性:最高层次的分布透明性,用户或应用程序只对全局关系进行操作,不必考虑数据分片;
Ø 位置透明性:用户或应用程序应当了解分片情况,但不必了解片段的存储场地;
Ø 局部数据模型透明性:用户或应用程序要了解分片及各片段存储的场地,但不必了解局部场地上使用的是何种数据模型。
1.3. 范式
Ø 1NF à2NF :消除部分函数依赖 Ø 2NFà 3NF :消除传递函数依赖
Ø BCNF :每个决定因素都包含码
如果一个关系模式R的决定因素都是单属性,那就意味着不可能由部分函数依赖,那就是说至少是2NF。
如果一个关系R不属于2NF,则存在以下几个问题(举例,R(仓库号,仓库地址,商品号,商品属性1,商品属性2),主键是(仓库号,商品号)):
1. 插入异常:新建一个仓库,没有商品,就无法插入仓库数据; 2. 删除异常:当一个仓库的所有商品被删掉时,仓库也随之被删掉; 3. 修改复杂:某个仓库地址改变,需要修改所有与该仓库有关的元组。
1.4. 数据仓库
数据仓库是一个面向主题的、集成的、相对稳定且随时间变化的数据集合,用于支持管理决策。
Ø 面向主题:操作型数据库的数据组织面向事务处理(应用),而数据仓
库面向主题(有可能横跨多个应用的同类、基础数据集合)。就保险公司来说,事务是指汽车保险、人寿保险,而主题是指顾客、保单、保费。 Ø 集成:最重要的特性。操作型数据库与特定应用相关,不同应用系统的
数据库相互独立、异构。数据仓库中的数据是经过对各类分散的操作型数据库进行抽取、清理、加工、汇总得到的,消除了数据不一致性,数据仓库中的信息是企业内全局一致的。
Ø 相对稳定:数据仓库的数据主要供决策分析用,所以不会像操作型数据
库那样频繁更新。数据仓库中的查询操作很多,但修改、删除操作很少,通常只需定期加载、刷新。
Ø 随时间变化:传统数据库只保留当前值,数据不一定有时间属性;数据
仓库保存的是从建库时间起,到目前为止的数据变化过程,目的是对企业发展历程和未来趋势做出定量分析和预测,数据仓库的数据必然包含时间属性,是一系列传统数据库的数据快照。
从结构来看,有3种数据仓库模型:企业仓库、数据集市、虚拟仓库: Ø 企业仓库:包含整个企业的各个主题的数据信息;
Ø 数据集市:包含对特定用户有用的,企业仓库数据的子集,限定于选定
的主题;
Ø 虚拟仓库:传统数据库视图的集合。
数据清洗:从多个数据源中提取数据,解决不同数据源格式不统一的问题。
1.5. 数据挖掘
常见的数据挖掘算法有:决策树、神经网络、遗传算法、关联规则挖掘算法。 数据挖掘分析方法:
Ø 关联分析:挖掘出藏在数据间的相互关系;
Ø 序列模式分析:挖掘出藏在数据间的前后关系、因果关系;
Ø 分类分析:首先为每一个记录赋予一个标记(一组具有不同特征的类别),
即按标记分类记录,然后检查这些标定的记录,描述这些记录的特征; Ø 聚类分析:分类分析的逆过程,首先输入原始记录(未标定,不做任何
处理),然后根据一定得规则,划分记录集合,并用显示或隐式方法描述不同类别。
数据清洗:解决不同数据源格式不统一的问题。
1.6. E-R图
局部ER图合成为总ER图时,会发生一些冲突: Ø 命名冲突:同名异议,异名同义;
Ø 属性冲突:同一属性在不同分ER图中的变量类型、取值范围和数据单位等不一致;
Ø 结构冲突:同一实体在不同ER图中的有不同属性;同一对象在某一分
ER图中被抽象为实体,而在另一份ER图中又被抽象为属性。 Ø 联系冲突:实体间的联系在不同分ER图中是不同类型,需根据语义对
实体进行综合或调整。
分ER图中可能存在一些冗余的数据及冗余的实体间联系,合并ER图时应当予以消除。
1.7. 模式分解、函数依赖
R分解为R1和R2是无损分解就必须满足: (R1∩R2)à(R1-R2) 或者 (R1∩R2)à (R2-R1)
无损分解得到的子关系必须要能通过自然连接恢复到原关系!
分解是否保持函数依赖:是否存在跨越了不同的子模式的函数依赖,如果存在,则说明不保持函数依赖。注意:不是所有的函数依赖都要在每一个子模式中保持,毕竟模式分解后每个子模式拥有的属性都不全,只要每一个函数依赖都能找到一个子模式能保持就行!!!
最小函数依赖集:所有依赖的右侧只有1个属性,消除冗余、重复的依赖。
1.8. 关系代数
笛卡尔积:R(A,B,C,D) X S(C,D,E) 得到的是7元关系,即逐个用R中的每条数据与S中的每条数据直接拼接起来。如果R中有r条数据,S中有s条数据,那R X S中就有r*s条数据。
自然连接:自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。
等值连接与自然连接的区别:
1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性
值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。
2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说可以说,自
然连接是去掉重复列的的等值连接。
投影 (π):
的的一元运算,这里的
是属性名字字的集合,
投影是对R关系的列的映射。
选择 (σ):
是对对关系R的行的映射,选出满足 关系的行。
1.9. 三级模式、两级映射级映射
外模式、模式、内模式
外模式/模式映射、模式/内模式映射
Ø 外模式:External ScheSchema或Sub Schema,用户模式,是数据库据库用户能
看见和使用的局部部数据数据的逻辑结构,与某一应用有关的数据逻辑逻辑表示表。外模式通常是模式的子集,一个数据库有多个外模式。概念念结构设计阶段的产物,E-R图。。
Ø 模式:Schema,也成为逻辑模式,数据库中全体数据的逻辑辑结构和特
征的描述,所有用户的公共数据视图。模式实际上是数据库数据库数据在逻辑级上的视图。一个数一个数据库只有一个模式。逻辑结构设计阶段的产物,的产表结构。
Ø 内模式:Storage SchemSchema,存储模式。一个数据库只有一个内模式,数式
据物理结构和存储方式的描述,数据在数据库内部的表示方式。物理方式设计阶段产物。物理设设计阶段产物。
两类独立性:
Ø 数据的物理独立性:当内模式(物理模式)发生改变时,数据的数据的逻辑
结构(模式)保持持不变。需要修改模式/内模式映射。
Ø 数据的逻辑独立性::数据的逻辑结构(模式)发生变化时,应用程序应用
不用修改。需要修改外模式/模式映射。
(XX独立性,就是指XX变化时,上级模式不用变!!!!!)
1.10. 数据库设计
数据库设计阶段:
[1] 需求分析:得到数据要求、处理要求。使用数据流图描述业务流程。 [2] 概念结构设计:得到E-R图,数据字典。与具体DBMS无关。对应“外
模式”。
[3] 逻辑结构设计:将概念结构模型转换成一般的关系(E-R图转换成表结
构)、网状、层次模型,然后再向特定DBMS支持下的数据模型转换,最后对数据模型进行优化(模式分解、合并、增加部分必要冗余)。与具体DBMS有关。对应“模式”。
[4] 物理设计:基于具体数据库设计实现,包括文件结构,索引等。对应
“内模式”(存储模式)。
1.11. 数据库恢复
数据库恢复是指在数据库中的数据被破坏时,在尽可能短的时间内,把数据库恢复到故障发生前的状态。
在进行事务处理时,对数据更新的全部有关操作内容都要写入日志文件;当系统正常运行时,按一定的时间间隔,设立检查点文件,把内存缓冲区内容还未写入到磁盘中去的有关状态记录到该文件;当发生故障时,根据现场数据内容及相关文件来恢复系统的状态。
检查点记录的内容包括:
[1] 建立检查点时刻所有正在执行的事务清单。 [2] 这些事务最近一个日志记录的地址。
1.12. 数据库安全性
数据库安全性包括两方面:
Ø 内部安全:数据库运行过程中,由于自身的问题、错误而引起故障造
成的问题,主要是由故障引起,事务故障、系统故障(数据库系统、操作系统、硬件崩溃)、介质故障;
Ø 外部安全:SQL注入攻击,黑客软件攻击,病毒、木马攻击。
数据库备份划分为:冷备份、热备份和数据导出。
数据导出根据导出数据的范围又分为:完全导出、增量导出(只导出上一次导出的基础上把变化的数据导出)、累计导出(在上次完全导出的基础上,把变化的所有数据都导出来)。
导出备份是一种逻辑备份,冷备份和热备份是物理备份。
冷备份:冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。
冷备份的优点是:
1.是非常快速的备份方法(只需拷贝文件) 2.容易归档(简单拷贝即可)
3.容易恢复到某个时间点上(只需将文件再拷贝回去) 4.能与归档方法相结合,作数据库“最新状态”的恢复。 5.低度维护,高度安全。 但冷备份也有如下不足:
1.单独使用时,只能提供到“某一时间点上”的恢复。
2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。 4.不能按表或按用户恢复。
热备份:数据库运行中对数据库关键数据进行的备份,要求数据库管理系统
提供支持。
热备份的优点是:
1.可在表空间或数据文件级备份,备份时间短。 2.备份时数据库仍可使用。
3.可达到秒级恢复(恢复到某一时间点上,主要由日志来实现)。 4.可对几乎所有数据库实体作恢复。
5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。 热备份的不足是:
1.不能出错,否则后果严重。
2.若热备份不成功,所得结果不可用于时间点的恢复。 3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
1.13. 综合
(1) 故障
最严重的数据库故障是介质故障。
(2) 属性类型
Ø 简单属性:原子的,不可再分;
Ø 单值属性:对于特定的实体都只有单独的一个值;
Ø 多值属性:如果某个属性可能有多重取值,则这样的属性称为多值属性。比如:联系方式、兴趣爱好。多值属性一般抽取为独立的实体(属性值、实体id)。
Ø 复合属性:可以细分为更小的部分,可以划分为多个属性。比如,通信地址可以划分为邮编、省、市、接到等;
Ø 派生属性:其值可以从一个相关属性和属性集的值派生得到的属性,这个属性在实体中不是必须的。比如:age,可以由birthday派生得到。
(3) 关系的三种类型
Ø 基本关系:基本表、基表。实际存在的表,实际存储数据的逻辑表示。 Ø 查询表:查询结果对应的表。
Ø 视图表:由基本表或其它视图表导出的表,虚表,不对应实际存储的数
据。(有物化视图)
基本关系六条性质:
[1] 列是同质的,每一列中的分量是同一类型数据,来自同一个域; [2] 不同列可出自同一个域,每一列为一个属性,不同属性要给予不同属性
名;
[3] 列的顺序无所谓; [4] 行的顺序无所谓; [5] 任意两行不能完全相同; [6] 分量必须取原子值。
(4) 数据库完整性
数据库完整性是指数据库中数据的正确性、有效性、相容性(一致性)。
(5) 基本概念
包含在任何一个候选关键字(候选关键字可能是属性集合)中的属性称为主属性。不包含在任何候选关键字中的属性称为非主属性。
2. 多媒体
2.1. 基于内容检索
多媒体数据库中,基于内容检索的体系结构可以分为两个子系统:特征抽取子系统、查询子系统。目前基于内容的多媒体检索仍是新兴的研究领域,需要解决的关键技术问题包括:多媒体特征的描述和特征的自动提取、多媒体的同步技术、匹配和机构的选择问题,以及按多相似性特征为基础的索引、查询和检索
等。
2.2. ITU(国际电信联盟)相关
H.323标准:基于包交换网络的多媒体(音、视频)通信系统标准。 H.323标准用于LAN视频会议
H.323为基于网络的通信系统定义了四个主要的组件:终端、网管(可选)、网闸(可选)、多点控制单元。
通用视频会议系统中的核心是多点控制单元MCU。
2.3. MIDI & Wave
MIDI音效合成有 FM(调频)和Wave Table(波表)两种方式。
Ø MIDI是合成声音,一种是频率调制(FM)合成法,一种是乐音样本合
成法,也叫波表(Wave Table)合成法。
Ø Wave波形声音记录了声音的波形,即模拟信号的采样数值,不是合成
声音。WAV记录的声音文件和原声基本一致。
2.4. JPEG
量化是造成编码信息损失的根源,是有损过程。 JPEG的失真主要来源于变换系数量化编码步骤。
数字图像的冗余表现为以下形式:空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余:
Ø 空间冗余:图像内部相邻像素之间存在较强的相关性所造成的冗余。
JPEG可压缩消除该类冗余。
Ø 时间冗余:视频图像序列中不同帧之间的相关性所造成的冗余。 Ø 视觉冗余:人眼不能感知或不敏感的那部分图像信息。
Ø 信息熵冗余:也成为编码冗余。如果平均每个像素使用的比特数大于该
图像的信息熵,则图像中存在信息熵冗余。 Ø 结构冗余:图像中存在很强的纹理结构或自相似性。
Ø 知识冗余:是指在有些图像中还包含与某些先验知识有关的信息。
2.5. 流媒体
流媒体实现音视频在网络上的实时传输和实时播放。
两种传输类型:
Ø 顺序传输:给定时刻只能观看已下载部分,不能根据网络状况对下载
速度进行调整。HTTP服务器可以胜任顺序传输;
Ø 实时传输:支持随机访问;能保证媒体信号带宽与当前网络状况相匹
配;需要特定的服务器。
流媒体一般基于UDP和RTP协议。
2.6. 压缩
MPEG视频中的空间冗余,常用变化编码和帧内预测;对于时间冗余,常用帧间预测和运动补偿。
选择多媒体数据压缩算法时要综合考虑:
Ø 数据质量:恢复数据失真程度,失真越小越好; Ø 数据量:压缩后的数据大小,越小越好;
Ø 计算复杂度:压缩算法复杂度,越简单、快速越好。
四类压缩:
Ø 时间域压缩:可以迅速传输媒体信源; Ø 频率域压缩:可以并行开通更多业务;
Ø 空间域压缩:可以降低存储费用; Ø 能量域压缩:可以降低发射功率。
2.7. MPEG
Ø MPEG-1:MP3,CD-ROM,VCD标准 Ø MPEG-2:DVD标准
Ø MPEG-4:多媒体应用标准,是一个数据率很低的多媒体通信标准,可以
应用在移动通信和公共电话交换网上,支持可视电话、可视邮件、电子报纸和其它低速率传输场合下的应用。最适合在共用电话交换网(PSTN)上实时传输视频数据。
Ø MPEG-7:多媒体内容描述接口标准。采用XML作为内容描述可选语言;
包括音视频及3D模型描述标准,及MPEG-7参考软件。 Ø MPEG-21:多媒体应用框架标准。
2.8. 图像
Ø 真彩色图像:每个像素值中有RGB三个分量,每个分量直接决定显示
设备的基色强度;
Ø 直接色图像:每个像素分为RGB三个分量,每个分量作为单独的索引
值,通过变换表找出基色强度,用变化后的RGB强度值产生色彩; Ø 伪彩色图像:将像素值当做彩色查找表的表项入口地址去查找显示图
像时显示的RGB值,最终用查到的RGB值来显示色彩;
Ø 矢量图像:使用各种计算机指令来表示一幅图像,如点、线、曲线、
矩形,其中色彩属性表示了形状的颜色。
2.9. 媒体分类
CCITT(目前已被ITU取代)曾对媒体做了如下分类:
Ø 感觉媒体:直接作用于人的感官的媒体,比如音乐、声音、图像、文
字、数据、文件;
Ø 表示媒体:为了加工处理、传输感觉媒体而人为研究、创造出来的一
种媒体。表示媒体是指各种编码,比如:语音编码、文本编码、图像编码等。
Ø 表现媒体:感觉媒体和用于通信的计算机之间转换用的一类媒体。如:
键盘、话筒、显示器、扫描仪等。表现媒体又分为输入表现媒体和输出表现媒体。表现媒体可简单理解为输入输出设备。 Ø 存储媒体:如硬盘、CD-ROM。
Ø 传输媒体:通信的信息载体,比如双绞线、同轴电缆、光纤。
2.10. 其它
多媒体电子出版物创作的主要步骤:应用目标分析,脚本编写,媒体数据准备,设计框架与系统集成,制作合成,测试。
点距是指屏幕上两个相邻荧光点的距离,点距越小,显示器显示图形越清晰。
数字通信中,根据采样定理,最小采样频率为语音信号最高频率的2倍。人的语音频率在300Hz~3.4kHz之间,所以电话话音编码使用的信号采样率为4kHz。
“蓝光”采用波长较短的蓝色激光(DVD使用红色激光)来读取、写入数据,单层数据容量达到25G,是现有DVD的5倍。
中国的数字音视频压缩编码国家标准是AVS.
3. 信息化与系统集成
3.1. 信息库(repository)
信息库(repository)中积累了信息系统的规划、分析、设计、构成各个阶段的相关开发信息,以及系统维护的有关信息,并提供综合信息的工具,是信息工程工具的核心部分。詹姆士马丁在其著作中曾将信息库比喻为百科全书。
信息库面对分析人员、程序员和维护人员,一般不直接面对用户。 应当存入信息库的内容包括:
Ø 软件工作环境、功能需求、性能需求等; Ø 需求分析阶段收集的各种信息;
Ø 逻辑设计阶段的各种调查材料和生成的各种文档; Ø 设计阶段的各种资料; Ø 编程阶段的所有成果;
Ø 运行及使用情况的详细记录,包括错误故障记录; Ø 维护及修改的情况;
Ø 项目管理的有关信息,包括人员、资金、进度、实施情况等。
3.2. 信息
信息的特征:
Ø 客观性:主观、客观; Ø 普遍性:无所不在;
Ø 无限性:客观世界是无限的,反映客观世界的信息也是无限的; Ø 动态性:随时间而变化;
Ø 依附性:信息是客观世界的反映,依附于物质而存在;
Ø 变换性:信息通过处理可以发生变换或转换,形式、内容发生变化; Ø 传递性:空间上的传递是转移或扩展;时间上的传递是存储。 Ø 层次性:客观世界是分层次的,so…
Ø 系统性:信息可以表现为一种集合,不同类别的信息可以形成不同的
整体,可以形成与现实世界相对应的信息系统;
Ø 转化性:信息的产生不能没有物质,信息的传递不能没有能量,但有
效使用信息可把信息转换成物质(材料)或能量(能源)。
3.3. 信息工程
詹姆士马丁创建信息工程方法。
信息工程以“数据”为中心,而不是以“应用”为中心,以数据为战略资源,以数据规划为基础的信息工程方法,以主题数据库的组织和实施来实现。
信息战略规划是信息工程实施的起点,也是信息工程的基础。信息战略规划的起点是将企业战略目标和企业的信息需求转换成信息系统目标。
信息战略规划过程: [1] 对企业所需信息进行评估 [2] 建立信息需求的信息结构
[3] 建立支撑信息结构的业务系统结构 [4] 确定支撑业务系统结构所必须的技术结构 [5] 最后得到信息战略规划结果。
信息战略流程是(与上文相同,另外一种表达): [1] 评估信息需求 [2] 建立企业总体信息结构 [3] 建立企业业务系统结构 [4] 建立企业技术结构 [5] 提交信息战略规划
信息工程方法认为有3个要素与企业的信息系统密切相关,即企业的各种信息、企业的业务过程、企业常用的信息技术。
信息工程方法把整个信息系统的开发过程划分为4个阶段,自上而下的顺序
是:信息战略规划、业务领域分析、系统设计、系统构建。
马丁的信息工程方法要解决三个问题: [1] 做好战略数据规划 [2] 建设好主题数据库 [3] 围绕主题数据库进行应用开发
3.4. CU矩阵
建立表示数据类(主题数据库)和过程之间关系的CU矩阵M:i过程产生k号数据就是Mik=C,j过程使用k号数据就是Mjk=U。
根据CU矩阵可以划分子系统,并可确定每个子系统的共享数据库和专业(私有)数据库,也可以了解子系统间的数据通信。
根据对信息类的产生和使用特点,将子系统划分为三类: [1] 产生数据,不使用数据; [2] 使用数据来产生新的数据; [3] 使用数据,不产生数据。
3.5. ERP
ERP的定位是:管理变革项目。
企业的所有资源包括三大流:物流、资金流和信息流。ERP也就是对这三类资源进行全面集成管理的管理信息系统。
目前,ERP已将管理的重心转移到财务上,在企业整个经营运作过程中贯穿财务成本控制的概念。
Ø 一个中心:以财务数据库为中心; Ø 两类业务:计划与执行;
Ø 三条主线:供应链管理、生产管理、财务管理。
ERP实施方法论的核心是:实施管理思想革命、管理信息化技术提升。 整个实施过程包括:项目启动、组建团队、设计、编码、测试、数据准备、软件安装、软件调试、项目试运行、项目正式运行等环节。
ERP的关键是实时监控。除了制造和财务外,ERP还可以支持人力资源,销售和配送。
3.6. 电子政务
电子政务不是简单的将原有职能和业务流程计算机化或网络化,而是在信息化的背景下,政府结构的调整、业务流程的重组,是一项重要的政府创新。办公手段及其与公众沟通的手段有了重大的改变。
电子政务几大类: Ø G2G:政府对政府 Ø G2B:政府对企业 Ø G2C:政府对公众 Ø G2E:政府对公务员
政务流程的优化是成功实施电子政务的关键。
“金关”、“金税”等国家重大电子政务工程是实现了政府的市场监管职能。
“十二五”重点发展范围包括了新一代信息技术。
3.7. DSS & MIS
DSS重在决策支持,分析非结构化数据;
MIS重在理性完成业务活动中的信息处理任务,处理结构化数据。
DSS是模型驱动,重视决策模式的研究与模型、知识的使用,并且侧重采用以用户参加为主的、非线性的自适应设计方法;
MIS是数据驱动,以数据库设计为核心,并且强调采用线性的结构化设计方法。
主要区别:
DSS能够解决的是半结构化、非结构化的决策问题,并且以人机对话作为系统的主要工作方式;
MIS只能解决结构化的决策问题,并且人工干预日趋减少。
DSS的基本结构有四个部分:数据部分,模型部分,推理部分,人机交互部分(对话管理器)。人机交互部分是DSS的人机交互界面,用于接受和检验用户请求,调用系统内部功能软件为决策服务,使模型运行、数据调用和知识推理达到有机的统一,有效解决决策问题。
3.8. 系统集成
四类系统集成(数据集成是其它集成方法的基础): Ø 界面集成:统一入口,使用户产生“整体”的感觉;
Ø 数据集成:应用集成和业务过程集成的基础。提供企业之间的信息共享能力。
Ø 应用集成:将多个应用系统进行绑定;
Ø 过程集成(业务流程集成):定义、关联、管理不同的业务过程。
经典案例:
Ø 典型的门户集成案例:行政单位希望将内部信息系统中的新闻、信息等
发布到互联网上,并实现一部分网上办公能力。
Ø 典型的方法集成案例:公司希望将位于组织内部的部分资源和功能发布
到互联网上,并与其他合作伙伴实现业务流程整合。
事件驱动架构是一种设计和构建应用的方法。事件技术是一种非常适合于分布式异构系统之间松散耦合的协作技术。
3.9. 综合
DOM的基本对象有5个:Document、Node、NodeList、Element、Attr。
SAX是一种基于事件的模型,用于避免构造整个文档的树状结构。如果文档特别庞大,或仅对其中一部分感兴趣,SAX就显得特别有用了。
企业系统规划方法(BSP)由IBM于20世纪70年代创建。信息系统该满足各个管理层次对于信息的需求,包括:战略计划层、管理控制层、操作控制层。
BSP认为数据和过程是定义企业信息系统总体结构的基础。
信息战略规划报告的摘要部分中的:
Ø 系统战略是关于信息结构规划和业务系统结构规划的总结; Ø 技术战略是关于技术结构的总结;
Ø 组织战略是关于信息系统组织进行机构改革的建议;
Ø 行动计划是指要执行的主要项目,项目的持续时间,硬件设备获得时间。
企业信息系统应该自上而下规划,自下而上实现。
詹姆斯马丁将计算机数据环境分层四种类型,按管理层次由低到高分别是:数据文件(不使用DBMS)、应用数据库(使用DBMS)、主题数据库(数据库的建立独立于具体应用)、信息检索数据库(自动信息检索、决策支持)。
信息资源管理包括:数据资源管理和信息处理管理。信息资源管理的基础是
数据管理,数据管理在于确定数据规划、数据应用、数据标准、数据内容、数据范围等。
符号Si含有的信息量I(Si)等于 log2(1/P(Si)),即- log2P(Si)。信息量单位是比特。
系统开发前用户调查的主要范围不仅仅局限于信息和数据,还包括企业的生成、经营、管理等各个方面。具体来讲,包括:组织结构、功能业务、数据和数据流程、业务流程、决策方式及过程、可用资源与限制条件、现存问题及改进。
新旧信息系统转换采用并行转换(新旧系统并行工作一段时间再淘汰旧系统)的方式风险最小。直接转换风险最大。
信息系统的概念结构图:
Ø 为解决问题,系统该干些什么?是系统分析阶段的任务; Ø 系统该怎样去干?是设计阶段的任务。
事务处理系统一般由三种处理方式:
[1] 批处理:事件发生后延迟一段时间才处理; [2] 联机事务处理:每个事务都被即刻处理;
[3] 联机输入延迟处理:事务发生时就即刻输入系统,延迟一定时间后才处理。
企业的所有生产经营活动构成了创造价值的动态过程,即价值链。
信息源 信息处理器 信息用户 信息管理者 组织适应新环境或随时间而改变其行为的概念称为“组织学习”。
信息系统可以是手工的,也可以是计算机化的。
业务活动是业务过程的组织元素,是不可再分的最小功能单元。业务活动之间是相对独立的,有清晰的时空界限,每一个业务活动都应是可执行的,结果是确定的且是唯一的。
信息资源规划的需求分析和软件工程的需求分析,分析的业务范围和数据标准的要求都不同。
电子商务的敏感信息(如:银行账号)使用安全套接字层(SSL)通信协议保护。
基于总线结构减少系统互操作时的转换复杂性,并能使系统的结构变得更加清晰。
4. 软件工程
4.1. 逆向工程&再工程
逆向工程(reverse engineering)概念来自于硬件,目的是分析产品,得出设计,是一个设计恢复的过程。逆向工程的抽象层次分为四层,抽象层次越高,完备性越低。抽象层次由低到高分别为: 1. 导出过程的设计表示文档 2. 导出程序和数据结构信息 3. 导出数据流和控制流模型 4. 导出实体关系模型
逆向工程的最高抽象层次/完备性最低是“导出实体关系模型”(例如:UML状
态图和部署图)。
再工程(re-engineering)不仅能从已有程序中重新获得设计信息,而且还能使用这些信息改建或重构现有系统,以改进综合质量。一般软件人员用再工程重新实现已存在的程序,同时加进新的功能或改善它的性能。
4.2. 统一过程UP
统一过程适合于大中型项目的开发。
分为4个顺序的阶段:初始阶段、细化阶段、构建阶段、移交阶段。 Ø 初始阶段:为系统建立业务模型,并确定项目边界。该阶段主要关注业
务和需求方面的主要风险。
Ø 细化阶段:分析问题领域,建立健全的架构基础,淘汰项目中最高风险
的元素。该阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围,主要功能,和诸如性能等肺功能需求,同时为项目建立支持环境。
Ø 构建阶段:主要任务是通过优化资源和避免不必要的保费和返工,使开
发成本降到最低,完成所有所需功能的分析、开发和测试;确定软件、场地和用户是否已经为部署做好准备。
Ø 交付阶段:确保软件对最终用户可用。主要任务是进行β测试,制作产
品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品。交付阶段结束时还要进行技术评审,评审目标是否实现,用户对交付产品是否满意等。
4.3. 软件需求
软件需求可以分为几个层次:
Ø 业务需求(business requirement):反映组织机构或客户对系统、产品高层
次的目标要求,它们在项目视图与范围文档中予以说明。
Ø 用户需求(user requirement):描述用户使用产品必须完成的任务,在用例
文档或方案场景(scenario)说明中予以说明。
Ø 功能需求(functional requirement):定义开发人员必须实现的软件功能,使
得用户能完成他们的任务,从而满足业务需求。
Ø 非功能需求(none-functional requirement):描述系统展现给用户的行为及
执行的操作等。包括产品必须遵循的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件;质量属性。
所有与需求直接相关的活动称为需求工程。
需求工程的活动可分为两大类:需求开发、需求管理。
Ø 需求开发:目的是通过调查与分析,获取用户需求并定义产品需求。需
求开发的过程有四个:需求获取、需求分析、需求定义(制定需求规格说明书)、需求验证(获取、分析、定义、验证)。4个阶段不一定是线性关系。
Ø 需求管理:目的是确保各方对需求的一致理解,管理和控制需求的变更,
以及从需求到最终产品的双向跟踪。需求管理包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。
质量功能部署QFD确认了三类需求,分别是: Ø 常规需求:基本需求,用户提出的明确的需求;
Ø 期望需求:隐含在产品或系统中,可能由于非常基础以至于用户没有显
示说明的需求;
Ø 意外需求:兴奋需求,出乎客户意料的东西。
QFD的目的是最大限度提升软件工程过程中客户的满意度。
4.4. 软件测试
从测试阶段划分,可分为三类:
Ø 单元测试:程序员自己测。单元测试计划应在详细设计阶段制定;
Ø 集成测试:对由各模块组装而成的程序进行测试,集成的方式分为增量式集
成(渐增式集成)和非增量式集成(整体拼装),渐增式集成又分为自顶向下集成和自底向上集成。集成测试计划应在概要设计阶段制定;
Ø 确认测试:检查软件的功能、性能及其他特征是否与用户需求一致。确认测
试计划应在需求分析阶段制定。
从测试群体、场地来划分:
Ø α测试:用户在开发者的场所进行测试,并且在开发者的指导下进行测试。
在受控环境中进行。
Ø β测试:在用户现场由最终用户实施测试过程,非受控。
从测试方法划分:
Ø 白盒测试:主要用于单元测试阶段,由程序员负责; Ø 黑盒测试:用于集成测试、确认测试阶段。
在纠正的程序中的错误后,还应选择部分或全部原先已测过的测试用例,对修改后的程序重新测试,这种测试称为回归测试。回归测试的目的是检验修改引起的副作用。
4.5. 敏捷
2001年,敏捷宣言: 个体和交互胜过过程和工具, 可工作的软件胜过面面俱到的文档, 客户合作胜过合同谈判, 响应变化胜过遵循计划。
敏捷的主要原则:
Ø 最优先要做的是尽早、持续地交付有价值的软件来使客户满意;
Ø 即使到了开发的后期,也欢迎改变需求,利用变化为客户创造竞争优势;
Ø 经常性交付可以工作的软件,时间间隔越短越好,但不要求每次交付的都是
系统的完整功能;
Ø 团队内部,最有效的信息传递方法是面对面的交谈。
敏捷的四大价值观:
1. 个体和交互胜过过程和工具;
2. 可以工作的软件胜过面面俱到的文档; 3. 客户合作胜过合同谈判; 4. 相应变化胜过遵循计划。
影响较大的敏捷方法论包括: (1) XP极限编程
Ø 软件开始初期无需做出很多文档; Ø 测试先行,测试驱动;
Ø 四大价值观:沟通、简单、反馈、勇气。
Ø 12种最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、程序集成、每周工作40小时、现场客户、编码标准。
Ø 包括规划、设计、编码和测试4个框架活动的规则和实践。
Ø 极限编程中使用的重要技术是重构,即包括设计技术的重构,也包括构建技术的重构;
Ø 提倡在基本设计完成后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事的单元测试(测试先行)。 Ø 关键概念之一是“结对编程”。
Ø 极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即使的回归测试策略。
(2) SCRUM
Ø 迭代的增量化过程,用于产品开发或工作管理。可以集合各种开发实践的经
验化过程框架。
Ø 发布产品的重要性高过一切;
Ø 旨在寻求充分发挥面向对象和构建技术的开发方法,是对迭代式面向对象方
法的改进。
(3) Crystal Methods
20世纪90年代末提出,是个系列,因为创始人相信不同的项目需要不同的方法。
(4) FDD特性驱动开发 针对中小型项目。
模型驱动的快速迭代开发过程;
强调简化、实用、易于被开发团队接受、适用于需求经常变动的项目。
(5) ASD
强调开发方法的适应性
(6) DSDM动态系统开发
以业务为核心,快速而有效地进行系统开发。在英国称为应用最为广泛的快速应用开发方法。
DSDM不仅遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。
(7) RUP
RUP是个过程框架,它可以包容许多不同类型的过程,Craig Larman极力主张以敏捷型方式来使用RUP。
4.6. 软件维护
软件经过测试、交付用户后,在使用和运行过程中可能在软件运行/维护阶
段对软件进行的修改就是所谓的维护。
软件维护占整个软件生命周期的60%~80%,维护的类型主要有:
[1] 改正性维护:为了识别和纠正软件错误,改正软件性能上的缺陷,进行
诊断和改正错误的过程;
[2] 适应性维护:当外部环境发生改变时,为使软件适应这种变化而去修改
软件的过程;
[3] 完善性维护:在软件使用过程中,用户往往会对软件提出新的功能、性
能要求,为了满足这些要求而进行的修改和新功能开发。 [4] 预防性维护:为以后进一步改进软件打下良好基础。
4.7. 用户界面
关键的用户界面设计原则:
Ø 用户控制:人机界面设计首先要确立用户类型。确定类型后要针对其特
点预测它们对不同界面的反应。一定要使用户感觉系统的运行在自己的控制之下。
Ø 信息量最小:界面设计要尽量减少用户记忆的负担,采用有助于记忆的
设计方案。
Ø 帮助和提示:要对用户的操作命令做出反应,帮助用户处理问题。在系
统内部处理工作要有提示,尽量把主动权让给用户。
Ø 媒体最佳组合。多媒体界面的成功并不在于仅向用户提供丰富的媒体,
而应在相关理论指导下,注意处理好各种媒体间的关系。
Ø 界面一致性。界面遵循标准和常规方式,让用户处于熟悉和可预见环境
中。主要体现在命名、编码、缩写、布局以及包括菜单、按钮和键盘功能在内的控制使用。
Ø 界面容错性。好的界面应该允许用户进行试验和出错。当出错时要能方
便的从错误中恢复。
Ø 界面美观性。平衡、对称、合适的色彩、元素间合理的对齐方式和间隔、
相关元素适当分组,使用户可以方便的找到目标元素。
Ø 界面可适应性。满足定制化和个性化要求。定制化是在程序中生命用户
的熟知程度,界面可以根据熟知程度改变外观和行为;个性化是指用户按照自己的习惯和爱好设置用户界面。
4.8. 综合
一般来说,文档编制与评审是软件开发进度的里程碑。
业务领域分析中:
Ø 实体关系图:把与业务相关的数据模型化; Ø 过程层次图:业务活动的分解过程;
Ø 过程依赖图:两个业务过程之间的相互依赖关系; Ø 过程活动图:说明整个业务过程的逻辑。
CORBA体系结构:
Ø ORB (object request broker 对象请求代理)负责处理底层网络细节,可以
运行在不同网络协议上。ORB实现了一组功能,包括对象定位、编组与解组、初始化服务和接口库等。它为客户端和服务器端提供标准API,使得客户不用考虑底层网络细节,通过对象引用实现对远程对象的请求调用。 Ø IDL(interface definition language接口定义语言)定义了客户机和服务器之
间的静态接口,通过它实现对象接口与对象实现的分离,屏蔽语言和系统软件带来的异构性。通过标准的IDL编译器,可生成客户端的存根IDL Stubs和服务器端的骨架IDL Skeletons。
Prolog是逻辑型语言,可视化开发工具都是事件驱动程序语言。
DFD数据流图的4种符号:数据流、加工、数据存储、外部实体。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数处理过程的数据来源及数据去向。
McCable环路复杂性公式:e-n+2 e是有向图边数,n是节点数。
为了提高构件复用率,通常要求构件具有较好的通用性和可变性。通用性越好,被复用的面越广;可变性越好,构件就越易于调整,以便适用于应用的具体环境。
异构平台的各构件间互操作问题。支持互操作的构件标准,分为OMG的CORBA, MS的COM/DCOM,Sun的EJB/J2EE三个主要流派。
以下情况不适合原型法: Ø 缺乏适用的原型工具;
Ø 用户不参与、不积极配合开发过程; Ø 用户的数据资源缺乏组织和管理; Ø 用户的软件资源缺乏组织和管理。
软件分层式体系结构自顶向下分别是:应用软件、业务构件、中间件、系统软件。
现有系统的分析和研究过程: 1. 现有系统的物理模型 2. 现有系统的逻辑模型 3. 新系统的逻辑模型 4. 新系统的物理模型
基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化的,开发过程是迭代的。
螺旋模型是瀑布模型与快速原型模型的结合,加入两者所忽略的风险分析(强调)所建立的一种软件开发模型。螺旋模型中,软件开发是一系列的增量发布。螺旋模型的每次迭代都包括制定计划、风险分析、实施工程、客户评估四个方面的工作。
它有两个特点:
Ø 一是采用循环的方式逐步加深系统定义和实现的深度,同时降低风险; Ø 二是确定一系列里程碑,确保项目开发过程中的相关利益者都支持可行
的和令人满意的系统解决方案。
Petri网是一种用图形方式对系统进行需求说明的技术。用来定义多线程、多任务系统的数学模型,易于描述系统的并发、竞争、同步等特征,可用于评价和改进系统。
模块一定要高内聚、低耦合:
Ø 按聚合程度从低到高排序:偶然聚合、逻辑聚合、过程聚合、时间聚合、
通信聚合、顺序聚合、功能聚合。其中,功能聚合的聚合程度最高。 Ø 按耦合程度从低到高排序:数据耦合、控制耦合、公共耦合、内容耦合。
其中数据耦合的耦合程度最低。
主程序员小组属于“封闭式”。
软件调试中,“原因排除法”通过演绎或归纳并利用二分法来定位问题源。
管道和过滤器属于“数据流体系结构”。
高层次的软件复用包括项目计划和体系结构的复用,低层次的软件复用包括代码复用和界面复用。用户需求是用户对自己软件的要求和目标,不能复用!!
净室软件工程是软件开发的一种形式化方法。强调正确性验证,而不是测试,作为发现和消除错误的主要机制。
软件评估中,敏感点是一个或多个构件的特性;权衡点是影响多个质量属性的特征,是多个质量属性的敏感点。
5. 安全性知识
IPSec安全性协议是针对IPv4和IPv6的,是IPv6的组成部分,也是IPv4的可选扩展协议。IPSec的主要特征是可以支持IP级所有流量的加密/认证,增强所有分布式应用的安全性。IPSec在IP层(网络层)提供安全服务。
PGP(Pretty Good Privacy):基于RSA公钥加密体系的邮件加密软件,可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确信邮件发送者。PGP的密钥管理综合了以下算法:对称加密算法IDEA,非对称加密算法RSA,单向散列算法MD5,随机数产生器。PGP还可以用于文件存储
加密。PGP承认两种不同的证书格式:PGP证书和X.509证书。
X.509证书是一些标准字段的集合,这些字段包含了有关用户或设备及相应公钥的信息。包含:证书版本、证书序列号、签名算法标示、证书有效期、证书发行商名字、证书主体名、主题公钥信息、发布者的数字签名。不包含私钥。
数字信封功能类似于普通信封,采用密码技术保证只有规定的接收人才能阅读信息的内容。基本原理是:将原文用对称密钥加密传输,而将对称密钥用收方公钥加密发送给对方。对方收到电子信封,用自己的私钥解密信封,取出对称密钥解密得原文。
单向Hash函数:输入一个长度不固定的字符串,返回一串长度固定的字符串(128位),又称Hash值。
SSL(Security Socket Layer)在应用层和传输层之间提供安全的通道,用于在Internet上传送机密文件。SSL协议被用来在客户机与服务器真正传输应用层数之前建立安全机制。SSL主要提供三方面的服务:用户和服务器合法性认证,加密数据以隐藏被传送的数据,保护数据的完整性。客户机与服务器交换双方认可的密码发生在密码交换阶段。
Kerberos认证是一种使用对称密钥加密算法来实现通过可信第三方密钥分发中心的身份认证系统。报文中加入时间戳是为了防止重放攻击。
Kerberos中,N个用户想同时通信时,需要N(N-1)/2个密钥。 Kerberos是对称密钥,PKI是非对称密钥。
ISO7498-2涉及的5种安全服务是:鉴别服务、访问控制、数据完整性、数据保密性、抗抵赖。
DES密钥长度是56位。3DES的密钥长度是112位。IDEA是128位。
应用网关型防火墙部署在局域网内,通过代理技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。它的核心技术就是代理服务器技术。
包过滤型防火墙工作在网络层和传输层,通过过滤规则来确定数据包是否能通过。
PKI,公共密钥基础设施,是CA安全认证体系的基础,由认证中心、证书库、密钥备份及恢复系统、证书作废处理系统及客户端证书处理系统五大系统组成。
PKI的作用包括:认证、机密性、完整性、抗抵赖性。
PKI主要借助“数字签名”技术。数字签名能确认两点:一、信息是由签名者发送的;二是信息自签发到收到为止,没做任何修改。
发送者将原文用Hash函数生成128位摘要,在用自己的私钥对摘要加密,形成数字签名,把加密后的数字签名附加在要发送的原文后面。
公钥加密算法过程是:发送方A先用自己的私钥签名报文得到DA(P),再用接受方B的公钥加密得到EB(DA(P));接收方B收到后,先用自己的私钥解密得到DA(P),在用发送方A的公钥认证,最后得到报文P。同时,接收方保存一份经过A签名的消息DA(P)作为防止A抵赖的依据。
认证中心CA是电子商务体系中的核心环节,是电子交易中信赖的基础。认证中心作为权威、可信赖、公正的第三方机构,专门负责发放并管理所有参与网上交易的实体所需的数字证书。
CA的主要功能有:证书发放、证书更新、证书撤销和证书验证。
要想验证从CA处获得的某用户的数字证书,通过CA公钥可以确认该证书的有效性,因为用户的数字证书中包含了CA签名(CA私钥加密)。 私钥用于解密和签名,公钥用于加密和验证签名。
对称密码算法加解密效率比非对称算法高很多,因此常用于对大量数据的加密。IDEA的密钥长度是128位。
VPN使用隧道作为传输通道,这个隧道是建立在公共网络或专用网络基础之上的。实现VPN的关键技术包括:安全隧道技术(Tnuueling)、加解密技术、密钥管理技术、身份认证技术、访问控制技术。
可用于构建VPN的协议包括:PPTP,IPSec等 。如果需要在传输层构建VPN,可选的协议是TLS(Transport Layer Security,传输层安全性,基于SSL并与之相似,主要目标是在两个正在通信的应用程序之间提供保密性和数据完整性。)
防火墙只能防止外部对内部的攻击,对于网络内部发生的攻击事件无能为力。
网络安全防范体系设计原则: 1. 网络信息安全的木桶原则 2. 网络信息安全的整体性原则 3. 安全性评价与平衡原则 4. 标准化与一致性原则
5. 技术与管理相结合原则:安全技术与运行管理机制,人员思想教育与技
术培训,安全规章制度建设。
6. 统筹规划,分步实施原则:安全防护不可能一步到位; 7. 等级性原则:安全层次、安全级别;
8. 动态发展原则:需要根据网络安全的变化不断调整安全措施。 9. 易操作性原则:操作简单。不能影响系统的正常运行。
冲击波病毒是一种蠕虫病毒,利用Windows RPC漏洞进行传播。
木马是远程控制工具,分为控制端和服务端(被控端),具有隐秘性和非授权性的特点。
DDOS,分布式拒绝服务攻击,借助客户端/服务器技术,将多台计算机联合
起来作为攻击平台,对一个或多个目标发动DOS,成倍的提高拒绝服务攻击的威力。
典型的对称加密算法有:FEAL,IDEA,DEA,RC-5等; 典型的非对称加密算法有RSA和ESIGN。
SET(Secure Electronic Transaction,电子安全交易)协议向基于信用卡进行电子化交易的应用提供了实现安全措施的规则。
安全审计包括识别,记录,存储,分析与安全相关行为的信息,审计记录用于检查与安全相关的活动和负责人。 作用包括发现计算机的滥用情况。
防火墙把网络划分为几个不同的区域,一般把对外提供网络服务的设备放置(如FTP服务器,WWW服务器)于DMZ(DeMilitarized Zone)非军事区。非安全系统与安全系统之间的缓冲区,该区域位于企业内部网络和外部网络之间。
入侵检测系统一般包括:
Ø 事件产生器:收集数据,将数据转化为事件。 Ø 事件分析器:分析事件;
Ø 事件数据库:存放有关事件的各种中间结果和最终数据;
Ø 响应单元:根据报警信息作出各种反应,包括断网、改变文件属性、发
出提示引起操作人员注意等。
根据病毒感染的途径和采用的核心技术不同,计算机病毒可分为: Ø 文件型病毒:感染可执行文件; Ø 引导型病毒:影响磁盘的引导扇区;
Ø 宏病毒:感染使用某些程序创建的文本文档(如word文档)、数据库、
电子表格等文件;
Ø 目录型病毒:修改硬盘上存储的所有文件地址(可用磁盘检测工具
SCANDISK、CHKDSK发现文件链接地址错误)。
信息安全的多种威胁中,业务流分析是指通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信信息流向、通信总量的变化等参数进行研究,从中发现有价值的信息和规律。
经典的报文摘要算法有:MD5和SHA-1
数字证书是在公钥体系之上提出来的,数字证书包含了公钥体系的公钥和其它信息。数字证书解决了公钥体系中身份伪造(公钥体系的第一步是发信者需要取得收信者的公钥,如果没有数字证书,发信者无法确认某个公钥就是真实收信者的)的问题!数字证书把公钥封装起来,再加上一些公证机构的签名信息,这样数字证书被发布之后,证书中的公钥所属身份就可验证了。
6. 面向对象方法学
6.1. 基础知识
类库是一种预先定义的程序库,它以程序模块的形式,按照类层次结构把一组类的定义和实现组织在一起。
类属类(泛型,generic class)描述适用于一组类型的通用样板,所处理对象的数据类型尚未确定。
用例的三种关系:包含include(use)、扩展(extends)、泛化。
顺序图和协作图统称为“交互图”,顺序图着重体现交互的时间顺序,协作图着重体现交互对象间的静态连接关系。
顺序图精确表达用户与系统的复杂交互过程。 顺序图用于描述进出系统的信息流。
顺序图与协作图是同构的,可以互相转换!!!
Ø 顺序图:着重体现对象间消息传递的时间顺序。顺序图允许直观的表示
出对象的生存期,生存期内,对象可以对输入消息作出响应,并且可以发送消息。消息的箭头指明消息的类型,消息用消息名和参数来标识。 Ø 协作图:用于描述相互合作的对象间的交互关系和链接关系。
活动图:用于表示系统中各种活动的次序,它的应用非常广泛,即可用来描述用例的工作流程,也可用来描述类中某个方法的操作行为。常用于表示业务流程,对系统功能建模,强调对象之间的控制流。活动图是由状态图变化而来的,活动图依据对象状态的变化来捕获动作。活动图中一个活动结束后将立即进入下一个活动,状态图中状态的变迁可能需要事件的触发。
活动图VS传统流程图:程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序,这是两者的根本区别。另外,流程图限于顺序进程,而活动图支持并发进程。
活动图VS状态图:状态图注重于由事件驱动的系统的变化状态;活动图注重于从活动到活动的控制流。活动图是状态机的一种特殊情况,其中全部或大多数状态是活动状态,并且全部或大多数转换时通过源状态中活动的完成来触发的。活动图适应状态机的全部特征。活动图和状态图在对一个对象的生命周期建模时都是有用的。
多态分为4类:
Ø 包含多态:类族中定义于不同类中的同名成员函数的多态行为,如子类
型化,即一个类型是另一个类型的子类型。
Ø 参数多态:最纯的多态,同一对象、函数或能以一致的形式用于不同的
类型;
Ø 过载多态:重载多态,同一运算子被用于表达不同的功能。 Ø 强制多态通过语义操作把一个变元的类型加以变换。
从实现的角度来看,多态分为两类:
Ø 编译时多态:静态联编,在编译过程中确定同名操作的具体操作对象; Ø 运行时多态:动态联编,在程序运行过程中才动态的确定操作所针对的
具体对象。
在OOA过程中,用概念模型来详细描述系统的问题域,用类图来表示概念模型。问题域是指一个包含现实世界事物与概念的领域,这些事物和概念与所涉及的系统要解决的问题有关。建立概念模型又称为问题域建模,或域建模,也就是找到代表那些事物与概念的对象。
依赖是两个模型元素之间的关系,被依赖的模型元素发生变化就会影响到另一个模型元素。
OOA的结果是OOD的输入,OOD的结果是OOP的输入。
OOA基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为,以及对象之间的关系。
OOA包括三个活动:建模系统功能、发现并确定业务对象、组织对象并确定对象间的关系。 OOD是模型驱动和用例驱动的,整个设计过程将OOA阶段所产生的需求模型作为输入,并生成供构建阶段使用的设计模型作为输出。
UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域、各种开发工具。UML标准并没有定义一种标准的开发过程,它是为支持大部分
现存的面向对象开发过程而设计的。
UML通用机制中,包用于把元素组织成组;构件是系统中遵从一组接口规范且付诸实现的物理的、可替换的软件模块。
Berard定义的导致特殊度量的特征:局部化、封装、信息隐蔽、继承、抽象。
方法调用VS消息机制:
Ø 方法调用是指当某个事件发生时,调用某个对象的方法来处理事件。 Ø 消息机制是指当某个事件发生时,把相关消息发送给某些对象(一个或
多个),相关对象捕获消息后进行相应处理; Ø 方法调用同步,消息机制异步;
Ø 消息是通过消息总线发送,支持多个数据的发送者和接收者,更加灵活; Ø 方法调用效率更高; Ø 消息机制可靠性更好。
JAVA EE三层:表现层、业务逻辑层、基础设施层。基础设施层应该要保持稳定,要严格区分业务逻辑层和表现层,尤其应该注意不要在表现层中混杂业务代码。
对象持久化是将内存中的数据以数据库或物理文件形式保存到可永久存储的设备中。
6.2. 框架
框架与类库都可以认为是一种基础结构,而我们编写的代码是应用代码。 Ø 若是基础代码调用应用代码,则这种基础结构是框架; Ø 若是应用代码调用基础代码,则这种基础结构是类库。
框架是半成品的应用程序,而类库只是一系列可被应用程序调用的类。 类库总是被动相应用户的调用请求,框架则会为某一特定目标实现一个基本、
可执行的架构。类库是死的,框架是活的。
框架中已经包含了应用程序从启动到运行的主要流程,流程中无法预先确定的步骤留给用户来实现。程序运行时,框架自动调用用户实现的功能组件。
框架是控制倒转原则的完美体现。
6.3. 4+1视图
² 逻辑视图:以问题域的语汇组成的类和对象的集合(类图);
² 进程视图:可执行线程和进程作为活动类建模,是逻辑视图的一次执行
实例,描绘了所设计的并发与同步结构。(可考虑用协作图、状态图) ² 实现视图:对组成基于系统的物理代码的文件和组件进行建模(组件图)。 ² 部署视图:把构件部署到一组物理的、可计算的节点上,表示软件到硬件
的映射及分布结构(部署图);
² 用例视图:最基本的需求分析模型(用例图、活动图)。
6.4. OO测试
面向对象测试的4个层次:
² 算法层:测试与对象关联的单个操作(方法)。由于是测试单个方法,所
以相当于传统软件测试中的单元测试; ² 类层:测试单个对象类;
² 模板层:测试对象集群,测试一组协同工作的类之间的相互作用; ² 系统层:测试整个面向对象系统。
6.5. 设计模式
依赖倒转:上层模块不应该依赖于下层模块,它们共同依赖于一个抽象;抽象不能依赖于具体,具体依赖于抽象。
含义是:为了消减两个模块间的依赖关系,应该在两个模块之间定义一个抽象接口,上层模块调用抽象接口定义的函数,下层模块实现该接口。
面向对象设计原则包括:
² 开闭原则:一个软件实体应当对扩展开放,对修改关闭。在设计模块时,
应当使模块可以在不被修改的情况下被扩展。简言之,抽象层对修改关闭,通过扩展实现改变系统行为。
² 里氏代换原则:任何基类可以出现的地方,子类一定可以出现; ² 依赖原则(依赖倒置):要依赖于抽象,而不是具体实现。或者说,要
针对接口编程,不要针对实现编程;
² 接口分离(接口隔离):为客户端提供尽量小的单独接口,而不是提供
大的接口;
² 组合复用:要尽量使用组合,而不是继承关系达到复用目的; ² 迪米特法则(最小知识法则):一个对象应当对其它对象有尽可能少的
了解。
Command命令模式是传统回调Call back模式在OO中的替代品。Command将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队,或记录请求日志,以及支持可撤销的操作。
Factory工厂模式定义一个创建对象的接口,但由子类决定需要实例化哪一个类;
Composite模式将对象组成树结构来表示局部和整体的层次关系。 Class adapter模式将一个类的接口转换成用户希望得到的另一种接口。 Bridge模式将类的抽象概念和它的实现分离开来,使他们可以相互独立的变化。
6.6. 综合
在识别对象时采用“名称-动词法”:从名词、名词短语中识别对象和属性,从动词、动词短语中识别操作和关联。
在识别对象之后需要进行筛选,需要删除以下三类名词: Ø 对象的同义词; Ø 系统范围之外的名词; Ø 不具备独特行为的名词。
建模对象的状态是OOD的任务,不是OOA的任务。
7. 计算机网络
7.1. 网络地址
IP地址根据网络号和主机号的数量分为三类:A\\B\\C
XXXXXXXX : XXXXXXXX : XXXXXXXX : XXXXXXXX A类地址:0XXXXXXX : XXXXXXXX : XXXXXXXX : XXXXXXXX B类地址:10XXXXXX : XXXXXXXX : XXXXXXXX : XXXXXXXX C类地址:110XXXXX : XXXXXXXX : XXXXXXXX : XXXXXXXX D类地址:224.0.0.0 ~239.255.255.255是组播地址 (红色为网络号,蓝色为主机号)
主机号全为1的网间地址用于广播,叫做广播地址。 当32位地址全为1时该地址用于本网广播,称为有限广播。
网络号全0,后面主机号表示本网地址。主机号全0,此时的网络号就是本网地址。
保留地址有网络号全1和32位全0。 每个C类网络最多可以有254台主机。
但这样划分在某些情况下显得并不十分灵活。为此,IP网络还允许划分成更小的网络,称为子网Subnet,这样就产生了子网掩码。子网掩码的作用就是用来判断任意两个IP地址是否属于同一个子网络,只有在同一子网的计算机才能直接互通。A类地址的默认子网掩码为255.0.0.0,B类地址的默认子网掩码为255.255.0.0,C类地址的默认子网掩码为255.255.255.0。
子网掩码的计算方式:将主机数目转化为2的n次方,n等于几,IP地址的后几位就是0,其余位数都是1。
7.2. 网络设备
网卡:网络适配器、网络接口卡。网卡及其驱动程序已经基本实现了网络协议中底部两层的功能。
集线器hub:工作于数据链路层。收集多个端口来的数据帧并广播出去。 重发器:中继器、转发器。工作于物理层。信号传输一段距离后必然会发生衰减,可以通过重发器放大增强信号并进行转发就可以保证信号可靠传输。
网桥bridge:桥接器。工作于数据链路层。两个网段间数据链路层协议转换。可以对数据进行过滤,在网桥中保存着所连接的每个网段上所有站点的地址。
交换机:在LAN中互联多个网段,并可进行数据链路层和物理层协议转换的网络互联设备。
路由器:工作于网络层,根据地址来寻找到达目的地的路径。根据IP地址转发数据报,处理的是网络层的协议数据单元。负责子网间的报文转发和广播隔离。
网关:网络层以上的中继系统。用网关连接两个不兼容的系统要在高层进行协议转换。网关也称为协议转换器。
调制解调器:工作于物理层。主要功能是信号变换,把模拟信号变成数字信号,或者把数字信号变成模拟信号。
对于中小型的网络,选型设备时应该遵循以下基本规则: Ø 标准化原则 Ø 技术简单性原则 Ø 环境适应性原则 Ø 可扩展性原则
对于大型网络,还需要考虑以下因素: Ø 可管理性
Ø 容错冗余性
7.3. 综合
路由器可以对分组进行过滤。广播通信是网络通信的基本方式,而用路由器分段只是隔离了广播,并不是消除广播通信。
VLAN在交换机上的实现方法,可以大致划分为4类: Ø 基于端口划分; Ø 基于MAC地址划分; Ø 基于网络层划分; Ø 根据IP组播划分。
典型的距离矢量路由协议有RIP。RIP使用三种方法来避免计值到无穷循环问题,分别是水平分裂法、带抑制逆转位的分割水平线和触发更新。
OSI七层模型从下至上:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中,表示层实现数据压缩功能。
802.11标准定义了三种物理层通信技术:红外线通信、调频扩频通信、直扩通信。
DHCP的默认租约期限是8天。当租约过了一半(4天)时,客户机将和设置它的DHCP服务器联系更新租约。当租期超过了87.5%时,如果客户机任然无法与当初的DHCP服务器联系上,它将与其它DHCP服务器通信。如果网络上再没有任何DHCP服务器在运行,则该客户机立即停止使用该IP,并重新开始一次IP申请过程。
DHCP租约周期是IP地址的有效期。租约周期可长可短,取决于用户的上网
环境和工作性质。
Ø 一般把移动用户划分到租约较短的管理类; Ø 把固定用户划分到租约较长的管理类; Ø 远程访问用户划分到默认路由类; Ø 对于服务器,要为其保留固定的IP,并要把IP和服务器的MAC地址绑定。
协议层次对应关系:
FTP
HTTP
TELNET
SNMP(简单网络管理协议)
TCP
POP3采用C/S模式,客户端软件与POP3服务器建立TCP连接。
ICMP专门用于发送差错报文,与IP是同层协议。由于IP是一种尽力传送的通信协议,过程中可能有数据丢失、重复、延迟或乱序,所以需要一种避免差错并在发生差错时报告的机制。
对于Windows2000以后的操作系统,在无法获取IP地址时,自动配置IP成169.254.x.x,子网掩码255.255.0.0,这样可以使所有获取不到IP地址的计算机之间能通信。
网络需求分析重点关注:
Ø 网路的功能要求:任何网络都不可能是一个可以进行各种工作的“万能
网”。
Ø 网络的性能要求
Ø 网络运行环境的要求:操作系统、应用系统、相应的应用软件和共享资
源;
Ø 网络的可扩充性和可维护性要求
TFTP(简单文件传输协议)
UDP
对任何网络来说,核心都是应用!网络是公路,应用是车辆,修路是为了跑车。
Web服务器应该放在防火墙后面。
流量监控服务器既要监控流入的流量,也要监控流出的流量。
查看端口状态、协议建立状态和EIA状态属于物理层。
在选择设备时,虽然要考虑技术的先进性,但并不是把是否采用最新技术作为主要原则。(最新技术可能不稳定)
骨干网一般用来连接建筑群和服务器群,连接建筑群的骨干网一般以光缆作为传输介质。一般直线距离超过300米的建筑物之间的千兆以太网线路就必须要用单模光纤。
域(domain)是一个共用“目录服务数据库”的计算机和用户的集合,用于实现集中管理。域是逻辑分组,与网络的物理拓扑无关。域中只能有一个主域服务器,但可以有多个备份域服务器。
当网卡处于混杂模式时,该计算机就可以捕获网络上所有的数据包和帧,该计算机就是一个嗅探器。嗅探器接受所有的分组,但不发送任何非法分组,不会妨碍网络的数据流动,因此很难对其检测。
1MB = 8Mb
网络生命周期分为5个阶段:需求规范、通信规范、逻辑网络设计(如:IP地址分配方案)、物理网络设计(如:设备列表清单)、实施。
物联网可分为三层:感知层、网络层、应用层。 Ø 感知层:由各种传感器及传感器网关构成;
Ø 网络层:由各种私有网络、互联网、有线和无线通信网和云计算平台组
成;
Ø 应用层是物联网和用户的接口,与行业需求结合,实现物联网的智能应
用。
虚拟化是指对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来使用并维护资源。
DNS服务器在域名解析中的查询顺序:本地缓存---区域记录---转发域名服务器---根域名服务器
80/20原则适用于内部交流较多、外部访问相对较少、网络较为简单、不存在特殊应用的网络或网段。(相反:20/80原则适用于内部较少,外部较多。)
根据用户需求选择网络技术时该考虑以下因素: Ø 通信带宽:足够的带宽;
Ø 技术成熟性:选择成熟、稳定的技术。不要让大型网络工程本身称为新
技术的试验田!!!
Ø 可扩展性;预留一定的冗余,可扩展; Ø 投入产出比。
通过一层防火墙可把网络简单隔离成“内--外”网两个部分,对于复杂情况可以使用两层防火墙把网络隔离成“内—DMZ(非军事化区)—外”三个部分,WWW、FTP服务器一般放在DMZ。
传输速度:
Ø 单模光纤:2500Mb/s Ø 多模光纤:1000Mb/s Ø 双绞线:100Mb/s
7.4. 层次式网络设计方案
层次式网络设计方案分为三层:核心层、汇聚层、接入层。
Ø 核心层:为网络提供骨干组件或高速交换组件。在分层设计中,核心层只
完成数据交换的特殊任务。核心层的主要功能是实现骨干网络之间的优化传输。设计重点是冗余能力、可靠性和高速传输。网络的控制功能最好尽量少在骨干层上实施。核心层是所有流量的最终承受者和汇聚者,所以对核心层的设计及网络设备的要求十分严格。核心层设备将占投资的主要部分。
Ø 汇聚层:是核心层和终端用户接入层的分界面,完成网络访问策略控制、数据包处理、过滤、寻址以及其他数据处理任务。
Ø 接入层:向本地网段提供用户接入,是最终用户与网络的接口。
7.5. 综合布线系统
Ø 工作区子系统:由终端设备连接到信息插座之间的设备组成; Ø 水平子系统:各个楼层接线间配线架到工作区的信息插座之间的线缆组
成;(配线间到工作区之间的布线)
Ø 管理间子系统:楼层配线设备的房间内。如:楼层内配线架之间的交叉
连接。
Ø 垂直干线子系统:连接各层的线缆,垂直方向布线; Ø 设备间子系统:大楼的进线设备,每栋楼一个设备间; Ø 建筑群子系统:建筑之间的线缆。
8. 知识产权
《中华人民共和国著作权法》
改编、翻译、注释、整理已有作品而产生的新作品,其著作权由改编、翻译、注释、整理人享有,但行使著作权时,不得侵犯原作品的著作权。
著作权自作品创作完成之日起产生。 本法不适用于:
(一) 法律、法规、国家机关决议、决定、命令和其他具有立法、行政、司法
性质文件,及其官方正式译文; (二) 时事新闻;
(三) 历法、数表、通用表格和公式。
未经软件著作权人许可,修改、翻译其软件构成侵权。
源程序和设计文档受著作权法的保护。 技术秘密又受反不正当竞争法的保护。
程序员利用公司资源开发的软件的著作权归公司所有,但程序员拥有署名权及身份权。署名权是不能转让的。
未经专利权人许可,实施其专利,即侵犯其专利权。
注册商标有效期为十年,自核准注册之日起计算。注册期满,需要继续使用的,应该在期满前六个月内申请续展注册;在此期间未能提出申请的,可以给予六个月的宽展期。宽展期任未提出申请的,注销其注册商标。每次续展注册有效期为十年。
专利授权先申先得!
知识产权具有严格的地域性特征,各国主管机关依照本国法律授予的知识产权,只能在本国领域内受法律保护。对于国外产品,只保护共同参加国际条约国家的公民作品。
《商标法规定》:同一申请人在不同类别商品上使用同一商标的,应当按商品分类表提出注册申请。注册商标需要在同一类的其他商品上使用的,应当另行提出注册申请。
针对已获得专利授权的同一主题改进产品提出的专利申请,可享有国内优先权。
《中华人民共和国商标法》规定,以下行为侵犯注册商标专用权: Ø 未经商标注册人的许可,在同一种商品或者类似商品上使用与其注册商
标相同或相近的商标;
Ø 销售侵犯注册商标专用权的商品;
Ø 伪造、擅自制造他人注册商标标识或销售伪造、擅自制造的注册商标标
识的;
Ø 未经商标注册人同意,更换其注册商标并将该更换商标的商品又投入市
场的;
Ø 给他人的注册商标专用权造成其他损害的。
商业秘密的4个特征: Ø 不为公众所知悉;
Ø 能为权利人带来经济利益; Ø 具有实用性; Ø 采取了保密措施。
企业名称权、商业秘密权无法定保护期限;商标权有法定保护期限(十年)。
实用新型和外观设计专利经初审合格后即授权。
全部符合以下3条标准的,软件著作权才为开发者个人所有,否则属于公司所有:
Ø 所开发的软件作品不是执行其本职工作的结果;
Ø 开发的软件作品与开发者在单位中从事的工作内容无直接联系; Ø 开发的软件作品未使用单位的物质技术条件。
根据《计算机软件保护条例》,“发表”的含义是指将软件作品公之于众。
根据招标投标法,招标人设有标的的,标的必须保密。投标人不得与招标人串通投标,损害国家利益、社会公众利益或他人的合法权益。
商标注册“谁先申请谁先获得”!
根据《中华人民共和国专利法实施细则》,职务发明创造是指: Ø 在本职工作中做出的发明创造;
Ø 履行本单位交付的本职工作之外的任务所做出的发明创造;
Ø 退职、退休或调动工作后1年内做出的,与其原单位承担的本职工作或
原单位分配的任务有关的发明创造。
当盗版软件持有人没有合理理由必须知道该软件是盗版时,盗版软件持有人不承担赔偿责任,责任由盗版软件提供商承担。但持有人得知使用的是盗版时,应当停止使用,或销毁该侵权复制品。如果停止使用会造成重大损失,可以向软件著作权人支付合理费用后继续使用。
《计算机软件保护条例》所保护的范围为计算机程序及其文档,不包括开发该软件的所用思想。
开源软件也存在商业秘密。包括公开技术和不公开的工程化实现技术两部分。
《知识产权法》属于民法。
9. 标准化知识
按照ISO/IEC9126,软件质量模型包括6个质量特性和21个质量子特性: 质量特性 功能性
适合性
准确性
子特性
互操作性依从性 (互用性)
可靠性 可用性 效率 可维护性 可移植性
成熟性 可理解性 时间特性 可分析性 适应性
容错性 易学性 资源特性 可改变性 可安装性
可恢复性 可操作性 稳定性
可测试性
安全性
依从性(一可替换性 致性)
CMM能力成熟度模型:
Ø CMM1:初始级。无秩序,混乱,软件过程的成功依赖于极个别人的努力和机遇。
Ø CMM2:可重复级。焦点集中在软件管理过程上,从管理角度可看到一个按计划执行的,且阶段可控的软件开发过程。建立了基本的项目管理过程,对类似项目有章可循,并能重复以往取得的成功。包括需求管理、软件项目计划、软件项目跟踪与监控、软件子合同管理、软件质量保证、软件配置管理。
Ø CMM3:已定义级。用于管理的和工程的软件过程均已文档化、标准化,
并形成整个软件组织的标准软件过程。无论是管理,还是工程开发,都有一套文档化的标准。包括管理方面的:集成(综合)软件管理、组间协调;组织方面的组织过程焦点、组织过程定义、培训程序;工程方面的软件产品工程、同级评审。
Ø CMM4:可管理级。软件过程和产品质量有详细的度量指标。包括管理方面的定量管理过程;工程方面的软件质量管理。
Ø CMM5:优化级。能够不断持续的进行过程改进。包括组织方面的技术改进管理、过程改进管理。
² SW-CMM软件采办能力成熟度模型:关注的是软件购买者的软件能力成
熟度;
² 而CMM关注的是软件系统承包者或开发商的软件能力成熟度。 ² ISO/IEC 15504提供了一个软件过程评估的框架。
我国标准与国际标准对应关系有4种: Ø 等同采用:idt Ø 修改采用:mod Ø 等效采用:eqv Ø 非等效采用:neq
一旦国家标准出台,对应的行业标准、地方标准即行废止!
Ø GB:中国强制性国家标准;
Ø GB/T:中国推荐性国家标准;(所有推荐性标准均用/T表示) Ø GB/Z:中国国家标准化指导性技术文件。
根据《中华人民共和国标准化法》,我国的标准分为国家标准、行业标准、地方标准、企业标准4类。国家标准、行业标准分为强制性和推荐性标准。保障
人体健康,人身、财产安全的标准和法律、行业法规规定强制执行的标准是强制性标准,其它标准是推荐性标准。省、自治区、直辖市标准化行政主管部门制定的工业产品的安全、卫生要求的地方标准在本行政区域内是强制性标准。
² GSB:中国国家实物标准。国家标准。 ² GJB:中国军用标准。行业标准。
图形符号、箭头表示等都属于基础标准,比如PSD、PAD等程序构造的图形表示。
按标准所涉及的范围分类(范围由大到小):
Ø 国际标准:由国际组织制定,如ISO标准、ITU、IEC;
Ø 国家标准:中国国标GB开头,美国国标ANSI开头,英国国标BS开头
德国标准DIN,日本标准JIS; Ø 地方标准:DB开头,后接地方编号;
Ø 行业标准:IEEE,QC(汽车行业标准),YC(烟草行业标准),GJB(军
用标准)
Ø 企业标准:以Q打头。
在GBT8566-2007(信息技术软件生存周期过程)标准中,软件生存周期的基本过程包括:
Ø 获取过程:为需求方定义,包括:启动、招标准备、合同的编制和更新、
对供方监督、验收和完成、合同结束、获取政策等; Ø 供应过程:为供方定义; Ø 开发过程:为开发方定义; Ø 运作过程:为操作方定义; Ø 维护过程:为维护方定义。
ITIL(IT基础架构库)主要用于IT服务管理,包括六个模块,分别是业务管理、服务管理、ICT基础架构管理、IT服务管理规划与实施、应用管理、安全管理。其中服务管理是其最核心的模块,该模块包括服务提供和服务支持两个流程组。
10. 系统配置与性能评价
10.1. 常用缩写
MIPS:百万指令每秒
MTBF:平均故障间隔时间=(MTTF平均无故障时间)
10.2. 常用公式
平均指令周期(执行每条指令的花费时间)=1/MIPS CPU主频(单位为MHz)与MIPS成正比
MTTF平均无故障时间=MTBF(平均故障间隔时间)=1 / 失效率 失效率= - Ln R/t
可靠性数学模型:
设各个系统的可靠性为R1 R2 R3 … Rn,失效率为S1 S2 S3 … Sn [1] 串联系统
R=R1 X R2 X R3 X … X Rn S=S1+S2+S3+ … + Sn [2] 并联系统
R=1- (1-R1) X(1- R2) X(1- R3) X … X(1- Rn) [3] N模冗余系统
由N个相同的子系统和一个表决器组成,经过表决器后,N个子系统中占多数相同结果的输出作为系统的输出。
10.3. 综合知识
软件容错技术主要有恢复块方法,N版本程序设计和防卫式程序设计等。 故障的恢复策略一般有两种:
[1] 前向恢复(继续向前进行,进行中恢复错误); [2] 后向恢复(回滚到上一个正确状态)。
Ø 恢复块方法:后向恢复。主块首先投入运行,结束后进行验收测试,如
果没有通过验收测试,系统经现场回复后,由一个后备块运行。该过程重复到耗尽所有可用块,或者某个程序故障行为超出了预料,从而导致不可恢复的后果。设计时应保证主块和后备块之间的独立性。 Ø N版本程序设计:前向恢复。静态故障屏蔽技术。用N个具有相同功能
的程序同时执行一项计算,结果通过多数表决来选择。其中N份必须由不同的人独立设计,使用不同的方法,不同的语言,不同的开发环境和工具来实现(实现同样的需求,规格说明是相同的)。
Ø 防卫式程序设计:不采用任何一种传统容错技术就能实现如阿健容错的
方法。基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦错误发生,程序能撤销错误状态,恢复到一个已知的正确状态中去。实现策略包括:错误检测、破坏估计和错误恢复3个方面。 Ø 一致性检查:先预测程序的运行结果,然后将程序运行中、运行后的结
果与预测值比较,根据比较结果判断软硬件故障。
Ø 能力检查:是用诊断程序检查系统各个部件的功能是否符合设计的要求。
实现容错技术的主要手段是冗余。冗余是指实现系统规定功能时多余的那部分资源,包括硬件(结构)、软件(附加冗余)、信息和时间。
Ø 结构冗余(硬件):静态冗余、动态冗余、混合冗余。
² 静态冗余:常用的有三模冗余、多模冗余。静态冗余通过表决和比
较来屏蔽系统中出现的错误。
² 动态冗余:多重模块待机储备。热备(各备用模块在其待机时,可与主模块一样工作),冷备(待机时不工作)。
Ø 信息冗余:为检查或纠正信息在运算或传输中的错误,须外加一部分信
息,这种现象称为信息冗余。
Ø 时间冗余:指以重复执行指令(指令复执)或程序(程序复算)来消除
瞬时错误带来的影响。
Ø 冗余附加(软件)技术:指为实现上述冗余技术所需的资源和技术,包
括程序、指令、数据、存放和调动它们的空间和通道等。
表示机器运算速度的单位是KIPS(每秒千条指令)和MIPS(每秒百万条指令),常用的有峰值MIPS和基准程序MIPS。MFLOPS表示每秒百万次浮点运算速度。
SPEC95对计算机性能测试有两种方法: Ø 速度测试:测试完成单个任务有多快;
Ø 吞吐率测试:每秒处理事务数。测试计算机在一定时间内能完成多个任
务。
系统的吞吐率随着符合由0变大的变化趋势是:快增长、慢增长、下降。 系统吞吐率不单是取决于CPU的速度,还与内外存交换速度、磁盘存取速度等计算机的基本性能有关,也与应用程序的性能有关。
高级语言不依赖于具体的计算机指令系统与体系结构,使用高级语言编写的程序可以根据不同的编译系统编译成不同计算机体系上的指令。不同体系结构计算机之间难以实现编译程序兼容。
内核是操作系统最基本的部分,它为应用程序提供对硬件的访问和控制,
这种访问是有限的。因为是直接对硬件进行操作,所以操作系统内核在不同体系结构的计算机上是不能兼容的。操作系统外层在不同类型计算机上是可以实现兼容的。
硬件监控、软件监控都可以测量计算机的系统性能。但对于高负载的计算机系统来说,软件监控的开销会很大,会严重降低系统性能。
Ø 可用性:系统能够正常运行时间的比率。实现可用性策略的主要方法有
错误检测、错误恢复和错误防御。主动冗余就是一种错误恢复的策略。 Ø 性能:系统的响应能力,即要经过多长时间才能对某个事件作出响应,
或者在某段时间内系统所能处理事件的个数。队列调度是一种提升系统性能的常用方法。
评价计算机系统性能的方法有三种:
Ø 测量方法:采用各种性能数据获取方法和运行各种不同类型的基准测试
程序或工具来测量目标系统的性能情况;
Ø 分析方法:建立数学模型,在给定输入条件下进行计算来获取性能情况; Ø 模拟方法:构造系统模型和工作负载模型来近似模仿目标系统,以了解
系统的特性。
计算机系统的可用性可从三方面评测:
Ø 故障率:在给定时间里系统故障和维护事件出现次数;
Ø 健壮性:系统检测和处理故障的能力,及系统在各种故障下任然具有的
工作能力;
Ø 可恢复性:系统从故障状态恢复到正常状态的能力。
系统运维工作包括:
Ø 对系统的运行进行持续的性能检测;
Ø 检查系统的资源是否得到最佳利用(以便对资源进行必要调配); Ø 检查并记录系统运行的异常情况(以便进行维护和维修);
Ø 检查业务量的动态变化情况,对业务处理量的增加进行合理预测,以便
及时采用有关的措施。
11. 计算机组成与体系结构
11.1. 流水线
流水线各阶段可能会相互影响,阻塞流水线,使其性能下降。阻塞主要由以下两种情况引起:
Ø 转移指令:在当前指令完成之前,流水线不能确定下一条指令的地址。 Ø 共享资源访问冲突:由多条指令重叠执行造成的对共享资源的访问冲突,
又叫数据相关。
在流水线中完成一个任务的时间与单独执行该任务的时间相近,甚至更多,因为分段。
Ø 流水线的加速比:为完成一批任务,不使用流水线所用的时间与使用流
水线所用的时间之比。
Ø 流水线的最大加速比= 单独执行一个任务的完整时间 / 流水线单级的
最长时间
对于流水线各段执行时间均相等,且输入到流水线中的任务连续的理想情况下,时钟周期为t(每一段所需时间)的k段流水线完成n个连续任务需要的总时间为:(n+k-1)t
流水线的吞吐率(TP)=在单位时间内流水线所完成的任务数量或输出的结
果数量。TP= n / T,其中n为任务数,T为使用流水线完成n个任务所需时间。
流水线的效率:n个任务占用的时空区/k个流水段的总时空区
超级流水线:将机器指令划分为更多的操作,以减轻每一级的复杂程度,增加流水线级数来提高频率。
流水线各类相关性冲突问题的解决方法:
Ø 数据相关:相关专用通路;后推法(推后对相关单元的读操作); Ø 程序转移:猜测法;
Ø I/O中断:让已经进入流水线的指令继续执行,直到执行完成(这叫“不
精确断点法”,而“精确断点法”是指出现中断时立即停止所有指令的执行,转入中断处理)。
相关性冲突根据其影响范围分为两类:
Ø 局部性相关:先写后读同一数据单元造成的相关; Ø 全局性相关:转移指令造成的相关。
11.2. Flynn分类法
根据指令流和数据流的多倍性特征对计算机分类。 Ø 指令流:机器执行的指令序列;
Ø 数据流:由指令流调用的数据序列,包括输入数据和中间结果,不包
括输出数据;
Ø 多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据
的最大可能个数。
Flynn分类:
Ø SISD:典型代表:传统单核CPU计算机,奔腾2芯片属于SISD;
Ø SIMD:单一指令部件控制,按照同一指令流的要求为多个处理单元分配
各自所需的数据;典型代表:阵列机(单控制单元发出指令,多处理单元执行,使用多数据单元),主要是服务器。
Ø MISD:多个处理单元,多条不同指令对同一数据流及其中间结果进行不
同处理;只作为理论研究基础,没有真正投入应用。
Ø MIMD:作业、任务、指令全面并行的多级系统,大规模并行处理机MPP
(由众多的微处理器,几百到上万,组成的大规模并行系统。MPP可以采用市场上出售的RISC处理器,所以性价比很高。属于松耦合多机系统。)和对称多处理机SMP(SMP属于紧耦合系统)都属于这类。当前高性能服务器与超级计算机大多具有多个处理器,多任务并行处理,基本都属于MIMD。典型代表:大型服务器,多核CPU计算机。
多机系统是指一个系统中有多个处理机,属于MIMD系统。按多机之间连接的紧密程度,可分为紧耦合多机系统和松耦合多机系统两类:
Ø 紧耦合多机系统:直接耦合系统。各个处理机之间通过互联网共享内存。
每个处理机可自带局部存储器,也可自带cache。存储器模块可采用流水工作方式。紧耦合系统中的多个处理机一般是同构的。SMP属于紧耦合系统。
Ø 松耦合多机系统:间接耦合系统。各个处理机之间通过共享I/O子系统、
通道或通信线路实现机间通信,不共享内存。MPP属于松耦合多机系统。
11.3. RISC & CISC
RISC(精简指令集计算机)的特点:
Ø 指令数量少:优先选取使用频率最高的一些简单指令及常用指令,避
免使用复杂指令。大多数指令都是对寄存器的操作,对存储器的操作仅提供读和写两种方式;
Ø 指令寻址方式少:通常只支持寄存器寻址,立即数寻址及相对寻址; Ø 指令长度固定,指令格式种类少;
Ø 只提供STORE和LOAD访问存储器:对于存储器只提供读写两条指令,
其余所有操作都在CPU寄存器间进行,所以RISC需要大量寄存器; Ø 以硬布线逻辑控制为主:为提高执行速度,常采用硬布线逻辑(组合
逻辑)来构件控制器。而CISC计算机的指令系统很复杂,难以用组合逻辑电路实现控制器,通常采用微程序控制。
Ø 单周期指令执行:因为简化了指令系统,所以很容易利用流水线技术
使得大部分指令都能在一个周期内完成。RISC通常采用流水线组织,少数指令可能会需要多个执行周期;
Ø 优化的编译器:RISC的精简指令集使编译工作简单化,可以生成高效
执行的机器代码,能有效的支持高级语言。
RISC和CISC的差别:
Ø 指令系统:RISC指令较简单,实现特殊功能时效率较低,大量使用通
用寄存器;CISC指令丰富,有专用的指令完成特定的功能,处理特殊任务效率较高;
Ø 存储器操作:RISC对存储操作有限,只有读写;CISC的存储器操作指
令较多;
Ø 程序:RISC汇编语言需要较大内存空间,实现特殊功能时程序复杂;
CISC汇编语言编程简单,复杂计算容易,效率高;
Ø 中断:RISC在一条指令执行的适当地方可以响应中断;CISC在指令执
行结束后响应中断;
Ø CPU:RISC的CPU包含较少的单元电路,面积小,功耗低;CISC CPU包
含丰富的电路单元,功能强,面积大,功耗大; Ø 设计周期:RISC设计周期短;CISC设计周期长;
Ø 用户使用:RISC易学易用;CISC结构复杂,实现特殊功能容易; Ø 应用范围:RISC指令系统的确定与特定的应用领域有关,更适合于专
用机;CISC更适合于通用机。
11.4. Cache
计算机常用的三级存储体系是cache、主存、辅存,这三个级别从左向右容量越来越大,价格越来越低,速度越来越慢。
使用cache改善系统性能的依据是程序的局部性原理。
局部性分为时间局部性和空间局部性:
Ø 时间局部性:如果一个信息项正在被访问,那么在近期很可能还会被再
次访问。程序的循环,堆栈等是产生时间局部性的原因;
Ø 空间局部性:在最近的将来将用到的信息很可能与现在正在使用的信息
在空间地址上是临近的。
依据局部性原理,把主存储器中访问概率高的内容存放在cache中。当CPU需要读取数据时,首先在cache中查找是否有所需内容,如果有,则直接从cache中读取;若没有,再从主存中读取该数据,然后同时送往CPU和cache。
如果CPU需要访问的内容大多能在cache中找到(访问命中),则可以大大提高系统性能。
CPU发出访存请求后,存储器地址先被送到cache控制器以确定所需数据是否已在cache中,若命中则直接对cache进行访问。该过程称为cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。
Cache中数据装满后必须淘汰现有数据,装入新数据,淘汰算法有:随机淘
汰法、先进先出法FIFO、近期最少使用淘汰法LRU。
Cache写数据常用方法包含以下几类:
Ø 写直达:当要写cache时,数据同时写回主存储器,也称为写通。 Ø 写回:CPU修改cache的某一行后,相应数据不立即写入主存,而在该
行被从cache中淘汰时,才把数据写回主存储器中。
Ø 标记法:对cache中的每个数据设置一个有效位。当数据进入cache后,
有效位置1,当CPU要对该数据进行修改时,只需将其写入主存储器,并将该位清0。当要从cache中读取数据时,需要测试其有效位:若为1则从cache中取,否则从主存中取。
Cache存储器一般采用静态随机访问存储器(SRAM)技术,速度比动态RAM(DRAM)快。
Cache有三种映像方式:直接映像方式,全相联映像方式,多路组相联映像方式:
1.直接地址映射(direct mapping) :主存中每一个块只能映射到某一固定的cache中。这种映射方法比较简单,且地址转换速度快,但不够灵活,使得cache的存储空间得不到充分利用。
2.全相联地址映射(fully associative mapping)主存中的每一块都可以映射到cache的任何一块位置上。这种映射方法比较灵活,cache的利用率高,但地址转换速度慢,且需要采用某种置换算法将cache中的内容调入调出,实现起来系统开销大。
3.组相联地址映射(set associative mapping) 组相联地址映射是直接地址映射和全相联地址映射的折中方案。主存和cache都分组,组间采用直接地址映射,而组内采用全相联地址映射。主存中的各块与cache的组号间有固定的映射关系,但可以自由映射到对应的cache组中的任何一块。如主存中的第0块可映射到cache的第0组的第0块或第1块;主存中的第1块可映射到cache的第1
组的第2块或第3块等。这种映射方法比直接地址映射灵活,比全相联地址映射速度快。实际上,若组的大小为1时,就变成了直接映射;若组的大小为整个cache的尺寸时,就变成了全相联映射。
三种映像方式难以区分速度优劣,各有优缺,速度不相上下。
主存到cache单元的地址转换由硬件完成。
11.5. RAID
廉价磁盘冗余阵列:
Ø RAID0:无冗余,无校验的数据分块,最高的I/O性能和磁盘利用率,但故
障率高;
Ø RAID1:磁盘镜像阵列,最高的安全性,但磁盘利用率只有50%; Ø RAID2:纠错海明码的磁盘阵列;
Ø RAID3和RAID4:奇偶校验码的磁盘阵列; Ø RAID5:无独立校验盘的奇偶校验码磁盘阵列;
Ø RAID6:具有独立的数据磁盘与两个独立的分布式校验方案; Ø RAID7:具有最优化的异步高I/O速率和高数据传输率的磁盘阵列; Ø RAID0+1:高可靠性与高性能的组合。
11.6. 综合
处理机的度:流水线的数量。N度处理机可以并行执行N条流水线(每条流水线k段)。
波特是设备每秒钟发生信号变化的度量,它代表的是信号的变化,而不是传输数据的多少。如果数据不压缩,波特等于每秒钟传输的数据位数。
CAM(相联存储器)是一种特殊的存储器,基于数据内容进行访问,特点是每个存储单元都必须有一个处理单元。当对其写入数据时,CAM能够自动选择一个未用的空单元进行存储;当要读出数据时,不是给出存储单元地址,而是直接给出该数据或数据的一部分内容,CAM对存储单元中的数据同时进行比较,并标记符合条件的所有数据以供读取。计算机系统中,CAM主要用于虚拟存储器和cache,还常用于数据库和知识库中按关键字进行检索。
总线(Bus)就是一组进行互联和传输信息(指令、数据、地址)的信号线,他好比连接计算机系统各个部件之间的桥梁。总线分为正式标准(IEEE等国际组织正式公布和承认的标准)和工业标准(某厂家提出,得到其它厂家广泛使用)。
虚存中的存储器采用快速存储器,按内容访问。
计算机的浮点数表示中,阶码的位数主要影响数值表示范围,尾数的位数影响计算精度。
一般来说,在并行处理系统中,程序模块划分得越小,模块间的数据相关性就越大,通信的开销也越大。模块越小就需要越多的线程,会由于相互切换而影响性能,更多的线程也需要更多的内存空间,即开销更大。
计算机系统中开发并行性的方法有:资源重复、时间重复、资源共享。
I/O设备主要有4种方式与主机交换数据:
Ø 程序直接控制方式:CPU需要定期的查询I/O设备以确定操作是否完成;
耗费大量CPU时间。
Ø 中断方式:I/O操作完成后,I/O系统用中断信号通知CPU,CPU无需等
待和主动查询;如果中断次数较多,CPU仍需要花费较多的时间处理中断;
Ø DMA方式:DMAC和CPU共享总线,代替CPU控制I/O设备和外存。CPU
只需做善后处理,极大解放了CPU。 Ø 通道方式。
MIPS和MFLOPS都是用来衡量峰值性能的,MIPS适合衡量标量处理机的性能,MFLOPS适合衡量向量处理机的性能。
实现并行性的三种方式:
Ø 时间重叠:典型应用是流水线技术;
Ø 资源重复:引入重复的硬件设备来提高效率;
Ø 资源共享:通过软件的手段让多个用户按照一定的时间顺序轮流使用一
套资源来提高并行性。
12. 操作系统
设系统中有R类资源m个,由n个进程互斥使用,若每个进程对R资源的最大需求为w,则只要他们之间满足如下关系,就不会发生死锁:
w <= 1 (m<=n) w <= 1 + ( m – 1 ) / n (m > n)
磁盘先移臂,后旋转。判断进程序列读取数据是否省时间,主要看移臂(取决于柱面之间的关系)总量哪个最少,其次看旋转(取决于扇区号)调度哪个延迟时间最短。磁头决定读取的盘面,对速度影响不大。
可剥夺式优先级进程调度方案指:每时每刻,低优先级进程让高优先级进程。
进程三态模型:
进程五态模型(活跃态处于内存中,静止态处于辅存中):
Ø 三态模型中的“就绪态”与五态模型中的“活跃就绪”对应;
Ø 三态模型中的“等待态”与五态模型中的“活跃阻塞”对应。
采用最短作业优先算法,可使得系统在同一时间内处理的作业个数最多,从而吞吐量也就大于其它调度方式。
常用的作业调度算法有:先来先服务FCFS,最短作业优先SJF,响应比高者优先HRN,定时轮转法(按时间片),优先数法。
Linux中 > 是输出重定向,格式为“命令 > 文件名”,如果>右边的文件已经存在,则将其覆写;>> 是追加重定向,格式为“命令 >> 文件名”,将指定的一个或多个文件内容追加到输出文件末尾。
Ø P操作表示进程申请占用一个资源。当执行P操作时,信号量减1,若此时信号量>=0,则执行P操作的进程继续进行;否则,信号量<0,该进程被阻塞,等待唤醒;
Ø V操作表示进程释放一个资源。当执行V操作时,信号量加1,若此时信号量<=0,则从阻塞状态唤醒一个进程;否则,信号量>0,执行V操作的进程继续执行。
简单理解:当资源数>0时,执行P操作可以顺利占用一个资源(P之后信号量>=0),否则(P之后信号量<0)被阻塞;当释放一个资源时,若有进程因为等待该资源而被阻塞(V之后,信号量<=0),则唤醒一个进程。
若想实现进程间先后顺序,则可以在前序进程执行完成后做V,后续进程开始前执行P,后续进程必须等待前序进程执行V释放资源才能执行。
若使用两个计数器(使用中的块,空闲块)来判断文件一致性,则对于某一磁盘块,两个计数器只能有一个为1。
虚拟存储器中,辅存的编址方式是:按信息编址。
通常将I/O软件分为:用户应用层软件、中断处理程序、独立于设备的软件、设备驱动。采用分层思想的主要目的是,便于系统修改,扩充和移植。
特权指令主要用于系统资源的分配和管理,包括改变系统的工作方式、修改虚拟存储器管理的段表和页表、I/O指令、设置时钟、设置控制寄存器和关闭中断等。简言之,不允许用户程序直接使用的指令称为“特权指令”。关闭中断是特权指令。
安全管理分为4个级别:
Ø 系统级安全管理:不允许未经核准的用户进入系统; Ø 用户级安全管理:给用户分配文件访问权限;
Ø 目录级管理:为保护系统中的各种目录而设,与用户权限无关。分别为
用户和目录独立指定权限;
Ø 文件级:对文件属性的设置,控制用户对文件访问。
把一条命令的执行结果输入给下一条命令,这种机制称为“管道”。
在操作系统中,虚拟输入/输出设备通常采用Spooling技术,利用磁盘来实现。
微内核操作系统的结构包含“用户态”和“核心态”,特点包括:统一的接口,可伸缩性好,可移植性好,实时性好,安全可靠性高,支持分布式系统,真正面向对象操作系统。
逻辑地址(段号,段内/偏移地址)
1字节Byte = 8 位 bit 1KB = 1024 (字节)Byte
1MB = 1024KB 1GB= 1024MB
13. 项目管理
13.1. 图形工具
软件项目管理图形工具:
Ø 流程图:描述工作步骤之间的关系,无时间元素;
Ø PERT技术(计划评审技术):包括WBS及工作包先后关系网络图。提供
的定量工具:关键路径、估算单个任务最可能的开发持续时间、计算边界时间;
Ø 因果分析图:鱼骨图,分析质量问题产生原因;
Ø 甘特图:线段起点、终点代表任务起止时间,长度代表所需时间。指明
已完成的任务和有待完成的任务(看纵线是否扫过)。甘特图中的里程碑是阶段产出文档的编制与评审。优点是标明了各任务的计划进度和当前进度,能动态地反应软件开发进展情况。缺点是难以反应多任务之间存在的复杂逻辑关系。
Ø 关键路径法是一种基本的分析方法;
Ø 甘特图将关键路径分析的结果应用到项目日程表中;
Ø PERT网络分析是关键路径法的延伸,为项目实施过程引入项目持续期
的变化;
Ø 优先日程图法允许相互依赖的活动可以部分并行进行; Ø 进度计划启发式方法主要用于较为复杂的项目计划的分析。
13.2. 风险管理
项目风险管理是贯穿项目过程的一系列管理步骤,包括:
Ø 风险识别:自始自终进行。Boehm提出的“风险项目检查表”,列出了
所有可能的与每一个风险因素有关的提问。
Ø 风险评估:风险估计主要是确定风险发生的概率与后果,风险评价是确
定该风险的经济意义及护理的费/效分析;
Ø 风险量化和处理:得出量化序列表、项目确认研究、所需应急资源等量
化结果;风险处理包括三种方法:风险控制,风险自留,风险转移。 Ø 风险监控:跟踪识别的风险,识别剩余风险和出现的风险,修改风险管
理计划,保证风险计划的实施,并评估削减风险的效果。包括对风险发生的监督和对风险管理的监督。
风险曝光度(riskexposure)=错误出现率(风险出现率) X 错误造成损失(风险损失)
宏观上来说,风险分为以下几类:
[1] 项目风险:潜在的预算、进度、个人(人员和组织)、资源、用户和需
求方面的问题,以及他们对软件项目的影响。
[2] 技术风险:潜在的设计、实现、接口、检验和维护方面的问题。规格说
明的多义性,技术上的不确定性,技术陈旧、最新不成熟技术也是风险; [3] 商业风险:威胁待开发软件的生存能力,包括:
² 开发了一个没有人真正需要的优秀产品或系统(市场风险); ² 产品不再符合公司的整体商业策略(策略风险); ² 建造了一个销售部门不知道如何去卖的产品;
² 由于重点的转移或人员的变动而失去了高级管理层的支持(管理风险);
² 没有得到预算或人力上的保证(预算风险);
13.3. 质量管理
Poka-yoke意为“防差错系统”,基本理念:
Ø 决不允许哪怕一点点缺陷产品的出现,必须在实际中达到零缺陷; Ø 每天的每一件事都可能出现差错,导致缺陷;
Ø 我们不可能消除差错,但必须及时发现和立即纠正,防止差错形成缺陷。
SQA的目的是使软件开发过程对于管理人员来说是可见的。 SQA是一种应用于整个软件过程的活动,它包含: Ø 一种质量管理方法;
Ø 有效的软件工程技术(方法和工具); Ø 在整个软件过程中采用的正式技术评审; Ø 一种多层次的测试策略; Ø 对软件文档及其修改的控制; Ø 保证软件遵从软件开发标准; Ø 度量和报告机制。
缺陷排除效率DRE = e / ( e+d ) e为软件交付给用户之前发现的错误数,d为软件交付之后发现的缺陷数。(简单理解:排除掉的错误占总错误的比例。)
正式技术复审FTR是一种由软件工程师进行的软件质量保证活动。FTR的目标是:
Ø 在软件的任何一种表示形式中发现功能、逻辑或实现的错误; Ø 正式经过复审的软件的确满足需求; Ø 保证软件的表示符合预定义的标准; Ø 得到以一种一致的方式开发的软件; Ø 使项目更易于管理。
FTR实际上是一类复审的方式,包括走查、审查、轮查,以及其它软件小组的技术评估。每次FTR都以会议形式进行。
SQA有基于非执行的测试(“评审”)、基于执行的测试(通常所说的“测试”)和程序正确性证明。软件评审是最为重要的SQA活动之一,它的作用是,在发现及改正错误的成本相对较小时就及时发现并排除错误。审查和走查是进行正式
技术评审的两类具体方法。
13.4. 配置管理
软件配置管理SCM是在整个生命周期中,对软件及其相关产品的变更进行管理,以提高效率,避免混乱,有效保护软件资源的一项技术。
SCM可以有效记录某一特定的软件产品的全部配置项(代码、文档、数据和测试用例等)的历史变更轨迹,控制变更行为,使变更在一种受控的状态下进行。
软件配置管理活动主要有编制配置管理计划、配置标识、配置控制、配置状态报告、配置评价、发行管理和交付。
基线是软件生存期各个开发阶段的工作成果,软件开发各阶段的配置基线如下:
Ø 计划阶段:开发计划;
Ø 需求分析阶段:需求规格说明书,用户手册; Ø 设计阶段:设计规格说明; Ø 编码阶段:程序清单; Ø 测试阶段:测试报告。
13.5. 综合
管理活动的一个最基本原则是任何工作开展之前必须制定计划。
项目三角形:三边是范围、成本、时间,中心是质量。
特定题目思路(优化任务总时间):对于一些分两步的任务,时间最小值是第二步,就往后排,时间最小值是第一步就往前排。
心跳检测是能够提高系统可用性的措施:双机集群,A、B共享磁盘整列,A为工作机,B为备份机,他们之间用一根心跳线连接,这称为“心跳检测”。周期性的发出相互检测的测试包,如果工作机出现故障,备份机在连续丢失设定数目的检测包后,会认为工作机出现故障,这时备份机会自动检测设置中是否有第二种心跳,如果没有第二种心跳,备份机就根据已设定的规则,启动相关服务,完成双机热备的切换。
需求是回答“做什么”,设计是回答“如何做”。
需求分析就是对处理的对象进行系统调查,主要包括系统范围与目标分析、系统组织结构与功能分析和系统性能分析。其中,在系统组织结构与功能分析中,需要了解组织的目标及其战略规划、组织机构及各部分的功能、各部门职能的各种关系,分析组织机构的合理性等,可以应用以下几个工具:
Ø 组织结构图:描述组织各部门的领导和被领导关系; Ø 组织/业务关系图:描述业务和部门的关系; Ø 业务功能一览表:描述每一种业务所具有的功能。
期望需求间接定义了用户对某些特性的期望。
14. 专业英语
Discipline n.学科,几率,训练,惩罚;vt.规范,定义,使有条理 Cottage n.小屋,村舍;农舍式小别墅 Cottage industry 作坊式工业,家庭手工业 Niche 小范围,小批量 Cater to 服务,满足 Long for 渴望 Broadly 广泛地
Depress vt.使沮丧,使萧条
Agreement n.协议,同意,一致 Vendor 卖方,供应商,开发商 In conjunction 结合
ABC activity based costing 一种会计技术 IDEFO活动建模 Tuple n.【计】元组
Implicit adj. 含蓄,暗含,隐喻 Astute adj.机敏的,狡猾的 Realize 意识到;实现
Duplication n. 复制;副本;成倍 DCN 数据通信网络 Alogical 非逻辑
Prohibitive adj. 禁止的,禁止性的;抑制的;(费用,价格等)过高的;类同禁止的
Proliferate vi. 增殖;扩散;激增;vt. 使激增 Overlay 叠加
Legacy 遗赠,遗产;【计算机】(软件)使用时间过长而难以维护的 Complete adj. 完整的;完全的;彻底的;vt. 完成 Compete vi. 竞争;比赛;对抗
OLE object linking and embedding 由微软开发的符合文档标准 Backwards compatible 向后兼容 Raw adj.原始的,未加工的
Syntax n. 语法;句法;有秩序的排列
Substitute n. 代用品;代替者;vi. 替代;vt. 代替 Underlying adj.潜在的,根本的 Albeit conj.虽然,即使 Eliminate vt. 消除;排除
Indenting n. 压痕,刻痕 v.缩进排版 Incentive n.动机
Electronic transaction 电子交易
Integrity n. 完整;正直;诚实;廉正 ;【计】完整性 In this manner 以这种方式
fine grained management 精细化管理 rogue vt.欺诈
justify vi. 证明合法;整理版面;vt. 证明…是正当的;替…辩护 chore n. 家庭杂务;日常的零星事务;讨厌的或累人的工作
overhead 【经济学】(费用等)管理的,间接的;【会计学】间接费用(或成本);[常用复数]一般管理费;日常开支
intrusion n.入侵,闯入
DOS attack denial of service attack Masquerading 伪装 Take advantage 利用
Vulnerable adj. 易受攻击的,易受…的攻击;易受伤害的;有弱点的 Malicious adj. 恶意的;恶毒的;蓄意的;怀恨的 Interdependence n.相互依赖
Petri Net : 包含place和transition,place用圆圈表示,transition用方形表示,两个place或者两个transition之间不能相联。
Requirement discovery 需求挖掘 Fact-finding 实事发现(实情调查)
Application analysis 应用分析(处理应用系统中用户可见的计算机问题) Project sponsor 项目发起人
Represent vt. 代表;表现;描绘;回忆;再赠送;vi. 代表;提出异议
15. 数学与经济基础
15.1. 排列组合
15.2. 概率论
事件B发生的条件下事件A发生的条件概率P(A|B)=P(AB) P(B)其中,P(AB)是A、B同时发生的概率,P(AB)=P(A|B)P(B)=P(BA)=P(B|A)P(A)
多个事件之积的情形:P(ABC)=P(C|AB)P(B|A)P(A)
如果A、B相互独立则:P(A|B)=P(A) P(B|A)=P(B) P(AB)=P(A)P(B)
全概率公式:如果事件A1,A2…An是试验E的一个完备事件组,且P(Ai)>0,则对于E中任一事件B,有:P(B)=∑P(Ai)P(B|Ai)
i=1n
15.3. 经济基础
利润现值:设在第i年的利润值为GP(i),第i年的贴现系数为DR(i),第i年的利润现值为NPV(i),则NPV(i)=GP(i)/DR(i)。DR(i)=(1+贴现率)i。
简单理解:第i年的资产为Y万元,贴现率为10%,则资产现值为Y/(1+10%)i,反之,现在资产为X万元,第i年资产为X*(1+10%)i类似于计算银行存款。
盈亏平衡点:企业处于不赢不亏状态下所达到的业务量、销售量。 盈亏平衡点=总固定成本/(单位售价-单位可变成本) (公式的字面理解:总固定成本/单个产品销售带来利润)
Ø 可变成本是与销量成比例变化的要素,比如材料,劳动力,包装; Ø 固定成本是不随数量变化的要素。
非确定型决策准则:
Ø 乐观主义准则:最大最大准则maxmax。大中取大。在决策表中各个方案对
各个状态的结果选出最大者,记在表的最右列,再从该列中选最大者。 Ø 悲观主义准则:最大最小准则maxmin。小中取大。从决策表中各个方案对
各个状态的结果选出最小者,记在表的最右列,再从该列中选最大者。
15.4. 图论
1无向完全图的边数有n(n−1)条 2
最小生成树---普里姆算法的基本思想:
从连通网N={V,E}中的任意一顶点U0出发,选择与它关联的具有最小权值的边(U0,v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u,v),把它的顶点加入到集合U中。如此继续下去,直到网中的所有顶点都加入到生成树顶点集合U中为止。
15.5. 其它
矩阵乘法:
“复杂系统”的“复杂”是指各子系统之间关联的复杂性。
“模型”是现实世界的抽象或近似,主要包括叙述型,物理型,图解型,和数学型等。模型的关键是准确性,要使模型尽量准确的反映现实世界的实际情况。
N次多项式的图形是具有n-1个弯曲和n-2个拐点的曲线。
数据处理遵循“信息不增原理”,即数据信号的任何处理,提炼都不能使信息量增加;相反,处理的结果常常会损失一些信息量,处理的环节和次数越多,损失的机会就越大。
数学研究的对象包括:数、形、模型三大类。求解实际问题需要先建立数学模型,一般只能建立近似模型,所以模型的假设总会产生误差。模型的参数需
要经过测量才能得到,测量也会发生误差。求解模型很难精确,只能采用近似解法,而且求解的计算过程也会产生误差。
评价信息系统经济效益常用的方法主要有:成本效益分析法、投入产出分析法,和价值工程法。
盈亏平衡法常用于商品的销售定价。
16. 论文
一定要按照问题回答,不要只看案例正文就开始写。 文章一般分为三个部分:项目介绍,问题2,问题3。 注意选择的项目一定要是三年以内发生的。
第一部分:项目介绍包括: Ø 项目开始、结束时间,项目周期
Ø 作者在项目中担任的角色,主要工作是什么
Ø 项目规模有多大,项目涉及到的模块介绍,项目立项的背景介绍
注意最后一部分要描述哪些地方做得不足,并给出解决方案。
17. 时间分配
综合:150分钟,75题,2分钟/题。最慢30分钟做15题,计划30分钟完成20题,2小时内完成所有题目。
案例分析:90分钟,3题,30分钟/题。 论文:120分钟
因篇幅问题不能全部显示,请点此查看更多更全内容