信息系统建设、软件开发模型、软件工程、软件过程改进、软件复用、面向对象基础、UML、软件架构、SOA与web service、数据仓库、软件构件、中间件技术、J2EE与.NET、工作流技术与Ajax、计算机网络基础等方面的知识、信息安全知识。
一、信息系统建设
1、信息系统的生命周期分为四个阶段,即产生阶段、开发阶段、运行阶段和消亡阶段。
(1)产生阶段。也成为信息系统的概念阶段、需求分析阶段。
(2)开发阶段。分为五个子阶段,即总体规划、系统分析、系统设计、系统实施和系统验收子阶段。
(3)运行阶段。
(4)消亡阶段。
2、信息系统的开发方法有:结构化方法、快速原型法、企业系统规划方法(BSP:Business System Planning)、战略数据规划法、信息工程方法、面向对象方法。
在信息系统发展的历程中共有四类数据环境,即数据文件、应用数据库、主题数据库和信息检索系统。
二、软件开发模型
软件开发的模型有很多种,如瀑布模型、演化模型、增量模型、螺旋模型、喷泉模型、构件组装模型、V模型。
1、瀑布模型:
(1)适用于需求比较稳定,很少需要变更的项目。
(2)采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动。
2、演化模型
(1)适用于对软件需求缺乏准确认识的情况。
3、增量模型
(1)增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只需要某个需求的增量包出来即可进行开发。
4、螺旋模型
(1)他将瀑布模型和快速原型模型结合起来。特别适合于大型复杂的系统,复杂并且具有高风险。
(2)制定计划-风险分析-实事工程-客户评估
5、喷泉模型
(1)是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
6、构件组装模型
7、V模型
8、RUP(Rational Unified Process,统一软件开发过程)
被分解为四个顺序的阶段,分别是初始阶段、细化阶段、构造阶段和交付阶段。
三、软件工程
1、软件需求
软件需求包括三个不同的层次:业务需求、用户需求和功能需求、非功能需求。
2、软件设计
软件设计的基本原则是信息隐蔽与模块独立性。
模块独立性比较强的模块应是高内聚低耦合的模块。
内聚性记忆:"偶逻时过通顺功" 低--->高
偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚
耦合性记忆:"非数标控外公内"低--->高
非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合
3、软件测试
软件测试事指使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试从是否关心软件内部结构和具体实现的角度划分为白盒测试、黑盒测试、灰盒测试;
从是否执行的程序的角度划分为静态测试、动态测试
从软件开发的过程按阶段的角度划分为单元测试、集成测试、确认测试、系统测试、验收测试。
桌前检查由程序员自己检查自己编写的程序。代码审查是由若干程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。
代码走查与代码审查的过程大致相同,但开会的程序与代码审查不同。
面向对象测试是与采用面向对象开发相对应的测试技术,它通常包括4个测试层次,从低到高排列分别是算法层、类层、模板层和系统层。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,统称负载压力测试。
第三方测试是指独立于软件开发方和用户方的测试,组织的测试也成为”独立测试“。
4、软件维护
所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件具有可维护性主要由可理解性、可测试性、可修改性三个因素决定。
软件的维护从性质上分为:纠错性维护、适应性维护、预防性维护和完善性维护。
四、软件过程改进
软件过程改进(Soft Process improement,SPI)帮助软件企业对其软件过程的改进计划、制定以及实施,它的实施对象是软件企业的软件过程,也是团建产品的生产过程,当然也包括软件维护之类的维护过程。
CMM(Capability Maturity Model for Software,全称为SW-CMM,软件能力成熟度模型)就是结合了质量管理和软件工程的双重经验而制定的一套针对软件生产过程的规范。
CMM将成熟度划分为5个等级。
(1)初始级---软件的特点是无序的。软件产品所取得的成功往往依赖极个别人的努力和机遇。
(2)可重复级---已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。
(3)已定义级---用于管理和工程的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。
(4)已管理级---软件过程和产品质量有详细的度量标准。
(5)优化级—通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。
CMMI能力成熟度模型集成是CMM模型的最新版本。
CMMI有两种表示方法,一种是大家很熟悉的,和软件CMM一样的阶段式表现方法,另一种是连续式的表现方法。连续式的表现方法分为四大类:过程管理、项目管理、工程以及支持。
CMMI也分为5个成熟度级别:
(1)完成级:企业在完成级上的项目实施对实施人员有很大的依赖性。
(2)管理级:保证了企业对所有项目实施都会得到成功。
(3)定义级:企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化。
(4)量化管理级:对管理流程要做到量化与数字化。
(5)优化级:在优化级水平上,企业的项目管理达到了最高的境界。能够主动地改善流程,运用新技术,实现流程的优化。
五、软件复用
软件复用,又称为软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。软件构件就是把这些可重用的元素,通常简称为构件。可重用的软件元素越大,就说重用的粒度越大。
六、面向对象基础
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
面向对象的软件系统是由对象组成的,复杂的对象由比较简单的对象组合而成;类时对象的抽象定义,是一组具有相同数据结构和相同操作的对象的集合。类是对象的抽象,对象是类的具体实例。
封装是对象的一个重要原则。
继承是使用已存在的定义作为基础建立新的定义。
多态中最常用的一种情况就是类中具有相似功能的不同函数是用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。
七、UML统一建模语言
UML(Unified Modeling Language,统一建模语言)是用来对软件密集系统进行可视化建模的一种语言,是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
(1)类图:类图给出系统的静态设计视图。
(2)对象图:给出系统的静态设计视图或静态过程视图。
(3)构件图:用于表示系统的静态设计实现视图。
(4)组合结构图:用于画出结构化类的内部内容。
(5)用例图:用例图给出系统的静态用例视图。
(6)序列图和通信图:两者都是交互图。交互图专注于系统的动态视图。
(7)状态图:展现了对象的动态视图。
(8)活动图:专注于系统的动态视图。
(9)部署图:展现了对运行时的处理结点以及在其中生存的构件和配置。
(10)包图:展现了由模型本身分解而成的组织单元以及它们的依赖关系。
(11)定时图:是一种交互图,它展现了消息跨越不同对象或角色的实际实现,而不仅仅是关心消息的相对顺序。
(12)交互概览图:是活动图和序列图的混合物。
基本的图范畴:结构图(类图、组合结构图、构件图、部署图、对象图和包图)和行为图(活动图、交互图(顺序图、通信图、交互概览图和时序图的统称)、用例图、状态机图)。
八、软件架构
2层c/s(Client/Server,客户机/服务器)架构:
3层C/s架构:将应用功能分为表示层、功能层和数据层三部分;
B/S(Browser/Server,浏览器/服务器)架构:是对C/S结构的一种变化或者改进的结构,在这种结构下,用户工作界面时通过WWW浏览器来实现的,极少部分事务逻辑在浏览器端实现,但是主要逻辑在服务器端实现。
九、SOA与webservice
SOA(Service-Orented Architecture,面向服务的体系结构)是一个组件模型,他将营养程序的不同功能单元(成为服务)通过这些服务之间定义良好的接口和契约联系起来。
WebService是表示数据的基本格式。
十、数据仓库的相关术语
数据仓库中有关的主要术语和整体结构
ETL(Extraction/Transformation/Loading,清洗/转换/加载):用户从数据源抽取出所需要的数据,经过数据清洗、转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
元数据:是关于数据的数据,指在数据仓库建设过程中所产生的有关数据源定义、目标定义、转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息。
粒度:数据仓库的数据单位中保存数据的细化或综合程度的级别。
分割:结构相同的数据被分成多个数据物理单元。
数据集市:小型的面向部门或工作组级数据仓库。
ODS(Operation DataStore,操作数据存储):能够支持企业日常全局应用的数据集合,不同于DB的一种新的数据环境,是DW扩展后得到的一个混合形式。4个基本特点是面向主题的、集成的、可变的、当前或接近当前的。
数据源是数据仓库系统的基础,数据源可以有多种,比如关系型数据库、数据文件(Excel、XML等)等。数据仓库的真正关键是数据的存储和管理。
数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP服务器对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
十一、软件构件
构件是可复用的软件组成部分,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能软件工程中的构建模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。
构建模型是对构件本质特征的抽象描述。已形成3个主要流派,分别是OMG(Object Management Group,对象管理组织)的CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)、Sun的EJB(Enterprise Java Bean ,企业级Java组件)和Microsoft 的CCOM(Distributed ComPonent ObjectModel,分布式构件对象模型)。
EJB分为会话Bean、实体Bean和消息驱动Bean。
十二、中间件技术
基于目的和实现机制的不同,中间件主要分为远程过程调用、面向消息的中间件、对象请求代理、事务处理监控。
MOM(Message Oriented Middleware,面向消息的中间件)指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流。
目前流行的MOM中间件产品有IBM的MQSeries,BEA的MessageQ
十三、J2EE与.net
J2EE说明书中定义了以下J2EE组件:应用客户端程序和Applets是客户层组件,Java Servlet和JSP是Web层组件,EJB是业务层组件。
.NET Framework位于整个.NET平台的中央。
十四、工作流技术与Ajax
工作流是指整个或部分经营过程在计算机支持下的全自动或半自动。在实际情况中,可以更广泛地把凡是有计算机软件系统控制其执行的过程都称为工作流。
一个工作流包括一组活动及其相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。
AJAX即Asynchronous JavaScript and XML(异步JavaScript 和XML),不过AJAX并非缩写词,而是指一种创建交互式网页应用的网页开发技术。
十五、计算机网络基础
1.OSI/RM
OSI/RM(Open System Interconnection/Reference Model,开放系统互联参考模型)是1983年ISO颁布的网络体系结构标准。从低到高分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
记忆口诀:物数网传会表应
物理层的数据单位是比特,传输方式一般为串行。
数据链路层的数据单位是帧。网络层处理与寻址和传输相关的管理问题,提供点对点的连接,数据单位是分组。
传输层的数据单位是报文。
2、TCP/IP
TCP/IP是事实在用的模型,分为4层;网络接口层、网络层、传输层、应用层。
CSMA/CD也可称为带有冲突检测的载波侦听多路访问,所谓载波侦听,意思是网络上各个工作站在发送数据前都要侦听总线上有没有数据传输。若有数据传输,则不发送数据。如无数据传输,立即发送准备好的数据。所谓多路访问,意思是若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合。冲突检测。CSMA/CD工作在网络接口层,应用最多的就是以太网。
TokingRing:即令牌环网IEEE802.5LAN协议。令牌环网中的所有工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据,通过围绕环的令牌信息授予工作站传输权限;令牌环上传输的小的数据(帧)成为令牌,谁有令牌就有谁传输权限;令牌环网络中不会发生传输冲突。工作在网络接口层;
IP(Internet Protocol,网络协议):协议实际上是一套软件程序组成的协议软件,它把不同“帧”统一转换成"IP数据包"格式,并给Internet上的每台计算机和其他设备定了一个唯一的地址,叫做"IP地址"。---工作在网络层。
ICMP(Internet Group Management Protocol,互联网控制报文协议):用于IP主机和路由器之间传递控制消息;控制消息是指网络通不通,主机是否可达、路由是否可用等网络本身的消息;这些控制消息虽然并不传输用户数据,但是对于用户US护具的传递起着重要的作用。工作在网络层。
IGMP(Internet Group Management Protocol,Internet组管理协议):是Internet协议家族中的一个组播协议,用于IP主机向任何一个直接相邻的路由器报告他们的组成员情况;IGMP信息封装在IP报文中。工作在网络层。
ARP(Address Resolation Protocol,地址解析协议):实现通过IP地址得知其物理地址;以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网地址。工作在网络层。
RARP(Reverse Address Resolution Protocol,反向地址解析协议):允许局域网的物理机器从网关服务器的ARP表或缓存上请求其IP地址。
TCP(Transmission Control Protocol,传输控制协议):是一种面向连接(连接向导)的、可靠的、基于字节流的传输层协议;TCP建立连接之后,通信双方可以同时进行数据传输,TCP是全双工的;在保证可靠性上,采用超时重传和捎带确认机制。
UDP(User Datagram Protocol,用户数据报协议):位于传输层;提供面向事务的简单不可靠的、基于字节流的传输层通信协议,传输数据之前,源端和终端不建立连接。我们使用的qq就是UDP协议。
POP3(Post Offiece Protocol,邮局协议的第3个版本):是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议;是Internet电子邮件的第一个离线协议标准。
FTP(File Transfer Protocol,文件传输协议):用于Internet上的文件双向传输;
Telnet:是Internet远程登录服务的标准协议和主要方式;
HTTP(HyperText Transfer Protocol,超文本传输协议):客户端浏览器或其他程序与Web服务器之间的应用层通信协议;
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):是一种提供可靠且有效电子邮件传输的协议;是一种建立在FTP文件传输服务上的邮件服务,主要用于传输系统之间的邮件信息并提供来信相关的通知。
NFS(Network File System,网络文件系统):允许一个系统在网络上与他人共享目录和文件;通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):是一个局域网的网络协议,使用UDP协议工作,主要用途是给内部网络或网络服务供应商自动分配IP地址给用户,作为内部网络管理员对所有计算机作中央管理的手段。
SNMP(simple network management protocol,简单网络管理协议);目标是管理互联网Internet上众多厂家生产的软硬件平台,前身是SGMP(简单网关监控协议);使用SNMP进行网络管理需要管理基站、管理代理、MIB(管理信息库)和网络管理工具。
TFTP(Trivial File Transfer Protocol,简单文件传输协议):用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
DNS(Domain Name System,域名系统):由解析器和域名服务器组成;域名服务器是指保存该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器;域名必须对应一个IP地址,而IP地址不一定有域名;
3、网络规划与设计
需求主要考虑网络的功能要求、性能要求、运行环境要求、可扩充性和可维护性要求。
网络规划要遵循实用性、开放性和先进性原则。网络的设计与实施要遵循可靠性、安全性、高效性和可扩展性原则。层次化的网络设计主要包括核心层、汇聚层和接入层3个层次。
4、计算机网络分类
计算机网络按分布范围可分为局域网、城域网和广域网;按拓扑结构可分为总线型、星型、环型。
以太网是应用最为广泛的局域网,包括标准的以太网(10Mb/s)、快速以太网(100Mb/s)和10G(10Gb/s)以太网,采用的是CSMA/CD访问控制法。
5、网络接入方式
网络接入方式主要有有线和无线两种。有线接入技术有拨号链接、ADSL(非对称数字用户环路)、DDN(数字数据网,专线上网方式)、局域网接入等。无线接入有WI-Fi、Bluetooth(蓝牙)、IrDA(红外线)、WAPI(无线局域网鉴别和保密基础结构)等。
6、网络存储技术
(1)DAS(开放系统的直连式存储)
(2)NAS(网络附属存储)
(3)SAN(存储域网络)是指存储设备相互连接且与一台服务器或一个服务器群相连的网络;
7、虚拟局域网
VLAN(虚拟局域网)是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。
划分VLAN的方法主要有:按交换机端口号划分、按MAC地址划分、按第三层协议划分、按用户定义和非用户授权划分等方式。
8、综合布线与机房工程
综合布线主要考虑六大子系统,即工作区子系统、水平干线子系统、管理子系统、垂直干线子系统、设备间子系统、建筑群子系统。
9、IP地址
所谓IP地址,就是给每个连接在Internet上的主机分配的一个32bit地址。ip地址的这种表示法叫做“点分十进制表示法”。IP地址由两部分组成:一部分为网络地址,另一部分为主机地址。
十六、信息安全
1、加密技术
(1)对称加密技术
常见的对称加密算法有DES和IDEA等
(2)不对称加密算法。
广泛应用的不对称加密算法有RSA和DSA。
(3)不可逆加密算法
不可逆加密算法常用的有MD4和SHA等。
2、数字签名
数字签名(又称为公匙数字签名、电子签章)就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。
数字签名技术是不对称加密算法的典型应用。
3、数字信封
数字信封是公匙密码体制在实际中的一个应用,用加密技术来保证只有规定的特定收信人才能阅读通信的内容。
4、PKI/CA
PKI(public key infrastructure,公匙基础设施)从技术上解决了网络通信安全的种种障碍。
主要由最终用户、认证中心和注册机构组成。
工作原理是通过发放和维护数字证书来建立一套信任网络。
CA(certificate Authority,数字证书认证中心)从运营、管理、规范、法律、人员等多个角度解决了网络信任问题。PKI/CA主要由最终用户、认证中心和注册机构组成。
5、访问控制
(1)DAC(自助访问控制)
(2)ACL访问控制列表
(3)MAC强制访问控制模型
(4)RBAC模型基于角色的访问控制模型。