大家好,我是Frank,一个爱学习,爱折腾,什么都懂点的万能PM。

今天开始学习第三章的知识内容:信息系统集成专业技术知识。根据网上公开的各种资料和历年考试情况来看,第3章知识涉及的面非常的广,对咱们学习来说还是有一定的难度的。好在知识面广而不深,我们可以通过备考学习,掌握一些基础的IT知识,能拿10分就很不错了。这一章的内容特别多,我计划把笔记拆分成三篇,分为上,中,下。大家有需要的可以顺序看。

本章的主要考点罗列如下 :

(1)信息系统的生命周期

(2)信息系统开发方法

(3)信息系统设计,设备、DBMS及技术选型

(4)软件需求

(5)软件设计

(6) 软件测试

(7)软件维护

(8)软件复用

(9)软件质量保证及质量评价

(10)软件配置管理

(11)面向对象

(12)软件架构

(13)中间件

(14) 数 据 仓 库

(15)网 络协 议

(16)网 络 存 储

(17)网 络 安 全

(18)网 络 交换 技术

(19)大数据

(20)云计算

(21 )互联网

(22)物联网

(23)智慧城市

(24)移动互联

下面分别展开每个知识点大类的内容。

1、信息系统的生命周期

参考第一章的笔记内容

浅谈信息系统集成的方法与技术(信息系统集成专业技术知识学习笔记)(1)

浅谈信息系统集成的方法与技术(信息系统集成专业技术知识学习笔记)(2)

2、信息系统开发方法

见书中3.1.2节。提到的常用开发方法包括:结构化方法、原型法、面向对象方法等。

2.1 结构化方法:

是应用最为广泛的一种开发方法。应用结构化系统开发方法,把整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据, 按顺序完成。每个阶段和主要步骤都有明确详尽的文档编制要求,并对其进行有效控制。

备注:结构化方法,和预测式生命周期(瀑布)比较像,按照阶段划分,每个阶段要做的事项完成,符合标准之后,才能进入下一个阶段,同时需要输出对应的文档和控制需求变更。

结构化方法的特点是:注重开发过程的整体性和全局性

但其缺点是开发周期长;文档、设计说明繁琐,工作效率低;要求在开发之初全面认识系统的需求,充分预料各种可能发生的变化,但这并不十分现实。

2.2 原型法:

在无法全面准确地提出用户需求的情况下,并不要求对系统做全面、详细的分析,而是基于对用户需求的初步理解,先快速开发一个原型系统,然后 通过反复修改来实现用户的最终系统需求。

原型法的特点在于其对用户的需求是动态响应、逐步纳入的;系统分析、设计与实现都是随着对原型的不断修改而同时完成的 ,相互之间并无明显界限,也没有明确分工。原型又可以分为抛弃型原型(Throw-It-Away Prototype)和进化型原型(Evolutionary Prototype)两种。

备注:抛弃式原型主要用在解決需求不确定性、不完整性、含糊性。此类原型在系统真正实现后就放弃不用了。

进化型原型,从目标系统的一个或几个基本核心需求出发,通过不断修改和追加功能的过程,逐渐丰富,并演化成最终系统。

2.3 面向对象方法(Object Oriented):

用对象表示客观事物,对象是一个严格 模块化的实体,在系统开发中可被共享和重复引用,以达到复用的目的。其关键是能否 建立一个全面、合理、统一的模型,既能反映需求对应的问题域,也能被计算机系统对 应的求解域所接受。

面向对象方法主要涉及分析、设计和实现三个阶段。其特点是在整个开发过程中使用的是同一套工具。整个开发过程实际上都是对面向对象三种模型的建立、补充和验证。因此,其分析、设计和实现三个阶段的界限并非十分明确。

备注:

实际在系统开发的过程中,往往会根据需要,将多种开发方法进行组合应用,最终完成系统开发的全部任务。

3、信息系统设计:

见书中3.2节。系统方案设计包括总体设计和各部分的详细设计(物理设计)两个方面。

