软考高级系统分析师PerfectLi

(1)客观性(2)普遍性(3)无限性(4)动态性(5)相对性(6)依附性(7)变换性(8)传递性(9)层次性(10)系统性(11)转化性

(1)为认识世界提供依据(2)为改造世界提供指导(3)为有序的建立提供保证(4)为资源开发提供条件(5)为知识的生产提供材料

(1)信息与数据:信息是经过加工后的数据。(2)信息与知识:知识是经过加工的信息。

(1)改变人类的思维方式(2)提供科学的理论和方法(3)形成统一的系统科学体系

(1)系统的整体性原理(2)系统的整体突变原理(非加和原理)(3)系统的层次性原理(4)系统的开放性原理(开发系统)(5)系统的目的性原理(6)系统环境互塑共生原理(7)系统的秩序原理(8)系统的生命周期原理(演化原理)

简单的说,信息系统就是输入数据,通过加工处理,产生信息的系统。管理模型、信息处理模型、系统实现条件三者的结合,产生信息系统。

(1)问题现状说明(2)理清问题的关联因素(3)建立概念模型(4)比较(5)实施

(1)战略级(企业最高管理层)(2)战术级(企业中层经理及其管理部门)(3)操作级(服务型企业的业务部门)(4)事务级(企业的管理业务人员)

(1)数据文件(2)应用数据库(3)主题数据库(4)信息检索系统(对应数据仓库)

(1)系统规划(2)系统分析(3)系统设计(4)系统实现(5)系统运行与评价

(1)高层管理人员介入原则(2)用户参与开发原则(3)自顶向下规划原则(4)工程化原则

信息化就是计算机、通信和网络技术的现代化。

信息化就是从物质生产占主导地位的社会向信息产业占主导地位的社会转变的发展过程。

信息化就是从工业社会向信息社会演进的过程。

(1)信息资源(2)信息网络(3)信息技术应用(4)信息产业(5)信息化人才(6)信息化政策法规和标准规范

(1)业务流程重组方法(2)核心业务应用方法(3)信息系统建设方法(4)主题数据库方法(5)资源管理方法

(1)信息化战略体系

(2)信息化规划涉及的主要内容和关系

(3)信息化规划的具体内容

(1)信息化战略与企业战略

(2)信息化规划与企业战略规划

(1)结构化法

(2)原型法(需求阶段)

(3)面向对象方法(自底向上)

(4)面向服务的方法

(1)企业系统规划法(BSP)(2)关键成功因素法(CSF)(3)战略集合转化法(SST)

(1)战略数据规划法(SDP)(2)信息工程方法(IE)(3)战略栅格法(SG)

(1)价值链分析法(VCA)(2)战略一致性模型(SAM)

(1)资源管理的方向和控制,要从整个企业管理的层面来分析资源的管理。

(2)建立企业信息资源指导委员会,负责制订方针政策,控制和监督信息资源功能的实施。

(3)建立信息资源的组织机构,从事数据的计划和控制、数据获取以及数据的经营管理,并包括企业应用系统的开发。

(1)不要把例外当成正规(2)管理部门必须支持并乐于帮助执行标准(3)标准必须从实际出发、有生命力的、切实可行的(4)标准不是绝对的,必须有某种灵活的余地(5)标准不应该迁就落后(6)标准必须是容易执行的(7)标准必须加以宣传推广,而不是靠强迫命令(8)关于标准的细节本身并不重要,重要的是制订了某些标准(9)标准应该逐渐的制订出来,不要企图把所有的数据管理标准一次搞定(10)数据管理的最重要的标准是一致性标准,也就是数据命名、数据属性、数据设计和数据使用的一致性

信息资源规划是信息化建设的基础工程,是指对企业生产经营活动所需要的信息。对产生、获取、处理、存储、传输和利用等方面进行全面的规划。

IRP强调将需求分析与系统建模紧密结合起来,需求分析是系统建模的准备,系统建模是用户需求的定型和规划化表达。IRP的主要过程如下图所示。

(1)第一层:经营计划

经营计划是企业总目标的具体体现,企业的高层决策者根据市场调查和需求分析、国家有关政策、企业资源能力和历史状况、同行竞争对手的情况等有关信息,制定经营计划。

(2)第二层:生产计划大纲

生产计划大纲是根据经营计划的生产目标制定的,是对企业经营计划的细化用以描述企业在可用资源的条件下,在一定时期中的产量计划。生产计划大纲在企业决策层的三个计划中有承上启下的作用,一方面它是企业经营计划和战略规划的细化,另一方面它又用于指导企业编制主生产计划指导企业有计划地进行生产。

(3)第三层:主生产计划

主生产计划是对企业生产计划大纲的细化,说明在一定时期内的如下计划:生产什么,生产多少和什么时候交货。

(4)第四层:物料需求计划和能力需求计划

能力需求计划是对物料需求计划所需能力进行核算的一种计划管理方法。旨在通过分析比较MRP的需求和企业现有生产能力,及早发现能力的瓶颈所在,为实现企业的生产任务而提供能力方面的保障。

(5)第五层:车间生产控制

车间作业计划在MRP所产生的加工制造订单的基础上,按照交货期的前后和生产优先级选择原则以及车间的生产资源情况(如设备、人员、物料的可用性、加工能力的大小等)将零部件的生产计划以订单的形式下达给适当的车间。

(1)前期准备阶段

动员大会基础数据的准备系统的安装程序演示和功能确认期初数据的导入(2)试运行阶段

确定用户清单,划分用户权限加强培训业务流程重组系统使用问题的记录(3)交付收尾阶段

工作成果审查查核各项工作或活动是否已经完成

CRM理念是将客户看作资产,客户关怀是中心。目的是与客户建立长期和有效的业务关系。最大限度地增加利润。核心是客户价值管理,提高客户忠诚度和保有率。

(1)客户服务:CRM的关键内容。

(3)共享的客户资料库:它把市场营销和客户服务连接起来。

(4)分析能力:CRM的一个重要方面在于它具有使客户价值最大化的分析能力。

一个有效的CRM解决方案应该具备以下要素:

(1)畅通有效的客户交流渠道(触发中心)。

(2)对所获信息进行有效分析(挖掘中心)。

(3)CRM必须能与ERP很好地集成。

CRM实现过程包含三方面的工作:

(1)客户服务与支持:通过控制服务品质以赢得顾客的忠诚度,例如,对客户快速准确的技术支持、对客户投诉的快速反应、对客户提供产品查询等;

(2)客户群维系:通过与顾客的交流实现新的销售,例如,通过交流赢得失去的客户等;

(1)计划(策略性)(2)采购(3)制造(4)配送(5)退货

(1)信息流(核心)

需求信息流:如客户订单、生产计划、采购合同等;供应信息流:如入库单、完工报告单、库存记录、可供销售量、提货发运单等;

(2)资金流

(3)物流

(1)数据库和文档管理

(2)产品结构与配置管理

(3)生命周期管理和流程管理

(4)集成开发接口

产品的生命周期包括5个阶段:

(1)培育期(概念期)

(2)成长期

(3)成熟期

(4)衰退期

(5)结束期(报废期)

(1)总体功能

(2)核心制造、协作和控制功能

(3)细化功能

(1)显性知识:规范,系统,结构化,明确。(组织过程资产)

(2)隐性知识:未规范,零星,非正式,未编码,不易保存和传递。(个人经验)

(1)知识生成工具:知识获取、知识合成、知识创新。

(2)知识编码工具:通过标准形式表现知识。

BPR是对企业的业务流程进行根本性的再思考和彻底性的再设计,从而获得可以用诸如成本、质量、服务和速度等方面的业绩来衡量的显著性的成就。

BPM是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。

(1)明确业务流程所欲获取的成果

(2)开发和计划系统的方法实现以上成果

(3)系统地部署方法确保全面实施

(4)根据对业务的检查和分析以及持续的学习活动,评估和审查所执行的方法。并进一步提出计划和实施改进措施。

BPM与BPR管理思想最根本的不同就在于流程管理并不要求对所有的流程进行再造。构造卓越的业务流程并不是流程再造,而是根据现有流程的具体情况,对流程进行规范化的设计。

流程管理包含三个层面:规范流程、优化流程和再造流程。

结构化决策非结构化决策半结构化决策

DSS基本结构由4个部分组成:数据库子系统、模型子系统、推理部分和用户接口子系统,如下图所示。

商业智能用于决策分析,数据仓库、联机分析处理(OLAP)和数据挖掘技术是BI的三大组成部分。

(1)需求分析

(2)数据仓库建模

(3)数据抽取

(4)建立BI分析报表

(5)用于培训和数据模拟测试

(6)系统改进和完善

政府对政府(G2G)(GovernmentToGovernment)政府对企业(G2B)或B2G(GovernmentToBusiness)政府对公民(G2C)或C2G(GovernmentToCitizen)政府对公务员(G2E)(GovernmentToEmployee)

企业对消费者(B2C)企业对企业(B2B)消费者对消费者(C2C)线上对线下(O2O)

(1)表示集成

表示集成(界面集成),把各应用系统的界面集成起来,统一入口,产生“整体”感觉。

(2)数据集成

(3)控制集成

控制集成(功能集成、应用集成)是业务逻辑层次集成,可以借助于远程过程调用或远程方法调用、面向消息的中间件等技术。

(4)业务流程集成

还有其他会用到的集成方式,如下:

消息集成:适用于数据量小、但要求频繁地、立即地、异步地数据交换场合。

共享数据库:实时性强、可以频繁交互,数据的交换属于同步方式。

文件传输:适用于数据量大、交换频度小、即时性要求低的情况

根据系统规划的主要任务,可以按照以下步骤开展系统规划的工作:

(1)初步调查:根据企业战略目标,分析企业现状以及系统运行状况。

(2)确定系统目标:确定系统的服务范围质量等。

(3)分析子系统的组成:做系统划分并指定子系统功能。

(4)拟定系统的实施方案:分析子系统优先级,确定开发顺序。

(5)进行可行性研究:编写可行性研究报告,召开可行性论证会。

(6)制订系统建设方案:对可研报告提出的各项技术指标进行分析、比较,落实各项假设的前提条件,制订系统建设方案,形成系统设计任务书作为系统建设的依据。

项目的提出和选择包括项目立项目标和动机、立项价值判断、项目选择和确定、初步调查和可行性分析等过程。具体如下图所示:

可行性研究也称为可行性分析,是所有项目投资、工程建设或重大改革在开始阶段必须进行的一项工作。

(1)经济可行性

成本收益分析,包括建设成本、运行成本和项目建设后可能的经济收益。

(2)技术可行性

技术风险分析,现有的技术能否支持系统目标的实现,现有资源(员工,技术积累,构件库,软硬件条件)是否足以支持项目的实施。

(3)法律可行性(社会可行性)

不能与国家法律或政策相抵触。

(4)用户使用可行性

执行可行性,从信息系统用户的角度评估系统的可行性。

管理可行性:系统与现有管理机制的一致性,改革的可能性。

运行可行性:用户方便使用的程度。

可行性研究工作可以分为以下8个步骤:

(1)复查系统目标和规模

(2)分析现有系统

(3)导出新系统的高层逻辑模型

(4)用户复核

(5)提出并评价解决方案

(6)确定最终推荐的解决方案

(7)草拟开发计划

(8)编制和提交可行性研究报告

在国家标准GB/T8567-2006中,提供了一个可行性研究报告的文档模板和编写指南,其中规定了在可行性研究报告中应该包括如下内容:

(1)引言

(2)引用文件

(3)可行性研究的前提

(4)可选的方案

(5)所建议的系统

(6)经济可行性

(7)技术可行性

(8)法律可行性

(9)用户使用可行性

(1)基础建设成本:如房屋和设施、办公设备、平台软件、必须的工具软件等。

(2)其他一次性投资:如研究咨询成本、调研费、培训费、差旅费以及其他一次性杂费。

(3)其他非一次性投资:主要是指系统的运行和维护成本,如设备租金和定期维护成本、定期消耗品支出、房屋租金、公共设施维护等。

(2)变动成本:直接材料费、产品包装费、外包费用、开发奖金等。

同时,还可按照直接和间接分类:

(1)直接成本:项目组人员工资,材料费用。

(2)间接成本:水电费,员工培训费。

收益可以分为有形收益和无形收益。

(2)无形收益:也称为不可定量的收益,主要是从性质上、心理上进行衡量,很难直接进行量上的比较。如服务的改进、由操作失误引起的风险的减少、企业形象的改善等。

盈亏临界分析又称为损益平衡分析,它主要研究如何确定盈亏临界点、有关因素变化对盈亏临界点的影响等问题。

盈亏临界点也称为盈亏平衡点或保本点,是指项目收入和成本相等的经营状态,也就是既不盈利也不亏损的状态。

有关计算公式如下:

销售额=固定成本+可变成本+利润(正常情况下)

销售额=固定成本+可变成本(盈亏平衡时)

盈亏平衡点销售量=总固定成本/(销售单价-单位变动成本)

盈亏平衡点销售额=总固定成本/(1-总变动成本/销售收入)

其中P为本金,n为年期,i为利率,F为P元钱在n年后的价值。

净现值是指项目在生命周期内各年的净现金流量按照一定的、相同的折现率折现到初时的现值之和,公式为:

其中为第t年的净现金流量,CI为现金流入,CO为现金流出,i为折现率。

净现值率的公式为:

其中为第t年的投资额。因为P>0,对于单一方案评价而言,若NPV≥0,则NPVR≥0;若NPV<0,则NPVR<0。因此,净现值与净现值率是等效的评价指标。

(1)静态投资回收期

实用公式为:T=累计净现金流量开始出现正值的年份数-1+|上年累计净现金流量|/当年净现金流量

(2)动态投资回收期

