第二章 信息技术知识
软件需求
- 定义:软件需求是针对待解决问题的特性的描述。
- 特点:
- (1)所定义的需求必须可以被验证;
- (2)在资源有限时,可以通过优先级对需求进行权衡。
- 需求分析的必要性:通过需求分析,可以检测和解决需求之间的冲突、发现系统的边界、并详细描述出系统需求。
软件设计
- 定义:根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础。
- 两个阶段:
- (1)软件架构设计(也叫高层设计);
- (2)软件详细设计。
软件测试
- 定义:软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为。
- 目的:为了评价和改进产品质量、识别产品的缺陷和问题。
- 开展频次:应包括在整个开发和维护过程中。
- 三个阶段:
- (1)单元测试;
- (2)集成测试;
- (3)系统测试。
软件维护
-
定义:是指在软件开发完成并投入使用后,对软件进行修改、更新、修复和优化等一系列活动的过程。
-
交付前完成的活动:交付后的运行计划和维护计划等。
-
交付后完成的活动:交付后的活动包括软件修改、培训、帮助资料等。
-
类型:
-
(1)更正性维护。更正交付后发现的错误。
-
(2)适应性维护。使软件产品能够在变化后或变化中的环境中继续使用。
-
(3)完善性维护。改进交付后产品的性能和可维护性。
-
(4)预防性维护。在软件产品中的潜在错误成为实际错误前,检测并更正它们。
软件质量
- 定义:软件质量指的是软件特性的总和,是软件满足用户需求的能力,即遵从用户需求,达到用户满意。
- 组成:
- (1)内部质量;
- (2)外部质量;
- (3)使用质量。
- 软件质量管理过程:
- (1)软件质量保证
通过制定计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求。
- (2)验证与确认
确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。
- (3)评审与审计
包括管理评审、技术评审、检查、走查、审计等。
(管理评审)目的:监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。
(技术评审)目的:评价软件产品,以确定其对使用意图的适合性。
(软件审计)目的:提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。
软件配置管理
- 定义:软件配置管理通过标识产品的组成元素、管理和控制变更、验证、记录和报告配置信息,来控制产品的进化和完整性。
- (1)软件配置管理计划的制定需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务;
- (2)软件配置标识活动识别要控制的配置项,并为这些配置项及其版本建立基线;
- (3)软件配置控制关注的是管理软件生命周期中的变更;
- (4)软件配置状态记录标识、收集、维护并报告配置管理的配置状态信息;
- (5)软件配置审计是独立评价软件产品和过程是否遵从已有的规则、标准、指南、计划和流程而进行的活动;
- (6)软件发布管理和交付通常需要创建特定的交付版本,完成此任务的关键是软件库。
软件过程管理
- (1)项目启动与范围定义
启动项目并确定软件需求。
- (2)项目规划
制定计划,其中一个关键点是确定适当的软件生命周期过程,并完成相关的工作。
- (3)项目实施
根据计划,并完成相关的工作。
- (4)项目监控与评审
确认项目工作是否满足要求,发现问题并解决问题。
- (5)项目收尾与关闭
为了项目结束所做的活动。需要项目验收,并在验收后进行归档、事后分析和过程改进等活动。
软件开发工具
- 定义:软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。
- (1)软件需求工具。包括需求建模工具和需求跟踪工具。
- (2)软件设计工具。包括软件设计创建和检查工具。
- (3)软件构造工具。包括程序编辑器、编译器、代码生成器、解释器、调试器等。
- (4)软件测试工具。包括测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。
- (5)软件维护工具。包括理解工具(如可视化工具)和再造工具(如重构工具)。
- (6)软件配置管理工具。包括追踪工具、版本管理工具和发布工具。
- (7)软件工程管理工具。包括项目计划与追踪工具、风险管理工具和度量工具。
- (8)软件工程过程工具。包括建模工具、管理工具、软件开发环境。
- (9)软件质量工具。包括检查工具和分析工具。
软件复用
- 定义:软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。
- 主要思想:将软件看成是由不同功能的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。
面向对象
- (对象)定义:由数据机器操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。
- (对象)基本要素:
- (1)对象标识;
- (2)对象状态;
- (3)对象行为。
- (类)定义:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。
- (抽象)定义:通过特定的实例抽取共同特征以后形成概念的过程。
- (封装)定义:将相关的概念组成一个单元模块,并通过一个名称来引用它。
- (面向对象封装)定义:面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
- (继承)定义:表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征。
- (继承)类型:
- (1)单继承;
- (2)多继承。
- (多态)定义:使得在多个类中可以定义同一个操作或属性名称,并在每个类中可以有不同的体现。
- (接口)定义:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。
- (消息)定义:体现对象间的交互,通过它向目标对象发送操作请求。
- (组件)定义:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。
- (复用)定义:指将已有的软件及其有效成分用于构造新的软件或系统。
- (模式)定义:描述了一个不断重复发生的问题,以及该问题的解决方案。
- (模式)组成部分:
- (1)特定环境;
- (2)问题;
- (3)解决方案。
统一建模语言
- 定义:统一建模语言(UML)用于对软件进行可视化描述、构造和建立软件系统的文档。
- 特点:
- (1)UML是一种可视化的建模语言,而不是编程语言。
- (2)UML标准包括相关概念的语义、表示法和说明,提供了静态、动态、系统环境及组织结构的模型。
- 适用对象:比较适用于迭代式的开发过程。
- (UML图)定义:UML图提供了对系统进行建模的描述方式。主要包括用例图、类图、对象图、组件图、部署图、状态图、序列图、协作图、活动图等。
- (UML图)特点:UML视图用来划分系统重的各种概念和组件,是表达系统某一方面特性的UML建模组件的子集。
面向对象系统分析
- 定义:面向对象系统分析运用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
- 组成部分:
- (1)用例模型;
- (2)类-对象模型;
- (3)对象-关系模型;
- (4)对象-行为模型。
面向对象系统设计
- 定义:面向对象系统设计基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。
- 包括:
- (1)用例设计;
- (2)类设计;
- (3)子系统设计。
传统的数据库技术
- 定义:传统的数据库以单一的数据源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作。
- 类型:
- (1)操作型处理。
指的是对联机数据库的日常操作,通常是对数据库中记录的查询和修改;
- (2)分析型处理。
用于管理人员的决策分析,经常要访问大量的历史数据。
- 弊端:传统数据库系统主要强调的是优化企业的日常事务处理工作,难以实现对数据分析处理要求,无法满足数据处理多样化的要求。
数据仓库
- 定义:数据仓库是一个面向主题、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
- 特点:数据仓库是对多个异构数据源(包括历史数据)的有效集成,集成后按主题重组,且存放在数据仓库中的数据一般不再修改。
- 根本任务:将信息加以整理归纳并重组,并及时地提供给相应的管理决策人员。
Web服务
- 定义:Web服务定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTP(S)协议传送XML表示及封装的内容。
- 典型技术:
- (1)用于传递信息的简单对象访问协议(SOAP);
- (2)用于描述服务的Web服务描述语言(WSDL);
- (3)用于Web服务注册的统一描述、发现与集成(UDDI);
- (4)用于数据交换的XML。
- 主要目标:跨平台的互操作性。
- 适用情况:跨越防火墙、应用程序集成、B2B集成、软件重用等。
- 不适用情况:单机应用程序、局域网上的同构应用程序等。
JavaEE架构
- JavaEE应用
- 将开发工作分成两类:业务逻辑开发和表示逻辑开发。
- JavaEE应用服务运行环境:
- (1)组件。组件是表示应用逻辑的代码;
- (2)容器。容器是组件的运行环境;
- (3)服务。服务是应用服务器提供的各种功能接口,可以同系统资源进行交互。
.NET架构
- 定义:.NET开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以用多种语言快速构建网络应用。
- 基础:通用语言运行环境
软件中间件
- 定义:中间件是位于硬件、操作系统等平台和应用之间的通用服务。
- 作用:解决异构问题
- (中间件服务)主要目的:实现应用与平台的无关性。
- 范围:
- 1、数据库访问中间件
作用:通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。
典型技术:Windows平台的ODBC和Java平台的JDBC
- 2、远程过程调用中间件(RPC)
定义:这是一种分布式应用程序的处理方法。
作用:一个应用程序可以使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。
- 3、面向消息中间件(MOM)
定义:利用高效可靠的消息传递机制进行平台无关的数据传递,并可基于数据通信进行分布系统的集成。
作用:通过提供消息传递和消息队列模型,可在分布环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。
- 4、分布式对象中间件
定义:是建立对象之间客户/服务器关系的中间件,结合了对象技术与分布式计算技术。
作用:该技术提供了一个通信框架,可以在异构分布计算环境中透明地传递对象请求。
- 5、事务中间件(TPM)
定义:提供支持大规模事务处理的可靠运行环境。
作用:TPM位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,以提高系统整体性能。
- (计算机网络)定义:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
OSI七层协议
- (异种计算机)定义:具有不同硬件体系结构或不同操作系统的计算机。
- 目的:为异种计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考。
- (从下而上)七层协议:
- (1)物理层
功能:该层的协议产生并检测电压以便发送和接收携带数据的信号。
协议:RS232、V.35、RJ-45、FDDI。
- (2)数据链路层
功能:控制网络层与物理层之间的通信。主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。
协议:IEEE802.3/.2、HDLC、PPP、ATM。
- (3)网络层
功能:主要功能是将网络地址(IP地址)翻译成对应的物理地址(网卡地址),并决定如何将数据从发送方路由到接收方。
协议:IP、ICMP、IGMP、IPX、ARP。
- (4)传输层
功能:主要负责确保数据可靠、顺序、无错地从A点传输到B点。
协议:TCP、UDP、SPX。
- (5)会话层
功能:负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能。
协议:RPC、SQL、NFS。
- (6)表示层
功能:如同应用程序和网络之间的翻译官,管理数据的解密加密、数据转换、格式化和文本压缩。
协议:JPEG、ASCII、GIF、DES、MPEG。
- (7)应用层
功能:负责对软件提供接口以使程序能使用网络服务,如事务处理程序、文件传送协议和网络管理等。
协议:HTTP、Telnet、FTP、SMTP、NFS。
网络协议和标准
- (局域网协议-IEEE 802规范)作用:
- (1)定义了网卡如何访问传输介质(如光缆、双绞线、无线等);
- (2)如何在传输介质上传输数据的方法;
- (3)定义了传输信息的网络设备之间连接建立、维护和拆除的途径。
- 使用该标准的产品:网卡、桥接器、路由器以及其他一些用来建立局域网络的组件。
- IEEE 802协议范围:包括IEEE 802.1-IEEE 802.11。
- (IEEE 802.3)内容:
- (1)IEEE802.3 标准以太网10Mb/s传输介质为细同轴电缆;
- (2)IEEE802.3u快速以太网100Mb/s双绞线;
- (3)IEEE 802.3z千兆以太网1000Mb/s光纤或双绞线。
- (广域网协议)内容:
- (1)PPP点对点协议;
- (2)ISDN综合业务数字网;
- (3)xDSL(DSL数字用户线路的统称:HDSL、SDSL、MVL、ADSL)DDN数字专线;
- (4)x.25;
- (5)FR帧中继;
- (6)ATM异步传输模式。
Internet
- 定义:Internet又称互联网、网间网,是一个不受政府管理和控制的、包括成千上万相互协作的组织和网络的集合体。
- 特点:
- (1)TCP/IP协议是Internet的核心;
- (2)Internet实现了与公用电话交换网的互连;
- (3)Internet是一个用户自己的网络;
- (4)由众多的计算机网络互联组成,是一个世界性的网络;
- (5)采用分组交换技术;
- (6)由众多的路由器连接而成;
- (7)是一个信息资源网。
- 如何解决庞大数量的终端之间的互联互通呢?
- (1)TCP/IP技术;
- (2)标识技术:
①主机IP地址;
②域名系统和统一资源定位器;
③用户E-mail地址。
网络分类
- (1)根据计算机网络覆盖的地理范围分类;
- (2)根据链路传输控制技术分类;
- (3)根据网络拓扑结构分类。
网络交换技术
- 定义:网络交换是指通过一定的设备,如交换机等,将不同的信号或者信号形式转换为对方可识别的信号类型从而达到通信目的的一种交换形式。
- 类型:
- (1)数据交换
①电路交换;
②分组交换(数据包交换);
③ATM交换;
④全光交换;
⑤标记交换。
- (2)线路交换
- (3)报文交换
- (4)分组交换
- 按交换层次的不同可分为:
- (1)物理层交换(如电话网);
- (2)链路层交换(二层交换、对MAC地址进行变更);
- (3)网络层交换(三层交换,对IP地址进行变更);
- (4)传输层交换(四层交换,对端口进行变更,比较少见);
- (5)应用层交换。
网络接入技术
- (1)光纤接入;
- (2)同轴接入;
- (3)铜线接入;
- (4)无线接入。
光网络技术
- (1)光传输技术;
- (2)光节点技术;
- (3)光接入技术。
无线网络技术
- 定义:无线网络是指以无线电波作为信息传输媒介。
- 类型1(按应用领域):
- (1)无线个域网(WPAN);
- (2)无线局域网(WLAN);
- (3)无线城域网(WMAN);
- (4)蜂房移动通信网(WWAN)。
- 类型2(按应用角度):
- (1)无线传感器网络;
- (2)无线Mesh网络;
- (3)无线穿戴网络;
- (4)无线体域网。
网络服务器
- 含义:网络服务器是指在网络环境下运行相关的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机。
网络存储技术
- 含义:网络存储技术室基于数据存储的一种通用网络术语。
- 类型:
- (1)直连式存储(DAS);
- (2)网络存储设备(NAS);
- (3)存储网络(SAN)。
机房
- 类型:
- (1)智能建筑弱电总控机房;
- (2)电信间、弱电间和竖井;
- (3)数据中心机房。
- 机房布线设计:
- (1)考虑机房环境的节能、环保、安全;
- (2)适应冷热通道布置设备;
- (3)列头柜的设置;
- (4)敞开布线与线缆防火;
- (5)长跳线段链路与性能测试;
- (6)网络构架与外部网络,多运营商之间的网络互通;
- (7)高端产品应用的特殊情况;
- (8)机房与布线系统接地。
网络设计
- (1)网络拓扑结构设计;
- (2)主干网络(核心层)设计;
- (3)汇聚层和接入层设计;
- (4)广域网连接与远程访问设计;
- (5)无线网络设计;
- (6)网络通信设备选型。
网络安全及防范技术
- 定义:网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
- 基本要素:
- (1)机密性;
- (2)完整性;
- (3)可用性;
- (4)可控性;
- (5)可审查性。
- 措施:制定安全策略、用户验证、加密、访问控制、审计和管理。
- 构成:
- (1)内部安全;
- (2)外部安全。主要指防范来自于互联网那个的外部网络攻击。
- (网络攻击)步骤:信息收集 - 试探寻找突破口 - 实施攻击 - 消除记录 - 保留访问权限
- (2001年1月1日发布的GB17895-1999《计算机信息系统安全保护等级划分准则》)信息系统安全5个等级:
- (1)自主保护级;
- (2)系统审计保护级;
- (3)安全标记保护级;
- (4)结构化保护级;
- (5)访问验证保护级。
- 主要产品:
- (1)防火墙
- (2)扫描器
- (3)防毒软件
- (4)安全审计系统
网络管理
- 定义:网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求。
- 措施:备份。
- 需要备份的数据:
- (1)工作文档类文件;
- (2)E-mail、QQ记录类文件;
- (3)设置类文件;
- (4)系统类文件;
- (5)数据库的备份;
- (6)重要光盘;
- (7)其他重要文件。
大数据
- 特点(4个“V”):
- (1)数据量大(Volume);
- (2)数据类型繁多(Variety);
- (3)处理速度快(Velocity);
- (4)价值密度低(Value)。
- 意义:大数据的意义不在于掌握这些庞大的数据信息,而在于对这些数据进行专业化处理,实现数据“增值”。
- 四个环节:
- (1)数据采集;
- (2)数据存储;
- (3)数据管理;
- (4)数据分析与挖掘。
云计算
- 定义:云计算是指基于互联网的超级计算模式,通过互联网来提供大型计算能力和动态易扩展的虚拟化资源。
- 特点:
- (1)超大规模;
- (2)虚拟化;
- (3)高可靠性;
- (4)通用性;
- (5)高可扩展性;
- (6)按需服务;
- (7)及其廉价;
- (8)潜在的危险性。
- 架构:
- (1)基础设施即服务(IaaS);
- (2)平台即服务(PaaS);
- (3)软件即服务(SaaS)。
- 关键技术:
- (1)网格计算;
- (2)虚拟化。
- 类型(按应用范围):
- (1)公有云
公有云通常指第三方提供商用户能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的。
- (2)私有云
私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。
- (3)混合云
混合云就是将公有、私有两种模式结合起来,根据需要提供统一服务的模式。
物联网
- 定义:指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物与物、人与物进行智能化连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种新兴网络。
- 架构:
- (1)感知层。负责信息采集和物物之间的信息传输。
关键技术:
①自动识别技术产品和传感器(条码、RFID、传感器等);
②无线传输技术(WLAN、Bluetooth、ZigBee、UWB);
③自组织组网技术;
④中间件技术。
- (2)网络层。利用无线和有线网络对采集的数据进行编码、认证和传输;
- (3)应用层。提供基于互联网的应用。
移动互联网
- 定义:移动互联网一般是指用户用手机等无线终端,通过3G(WCDMA、CDMA2000或者TD-SCDMA)或者WLAN等速率较高的移动网络接入互联网,可以在移动状态下(如地铁、公交)使用互联网的网络资源。
- 特点:
- (1)接入移动性;
- (2)时间碎片性;
- (3)生活相关性;
- (4)终端多样性。
- 关键技术:
- (1)SOA。SOA是一种粗粒度、松耦合服务架构。
- (2)Web2.0。Web2.0指的是一个利用Web的平台,由用户主导而生成的内容互联网产品模式。
- (3)HTML 5
- (4)Android。是一种基于Linux的自由及开放源码的操作系统,主要使用于移动设备,如智能手机和平板电脑。
- (5)iOS
- (6)Windows Phone(简称WP)
课后习题(含答案):