信息系统集成专业技术.ppt
《信息系统集成专业技术.ppt》由会员分享,可在线阅读,更多相关《信息系统集成专业技术.ppt(356页珍藏版)》请在三一办公上搜索。
1、第二十三讲、信息系统集成 专业技术知识,主要内容,第一节 信息系统建设第二节 软件工程第三节 面向对象系统分析与设计第四节 软件体系结构第五节 典型应用集成技术第六节 计算机网络知识,信息系统开发流程,第一节 信息系统建设,信息系统开发生命周期,总体规划内容信息系统开发范围、目标约束条件系统结构建设计划,总体规划阶段,系统分析阶段的目标为系统设计阶段提供系统逻辑模型系统分析阶段的内容组织结构和功能分析业务流程分析数据及数据流程分析用户需求分析系统新方案,系统分析阶段,系统设计阶段的目标为系统设施阶段的编程、测试提供依据系统设计阶段的内容新系统总体结构设计代码设计数据库设计输入/输出设计处理流程
2、及模块功能设计安全控制点设计,系统设计阶段,系统实施阶段的目标将设计方案转换为可执行系统,系统运行和评价阶段维护类型:纠错性维护诊断、修正原先遗留错误适应性维护使系统适应环境变化完善性维护扩充、提升系统性能预防性维护,系统评价类型性能指标技术指标,系统实施阶段,信息系统建设的原则,1高层管理人员介入原则2.用户参与开发原则3.自上而下的规划原则4工程化原则,第二节 软件工程,2.1 软件生存周期(1)计划制定阶段(2)软件需求分析阶段(3)软件设计阶段(4)编码阶段(5)测试阶段(6)软件运维,(1)计划制定阶段,软件项目计划内容确定系统总目标项目可行性分析资源分配进度计划参加人员用户、项目经
3、理、系统分析师计划制定阶段成果可行性研究报告项目计划书,软件需求分析内容系统功能性能数据界面要求系统逻辑模型参加人员用户、项目经理、系统分析师需求分析阶段成果需求规格说明书,(2)软件需求分析阶段,需求分析步骤,准确地定义未来系统的目标,确定为了满足用户的需求,系统必须做什么,用需求规格说明书(Software Requirement Specification SRS)表达用户需求。,需求分析阶段要完成的文档。SRS的作用:开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础测试验收目标系统的依据,软件需求分析常用方法,面向数据流的结构化分析方法(SA)面向数据结构的Jackson方
4、法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法(OOA)等,结构化分析方法,面向数据流进行需求分析的方法结构化分析方法适合于数据处理类型软件的需求分析具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止,结构化分析方法使用工具:数据流图 数据词典 结构化英语 判定表与判定树,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,分层的数据流图,在多
5、层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,数据词典,数据词典与数据流图配合,能清楚地表达数据处理的要求词条描述 对于在数据流图中每一个被命名的图形元素,均加以定义,其内容有:名字,别名或编号,分类,描述,定义,位置,其它等,对数据流图的每一个基本加工,必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则加工逻辑说明必须描述实现加工的策略而不是实现加工的细节
6、加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的,基本加工逻辑说明,用于写加工逻辑说明的工具,结构化英语 判定表 判定树,系统动态分析,系统的需求规格说明通常是用自然语言来叙述的,但是用自然语言描述往往会出现歧义性。为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。,最常用的动态分析方法,状态迁移图状态迁移图是描述系统的状态如何相应外部的信号进行推移的一种图形表示。时序图在系统分析中,用时序图于对比在系统中处理事件的时序和相应的处理时间。Petri网Petri网已广泛地应用于硬件与软件系统的开发中,它适用于描述与分析相互独立、协同操作的处理系统,也就
7、是并发执行的处理系统。,E-R方法(Entity-Relationship Approach)和实体模型,在需求分析阶段进行数据库逻辑设计过程中,使用E-R图,可定义一 个实体模型。实体模型是现实世界的纯表示,它不涉及数据世界的数据结构、存取路径、存取效率等问题。因此,它可以转换成数据库中的数据模型。,设计阶段内容:概要设计任务 模块分解、确定软件结构、模块的功能,模块之间的接口、全局数据结构详细设计的任务 模块的实现,模块局部数据结构参加人员:分析师、程序员设计阶段成果:设计规格说明书(概要设计说明书,详细设计说明书数据说明书,模块开发卷宗,(3)设计阶段(概要设计、详细设计),软件设计分为
8、两个阶段:(1)概要设计(总体设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系(2)详细设计 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。,模块的独立性,模块独立性指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。模块独立的含义:模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小,模块设计目标:强内聚、弱耦合,模块独立性的度量,SD方法提出的定性的度量标准:模块之间的耦合性 耦合性用来度量程序之间联系的次数和强度模块自身的内聚性 内聚是指度量一个给定的程序内的多行代码的单一功能性,以确定是否达到该
9、程序所要实现的目的。,内聚与耦合密切相关,同其它模块强耦合的模块意味者弱内聚,强内聚模块意味着与其它模块间松散耦合。,模块间耦合,(1)非直接耦合 两个模块没有直接关系(模块1和模块2),模块独立性最强。(2)数据耦合 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(若干参数)。属松散耦合。(3)标记耦合(特征耦合)如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系,则称这两个模块间存在标记偶合。(4)控制耦合 一模块向下属模块传递的信息(开关量、标志等控制被调用模块决策的变量)控制了被调用模块的内部逻辑,(5)外部耦合 一组模块均与同一
10、外部环境关联,它们之间便存在外部耦合。(6)公共耦合(公共数据区耦合)一组模块引用同一个公用数据区(也称全局数据区、公共数据环境)。公共数据区指:全局数据结构 共享通讯区 内存公共覆盖区等(7)内容耦合一模块直接访问另一模块的内部信息(程序代码或数据)模块代码重叠多入口模块,模块内聚性,一个模块内部元素在功能上相互关联的强度,模块内聚,(1)偶然内聚(巧合内聚)模块内各部分间无联系(2)逻辑内聚 把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。(3)时间内聚(经典内聚)模块完成的功能必须在同一时间内执行,这些功能只因时间因素关联在一起。例如:初始化系
11、统模块、系统结束模块、紧急故障处理模块等均是时间性聚合模块.(4)过程内聚(顺序性组合)模块内各处理成分相关,且必须以特定次序执行,(5)通信内聚 模块内各部分使用相同的输入数据,或产生相同的输出结果(6)信息内聚 模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口。(7)功能内聚模块仅包括为完成某个功能所必须的所有成分。(模块所有成分共同完成一个功能,缺一不可)内聚性最强,软件模块结构的改进,模块功能的完善化消除重复功能,改善软件结构模块的作用范围应在控制范围之内尽可能减少高扇出结构,随着深度增大扇入避免或减少使用病态联接模块的大小要适中设计功能可预测的模块,但要避免过分受限
12、制的模块软件包应满足设计约束和可移植性,概要设计(总体设计),概要设计确定:软件系统的结构各模块功能及模块间联系(接口)表示软件结构的图形工具结构图层次图HIPO图,1.面向数据流设计方法的基本概念 SD以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法,系统结构特征可归纳为两种典型形式:,变换型结构事务型结构数据流图可分为两种类型:变换型数据流事务型数据流,层次图(H图),HIPO图,H图中每一方框(模块)均有一张IPO图对应,HIPO图:层次图+输入/处理/输出图(H图)(IPO图)(Hierachy Input Process Output),命令监控器(1.0)的IPO图,
13、航线调度系统HIPO图举例,详细设计(过程设计、模块设计),主要任务:编写详细设计说明书为此,设计人员应:(1)确定每个模块的算法,用工具表达算法的过程,写出模块的详细过程性描述。(2)确定每一模块的数据结构。(3)确定模块接口细节。详细设计是编码的先导。,1.程序流程图2.盒图(N-S图)用方框图代替传统的流程图3.问题分析图(PAD)4.决策树 5.判定表,详细设计工具,N-S图,N-S图也叫做盒图。五种基本控制结构由五种图形构件表示。,PAD也设置了五种基本控制结构的图式,并允许递归使用。,问题分析图(PAD),判定表,判定表用于表示程序的静态逻辑在判定表中的条件部分给出所有的两分支判断
14、的列表,动作部分给出相应的处理要求将程序流程图中的多分支判断都改成两分支判断,内容 模块程序编写人员:程序员阶段成果:程序清单,(4)编码阶段,设计测试用例测试软件人员 另一部门的分析员或程序员阶段成果 软件测试计划 软件测试报告,(5)测试阶段,测试是为了寻找错误而运行程序的过程 软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中,测试工作量一般占30%40%,甚至50%。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.程序测试能证明错误的存在,但不能证明错误不存在”一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。,软件测试的认识,软件测
15、试是有风险的行为,软件,软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,测试原则(1)所有的测试都应追溯到用户需求(2)概要设计时应完成测试计划,详细的测试用例定义可在设计模型确定后开始,所有测试可在任何代码被产生之前进行计划和设计。(3)pareto原则:测试发现的错误中80%很可能起源于20%的模块中。应孤立这些疑点模块重点测试。(4)穷举测试是不可能的。(5)应由独立的第三方来构造测试。(6)测试用例应由输入数据和预期的输出结果两部分组成.(7)兼顾合理的输入和不合理的输入数据(8)程序修改后要回归测试(9)应长期保留测试用例,直至系统废弃。,测试与开发前期工作的关系,软
16、件测试方法与技术,静态测试:对软件进行分析、检查和审阅,不实际运行被测试的软件。静态测试约可找出3070%的逻辑设计错误.对需求规格说明书、软件设计说明书、源程序做检查和审阅,包括:是否符合标准和规范;通过结构分析、流图分析、符号执行指出软件缺陷,动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性动态测试的两个基本要素:被测试程序 测试数据(测试用例),测试(test)调试(debug),以已知条件开始,使用预先定义的程序,有预知的结果,以不可知内部条件开始,结果一般不可预见,有计划,被动的,由独立的测试组,在不了解软件设计的条件下完成,由程序作者进行,发现错误,找出错误位置,排除,
17、测试与调试(排错),逻辑覆盖法(1)语句覆盖使程序中每个语句至少执行一次(2)判定覆盖使每个判定的真假分支都至少执行一次(3)条件覆盖使每个判定的每个条件的可能取值至少执行一次(4)判定/条件覆盖使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次(5)条件组合覆盖所有可能的条件取值组合至少执行一次(6)路径覆盖覆盖每一个可能的路径,测试用例设计,1、黑盒测试2、白盒测试3、单元测试4、累计综合测试5、集成测试6、功能测试7、系统测试8、端到端测试9、健全测试10、衰竭测试11、接受测试,12、负载测试13、强迫测试14、性能测试15、可用性测试16、安
18、装/卸载测试17、恢复测试18、兼容测试19、安全测试20、比较测试21、Alpha测试22、Beta测试,测试类型,黑盒测试 又称:功能测试 数据驱动测试 基于规格说明书的测试,白盒测试 又称:开盒测试 结构测试 玻璃盒测试 基于覆盖的测试,黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。白盒测试是根据程序内部逻辑结构进行测试。,黑盒测试与白盒测试优缺点比较,功能测试功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。,可靠性测试 平均失效间隔时间 MTBF(Mean Time Between Fa
19、ilures)是否超过规定时限?因故障而停机的时间 MTTR(Mean Time To Repairs)在一年中应不超过多少时间。,强度测试强度测试是要检查在系统运行环境不正常乃至发生故障的情况下,系统可以运行到何种程度的测试。例如:把输入数据速率提高一个数量级,确定输入功能将如何响应。设计需要占用最大存储量或其它资源的测试用例进行测试。设计出在虚拟存储管理机制中引起“颠簸”的测试用例进行测试。设计出会对磁盘常驻内存的数据过度访问的测试用例进行测试。,强度测试的一个变种就是敏感性测试。在程序有效数据界限内一个小范围内的一组数据可能引起极端的或不平稳的错误处理出现,或者导致极度的性能下降的情况发
20、生。,性能测试性能测试是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统。性能测试常常需要与强度测试结合起来进行,并常常要求同时进行硬件和软件检测。通常,对软件性能的检测表现在以下几个方面:响应时间、吞吐量、辅助存储区,例如缓冲区,工作区的大小等、处理精度等。,启动停止测试目的是验证在机器启动及关机阶段,软件系统正确处理的能力。,恢复测试恢复测试是要证实在克服硬件故障(包括掉电、硬件或网络出错等)后,系统能否正常地继续进行工作,并不对系统造成任何损害。,容量测试检验系统的能力最高能达到什么程度。例如,对于编译程序,让它处理特别长的源程序;对于操作系统,让它的作业队列“
21、满员”;对于信息检索系统,让它使用频率达到最大。在使系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。,配置测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配中的错误。主要包括:配置命令测试:验证全部配置命令的可操作性(有效性)。循环配置测试:证明对每个设备物理与逻辑的,逻辑与功能的每次循环置换配置都能正常工作。修复测试:检查每种配置状态及哪个设备是坏的,并用自动的或手工的方式进行配置状态间的转换。,安全性测试检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。,可使用性测试从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。,可
22、支持性测试验证系统的支持策略对于公司与用户方面是否切实可行。,安装测试安装测试是要找出在安装过程中出现的错误。,过程测试在一些大型的系统中,部分工作需由各种人员按一定规程同计算机配合,靠人工来完成。指定由人工完成的过程也需经过仔细的检查,这就是所谓的过程测试。,互连测试验证两个或多个不同的系统之间的互连性。兼容性测试验证软件产品在不同版本之间的兼容性。包括:向下兼容和 交错兼容文档测试检查用户文档(如用户手册)的清晰性和精确性。,调试(Debug)方法,强行排错回溯法调试先分析错误征兆,确定最先发现“症状”的位置。然后沿程序的控制流程,向回追踪源程序代码。归纳法调试 归纳法是一种从特殊推断一般
23、的系统化思考方法。从一些线索(错误征兆)着手,通过分析它们之间的关系来找出错误。演绎法调试演绎法是一种从一般原理出发,经过排除来推导结论的思考方法。首先根据已有的测试用例,设想所有可能出错的原因;然后再用原始测试数据,逐个排除不可能正确的假设;最后验证余下的假设确是出错的原因。,软件测试过程,软件测试步骤,单元测试单元测试 检验每个模块能否单独工作集成测试(组装测试)集成测试:检验概要设计中模块接口设计问题,集成测试方法 通常采用黑盒测试技术实施策略:非渐增式测试一次就把所有通过了单元测试的模块组合在一起进行全程序的测试.渐增式测试从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口
24、相联系的问题。,运用黑盒测试的方法,通过实施预定的测试计划和测试步骤,证实软件功能与用户需求是否一致.,确认测试(有效性测试、验收测试),测试和测试测试(Alpha)在开发者的场所由用户进行,在开发者关注和控制的环境下进行。测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。测试(Beta)最终用户在自己的场所进行。测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。因而,测试是在开发者无法控制的环境下进行的软件现场应用。在测试中,由用户记下遇到的所有问题,包括真实的以
25、及主观认定的,定期向开发者报告。,(1)恢复测试 以不同的方式强使软件出现故障,检测软件能否恰当地完成恢复。(2)安全性测试 设计测试用例,突破软件安全保护机构的安全保密措施,检验系统预防机制的漏洞.(3)强度测试 是一种敏感性测试技术,设计测试用例,让系统处于资源的异常数量、异常频率、异常批量的条件下测试系统的承受能力。(4)性能测试 设计测试用例,并记录软件运行性能,与性能要求比较,检验是否达到性能要求规格。,系统测试,(6)软件维护,在软件运行维护阶段对软件产品进行的修改就是所谓的维护。维护的类型有三种:改正性维护 适应性维护 完善性维护,改正性维护,在软件交付使用后,因开发时测试的不彻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 集成 专业技术
链接地址:https://www.31ppt.com/p-6549749.html