实用公式为:=累计折现值开始出现正值的年份数-1+|上年累计折现值|/当年折现值

(3)投资收益率

投资收益率又称为投资利润率,是指投资收益占投资成本的比率。投资收益率反映投资的收益能力。其公式为:

投资收益率=投资收益/投资成本×100%

投资收益率=100%+净现值率

投资回收率=1/投资回收期×100%

投资收益率=投资回报率

总投资收益率=投资收益/投资总额×100%

(LifetimeReturnofInvestment)

年均投资收益率=运营期年均净收益/投资总额×100%

(AnnualReturnofInvestment)

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。IEEE对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

单个系统的各个阶段需要开展的工作和输出的文档如下图所示。

软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期或生存周期。

软件生命周期与5个基本过程的对应关系

(1)形式化方法概述

提高软件可靠性的一种重要技术是使用形式化方法。形式化方法是建立在严格数学基础上、具有精确数学语义的开发方法。广义的形式化方法是指软件开发过程中分析、设计和实现的系统工程方法,狭义的形式化方法是指软件规格和验证的方法。

(2)净室软件工程

净室软件工程(CleanroomSoftwareEngineering,CSE)是软件开发的一种形式化方法,可以开发较高质量的软件。净室软件工程的特点如下:

净室即无尘室、洁净室。也就是一个受控污染级别的环境。使用盒结构规约(或形式化方法)进行分析和设计建模,并且强调将正确性验证,而不是测试,作为发现和消除错误的主要机制。使用统计的测试来获取认证被交付的软件的可靠性所必需的出错率信息。

逆向工程(reverseengineering)术语源于硬件制造业相互竞争的公司为了了解对方设计和制造工艺的机密,在得不到设计和制造说明书的情况下,通过拆卸实物获得信息,软件的逆向工程也基本类似,不过,通常“解剖”的不仅是竞争对手的程序,而且还包括本公司多年前的产品。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。

一般认为,凡是在软件生命周期内将软件某种形式的描述转换成更为抽象形式的活动都可称为逆向工程。逆向工程的完备性可以用在某一个抽象层次上提供信息的详细程度来描述。逆向工程过程能够导出多个级别的内容,随着抽象层次增高,完备性就会降低。具体包括:

实现级(底层的抽象):包括程序的抽象语法树、符号表、过程的设计表示。

结构级(稍高层次的抽象):包括反映程序分量之间相互依赖关系的信息例如调用图、结构图、程序和数据结构。

功能级(相对高层的抽象):包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型。

领域级(高层抽象):包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系摸型。

软件开发模型大体上可分为三种类型。

第一种是以软件需求完全确定为前提的瀑布模型;第二种是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式开发模型,例如,喷泉模型、螺旋模型、统一开发过程和敏捷方法等;第三种是以形式化开发方法为基础的变换模型。

瀑布模型是一种严格定义方法,它将软件开发的过程分为软件计划、需求分析、软件设计、程序编码、软件测试和运行维护6个阶段,形如瀑布流水,最终得到软件产品,如下图所示。

演化模型主要针对事先不能完整定义需求的软件开发,是在快速开发一个原型的基础上,根据用户在调用原型的过程中提出的反馈意见和建议,对原型进行改进,获得原型的新版本,重复这一过程,直到演化成最终的软件产品。

主要优点:任何功能一经开发就能进入测试,以便验证是否符合产品需求,可以帮助导引出高质量的产品要求。

主要缺点:如果不加控制地让用户接触开发中尚未稳定的功能,可能对开发人员及用户都会产生负面的影响。

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。

螺旋模型是瀑布模型与演化模型相结合,并加入两者所忽略的风险分析所建立的一种软件开发模型。螺旋模型是一种演化软件过程模型,它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来,使软件的增量版本的决速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。

喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。该模型认为软件开发过程自下而上的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏。

目前主要的敏捷方法有极限编程(eXtremeProgramming,XP)、自适应软件开发(AdaptiveSoftwareDevelopment,ASD)、水晶方法(Crystal)、特胜驱动开发(FeatureDrivenDevelopment,FDD)、动态系统开发方法(DynamicSystemsDevelopmentMethod,DSDM)、测试驱动开发(Test-DrivenDevelopment,TDD)、敏捷数据库技术(AgileDatabaseTechniques,AD)和精益软件开发(LeanSoftwareDevelopment)等。虽然这些过程模型在实践上有差异,但都是遵循了敏捷宣言或者是敏捷联盟所定义的基本原则。这些原则包括客户参与、增量式移交、简单性、接受变更、强调开发人员的作用和及时反馈等。

敏捷开发的4大价值观、5大原则和12大最佳实践如下图所示。

以下介绍几种常见的敏捷方法:

(1)CMM的等级(5个等级)

(2)关键过程域

(3)能力成熟度模型集成

软件过程能力评估是根据过程模型或其他模型对组织的软件过程所进行的规范的评估。主要参考的方法有以下几种:

(1)CMM模型(2)Trillum模型(3)Bootstrap方法(4)ISO/IEC15504标准(5)SJ/T11234-2001标准

软件需求工程是包括创建和维护软件需求文档所必需的一切活动的过程,可分为需求开发和需求管理两大工作。

需求开发包括需求获取、需求分析、编写需求规格说明书(需求定义)和需求验证四个阶段。需求管理通常包括定义需求基线、处理需求变更和需求跟踪等方面的工作。这两个方面是相辅相成的需求开发是主线是目标;需求管理是支持是保障。如下图所示:

软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望。软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。

PIECES框架:

PIECES框架是系统非功能性需求分类的技术。主要内容如下:

性能(Preformance):性能用于描述企业当前的运行效率,可以分析当前业务的处理速度。

信息(Information):信息和数据指标用于描述业务数据的输入、输出以及处理方面存在跳各种问题。

经济(Economics):经济指标主要是从成本和收益的角度分析企业当前存在的问题。

控制(Control):提高信息系统的安全和控制水平。

效率(Efficiency):提高企业的人、财、物等的使用效率。

服务((Service):提高企业对客户、供应商、合作伙伴、顾客等的服务质量。

需求获取的方法:

例如,如果希望订单样本集包含所有情况具有90%的可信度,那么样本大小计算如下:

样本大小=0.25×(1.65/(1-0.90))2=68.0625

在软件工程实践过程中,人们提出了许多种需求分析的方法,其中主要有结构化(SA)方法、面向对象分析(OOA)方法和面向问题域的分析(ProblemDomainOrientedAnalysis,PDOA)方法。另外还有一些形式化方法例如VDM(ViennaDesignMethod)和Z等。

SA方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的,于是复杂的问题也就迎刃而解了。在SA方法中导出的分析模型如下图所示。

数据字典中一般有六类条目,分别是数据元素、数据结构、数据流、数据存储、加工逻辑和外部实体。不同类型的条目有不同的属性需要描述。

(1)数据元素。数据元素也称为数据项,是数据的最小组成单位,例如,课程号、课程名等。对数据元素的描述,应该包括数据元素的名称、编号、别名、类型、长度、取值范围和取值的含义等。

(2)数据结构。数据结构用于描述某些数据元素之间的关系,它是一个递归的概念,一个数据结构可以包括若干个数据元素或(和)数据结构。数据结构的描述重点是数据元素之间的组合关系,即说明数据结构包括哪些成分。这些成分中有三种特殊清况,分别是任选项、必选项和重复项。

(4)数据存储。数据存储的条目主要描写该数据存储的结构,以及有关的数据流和查询要求。

(2)数据流图(DFD)的层次

SA方法的思路是依赖于DFD进行自顶而下的分析。这也是因为系统通常比较复杂,很难在一张图上就将所有的数据流和加工描述清楚。因此,DFD提供一种表现系统高层和低层概念的机制。也就是先绘制一张较高层次的DFD,然后在此基础上,对其中的加工进行分解,分解成为若干个独立的、低层次的、详细的DFD,而且可以这样逐一的分解下去,直至系统被清晰地描述出来。如下图所示。

数据流图的平衡原则如下图所示。

大多数业务系统是数据驱动的,所以适合使用DFD。但是,实时控制系统却主要是事件驱动的,因此,行为模型是最有效的描述方式。STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为。此外,STD还指出了作为特定事件的结果将执行哪些动作(例如,处理数据等)。

在STD中从一个状态到另一个状态的转换用箭头线表示,箭头表明转换方向,箭头线上标上事件名。必要时可在事件名后面加一个方括号,括号内写上状态转换的条件。也就是说,仅当方括号内所列出的条件为真时,该事件的发生才引起箭头所示的状态转换。如下图为一个在线课程学习的STD示例。

面向对象分析的基本任务是运用面向方法对问题域进行分析和理解,正确认识其中的事物及它们之间的关系,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间所形成的各种联系。最终产生一个符合用户需求,并能直接反映问题域和系统功能的面向对象分析模型及其详细说明。

(1)对象:属性(数据)+方法(操作)+对象ID

(2)类:(实体类/控制类/边界类)

(4)封装:隐藏对象的属性和实现细节,仅对外公开接口

(5)多态:不同对象收到同样的消息产生不同的结果

(6)接口:一种特殊的类,他只有方法定义没有实现

(7)重载:一个类可以有多个同名而参数类型不同的方法

UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它融入了软件工程领域的新思想、新方法和新技术,它的作用域不限于支持OOA和OOD,还支持从需求分析开始的软件开发的全过程。

(1)UML的结构

从总体上来看,UML的结构包括构造块、规则和公共机制三个部分。

(2)UML事物

UML中的事物也称为建模元素包括结构事物(structuralthings)、行为事物(behavioralthings动作事物)、分组事物(groupingthings)和注释事物(annotationalthings注解事物)。这些事物是UML模型中最基本的OO构造块。

(3)UML关系

UML用关系把事物结合在一起,主要有下列四种关系:

UML2.0包括14种图,分别如下图所示:

UML的4+1视图是指用例视图和逻辑视图、实现视图、进程视图和部署视图。

用例图是描述一组用例、参与者及它们之间的关系。主要包括参与者、用例和通信关联三种元素。

用例图的特点如下:

用户角度描述系统功能;

用例建模的流程如下:

类图(classdiagram):类图描述一组类、接口、协作和它们之间的关系。

对象图(objectdiagram):对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

四种关系及图例如下所示:

顺序图(sequencediagram,序列图)。顺序图是一种交互图(interactiondiagram),它强调对象之间消息发送的顺序,同时显示对象之间的交互。如下图所示。

活动图(activitydiagram)是一种特殊的状态图。活动图描述一个操作中要进行的各项活动的执行流程。同时,也常被用来描述一个用例的处理流程或者某种交互流程。

需求建模包括用例模型和分析模型,具体内容如下图所示。

基线是一个软件配置管理的概念,它帮助开发人员在不严重阻碍合理变化的情况下来控制变化。根据IEEE的定义,基线是指已经通过正式评审和批准的规约或产品,它可以作为进一步开发的基础,并且只能通过正式的变更控制系统进行变化。在软件工程范围内,基线是软件开发中的里程碑,其标志是有一个或多个软件配置项的交付,且已经经过正式技术评审而获得认可。

以下为带有风险的做法:

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包合一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构是项目干系人进行交流的手段j明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性。软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。软件架构是可传递和可复用的模型通过研究软件架构可能预测软件的质量。

(1)架构设计的一个核心问题是能否达到架构级的软件复用。

(2)架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。

(3)架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。

经典架构风格包括以下几种:

层次架构风格包括以下几种:

二层架构三层C/S架构(包括表示层、功能层和数据层)B/S架构

SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。

在SOA架构中,继承了来自对象和构件设计的各种原则,例如,封装和自我包含等。那些保证服务的灵活性、松散稠合和复用能力的设计原则,对SOA架构来说同样是非常重要的。关于服务,一些常见的设计原则如下:

在采用WebService作为SOA的实现技术时,应用系统大致可以分为六个层次,分别是:

服务注册表(serviceregistry)虽然也具有运行时的功能但主要在SOA设计时使用。它提供一个策略执行点(PolicyEnforcementPoint,PEP)在这个点上服务可以在SOA中注册从而可以被发现和使用。

服务注册表可以包括服务注册、服务位置和服务绑定。

ESB的概念是从SOA发展而来的,它是一种为进行连接服务提供的标准化的通信基础结构,基于开放的标准,为应用提供了一个可靠的、可度量的和高度安全的环境,并可帮助企业对业务流程进行设计和模拟对每个业务流程实施控制和跟踪、分析并改进流程和性能。

ESB是由中间件技术实现并支持SOA的一组基础架构,是传统中间件技术与XML,WebService等技术结合的产物,是在整个企业集成架构下的面向服务的企业应用集成机制。如下图所示。

微服务顾名思义,就是很小的服务,所以它属于面向服务架构的一种。

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTfuIAPI)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制。对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务的特点主要如下:

(1)微服务的优势

技术异构性弹性!扩展简化部署与组织结构相匹配可组合性对可替代性的优化(2)微服务的挑战

分布式系统的复杂度运维成本部署自动化DevOps与组织结构服务间依赖测试服务间依赖管理

一Model

客观事物的抽象表示

一Architecture

构成系统的部件、连接件及其约束的规约

一ModelDriven

使用模型完成软件的分析、设计、构建、部署、维护等各开发活动

MDA起源于分离系统规约和平台实现的思想

Portability(可移植性)Interoperability(互通性)Reusability(可重用性)

系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。

在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。详细设计又可分为多种,包括:

网络设计代码设计输入/输出设计处理流程设计数据存储设计用户界面设计安全性和可靠胜设计

结构化设计(StructuredDesign,SD)是一种面向数据流的方法,它以软件需求规格说明书(SRS)和结构化分析(SA)阶段所产生的数据流图和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。

