我每天花八小时练琴,他们却用“天才”一词埋没了我所有努力
中央处理器(运算器、控制器)
主机 内部存储器(随机存储器、只读存储器)
I/O设备接口
硬件系统
外部存储器(磁盘、硬盘)
外部设备 输入设备(鼠标、键盘、扫描仪)
输出设备(显示器、绘图仪、打印机)
计算机系统
系统软件(操作系统、语言处理程序、网络通讯管理程序)
软件系统
应用软件(office办公软件、游戏软件)
(1)程序控制功能。CPU通过执行指令来控制程序的执行顺序。
(2)操作控制。
(3)时间控制。
(4)数据处理。CPU最根本的任务。
运算器也称为算术逻辑单元(ArithmeticandLogicUnit,ALU),其主要功能是在控制器的控制下完成各种算术运算和逻辑运算。
运算器的组成包含如下。
① 算术逻辑单元ALU:数据的算术运算和逻辑运算;
② 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据;
③ 数据缓冲寄存器DR:写内存时,暂存指令或数据;
④ 状态条件寄存器PSW:存状态标志与控制标志
控制器是分析和执行指令的部件,也是统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。
控制器的组成包含如下。
① 程序计数器PC:存储下一条要执行指令的地址;
② 指令寄存器IR:存储即将执行的指令;
③ 指令译码器ID:对指令中的操作码字段进行分析解释;
④ 地址寄存器AR:用来保存当前CPU所访问的内存单元的地址。
⑤时序部件:提供时序控制信号。
(1)顺序方式。各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令。缺点是速度慢,机器各部件利用率低
(2)重叠方式。在解释第K条指令的操作完成之前就可以开始解释第K+1条指令,T=(2n+1)*t
(3)流水方式
流水线的吞吐率:TP=指令条数/流水线执行时间
最大吞吐率:TP=1/△t
流水线加速比:S=不适用流水线执行时间/流水线执行时间
流水线周期:执行时间最长的一段
公式:① 理论公式:(t1+t2+…+tk)+(n-1)*△t
② 实践公式:(k+n-1)*△t
真题知识点:
Cache的地址映像方式中,发生块冲突次数最小的是 (全相连映像) 。
(1)处理机管理(2)存储器管理(3)设备管理(4)文件管理(5)用户接口
进行资源分配和调度的基本单位。
进程通常由程序、数据集合、进程控制块 PCB 组成。
为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块(PCB)。 它是进程重要的组成部分,它记录了操作系统所需的、 用于描述进程的当前状态和控制进程的全部信息。
操作系统就是根据进程的PCB来感知进程的存在,并依此对进程进行管理和控制。 PCB是进程存在的唯一标识。
P操作:①将信号量S的值减1,即S=S-1;②如果S>=0,则该进程继续执行;否则该进程置为等待状态。
V操作:①将信号量S的值加1,即S=S+1;②如果S>0该进程继续执行;否则说明有等待队列中有等待进程,需要唤醒等待进程。
固定分区 静态分区,作业装入之前划分,大小固定,内存利用率不高。
可变分区 动态分区,碎片多。首次适应算法、最佳适应算法、最坏适应算法。
可重定位分区 合并零散空间。
段号 页号 页内地址
在计算机中,I/O系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、I/O处理机
位示图法:系统中字长、物理块数量、字数=物理块数量/字长
共128位,以16位为一段,共为8段,每段的16位转换为一个4位的十六进制数,没段之间用“:”分开
根据各自的特点,不同的交换技术适用于不同的场合。例如,对于交互式通信来说,报文交换肯定是不适合的;对于较轻和间歇式负载来说,电路交换是最合适的,因此,可以通过电话拨号线路来实行通信;
对于较重或持续的负载来说,使用租用的线路以电路交换方式通信是合适的;
对必须交换中等数据到大量的数据时,可用分组交换方法。
目前,主流的网络存储技术主要有三种,分别是直接附加存储(Direct Attached Storage, DAS)、网络附加存储(Network Attached Storage,NAS)和存储区域网络(Storage Area Network,SAN)
(1)直接附加存储
DAS 是将存储设备通过 SCSI(Small Computer System Interface,小型计算机系统接口)电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。因此,有些文献也把 DAS 称为 SAS(Server Attached Storage,服务器附加存储)由于 DAS 直接将存储设备连接到服务器上,这导致它在传递距离、连接数量、传输速率等方面都受到限制。因此,当存储容量增加时,DAS 方式很难扩展,这对存储容量的升级是一个巨大的瓶颈;另一方面,由于数据的读取都要通过服务器来处理,必然导致服务器的处理压力增加,数据处理和传输能力将大大降低;
此外,当服务器出现宕机等异常状况时,也会波及存储数据,使其无法使用。目前 DAS 基本被 NAS 所代替
(2).网络附加存储
采用 NAS 技术的存储设备不再通过 I/O 总线附属于某个特定的服务器,而是通过网络接口与网络直接相连,由用户通过网络访问NAS 存储设备类似于一个专用的文件服务器,它去掉了通用服务器的大多数计算功能,而仅仅提供文件系统功能,从而降低了设备的成本。并且为方便存储设备到网络之间能以最有效的方式发送数据,它专门优化了系统硬件与软件架构。NAS 以数据为中心,将存储设备与服务器分离,其存储设备在功能上完全独立于网络中的主服务器,客户机与存储设备之间的数据访问不再需要文件服务器的干预,同时它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高,NAS 存储支持即插即用,可以在网络的任一位置建立存储。基于 Web 管理,从而使设备的安装、使用和管理更加容易。
NAS 可以很经济地解决存储容量不足的问题,但难以获得满意的性能
(3)存储区域网络
SAN 是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网,其最大特点是将存储设备从传统的以太网中分离出来,成为独立的存储区域网络
网络设计的原则:
(1)采用先进,成熟的技术(2)遵循国际标准,坚持开放性原则(3)网络的可管理性(4)系统的安全性(5)灵活性和扩充性(6)系统的稳定性和可靠性(7)经济性(8)实用性
代理服务器是介于浏览器和Web服务器之间的一台服务器,当用户通过代理服务器上网浏览时,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,由代理服务器来取回浏览器所需要的信息并传送给用户的浏览器代理服务器的作用主要体现在以下5个方面:
(1)提高访问速度(2)可以起到防火墙的作用(3)通过代理服务器访问一些不能直接访问的网站(4)安全性得到提高(5)共享IP地址
常见的网络监视器
(1)Ethereal:提供了对TCP,UDP,SMB,telnet,ftp等常用协议的支持,覆盖了大部分应用需求
(2)NetXRay:主要是用做以太网络上的网管软件,能够对IP,NetBEUI,TCP/UDP等协议进行详细分析
(3)Sniffer:它是使网络接口处于混杂模式,以截获网络内容。它是最完善、应用最广泛的一种网络监视器
在操作系统中常用的网络管理工具
(4)ping命令:基于ICMP协议,用于把一个测试数据包发送到规定的地址
(5)tracert:检查到达的目标 IP 地址的路径并记录结果。tracert 命令显示用于将数据包从计算机传递到目标位置的一组 IP 路由器,以及每个跃点所需的时间。如果数据包不能传递到目标,tracert 命令将显示成功转发数据包的最后一个路由器
(6)netstat:用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
(7)IPConfig:显示当前的TCP/IP配置。这些信息一般用来检验人工配置的TCP/IP设置是否正确
(1)数据库DB
(2)硬件
(3)软件
(4)人员
(1)数据定义
(2)数据库操作
(3)数据库运行管理
(4)数据的组织、存储和管理
(5)数据库的建立和维护
(6)其他功能
(1)关系数据库系统RDBS
(2)面向对象的数据库系统OODBS
(3)对象关系数据库系统ORDBS
数据库系统划分为三个抽象级:用户级、概念级、物理级
数据库系统的三级模式为外模式、概念模式、内模式
(1)概念模式。概念模式(模式、逻辑模式)用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架,通常还包含有访问控制、保密定义、完整性检查等方面的内容,以及概念/物理之间的映射
概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个概念模式
(2)外模式。外模式(子模式、用户模式)用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件
(3)内模式
内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织
内模式、模式和外模式之间的关系如下:
(1)模式是数据库的中心与关键;
(2)内模式依赖于模式,独立于外模式和存储设备;
(3)外模式面向具体的应用,独立于内模式和存储设备;
(4)应用程序依赖于外模式,独立于模式和内模式
数据库系统两级独立性是指物理独立性和逻辑独立性。三个抽象级间通过两级映射(外模式—模式映射,模式—内模式映射)进行相互转换,使得数据库的三级形成一个统一的整体
视图-外模式,存储文件-内模式,基本表-模式
并、差、交、笛卡尔积、选择、投影、连接、外连接(左外连接、右外连接、完全外连接)
函数依赖、完全函数依赖、部分函数依赖、传递依赖、超键、候选键、主键、外键、主属性和非主属性
无损连接,并保持函数依赖的
1NF(第一范式)。若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式
2NF(第二范式)。若关系模式R∈1NF,且每一个非主属性完全依赖主键时,则关系式R是2NF
3NF(第三范式)。即当2NF消除了非主属性对码的传递函数依赖,则称为3NF
数据库系统运行的基本工作单位是事务,事务相当于操作系统中的进程
(1)原子性(Atomicity):数据库的逻辑工作单位。
(2)一致性(Consistency):使数据库从一个一致性状态变到另一个一致性状态。
(3)隔离性(Isolation):不能被其他事务干扰。
(4)持续性(永久性)(Durability):一旦提交,改变就是永久性的。
处理并发控制的主要方法是采用封锁技术。它有两种类型:排他型封锁(X 封锁)和共享型封锁
按照备份内容分为物理备份和逻辑备份两类
(1)增加冗余列(2)增加派生列(3)重新组表(4)分割表
数据库设计过程通常是一个反复修改、反复设计的迭代过程
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。
数据挖掘所得到的信息应具有先知,有效和可实用三个特征
软件定义时期:(1)问题定义(2)可行性研究(3)需求分析.
软件开发时期:(1)概要设计(2)详细设计(3)编码
运行和维护:
系统的开发方法主要包括结构化分析与设计、面向数据结构的设计、面向对象分析与设计以及构件化方法四种
(1)自适应非预设性
(2)面向人(对象)而非面向过程
极限编程:四大价值观 沟通、简单、反馈、勇气
十二个最佳实践:
计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作 40 小时、现场客户、编码标准
形式化方法包括形式化描述和基于形式化描述的形式化验证两部分内容。
形式化描述就是用形式化语言进行描绘,建立软件需求和特性,即解决软件“做什么”的问题。
形式化验证指的是验证已有的程序是否满足形式化描述的定义
(1)控制对需求基线的变动
(2)保持项目计划与需求一致
(3)控制单个需求和需求文档的版本情况
(4)管理需求和联系链,或者管理单个需求和其他项目可交付产品之间的依赖关系
(5)跟踪基线中的需求状态
范围管理
配置管理
质量管理
–敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。敏捷方法的核心思想主要有以下三点。
①敏捷方法是“适应性”而非“预设性”的。传统方法试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依计划进行开发。
这类方法在计划制定完成后拒绝变化。而敏捷方法则欢迎变化,其实它的目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。
②敏捷方法是以人为本,而不是以过程为本。传统方法以过程为本,强调充分发挥人的特性,不去限制它,
并且软件开发在无过程控制和过于严格繁琐的过程控制中取得一种平衡,以保证软件的质量。
③迭代增量式的开发过程。敏捷方法以原型开发思想为基础,采用迭代增量式开发,发行版本小型化。RUP相比,敏捷方法的周期可能更短。
敏捷方法在几周或者几个月的时间内完成相对较小的功能,强调的是能尽早将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强,并且更加强调团队中的高度写作。
–统一过程(UP)的基本特征是以用例和风险驱动,以架构为中心,受控的迭代式的增量开发。定义了四个阶段:
起始阶段:该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,提交结果包括需求和用例。
精化阶段:该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构、问题领域、修改后的需求及项目开发计划等相关文档。
构建阶段:增量式开发可以交付给用户的软件产品。
移交阶段:目的是将软件产品交付给用户。
也称为逻辑设计阶段,其任务是根据系统设计任务书所确定的范围,对现有系统进行详细调查,描述现有系统的业务流程,指出现有系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。
在系统分析阶段,系统分析师要和用户一起细致地进行调查分析,把用户的初始需求具体化、明确化,最终转换成关于新系统“做什么”的逻辑模型。
系统分析是整个系统建设的关键阶段,也是信息系统建设与一般工程项目的重要区别之所在。系统分析阶段的工作成果体现在系统需求规格说明书中,这是系统建设的必备文件,是系统设计阶段的工作依据,也是将来系统验收的依据
(1)获得现有系统的物理模型(2)抽象出现有系统的逻辑模型(3)建立新系统的逻辑模型(4)建立新系统的物理模型
组织结构图是一种类树结构,树的分枝是根据上下级和行政隶属关系绘制的通过组织结构调查,系统分析师可以掌握企业组织结构的现状和存在的问题
数据与数据流程分析是以后建立数据库系统和设计功能模块处理过程的基础
系统需求规格说明书也称为系统分析报告,或简称为系统说明书,它是系统分析阶段的技术文档,也是系统分析阶段的工作成果,一旦通过评审,系统需求规格说明书将成为系统开发中的权威性文件,是系统设计阶段的主要依据。
同时,系统需求规格说明书也是承建方与建设方之间的技术合同,是将来对系统进行验收的标准之一
结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作
结构化方法的核心思想是"自顶向下,逐步分解"。特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化
(1)研究“物质环境”。首先,应画出当前系统(可能是非计算机系统,或是半计算机系统)的数据流图,说明系统的输入、输出数据流,说明系统的数据流情况,以及经历了哪些处理过程
(2)建立系统逻辑模型。当物理模型建立完成之后,接下来的工作就是画出相对于真实系统的等价逻辑数据流图。
在前一步骤建立的数据流图的基础上,将所有自然数据流都转成等价的逻辑流,例如,将现实世界的报表存储在计算机系统中的文件里;又如将现实世界中“送往总经理办公室”改为“报送报表”
(3)划清人机界限。最后,确定在系统逻辑模型中,哪些将采用自动化完成,哪些仍然保留手工操作
元素: 数据流、加工、数据存储、外部实体,以及他们的图形表示
数据字典有以下4类条目:数据流、数据项、数据存储和基本加工
1.模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息
2.巧合内聚就是偶然内聚。偶然内聚由于内容都是不相关的,所以必然导致它与外界多个模块有关联,这也使得模块间的耦合度增加
系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题,而系统设计阶段解决“怎么做”的问题。同时,它也是系统实施的基础,为系统实施工作做好铺垫。合理的系统设计方案既可以保证系统的质量,也可以提高开发效率,确保系统实施工作的顺利进行
系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。
根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等
为了更清晰地表达过程规则说明,陆续出现了一些用于表示处理流程的工具,这些工具包括三类,分别是图形工具、表格工具和语言工具。
其中常见的图形工具包括程序流程图、IPO图、盒图、问题分析图、判定树,表格工具包括判定表,语言工具包括过程设计语言等
1.是一种面向数据流的方法,它以SRS和SA阶段所产生的数据流图和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程
2.在SD中,这种功能分解就是将系统划分为模块,模块是组成系统的基本单位,它的特点是可以自由组合、分解和变换,系统中任何一个处理功能都可以看成一个模块
3.一个模块应具备以下四个要素
(1)输入和输出
(2)处理功能。指模块把输入转换成输出所做的工作
(3)内部数据。指仅供该模块本身引用的数据
(4)程序代码。指用来实现模块功能的程序。前两个要素是模块的外部特性,即反映了模块的外貌;后两个要素是模块的内部特性
4.一般而言,在SC中存在四种类型的模块
(1)传入模块。传入模块从下属模块中获取数据,经过某些处理,再将其传送给上级模块
(2)传出模块。传出模块从上级模块中获取数据,进行某些处理,再将其传送给下属模块
(3)变换模块。变换模块也称为加工模块,它从上级模块获取数据,进行特定的处理,然后转换成其他形式,再传送回上级模块,
大多数计算模块(原子模块)都属于这一类
(4)协调模块。协调模块是对所有下属模块进行协调和管理的模块
5.系统结构图(Structure Chart,SC)又称为模块结构图,它是软件概要设计阶段的工具,反映系统的功能实现和模块之间的联系与通信,包括各模块之间的层次结构,即反映了系统的总体结构
SC包括模块、模块之间的调用关系、模块之间的通信和辅助控制符号等四个部分
–软件概要设计包括设计软件的结构、确定系统功能模块及其相互关系,主要采用( )描述程序的结构。
1、需求分析阶段:数据流图。
2、概要设计阶段:模块结构图、层次图和HIPO图。
3、详细设计阶段:程序流程图、伪代码、盒图。
–软件设计包括了四个既独立又相互联系的活动:高质量的( )将改善程序结构和模块划分,降低过程复杂性;( )的主要目标是开发一个模块化的程序结构,并表示出模块间的控制关系;(请作答此空)描述了软件与用户之间的交互关系。
软件设计包括体系结构设计、接口设计、数据设计和过程设计。
结构设计:定义软件系统各主要部件之间的关系。
数据设计:将模型转换成数据结构的定义。好的数据设计将改善程序结构和模块划分,降低过程复杂性。
接口设计(人机界面设计):软件内部,软件和操作系统间以及软件和人之间如何通信。
过程设计:系统结构部件转换成软件的过程描述。
ABSD方法是体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。在基于体系结构的软件设计方法中,采用视角与视图来描述软件架构,采用用例但来描述功能需求,采用质量场景来描述质量需求。
ABSD方法有三个基础:
第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术。
第二个基础是通过选择体系结构风格来实现质量和商业需求。
第三个基础是软件模板的使用。软件模板利用了一些软件系统的结构
体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这两个文档。
体系结构复审是一个迭代过程。目的是标识出潜在的风险尽早发现体系结构设计中的缺陷和错误。
从这个方面来说,在一个主版本的软件体系结构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审。
–软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
–机器人需要根据自身状态的外界环境进行自动调整,这是一个典型的根据外部事件进行响应的场景。比较4个候选项,规则系统比较适合根据外部事件,以自身状态为基础自动进行处理和动作的场景。
–轿车巡航定速系统是一个十分典型的控制系统,其特点是不断采集系统当前状态,与系统中的设定状态进行对比,并通过将当前状态与设定状态进行对比从而进行控制
–该软件系统特别强调用户定义系统中对象的关系和行为这一特性,这需要在软件架构层面提供一种运行时的系统行为定义与改变的能力,根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是解释器风格
–某公司拟为某种新型可编程机器人开发相应的编译器。该编译过程包括词法分析、语法分析、语义分析和代码生成四个阶段,每个阶段产生的结果作为下一个阶段的输入,且需独立存储。针对上述描述,该集成开发环境应采用(管道—过滤器)
–软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。
软件架构设计能够满足系统的性能、安全性、可维护性等品质;
软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构;
软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用;
软件架构设计对系统开发具有指导性;
软件架构设计为系统复用奠定的基础;软件架构设计能够支持冲突分析。需要注意的是,软件架构设计与系统需求是直交的,两者并无必然联系。
–体系结构文档化有助于辅助系统分析人员和程序员去实现体系结构。体系结构文档化过程的主要输出包括体系结构规格说明、测试体系结构需求的质量设计说明书
–软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的(结构和语义)
–软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计需满足系统的(质量属性),如性能、安全性和可修改性等,并能够指导设计人员和实现人员的工作。
(1)用例图:从外部用户角度描述系统功能,并指出功能执行者。
(2)静态图:显示了系统的静态结构,特别是存在事物的种类的内部结构相互之间的关系,静态图包括类图、对象图、包图。
(3)行为图:描述系统的动态模型和组成对象间的交互关系,包括交互图、状态图、活动图。
(4)实现图:描述软件实现系统的组成和分布状况。包括构件图、部署图
活动图和状态图的区别
状态图是用来描述行为的结果,活动图主要描述行为的动作
行为型模式 描述类与对象怎样交互、怎样分配职责 策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、
备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
共十一种。口诀:观摩(模)对(迭)策,责令解放(访),戒(介)忘台(态)。
责任链模式:让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。申报经费流程、工作流
解释器模式:这个解释器使用该表示来解释语言中的句子。数学运算
模板方法模式:定义一个整体的框架、骨架,细节有子类完成。比如说银行的办理业务的流程步骤框架
命令模式:遥控电视机,word撤销
迭代器模式:电视频道切换
中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互
比如系统和各个硬件,系统作为中介者,各个硬件作为同事者,硬件发生变化告知中介者,由中介者告知其他硬件
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态,word撤销
观察者模式:定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新,
也叫发布订阅模式,交通灯
状态模式:对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类,订单四个状态,每个状态都对应相应的行为
策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
例如:从上海到北京旅行,有骑自行车、开汽车、坐火车、坐飞机四种算法或方式到达,方法之间都可以替换,结果都是可以到达的
访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。
即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。
例如:医院开了一张单子,流转到不同的工作人员这里,都会对这个单子进行操作,输出不同的结果
1.关于用例图中的参与者说法正确的是(B)
A.参与者是与系统交互的事物,都是由人来承担
B.当系统需要定时触发时,时钟就是一个参与者
C.参与者可以在系统外部,也可能在系统内部
D.系统某项特定功能只有一个参与者
参与者是与系统交互的所有事物,该角色不仅可以由人承担,还可以是其他系统和硬件设备,甚至是系统时钟。
2.UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。
具体来说,就是指以下5个系统视图:
①逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
②进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
③实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。
④部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
⑤用例视图。用例视图是最基本的需求分析模型。
3.当采用面向对象的设计方法描述对象模型时,通常使用类图表达类的内部属性和行为,以及类集合之间的交互关系;采用状态图定义对象的内部行为。
4.在实际工作中,一般使用E-R图表示数据模型,用DFD表示功能模型,用状态转换图表示行为模型
5.根据定义,基于软件架构的开发(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。
它强调采用(视角和视图)来描述软件架构,采用(用例和质量属性)场景来描述需求。
6.面向对象的分析模型主要由顶层架构图、用例与用例图和领域概念模型构成;
设计模型则包含以包图表示的软件体系机构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图和用以描述流程化处理过程的活动图等。
软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤,软件测试可以验证软件是否满足软件需求规格说明和软件设计所规定的功能、性能及其软件质量特性的要求,为软件质量的评价提供依据。
分别为动态测试和静态测试
动态测试指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法
根据测试的目的、阶段的不同,可以把测试分为单元测试、集成测试、确认测试、系统测试等种类
面向对象测试是与采用面向对象开发相对应的测试技术,它通常包括4个测试层次,从低到高排列分别是算法层、类层、模板层(主题层)和系统层
在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下4种:改正性维护、适应性维护、完善性维护、预防性维护
在实际维护工作中,改正性维护大约占20%的工作量,适应性维护大约占25%的工作量,完善性维护大约占50%的工作量
–软件测试类别
1.软件测试可分为单元测试、集成测试、配置项测试、系统测试、验收测试和回归测试等类别。
单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或面向对象软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。
单元测试的技术依据是软件详细设计说明书。
2.集成测试的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。
集成测试的技术依据是软件概要设计文档。
3.配置项测试的对象是软件配置项,配置项测试的目的是检验软件配置项与软件需求规格说明的一致性。
4.确认测试主要验证软件的功能、性能和其他特性是否与用户需求一致。
5.验收测试是指针对软件需求规格说明,在交付前以用户为主进行的测试。
6.回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的复合型,以及软件原有的、正确的功能、性能和其他规定的要求的不损害性。
–驱动模块和桩模块
1.测试一个模块时,可能需要为该模块编写一个驱动模块和若干个桩模块。
2.驱动模块用来调用被测模块,它接收测试者提供的测试数据,并把这些数据传送给被测模块,然后从被测模块接收测试结果,
并以某种可见的方式将测试结果返回给测试人员;
3.桩模块用来模拟被测模块所调用的子模块,它接受被测模块的调用,检验调用参数,并以尽可能简单的操作模拟被调用的子程序模块功能,把结果送回被测模块。上层模块测试时不需要驱动模块,底层模块测试时不要桩模块。
①自顶向下的单元测试先测试上层模块,再测试下层模块。测试下层模块时由于它的上层模块已测试过,所以不必另外编写驱动模块。
②自底向上的单元测试。自底向上的单元测试先测试下层模块,再测试上层模块。测试上层模块由于它的下层模块已经测试过,所以不必另外编写桩模块。
③孤立测试不需要考虑每个模块与其他模块之间的关系,逐一完成所有模块的测试。由于各模块之间不存在依赖性,单元测试可以并行进行,
但因为需要为每个模块单独设计驱动模块和桩模块,增加了额外的测试成本。
④综合测试。上述三种单元测试策略各有利弊,实际测试时可以根据软件特点和进度安排情况,将几种测试方法混合使用
目的是为创建某一独特产品、服务或成果而临时进行的一次性努力或工作
特点:临时性、独特性、渐进明细
项目是人与人之间综合行为的处置过程
项目管理就是将(知识、技能、工具与技术)应用于项目活动,以满足项目的要求。项目管理通过(合理运用与整合特定项目)所需的项目管理过程得以实现。
项目管理使组织能够(有效且高效)地开展项目。
制约项目成功的四个因素:范围、进度、成本、质量
项目管理就是在复杂多变环境中如何做好一件事
项目的生命周期可划分为4个基本阶段:概念阶段(定义阶段)、开发阶段、实施阶段和结束阶段(收尾阶段)
–确认项目范围对项目管理的意义:
项目范围定义不清往往是导致项目失败的首要原因
项目范围管理是项目各项计划、控制的基础
项目范围管理确定了项目的具体工作任务,有助于清楚的责任划分和任务分派
清楚了项目的工作具体范围和具体内容,为提高成本、进度和资源估算的准确性打下基础
–项目产品范围 表示产品或服务的特性和功能,如产品的需求规格说明书
项目工作范围 为了完成具有所规定特征和功能的产品和服务必须完成的工作
产品范围面向客户,项目范围面向团队内部。项目范围服务产品范围。
项目范围是为了达到项目目标,为了交付具有某种特制的产品和服务,项目所规定要做的。
在信息系统项目中,产品范围是指信息系统产品或者服务所应该包含的功能,
项目范围是指为了能够交付信息系统项目所必须做的工作。产品范围是项目范围的基础,产品的范围定义是信息系统要求的度量,
而项目范围的定义是生产项目计划的基础。产品范围描述是项目范围说明书的重要组成部分。
软件文档可以分为三类(开发文档、产品文档、管理文档)
计算工期<计划工期<合同工期<要求工期(客户要求)
关键路径是耗时最长的一条路径
箭头尾部的节点编号要比前面的大,不一定连续
| ES | 工期 | EF |
-----—-------------------—
| 工作编号 |
-----—-------------------—
| LS | 总时差 | LF |
-----—-------------------—
Min
关键路径上的时间 从左到右和从右到左是一致的,
总时差:不影响总工期=LS-ES,关键路径上的总时差是0
自由时差:不影响紧后工作=紧后ES-本EF
单代号和双代号网络图只能有一个起点和终点
总时差 = 当前任务的自由时差 + 紧后工作中最小的总时差
总时差 = 线路上的自由时差之和
有充足备用资源的工作、对安全和质量影响不大的工作、所需增加成本最少的工作
5.依次施工:T=编号个数*(编号内工期=编号内施工过程个数单个施工过程的工期) = 3(35)
平行施工:T=编号内工期 = 35
流水施工:T=(编号个数-1)单个施工过程的工期 + 编号内施工过程个数单个施工过程的工期 = (3-1)5 + (35)
(1)控制论的创始人维纳认为:信息就是信息,它既不是物质,也不是能量。
(2)信息论的奠基者香农认为:信息是能够用来消除不确定性的东西。
(3)信息的概念存在两个基本的层次,即本体论层次和认识论层次
人工智能之父图灵
信息公式的解释:H(X)表示X的信息熵,pi是事件出现第i种状态的概率,在二进制的情况下,对数的底是2,这是信息熵可以作为信息的度量,称为信息量,单位是比特(bit)
信源–编码–信道–解码–信箱 噪声是在信道中产生的
精完可及经验安(精确性、完整性、可靠性、及时性、经济性、可验证性、安全性)
信息化从小到大分为5个层次,如表1-2所示。速记词:产企业国社(产品信息化、企业信息化、产业信息化、国民经济信息化、社会生活信息化)。
信息化的主体是全体社会成员,包括政府、企业、事业、团体和个人。空域是政治、经济、文化、军事和社会生活的一切领域。时域是一个长期的过程。
信息资源是核心、信息技术应用是龙头、信息网络是基础、信息技术和产业是国家信息化建设基础、信息化人才是关键、信息化政策法规和标准规范是保障。那张图也要记住!!
第1步 2017—2020 围绕全面建成小康社会的奋斗目标,服务重大战略布局,促使信息化成为驱动现代化建设的先导力量,网信事业在践行新发展理念上先行一步
第2步 2020—2025 紧紧围绕网络强国建设目标,实现技术先进、产业发达、应用领先、网络安全坚不可摧
第3步 2025—21世纪中叶 信息化全面支撑富强民主文明和谐的社会主义现代化国家建设,网络强国地位日益巩固,引领全球信息化发展
(1)是指信息化与工业化发展战略的融合。
(2)是指信息资源与材料、能源等工业资源的融合。
(3)是指虚拟经济与工业实体经济融合。
(4)是指信息技术与工业技术、IT设备与工业装备的融合。
电子政务主要包括4个方面:G2G、G2B、G2C、G2E
(1)凡使用了诸如电报、电话、广播、电视、传真以及计算机、计算机网络等手段、工具和技术进行商务活动,都可以称之为电子商务。
(2)EDI(电子数据交换)是连接原始电子商务和现代电子商务的手段。
(3)电子商务的基本特征。普遍性 便利性 整体性 安全性 协调性
电子商务分五个方面,即电子商情广告、电子选购与交易、电子交易凭证的交换、电子支付与结算,以及网上售后服务等。
参与电子商务的实体有4类:客户(个人消费者或集团购买)、商户(包括销售商、制造商和储运商)、银行(包括发行和收单行)及认证中心。
网络基础设施(远程通信网、有线电视网、无线电通信网和Internet)、多媒体内容和网络出版的基础设施(HTML、Java、全球Web)、报文和信息传播的基础设施(FAX、E-mail、EDI、HTTP)、商业服务的基础设施(目录服务、安全、认证、电子付款)
电子商务应用(在线营销与广告、在线购物、采购和购买、远程金融服务、供应链管理、其他应用)
法标安信在现技服运
法律法规体系 标准规范体系 安全认证体系 信用体系 在线支付体系 现代物流体系 技术装备体系 服务体系 运行监控体系
企业信息化发展过程应遵循如下原则:
效益原则
一把手原则
中长期与短期建设相结合的原则
规范化和标准化原则
以人为本的原则
政务内网、政务外网
中国政府网
资源地理基础信息库、法人单位基础信息库、人口基础信息库、宏观经济信息库
金盾、金审、金财、金融监管、金保、金农、金水、金质、金关、金税、宏观晋级管理、办公业务资源
信息系统生命周期包括:
立项(系统规划)、开发(系统分析、系统设计、系统实施、系统验收)、运维和消亡4个阶段
结构化方法 原型化方法 面向对象方法 面向服务的方法
ITSM是一种IT管理,与传统的IT管理不同,它是一种以服务为中心的IT管理。
实施ITSM的根本目标有3个:以客户为中心提供IT服务,提供高质量、低成本的服务,提供的服务是可准确计价
ITSM的主要任务是管理客户和用户的IT需求。
技术管理中的服务级别管理(SLA,主要指服务质量) 事件管理 问题管理
四控三管一协调
质量控制\进度控制\投资控制\变更控制
安全管理\合同管理\信息管理
项目组织协调
四要素:P人员、P过程、技术、R资源
需求必须可以被验证。
需求分析的目标:检测和解决需求之间的冲突、发现系统的边界、详细描述出系统需求
(1)软件配置管理活动包括:软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。
(2)配置库的权限设置。
配置管理员负责为项目成员分配权限
Read 可以读取文件内容,但不能对文件进行变更
Check 可使用[check in]等命令,对文件内容进行变更
Add 可使用[文件追加]、[文件重命名]、[删除]等命令
Destroy 有权进行文件不可逆毁坏、清除、[rollback]等命令
(3)受控库的权限设置(图表)
(4)产品库的权限设置(图表)
包括如下五个方面:项目启动与范围定义、项目规划、项目实施、项目监控与评审、项目收尾与关闭。
软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。例如:软件需求工具包括需求建模工具和需求追踪工具
软件复用的主要思想是:将软件看成是由不同功能的“组件”组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具
对象的三个基本要素分别为:对象标识、对象状态、对象行为
即运用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。
数据库与数据仓库技术
(1)数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
(2)数据仓库系统结构
适用于Web Service的情况:跨越防火墙、应用程序集成、B2B集成、软件重用
不适用于Web Service的情况:单机应用程序,局域网上的同构应用程序
①数据库访问中间件,典型技术Windows平台的ODBC和Java平台的JDBC。
②远程过程调用中间件(RPC),从效果上来看和执行本地调用相同。
③面向消息中间件(MOM),进行平台无关的数据传递,典型如IBM的MQSeries。
④分布式对象中间件,典型OMG的CORBA、Java的RMI/EJB、Microsoft的DCOM等。
⑤事务中间件,完成事务管理与协调、负载平衡、失效恢复等任务,典型IBM/BEA的Tuxedo、支持EJB的JavaEE应用服务器等。
OSI七层协议、TCP/IP结构
Internet协议的主要协议及其层次关系
网络分类、组网和接入技术
(1)根据计算机网络覆盖的地理范围分类,可以分为:局域网、城域网、广域网。
(2)根据链路传输控制技术分类,可以分为:以太网、令牌网、FDDI网、ATM网、帧中继网和ISDN网。其中,总线争用技术是以太网的标识,
ATM称为异步传输模式,ISDN是综合业务数据网。
(3)根据网络拓扑结构分类,分为总线型、星型、树型、环型、网状。
(4)网络中的数据交换可以分为:电路交换、分组交换、ATM交换、全光交换和标记交换。
(5)网络接入技术分为光纤接入、同轴电缆接入、铜线接入、无线接入。
(6)无线网络是指以无线电波作为信息的传输媒介,根据应用领域可分为: 无线个域网、无线局域网、无线城域网、蜂窝移动通信网。
综合布线和机房工程
(2)机房计算机设备宜采用分区布置,主要包括:主机区、存储器区、数据输入区、数据输出区、通信区和监控调度区等。
(3)主机房内通道与设备间的距离应符合以下规定:
1)两相对机柜正面之间的距离不应小于1.5m;
2)机柜侧面(或不用面)距墙不应小于0.5m,当需要维修测试时,机柜距墙不应小于1.2m;
3)走道净宽不应小于1.2m。
(4)机房照明一般采用无眩光多隔栅灯;主机房照度不小于300LUX,辅助间不小于200LUX,故障照明不小于60LUX,机房照明应分别有开关控制,
符合相关电气设计施工规范
(5)机房供电系统应采用双回路供电,并选择三相五线制供电。
(6)机房应采用四种接地方式:
1)交流工作接地,接地电阻不应大于4Ω;
2)安全工作接地,接地电阻不应大于4Ω;
3)直流工作接地,接地电阻应按计算机系统具体要求确定;
4)防雷接地,应按现行国家标准《建筑防雷设计规范》执行。
(7)开机时计算机机房的温、湿度要求–记下数字
(8)停机时计算机机房的温、湿度要求–记下数字
(9)RJ45接头需求量的计算公式:
RJ45的需求量:m = n×4 + n×4×15%
—m为RJ45的总需求量。
—n为信息点的总量。
—n×4×15%为留有的富余量。
(10)信息模块的需求量计算公式:
信息模块的需求量:m = n + n×3%
—m为信息模块的总需求量。
—n为信息点的总量。
—n×3%为富余量。
(1)信息安全的基本要素有:机密性、完整性、可用性、可控性、可审查性。为了达成上述目标,需要做的工作有:制定安全策略、用户验证、加密、访问控制、审计和管理。
(2)典型的网络攻击步骤一般为:信息收集、试探寻找突破口、实施攻击、消防记录、保留访问权限。
(3)信息安全的5个等级分别为:用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访问验证保护级
1.信息安全管理体系(ISMS):是整个管理体系的一部分。
它是基于业务风险的方法,来建立、实施、运行、监视、评审、保持和改进信息安全的结构、方针政策、规划活动、职责、实践、程序、过程和资源)。
2.信息安全的基本属性
完整性、可用性、保密性、可控性、可靠性
3.信息安全管理活动主要有:定义信息安全策略、定义信息安全管理体系的范围、进行信息安全风险评估、确定管理目标和选择管理措施、准备信息安全适用性申明。
4.信息安全等级保护是我国在信息化推进进程中实施的对信息系统安全保护的基本制度、方法和策略。
5.等级保护的主要环节:定级、备案、安全建设整改、等级评测和安全检查。
6. 对称加密技术
加密与解密使用相同的密钥。因此,对称加密密钥较短,使用简单快捷。常用的对称加密算法有:DES(数据加密标准)、3DES、IDEA(国际数据加密算法)、AES等
7、非对称加密技术
加密解密使用不同的密钥。
非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如使用甲的公钥加密就必须用甲的私钥解密。
非对称加密算法加密速度慢、不适合加密大量数据。常用的非对称加密算法有:RSA、Elgamal、ECC等。其中RSA可以同时实现数字签名和数据加密。
8、Hash函数
用Hash函数对报文的一部分进行Hash运算,得到Hash码,即报文摘要。
发送方将这个报文摘要连同原报文一同传送给接收方,接收方重新进行Hash运算来与接收到的这个Hash码进行比较,以此来认证报文是否被篡改过。
这个过程利用了Hash函数的特点:若一段明文哪怕只更改了一个字母,随后的Hash码都将产生不同的值。
9、数字签名
发送方A用自己的私钥进行数字签名,接收方B用发送方A的公钥进行验证。这是因为A的私钥只有A才会拥有,发送者无法抵赖自己的签名。
数字签名的特点:
• 签名者时候不能抵赖自己的签名。
• 任何其他人不能伪造签名。
10、认证
认证与加密的区别:
加密用于保证数据的保密性,阻止被动攻击;
认证用于确保发送/接收者的真实性与数据的完整性,阻止主动攻击,且认证是安全保护的第一道设防。
认证与数字签名的区别:
数字签名允许第三者验证,有不可抵赖性,而认证不具备。
11. 信息系统安全保护等级的划分
等级 安全功能 保障/有效性 国家管理程度 对象
一级 用户自主保护 基本保障 自主 中小企业
二级 系统审计保护 计划跟踪 指导 政府机构业务用的一般系统,企事业单位内部生产管理和控制的信息系统
三级 安全标记保护 良好定义 监督 基础信息网络、政府、重点工程、大型国企
四级 结构化保护 持续改进 强制 国家政府机关的重要部门的信息系统重要子系统
五级 访问验证保护 严格监控 专控 国家重要核心部门的专用信息系统
36.新一代信息技术
大数据
(1)大数据5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)、Veracity(真实性)。
(2)大数据需经过5个环节:①数据准备;②存储管理;③计算处理;④数据分析;⑤知识展现。
大数据关键技术。
①HDFS:能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
②HBase:不同于一般的关系数据库,是非结构化数据存储的数据库。
③MapReduce:一种编程模型,主要思想:概念“Map(映射)”和“Reduce(归约)”。
④Chukwa:用于监控大型分布式系统的数据收集系统
云计算技术架构4层:设施层、资源层、资源控制层、服务层
IaaS(基础设施级服务) PaaS(平台级服务) SaaS(软件级服务)
【基础知识点】
1.有关概念
CFO:首席财务官 CTO:首席技术官
COO:首席运营官 CIO:首席信息官
2.CIO的主要职责
从CIO的职责角度来看,需要CIO是三个专家,即企业业务专家、IT专家和管理专家。系统分析师是CIO的最佳人选,下面简单介绍CIO的主要职责:
(1)提供信息,帮助企业决策;
(2)帮助企业制定中长期发展战略
(3)有效管理IT部门
(4)制定信息系统发展规划
(5)建立积极的IT文化
–成本管理过程包括:成本估算、成本预算与成本控制。其中成本预算的含义是将总的成本估算分配到各项活动和工作包上,来建立一个成本的基线。而成本估算是对完成项目活动所需资金进行近似的估算。
–用于管理信息系统规划的方法很多,主要是关键成功因素法(CSF)、战略目标集转化法(Strategy Set Transformation, SST)和企业系统规划法(Business System Planning, BSP)。
其它还有企业信息分析与集成技术(BIAIT)、产出/方法分析(E/MA)、投资回收法(ROI)、征费法、零线预算法、阶石法等。
用得最多的是前面三种。
1.关键成功因素法(CSF)
在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的和主要的(即关键成功因素)。通过对关键成功因素的识别,找出实现目标所需的关键信息集合,从而确定系统开发的优先次序。
关键成功因素法能抓住主要矛盾,使目标的识别突出重点。由于经理们比较熟悉这种方法,使用这种方法所确定的目标,因而经理们乐于努力去实现。该方法最有利于确定企业的管理目标。
2.战略目标集转化法(Business System Planning, BSP)
把整个战略目标看成是一个“信息集合”,由使命、目标、战略等组成,管理信息系统的规划过程即是把组织的战略目标转变成为管理信息系统的战略目标的过程。
3.企业系统规划法(Business System Planning, BSP)
信息支持企业运行。通过自上而下地识别系统目标、企业过程和数据,然后对数据进行分析,自下而上地设计信息系统。
该管理信息系统支持企业目标的实现,表达所有管理层次的要求,向企业提供一致性信息,对组织机构的变动具有适应性。
–一般说来,信息化需求包含个层次,即战略需求、运作需求和技术需求。
一是战略需求。组织信息化的目标是提升组织的竞争能力、为组织的可持续发展提供一个支持环境。从某种意义上来说,信息化对组织不仅仅是服务的手段和实现现有战略的辅助工具;信息化可以把组织战略提升到一个新的水平,为组织带来新的发展契机。
特别是对于企业,信息化战略是企业竞争的基础。
二是运作需求。组织信息化的运作需求是组织信息化需求非常重要且关键的一环,它包含三方面的内容:一是实现信息化战略目标的需要;二是运作策略的需要。三是人才培养的需要。
三是技术需求。由于系统开发时间过长等问题在信息技术层面上对系统的完善、升级、集成和整合提出了需求。也有的组织,原来基本上没有大型的信息系统项目,有的也只是一些单机应用,这样的组织的信息化需求,一般是从头开发新的系统。
–企业应用集成通过采用多种集成模式,构建统一标准的基础平台,将具有不同功能和目的而又独立运行的企业信息系统联合起来。
目前市场上主流的集成模式有3种:面向信息的集成、面向过程的集成和面向服务的集成。
其中面向过程的集成模式强调处理不同应用系统之间的交互逻辑,与核心业务逻辑相分离,并通过不同应用系统之间的协作共同完成某项业务功能。
–按照实际应用领域,企业门户可以划分为以下四类:
①企业网站——功能简单,注重信息的单向传送,忽视用户与企业间、用户相互之间的信息互动。面向特定的使用人群,为企业服务,
可以被看作是EP发展的雏形。
②企业信息门户——在Internet环境下,把各种应用系统、数据资源和互联网资源统一集成到EP之下,根据每个用户使用特点和角色的不同,形成个性化的应用界面,并通过对事件和消息的处理传输把用户有机地联系在一起。
③企业知识门户——是企业员工日常工作所涉及相关主题内容的“总店”。企业员工可以通过EKP方便地了解当天的最新消息、工作内容、完成这些工作所需的知识等。可以实时地与工作团队中的其他成员取得联系,寻找到能够提供帮助的专家或者快速地连接到相关的门户。
④企业应用门户——是对企业业务流程的集成。它以业务流程和企业应用为核心,把业务流程中功能不同的应用模块通过门户技术集成在一起。
可以把EAP看成是企业信息系统的集成界面。企业员工和合作伙伴可以通过EAP访问相应的应用系统,实现移动办公、进行网上交易等。
–客户关系管理(CRM)系统将市场营销的科学管理理念通过信息技术的手段集成在软件上,能够帮助企业构建良好的客户关系。
在客户管理系统中,销售自动化是其中最为基本的模块,营销自动化作为销售自动化的补充,包括营销计划的编制和执行、计划结果分析等功能。
客户服务与支持是CRM系统的重要功能。客户服务与支持的主要手段有两种:呼叫中心和互联网。CRM系统能够与ERP系统在财务、制造、库存等环节进行连接,两者之间虽然关系比较独立,但由于两者之间具有一定的关系,因此会形成一定的闭环反馈结构。
CRM系统的主要模块包括销售自动化、营销自动化、客户服务与支持、商业智能。
是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于操作系统之上,管理计算资源和网络通信,实现应用之间的互操作
(1)负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。
(2)提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。
(3)提供一个多层架构的应用开发和运行的平台,以及一个应用开发框架,支持模块化的应用开发。
(4)屏蔽硬件、操作系统、网络和数据库的差异。
(5)提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。
(6)提供一组通用的服务去执行不同的功能,避免重复的工作和使应用之间可以协作。
按照中间件在分布式系统中承担的职责不同,可以划分以下几类中间件产品
(1)通信处理(消息)中间件
在分布式系统中,人们要建网和制定出通信协议,以保证系统能在不同平台之间通信,
实现分布式系统中可靠的、高效的、实时的跨平台数据传输,这类中间件称为消息中间件,也是市面上销售额最大的中间件产品。
(2)事务处理(交易)中间件
要使大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,实现与昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求中间件系统具有监视和调度整个系统的功能
(3)数据存取管理中间件。
在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便
(4)Web 服务器中间件
(5)安全中间件
一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),
必须用国产产品
(6)跨平台和架构的中间件
当前开发大型应用软件通常采用基于架构和构件技术,在分布式系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了架构中间件。
功能最强的是 CORBA,可以跨任意平台,但是过于庞大;JavaBeans 较灵活简单,很适合于做浏览器,但运行效率有待改善;COM+模型主要适合 Windows 平台,在桌面系统已广泛使用。由于国内新建系统多基于 UNIX(包括 Linux)和 Windows,
因此,针对这两个平台建立相应的中间件市场相对要大得多
(7)专用平台中间件。为特定应用领域设计领域参考模式,建立相应架构,配置相应的构件库和中间件,为应用服务器开发和运行
特定领域的关键任务(如电子商务、网站等)。
(8)网络中间件。它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等。
4. 公共对象请求代理CORBA
CORBA包括:一套调用接口、对象请求代理(ORB)和一套对象适配器。
CORBA构件模型中,对象适配器的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调
5. 面向消息中间件MOM
(1)通信程序可在不同的时间运行
(2)对应用程序的结构没有约束
(3)程序与网络复杂性相隔离
6. 事务处理监控器TPM(交易型中间件)
(1)进程管理
(2)事务管理
(3)通信管理
7. 中间件的获得
(1)从现有构件中获得符合要求的构件,直接使用或做适应性修改,得到可复用的构件;
(2)通过遗留工程(Legacy Engineering),将具有潜在复用价值的软件提取出来,得到可复用的构件;
(3)从市场上购买现成的商业构件,即COTS (Commercial Off-The-Shell)构件;
(4)开发新的符合要求的构件
8. 中间件自底向上划分
底层中间件:JAVA的JVM虚拟机,.Net的CLR公共语言运行库,自适应的通信环境ACE
通用性中间件:平台,面向消息中间件MOM,对象请求代理(ORB)
远程过程调用RPC:远程过程调用中的远程既可以指(不同的计算机),也可以指同一台计算机上的(不同的进程)
远程方法调用RMI:RPC的java版本
集成型中间件:workFLOW,EAI
–目前,应用服务器已经成为电子商务应用中一种非常关键的中间件技术。通过它能将一个企业的商务活动安全有效地实施到 Internet 上,实现电子商务。它并非一种传统意义上的软件,而是一个可以提供通过 Internet 来实施电子商务的平台。在分布式、多层结构及基于构件和服务器端程序设计的企业级应用开发中,它提供的是一个开发、部署、运行和管理、维护的平台。它可以提供软件“集群” 的功能,因而可以让多个不同的、异构服务器协同工作、相互备份,以满足企业级应用所需要的可用性、高性能、可靠性和可伸缩性等。
故而,从某种意义上说,应用服务器提供了一个“企业级应用的操作系统”。实现 J2EE规范的应用服务器称为 J2EE 应用服务器
–J2EE 是针对 Web Service、业务对象、数据访问和消息报传送的一组规范。这组应用编程接口确定了 Web 应用与驻留它们的服务器之间的通信方式。
J2EE 注重两件事,一是建立标准,使 Web 应用的部署与服务器无关;二是使服务器能控制构件的生命周期和其他资源,以便能够处理扩展、并发、事务处理管理和安全性问题
–J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,
第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想。它使得重用业务逻辑和界面逻辑非常困难。
现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层
–J2EE 规范定义了以下几种构件:应用客户端构件、EJB构件、Servlets 和 JSP、Applet 构件。具体来说J2EE 核心组成有容器、组件、服务。
(结构图需要记一下)
–J2EE 采用的是多层分布式应用模型,意味着应用逻辑将根据功能分成几个部分, 用户可以在相同或不同的服务器上安装不同应用构件组成的J2EE应用
(1)客户端(表示层)
位于最外层,离用户最近。用于显示数据和接受用户输入的数据,为用户提供一种交互操作的界面
(2)中间层(业务逻辑层或者领域层)。J2EE中间层的内容极为丰富,也是J2EE架构的核心,绝大多数的J2EE应用程序都会将业务逻辑部署在中间层,EJB是J2EE中间层中最重要也是最有特点的构件之一。
EJB可以从持久化的存储设备中获取数据,对它进行处理(如果需要),并将其发送到客户端应用程序
(3)数据访问层(持久层或者企业信息系统层)
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、扩展性强。不同层负责不同的层面
7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
8、项目结构更清楚,分工更明确,有利于后期的维护和升级
EJB 共有三种类型:EntityBean(实体 Bean)、Session Bean(会话 Bean)和 Message Driven Bean(消息驱动 Bean)
(1)实体 Bean。实体 Bean 表示数据库中的数据及作用于数据的方法。用于实现O/R映射,负责将数据库中的表记录映射为内存中的实体对象
(2)会话 Bean。会话 Bean 代表与客户间的短暂对话,用于实现业务逻辑,它可以是有状态的,也可以是无状态的
有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),
bean的生命期也告结束
无状态会话bean :bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean.
概括来说,有状态会话Bean会保存客户端的状态,而无状态Bean不会专门保存客户端的状态
(3)消息驱动Bean。这是EJB3.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。
消息驱动Bean实际上是一个异步的无状态会话Bean,客户端调用消息驱动Bean后无需等待,立刻返回,消息驱动Bean将异步处理客户请求
.NET是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
在开发技术方面,.NET 提供了全新的数据库访问技术 ADO.NET,以及网络应用开发技术 ASP.NET 和 Windows 编程技术 WinForms;在开发语言方面,
.NET 提供了 VB、VC++、C#等多种语言支持;而 VisualStudio.NET 则是全面支持.NET 的开发工具
1.通用语言运行时
通用语言运行时(Common Language Runtime,CLR)则处于这个框架的最底层,是这个框架的基础。它为多种语言提供了一种统一的运行环境,基于通用语言运行时开发的代码称为受控代码
2.基础类库
基础类库包括了从输入输出到数据访问等各方面,提供了一个统一的面向对象的、层次化的、可扩展的编程接口
3.ADO.NET
ADO.NET 提供了一组用来连接到数据库、运行命令、返回记录集的类库,与从前的 ADO(ActiveX Data Object)相比,Connection 和 Command 对象很类似,而 ADO.NET 的革新主要体现在如下几个方面
首先,ADO.NET提供了对XML的强大支持,这也是ADO.NET的一个主要设计目标
其次,ADO.NET 引入了 DataSet 的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图
另外,ADO.NET 中还引入了一些新的对象,例如 DataReader 可以用来高效率地读取数据,产生一个只读的记录集等
4.ASP.NET
ASP.NET 是 Microsoft.NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。
5、WinForm
它是.Net开发平台中对Windows Form的一种称谓。.Net 为开发WinForm的应用程序提供了丰富的Class Library(类库)
EAI(Enterprise ApplicationIntegration,企业应用集成)可以通过中间件技术来连接企业级各种应用,使异构应用系统之间能够相互“交流”与“协作”
首先,中间件产品对各种硬件平台、操作系统、网络数据库产品及客户端实现了兼容和开放。
其次,中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。
第三,中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性。
第四,中间件产品可以缩短开发周期 50%~75%,从而大大地降低了开发成本,提高了工作效率
根据EAI 集成的深度来划分可以分为应用集成、业务过程集成、数据集成
1.应用集成
应用集成主要是指通过应用接口对应用系统实现集成。应用接口(API)是指应用系统以及客户自建系统为方便和外部应用系统连接而对外开放的软件接口
2.业务过程集成
业务集成是将不同单位部门的不同业务流程利用应用集成技术集成在一起,实现跨部门、跨系统、跨企业的流程共用
3、数据应用集成
数据集成是企业实施EAI的基础。 要完成应用集成和业务过程集成,必须首先解决数据和数据库的集成问题.数据集成的目的是将不同的数据库集成起来,
提供一种单一的虚拟数据库,这样就不会出现与核心业务不一致的多个数据库
1、MVC
MVC模式有Model,View,Controller三部分构成。
Model:模型。主要用来负责业务逻辑的处理,数据的保持。Model是MVC模式的核心部分,它也是一个应用需要实现的最主要的部分:进行业务逻辑的处理。
View:视图。负责数据的输出,画面的表示。
Controller:控制器。负责接收从视图发送过来的数据,同时控制Model与View部分。它的主要任务是控制Model与View,所以被称为控制器。
2、Struts 框架
Struts 是一个基于 SUN J2EE平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。在 Struts 框架中,模型由实现业务逻辑的 JavaBean 或 EJB 构件构成,
控制器由ActionServlet和 Action 来实现,视图由一组 JSP 文件构成
Struts 将业务数据、页面显示、动作处理进行分离,这有利于对各部分的维护
3、Spring 框架
它是为了解决企业应用开发的复杂性而创建的
Spring的核心是控制反转(IoC)和面向切面(AOP)
Spring的优点:
1、 方便解耦,简化开发 (高内聚低耦合)
Spring就是一个大工厂(容器),可以将所有对象创建和依赖关系维护,交给Spring管理,spring工厂是用于生成bean。
2、AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
3、声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
4、方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
5、方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
6、 降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
4、Hibernate框架
Hibernate特点:
①Hibernate通过修改一个“持久化”对象的属性,从而修改数据库表中对应的记录数据
②提供线程和进程两个级别的缓存提升应用程序性能
③有丰富的映射方式将Java对象之间的关系(POJO)转换为数据库表之间的关系
④屏蔽不同数据库实现之间的差异。在Hibernate中只需通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句
⑤ 非侵入式。Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。
5、Mybaits特点
①简单易学。没有任何第三方依赖,最简单只需要2个jar包+几个sql映射文件,通过文档和源代码,即可比较完全的掌握它的设计思路和实现
②灵活。不会对应用程序或者数据库的现有设计强加任何影响。Sql写在xml里面,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架
可以实现的所有功能。
③解除sql与程序代码的耦合。通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。
④提供映射标签,支持对象与数据库的ORM字段关系映射
⑤提供对象关系映射标签,支持对象关系组建维护
⑥提供xml标签,支持编写动态sql
两者区别:
①开发方面:在项目开发过程当中,就速度而言,hibernate开发中,sql语句已经被封装,直接可以使用,加快系统开发;Mybatis 属于半自动化,
sql需要手工完成,稍微繁琐;但是,凡事都不是绝对的,如果对于庞大复杂的系统项目来说,发杂语句较多,选择hibernate 就不是一个好方案。
②sql优化方面:Hibernate 自动生成sql,有些语句较为繁琐,会多消耗一些性能;Mybatis 手动编写sql,可以避免不需要的查询,提高系统性能;
③对象管理比对:Hibernate 是完整的对象-关系映射的框架,开发工程中,无需过多关注底层实现,只要去管理对象即可;Mybatis 需要自行管理 映射关系;
④ 缓存方面:Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行详细配置,然后再在具体的表-对象映射中配置是那种缓存。
MyBatis的二级缓存配置都是在每个具体的表-对象映射中进行详细配置,这样针对不同的表可以自定义不同的缓存机制。
并且Mybatis可以在命名空间中共享相同的缓存配置和实例,通过Cache-ref来实现。
–软件中间件(图1-27)
(1)中间件解决了分布系统的异构问题,具有标准的程序接口和协议。
(2)通常将中间件分为:
①数据库访问中间件,典型技术Windows平台的ODBC和Java平台的JDBC。
②远程过程调用中间件(RPC),从效果上来看和执行本地调用相同。
③面向消息中间件(MOM),进行平台无关的数据传递,典型如IBM的MQSeries。
④分布式对象中间件,典型OMG的CORBA、Java的RMI/EJB、Microsoft的DCOM等。
⑤事务中间件,完成事务管理与协调、负载平衡、失效恢复等任务,典型IBM/BEA的Tuxedo、支持EJB的JavaEE应用服务器等。
–以下说法错误的是()
COM接口可通过(单)接口继承从其他COM接口中派生。
COM支持系统注册器,它类似CORBA存储器。
COM的接口继承与其支持的多态无关。
即使公布了,COM接口和它的规范也可以以某种特定的形式改变。
:本体考察的是和COM相关连的内容的理解。一旦公布,COM接口和其他的规范不允许以任何形式改变,既解决了语法问题,也解决了弱基类问题。
–CORBA构件模型中,(可移植对象适配器POA)的作用是在底层传输平台与接收调用并返回结果的对象实现之间进行协调,
(伺服对象Servant)是最终完成客户请求的服务对象实现。
人为蓄意破坏:
被动型攻击:网络监听、非法登录、信息截取
主动型攻击:数据篡改、假冒身份、拒绝服务、重放攻击、散播病毒、主观抵赖
人为无意识行为:编程错误、操作错误、无意泄密
灾难性攻击:水灾、火灾、地震、雷击、战争
系统故障:硬件故障、软件故障、链路故障、供电故障
OSI参考模型
安全服务:鉴别服务、访问控制、数据完整性、数据机密性、抗抵赖
安全机制:加密、数字签名、访问控制、数据完整性、鉴别交换、业务流填充、路由控制、公证
网络安全体系框架:
鉴别框架:防止其他实体占用和独立操作被鉴别实体的身份
访问控制框架:决定使用那些资源,在什么地方适合阻止未授权访问的过程
机密性框架:确保信息仅仅是对被授权者可用
完整性框架:通过组织威胁和探测威胁,保护可能遭到不同方式危害数据完整性和数据相关属性完整性
抗抵赖框架:包括证据的生成、验证、记录,以及在解决纠纷时随即进行的证据恢复和再次验证
1.防火墙技术的三个发展阶段:
(1)包过滤
(2)状态检测
(3)应用网关
2.入侵检测与防御:
(1) 主机型入侵检测系统
(2) 网络型入侵检测系统
1.数据库完整性设计原则
确定其实现的系统层次和方式,并提前考虑对系统性能的影响
实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,尽量应用
要慎用触发器
在需求分析阶段就必须制定完整性约束的命名规范
要根据业务规则对数据库完整性进行细致的测试
要有专职的数据库设计小组
应采用合适的CASE工具来降低数据库设计各个阶段的工作量
2.数据库完整性的作用
1)能够防止合法用户使用数据库时向数据库中添加不合语义的数据。
2)实现业务规则,易于定义,易于理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率,更容易实现数据库的完整性。
3)能够同时兼顾 数据库的完整性和系统效能。
4)有助于尽早发现应用软件的错误。
5)数据库完整性约束6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。
RADIUS软件架构分为三个层面:协议逻辑层、业务逻辑层和数据逻辑层。
1.协议逻辑层主要实现RFC框架中的内容,处理网络通信协议的建立、通信和停止方面的工作。
2.业务逻辑层的设计是RADIUS软件架构设计的核心部分,协议处理进程主要对转发引擎发来的包进行初步分析,并根据包的内容进一步分发到不同的业务逻辑处理进程。
3.数据逻辑层由数据库代理池统一连接数据库
–根据网络的应用现状情况和结构,可以将安全防范体系的层次划分为物理层安全、系统层安全、网络层安全、应用层安全和安全管理
(1)物理环境的安全性。物理层的安全包括通信线路、物理设备和机房的安全等。物理层的安全主要体现在通信线路的可靠性(线路备份、网管软件和传输介质)、软硬件设备的安全性(替换设备、拆卸设备、增加设备)、设备的备份、防灾害能力、防干扰能力、设备的运行环境(温度、湿度、烟尘)和不间断电源保障等。
(2)操作系统的安全性。系统层的安全问题来自计算机网络内使用的操作系统的安全,例如,Windows Server和UNIX等。主要表现在3个方面,一是由操作系统本身的缺陷带来的不安全因素,主要包括身份认证、访问控制和系统漏洞等;二是对操作系统的安全配置问题;三是病毒对操作系统的威胁
(3)网络的安全性。网络层的安全问题主要体现在计算机网络方面,包括网络层身份认证、网络资源的访问控制、数据传输的保密与完整性、远程接入的安全、域名系统的安全、路由系统的安全、入侵检测的手段和网络设施防病毒等
(4)应用的安全性。应用层的安全问题主要由提供服务所采用的应用软件和数据的安全性产生,包括Web服务、电子邮件系统和DNS等。此外,还包括病毒对系统的威胁
(5)管理的安全性。安全管理包括安全技术和设备的管理、安全管理制度、部门与人员的组织规则等。
1.对称加密算法
对称加密算法也称为私钥加密算法,是指加密密钥和解密密钥相同,或者虽然不同,但从其中的任意一个可以很容易地推导出另一个常见的对称加密算法包括瑞士的国际数据加密算法(International Data Encryption Algorithm, IDEA)和美国的数据加密标准(Date Encryption Standard, DES)DES是一种迭代的分组密码,明文和密文都是64位,使用一个56位的密钥以及附加的8位奇偶校验位。
攻击DES的主要技术是穷举法,由于DES的密钥长度较短,为了提高安全性,就出现了使用112位密钥对数据进行三次加密的算法(3DES),即用两个56位的密钥K1和K2
IDEA是在DES的基础上发展起来的,类似于3DES。IDEA的明文和密文都是64位,密钥长度为128位
RC5是一种对称密码算法,它面向字结构,便于软件和硬件的实现,适用于不同字长的微处理器
2.非对称加密算法
非对称加密算法也称为公钥加密算法,是指加密密钥和解密密钥完全不同,其中一个为公钥,另一个为私钥,并且不可能从任何一个推导出另一个。
它的优点在于可以适应开放性的使用环境,可以实现数字签名与验证
最常见的非对称加密算法是RSA,该算法的名字以发明者的名字命名:Ron Rivest, AdiShamir和Leonard Adleman。RSA算法的密钥长度为512位
认证(authentication)又称为鉴别或确认,它是证实某事物是否名符其实或是否有效的一个过程。认证和加密的区别在于,加密用于确保数据的保密性,阻止对手的被动攻击,例如,截取和窃听等;而认证用于确保数据发送者和接收者的真实性和报文的完整性,阻止对手的主动攻击,例如,冒充、篡改和重放等。认证往往是许多应用系统中安全保护的第一道设防,因而极为重要
1.数字签名
数字签名是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。
数字签名的主要功能是保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生
2.杂凑算法
算法是主要的数字签名算法,它是利用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密
(1)消息摘要算法。消息摘要算法(Message Digest algorithm 5, MD5)并产生一个128位的消息摘要
(2)安全散列算法。安全散列算法(Secure Hash Algorithm, SHA)能计算出一个数字信息所对应的长度固定的字符串(消息摘要),它对长度不超过264位的消息产生160位的消息摘要
3.数字证书
数字证书又称为数字标识,是由认证中心(Certificate Authority, CA)签发的对用户的公钥的认证。数字证书的内容应包括CA的信息、用户信息、用户公钥、CA签发时间和有效期等
4.身份认证
用户的身份认证是许多应用系统的第一道防线,其目的在于识别用户的合法性,从而阻止非法用户访问系统
(1)口令认证。(2)动态口令认证。 (3)生物特征识别。
密钥管理体制有三种,分别是适用于封闭网、以传统的密钥管理中心为代表的KMI(Key Management Infrastructure,密钥管理基础设施)机制,
适用于开放网的PKI(Public Key Infrastructure,公钥基础设施)机制和适用于规模化专用网的SPK(Seeded public-Key,种子化公钥)机制
1、防火墙(firewall)
防火墙一般具有以下几个功能:
(1)访问控制功能。这是防火墙最基本也是最重要的功能,通过禁止或允许特定用户访问特定的资源,保护内部网络的资源和数据
(2)内容控制功能。根据数据内容进行控制,例如,防火墙可以从电子邮件中过滤掉垃圾邮件
(3)全面的日志功能。防火墙需要完整地记录网络访问情况,包括内、外网进出的访问,以检查网络访问情况。一旦网络发生了入侵或者遭到了破坏,就可以对日志进行审计和查询。
(4)集中管理功能。在一个安全体系中,防火墙可能不止一台,因此,防火墙应该是易于集中管理的
(5)自身的安全和可用性。防火墙要保证自身的安全,不被非法侵入,保证正常的工作
另外,防火墙还应带有如下的附加功能:
(1)流量控制。针对不同的用户限制不同的流量,可以合理使用带宽资源。
(2)网络地址转换(Network Address Translation, NAT)。NAT是通过修改数据包的源地址(端口)或者目的地址(端口)来达到节省IP地址资源,隐藏内部IP地址功能的一种技术。
(3)VPN(Virtual Private Network,虚拟专用网)。只利用数据封装和加密技术,使本来只能在私有网络上传送的数据能够通过公共网络进行传输,使系统费用大大降低
防火墙的类型分为包过滤型防火墙、电路级网关型防火墙、应用网关型防火墙、代理服务型防火墙、状态检测型防火墙和自适应代理型防火墙
从体系结构上看,防火墙可以有多种实现模式,例如,宿主机模式、屏蔽主机模式和屏蔽子网模式等
防火墙的使用也有一定的局限性
(1)为了提高安全性,限制或关闭一些有用但存在安全缺陷的网络服务,给用户带来了使用上的不便。
(2)目前,防火墙对于来自网络内部的攻击还无能为力。作为一种被动的防护手段,防火墙不能阻止Internet不断出现的新的威胁和攻击,不能有效地防范数据驱动式攻击。
(3)防火墙不能防范不经过防火墙的攻击
(4)防火墙对用户不完全透明,可能带来传输延迟、瓶颈和单点失效等。
(5)防火墙不能完全防止受病毒感染的文件或软件的传输
2.安全协议
安全协议主要包括IPSec、SSL、PGP和安全套接字层上的超文本传输协议(Hypertext Transfer Protocol over Secure Socket Layer, HTTPS)等
PGP是一个基于RSA的邮件加密软件,可以用它对邮件保密以防止非授权者阅读
IPSec安全性分析:
1)可以应用于所有跨越网络边界的通信;
2)如果所有来自外部的通信必须使用IP,且防火墙是Internet与组织的唯一入口,则IPSec是不能被绕过;
3)IPSec位于传输层之下,因此对应用程序是透明的,实现时,没有必要在用户或服务器上更改软件;
4)IPSec对最终用户是透明的,实现时,没有必要在用户或服务器上更改软件
SSL协议:是Natscape推出的一种网络安全协议,是在传输过程通信协议(TCP/IP)上实现的一种安全协议。
SSL协议对计算机之间的整个会话进行加密,位于TCP和应用层之间,可为应用层提供安全服务,主要是Web服务
PGP协议时针对电子邮件在Internet上通信的安全问题而设计的一种混合加密系统。
PGP应用程序优点:速度快、效率高、可移植性好。
PGP协议加密过程:用IDEA算法对明文加密,接着用接收者的RSA公钥对这个IDEA密钥进行加密。
使用IPSec可以显著地减少或防范以下几种网络攻击:
(1)Sniffer。Sniffer可以读取数据包中的任何信息,对抗Sniffer最有效的方法就是对数据进行加密。
IPSec的封装安全有效负载(Encapsulating Security Payload, ESP)协议通过对IP包进行加密来保证数据的私密性。
(2)数据篡改。IPSec用密钥为每个IP包生成一个数字检查和,该密钥为且仅为数据的发送方和接收方共享。对数据包的任何篡改,都会改变检查和,
从而可以让接收方得知包在传输过程中遭到了修改。
(3)身份欺骗,盗用口令,应用层攻击。IPSec的身份交换和认证机制不会暴露任何信息,不给攻击者有可乘之机,双向认证在通信双方之间建立信任关系,只有可信赖的系统才能彼此通信。
(4)中间人攻击。IPSec结合双向认证和共享密钥,足以抵御中间人攻击。
(5)拒绝服务攻击。IPSec使用IP包过滤法,依据IP地址范围和协议,甚至特定的协议端口号来决定哪些数据流需要受到保护,哪些数据流可以被允许通过,而哪些需要拦截
1.入侵检测是一种主动保护计算机免受攻击的网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全能力(包括安全审计、监视、攻击识别和响应),提高了系统安全基础结构的完整性。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行检测
入侵检测系统(Intrusion-detection system, IDS)一般有两种分类方法,一种是基于数据源的分类,另一种是基于检测方法的分类
2.入侵防护系统(Intrusion Prevention System, IPS)是一种主动的、积极的入侵防范和阻止系统,它部署在网络的进出口处,当检测到攻击企图后,它会自动地将攻击包丢掉或采取措施将攻击源阻断
1.自主访问控制(Discretionary Access Control,DAC)
自主访问控制,由客体的属主对自己的客体进行管理,由属主自己决定是否将自己的客体访问权或部分访问权授予其他主体,这种控制方式是自主的。也就是说,在自主访问控制下,用户可以按自己的意愿,有选择地与其他用户共享他的文件。
2.强制访问控制 (Mandatory Access Control——MAC)
强制访问控制,用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种访问约束机制。通俗的来说,在强制访问控制下,用户(或其他主体)与文件(或其他客体)都被标记了固定的安全属性(如安全级、访问权限等),在每次访问发生时,系统检测安全属性以便确定一个用户是否有权访问该文件。
3.基于角色的访问控制(Role-Based Access Control, RBAC)
基于角色的访问控制中,角色由应用系统的管理员定义。而且授权规定是强加给用户的,用户只能被动接受,不能自主地决定,这是一种非自主型访问控制。其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。
每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。由于其对角色和层次化管理的引进,特别适用于用户数量庞大、系统功能不断扩展的大型系统
4.基于任务的访问控制(Task-Based Access Control, TBAC)
TBAC适用于工作流、分布式处理、多点访问控制的信息处理和事务管理系统,最显著的应用是在安全工作流管理系统中。
5.基于对象的访问控制(Object-based Access Control, OBAC)
建立完整信息安全保障体系,包含以下几个方面的内容:
(1)建立统一的身份认证体系
(2)建立统一的信息安全管理体系
(3)建立规范的信息安全保密体系
(4)建立完善的网络边界防护体系
真题知识点:
–IDEA算法和RC4算法都对称加密算法,只能用来进行数据加密。
MD5算法是消息摘要算法,只能用来生成消息摘要无法进行数字签名。
RSA算法是典型的非对称加密算法,主要具有数字签名和验签的功能。
–共享密钥加密又称对称加密算法,既用同一个密钥去加密和解密数据。常用的算法包括DES、3DES、IDEA、AES等。
–数字签名首先需要生成消息摘要,然后发送方用自己的私钥对报文摘要进行加密, 接收方用发送方的公钥验证真伪。生成消息摘要的目的是(防止篡改),
对摘要进行加密的目的是(防止抵赖)。
–入侵检测通过对计算机网络或计算机系统中的若干关键点收集信息进行分析,发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。
进行入侵检测的软件和硬件的组合就构成了入侵检测系统。 (数据分析) 是入侵检测系统的核心。
是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。
系统可靠性包括成熟性、容错性、易恢复性和可靠性的依从性四个子特性。
其中,成熟性是指系统避免因错误的发生而导致失效的能力;
容错性是指在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力;
易恢复性是指在系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力;
可靠性的依从性是指系统依附于与可靠性相关的标准、约定或规定的能力
系统故障是指由于部件的失效、环境的物理干扰、操作错误或不正确的设计所引起的硬件或软件中的错误(或差错)状态,在信息系统中,故障或错误有如下几种表现形式:
(1)永久性。永久性是指连续稳定的失效、故障或错误。在计算机硬件中,永久性失效反映了不可恢复的物理改变。
(2)间歇性。间歇性是指那些由于不稳定的硬件或软件状态所引起的、仅仅是偶然出现的故障或错误。
(3)瞬时性。瞬时性是指那些由于暂时的环境条件而引起的故障或错误。瞬时和间歇故障已经成为系统中的一个主要错误源故障的表现形式
冗余是指在正常系统运行所需的基础上加上一定数量的资源,包括信息、时间、硬件、和软件。冗余是容错技术的基础,通过冗余资源的加入,可以使系统的可靠性得到较大的提高。主要的冗余技术有结构冗余(硬件冗余和软件冗余)、信息冗余、时间冗余和冗余附加四种
1.结构冗余
结构冗余是常用的冗余技术,按其工作方式,可分为静态冗余、动态冗余和混合冗余三种
2.信息冗余
信息冗余是在实现正常功能所需要的信息外,再添加一些信息,以保证运行结果正确性的方法。例如,检错码和纠错码就是信息冗余的例子
3.时间冗余
时间冗余是以时间(即降低系统运行速度)为代价以减少硬件冗余和信息冗余的开销来达到提高可靠性的目的
4.冗余附加
软件容错的基本思想是从硬件容错中引伸而来,利用软件设计的冗余和多样化来达到屏蔽错误的影响,提高系统可靠性的目的
软件容错技术主要有N版本程序设计、恢复块方法和防卫式程序设计等
1.N版本程序的设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中N个版本的程序必须由不同的人(小组)独立设计,使用不同的方法、不同的设计语言、不同的开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率
2、恢复块方法
恢复块方法是一种动态的故障屏蔽技术,采用后向恢复策略
3 防卫式程序设计
防卫式程序设计是一种不采用任何传统的容错技术就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中包含错误检查代码和错误恢复代码,使得一旦发生错误,程序就能撤消错误状态,恢复到一个已知的正确状态中去。其实现策略包括错误检测、破坏估计和错误恢复三个方面。
双机容错技术是一种软硬件结合的容错应用方案。该方案是由两台服务器和一个外接共享磁盘阵列及相应的双机软件组成在双机容错系统中,两台服务器一般区分为主系统和从系统(备用系统),两台服务器互为主从关系.每台服务器至少安装两块网卡,一块连接到网络上,对外提供服务;
另一块与另一台服务器连接,用以侦测对方的工作状况。同时,每台服务器都连接在共享磁盘阵列上,用户数据存放在共享磁盘阵列中,当一台服务器出现故障时,另一台服务器主动替代工作,保证网络服务不间断
双机容错系统采用“心跳”方法保证主系统与备用系统的联系
双机容错系统根据两台服务器的工作方式不同,可以有三种不同的工作模式,分别是双机热备模式、双机互备模式和双机双工模式
(1)双机热备模式。正常情况下,一台服务器处于工作状态(主系统),另一台服务器处于监控准备状态(备用系统),缺点在于,备用系统长期处于后备的状态,存在一定的计算资源浪费
(2)双机互备模式。两台服务器均处于工作状态,为前端客户机提供各自不同的应用服务,并互相检测对方的运行情况,缺点是对服务器的性能要求比较高
(3)双机双工模式。双机双工模式是集群(cluster)技术的一种形式,两台服务器均处于工作状态,同时为前端客户机提供相同的应用服务,以保证整体系统的性能,实现负载均衡和互为备份
在双机容错系统中,双机软件是必不可少的。一切故障的诊断、服务的切换和硬件的控制都由双机软件来实现
1.高性能计算集群
是指以提高科学计算能力为目的计算机集群技术,它是一种并行计算集群的实现方法。并行计算是指将一个应用程序分割成多块可以并行执行的部分,并指定到多个处理器上执行的方法
特点:(1)系统开发周期短 2)用户投资风险小 (3)系统价格低 (4)节约系统资源 (5)系统扩展性好 (6)用户编程方便
2.负载均衡集群
3.高可用性集群
在高可用性集群系统中,多台计算机一起工作,各自运行一个或几个服务,各为服务定义一个或多台备用计算机。当某台计算机出现故障时,
备用计算机便立即接管该故障计算机的应用,继续为前端的用户提供服务。
高可用性集群能够很好地保证各种故障情况下应用系统访问的连续性。在高可用性集群中,
应用系统的任何一个服务都可以运行在集群系统中的任何一个节点中,当这个节点出现故障时,运行在这个节点上的所有服务都可以在定义好的其他节点中启动运行,
而用户感觉不到有任何变化
(1)服务器组(2)对外提供服务的网络(3)心跳信号通路(4)数据共享磁盘阵列
比较常用的负载均衡实现技术主要有以下几种
(1)基于特定软件的负载均衡
很多网络协议都支持重定向功能,这种方式的具体实现有很多困难,例如,一个节点如何能保证它重定向的节点是比较空闲的,并且不会再次发送Location指令等
(2)基于DNS的负载均衡
基于DNS的负载均衡是在DNS服务器中为同一个主机名配置多个IP 地址,在应答DNS 查询时,DNS 服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的
DNS 负载均衡的优点是经济、简单易行,并且节点可以位于Internet上任意的位置。但它也存在不少缺点,例如,为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效
DNS负载均衡采用的是简单的轮转算法,不能区分节点之间的差异,不能反映节点的当前运行状态,不能做到为性能较好的节点多分配请求,
甚至会出现客户请求集中在某一个节点上的情况。
另外,要给每个节点分配一个Internet上的IP地址,这势必会占用过多的IP地址
(3)基于NAT(Network Address Translation,网络地址转换)的负载均衡。基于NAT的负载均衡将一个外部IP地址映射为多个内部IP地址,对每次连接请求动态地转换为一个内部节点的地址,将外部连接请求引到转换得到地址的那个节点上,从而达到负载均衡的目的
(4)反向代理负载均衡。反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的
(5)混合型负载均衡
ODP开放分布式处理,OSI的标准
--基于ODP的架构开发过程
1.企业业务架构:业务目标、业务对象、业务策略
2.逻辑信息架构:信息对象、信息联合、信息行为
3.计算接口架构:子系统的一致性、应用程序接口、接口行为
4.分布式工程架构:软件分布、过程分配、服务质量
5.技术选择架构:概念性机制、具体的机制、实际的机制
--开发过程
系统构想、需求分析、原型分析、架构规划、架构原型、项目规划、并行开发、系统转换、操作维护、系统移植
--需求分析考察的内容
1.系统范围对象关系图
2.用户接口原型
3.需求的适应性
4.确定需求的优先级
5.为需求建立功能结构模型
6.使用质量功能分配QFD
--需求分析的特点
1.完整性
2.一致性
3.验证性
保持和用户要求的同步
保持需求分析各侧面之间的一致
保持需求和系统设计间的同步
--系统架构设计
1.企业业务建模者
2.信息数据库建模者
3.计算API设计者
4.工程操作系统工程师
5.技术网络工程师
--系统转换、操作维护和系统移植
系统转换的方式:直接转换、平行转换、分段转换、分批转换
操作维护:
可维护性指标:可理解性、可测试性、可修改性
系统维护分类:更正性维护、适应性维护、完善性维护、预防性维护
系统移植:
移植工作阶段:计划阶段、准备阶段、转换阶段、测试阶段、验证阶段
系统移植工具:分析工具、生成工具、转换工具、数据应用工具、测试验证工具、管理工具
V构想原则(Vision):向受益人描述未来图景
R节奏原则(Rhythm):定期根据可预测的进度、内容和质量进行检查与规划
A预见原则(Anticipation):预测未来与现状之间做出平衡
P协作原则(Partnering):如何识别并确保合作伙伴的有效支持
S简化原则(Simplification):了解架构最小的基本特征并最小化架构
用准则、模式和反模式来对VRAPA原则进行说明。
准则:用于判断每项原则的实施效果,说明是否和如何执行原则的问题。
模式:在开发和使用软件中可能遇到的基本常见问题和解决问题的方法,能够帮助组织来更好地改进原则–可以做的事情。
反模式:组织在实践中可能遇到的各种陷阱,描述了不该做的事,可以帮助更深入地理解原则–不可以做的事情。
--层次架构设计
1.表现层--表示层:MVC模式、XML
2.中间层--业务逻辑层:业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体、业务逻辑层框架
(1)业务逻辑层组件分为接口和实现类两个部分,接口用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。
(2)业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。
(3)业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表
3.持久层--数据访问层:
(1)在线访问(Online Access)
(2)数据访问对象(Data Access Object)
(3)数据传输对象(Data Transfer Object)
(4)离线数据模型(Off-line Data Model)
(5)对象关系映射(Object Relational Mapping)
--使用MVC模式设计表现层
(1)控制器
(2)模型
(3)视图
--MVC模式设计表现层优点
(1)允许多种用户界面的扩展
在MVC模式中,视图与模型没有必然的联系,都是通过控制器发生关系,这样如果要增加新类型的用户界面,只需要改动相应的视图和控制器即可,
而模型则另需发生改动。
(2)易于维护
易于维护。控制器和视图可以随着模型的扩展而进行相应的扩展,只要保持一种公共的接口,控制器和视图的旧版本也可以继续使用。
(3)功能强大的用户界面
用户界面与模型方法调用组合起来,使程序的使用更清晰,可将友好的界面发布给用户。
--基于XML的界面管理技术
(1)界面定制
对用户界面的动态修改过程,在软件运行过程中,用户可按照需求和使用习惯,对界面元素的属性进行修改。软件运行结束后,界面定制的结果被保存。
(2)界面动态生成
系统通过DOM API读取XML配置文件的表示层信息,通过数据存取类读取数据库中的数据层信息,运行时由界面元素动态生成界面。
界面配置和定制模块在软件运行前后修改配置文件、更改界面内容。
(3)界面配置
对用户界面的静态定义,通过读取配置文件的初始值对界面配置。由界面配置对软件功能进行裁剪、重组和扩充,以实现特殊需求。
--知识产权的特性
1、无体性 2、专有性 3、地域性 4、时间性
--著作权法及实施条例
一、著作权法客体
1.作品类型其中包括以下 9 种类型
文字作品:包括小说、诗词、散文、论文等以文字形式表现的作品。
口述作品:是指即兴的演说、授课、法庭辩论等以口头语言形式表现的作品。
音乐、戏剧、曲艺、舞蹈、杂技作品。
美术、摄影作品。
电影、电视、录像作品。
工程设计、产品设计图纸及其说明。
地图、示意图等图形作品。
计算机软件。
法律、行政法规规定的其他作品
2.职务作品
为完成单位工作任务所创作的作品,称为职务作品。如果该职务作品是利用单位的物质技术条件进行创作,并由单位承担责任的;或者有合同约定,其著作权属于单位。
那么作者将仅享有署名权,其他著作权归单位享有
其他职务作品,著作权仍由作者享有,单位有权在业务范围内优先使用,并且在两年内,未经单位同意,作者不能够许可其他人、单位使用该作品
二、著作权法的主体
著作权法及实施条例的主体是指著作权关系人,通常包括著作权人、受让者两种
1.著作权人与受让者
著作权人又称为原始著作权人,是根据创作的事实进行确定的,创作、开发者将依法取得著作权资格。
受让者又称为后继著作权人,是指没有参与创作,通过著作权转移活动成为享有著作权的人。
2.著作权人的确定
著作权法在认定著作权人时,是根据创作的事实进行的,而创作就是指直接产生文学、艺术和科学作品的智力活动。而为他人创作进行组织,提供咨询意见、
物质条件或者进行其他辅助工作,不属于创作的范围,不被确认为著作权人
如果在创作的过程中,有多人参与,那么该作品的著作权将由合作的作者共同享有。合作的作品是可以分割使用的,作者对各自创作的部分可以单独享有著作权,
但不能够在侵犯合作作品整体的著作权的情况下行使。
如果遇到作者不明的情况,那么作品原件的所有人可以行使除署名权以外的著作权,直到作者身份明确。
如果作品是委托创作的,著作权的归属应通过委托人和受托人之间的合同来确定。如果没有明确的约定,或者没有签订相关合同,则著作权仍属于受托人
三、著作权
根据著作权法及实施条例规定,著作权人对作品享有 5 种权利
发表权:即决定作品是否公之于众的权利。
署名权:即表明作者身份,在作品上署名的权利。
修改权:即修改或者授权他人修改作品的权利。
保护作品完整权:即保护作品不受歪曲、篡改的权利。
使用权、使用许可权和获取报酬权、转让权:即以复制、表演、播放、展览、发行、摄制电影、电视、录像或者改编、翻译、注释、编辑等方式使用作品的权利;
以及许可他人以上述方式使用作品,并由此获得报酬的权利
1.著作权保护期限根据著作权法相关规定,著作权的保护是有一定期限的
① 著作权属于公民。署名权、修改权、保护作品完整权的保护期没有任何限制,永远属于保护范围。
而发表权、使用权和获得报酬权的保护期为作者终生及其死亡后的 50年(第 50 年的 12 月 31 日)。作者死亡后,著作权依照继承法进行转移。
② 著作权属于单位。发表权、使用权和获得报酬权的保护期为 50 年(首次发表后的第 50 年的 12 月 31 日),若 50 年内未发表的,不予保护。
但单位变更、终止后,其著作权由承受其权利义务的单位享有。
著作权中的署名权、修改权、保护作品完整权的保护期不受限制
2.使用许可
第三方需要使用时,需得到著作权人的使用许可,双方应签订相应的合同。合同中应包括许可使用作品的方式,是否专有使用,许可的范围与时间期限,
报酬标准与方法,违约责任。在合同未明确许可的权力,需再次经著作权人许可。合同的有效期限不超过 10年,期满时可以续签。
对于出版者、表演者、录音录像制作者、广播电台、电视台而言,在下列情况下使用作品,可以不经著作权人许可、不向其支付报酬。
但应指名作者姓名、作品名称,不得侵犯其他著作权。
为个人学习、研究或者欣赏,使用他人已经发表的作品。
为介绍、评论某一个作品或者说明某一个问题,在作品中适当引用他人已经发表的作品
--计算机软件保护条例
《计算机软件保护条例》的客体是计算机软件.
《计算机软件保护条例》对软件著作权的保护只是针对计算机软件和文档,并不包括开发软件所用的思想、处理过程、操作方法或数学概念等
1.著作权人的确定
(1)合作开发。对于由两个以上开发者或组织合作开发的软件,著作权的归属根据合同约定来确定。若无合同,共享著作权。若合作开发的软件可以分割使用,
那么开发者对自己开发的部分单独享有著作权,可以在不破坏整体著作权的基础上行使
(2)职务开发。如果开发者在单位或组织中任职期间,所开发的软件符合以下条件,则软件著作权应归单位或组织所有
(3)委托开发。如果是接受他人委托而进行开发的软件,其著作权的归属应由委托人与受托人签订书面合同约定;如果没有签订合同,或合同中未规定的,
其著作权由受托人享有
2.软件著作权根据《计算机软件保护条例》规定,软件著作权人对其创作的软件产品,享有以下权利:
发表权、署名权、修改权、复制权、发行权、出租权、信息网络传播权、翻译权、使用许可权、获得报酬权、转让权。
软件著作权自软件开发完成之日起生效
(1)著作权属于公民。著作权的保护期为作者终生及其死亡后的 50 年(第 50 年的 12月 31 日)。对于合作开发的,则以最后死亡的作者为准。
在作者死亡后,将根据继承法转移除了署名权之外的著作权。
(2)著作权属于单位。著作权的保护期为 50 年(首次发表后的第 50 年的 12 月 31 日),若 50 年内未发表的,不予保护。但单位变更、终止后,
其著作权由承受其权利义务的单位享有
(3)合法复制品所有人权利
(4)使用许可的特例
(5)侵权责任。根据计算机软件保护条件,侵犯软件著作权的法律责任包括民事责任、刑事责任和行政责任 3 种
--商标法及实施条例
何能够将自然人、法人及组织的商品与他人的商品区别开的可视性标志,就是可以用于注册的商标。商标可以包括文字、图形、字母、数字、三维标志和颜色组合。
商标必须报商标局核准注册。通常包括商品商标、服务商标、集体商标,以及证明商标。
除了一些与国家、政府、国际组织相同、相似的、计量单位,以及一些带有民族歧视、影响社会道德等性质的标志不能够作为商标注册外,
县级以上行政区划的地名也不能够作为商标
1.商标的使用期限商标的使用,是指将商标用于商品、包装、容器、交易文书、广告宣传、展览,以及其商业活动中
注册商标的有效期是 10 年,从核准通过、正式注册之日起开始计算。在有效期满之后,可以续注册,但必须在期满前 6 个月提出申请,
如未在此期间提出申请的,则给予 6个月的宽限期,在宽限期还未提出申请的,将注销其商标
2.注册商标的申请
如果有多个申请人,在同一天申请注册相同或近似的商标,则申请人应该提交其申请注册前在先使用该商标的证据,先使用者获得商标注册。如果都没有使用证据,
那么将通过协商解决,协商无效,则通过抽签决定
3.注册商标专用权保护
--最小生成树
--最大流量
--决策论
1、乐观主义准则 也称为“最大最大准则”,其决策原则是“大中取大”
2、悲观主义准则 悲观主义准则也称为“最大最小”原则,其决策原则是“小中取大”
3、后悔值准则
后悔值也叫做“最小最大后悔值”,该决策法的基本原理为,将每种自然状态的最高值(指收益矩阵,如果是损失矩阵应取最低值)定为该状态的理想目标,
并将该状态中的其他值与最高值相比所得之差作为未达到理想的后悔值。为了提高决策的可靠性,在每一方案中选取最大的后悔值,
再在各方案的最大后悔值中选取最小值作为决策依据,与该值所对应的方案即为入选方案
--灵敏度分析
--嵌入式微处理器体系结构
1.冯诺依曼体系结构
1)程序和数据公用一个存储空间,程序指令和数据存储再同一存储器的不同地址上
2)单一的地址及数据总线,程序指令和数据的总线宽度相同
3)串行执行,再传输上会出现瓶颈
2.哈弗体系结构
1)程序和数据存储在不同的存储空间,程序指令存储地址和数据存储地址在不同的存储空间,每个存储器独立编制,独立访问
2)独立的地址及数据总线,两个存储器对应两套独立的地址总线和数据总线
3)并行执行,提高速度
--嵌入式系统的硬件结构
嵌入式微处理器是核心,它由控制器、运算器、寄存器组成
嵌入式微处理器一般可以分为嵌入式微控制器MCU、嵌入式微处理器MPU、嵌入式数字信号处理器DSP、嵌入式片上系统SOC
其他知识点:
–遗留系统的评价框架
把对遗留系统的评价结果分列在坐标的4个象限内。对处在不同象限的遗留系统采取不同的演化策略。
①淘汰策略。第四象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,
即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;
或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上考虑更合算。
②继承策略。第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,
目前企业的业务尚紧密依赖该系统。称这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。
为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
③改造策略。第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有强大的生命力。系统具有较高的业务价值.
基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,称这种遗留系统的演化策略为改造。
改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;
数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。
④集成策略。第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。
这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,
对这种遗留系统的演化策略为集成。
–架构描述语言
架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。
ADL主要包括以下组成部分:组件、组件接口、连接件和架构配置。ADL对连接件的重视成为区分ADL和其他建模语言的重要特征之一
–架构权衡分析方法(Architecture Tradeoff Analysis Method, ATAM)
ATAM是在基于场景的架构分析方法(Scenarios-based Architecture Analysis Method,SAAM)基础之上发展起来的,主要包括场景和需求收集、架构视图和场景实现、
属性模型构造和分析、属性模型折中等4个阶段。ATAM方法要求在系统开发之前,首先对这些质量属性进行评价和折中
–元组演算表达式