信息技术知识
信息系统建设与开发
信息系统建设的基本概念
信息系统建设的总体目标
信息系统的生命周期、各阶段目标及其主要工作内容
信息系统常用的开发方法
信息系统设计
方案设计
系统架构
软件工程
软件需求分析与定义
软件设计、测试与维护
软件设计是需求分析的延伸与拓展。需求分析阶段解决“做什么”的问题,而软件设计阶段解决“怎么做”的问题。
1. 结构化设计(SD)
SD方法的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。
在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,而为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
2、面向对象设计(OOD)
OOD 是 OOA 方法的延续,其基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。
3、设计模式
根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。
根据目的和用途不同,设计模式可分为创建型模式、结构型模式和行为型模式三种。
软件测试方法可分为静态测试和动态测试。静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检侧。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码走查和代码审查。
动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。
白盒测试也称为结构测试,主要用于软件单元测试中。
黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中。
根据国家标准 GB/T 15532-2008, 软件测试可分为单元测试、集成测试、确认测试、系统测试、配置项测试和回归测试等类别。
所谓测试模型, 是测试和测试对象的基本特征、基本关系的抽象。它是测试理论家们根据大量的实际测试应用总结出来的,能够代表某一类应用的内在规律,并对应于适合此类应用的一组测试框架性的东西。
软件测试过程的主要模型有:V 模型、W 模型、H 模型、X 模型、前置测试模型。
2. 软件测试类型
按照开发阶段划分,软件测试类型分为单元测试、集成测试、系统测试和验收测试。
按照测试实施组织划分,软件测试类型分为开发方初试、用户测试、第三方测试。
按照测试技术划分,软件测试类型分为黑盒测试、白盒测试和灰盒测试。
按照测试执行方式划分,软件测试类型分为静态测试和动态测试。
按照测试对象 类型划分,软件测试类型分为功能测试、界面测试、流程测试、接口测试、安装测试、文档测试、源代码测试、数据库测试、网络测试和性能测试
按照质量属性划分, 软件测试类型分为容错性测试、兼容性测试、安全性测试、可靠性测试、维护性测试、可移植性测试和易用性侧试。
按照测试地域划分,软件测试类型分为本地化测试和国际化测试。
软件维护类型
- 改正性维护,是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的 17%~21%。
- 适应性维护,是指使用软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的 18%~25%。人们常常为改善系统硬件环境和运行环境而生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。
- 完善性维护,是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这方面的维护占整个维护工作的 50%~60%,比重较大。
- 预防性维护,为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。这方面的维护工作量占整个维护工作量的 4%左右。
软件测试技术
1. 黑盒测试法
黑盒测试也称功能铡试,它是通过测试来检测每个功能是否都能正常使用。
在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行侧试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保待外部信息(如数据库或文件)的完整性。黑盒测试主要检查程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试注重于测试软件的功能需求,主要试图发现以下几类错误。
(1)是否有不正确或遗漏了的功能。
(2)在接口上,能否正确地接受输入数据,能否产生正确地输出信息。
(3)访问外部信息是否有错。
(4)性能上是否满足要求。
(5)界面是否错误,是否不美观。
(6)初始化或终止错误。
黑盒测试的优点主要有以下几点。
(1)比较简单,不需要了解程序内部的代码及实现。
(2)与软件的内部实现无关。
(3)从用户角度出发,能很容易地知道用户会用到哪些功能,会遇到哪些问题。
(4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能。
(5)在做软件自动化测试时较为方便。
黑盒测试的缺点主要有以下两点。
(1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%。
(2)自动化测试的复用性较低。
2. 白盒测试法
白盒测试将测试对象看作一个透明的盒子,按照程序内部的结构侧试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不顾它的功能。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒初试又称为结构测试或逻辑驱动测试。
白盒测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,是一种穷举路径的测试方法。但即使每条路径都测试过了,仍然可能存在错误。
信息系统测试管理
测试管理是为了实现测试工作预期目标,以测试人员为中心,对测试生命周期及其所涉及的相应资源进行有效的计划、组织、领导和控制的协调活动。
测试管理的主要因素包括测试策略的制定、测试项目进度跟进、项目风险的评估、测试文档的评审、测试内部和外部的协调沟通、测试人员的培养等。
测试管理内容主要有以下几个方面:
• 测试目标的明确,进行测试计划及过程监控准则的制订。
• 测试团队搭建和测试人员管理。
• 测试实施过程的监控,包括测试计划执行的跟踪和测试人员的工作安排等内容。
• 测试风险的评估和风险的应对策略。
• 测试外部的沟通协调和测试问题的确认处理。
• 测试资产、测试产品的统一管理。
• 测试规范的制定。
• 测试绩效考核的制定与考评。
软件质量保证及质量评价
软件配置管理
软件过程管理
软件过程是软件生命周期中的一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。软件产品的质量取决于软件过程,具有良好软件过程的组织能够开发出高质量的软件产品。
软件开发工具
软件复用
面向对象的系统分析与设计
面向对象的基本概念
统一建模语言 UML 与可视化建模
UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
从总体上来看,UML 的结构包括构造块、规则和公共机制三个部分。
UML 中的事物
(1)结构事物:结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。
(2)行为事物:行为事物是 UML 模型中的动态部分,代表时间和空间上的动作。
(3)分组事物:分组事物是 UML 模型中组织的部分
(4)注释事物:注释事物是 UML 模型的解释部分。
UML 中的关系
UML 用关系把事物结合在一起,主要有下列四种关系:
(1)依赖(dependency):依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
(2)关联(association): 关联描述一组对象之间连接的结构关系。
(3)泛化(generalization): 泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。 (4)实现(realization): 实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
UML 视图
UML 对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下 5 个系统视图:
(1)逻辑视图:逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图:进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图:部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图:用例视图是最基本的需求分析模型。
面向对象的系统分析
类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等,它们在 UML 中的表示方式如下图所示:
(1)关联关系。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。关联体现的是对象实例之间的关系,而不表示两个类之间的关系。
(2)依赖关系。两个类 A 和 B, 如果 B 的变化可能会引起 A 的变化,则称类 A 依赖于类 B。
(3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
(4)共享聚集。共享聚集关系通常简称为聚合关系,它表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体","部分”与“整体”的生命周期可以不相同。
(5)组合聚集。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。与聚合关系的区别在于,组合关系中的”部分”只能属于一个“整体", "部分”与“整体”的生命周期相同,“部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。
(6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
面向对象的系统设计
软件架构
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。
1. 软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中,使用同一个软件架构。
将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
2. 软件架构评估
在架构评估过程中,评估人员所关注的是系统的质量属性。
从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。
基本信息系统集成技术
EAI 所连接的应用包括各种电子商务系统、ERP、CRM、SCM、OA、数据库系统和数据仓库等。从单个企业的角度来说,EAI 可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。当然,也可以在多个企业之间进行应用集成。
表示集成是黑盒集成,无须了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。
EAI 技术可以适用于大多数要实施电子商务的企业,以及企业之间的应用集成。EAI使得应用集成架构里的客户和业务伙伴,都可以通过焦成供应链内的所有应用和数据库实现信息共享。
应用集成技术
数据库与数据仓库技术
- 数据库管理系统
- 关系型数据库
- Oracle、MySQL、SQL Server
- 非关系型数据库
- MongoDB、Redis
- 关系型数据库
- 数据仓库技术
- 数据源
- 是数据仓库系统的基础,是整个系统的数据源泉
- 数据的存储与管理
- 是整个数据仓库系统的核心
- OLAP服务器
- 对分析需要的数据进行有效集成
- 前端工具
- 基于数据仓库或数据集市的应用开发工具
- 数据源
Web Service 技术
J2EE 架构
.NET 架构
软件引擎技术(流程引擎、Ajax 引擎)
软件和常用构件标准(COM/DCOM/COM+、CORBA 和 EJB)
软件中间件
- 定义
- 在一个分布式系统环境中处于操作系统和应用程序之间的软件。分布式应用软件借助这种软件在不同的技术之间共享资源。
- 分类
- 底层型中间件
- 通用型中间件
- 集成型中间件
计算机网络技术
网络技术标准与协议
- OSI协议
- 物理层
- RS232、V.35、RJ-45、FDDI
- 数据链路层
- IEEE 802.3/.2、HDLC、PPP、ATM
- 网络层
- IP、ICMP(Internet Control Message Protocol, 网际控制报文协议)、IGMP(Internet Group Management Protocol, 网际组管理协议)、IPX、ARP(Address Resolution Protocol, 地址解析协议)、RARP(Reverse AddressResolution Protocol, 反向地址解析协议)
- 传输层
- TCP、UDP、SPX
- 会话层
- RPC、SQL、NFS
- 表示层
- JPEG、ASCII、GIF、DES、MPEG
- 应用层
- HTTP(Hypertext Transfer Protocol, 超文本传输协议)、Telnet(远程登录协议)、FTP(File Transport Protocol, 文件传输协议)、SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议)、TFTP(Trivial File Transfer Protocol, 简单文件传输协议)、DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)、DNS(Domain Name System, 域名系统)、SNMP(Simple Network Management Protocol, 简单网络管理协议)
- 物理层
- 局域网协议
- IEEE 802.3
- 广域网协议
- PPP点对点协议、ISDN综合业务数字网、xDSL数字用户线路的统称、DDN数字专线、x.25、FR帧中继、ATM异步传输模式
Internet 技术及应用
网络分类
网络服务器
在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机。
网络交换技术
- 物理层
- 中继器
- 链路层
- 网桥、交换机
- 网络层
- 路由器
- 高层
- 网关
网络存储技术
- 直接附加存储 DAS
- DAS 是将存储设备通过型计算机系统接口电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。
- 网络附加存储 NAS
- 采用 NAS 技术的存储设备不再通过 I/O 总线附属于某个特定的服务器,而是通过网络接口与网络直接相连,由用户通过网络访问。
- 存储区域网络 SAN
- SAN 是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。
光网络技术
无限网络技术
网络接入技术
- PSTN(Public Switching Telephone Network, 公用交换电话网络)
- ISDN(Integrated Services Digital Network, 综合业务数字网)
- ADSL(Asymmetrical Digital Subscriber Loop, 非对称数字用户线路)
- FTTx+LAN 接入
- 同轴光纤技术(Hybrid Fiber-Coaxial, HFC)
- 无线接入
综合布线和机房工程
网络规划、设计与实施
- 网络拓扑结构设计
- 主干网络(核心层)设计
- 汇聚层和接入层设计
- 广域网连接与远程访问设计
- 无线网络设计
- 网络安全设计
- 设备选型
网络安全
网络管理
新一代信息技术
大数据
大数据(big data), 指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的概念
业界通常用 5 个 V——Volume(大量)、Variety(多样)、Value(价值)、Velocity(高速)和 Veracity(真实性)来概括大数据的特征。
大数据的关键技术
(1)大数据存储管理技术
(2)大数据并行分析技术
(3)大数据分析技术
大数据发展应用领域和目标
大数据应用实例
- 大数据征信
- 大数据风控
- 大数据消费金融
- 大数据财富管理
- 大数据疾病预测
大数据发展应用的目标
2015 年,国务院印发了《促进大数据发展行动纲要》,纲要提出了立足我国国情和现实需要,推动大数据发展和应用在未来 5~10 年逐步实现以下目标。
- 打造精准治理、多方协作的社会治理新模式。
- 建立运行平稳、安全高效的经济运行新机制。
- 构建以人为本、惠及全民的民生服务新体系。
- 开启大众创业、万众创新的创新驱动新格局。
- 培育高端智能、新兴繁荣的产业发展新生态。
云计算
云计算(Cloud Computing), 是一种基于互联网的计算方式,通过这种方式,在网络上配置为共享的软件资源、计算资源、存储资源和信息资源可以按需求提供给网上终端设备和终端用户。
云计算的概念和服务类型
所谓“云”是一种抽象的比喻,表示用网络包裹服务或者资源而隐蔽服务或资源共享的实现细节以及资源位置的一种状态。云计算是继大型机一终端计算模式转变为客户端一服务器计算模式之后的又一种计算模式的转变。在这种模式下,用户不再需要了解“云”中基础设施的细节,也不必具有相应的专业知识,更无须直接进行控制,可以将信息系统的运行维护完全交给“云”平台的管理者。云计算通常通过互联网来提供动态易扩展而且经常是虚拟化的资源,并且计算能力也可作为一种资源通过互联网流通。
云计算的主要特点包括:1、宽带网络连接。2、快速、按需、弹性的服务。
云计算服务的类型
- laaS(基础设施即服务),向用户提供计算机能力、存储空间等基础设施方面的服务。
- PaaS(平台即服务),向用户提供虚拟的操作系统、数据库管理系统、Web 应用等平台化的服务。
- Saas(软件即服务),向用户提供应用软件(如 CRM、办公软件等)、组件、工作流等虚拟化软件的服务。
云计算的关键技术
(1)基础设施关键技术
(2)操作系统关键技术
发展云计算的指导思想、基本原则和目标
指导思想 适应推进新型工业化、信息化、城镇化、农业现代化和国家治理能力现代化的需要,以全面深化改革为动力,以提升能力、深化应用为主线,完善发展环境,培养骨干企业,创新服务模式,扩展应用领域,强化技术支撑,保障信息安全,优化设施布局,促进云计算创新发展,培育信息产业新业态,使信息资源得到高效利用,为促进创业兴业、释放创新活力提供有力支持,为经济社会持续健康发展注入新的动力。
基本原则
(1)市场主导
(2)统筹协调
(3)创新驱动
(4)保障安全
发展目标
(1)服务能力大幅提升
(2)创新能力明显增强
(3)应用示范成效显著
(4)基础设施不断优化
(5)安全保障基本健全
发展云计算的主要任务
- 增强云计算服务能力。
- 提升云计算自主创新能力。
- 探索电子政务云计算发展新模式。
- 加强大数据开发与利用。
- 统筹布局云计算基础设施。
- 提升安全保障能力
物联网
物联网(The Internet of Things),主要解决物品与物品(Thing to Thing , T2T)、人与物品(Human to Thing, H2T)、人与人(Human to Human, H2H)之间的互连。
物联网的概念
物联网的发展现状
物联网的架构
物联网架构可分为三层,分别是感知层、网络层和应用层。
- 感知层由各种传感器构成,包括温湿度传感器、二维码标签、RFID 标签和读写器、摄像头、GPS 等感知终端。感知层是物联网识别物体、采集信息的来源。
- 网络层由各种网络,包括互联网、广电网、网络管理系统和云计算平台等组成,是整个物联网的中枢,负责传递和处理感知层获取的信息。
- 应用层是物联网和用户的接口,它与行业需求结合,实现物联网的智能应用。
物联网的关键技术
在物联网应用中有两项关键技术,分别是传感器技术和嵌入式技术。
• RFID(Radio Frequency Identification, 射频识别)是物联网中使用的一种传感器技术。
• 嵌入式技术是综合了计算机软硬件、传感器技术、集成电路技术、电子应用技术为一体的复杂技术。
如果将物联网用人体做一个简单比喻,传感器相当于人的眼睛、鼻子、皮肤等感官;网络就是神经系统,用来传递信息;嵌入式系统则是人的大脑,在接收到信息后要进行分类处理。
物联网的应用
物联网技术在智能电网、智慧物流、智能家居、智能交通、智慧农业、环境保护、医疗健康、城市管理(智慧城市)、金融服务保险业、公共安全等方面有非常关键和重要的应用。
物联网在城市管理中综合应用就是所谓的智慧城市。智慧城市建设主要包括以下几部分:
- 通过传感器或信息采集设备全方位地获取城市系统数据。
- 通过网络将城市数据关联、融合、处理、分析为信息。
- 通过充分共享、智能挖掘将信息变成知识。
移动互联网
移动互联是移动互联网的简称,它是通过将移动通信与互联网二者结合到一起而形成的。其工作原理为用户通过移动终端来对因特网上的信息进行访问,并获取一些所需要的信息,人们可以享受一系列的信息服务带来的便利。
移动互联网的核心是互联网,因此一般认为移动互联网是桌面互联网的补充和延伸,应用和内容仍是移动互联网的根本。
移动互联网的概念
移动互联网有以下特点
- 终端移动性。
- 业务使用的私密性。
- 终端和网络的局限性。
- 业务与终端、网络的强关联性。
移动互联在市场领域和应用开发领域形成了一些特点,这些特点在移动互联领域内有着划时代的重要意义。
- 重视对传感技术的应用。
- 有效地实现人与人的连接。
- 浏览器竞争及孤岛问题突出。