SD方法的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段,其中概要设计的主要任务是确定软件系统的结构,对系统进行模块划分,确定每个模块的功能、接口和模块之间的调用关系;详细设计的主要任务是为每个模块设计实现的细节。

系统是一个整体,它具有整体性的目标和功能,但这些目标和功能的实现又是由相互联系的各个组成部分共同工作的结果。人们在解决复杂问题时使用的一个很重要的原则,就是将它分解成多个小问题分别处理,在处理过程中,需要根据系统总体要求,协调各业务部门的关系。在SD中,这种功能分解就是将系统划分为模块,模块是组成系统的基本单位,它的特点是可以自由组合、分解和变换,系统中任何一个处理功能都可以看成一个模块。模块如下:

(1)信息隐蔽与抽象

信息隐蔽原则要求采用封装技术,将程序模块的实现细节(过程或数据)隐藏起来,对于不需要这些信息的其他模块来说是不能访问的,使模块接口尽量简单。

(2)模块化

在SD方法中,系统由多个逻辑上相对独立的模块组成,在模块划分时需要遵循如下原则:

(4)内聚

(5)模块类型

系统结构图(StructureChart,SC)又称为模块结构图,它是软件概要设计阶段的工具,反映系统的功能实现和模块之间的联系与通信,包括各模块之间的层次结构,即反映了系统的总体结构。

在系统分析阶段,系统分析师可以采用SA方法获取由DFD、数据字典和加工说明等组成的系统的逻辑模型;

在系统设计阶段,系统设计师可根据一些规则,从DFD中导出系统初始的SC。

SC包括以下四个部分:

常用的SC主要有以下三种:

面向对象设计(OOD)是面向对象分析(OOA)方法的延续,其基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。在OOD中,数据结构和在数据结构上定义的操作算法封装在一个对象之中。由于现实世界中的事物都可以抽象出对象的集合,所以OOD方法是一种更接近现实世界、更自然的系统设计方法。

类封装了信息和行为,是面向对象的重要组成部分,它是具有相同属性、方法和关系的对象集合的总称。在系统中,每个类都具有一定的职责,职责是指类所担任的任务。一个类可以有多种职责,设计得好的类一般至少有一种职责,在定义类时,将类的职责分解为类的属性和方法,其中属性用于封装数据,方法用于封装行为。设计类是OOD中最重要的组成部分,也是最复杂和最耗时的部分。

在系统设计过程中,类可以分为三种类型,分别是实体类、控制类和边界类。

在面向对象开发方法中,对象只能存在于内存中,而内存不能永久保存数据,如果要永久保存对象的状态需要进行对象的持久化(persistence),对象持久化是把内存中的对象保存到数据库或可永久保存的存储设备中。

目前关系数据库仍旧是使用最为广泛的数据库如DB2,Oracle,SQLServr等关系数据库。

随着对象持久化技术的发展,诞生了越来越多的持久化框架,目前,主流的持久化技术框架包括CMP,Hibernate,iBatis和JDO等。

面向对象设计的基本过程如下图所示。

(1)模式名称。给模式取一个助记名,用一两个词语来描述模式待解决的问题、解决方案和使用效果,以便更好地理解模式并方便开发人员之间的交流。

(2)问题。描述应该在何时使用模式,即在解决何种问题时可使用该模式。

(3)解决方案。描述设计的组成成分、它们之间的相互关系及各自的职责和楠***乍方式。模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供一个问题的抽象描述和具有一般意义的元素组合(类或对象组合)。

(4)效果。描述模式应用的效果以及使用模式时应权衡的问题,即模式的优缺点。

架构模式:软件设计中的高层决策。例如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策。

根据目的和用途不同,设计模式可分为创建型(creational)模式、结构型(structural)模式和行为型(behavioral)模式三种。创建型模式主要用于创建对象,结构型模式主要用于处理类或对象的组合,行为型模式主要用于描述类或对象的交互以及职责的分配。

具体内容如下图所示:

从架构来看:MVC,MVP,MWM,REST,Webservice,微服务。

从缓存来看:MemCache,Redis,Squid。

从并发分流来看:集群(负载均衡)、CDN。

从数据库来看:主从库(主从复制),内存数据库,反规范化技术,NoSQL,分区(分表)技术,视图与物化视图。

从持久化来看:Hibernate,Mybatis。

从分布存储来看:Hadoop,FastDFS,区块链。

从数据编码看:XML,JSON。

从Web应用服务器来看:Apache,WebSphere,WebLogic,Tomcat,

JBOSS,IIS。

其它:静态化,有状态与无状态。响应式Web设计。

基于特定软件的负载均衡(HTTP重定向)(应用层)反向代理负载均衡(应用层)基于DNS的负载均衡(传输层)基于NAT的负载均衡(传输层)混合型负载均衡

静态算法:轮转算法、加权轮转算法、源地址哈希散列算法、目标地址哈希散列算法、随机算法动态算法:最小连接数算法、加权最小连接数算法、加权百分比算法

硬件负载均衡:F5软件负载均衡:LVS、Nginx、HAproxy

1、HTTP重定向。HTTP重定向就是应用层的请求转发。用户的请求其实已经到了HTTP重定向负载均衡服务器,服务器根据算法要求用户重定向,用户收到重定向请求后,再次请求真正的集群。

特点:实现简单,但性能较差。

2、反向代理服务器。在用户的请求到达反向代理服务器时(已经到达网站机房),由反向代理服务器根据算法转发到具体的服务器。常用的apache,nginx都可以充当反向代理服务器。

特点:部署简单,但代理服务器可能成为性能的瓶颈。

1、DNS域名解析负载均衡。DNS域名解析负载均衡就是在用户请求DNS服务器,获取域名对应的IP地址时,DNS服务器直接给出负载均衡后的服务器IP。

特点:效率比HTTP重定向高,减少维护负载均衡服务器成本。但一个应用服务器故障,不能及时通知DNS,而且DNS负载均衡的控制权在域名服务商那里,网站无法做更多的改善和更强大的管理。

2、基于NAT的负载均衡。基于NAT的负载均衡将一个外部IP地址映射为多个IP地址,对每次连接请求动态地转换为一个内部节点的地址。

特点:技术较为成熟,一般在网关位置,可以通过硬件实现。像四层交换机一般就采用了这种技术。

无状态服务(statelessservice)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任伺信息。

有状态服务(statefulservice)则相反,它会在自身保存一些数据,先后的请求是有关联的。

MemCache:Memcache是一个高性能的分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负载。Memcache通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

Redis:Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Squid:Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/0驱动的进程来处理所有的客户端请求。

Redis与Memcache的差异如下:

1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。他们都支持key-value数据类型。同时Memcache还可用于缓存其他东西,例如图片、视频等等,Redis还支持list、set、hash等数据结构的存储。

2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。Memcache挂掉之后,数据就没了。

3、灾难恢复-Memcache挂掉后,数据不可恢复;Redis数据丢失后可以恢复。

4、在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcache相比一个最大的区别。当物理内存用完时,Redis可以将一些很久没用到的value交换到磁盘。

5、Redis在很多方面支持数据库的特性,可以这样说他就是一个数据库系统,而Memcache只是简单地K/V缓存。

所以在选择方面如果有持久方面的需求或对数据类型和处理有要求的应该选择Reddis。如果简单的key/value存储应该选择Memcache。

CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

WEB应用服务器可以理解为两层意思:

(1)WEB服务器:其职能较为单一,就是把浏览器发过来的Request请求,返回Html页面。

(2)应用服务器:进行业务逻辑的处理。

Apache:Web服务器,市场占有率达60%左右。它可以运行在几乎所有的Unix、Windows、Linux系统平台上。

IIS:早期Web服务器,目前小规模站点仍有应用。

Tomcat:开源、运行servlet和JSPWeb应用软件的基于Java的Web应用软件容器。

JBOSS:JBOSS是基于J2EE的开放源代码的应用服务器。一般与Tomcat或Jetty绑定使用。

WebSphere:一种功能完善、开放的Web应用程序服务器,它是基于Java的应用环境,用于建立、部署和管理Internet和IntranetWeb应用程序。

WebLogic:BEAWebLogicServer是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。

Jetty:Jetty是一个开源的servlet容器,它为基于Java的web容器。

REST(RepresentationalStateTransfer,表述性状态转移)是一种只使用HTTP和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。

REST的5个原则:

(1)网络上的所有事物都被抽象为资源。

(2)每个资源对应一个唯一的资源标识。

(3)通过通用的连接件接口对资源进行操作。

(4)对资源的各种操作不会改变资源标识。

(5)所有的操作都是无状态的。

响应式WEB设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局。

方法与策略:

(1)采用流式布局和弹性化设计:使用相对单位,设定百分比而非具体值的方式设置页面元素的大小。

(2)响应式图片:不仅要同比的缩放图片,还要在小设备上降低图片自身的分辨率。

软件测试是在将软件交付给客户之前所必须完成的重要步骤。目前,软件的正确性证明尚未得到根本的解决,软件测试仍是发现软件错误(缺陷)的主要手段。软件测试的目的是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规定的软件质量要求。通过测试,发现软件缺陷,为软件产品的质量测量和评价提供依据。

自动化测试通常需要构建存放程序软件包和测试软件包的文件服务器、存储测试用例和测试结果的数据库服务器、执行测试的运行环境、控制服务器、Web服务器和客户端程序。自动化测试的主要实现方法包括代码的静态与动态分析、测试过程的捕获与回放、测试脚本技术、虚拟用户技术和测试管理技术等。

(1)提高测试执行的速度

(2)提高工作效率

(3)保证测试结果的准确性

(4)连续运行测试脚本

(5)模拟现实环境下受约束的情况

(1)单元测试工具

(2)负载和性能测试工具

(3)GUI功能测试工具

(4)基于Web应用的测试工具

软件调试(排错)与成功的测试形影相随。测试成功的标志是发现了错误,根据错误迹象确定错误的原因和准确位置,并加以改正,主要依靠软件调试技术。

软件调试方法:

(1)测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误。

(2)调试是测试之后的活动测试和调试在目标、方法和思路上都有所不同。

(3)测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个未知的条件开始,结束的过程不可预计。

(1)桌前检查

(2)代码审查

(3)代码走查

(4)静态分析

(1)白盒测试

白盒测试也称为结构测试,主要用于软件单元测试阶段。它的主要思想是,将程序看作是一个透明的白盒,测试人员完全清楚程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确工作。

白盒测试方法主要有:

(2)黑盒测试

黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试阶段。黑盒测试将软件看作是一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,而只检查软件功能是否能按照SRS的要求正常使用,软件是否能适当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息(例如,文件和数据库等)的完整性等。

黑盒测试根据SRS所规定的功能来设计测试用例,一般包括:

(2)系统测试活动和步骤如下:

负载测试:确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

压力测试:通过确定一个系统的瓶颈或不能接受的性能点,来获得系统能提供的最大服务级别的测试。

强度测试:在系统资源特别低的情况下考查软件系统运行情况。

并发测试:并发测试也称为容量测试,主要用来确定系统可处理的同时在线的最大用户数。

(4)V模型测试过程

V模型的测试过程如下图所示:

面向对象系统的测试包括以下方面内容:

软件评审需注意的内容如下:

遗留系统按照技术水平和业务价值的高低可分为如下情况:

(1)淘汰策略

遗留系统的技术含量较低且具有较低的业务价值。对遗留系统的完全淘汰是企业资源的根本浪费系统分析师应该善于“变废为宝”通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计降低新系统开发的风险。

(2)继承策略

(3)改造策略

(4)集成策略

遗留系统的技术含量较高但其业务价值较低可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。

数据转换和迁移是新旧系统转换交接的主要工作之一。为使数据能平滑迁移到新系统中,在新系统设计阶段就要尽量保留现有系统中合理的数据结构,这样才能尽可能降低数据迁移的工作量和难度。数据转换和迁移过程如下图所示:

系统维护就是在系统运行过程中,为了改正错误或满足新的需求而修改系统的活动,包括软件维护(程序维护)、数据维护、代码维护、设备维护,以及机构和人员的变动等。

软件维护是生命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动,这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的计划和维护计划等二交付后的活动包括软件修改、培训、帮助资料等。其可维护性和维护类型如下图所示:

软件维护的分类(4种):

范围管理:确定项目的边界,即哪些工作是项目应该做的,哪些工作不应该包括在项目中。

WBS:工作分解结构(WorkBreakdownStructure),创建WBS是把项目工作按阶段可交付成果分解成较小的,更易于管理的组成部分的过程。WBS的基本定义:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。

(1)完成对开始(FS):后一活动的开始要等到前一活动的完成。

(2)完成对完成(FF):后一活动的完成要等到前一活动的完成。

(3)开始对开始(SS):后一活动的开始要等到前一活动的开始。

(4)开始对完成(SF):后一活动的完成要等到前一活动的开始。

箭线图法(ArrowDiagrammingMethod,ADM)也称为双代号网络图法(ActiveOntheArrow,AOA)它用节点表示事件用箭线表示活动并在节点处将其连接起来以表示依赖关系。在ADM中,给每个事件而不是每项活动指定一个唯一的号码。活动的开始(箭尾)事件叫做该活动的紧前事件(precedeevent)活动的结束(箭头)事件叫做该活动的紧后事件(successorevent)。

关键路径法(CriticalPathMethod,CPM),又称关键线路法。一种计划管理方法。

关键路径法是在制订进度计划时使用的一种进度网络分析技术。关键路线法沿着项目进度网络路线进行正向与反向分析,从而计算出所有计划活动理论上的最早开始与完成日期、最迟开始与完成日期,不考虑任何资源限制。

(3)对于网络计划中以终点节点为完成节点的活动,其自由时差与总时差相等。此外,由于活动的自由时差是其总时差的构成部分,所以,当活动的总时差为零时,其自由时差必然为零,可不必进行专门计算。

