1、
这是一个比工业化更深刻、更广泛的社会变革,需要在产品或服务的生产过程中实现管理过程, 组织组织机构、生产技能和生产工具。
2、
它是社会的基本资源,就像材料和能源一样。
香农提出了信息的概念。
,美国科学家(Claude E. Shannon) 在深入研究通信理论的基础上,。人们对信息的研究迅速增加,形成了新的学科。与和又称现代科学的三论。
4.信息的基本概念:
。比特是信息量的单位(bit)。香农将热力学中的引入信息论。计算公式:
5、信息的特证:
1.客观性(信息分为主观性和客观性) 2.普遍性(普遍存在) 3.无限(事物产生的信息是无限的) 4.动态(信息随时间变化) 5.相对性(每个主体的认知可能不同) 6.依附性(信息不能完全脱离物质而独立存在) 7.变换(信息可以通过处理实现变换或转换) 8.传输(信息在时间上的传输是存储,在空间上的传输是转移或扩散) 9.层次(客观世界是分层的) 10.系统性(与现实世界相对应的信息系统) 11.转化(信息可以转化为物质或能量)
6.信息满足一定的质量属性,包括:
(1)精度:描述事物状态的精度。 (2)完整性:完整性信息应包括所有重要事实对事物状态的全面描述。 (3)可靠性: 信息的来源、的来源、采集方法和传输过程。 (4)及时性:指获取信息的时间与事件发生时间的间隔长度。 (5)经济性:指信患获取和传输的成本在可接受范围内。 (6)可验证:指信息的主要质量属性可以证实或伪造的程度。 (7)安全性:指信息在生命周期中可以被非授权访问的可能性。可能性越低,安全性越高。
7.信息功能:
1.为认识世界提供依据 2.为世界的转变提供指导 3.为有序建立提供保障 4.为资源开发提供条件 5.为知识生产提供材料
8.信息传输模型
。
信息传输模型图如下:
信源:产生信息的实体 信宿:信息的归宿或接收者 信道:传输信息的通道,如 TCP/IP 网络 编码器:在信息理论中,它通常是指所有改变信号的设备,实际上是终端的发送部分。 译码器:译码器是编码器的逆变器设备 噪声:噪声可以理解为干扰,干扰可以来自信息系统分层结构的任何一层。
编码器和译码器决定了信息系统的性能
一般情况下,信息系统的性能在于编码器和译码器,当信源和信宿给定,信道也选定后,。有效性是在系统中传输尽可能多的信息;可靠性要求信宿尽可能多地收到信息 一致,或失真尽可能小。
10.信息系统的基本规律
综上所述,信息系统的基本规律应包括信息测量、信源特性和信源编码、信道特性和信道编码、检测理论、估计理论和密码学。
11、系统特性
1.目的性(目标性决定了系统的功能) 2.完整性(系统是一个整体) 3.层次(系统由多个元素组成) 4.稳定性:系统内部结构和秩序应可预见,状态和进化路径有限,可预测,后果可预测。 5.突变性:突变性是指系统从一种状态进入另一种状态的剧烈变化过程,是系统质变的基本形式。 6、自组织性 7、相似性:系统具有两种结构和同态性质,体现在系统结构、存在模式和演化过程的共同性上。系统相似的根本原因在于世界的物质统一。 8.相关性:元素是可分和相互关联的, 组成系统的元素必须有明确的边界,可以与其他元素区分开来。 9.环境适应性:系统总是处于一定的环境中,与环境相互作用。一定的物质和能量交换总是发生在系统和环境之间。(开放性、脆弱性壮)
12.信息系统分类
从用途类型来看,信息系统一般包括电子商务系统 事务处理系统、管理信息系统 生产制造系统, 电子政务系统, 决策支持系统等。
13.信息系统集成概念
以现代管理理论为计划, 硬件、 软件、 数据库、 根据规划结构和秩序,网络等部件有机地集成到边界清晰的信息系统中,以实现既定系统的目标。这个过程被称为信息系统集成。
14.信息化的五个层次
:() 1、信息化 2、
15、我过信息系统“两网、 一站、 四库、 十二金 ”
二十多年来,我国陆续建成了以“
16、国家信息化体系
国家信息化体系包括
1、
2、信息网络。
3、
4、
5、信息化人才。
6、
17、信息系统的生命周期
可以简化为
1、系统规划阶段
系统规划阶段的任务是对组织的环境、目标及现行系统的状况进行初步调查,根据组织目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测。 同时考虑建设新系统所受的各种约束。
2、系统分析阶段
系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行
系统分析阶段又称为逻辑设计阶段。 这个阶段是整个系统建设的关键阶段, 也是信 息系统建设与一般工程项目的重要区别所在。 系统分析阶段的工作成果体现在系统说明 书中,
3、系统设计
4、系统实施
系统实施阶段是将设计的系统付诸实施的阶段。 这一阶段的任务包括计算机等设备的购置、 安装和调试、 程序的编写和调试、 人员培训、 数据文件转换、 系统调试与转换等。 这个阶段的特点是几个互相联系、 互相制约的任务同时展开罗 必须精心安排、 合理组织。系统实施是按实施计划分阶段完成的,每个阶段应写出实施进展报告。 系统测试之后写出系统测试分析报告。
5、运行维护
系统投入运行后, 需要经常进行维护和评价,记录系统运行的情况。根据一定的规则对系统进行必要的修改, 评价系统的工作质量和经济效益。
18、信息系统开发方法
常用的开发方法包括
1、结构化方法
结构化方法的主要特点: 1、
结构化方法是
(1)
(2)
(3)
2、面向对象方法
OMT、OOSE和Booch 已经统一为
OO方法使系统的描述及信息模型的表示与客观实体相对应,
一些大型信息系统的开发,通常是将结构化方法和OO方法结合起来,结构化方法和OO方法仍是两种在系统开发领域中相互依存的、不可替代的方法
3、原型化方法
原型化方法也称为快速原型法,或者简称为原型法。它是一种根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。
通常,原型是指模拟某种产品的原始模型。 在系统开发中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。如果在获得一组基本需求说明后,通过快速分析构造出一个小型的系统,满足用户的基本要求,使得用户可在试用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进。 随着不断试验、 纠错、 使用、 评价和修改,获得新的原型版本,如此周而复始,逐步减少分析和通信中的误解,弥补不足之处,进一步确定各种需求细节,适应需求的变更,从而提高了最终产品的质量。
分为
1、确定用户基本需求。 在需求分析师和用户的紧密配合下,快速确定系统的基本需求。 这些需求可能是不完全的、 粗略的,但却是最基本的、 易于描述和定义的。这个阶段一般不产生对外的正式文档,但对于大型系统而言,应该形成一个初步需求文档。
2、设计系统初始原型。 在快速分析的基础上, 根据基本需求, 尽快实现一个可运行的系统。 构造原型时要注意两个基本原则, 即集成原则(尽可能用现有系统和模型来构成, 这需要相应的原型工具) 和最小系统原则(耗资一般不超过总投资的10%)。
3、试用和评价原型。 用户在开发人员的协助下试用原型,根据实际运行情况,评价系统的优点和不足,指出存在的问题,进一步明确用户需求,提出修改意见。
4、修改和完善原型。 根据修改意见和新的需求进行修改。 如果用修改原型的过程代替快速分析, 就形成了原型开发的选代过程。 开发人员和用户在一次次的迭代过程中不断将原型完善,以接近系统的最终要求。
5、整理原型、 提供文档。 如果经过修改成改进的原型,得到参与者一致认可,则原型开发的迭代过程可以结束。
从原型法的开发过程可以看出, 原型法从原理到流程都是十分简单的, 并无任何高深的理论和技术, 所以得到了广泛应用。 原型法的特点主要体现在以下几个方面。
作为一种开发方法,原型法也不是万能的,它也有不足之处,主要体现在以下两个方面。
从直观上来看,原型法适用于那些需求不明确的系统开发。事实上,对于分析层面
从严格意义上来说,
4、面向服务的方法
将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented SO)的开发方法。使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性。目前,SO方法是一个较新的领域,许多研究和实践还有待进一步深入。
19、网络标准与网络协议
网络协议是为计算机网络中进行数据交换而建立的规则、 标准或约定的集合。 网络 协议由三个要素组成,分别是
19.1 OSI协议:
国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系 统互连参考模型(Open System Interconnect, OSI),七层: (1)
传输层协议,传输层主要有两个传输协议,分别是TCP和UDP(用户数据报协议), TCP是整个TCP/IP协议族中最重要的协议之一,为应用程序提供了一个可靠的、 面向连接的、 全双工的数据传输服务。TCP协议一般用于传输数据量比较少,且对可靠性要求高的场合。 UDP是一种不可靠的、无连接的协议。UDP协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
19.2 网络存储技术主要有三种
直接附加存储、网络附加存储、和存储区域网络。
直接附加存储:存储设备通过 SCSI 电缆直接连到服务器,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。
网络附加存储:NAS 存储设备类似于一个专用的文件服务器,它去掉了通用服务器的大多数计算功能,而仅仅提供文件系统功能, 从而降低了设备的成本 。它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高。(类似于我们的 FastDFS 文件服务器。)
存储区域网络:SAN 是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。SAN 是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统,其最大特点是将存储设备从传统的以太网中分离了出来,成为独立的存储区域网络 SAN 的系统结构。FC SAN 有两个较大的缺陷,分别是成本和复杂性
19.3 网络接入技术
接入Internet的主要方式可分两个大的类别,即
PSTN (Public Switching Telephone Network,
ISDN (Integrated Services Digital Network,
ADSL ( Asymmetrical Digital Subscriber Loop,非对称数字用户线路)的服务端设备和用户端设备之间通过普通的电话线连接,无需对入户线缆进行改造,就可以为现有的大量电话用户提供 ADSL 宽带接入。目前,比较成熟的ADSL标准主要有两种,分别是G.DMT和G.Lite。
同轴光纤技术(Hybrid Fiber-Coaxial, HFC)是将光缆敷设到小区,然后通过光 转换节点,利用有线电视(Comrnunity Antenna Television, CATV)的总线式同轴电缆连 接到用户,提供综合电信业务的技术。
无线网络是指以无线电波作为信息传输媒介 。目前最常用的无线网络接入技术主要有 WiFi 和移动互联接入(4G)。
19.4 网络规划与设计
网络工程的建设是一个极其复杂的系统工程, 是对计算机网络、 信息系统建设和项目管理等领域知识的综合利用的过程。
网络工程可分为
网络规划:
是网络建设过程中非常重要的环节,同时也是一个系统性的过程。 网络规 划应该以需求为基础,同时考虑技术和工程的可行性。 具体来说,网络规划包括网络需 求分析、 可行性分析和对现有网络的分析与描述。
(1)需求分析。 需求分析的基本任务是深入调查用户网络建设的背景、 必要性、 上 网的人数和信息量等, 然后进行纵向的、 更加深入细致的需求分析和调研,在确定地理 布局、 设备类型、 网络服务、 通信类型和通信量、 网络容量和性能, 以及网络现状等与 网络建设目标相关的几个主要方面情况的基础上形成分析报告,为网络设计提供依据。 需求分析通常采用自顶向下的结构化方法, 从功能需求、 通信需求、 性能需求、 可靠性 需求、 安全需求、 运行与维护需求和管理需求等方面着于,逐一深入, 在调研的基础上 进行充分的分解, 从而为网络设计提供基础。 (2)可行性分析。 通常从技术可行性、 经济可行性、 操作可行性等方面进行论证。 (3)对现有网络的分析与描述。 如果是在现有网络系统的基础上进行升级, 那么, 网络规划阶段的一一项重要工作就是对现有网络进行分析。 对现有网络系统进行调研, 要从服务器的数量和位置、 客户机的数量和位置、 同时访问的数量、 每天的用户数,每 次使用的时间、 每次数据传输的数据量、 网络拥塞的时间段、 采用的协议和通信模式等 方面进行。
完成网络规划之后,将进入网络系统的设计阶殷,这个阶段通常包括确定网络总体目标和设计原则,进行网络总体设计和拓扑结构设计, 确定网络选型和进行网络安全设计等方面的内容。
网络设计工作包括: (l)网络拓扑结构设。 确立网络的物理拓扑结构是整个网络方案规娟的基础,物理拓扑结构的选择往往和地理环境分布、 传输介质与距离、 网络传输可靠性等因素紧密相关。 (2)主干网络(核心层)设计。 主干网技术的选择,要根据以上需求分析中用户方网络规模大小、 网上传输信息的种类和用户方可投入的资金等因素来考虑 。 (3)汇聚层和接入层设计。 汇聚层的存在与否,取决于网络规模的大小。 (4)的广域网连接与远程访问设计。 根据网络规模的大小、 网络用户的数量,来选择对外连接通道的技术和带宽。 (5)无线网络设计 。无线网络的出现就是为了解决有线网络无法克服的困难。 (6)网络安全设计。 网络安全是指网络系统的硬件飞 软件及其系统中的数据受到保护。安全要素如下: @ 机密性:确保信息不暴露给未授权的实体或进程。 @ 完整性:只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。 @ 可用性:得到授权的实体在需要时可访问数据,即攻击者不能占用所有的资源而阻碍授权者的工作。 @ 可控性: 可以控制授权范围内的信息流向及行为方式。 @ 可审查性: 对出现的网络安全问题提供调查的依据和手段
(7)设备选型。网络通信设备选型包括核心交换机选型、汇聚层/接入层交换机选型、远程接入与访问设备选型;网络安全设备选型包括防火墙选型、 入侵检测设备选型、信息加密设备选型、身份认证设施选型等。
20、数据库系统
常见的数据库管理系统主要有:Oracle、MySQL、SQL Server、MongoDB等。前三者均为关系型数据库。MongoDB是非关系型数据库。 SQL Server 是微软公司的数据库产品。运行在基于 Windows 的服务器之上。 MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。 旨在为Web应用提供可扩展的高性能数据存储解决方案。最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言。
21、中间件技术
在一个分布式系统环境中处于操作系统和应用程序之间的软件。
中间件还可以细化为通信处理(消息)中间件、事务处理(交易)中间件、数据存储管理中间件、Web服务中间件、安全中间件、 跨平台和构架的中间件 、专用平台中间件、数据流中间件、 门户中间件、工作流中间件等。
22、高可用性和高可靠性的规划与设计
可用性(availability)是系统能够正常远行的时间比例。 可靠性(reliability)是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。 计算机系统的可用性定义为:MTTF / (MTTF + MTTR) * 100%,其中,MTTF 指平均无故障时间,MTTR 指平均维修时间。 常见的可用性战术如下: 错误检测: 用于错误检测的战术包括命令/响应、心跳和异常。 错误恢复: 用于错误恢复的战术包括表决、 主动冗余、 被动冗余。 错误预防: 用于错误预防的战术包括把可能出惜的组件从服务中删除、 引入进程监视器。
23、软件工程
定义是: 将系统的、 规范的、 可度量的工程化方法应用于软件开发、 运行和维护的全过程及上述方法的研究。
软件工程由
23.1 需求分析
软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
需求是多层次的,包括业务需求、用户需求和系统需求, 这三个不同层次从目标到具体,从整体到局部,从概念到细节。
1、需求的层次
(1)业务需求。 业务需求是指反映企业或客户对系统高层次的目标要求, 通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。
(2)用户需求。用户需求描述的是用户的具体目标,或用户要求系统必须能完成的任务。
(3)系统需求。 系统需求是从系统的角度来说明软件的需求,包括功能需求、 非功能需求和设计约束等。
2、质量功能部署
质量功能部署(Quality Function Deployment,QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。 为了达到这个目标,QFD 将软件需求分为三类,分别是
常规需求: 用户认为系统应该做到的功能或性能,实现越多用户会越满意。
期望需求: 用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。
意外需求:实现这些需求用户会更高兴,但不实现也不影响其购买的决策。意外需求是控制在开发人员手中的,开发人员可以选择实现更多的意外需求,以使得到高满意、高忠诚度的用户,也可以(出于成本或项目周期的考虑)选择不实现任何意外需求。
3、需求获取
需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是一件看上去很简单,做起来却很难的事情。需求获取是否科学、准备充分、对获取出来的结果影响很大,
常见的需求获取方法包括用户访谈、 问卷调查、 采样、情节串联板、 联合需求计划等。
4、需求分析
一个好的需求应该具有
现代软件工程方法所推荐的做法是对问题域胜行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。
使用
E-R图主要描述实体、属性,以及实体之间的关系;
DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能;
STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如处理数据等)。
5、软件需求规格说明书
SRS应该包括以下内容:
(1)范围。本部分包括SRS适用的系统和软件的完整标识, (若适用)包括标识号、标题、缩略词语、版本号和发行号:简述 SRS 适用的系统和软件的用途,描述系统和软件的一般特性;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、承建方和支持机构:标识当前和计划的运行现场;列出其他有关的文档;概述SRS的用途和内容,并描述与其使用有关的保密性和私密性的要求;说明编写SRS所依据的基线。 (2)引用文件。列出SRS中引用的所有文档的编号、标题、修订版本和日期,还应标识不能通过正常的供货渠道获得的所有文档的来源。 (3)需求。这一部分是SRS的主体部分,详细描述软件需求,可以分为以下项目:所需的状态和方式、需求概述、需求规格、软件配置项能力需求、软件配置项夕阳日接口需求、软件配置项内部接口需求、适应性需求、保密性和私密性需求、软件配置项环境需求、计算机资源需求(包括硬件需求、硬件资源利用需求、软件需求和通信需求)、软件质量因素、设计和实现约束、数据、操作、 故障处理、算法说明、有关人员需求、有关培训需求、有关后勤需求、包装需求和其他需求, 以及需求的优先次序和关键程度。 (4)合格性规定。 这一部分定义一组合格性的方法,对于第(3)部分中的每个需求,指定所使用的方法,以确保需求得到满足。合格性方法包括演示、测试、分析、 审查和特殊的合格性方法(例如,专用工具、技术、过程、设施和验收限制等)。 (5)需求可追踪性。这一部分包括从SRS中每个软件配置项的需求到其涉及的系统(或子系统)需求的双向可追踪性 。 (6)尚未解决的问题。如果有必要, 可以在这一部分说明软件需求中的尚未解决的留问题。 (7)注解。包含有助于理解SRS的一般信息,例如,背景信息 、词汇表、原理等 。 这一部分应包含为理解 SRS需要的术语和定义? 所有缩略语和它们在SRS中的含义的字母序列表 。 (8)附录 。提供那些为便于维护SRS而单独编排的信息(例如,图表、分类数据等)。 为便于处理,附录可以单独装订成册,按字母顺序编排。
6、需求验证
在实际工作中, 一般通过
其活动是为了确定以下几个方面的内容:
(1) SRS 正确地描述了预期的、 满足项目干系人需求的系统行为和特征。 (2) SRS中的软件需求是从系统需求 、 业务规格和其他来源中正确推导而来的。 (3)需求是完整的和高质量的。 (4)需求的表示在所有地方都是一致的。 (5)需求为继续进行 系统设计、 实现和测试提供了足够的基础。
7、UML
UML 是一种定义良好、 易于表达、 功能强大且普遍适用的建模语言。它融入了软 件工程领域的新思想、新方法和新技术,它的作用域不限于支持OOA和OOD, 还支持 从需求分析开始的软件开发的全过程。 从总体上来看, UML的结构包括
事物:UML 中的事物也称为建模元素,包括
(1)结构事物:结构事物在模型中属于最静态的部分,代表概念上或物理上的元素。 UML有七种结构事物,分别是类、 接口、 协作 、 用例、 活动类、 构件和节点。
(2)行为事物:行为事物是UML 模型中的动态部分,代表时间和空间上的动作。
(3)分组事物 :分组事物是UML 模型中组织的部分,可以把它们看成是个盒子,模型可以在其中进行分解。UML只有一种分组事物,称为
(4)注释事物: 注释事物是UML模型的解释部分。
UML中的关系
1、依赖(dependency) 2、关联(association) 3、泛化(generalization) 4、实现(realization)
UML中的图 类图(class diagram) 对象图(object diagram) 构件图(component diagram) 组合结构图(composite structure diagram) 用例图(use case diagram) 顺序图(sequence diagram, 也称序列图) 通信图(communication diagram)
此外还有,定时图、状态图、活动图、部署图、制品图、包图、交互概览图。
UML 视图
(1)逻辑视图 (2)进程视图 (3)实现视图 (4)部署视图 (5)用例视图
8、面向对象分析
面向对象分析阶段的核心工作是建立系统的
用例模型:SA (结构化分析)方法采用功能分解的方式来描述系统功能,在这种表达方式中,系统功能被分解到各个功能模块中, 通过描述细分的系统模块的功能来达到描述整个系统功能的目的。
在 OOA方法中,构建用例模型一般需要经历四个阶段,分别是
(l)识别参与者:参与者是与系统交互的所有事物,该角色不仅可以由人承担,还可以是其他系统和硬件设备,甚至是系统时钟。
(2)合并需求获得用例: 将参与者都找到之后,接下来就是仔细地检查参与者,为每一个参与者确定用例。
(3)细化用例描述: 用例建模的主要工作是书写用例规约(use case specification),
(4) 调整用例模型:在建立了初步的用例模型后,还可以利用用例之间的关系来调整用例模型。
为了使模型独立于具体的开发语言,系统分析师需要把注意力集中在概念性问题上而不是软件技术问题上,这些技术的起点就是领域模型。
关联关系:一根直线。关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。
依赖关系:一根波浪线加黑色箭头。两个类A和B, 如果B 的变化可能会引起A的变化, 则称类A依赖于类B。
泛化关系:一根带箭头实线。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,继承关系是泛化关系的反关系,也就是说,子类继承了父类,而父类则是子类的泛化。
聚合关系:一根带白色菱形箭头实线。它表示类之间的整体与部分的关系。
组合关系:一根带黑色菱形箭头实线。组合聚集关系通常简称为组合关系,它也是表示类之间的整体与部分的关系。
实现关系:一根带白色箭头虚线。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。
24、软件架构设计
软件架构设计的一个核心问题是能否达到架构级的
软件架构评估:
敏感点是一个或多个构件(和/或构件之间的关系) 的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。 例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间, 影响系统性能。 如果某个机密消息的处理有严格的时间延迟要求, 则加密级别可能就会成为一个权衡点。
评估方式主要有3类:基于
从方法上来说,软件设计分为
1、结构化设计
SD是一种面向数据流的方法,它以SRS和SA阶段所产生的 DFD和数据字典等文档为基础,是一个自顶向下、 逐步求精和模块化的过程。
在SD中,需要遵循一个基本的原则: 高内聚,低搞合。
2、面向对象设计
OOD是OOA方法的延续,其基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。 由于现实世界中的事物都可以抽象出对象的集合,
常用的OOD原则如下:
(1)单一职责原则: 设计功能单一的类。 本原则与结构化方法的高内聚原则是一致的。 (2)开放封闭原则: 对扩展开放,对修改封闭。 (3)李氏(Liskov)替换原则: 子类可以替换父类。 (4)依赖倒置原则: 要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。 (5)接口隔离原则: 使用多个专门的接口比使用单一的总接口要好。 (6)组合重用原则: 要思量使用组合,而不是继承关系达到重用目的。 (7)迪米特(Demeter)原则(最少知识沽则): 一个对象应当对其他对象有尽可能少的了解。 本原则与结构化方法的低耦合原则是一致的。
3、设计模式
设计模式是
根据
创建型模式主要用于创建对象,包括工厂方法模式、抽象工厂模式、原型模式、单例模式和建造者模式等;
结构型模式主要用于处理类或对象的组合,包括适配器模式、桥接模式、组合模式飞 装饰模式、外观模式、享元模式和代理模式等;
行为型模式主要用于描述类或对象的交互以及职责的分配,包括职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、 观察者模式、状态模式、策略模式、模板方法模式、访问者模式等。
4、软件工程的过程管理
软件过程是软件生命周期中的一系列相关活动,软件产品的质量取决于软件过程。在软件过程管理方面,最著名的是能力成熟度模型集成(Capability Maturity Model Integration,
5、软件测试管理
测试用例设计的原则有基于测试需求的原则、基于测试方法的原则、兼顾则试充分性和效率的原则,测试执行的可再现性原则;每个测试用例应包括名称和标识、 测试追踪、 用例说明、 测试的初始化要求、 测试的输入、 期望的测试结果、 评价测试结果的准则、 操作过程、 前提和约束、 试终止条件。
软件测试方法可分为
静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。
动态测试是指在计算机上实际运行程序进行软件测试, 一般采用
白盒测试也称为结构测试,主要用于软件单元测试中。 它的主要思想是, 将程序看作是一个透明的白盒, 测试人员完全清楚程序的结构和处理算法, 按照程序内部逻辑结掏设计测试用例, 检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试方法主要有控制流测试、 数据流测试程序变异测试等。静态测试的方法也可以实现白盒测试。
黑盒测试也称为功能测试, 主要用于集成测试、 确认测试和系统测试中。 黑盒测试将程序看作是一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,而只检查程序功能是否能按照 SRS 的要求正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如, 文件和数据库等) 的完整性等。黑盒测试根据SRS所规定的功能来设计测试用例, 一般包括等价类划分、 边界值分析、 判定表、 因果图、 状态图、 随机测试、 猜错法和正交试验法等。
根据国家标准 GB/T15532 2008,软件测试可分为
(1)
(2)
(3)
①内部确认测试
②Alpha 测试和 Beta 测试。 Alpha测试是指由用户在开发环境下进行测试。 Beta 测试是指由用户在实际使用环境下进行测试
③验收测试 验收测试的目的是,在真实的用户工作环境下,检验软件系统是否满足开发技术合同或SRS。
( 4)
(5)
(6)
回归测试的对象主要包括以下四个方面:
①未通过软件
②未通过自己置项测试的软件,在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的集成测试和配置项测试。 ③未通过系统测试的软件,在变更之后,首先应对变更的软件单元进行测成,然后再进行相关的集成测试、配置项测试和系统则试。 ④因其他原因进行变更之后的软件单元,也首先应对变更的软件单元进行测试,后再进行相关的软件测试。
5.1 面向对象测试
与传统的结构化系统相比,OO系统具有三个明显特征, 即封装性、继承性与多态性
封装性决定了 OO 系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列; 继承性决定了 OO 系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的 错误; 多态性决定了 OO 系统的测试必须考虑到动态绑定对测试充分性的影响、抽象 类的测试,以及误用对测试的影响。
5.2 软件测试管理
软件测试的管理包括
(1)过程管理。过程管理包括测试活动管理和测试资源管理。
(2)配置管理。应按照软件配置管理的要求,将测试过程中产生的各种工作产品纳入配置管理。
(3)评审。测试过程中的评审包括测试就绪评审和测试评审。
测试就绪评审是指在测试执行前对测试计划和测试说明等进行评审。 测试评审是指在测试完成后,评审测试过程和测试结果的有效性,确定是否达到测试目的,主要对测试记录和测试报告进行评审。
6、软件集成技术
在企业信息化建设的过程中,由于缺乏统一规划和总体布局,往往形成多个
软件集成技术:企业应用集成(Enterprise Application Integration,EAI)
EAI 所连接的应用包括各种电子商务系统、ERP、CRM、SCM(供应链管理 Supply chain management,SCM)、OA、 数据库系和数据仓库等。
EAI 可以包括
①表示集成也称为
②为了完成控制集成和业务流程集成, 必须首先解决数据和数据库的集成问题,
通常在以下情况下,将会使用数据集成:
(1)需要对多种信息源产生的数据进行