大家好,我是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、信息系统的生命周期参考第一章的笔记内容
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、软件复用:软件复用是指利用已有软件的各种有关知识构造新的软件 ,以缩减软件 开发和维护的费用。复用是提高软件生产力和质量的一种重要技术。软件复 用的主要思想是,将软件看成是由不同功能的〝组件” 所组成的有机体,每一个组件在设计编写时,可以被设计成完成同类工作的通用工具。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。
由于面向对象方法的主要概念及原则与软件复用的要求十分吻合 ,所以该方法特别有利于软件复用。
,