甘特图的优缺点如下:

成本管理:在整个项目的实施过程中,为确保项目在批准的预算条件下尽可能保质按期完成,而对所需的各个过程进行管理与控制。

计划工作量的预算成本(PV)PV=计划工作量×预算定额

(2)已完成工作量的实际成本(AC)

(3)已完成工作量的预算成本(EV)

EV=已完成工作量×预算定额

(4)完工预算(BAC)

BAC=完工时的PV总和

进度偏差:SV=EV-PV成本偏差:CV=EV-AC进度绩效指数:SPI=EV/PV成本绩效指数:CPI=EV/AC剩余工作的成本(ETC)ETC=BAC-EV

ETC=(BAC-EV)/CPI

完工估算(EAC)EAC=AC+ETC

IEEE对配置项的定义为硬件、软件或二者兼有的集合,为配置管理指定的,在配置管理过程中作为一个单独的实体对待,可作为配置项管理的有:外部交付的软件产品和数据、指定的内部软件工作产品和数据、指定的用于创建或支持软件产品的支持工具、供方/供应商提供的软件和客户提供的设备/软件。

典型配置项包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入软件配置管理(SCM)。

每个配置项的主要属性有:名称、标识符、文件状态、版本、作者和日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失。配置项及其历史记录反映了软件的演化过程。

-开发库:(动态库、程序员库、工作库;动态系统、开发者系统、开发系统、工作空间)-受控库(主库、系统库;主系统、受控系统)-产品库(备份库、静态库、软件仓库;静态系统)

(2)里程碑:完成阶段性工作的标志,不同类型的项目里程碑不同。

变更是指在项目的实施过程中,由于项目环境或者其他的各种原因对项目的部分或项目的全部功能、性能、体系结构、技术、指标、集成方法和项目进度等方面做出改变。项目变更是正常的、不可避免的。

在配置管理中,所有的配置项都应列入版本控制的范畴。对于软件产品的版本有两个方面的意思,一是为满足不同用户的不同使用要求,如用于不同运行环境的系列产品。如适合Linux,Windows,Solaris用户的软件产品分别称为Linux版Windows版和Solaris版。它们在功能和性能上是相当的,原则上没有差别,或者说,这些是并列的系列产品。对于这类差别很小的不同版本,互相也称为变体(variant)。

另一种版本的含义是在软件产品投入使用后,经过一系列的变更(例如,纠错、增加功能、提高性能的更改等),而形成的一系列的顺序演化的产品,这些产品也称为一个版本,每个版本都可说出它是从哪个版本导出的演化过程。

处于草稿状态的配置项的版本号格式为:0.YZ,其中YZ数字范围为01~99。随着草稿的不断完善。YZ的取值应递增。YZ的初值和增幅由开发者自己把握。处于正式发布状态的配置项的版本号格式为:X.Y。其中X为主版本号,取值范围为1~9。Y为次版本号,取值范围为1~9。配置项第一次正式发布时,版本号为1.0。如果配置项的版本升级幅度比较小,一般只增大Y值,X值保持不变。只有当配置项版本升级幅度比较大时,才允许增大X值。处于正在修改状态的配置项的版本号格式为:X.YZ。在修改配置项时,一般只增大Z值,X.Y值保持不变。

(1)浮点数表示:

(2)运算过程:

对阶>尾数计算>结果格式化

(3)特点:

在计算机系统结构发展的过程中,指令系统的优化设计有两个截然相反的方向,一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机(ComplexInstructionSetComputer,CISC);另一种是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机(ReducedInstructionSetComputer,RISC)。

流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

在标准状态下,一个处理器含一条指令流水线,超标量就是一个处理器中有多条指令流水线。如下图所示:

流水线最大吞吐率:

层次化存储架构如下图所示:

Cache的页面淘汰算法和读写过程如下图所示:

Cache的映像机制如下:

例题:

内存按字节编址,利用8Kx4bit的存储器芯片构成84000H到8FFFFH的内存,共需12片。

磁盘结构如下图所示:

磁盘移臂调度算法有如下几种:

目前,主流的网络存储技术主要有三种,分别是直接附加存储(DirectAttachedStorage,DAS)、网络附加存储(NetworkAttachedStorage,NAS)和存储区域网络(StorageAreaNetwork,SAN)。

DAS是将存储设备通过SCSI(SmallComputerSystemInterface小型计算机系统接口)电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。因此有些文献也把DAS称为SAS(ServerAttachedStorage服务器附加存储)。

DAS的适用环境为:

(1)服务器在地理分布上很分散,通过SAN或NAS在它们之间进行互连非常困难时;

(2)存储系统必须被直接连接到应用服务器(例如MicrosoftClusterServer或某些数据库使用的“原始分区)上时;

(3)包括许多数据库应用和应用服务器在内的应用,它们需要直接连接到存储器上时。

由于DAS直接将存储设备连接到服务器上,这导致它在传递距离、连接数量、传输速率等方面都受到限制。因此,当存储容量曾加时,DAS方式很难扩展,这对存储容量的升级是一个巨大的瓶颈;另一方面由于数据的读取都要通过服务器来处理必然导致服务器的处理压力增加数据处理和传输能力将大大降低;此外,当服务器出现宕机等异常时,也会波及到存储数据,使其无法使用。目前DAS基本被NAS所代替。

采用NAS技术的存储设备不再通过I/O总线附属于某个特定的服务器,而是通过网络接口与网络直接相连由用户通过网络访问。NAS存储系统的结构如下所示。

NAS存储设备类似于一个专用的文件服务器,它去掉了通用服务器的大多数计算功能,而仅仅提供文件系统功能,从而降低了设备的成本。并且为方便存储设备到网络之间以最有效的方式发送数据,专门优化了系统硬软件体系结构。NAS以数据为中心,将存储设备与服务器分离,其存储设备在功能上完全独立于网络中的主服务器,客户机与存储设备之间的数据访问不再需要文件服务器的干预,同时它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应谏度快,而且数据传输速率也很高。

NAS存储支持即插即用,可以在网络的任一位置津立存储。基于Web管理,从而使设备的安装、使用和管理更加容易。NAS可以很经济地解决存储容量不足的问题,但难以获得满意的性能。

SAN是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。它没有采用文件共享存取方式,而是采用块(block)级别存储。SAN是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统,其最大特点是将存储设备从传统的以太网中分离了出来,成为独立的存储区域网络SAN的系统结构如下图所示。

(1)FCSAN。FC(FiberChannel,光纤通道)和SCSI接口一样,最初也不是为硬盘设计开发的接口技术,而是专门为网络系统设计的,随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道的主要特胜有:热插拔性、高速带宽、远程连接、连接设备数量大等。它是当今最昂贵和复杂的存储架构,需要在硬件、软件和人员培训方面进行大量投资。

FCSAN由三个基本的组件构成,分别是接口(SCSI,FC)、连接设备(交换机、路由器)和协议(IP,SCSI)。这三个组件再加上附加的存储设备和服务器就构成一个SAN系统。它是专用、高速、高可靠的网络,允许独立、动态地增加存储设备,使得管理和集中控制更加简化。

FCSAN有两个较大的缺陷,分别是成本和复杂性,其原因就是因为使用了FC。在光纤通道上部署SAN,需要每个服务器上都要有FC适配器、专用的FC交换机和独立的布线基础架构。这些设施使成本大幅增加,更不用说精通FC协议的人员培训成本。

(2)IPSAN是基于IP网络实现数据块级别存储方式的存储网络。由于设备成本低配置技术简单,可共享和使用大容量的存储空间,因而逐渐获得广泛的应用。

在具体应用上,IP存储主要是指iSCSI(InternetSCSI)。作为一种新兴的存储技术,iSCSI基于IP网络实现SAN架构,既具备了IP网络配置和管理简单的优势,又提供了SAN架构所拥有的强大功能和扩展性。iSCSI是连接到一个TCP/IP网络的直接寻址的存储库,通过使用TCP/IP协议对SCSI指令进行封装,可以使指令能够通过IP网络进行传输,而过程完全不依赖于地点。

iSCSI优势的主要表现在于,首先,建立在SCSI、TCP/IP这些稳定和熟悉的标准上,因此安装成本和维护费用都很低;其次,iSCSI支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络和电缆;最后,ISCSI通过IP传输存储命令,因此可以在整个Internet上传输,没有距离限制。

iSCSI的缺点在于,存储和网络是同一个物理接口同时协议本身的开销较大楠议本身需要频繁地将SCSI命令封装到IP包中以及从IP包中将SCSI命令解析出来,这两个因素都造成了带宽的占用和主处理器的负担。但是,随着专门处理ISCSI指令的芯片的开发(解决主处理器的负担问题),以及10G以太网的普及(解决带宽问题),iSCSI将有着更好的发展。

(3)IBSAN。IB(InfiniBand无限带宽)是一种交换结构I/O技术其设计思路是通过一套中心机构(IB交换机)在远程存储器、网络以及服务器等设备之间建立一个单一的连接链路,并由IB交换机来指挥流量。这种结构设计得非常紧密,大大提高了系统的性能、可靠胜和有效胜,能缓解各硬件设备之间的数据流量拥塞。而这是许多共享总线式技术没有解决好的问题,因为在共享总线环境中,设备之间的连接都必须通过指定的端口建立单独的链路。

IB要支持两种环境:模块对模块的计算机系统(支持I/O模块附加插槽);在数据中心环境中的机箱对机箱的互连系统、外部存储系统和外音喝域网/广域网访问设备。旧支持的带宽比现在主流的I/O载体(例如,SCSI、FC等)还要高,另外,由于使用IPv6的报头,IB还支持与传统Internet/Intranet设施的有效连接。用IB技术替代总线结构所带来的最重要的变化就是建立了一个灵活、高效的数据中心,省去了服务器复杂的I/O部分。

IBSAN采用层次结构,将系统的构成与接入设备的功能定义分开,不同的主机可通过HCA(HostChannelAdapter主机通道适配器)、RAID等网络存储设备利用TCA(TargetChannelAdapter,目标通道适配器)接入IBSAN。

IBSAN主要具有如下特性:可伸缩的SwitchedFabric互连结构;由硬件实现的传输层互连高效、可靠;支持多个虚信道;硬件实现自动的路径变换;高带宽,总带宽随IBSwitch规模成倍增长;支持SCSI远程DMA(DirectMemoryAccess直接内存存取)协议;具有较高的容错性和抗毁性,支持热拔插。

总线是一组能为多个部件分时共享的公共信息传送线路。共享是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;分时是指同一时刻只允许有一个部件向总线发送信息,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突。当然,在同一时刻允许多个部件同时从总线上接收相同的信息。一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。

按总线功能来划分,总线可分为数据总线、地址总线、控制总线三类。

计算机系统运行时,各个部分之间要进行数据交换,为确保数据在传送过程正确无误,常使用检验码。我们常使用的检验码有三种,分别是奇偶校验码、海明校验码和循环冗余校验码(CRC)。

(1)奇偶校验码

奇偶校验码最简单,但只能检测出奇数位出错,如果发生偶数位错误就无法检测。但经研究是奇数位发生错误的概率大很多,而且奇偶校验码无法检测出哪位出错,所以属于无法矫正错误的校验码。奇偶校验码是奇校验码和偶校验码的统称,它们都是通过在要校验的编码上加一位校验位组成。如果是奇校验加上校验位后,编码中1的个数为奇数个。如果是偶校验加上校验位后,编码中1的个数为偶数个。

(2)海明校验码

海明码也是利用奇偶性来校验数据的。它是一种多重奇偶校验检错系统,它通过在数据位之间插入k个校验位,来扩大码距,从而实现检错和纠错。

(3)循环冗余校验码

CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称(n,k)码.CRC码广泛应用于数据通信领域和磁介质存储系统中。

例:循环冗余校验码(CyclicRedundancyCheck,CRC)是数据通信领中最常用的一种差错校验码,该校验方法中,使用多项式除法(模2除法)运算后的余数为校验字段。若数据信息为n位,则将其左移k位后,被长度为k+1位的生成多项式相除,所得的k位余数即构成k个校验位,构成n+k位编码。若数据信息为1100,生成多项式为,(即1011),则CRC编码是(010)。

(1)串联系统

(2)并联系统

(1)N模冗余系统

(2)混合系统

主频和CPU时钟周期(ClockCycle):主频又称为时钟频率,时钟周期是时钟频率的倒数。

如主频为1GHz,则说明1秒钟有1G个时钟周期,每个时钟周期为100010001000/1G=1ns。

主频=外频*倍频

MIPS:每秒处理的百万级的机器语言指令数,主要用于衡量标量机性能。

MFLOPS:每秒百万个浮点操作,不能反映整体情况,只能反映浮点运算情况,主要用于衡量t向量机性能。

时钟频率法:以时钟频率高低衡量速度。指令执行速度法:表示机器运算速度的单位是MIPS。等效指令速度法(Gibsonmix,吉普森混合法):通过各类指令在程序中所占的比例()进行计算得到的。特点:考虑指令比例不同的问题。数据处理速率法(PDR):PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。PDR=L/R特点:考虑CPU+存储综合理论性能法(CTP):CTP用MTOPS(MillionTheoreticalOperationsPerSecond,每秒百万次理论运算)表示。CTP的估算方法是,首先算出处理部件每个计算单元的有效计算率,再按不同字长加以调整,得出该计算单元的理论性能,所有组成该处理部件的计算单元的理论性能之和即为CTP。

把应用程序中用得最多、最频繁的那部分核心程序作为评估计算机系统性能的标准程序,称为基准测试程序(benchmark)。基准程序法是目前一致承认的测试系统性能的较好方法。