( 1)系统总体设计:包括系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。

(2 )系统洋细设计:包括代码设计、数据库设计、人机界面设计、处理过程设计等。

3.2 系统架构:

系统架构是将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。然后,进一步确定各层的接口,层与层相互之间的关系。对整个系统的分解 ,既需要进行"纵向"分解,也需要对同一逻辑层分块,进行"横向" 分解 ; 系统的选型主要取决于系统架构。

3.3 设备、DBMS及技术选型

在系统设计中进行设备、DBMS (数据库管理系统)及技术选型时,不只要考虑系统的功能要求,还要考虑到系统实现的内外环境和主客观条件。

在选型时,需要权衡各种可供选用的计算机硬件技术,软件技术,数据管理技术,数据通信技术和计算机网络技术及相关产品。同时,必须考虑用户的使用要求、系统运行环境、现行的信息管理和信息技术的标准、规范及有关法律制度等。

4、软件需求:

软件需求是针对待解决问题的特性的描述,所定义的需求必须可以被验证,。

通过需求分析可以检测和解決需求之间的冲突,发现系统的边界,并详细描述出系统需求。

软件需求的三个层次为:

业务需求:表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买 产 品 的 客 户 、实 际 用 户 的 管 理 者 、 市 场 营 销 部 门或 产 品 策 划 部 门 。业 务 需 求 描 述

了组织为什么要开发一个系统 ,即组织希望达到的目标。使用前景和范围文档来 记录业务需求,这份文档有时也被称作项目轮廓图或市场需求文档。

用户需求:描述的是用户的目标,或用户要求系统必须能完成的任务。

功能需求:规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完 成任务,满足业务需求

5、软件测试:

软件测试的分类一般有如下几种:

5.1 从软件开发的过程按阶段划分有单元测试、集成测试、确认测试、验收测试。

(1)单元测试。即针对某一个功能模块,进行功能、性能、接口和其他设计约束等需求进行测试。

(2)集成测试。集成测试的目的是检查模块之间 ,以及模块和已集成的软件 之间的接口关系,并验证己集成的软件是否符合设计要求。集成测试的技术依据是软件概要设计文档。除应满足一般的测试准入条件外,在进行集成测试前还应确认待测试的模块均已通过单元测试。

(3)确认测试。确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致 。根 据 用 户 的 参 与 程 度 ,通 常 包 括 以 下类 型 。

•内部确认测试。内部确认测试主要由软件开发组织内部按照SRS进行测试。

• Alpha 测试和Beta测试 。对 于 通 用 产 品 型 的 软 件 开 发 而 言 ,Alpha测试是指由用户在开发环境 下进行测试 ,通过Alpha测试以后的产品通常称为Alpha版; Beta 测试是指由用户在实际使用环境下进行测试,通过Beta 测试的产品,通常称为Beta 版,一般在通过Beta测试后,才能把产品发布或交付给用户。

(4)验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试,集成测试,验收测试之后,产品发布之前所进行的软件测试活动。

5.2 从是否关心软件内部结构和具体实现的角度划分为,白盒测试、黑盒测试、灰盒测试。

(1) 白盒测试:

白 盒 测 试 是 把 程 序 看 成 装 在一 只 透 明 的 盒 子 里 , 测 试 者 完 全 了 解 程 序 的 结 构 和 处 理 过 程 。它根 据 程 序 的 内 部 逻 辑 来 设 计 测 试 用 例 ,检 查

程序中的逻辑是否都按预定的要求正确地工作。

(2)黑盒测试:

黑盒测试也称功能测试,它是通过测试来检测每个功能是否 都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考

虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序

功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入 数 据 而 产 生 正确 的输 出 信 息

(3)灰盒测试:

是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用 于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑 ,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

5.3 从是否执行程序的角度划分:分为静态测试和动态测试

(1)静态测试:是指不运行被测程序本身,仅通过分析或检查源程序的语法、 结构、过程、接又等来检查程序的正确性。