真实的程序—》核心程序—》小型基准程序—》合成基准程序

(1)Dhrystone基准程序:它是一个综合性的整数基准测试程序,是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。

(2)Linpack基准程序:它是国际上最流行的用于测试高性能计算机系统浮点性能的测试。

(3)Whetstone基准程序:它是用Fortran语言编写的综合性测试程序,主要由执行浮点运算、功能调用、数组变址、条件转移和超越函数的程序组成。

(5)TPC基准程序:TPC(TransactionProcessingCouncil,事务处理委员会)基准程序用以评测计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。该基准程序的评测结果用每秒完成的事务处理数TPC来表示。

TPC-A基准程序规范用于评价在OLTP环境下的数据库和硬件的性能;TPC-B测试的是不包括网络的纯事务处理量,用于模拟企业计算环境;TPC-C测试的是联机订货系统;TPC-D、TPC-H和TPC-R测试的都是决策支持系统,其中TPC-R允许有附加的优化选项;TPC-E测试的是大型企业信息服务系统。TPC-W是基于Web应用的基准程序,用来测试一些通过Internet进行市场服务和销售的商业行为,所以TPC-W可以看作是一个服务器的测试标准。

操作系统是计算机系统中最重要、最基本的系统软件,它位于硬件和用户之间,一方面能向用户提供接口,方便用户使用计算机;另一方面能管理计算机软硬件资源,以便合理充分地利用它们。

从资源管理的角度来看,它是计算机系统中的资源管理器,负责对系统的软硬件资源实施有效的控制和管理,提高系统资源的利用率;从方便用户使用的角度来看,操作系统是一台虚拟机,它是计算机硬件的首次扩充,隐藏了硬件操作细节,使用户与硬件细节隔离,从而方便了用户的使用。

操作系统的作用可概括如下:

一般来说,操作系统的类型可分为如下几种:

从操作系统的结构来看,主要分为以下几种:

进程是一个具有独立功能的程序关于数据集合的一次可以并发执行的运行活动,是系统进行资源分配和调度的基本单位。相对于程序,进程是动态的概念,而程序是静态的概念,是指令的集合。进程具有动态胜和并发胜,需要一定的资源(例如,CPU寸间、内存、文件和I/O设备等)来完成其任务,这些资源在创建进程或执行时分配。

一个进程从创建而产生至撤销而消亡的整个生命期间,有时占有处理器执行,有时虽可运行但分不到处理器,有时虽有空闲处理器但因等待某个事件的发生而无法执行,这一切都说明进程和程序不相同它是活动的且有状态变化的。

进程具有三种最基本的状态,分别是运行、就绪和阻塞,如下图所示。

(2)阻塞状态。阻塞状态也称为等待状态或睡眠状态,是进程由于等待某个事件的发生而处于暂停执行的状态。例如,进程因等待I/O的完成或等待缓冲空间等。

(3)就绪状态。就绪状态是进程已分配到除处理机以外的所有必要资源,具备了执行的条件,等待处理机调度的状态。在系统中,同一时刻可能会有多个进程处于就绪状态,排成就绪队列。

由于进程的不断创建,系统资源特别是内存资源已不能满足所有进程运行的要求。这时就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以均衡负载。进程挂起的原因可能是系统出现故障,或者是用户调试程序,也可能是需要检查问题。下图是具有挂起状态的进程状态及其转换。

(1)信号量

信号量是一个二元组(S,Q),其中S是一个整形变量,初值为非负数,Q为一个初始状态为空的等待队列。在多道程序系统中,信号量机制是一种有效的实现进程同步与互斥的工具。信号量的值通常表示系统中某类资源的数目,若它大于0,则表示系统中当前可用资源的数量;若它小于0,则表示系统中等待使用该资源的进程数目,即在该信号量队列上排队的PCB的个数。信号量的值是可变的,由PV操作来改变。

(2)PV操作

PV操作是对信号量进行处理的操作过程,而且信号量只能由PV操作来改变。P操作是对信号量减1,意味着请求系统分配一个单位资源,若系统无可用资源,则进程变为阻塞状态;V操作是对信号量加1,意味着释放一个单位资源,加1后若信号量小于等于0,则从就绪队列中唤醒一个进程,执行V操作的进程继续执行。

(3)同步与互斥

互斥:如千军万马过独木桥,同类资源的竞争关系。

同步:速度有差异,在一定情况停下等待,进程间的协作关系。

P操作和V操作示意图如下所示:

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。

产生死锁的4个必要条件:

(1)互斥条件。任一时刻只允许一个进程使用资源。

(2)不剥夺条件。进程已经占用的资源,不会被强制剥夺。

(3)请求与保持条件。进程在请求其余资源时,不主动释放已经占有的资源。

(4)环路条件。环路中每一条边是进程在请求另一个进程已经占有的资源。

关于死锁的预防和死锁的避免如下图所示:

银行家算法:分配资源的原则

段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。如下图所示:

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

快表是一块小容量的相联存储器(AssociativeMemory),由高速缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。

快表:将页表存于Cache上;慢表:将页表存于内存上。

页面的置换算法有以下几种:

空间局部性:刚被访问的内容,临近的空间很快被访问。

文件属性:

R只读文件属性A存档属性S系统文件H隐藏文件文件名的组成

空闲区表法(空闲文件目录)空闲链表法位示图法成组链接法

数据传输控制方式及效率如下图所示:

SPOOLING技术的应用场景和相应概念:SPOOLING是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing技术通过磁盘实现。

SPOOLING技术的过程如下图所示:

微内核由一群尽可能将数量最小化的软件程序组成,它们负责提供实现一个操作系统所需要的各种机制与功能,微内核操作系统就是一种基于微内核架构的操作系统。

(1)嵌入式操作系统特点:

微型化代码质量高专业化实时性强可裁减、可配置(2)实时嵌入式操作系统的内核服务有:异常和中断、计时器、I/O管理。

(3)常见的嵌入式RTOS(实时操作系统)VxWorks、RT-Linux、QNX和pSOS。

数据库是长期存储在计算机内的、有组织的、可共享的数据集合,数据库系统是指在计算机信息系统中引入数据库后的系统一般由数据库、数据库管理系统(DataBaseManagementSystem,DBMS)、应用系统、数据库管理员(DataBaseAdministrator,DBA)和用户构成。数据库系统的结构可以有多种不同的层次或不同的角度,其中典型的是三级划分法,其中包括三级模式和两级映射。

数据库系统结构层次图外模式也称为子模式或用户模式,对应于用户级数据库。外模式用以描述用户(包括程序员和最终用户)看到或使用的那部分数据的逻辑结构,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。

概念模式也称为模式或逻辑模式,对应于概念级数据库。概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,用以描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系。概念模式通常还包含有访问控制、保密定义和完整性检查等方面的内容,以及概念/物理之间的映射。一个数据库只有一个概念模式。

内模式对应于物理级数据库,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。内模式不同于物理层,它假设外存是一个无限的线性地址空间。内模式定义的是存储记录的类型、存储域的表示和存储记录的物理顺序,以及索引和存储路径等数据的存储组织。一个数据库只有一个内模式。

在数据库系统的三级模式中,模式是数据库的中心与关键;内模式依赖于模式,独立于外模式和存储设备;外模式面向具体的应用,独立于内模式和存储设备;应用程序依赖于外模式,独立于模式和内模式。

数据库系统两级独立性是指物理独立性和逻辑独立性。三个抽象级别之间通过两级映射(外模式/模式映射和模式/内模式映射)进行相互转换,使得数据库的三级模式形成一个统一的整体。

物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,当数据的物理存储改变时,应用程序不需要改变。物理独立性存在于概念模式和内模式之间的映射转换,说明物理组织发生变化日寸应用程序的独立程度。

逻辑独立性是指用户的应用程序与数据库中的逻辑结构是相互独立的,当数据的逻辑结构改变时,应用程序不需要改变。逻辑独立性存在于外模式和概念模式之间的映射转换,说明概念模式发生变化时应用程序的独立程度。相对来说逻辑独立性比物理独立性更难实现。

数据库视图:它是一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需要的数据。

视图的优点:

(1)视图能简化用户操作

(2)视图使用户能以多种角度看待同一数据

(3)视图对重构数据库提供了一定程度的逻辑独立性

(4)视图可以对机密数据提供安全保护

物化视图:它不是传统意义上虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。

数据库设计过程

E-R模型也称为E-R图,它是描述概念世界,建立概念模型的实用工具。在E-R图中,主要包括以下三个要素:

(1)实体(型)。实体用矩形框表示,框内标注实体名称。

(2)属性。单值属性用椭圆形表示,并用连线与实体连接起来。如果是多值属性,在椭圆形外面再套实线椭圆;如果是派生属性,则用虚线椭圆表示。其中,多值属性可以有一个或者两个以上的值,例如,学员信息数据库中可能包含关于他们个人兴趣的数据,一个学员可能有运动、电影、投资和烹调等多个兴趣;派生属性是从基本属性计算出来的属性,例如,学员的总成绩和平均成绩等。

(3)实体之间的联系。实体之间的联系用菱形框表示,框内标注联系名称,并用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。

例如,下图就是某在线教育平台系统的一个E-R图(为了简单起见,省略了部分实体的属性和联系的属性)。

E-R图中的联系可以归结为三种类型,分别是:

(1)一对一联系(1:1)

(2)一对多联系(1:n)

(3)多对多联系(m:n)

一个实体型转换为一个关系模式三个以上实体间的一个多元联系

(1)集成的方法:

多个局部E-R图一次集成。逐步集成,用累加的方式一次集成两个局部E-R。(2)集成产生的冲突及解决办法:

属性冲突:包括属性域冲突和属性取值冲突。命名冲突:包括同名异义和异名同义。结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

关系代数的基本运算主要有并、交、差、笛卡尔积、选择、投影、连接等运算。

(1)交并差运算

(2)笛卡尔积、投影、选择运算

(3)连接运算

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。如下图:

(2)修改异常:由于上述冗余问题,当需要修改这个教师的地址时,就要修改100个元组中的地址值,否则就会出现地址值不一致的现象。

(3)插入异常:如果不知道听课学生名单,这个教师的任课情况和家庭地址就无法进入数据库;否则就要在学生姓名处插入空值。

(4)删除异常:如果某门课程的任课教师要更改,那么原来任课教师的地址将随之丢失。

设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。如下图所示:

关系模式的键也称为码或关键字。在关系模式中,如果有X→U在关系模式R(U)上成立,并且不存在X的任一真子集使成立,那么称X是R的一个候选键。也就是说,X值唯一决定关系中的所有元组。在关系模式中,用户正在使用的候选键称为主键。如果两个关系拥有公共属性(集),且公共属性在一个关系中是主键,则称公共属性是另一个关系的外键。例如,记录职工信息的属性有职工号(EMP_NO)、职工身份证号(EMP_CARDID)、职工姓名(EMP_NMAE)、职工性别(EMP_SEX)和所在部门编号(DEPT_NO)。则在此关系中,EMP_NO或EMP_CARDID是候选键,也可以是本关系的主键。一个关系的候选键有多个,但主键只能有一个。通常在候选键中选一个作为主键。候选键、主键和外键的关系如下图所示:

求关系模式的候选键是进行范式界定的基础,也是系统分析师应该掌握的基本技能。使用候选键的定义来求解一个简单关系模式的候选键尚能应对,但面对复杂一些的关系模式,这种方法就不管用了。在此,引入一种求候选键的决捷方法,即图示法。使用图示法求候选键,主要有两个步骤:

(1)将关系模式的函数依赖关系,用有向图的方式表示,其中顶点表示属性,弧表示属性之间的依赖关系。

(2)找出入度为0的属性集,并以该属性集为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键;若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间顶点(既有入度,也有出度的顶点)并到入度为0的属性集中,直至该集合能遍历所有顶点,则该集合为候选键。

第二范式(2NF):当且仅当实体E是第一范式(1NF)。且每一个非主属性完全依赖候选键(不存在部分依赖)时,则称实体E是第二范式。

第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖于候选码时,则称实体E是第三范式。

BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。

(1)保持函数依赖分解

设数据库模式p={R1,R2,…,R日是关系模式R的一个分解,F是R上的函数依赖集。P中每个模式Ri上的FD集是Fi。如果{Fl,F2,…,Fk}与F是等价的(即相互逻辑蕴涵),那么称分解P保持FD。

(2)无损分解

什么是有损,什么又是无损?

有损:不能还原。无损:可以还原。

无损联接分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。

有关系模式:成绩(学号,姓名,课程号,课程名,分数)

函数依赖:学号→姓名,课程号→课程名,(学号,课程号)→分数

若将其分解为:

成绩(学号,课程号,分数)

学生(学号,姓名)

课程(课程号,课程名)

请思考该分解是否为无损分解?

由于有:学号分姓名,所以:

成绩(学号,课程号,分数,姓名)

由于有:课程号、课程名,所以:

成绩(学号,课程号,分数,姓名,课程名)

(3)无损分解定理

定理:如果R的分解为={R1,R2},F为R所满足的函数依赖集合,分解具有无损联接性的充分必要条件是:

R1∩R2→(R1—R2)

或R1∩R2→(R2—R1)

其中,R1∩R2表示模式的交,为R1与R2中公共属性组成,R1—R2或R2—R1表示模式的差集,R1—R2表示R1中去除R1和R2的公共属性所组成。当模式R分解成两个关系模式R1和R2时,如果R1与R2的公共属性能函数决定R1中或R2中的其它属性,这样的分解就具有无损联接性。

(4)无损分解公理体系

关系模式R来说有以下的推理规则:

A1.自反律(Reflexivity):若,则X→Y成立。

A2.增广律(Augmentation):若且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及,有X→Z。(A1,A3)

在多用户共享系统中,许多事务可能同时对同一数据进行操作,称为并发操作。此时,数据库管理系统(DatabaseManagementSystem,DBMS)的并发控制子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,同时,避免用户得到不正确的数据。

DBMS运行的基本工作单位是事务,事务是用户定义的一个数据库操作序列,这些操作序列要么全做,要么全不做,是一个不可分割的工作单位。事务具有以下特性:

(1)原子性(Atomicity)。事务是数据库的逻辑工作单位事务的原子性保证事务包含的一组更新操作是原子不可分的,也就是说,这些操作是一个整体,不能部分的完成。

(3)隔离性(Isolation)。隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。它要求即使有多个事务并发执行,但看上去每个事务按串行调度执行一样。这一性质也称为可串行性,也就是说,系统允许的任何交错操作调度等价于一个串行调度。

(4)持久性(Durability)。持久性也称为永久性是指事务一旦提交改变就是永久性的无论发生何种故障,都不应该对其有任何影响。

数据库的并发操作会带来一些数据不一致问题,主要如下:

并发控制存在的问题示例如下图所示:

处理并发控制的主要方法是采用封锁技术,主要有两种封锁,分别是X封锁和S封锁。

(1)排他型封锁(X封锁)。如果事务T对数据对象A(可以是数据项、元组和数据集,以至整个数据库)实现了X封锁锁,那么只允许事务T读取和修改数据A,其他事务要等事务T解除X封锁以后,才能对数据A实现任何类型的封锁。可见,X封锁只允许一个事务独锁某个数据,具有排他性。

(2)共享型封锁(S封锁)。X封锁只允许一个事务独锁和使用数据,要求太严。需要适当从宽,例如,可以允许并发读,但不允许修改,这就产生了S封锁的概念。S封锁的含义是,如果事务T对数据A实现了S封锁,那么允许事务T读取数据A,但不能修改数据A,在所有S封锁解除之前,决不允许任何事务对数据A实现X封锁。

在多个事务并发执行的系统中,主要采取封锁协议来进行处理,常见的封锁协议如下:

(1)一级封锁协议。事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。一级封锁协议可防止丢失修改,并保证事务T是可恢复的,但不能保证可重复读和不读“脏数据”。

(2)二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。二级封锁协议可防止丢失修改,还可防止读“脏数据”,但不能保证可重复读。

(3)三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。三级封锁协议可防止丢失修改、读“脏数据”,且能保证可重复读。

(4)两段锁协议。所有事务必须分两个阶段对数据项加锁和解锁。其中扩展阶段是在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;收缩阶段是在释放一个封锁之后,事务不能再申请和获得任何其他封锁。若并发执行的所有事务均遵守两段封锁协议,则对这些事务的任何并发调度策略都是可串行化的。遵守两段封锁协议的事务可能发生死锁。

关于数据加锁的示例如下图所示:

(3)不可重复读加锁

数据库的完整性约束有以下几种方式:

实体完整性约束——主键参照完整性约束——外键用户自定义完整性约束——限定取值区间触发器——脚本编程

就整个信息系统的安全而言,数据的安全是最重要的。数据库系统的安全性在技术上依赖于两种方式,一种是DBMS本身提供的用户身份识别、视图、使用权限控制和审计等管理措施,大型DBMS均有此功能;另一种就是靠应用程序来实现对数据库访问进行控制和管理,也就是说,数据的安全控制由应用程序里面的代码来实现。目前,一些大型DBMS都提供了一些技术手段来保证数据的安全,如下表所示。

数据库备份有多种分类方式。按备份的实现方式,可分为物理备份与逻辑备份,而物理备份又可以分为冷备份与热备份;按备份数据量清况,可分为完全备份、增量备份与差异备份。其中,完全备份是指将整个数据库中的数据进行备份,增量备份是指备份上一次备份(包括完全备份、增量备份和差异备份)后发生变化的数据,差异备份是指备份上一次完全备份后发生变化的所有数据。

完全备份:备份所有数据差量备份:仅备份上一次完全备份之后变化的数据增量备份:备份上一次备份之后变化的数据日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。

分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。分布式数据库系统是在集中式数据库系统技术的基础上发展起来的,具有如下特点:

(1)数据独立性。

(2)集中与自治共享结合的控制结构。

(3)适当增加数据冗余度。

(4)全局的一致性、可串行性和可恢复性。

分布式数据库体系结构图

(1)分布透明性

分片透明性:分不分片,用户感受不到位置透明性:数据存放在哪里,用户不用管局部数据模型透明性(逻辑透明):用户不用关系局部数据模型(2)分布式数据库管理系统-组成

LDBMSGDBMS全局数据字典通信管理(CM)(3)分布式数据库管理系统-结构

全局控制集中的DDBMS全局控制分散的DDBMS全局控制部分分散的DDBMS4.6.联邦数据库联邦数据库系统(FDBS)是一个彼此协作却又相互独立的成员数据库(CDBS)的集合,它将成员数据库系统按不同程度进行集成,对该系统整体提供控制和协同操作的软件叫做联邦数据库管理系统(FDBMS)。

(1)联邦数据库的特征

分布性异构性自治性透明性(2)联邦数据库分类

紧耦合松耦合

NoSQL数据库的应用场景和优缺点如下图所示:

内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构。并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多:一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。

常见的内存数据库包括:Redis、eXtremeDB、TT、FastDB、SQLite、MicrosoftSQLServerCompact、MySQL的MEMORY存储引擎等。

由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增、删、改的速度但会增加查询的工作量。系统需要进行多次连接,才能进行查询操作,使得系统的效率大大的下降。

采用的技术手段有:

增加派生性冗余列增加冗余列重新组表分割表

表分区:就是将一个数据量比较大的表,用某种方法把数据从物理上分成若干个小表来存储,从逻辑来看还是一个大表。

(1)两者都针对数据表,将数据做到分布式,提高数据检索的效率,降低数据库的频繁I/0压力值。

(2)分表是真正的生成数据表,是将一张大数据量的表分成多个小表实现数据均衡。

(3)分区并不是生成新的数据表,而是将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介质中,实际上还是一张表。

(1)相对于单个文件系统或是硬盘,分区可以存储更多的数据。

(2)数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可。

(3)精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率。

(4)可跨多个分区磁盘查询,来提高查询的吞吐量。

(5)在涉及聚合函数查询时,可以很容易进行数据的合并。

范围分区(RANGE):就是根据数据库表中某一字段的值的范围来划分分区。如:年份小于2016的分成一个区,其它分成另一个区。

散列分区(HASH):散列分区是根据字段的hash值进行均匀分布,尽可能的实现各分区所散列的数据相等。

列表分区(LIST):列表分区明确指定了根据某字段的某个具体值进行分区,而不是像范围分区那样根据字段的值范围来划分的。如:长沙、武汉分成一个区,北京一个区。

针对集中式数据库和分布式数据库的优化方法如下图所示:

大数据与传统数据的比较如下表所示:

高度可扩展性高性能高度容错支持异构环境较短的分析延迟易用且开放的接口较低成本向下兼容性

网络体系结构是指计算机网络的各层及其协议的集合。计算机之间要交换数据,就必须遵守一些事先约定好的规则,用于规定信息的格式以及如何发送和接收信息的一套规则就称为网络协议。为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是将庞大而复杂的通信问题转化为若干个小问题,然后为每个小问题设计一个单独的协议。

计算机网络采用分层设计方法,按照信息的传输过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。

在数据传输过程中,每一层都承担不同的功能和任务,以实现对数据传输过程中的各个阶段的控制。

(1)物理层。物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。其中“透明”的意思是指物理层并不需要关心比特代表的具体含义,而要考虑的是如何发送“0”和“1”,以及接收端如何识别。物理层在传输介质基础上作为系统和通信介质的接口,为数据链路层提供服务。

(2)数据链路层。数据链路层负责在两个相邻节点之间的线路上无差错地传送以帧为单位的数据,通过流量控制和差错控制,将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题,使之对网络层显现一条可靠的链路。

(3)网络层。网络层是通信子网的最高层,其主要任务是在数据链路层服务的基础上,实现整个通信子网内的连接并通过网络连接交换网络服务数据单元(packet)。它主要解决数据传输单元分组在通信子网中的路由选择、拥塞控制和多个网络互联的问题。网络层建立网络连接为传输层提供服务。

(4)传输层。传输层既是负责数据通信的最高层又是面向网络通信的低三层(物理层、数据链路层和网络层)和面向信息处理的高三层(会话层、表示层和应用层)之间的中间层,是资源子网和通信子网的桥梁,其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。传输层反映并扩展了网络层子系统的服务功能,并通过传输层地址为高层提供传输数据的通信端口,使系统之间高层资源的共享不必考虑数据通信方面的问题。

(5)会话层。会话层利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信、组织和同步它们的会话活动,并管理它们的数据交换过程。会话层提供服务通常需要经过建立连接、数据传输和释放连接三个阶段。会话层是最薄的一层常被省略。

(6)表示层。表示层处理的是用户信息的表示问题。端用户(应用进程)之间传送的数据包含语义和语法两个方面。语义是数据的内容及其含义,它由应用层负责处理;语法是与数据表示形式有关的方面,例如,数据的格式、编码和压缩等。表示层主要用于处理应用实体面向交换的信息的表示方法,包括用户数据的结构和在传输时的比特流(或字节流)的表示。这样,即使每个应用系统有各自的信息表示法,但被交换的信息类型和数值仍能用一种共同的方法来描述。

(7)应用层。应用层是直接面向用户的一层,是计算机网络与最终用户之间的界面。在实际应用中,通常把会话层和表示层归入到应用层,使OSI/RM成为一个简化的五层模型。

虽然OSI/RM已成为计算机网络体系结构的标准模型,但因为OSI/RM的结构过于复杂,实际系统中采用OSI/RM的并不多。目前,使用最广泛的可互操作白勺网络体系结构是TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)结构模型。与OSI/RM结构不同,不存在一个正式的TCP/IP结构模型,但可根据已开发的协议标准和通信任务将其大致分成四个比较独立的层次,分别是网络接口层、网络互联层、传输层和应用层。

(1)网络接口层。网络接口层大致对应于OSI/RM的数据链路层和物理层,TCP/IP协议不包含具体的物理层和数据链路层,只定义了网络接口层作为物理层的接口规范。网络接口层处在TCP/IP结构模型的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。

(2)网络互联层。网络互联层也称为网络层、互联网层或网际层,负责将数据报独立地从信源传送到信宿,主要解决路由选择、阻塞控制和网络互联等问题,在功能上类似于OSI/RM中的网络层。

(3)传输层。传输层负责在信源和信宿之间提供端到端的数据传输服务,相当于OSI/RM中的传输层。

(4)应用层。应用层直接面向用户应用,为用户提供对各种网络资源的方便的访问服务,包含了OSI/RM会话层和表示层中的部分功能。

POP3:110端口,邮件收取SMTP:25端口,邮件发送FTP:20数据端口/21控制端口,文件传输协议HTTP:80端口,超文本传输协议,网页传输DHCP:67端口,IP地址自动分配SNMP:161端口,简单网络管理协议DNS:53端口,域名解析协议,记录域名与IP的映射关系TCP:可靠的传输层协议UDP:不可靠的传输层协议ICMP:因特网差错控制协议,PING命令来自该协议IGMP:组播协议ARP:地址解析协议,IP地址转换为MAC地址RARP:反向地址解析协议,MAC地址转IP地址

网络故障诊断常用的命令如下所示:

(1)ping:用于检查网络是否连通;

(2)tracert(linux:traceroute):用于确定IP数据包访问目标所采取的路径,若网络不通,能定位到具体哪个结点不通;

(3)ipconfig(linux:ifconfig):显示TCP/IP网络配置值,如:IP地址,MA地址,网关地址等;

(4)nslookup:查询DNS记录;

(5)Netstat:用于显示网络连接、路由表和网络接口信息;

LISTEN:侦听来自远方的TCP端口的连接请求。

SYN-SENT:在发送连接请求后等待匹配的连接请求。

SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认。

ESTABLISHED:代表一个打开的连接。

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认。

FIN-WAIT-2:从远程TCP等待连接中断请求。

CLOSE-WAIT:等待从本地用户发来的连接中断请求。

CLOSING:等待远程TCP对连接中断的确认。

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认。

CLOSED:没有任何连接状态。

需求分析通常采用自顶向下的结构化方法,主要从以下几个方面分析:

功能需求通信需求性能需求可靠性需求安全需求运行与维护需求管理需求网络规划与设计的原则、任务和实施内容如下所示:

利用需求分析和现有网络体系分析的结果来设计逻辑网络结构,最后得到一份逻辑网络设计文档,输出内容包括以下几点:

逻辑网络设计图IP地址方案安全方案招聘和培训网络员工的具体说明对软硬件、服务、员工和培训的费用初步估计

物理网络设计是对逻辑网络设计的物理实现,通过对设备的具体物理分布、运行环境等确定,确保网络的物理连接符合逻辑连接的要求。输出如下内容:

接入层:主要是针对用户端,实现用户接入、计费管理、MAC地址认证、MAC地址过滤、收集用户信息,可以使用集线器来代替交换机。汇聚层:网络访问策略控制、数据包处理和过滤、策略路由、广播域定义、寻址。核心层:主要是高速数据交换,实现高速数据传输、出口路由,常用冗余机制。

IPv6是设计用于替代现行版本IP协议(Ipv4)的下一代IP协议。主要有以下特点:

(1)IPv6地址长度为128位,地址空间增大了倍;

(2)灵活的IP报文头部格式。使用一系列固定格式的扩展头部取代了IPv4中可变长度的选项字段。IPv6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度;

(3)IPv6简化了报文头部格式,字段只有8个,加快报文转发,提高了吞吐量;