(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。

6、软件维护 :

将软件维护定义为需要提供软件支持的全部活动 。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前要完成的活动包括交 付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资 料等。

软件维护有如下类型 :

更正性维护:更正交付后发现的错误 ;

适应性维护:使软件产品能够在变化后或变化中的环境中继续使用 ;

完善性维护:改进交付后产品的性能和可维护性;

预防性维护:在软件产品中的潜在错误成为实际错误前,检测并更正它们。

7、软件质量保证及质量评价

软件质量指的是软件特性的总和,是软件满足用户需求的能力,即遵从 用户需求,,达到用户满意。软件质量包括“内部质量〞 “外部质量〞和" 使用质量〞三部分

软件需求定义了软件质量特性 ,及确认这些特性的方法和原则。

软件质量管理过程由许多活动组成 ,一些活动可以直接发现缺陷 ,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、 评审过程、审计过程等。

(1)软件质量保证:通过制订计划、实施和完成等活动保证项目生命周期中 的软件产品和过程符合其规定的要求。

(2)验证与确认 :确定某一活动的产品是否符合活动的需求,最终的软件产 品是否达到其意图并满足用户需求。

验证过程试图确保活动的输出产品已经被正确构造,即活动的输出产品 满足活动的规范说明 ;

确认过程则试图确保构造了正确的产品,即产品满足其特定的目的

(3)评申与审计:

包括管理评审、技术评审、检查、走查、审计等。管理评审的目的是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。技术评申的目的是评价软件产品,以确定其对使用意图的适合性。

软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、 计划和流程的遵从性的独立评价。审计是正式组织的活动 ,识别违例情况 ,并要生成审计报告,采取更正性行动。

8、软件配置管理

软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、 软件配置状态记录、软件配置审计、软件发布管理与交付等活动。软件配置管理计划的制定,需要了解组织结物环境和组织单元之间的联系, 明确软件配置控制任务。软件配置标识活动识别要控制的配置项,并为这些配置项及其版本建立基线。软件配置控制关注的是管理软件生命周期中的变更 。软件配置状态记录标识、收维护并报告配置管理的配置状态信息。软件 配置审计是独立评价软件产品和过程是否遵从己有的规则、标准、指南、计划和流程而进行的活动。软件发布管理和交付,通常需要创建特定的交付版本, 完成此任务的关键是软件库。

9、软件过程管理

1、项目启动与范围定义

2、项目规划

3、项目实施

4、项目监控与评审

5、项目收尾与关闭

10、软件开发工具

软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。通常可以设计并实现工具来支持特定的软件工程方法,减少手工方式管理的负担。与软件工程方法一样 , 它们试图让软件工程更加系统化 , 工具的种 类包括支持单个任务的工具及囊括整个生命周期的工具。

1软件需求工具包括需求建模 工具和需求追踪工具。

2. 软件设计工具用于创建和检查软件设计,因为软件设计方法的多样性,这类工具的种类很多。

3 软件构造工具包括程序编辑器、编译器和代码生成器、解释器、调试器等.

4. 软件测试工具包括测试生成器、性能分析工具。测试执行框架、测试评价工具、 测试管理 工具

5. 软件维护工具包括理解工具 (如可视化工具 )和再造工具 (如重构工具 )。

6 软件配置管理工县包括追际工县,版本管理工县和发布工县。7软件工程管理工具包括项且计划与追踪工具、风险管理工具和度量工具。

8. 软件工程过程工具包括建模工具、管理工具、软件开发环境。

9. 软件质量 工具包括检查 工具和分析工具。

11、软件复用:

软件复用是指利用已有软件的各种有关知识构造新的软件 ,以缩减软件 开发和维护的费用。复用是提高软件生产力和质量的一种重要技术。软件复 用的主要思想是,将软件看成是由不同功能的〝组件” 所组成的有机体,每一个组件在设计编写时,可以被设计成完成同类工作的通用工具。

早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。

由于面向对象方法的主要概念及原则与软件复用的要求十分吻合 ,所以该方法特别有利于软件复用。

,