(4)提高安全性。身份认证和隐私权是IPv6的关键特性;

(5)支持更多的服务类型;

(6)允许协议继续演变,增加新的功能,使之适应未来技术的发展;

2001:Odb8:85a3:0000:1319:8a2e:0370:7344

IPv6地址的省写,上面的IP地址等价于:

2001:Odb8:85a3::1319:8a2e:0370:73440

遵守这些规则,如果因为省略而出现了两个以上的冒号,则可以压缩为一个,但这种零压缩在地址中只能出现一次。因此:

2001:ODB8:0000:0000:0000:0000:1428:57ab

2001:ODB8:0:0:0:0:1428:57ab

2001:ODB8::1428:57ab

以上都是台法的地址,并且它们是等价的。同时前导的零可以省略,因此:2001:ODB8:02de::0e13等价于2001:DB8:2de::el3。

IPv4/IPv6过渡技术有:

(1)双协议栈技术:双栈技术通过节点对IPv4和IPv6双协议栈的支持,从而支持两种业务的共存。

(2)隧道技术:隧道技术通过在IPv4网络中部署隧道,实现在IPv4网络上对IPv6业务的承载,保证业务的共存和过渡。隧道技术包括:6to4隧道;6over4隧道;ISATAP隧道。

(3)NATPT技术:NAT-PT使用网关设备连接IPv6和IPv4网络。当IPv4和IPv6节点互相访问时,NAT-PT网关实现两种协议的转换翻译和地址的映射。

工作区子系统由信息插座、插座盒、连接跳线和适配器组成。

水平子系统由一个工作区的信息插座开始,经水平布置到管理区的内侧配线架的线缆所组成。

管理子系统由交连、互连配线架组成。管理子系统为连接其它子系统提供连接手段。

设备间子系统是由设备间中的电缆、连接器和有关的支撑硬件组成,作用是将计算机、PBX、摄像头、监视器等弱电设备互连起来并连接到主配线架上。

感知层:识别物体、采集信息。如:二维码、RFID、摄像头、传感器(温度、湿度)。网络层:传递信息和处理信息。通信网与互联网的融合网络、网络管理中心、信息中心和智能处理中心等。应用层:解决信息处理和人机交互的问题。

二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。

二维条码中,常用的码制有:DataMatrix,MaxiCode,Aztec,QRCode,Vericode,PDF47,Ultracode,Code49,Code16K。

若采用扩展的字母数字压缩格式,可容纳1850个字符。若采用二进制/ASCII格式,可容纳1108个字节。若采用数字压缩格式,可容纳2710个数字。

(1)云计算的特点:

集合了大量计算机,规模达到成千上万多种软硬件技术相结合对客户端设备的要求低规模化效应(2)云计算的服务类型:

软件即服务(SaaS)平台即服务(PaaS)基础设施即服务(IaaS)

作为全方位的、整体的系统安全防范体系也是分层次的,不同层次反映了不同的安全问题,根据网络的应用现状情况和结构,可以将安全防范体系的层次划分为物理层安全、系统层安全、网络层安全、应用层安全和安全管理。

(1)物理环境的安全性。物理层的安全包括通信线路、物理设备和机房的安全等。物理层的安全主要体现在通信线路的可靠性(线路备份、网管软件和传输介质)、软硬件设备的安全性(替换设备、拆卸设备、增加设备)、设备的备份、防灾害能力、防干扰能力、设备的运行环境(温度、湿度、烟尘)和不间断电源保障等。

(2)操作系统的安全性。系统层的安全问题来自计算机网络内使用的操作系统的安全,例如,WindowsServer和UNIX等。主要表现在三个方面,一是操作系统本身的缺陷带来的不安全因素,主要包括身份认证、访问控制和系统漏洞等;二是对操作系统的安全配置问题;三是病毒对操作系统的威胁。

(3)网络的安全性。网络层的安全问题主要体现在计算机网络方面的安全性,包括网络层身份认证、网络资源的访问控制、数据传输的保密与完整性、远程接入的安全、域名系统的安全、路由系统的安全、入侵检测的手段和网络设施防病毒等。

(4)应用的安全性。应用层的安全问题主要由提供服务所采用的应用软件和数据的安全性产生,包括Web服务、电子邮件系统和DNS等。此外,还包括病毒对系统的威胁。

(5)管理的安全性。安全管理包括安全技术和设备的管理、安全管理制度、部门与人员的组织规则等。管理的制度化极大程度地影响着整个计算机网络的安全,严格的安全管理制度、明确的部门安全职责划分与合理的人员角色配置,都可以在很大程度上降低其他层次的安全漏洞。

《计算机信息系统安全保护等级划分准则》(GB17859-1999)规定了计算机系统安全保护能力的五个等级,即用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级。系统安全保护能力随着安全保护等级的增高,逐渐增强。

(1)用户自主保护级(第一级)。第一级的计算机信息系统可信计算机通过隔离用户与数据,使用户具备自主安全保护的能力。它具有多种形式的控制能力,对用户实施访问控制,即为用户提供可行的手段,保护用户和用户组信息,避免其他用户对数据的非法读写与破坏。第一级适用于普通内联网用户。

(3)安全标记保护级(第三级)。第三级的计算机信息系统可信计算机具有系统审计保护级的所有功能。此外,还提供有关安全策略模型、数据标记,以及主体对客体强制访问控制的非形式化描述;具有准确地标记输出信息的能力;消除通过测试发现的任何错误。第三级适用于地方各级国家机关、金融机构、邮电通信、能源与水源供给部门、交通运输、大型工商与信息技术企业、重点工程建设等单位。

(4)结构化保护级(第四级)。第四级的计算机信息系统可信计算机建立于一个明确定义的形式化安全策略模型之上,它要求将第三级系统中的自主和强制访问控制扩展到所有主体与客体。此外,还要考虑隐蔽通道。本级的计算机信息系统可信计算机必须结构化为关键保护元素和非关键保护元素。计算机信息系统可信计算机的接口也必须明确定义,使其设计与实现能经受更充分的测试和更完整的复审。加强了鉴别机制,支持系统管理员和操作员的职能,提供可信设施管理,增强了配置管理控制。系统具有相当的抗渗透能力。第四级适用于中央级国家机关、广播电视部门、重要物资储备单位、社会应急服务部门、尖端科技企业集团、国家重点科研机构和国防建设等部门。

对称加密算法也称为私钥加密算法,是指加密密钥和解密密钥相同,或者虽然不同,但从其中的任意一个可以很容易地推导出另一个。其优点是具有很高的保密强度,但密钥的传输需要经过安全可靠的途径。对称加密算法有两种基本类型,分别是分组密码和序列密码。分组密码是在明文分组和密文分组上进行运算,序列密码是对明文和密文数据流按位或字节进行运算。

(1)加密度不高,但效率高。

(2)密钥分发困难。

常见的对称加密算法包括瑞士的国际数据加密算法(InternationalDataEncryptionAlgorithm,IDEA)和美国的数据加密标准(DateEncryptionStandard,DES)。

DES:替换+移位、56位密钥、64位数据块、速度快、密钥易产生。3DE5(三重DES):两个56位的密钥Kl、K2。

加密:K1加密→K2解密→K1加密

解密:K1解密→K2加密→K1解密

RC-5:RSA数据安全公司的很多产品都使用了RC-5。IDEA算法:128位密钥、64位数据块、比DES的加密性好、对计算机功能要求相对低,PGP。

非对称加密算法也称为公钥加密算法,是指加密密钥和解密密钥完全不同,其中一个为公钥,另一个为私钥,并且不可能从任何一个推导出另一个。它的优点在于可以适应开放性的使用环境,可以实现数字签名与验证。

非对称加密算法的特点是:加密速度慢。

常见非对称密钥加密算法:

最常见的非对称加密算法是RSA,该算法的名字以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。RSA算法的密钥长度为512位。RSA算法的保密性取决于数学上将一个大数分解为两个素数的问题的难度,根据已有的数学方法,其计算量极大,破解很难。但是加密/解密时要进行大量指数模运算,因此加密/解密速度很慢,主要用在数字签名中。

RSA:512位(或1024位)密钥、计算量极大、难破解ECC:椭圆曲线算法

认证(authentication)又称为鉴别或确认,它是证实某事物是否名符其实或是否有效的一个过程。认证和加密的区别在于,加密用以确保数据的保密性,阻止对手的被动攻击,例如,截取和窃听等;而认证用以确保数据发送者和接收者的真实性和报文的完整性,阻止对手的主动攻击,例如,冒充、篡改和重放等。认证往往是许多应用系统中安全保护的第一道设防,因而极为重要。

杂凑算法是主要的数字签名算法,它是利用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密。单向Hash函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长的字符串这个返回的字符串称为消息摘要(MessageDigest,MD)也称为Hash值或散列值。

(1)消息摘要算法

消息摘要算法。消息摘要算法(MessageDigestalgorithm5,MD5)用于确保信息传输完整一致,经MD2,,MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式,即将一个任意长度的字节串变换成一个定长的大数。不管是MD2,MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的消息摘要。MD5以512位分组来处理输入的信息,且每个分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由4个32位分组组成,将这4个32位分组级联后,将生成一个128位的散列值。

(2)安全散列算法

安全散列算法(SecureHashAlgorithm,SHA)能计算出一个数字信息所对应的长度固定的字符串(消息摘要),它对长度不超过264位的消息产生160位的消息摘要。这些算法之所以称作“安全”,是基于以下两点,第一,由消息摘要反推原输入信息,从计算理论上来说是很困难的;第二,想要找到两组不同的信息对应到相同的消息摘要,从计算理论上来说也是很困难的;任何对输入信息的变动,都有很高的概率导致其产生的消息摘要不同。

SHA家族的五个算法,分别是SHA-1,SHA-224,SHA-256,SHA-384和SHA-512,由美国国家安全局所设计,并由美国国家标准与技术研究院发布,是美国的政府标准。后四者有时并称为SHA-2。SHA-1在许多安全协议中广为使用,包括TLS(TransportLayerSecurity传输层安全协议)和SSL(SecureSocketsLaye,安全套接字层)、PGP(PrettyGoodPrivacy)、SSH(SecureShell,安全外壳)、S/MIME(Secure/MultipurposeInternetMailExtensions,安全/多功能Internet邮件扩展)和IPsec(InternetProtocolSecurity,IP协议安全性)等曾被视为是MD5的后继者。

X.509数字证书内容包括:

用户的身份认证是许多应用系统的第一道防线,其目的在于识别用户的合法性,从而阻止非法用户访问系统。身份识别对确保系统和数据的安全保密是极其重要的,目前,计算机网络系统中常用的身份认证方式主要有以下几种:

(1)口令认证

(2)动态口令认证

(3)生物特征识别

(1)数字信封

发送方将原文用对称密钥加密传输,而将对称密钥用接收方公钥加密发送给对方。接收方收到电子信封,用自己的私钥解密信封,取出对称密钥解密得原文。(2)PGP(PrettyGoodPrivacy)

PGP(PrettyGoodPrivacy,优良保密协议)是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用。

PGP可用于电子邮件,也可以用于文件存储。采用了杂凑算法,包括IDEA、RSA、MD5、ZIP数据压缩算法。PGP承认两种不同的证书格式:PGP证书和X.509证书。PGP证书包含PGP版本号、证书持有者的公钥、证书持有者的信息、证书拥有者的数字签名、证书的有效期、密钥首选的对称加密算法。X.509证书包含证书版本、证书的序列号、签名算法标识、证书有效期、以下数据:证书发行商名字、证书主体名、主体公钥信意、发布者的数字签名。例题:

请依据已学习的加密解密技术,以及信息摘要,数字签名技术解决以下问题。请设计一个安全邮件传输系统,要求:

该邮件以加密方式传输:邮件最大附件内容可达500MB,发送者不可抵赖,若邮件被第三方截获,第三方无法篡改。

密钥是加密算法中的可变部分,在采用加密技术保护的信息系统中,其安全性取决于密钥的保护而不是对算法或硬件保护。密码机制可以公开密码设备可能丢失但同一型号的密码机仍可继续使用。然而,密钥一旦丢失或出错,不但合法用户不能提取信息,而且可能是非法用户窃取信息。因此密钥的管理是关键问题。

密钥管理是指处理密钥自产生到销毁的整个过程中的有关问题,包括系统的初始化、密钥的产生、存储、备份/恢复、装入、分配、保护、更新、控制、丢失、吊销和销毁等。当前,主要的密钥管理体制有三种分别是适用于封闭网、以传统的密钥管理中心为代表的KMI(KeyManagementInfrustructur,密钥管理基础设施)机制,适用于开放网的PKI(PublicKeyInfrustructure公钥基础设施)机制和适用于规模化专用网的SPK(Seededpublic-Key,种子化公钥)机制。

KMI设定一个密钥分配中心(KeyDistributionCenter,KDC)来负责发放密钥,这种结构经历了从静态分发到动态分发的发展过程,是密钥管理的重要手段。静态分发是预配置技术,动态分发是“请求、分发”机制,即与物理分发相对应的电子分发,一般用于建立实时通信中的会话密钥,在一定意义上缓解了密钥管理规模化的矛盾。无论是静态发放或是动态发放,都基于秘密信道(物理通道)进行。

PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等服务,以及所必需的密钥和证书管理体系。PKI机制解决了分发密钥时依赖秘密信道的问题。

完整的PKI系统必须具有CA、数字证书库、密钥备份及恢复系统、证书作废系统和应用接口等基本构成部分。PKI与KMI的比较如下表所示。

为了更好地解决密钥管理的问题,有研究人员提出了SPK体系。SPK机制可以通过以下两种方法实现:

防火墙(firewall)是一种隔离控制技术,在不同网域之间设置屏障,阻止对信息资源的非法访问,也可以阻止重要信息从内部网络中非法输出。作为Internet的安全性保护措施,防火墙已经得到广泛的应用。通常,企业为了维护内部的信息系统安全,在企业网和Internet之间设立防火墙。企业信息系统对于来自Internet的访问,采取有选择的接收方式。它可以允许或禁止一类具体的IP地址访问,也可以接收或拒绝TCP/IP上的某一类具体的应用。

防火墙是位于两个或多个网络之间,执行访问控制策略的一个或一组系统,是一类防范措施的总称。防火墙通常放置在外部网络和内部网络的中间,执行网络边界的过滤封锁机制。在某些情况下,防火墙以专门的硬件形式出现,它是安装了防火墙软件,并针对安全防护进行了专门设计的网络设备,本质上还是软件在进行控制。

访问控制功能内容控制功能全面的日志功能集中管理功能自身的安全性和可用性

从总体上来说,防火墙技术可分为网络级防火墙和应用级防火墙两类。网络级防火墙用来防止整个网络出现外来非法的入侵;应用级防火墙是从应用程序来进行接入控制,通常使用应用网关或代理服务器来区分各种应用。

在实际应用中,可根据据不同的应用,对防火墙进行更加详细的划分,一般可以分为如下几种:

包过滤型防火墙电路级网关型防火墙应用网关型防火墙代理服务型防火墙状态检测型防火墙自适应代理型防火墙

(1)为了提高安全性,限制或关闭了一些有用但存在安全缺陷的网络服务,给用户带来了使用上的不便。

(2)目前,防火墙对于来自网络内部的攻击还无能为力。作为一种被动的防护手段,防火墙不能阻止Internet不断出现的新的威胁和攻击,不能有效地防范数据驱动式攻击。

(3)防火墙不能防范不经过防火墙的攻击,例如内部网用户通过SLIP(SerialLineInternetProtocol,串行线路网际协议)或PPP(PointtoPointProtocol,点对点协议)直接进入Internet。

(4)防火墙对用户不完全透明,可能带来传输延迟、瓶颈和单点失效等。

(5)防火墙不能完全防止受病毒感染的文件或软件的传输,由于病毒的种类繁多,如果要在防火墙完成对所有病毒代码的检查,防火墙的效率就会降到不能忍受的程度。

防火墙只是整个网络安全防护的一个部分,它需要与其他防护措施和技术配合,例如,密码技术、访问控制、权限管理和病毒防治等,才能解决内部网安全问题,并最终提供一套一体化的解决方案。

VPN原理示意图

目前,VPN主要采用四项技术来保证安全,它们分别是隧道技术、加解密技术、密钥管理技术、身份认证技术和访问控制技术。

(1)隧道技术。隧道技术是VPN的基本技术,类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。

(2)加解密技术。加解密技术是数据通信中一项较成熟的技术,VPN可直接利用现有技术。

(3)密钥管理技术。密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。

(4)身份认证技术。身份认证技术通常使用名称与密码或卡片式认证等方式。

(5)访问控制技术。访问控制技术是由VPN服务的提供者根据在各种预定义的组中的用户身份标识,来限制用户对网络信息或资源的访问控制的机制。

PPP拨号会话过程可以分成4个不同的阶段,分别是创建PPP链路、用户验证、PPP回叫控制和调用网络层协议。在用户验证阶段客户PC会将用户的身份发送给接入服务器(NetworkAccessServer,NAS)。该阶段使用一种安全认证方式,以避免第三方窃取数据或冒充远程客户接管与客户端的连接。大多数的PPP方案只提供了有限的认证方式,包括口令字认证协议(PasswordAuthenticationProtocol,PAP)和挑战握手认证协议(ChallengeHandshakeAuthenticationProtocol,CHAP)。

在保证计算机网络系统的安全中,安全协议起到主要核心作用,其中主要包括IPSec、SSL、PGP和HTTPS(HypertextTransferProtocoloverSecureSocketLayer,安全套接字层上的超文本传输协议)等。

各个网络层次的对应的安全协议如下图所示:

WiFi网络安全接入WPA(WPA/WPA2)

有WPA和WPA2两个标准以一把128位元的钥匙和一个48位元的初向量(IV)的RC4来加密使用了更安全的信息认证码MIC(信息完整性核查)有WPA、WPA-PSK、WPA2、WPA2-PSK这四种认证方式,采用AES和临时密钥完整性协议TKIP两种加密算法四种认证方式具体内容如下表所示:

(1)被动攻击:收集信息为主,破坏保密性。

(2)主动攻击:主动攻击的类别主要有:中断(破坏可用性),篡改(破坏完整性),伪造(破坏真实性)。

病毒:编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。

木马:计算机木马是一种后门程序,常被黑客用作控制远程计算机的工具。

THE END
1.管理信息系统六之系统设计管理信息系统系统设计系统性 5.举例 代码设计步骤: 四、数据库设计 1.用户需求分析 2.概念结构设计 3.逻辑结构设计 a.E-R图转换为关系数据模型 b.数据模型的规范化 4.物理结构设计 5.数据库实施、运行与维护 五、输入/输出设计 1.输出设计 2.输入设计 3.人机对话设计 https://blog.csdn.net/weixin_43606158/article/details/117453691
2.管理信息系统输入输出设计.ppt输出是系统产生的结果或为用户提供的信息。输出也是系统开发的目的和评价系统开发成功与否的标准。 输出设计的任务是使管理信息系统输出满足用户需求的信息。 输出设计的目的是为了正确及时反映和组成用于管理各部门需要的信息。信息能够满足用户需要,直接关系到系统的使用效果和系统的成功与否。 https://www.taodocs.com/p-166382070.html
3.2021年10月自考02382管理信息系统真题与答案自考A.系统信息 B.系统结构 C.系统功能 D.系统目标 5.下列关于数据分析的说法中不正确的是 A.围绕系统目标进行分析 B.围绕现行的业务流程进行分析 C.考虑信息源周围的环境 D.将收集上的每条数据作为系统设计的依据 6.绘制数据流程图时应注意 A.数据处理可以有输入、无输出 https://www.educity.cn/zikao/318131.html
4.管理信息系统案例分析报告随着个人素质的提升,报告的使用频率呈上升趋势,我们在写报告的时候要注意逻辑的合理性。那么你真正懂得怎么写好报告吗?下面是小编收集整理的管理信息系统案例分析报告,供大家参考借鉴,希望可以帮助到有需要的朋友。 管理信息系统案例分析报告1 实验一:管理信息系统案例分析 https://www.jy135.com/guanli/2180139.html
5.物流信息系统系统规划阶段、系统需求阶段、系统软件设计、系统实施阶段、系统测试阶段、系统运行和维护阶段阶段 其他定义:所谓物流信息系统,实际上是物流管理软件和信息网络结合的产物,小到一个具体的物流管理软件,大到利用覆盖全球的互联网将所有相关的合作伙伴、供应链成员连接在一起提供物流信息服务的系统,都叫做物流信息系统。对一https://baike.sogou.com/v751026.htm
6.自考《管理系统中计算机应用》复习题及答案20.不属于信息输入四项基本原则的是( C ) A.统一输入B.源点输入 C.重复输入D.数据简洁 21.要输出每个学生本学期的选课结果,在创建报表时需要选择的布局类型是( C ) A.列布局B.行布局 C.一对多布局D.多栏布局 22.系统设计说明书应当产生于( B ) https://www.oh100.com/kaoshi/zikao/shiti/302435.html
7.管理信息系统分析报告四、探讨该MIS系统的系统设计(包括数据库、输入输出、网络是如何设计的)、系统实施 (包括系统是如何测试的)和系统维护(包括系统是如何维护的) 五、日志(记录完成报告过程的日志) 六、总结(组员心得体会) 注:根据小组熟悉的'具体情况,选择一个具体管理信息系统(例如图书借阅管理系统,教务处学生管理信息系统,仓库进销存https://www.unjs.com/fanwenku/500089.html
8.管理信息系统的实验报告1、设计出系统功能结构图: 学校考试管理系统资资资资报料料料料表录修删查输入改除询出 2、新系统业务流程设计,绘制新系统业务流程图: 退出系统 学生工作办公室任课老师学生人员名单学生人员变动名单成绩单学生信息管理人员学生人员档案学生成绩档案统计分析人员学生成绩汇总表教学管理人员班主任学生 https://www.ruiwen.com/shiyanbaogao/8103110.html
9.程序员面试必看系统设计大揭秘!3 遵循“40-20-40”黄金法则时间分配时间分配时间分配:40%时间沟通理解问题,20%快速画出高层架构,剩下40%细化设计和讨论trade-offs取舍取舍取舍。时间管理大师就是你! 4思维导图是你的超级武器。 在准备前,用它梳理常见系统设计问题,比如“设计一个推荐系统”或“高并发交易系统”,清晰架构,一目https://zhuanlan.zhihu.com/p/704171943
10.管理信息系统输入输出设计(共22张PPT)管理信息系统输入输出设计 第1页,共22页。一、输入输出设计的意义 输入输出设计是管理信息系统与用户的界面,一般而言,输入输 出设计对于系统开发人员并不重要,但对用户来说,却显得尤为重要。1、它是一个组织系统形象(CooperationIdentifySystem,CIS)的具体体现;2、它能够为用户建立良好的工作环境,激发用户努力https://wenku.baidu.com/view/9cd4d435346baf1ffc4ffe4733687e21af45ff74.html
11.诊所信息管理系统设计说明书.doc免费在线阅读诊所信息管理系统设计说明书.doc,word专业整理 学习资料 整理分享 #includeiostream #includefstream //输入输出文件流类 #includestring using namespace std; class person //人类 { public: person() {} ~person() {} //析构函数,释放资源 protected: string name; charhttps://max.book118.com/html/2019/0401/8042052025002015.shtm
12.档案RFID管理信息化解决方案该系统由中心数据库和终端管理器组成,是系统的数据存取中心与信息输入输出终端。终端管理器包括读写器与手持式阅读器,是中心数据库获取信息与输出信息的重要端口。读写器的作用是负责将数据库中的信息写入标签或是将标签中的信息导入数据库;手持式阅读器是管理员进行现场信息采集与通讯的硬件,管理员将采集到的数据导入https://www.hqew.com/tech/doc/101495.html
13.商务部市场体系建设司业务专题 战略规划 体制改革 法规标准 信用建设 监督管理 在线办事 商务领域行业标准制修订信息管理 关于我们 内设机构及联系方式 联系方式 地址:北京东长安街2号 邮编:100731 公众留言 相关链接 国家标准委 中国标准化研究院 信用中国 中国市场学会 中国商业联合会 中国物流与采购联合会 工作动态 https://scjss.mofcom.gov.cn/
14.管理评审部门工作报告(精选12篇)五、加强对系统服务器的安全管理,及时升级更新各系统。 (二)信息系统风险管理: 从信息处理的过程来看,一个信息系统模型大致包括几个要素:信息数据、输入、数据处理/信息处理、输出、过程控制和结果反馈。管理信息系统是特定的.信息系统,是信息系统在管理中的应用。管理信息系统中包括管理数据处理系统,决策支持系统。ithttp://mip.yuwenmi.com/fanwen/baogao/2408428.html
15.软考2024信息系统项目管理师(高项)思维导图模板软考 信息系统项目管理师 软考高项 项目管理 信息系统 作者其他创作 大纲/内容 18组织级管理 18.1组织级项目管理概述 1、组织级项目管理师指在组织战略的指导下,具体落实组织的战略行动,从业务管理、组织架构、人员配置等多个方面对组织进行项目化的管理。 2、组织级项目管理师组织在其内部搭建起项目组织管https://www.processon.com/view/648ac7fd024aae5483c6e74a
16.(项目管理)信管网信息系统项目管理师学习笔记(核心内容输入 项目章程、工作说明书、环境和组织因素、组织过程资产 工具 项目管理方法论、项目管理信息系统、专家判断 输出 项目范围说明书(初步) . 制定项目管理计划 项目管理计划定义了项目如何执行、监督和控制,主要包括如下内容: 1、项目管理团队选择的过程 2、每个选定过程的实施级别 3、对用于完成这些过程的工具和技术https://doc.mbalib.com/view/5e54cd85131a8372e0821a2faa2d746b.html?rcd=news-pc
17.清华同方ezIBS智能建筑信息集成系统行业研究ezIBS3.0 基于同方ezONE业务基础平台开发,采用“平台+套件”的设计理念,专门服务于综合大中型建筑智能化系统的综合服务管理平台。面向智能建筑的业主、管理运营者、和系统集成商。 ezIBS系统将SOA(面向服务架构)技术成功运用于楼宇智能化、区域安防、消防综合、智能市政管理等传统控制领域,为企业级的管理信息系统与上述以http://news.21csp.com.cn/c17/200708/17811.html
18.地理信息系统的研究内容开源地理空间基金会中文分会开放地理地理信息系统技术系统设计? 包括地理信息系统硬件设计与配置;地理空间数据结构及表示;输入与输出系统;空间数据库管理系统;用户界面与用户工具设计;地理信息系统工具软件研制;微机地理信息系统的开发;网络地理信息系统的研制等。 地理信息系统应用方法研究? https://www.osgeo.cn/tutorial/k1014
19.USTB管理信息系统管理信息系统的功能结构是企业各种管理过程的缩影 3.硬件结构:描述的是管理信息系统所依托的计算机及其网络系统的硬件设备组成及其联结方式、各硬件设备的功能和技术参数 4.软件结构:在硬件上安装系统软件+应用软件 (三)开发方法 1.开发工作内容 管理信息系统开发工作的内容包括:系统规划、系统分析、系统设计、系统实施、https://www.jianshu.com/p/6560524fad88