《信息系统集成技术.ppt》由会员分享,可在线阅读,更多相关《信息系统集成技术.ppt(296页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息系统集成技术信息系统集成技术 中国软件评测中心中国软件评测中心1课程大纲课程大纲-1-1第一章第一章 前言前言第二第二章章 软件开发的典型方法软件开发的典型方法第三章第三章 统一建模语言统一建模语言UMLUML、系统分析和设计系统分析和设计第四章第四章 软件架构与组件技术软件架构与组件技术第五章第五章 典型网络技术及标准典型网络技术及标准第六第六章章 网络安全网络安全 第七章第七章 典型信息系统集成技术典型信息系统集成技术2课程大纲课程大纲-2-2 信息系统集成技术发展方向信息系统集成技术发展方向 因特网查询、预定的图书管理系统因特网查询、预定的图书管理系统3第一章、前言第一章、前言41.
2、1.系统集成概况系统集成概况 1.1.1 1 系统集成定义系统集成定义 1.1.2 2 系统集成的三个层面系统集成的三个层面 1.1.3 3 系统集成实施步骤系统集成实施步骤 1.1.4 4 系统集成体系框架系统集成体系框架 1.1.5 5 系统集成的原则系统集成的原则 1.1.6 6 系统集成组织机构系统集成组织机构51.11.1 系统集成解决什么问题?系统集成解决什么问题?集成即集合、组合、一体化,以有机组合、协调工作、提集成即集合、组合、一体化,以有机组合、协调工作、提高效率和创造效益为目的的将各个部分组合成为全新功能高效率和创造效益为目的的将各个部分组合成为全新功能的、高效的和统一的有
3、机整体。的、高效的和统一的有机整体。系统集成是指在系统工程科学方法的指导下,根据用户需系统集成是指在系统工程科学方法的指导下,根据用户需求,优选各种技术和产品。提出系统性的应用方案,并按求,优选各种技术和产品。提出系统性的应用方案,并按方案对组成系统的各个部件或者子系统进行综合集成。方案对组成系统的各个部件或者子系统进行综合集成。61.11.1 系统集成方法论系统集成方法论系统集成的目标:系统生命期中与用户利益始终保持系统集成的目标:系统生命期中与用户利益始终保持一致的服务。一致的服务。系统集成的方法:先进的理论系统集成的方法:先进的理论+先进的技术先进的技术+先进的手先进的手段段+先进的管理
4、。先进的管理。系统集成的对象:计算机及通信的硬件系统集成的对象:计算机及通信的硬件+计算机软件计算机软件(系统软件和应用软件)(系统软件和应用软件)+系统集成的用户系统集成的用户+管理管理 系统集成的关键:系统整体优化,即所有部件和成分系统集成的关键:系统整体优化,即所有部件和成分合起一起后不只是能工作,而且全系统是低成本的、合起一起后不只是能工作,而且全系统是低成本的、高效率的、性能匀称的、可扩充性和可维护性好的系高效率的、性能匀称的、可扩充性和可维护性好的系统。统。71.21.2 网络系统集成网络系统集成的的3 3个层面个层面系统集成过程系统集成过程集成商的经验技术集成商的经验技术用户需求
5、用户需求以太网以太网骨干网络骨干网络TCP/IPTCP/IP广域网互联广域网互联技术集成技术集成传输介质传输介质网络交换机网络交换机路由器路由器网络服务器网络服务器产品集成产品集成网络管理网络管理基础应用平台基础应用平台网络操作系统网络操作系统软件开发软件开发应用集成应用集成81.31.3 系统集成实施系统集成实施步骤步骤客户需求客户需求初步需求分析初步需求分析检错检错系统维护与服务系统维护与服务客户论证意见客户论证意见方案修正方案修正方案设计方案设计解决方案解决方案工程实施工程实施方案论证方案论证测试验收测试验收项目终结项目终结项目管理项目管理91.41.4 系统集成体系框架系统集成体系框架
6、网网络络安安全全平平台台机房机房电源电源网络传输基础设施网络传输基础设施网络通信设备网络通信设备网络服务器和操作系统网络服务器和操作系统网络协议网络协议外部信息基础设备互联互通外部信息基础设备互联互通数据库平台数据库平台Internet/IntranetInternet/Intranet基础服务基础服务网络管理平台网络管理平台开发工具开发工具数据库平台数据库平台开发工具开发工具基础服务基础服务应用基础平台应用基础平台用户界面用户界面客户客户/服务器平台服务器平台WebWeb平台平台GUIGUI平台平台网络应用系统网络应用系统计算机网络平台计算机网络平台环境支持平台环境支持平台101.51.5
7、系统集成原则系统集成原则系统开放性。系统开放性。“开放性开放性”和和“标准性标准性”是同义词,是是同义词,是当今计算机应用的共同呼声和迫切愿望,是计算机技当今计算机应用的共同呼声和迫切愿望,是计算机技术发展的必然趋势。在系统集成当中,产品选型、设术发展的必然趋势。在系统集成当中,产品选型、设备选型、软件选型、软件工具的工发等一系列工作应备选型、软件选型、软件工具的工发等一系列工作应采用国际流行标准,特别是工业标准。系统开放性好采用国际流行标准,特别是工业标准。系统开放性好的系统肯定是一个生命的系统、应用软件可移植好的的系统肯定是一个生命的系统、应用软件可移植好的系统。系统。111.51.5 系
8、统集成原则系统集成原则实用性和先进性:实用有效是最主要的设计目标,设计结实用性和先进性:实用有效是最主要的设计目标,设计结果应能满足需求,且切实有效;设计上确保设计思想先进、果应能满足需求,且切实有效;设计上确保设计思想先进、信息系统结构先进、系统硬件设备先进、开发工具先进。信息系统结构先进、系统硬件设备先进、开发工具先进。121.51.5 系统集成原则系统集成原则稳定性和可靠性:稳定可靠、安全地运作是系统设计的基稳定性和可靠性:稳定可靠、安全地运作是系统设计的基本出发点,技术指标按本出发点,技术指标按MTBFMTBF(平均无故障时间)和平均无故障时间)和MTBRMTBR(平均无故障率)衡定,
9、重要信息系统应采用容错设计,平均无故障率)衡定,重要信息系统应采用容错设计,支持故障检测和恢复;安全措施有效可信,能够在软、硬支持故障检测和恢复;安全措施有效可信,能够在软、硬件多个层次上实现安全控制。件多个层次上实现安全控制。131.51.5 系统集成原则系统集成原则灵活性和可扩展性:系统集成配置灵活,提供备用和可选灵活性和可扩展性:系统集成配置灵活,提供备用和可选方案;能够在规模和性能两个方面进行扩展,使其性能有方案;能够在规模和性能两个方面进行扩展,使其性能有大幅度提升,以适应应用和技术发展的需要。大幅度提升,以适应应用和技术发展的需要。141.61.6 典型的系统集成商组织机构典型的系
10、统集成商组织机构项项目目管管理理部部 系系统统集集成成部部应应用用软软件件开开发发部部采采购购与与外外联联部部综综合合管管理理与与财财务务部部网网络络施施工工工工程程部部(可可选选)15第二章第二章 软件开发的典型方法软件开发的典型方法预备概念预备概念1.1.类类 类是现实世界中实体的形式化描述,类将该实体类是现实世界中实体的形式化描述,类将该实体的属性(数据)和功能(函数)封装在一起。类是一的属性(数据)和功能(函数)封装在一起。类是一种复杂的数据类型。种复杂的数据类型。162.2.对象对象 对象(对象(ObjectObject)是类(是类(ClassClass)的一个实例的一个实例(Ins
11、tanceInstance)。)。如果将对象比作房子,那么类就是房子如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象程序设计的重点是类的设计,的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。而不是对象的设计。3.3.类相当于复杂的一种数据类型,一种带有操作类相当于复杂的一种数据类型,一种带有操作函数的数据类型。而对象是该类型的变量。函数的数据类型。而对象是该类型的变量。17封装封装封装:把类中的封装:把类中的数据数据同同函数函数组合在一起。组合在一起。18继承继承1.1.广义地说,继承是指能够直接获得已有的性广义地说,继承是指能够直接获得已有的性质和特征,而不必重
12、复定义它们。在面向对质和特征,而不必重复定义它们。在面向对象中,继承是子类自动地共享基类中定义的象中,继承是子类自动地共享基类中定义的数据和方法的机制。数据和方法的机制。2.2.父类:类的上层,也叫基类。父类:类的上层,也叫基类。3.3.子类:类的下层,也叫派生类。子类:类的下层,也叫派生类。4.4.继承有时也叫派生。继承有时也叫派生。19继承和组合继承和组合1 1、如如果果类类A A和和类类B B毫毫不不相相关关,不不可可以以为为了了使使B B的的功功能能更更多多些些而而让让B B继继承承A A的功能。的功能。2 2、如果类、如果类B B有必要使用有必要使用A A的功能,则要分两种情况考虑:
13、的功能,则要分两种情况考虑:1 1)若若在在逻逻辑辑上上B B是是A A的的“一一种种”(a a kind kind of of),则则允允许许B B继继承承A A的的功功能能。如如男男人人(ManMan)是是人人(HumanHuman)的的一一种种,男男孩孩(BoyBoy)是是男男人人的的一一种种。那那么么类类ManMan可可以以从从类类HumanHuman派派生生,类类BoyBoy可可以以从从类类ManMan派生。派生。2 2)若若在在逻逻辑辑上上B B是是 A A 的的“一一部部分分”(a a part part ofof),则则不不允允许许B B继继承承A A的的功功能能,而而是是要要
14、用用B B 和和其其它它东东西西组组合合出出A A。例例如如眼眼(EyeEye)、鼻鼻(NoseNose)、口口(MouthMouth)、耳耳(EarEar)是是头头(HeadHead)的的一一部部分分,所所以以类类HeadHead应应该该由由类类EyeEye、NoseNose、MouthMouth、EarEar组组合合而而成,不是派生而成。成,不是派生而成。20多态多态定义:定义:1 1、允许将派生类的对象当作基类的对象使用。、允许将派生类的对象当作基类的对象使用。或:或:2 2、给行为(函数、给行为(函数/虚函数)取一个名字或符号,它虚函数)取一个名字或符号,它共享一个类的层次,在这个层次
15、中的每个类都以共享一个类的层次,在这个层次中的每个类都以适合自己的方式实现这个行为。适合自己的方式实现这个行为。或:或:3 3、一体(函数、一体(函数/虚函数)多用。虚函数)多用。21面向对象技术面向对象技术基本概念基本概念类类对象对象类图和对象图类图和对象图需求、功能和过程需求、功能和过程 程序模块(或称组件)程序模块(或称组件)三过程:三过程:OOAOOAOODOODOOPOOP22基本概念基本概念思想思想体系、架构和架构师体系、架构和架构师(ARCHITECTURE ARCHITECTURE&ARCHITECH&ARCHITECH)框架框架(Framework)Framework)模式模
16、式(PATTERNPATTERN)、)、模型(模型(MODELMODEL)平台、环境(平台、环境(PLATFORMPLATFORM)构件构件(COMPONENTCOMPONENT)WEB SERVICESWEB SERVICESXMLXML23思想思想这里,指的是软件开发思想。这里,指的是软件开发思想。关于软件开发的一整套理论、方法、步骤和工具。关于软件开发的一整套理论、方法、步骤和工具。到目前为止,至少有两个:到目前为止,至少有两个:1 1、结构化系统分析和设计、结构化系统分析和设计+软件生命期的软件生命期的瀑布模型瀑布模型或其改或其改进型模型进型模型+文字文字/图形处理软件。图形处理软件。
17、2 2、面向对象的系统分析和设计、面向对象的系统分析和设计+软件开发的软件开发的迭代模型迭代模型+CASECASE工具。工具。现在,依据上述思想实现的思路有:现在,依据上述思想实现的思路有:1 1、微软的微软的MSFMSF;2 2、UML+RUP+ROSEUML+RUP+ROSE;24体系结构(体系结构(ArchitectureArchitecture)体系结构亦可称为架构体系结构亦可称为架构Software Architecture=Elements,Forms,Software Architecture=Elements,Forms,Rationale/Constraint Rationa
18、le/Constraint,软件主架构软件主架构=组件元素,元素互助合作之模式,基组件元素,元素互助合作之模式,基础要求与限制础要求与限制。软件主架构的设计就是:将各组件元素以某些理想的软件主架构的设计就是:将各组件元素以某些理想的合作模式组织起来合作模式组织起来以达成系统的基本功能和限制。以达成系统的基本功能和限制。25典型的体系结构典型的体系结构有:有:层次体系结构层次体系结构客户机客户机/服务器结构服务器结构浏览器浏览器/服务器结构服务器结构多层体系结构多层体系结构消息驱动消息驱动26架构是指所有构件组合定义系统的一个蓝图:结构、接口架构是指所有构件组合定义系统的一个蓝图:结构、接口和通
19、讯机制。我们可以进一步将架构分为企业级和应用级和通讯机制。我们可以进一步将架构分为企业级和应用级架构。架构。企业级系统架构企业级系统架构 企业级系统架构包括硬件和软件基础设施、网络布局、开企业级系统架构包括硬件和软件基础设施、网络布局、开发、测试、生产环境等等。它反映了一个企业的长期投资。发、测试、生产环境等等。它反映了一个企业的长期投资。应用级架构应用级架构 应用级架构参考一个特定的项目和规范建立在企业级系统应用级架构参考一个特定的项目和规范建立在企业级系统架构的上层。在基础设施完成后,架构师研究怎样构建一架构的上层。在基础设施完成后,架构师研究怎样构建一个特定的应用。如果你的企业级架构仅部
20、分支持老的个特定的应用。如果你的企业级架构仅部分支持老的J2EEJ2EE版本,可以先升级你的系统。如果由于预算或时间关系不版本,可以先升级你的系统。如果由于预算或时间关系不能升级,那么必须在更老版本规定的技术范围内开展工作。能升级,那么必须在更老版本规定的技术范围内开展工作。虽然构建企业级重用构件非常重要,但是必须首先要能够虽然构建企业级重用构件非常重要,但是必须首先要能够使用。这里的最终目标是满足客户的需求使用。这里的最终目标是满足客户的需求-一次一个项目。一次一个项目。27框架框架(Framework)Framework)框架的一般定义就是:在特定领域基于体系结构的可重用框架的一般定义就是
21、:在特定领域基于体系结构的可重用的设计。也可以认为框架是体系结构在特定领域下的应用。的设计。也可以认为框架是体系结构在特定领域下的应用。也可以认为框架是某种应用的半成品,在这样的结构下选也可以认为框架是某种应用的半成品,在这样的结构下选用一组组件,供你完成你自己的系统。简单说就是使用别用一组组件,供你完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。不断升级的软件。架构师不是设计师;架构和设计是完全不同。一个应用架架构师不是设计师;架构和设计是完全不同。一个应用架构的范围包括系统的主要结构、架构
22、设计模式和可以在上构的范围包括系统的主要结构、架构设计模式和可以在上面增加构件的框架。架构主要关注的是非功能性方面,而面增加构件的框架。架构主要关注的是非功能性方面,而设计关注应用业务用例将领域对象模型转换成技术对象模设计关注应用业务用例将领域对象模型转换成技术对象模型。应用架构是项目的结构,一个特殊的应用程序。通过型。应用架构是项目的结构,一个特殊的应用程序。通过应用架构开发,你通常必须要做的应用架构决定包括:应用架构开发,你通常必须要做的应用架构决定包括:层之间进行功能划分层之间进行功能划分 领域对象建模领域对象建模 28要保护的遗留系统要保护的遗留系统 要购买的软件构件要购买的软件构件
23、要开发的构件要开发的构件 怎样集成第三方构件怎样集成第三方构件为什么要用框架?为什么要用框架?因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。务逻辑设计。而且框架一般是成熟,稳健的,它可以处理系统很多细节问题,比如,而且框架一般是成熟,稳健的,它可以处理系统很多细节问题,比如
24、,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。可以直接享受别人升级代码带来的好处。框架一般处在低层应用平台(如框架一般处在低层应用平台(如J2EEJ2EE)和高层业务逻辑之间的中间层和高层业务逻辑之间的中间层。29库库(Library)Library)库是可重用的、相互协作的资源的集合,供开发人员进行库是可重用的、相互协作的资源的集合,供开发人员进行重复调用。它与框
25、架的主要区别在于运行时与程序的调用重复调用。它与框架的主要区别在于运行时与程序的调用关系。库是被程序调用,而框架则调用程序。关系。库是被程序调用,而框架则调用程序。30设计模式(设计模式(Design PatternDesign Pattern)模式为模式为“在一定的环境中解决某一问题的方案在一定的环境中解决某一问题的方案”。这三个。这三个事物事物 问题、解决方案和环境问题、解决方案和环境 是模式的基本要素。是模式的基本要素。通过模式通过模式,你可以无数次地使用那些已有的解决方案,无你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。需在重复相同的工作。模式有不同的领域,建筑领域有建筑
26、模式,软件设计领域模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。也有设计模式。为什么要用模式?为什么要用模式?因为模式是一种指导,在一个良好的指导下,有助于你完因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。倍的效果。而且会得到解决问题的最佳办法。31平台平台(PlatFormPlatForm)由多种系统构成,其中也可以包含硬件部分。由多种系统构成,其中也可以包含硬件部分。32构件(构件(componentcomponent)是可复用的
27、软件组成成份,可被用来构造是可复用的软件组成成份,可被用来构造其他软件,也叫组件。其他软件,也叫组件。它可以是被封装的对象、一些功能模块、软件它可以是被封装的对象、一些功能模块、软件框架(框架(frameworkframework)、)、软件构架(或体系结构软件构架(或体系结构ArchitectureArchitecture)、)、文档、设计模式文档、设计模式(PatternPattern)等。等。33构件构件构件的基本属性:构件的基本属性:1 1、构件是可独立配置的单元,因此构件必须自包容;、构件是可独立配置的单元,因此构件必须自包容;2 2、构件强调与环境和其他构件的分离,因此构件的实现、
28、构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的是严格封装的,外界没机会或没必要知道构件内部的实现细节;实现细节;3 3、构件可以在适当的环境中被复合使用,因此构件需要、构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互;提供清楚的接口规范,可以与环境交互;4 4、构件不应当是持续的,即构件没有个体特有的属性,、构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当与自身副本区别。从以上四个属性理解为构件不应当与自身副本区别。从以上四个属性可以看出,构件沿袭了对象的封装特性,但同时并不可以看出,构件沿袭了对象的封
29、装特性,但同时并不局限在一个对象,其内部可以封装一个或多个类、原局限在一个对象,其内部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。型对象甚至过程,结构是灵活的。34构件化对软件开发工程化是非常重要的,有了构件才能通构件化对软件开发工程化是非常重要的,有了构件才能通过构件的组装、互连,实现软件的工程化开发。然而我们过构件的组装、互连,实现软件的工程化开发。然而我们更进一步,可以这么说,更进一步,可以这么说,构件化也有自己的基础,那就构件化也有自己的基础,那就是统一的建模语言,它应该是一种所有软件开发人员都了是统一的建模语言,它应该是一种所有软件开发人员都了解的语言,可以完整地描述软件的
30、需求和结构,这就是解的语言,可以完整地描述软件的需求和结构,这就是“统一建模语言统一建模语言”(unified modeling language unified modeling language,umluml)。)。从软件开发的历史我们可以看出,软件开发方法一直是开从软件开发的历史我们可以看出,软件开发方法一直是开发人员非常关注的问题。随着软件的日益复杂,传统的开发人员非常关注的问题。随着软件的日益复杂,传统的开发方法已经难以满足需求,面向对象的开发方法逐渐成为发方法已经难以满足需求,面向对象的开发方法逐渐成为主流,主流,umluml就是第三代面向对象开发方法。利用就是第三代面向对象开发方
31、法。利用umluml,软件软件设计人员可以很方便地为实际系统的编写提供一个设计人员可以很方便地为实际系统的编写提供一个“蓝图蓝图”,可以对软件系统及其部件进行表示、直观化说明、构,可以对软件系统及其部件进行表示、直观化说明、构造和开发过程文档化,能大大简化软件设计的复杂过程。造和开发过程文档化,能大大简化软件设计的复杂过程。当然,仅有建模语言还不够,还需要有相应的当然,仅有建模语言还不够,还需要有相应的“过程过程”来来实现用建模语言搭建的实现用建模语言搭建的“蓝图蓝图”。35Web ServiceWeb Service从表面上看从表面上看,Web service Web service 就是一
32、个应用程序,它向外界就是一个应用程序,它向外界暴露出一个能够通过暴露出一个能够通过WebWeb进行调用进行调用的的APIAPI。这就是说,你能够用编程的方法通过这就是说,你能够用编程的方法通过WebWeb来调用这个应用程序。我来调用这个应用程序。我们把调用这个们把调用这个Web service Web service 的应用程序叫做客户。的应用程序叫做客户。例如,你想创建一个例如,你想创建一个Web service Web service,它的作用是返回当前的天气它的作用是返回当前的天气情况。那么你可以建立一个情况。那么你可以建立一个ASPASP页面,它接受邮政编码作为查询字页面,它接受邮政编
33、码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。要调用这个天气。要调用这个ASPASP页面,客户端需要发送下面的这个页面,客户端需要发送下面的这个HTTP GETHTTP GET请求:请求:http:/ service Web service 了。了。36Web ServiceWeb Service(续)(续)因为它基于因为它基于HTTP GETHTTP GET请求,暴露出了一个可以通过请求,暴露出了一个可以通过WebWeb调用调用的的APIAPI。下面是对下面是对Web service Web service
34、更精确的解释:更精确的解释:Web servicesWeb services是建立可互操作的分布式应用程序的新是建立可互操作的分布式应用程序的新平台。平台。Web serviceWeb service平台是一套标准,它定义了应用程序如何平台是一套标准,它定义了应用程序如何在在WebWeb上实现互操作性。上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上你可以用任何你喜欢的语言,在任何你喜欢的平台上写写Web service Web service,只要我们可以通过只要我们可以通过Web serviceWeb service标准标准对这些服务进行查询和访问。对这些服务进行查询和访问。
35、37XMLXML可扩展的标记语言可扩展的标记语言(XML)XML)是是Web serviceWeb service平平台中表示数据的基本格式。台中表示数据的基本格式。XML XML 是不同数据结构体的文本化描述语言。是不同数据结构体的文本化描述语言。除了易于建立和易于分析外,除了易于建立和易于分析外,XMLXML主要的优点在于它既主要的优点在于它既是平台无关的,又是厂商无关的。是平台无关的,又是厂商无关的。它可以描述线性表、树、图形等数据结构,也能描述它可以描述线性表、树、图形等数据结构,也能描述文件化的外部数据结构。甚至可以制造类似文件化的外部数据结构。甚至可以制造类似 XML XML 的的
36、 CompilerCompiler,可使文档在文本与二进制文件间互相转换,可使文档在文本与二进制文件间互相转换,XML-Data XML-Data 中严格定义了中严格定义了 XML XML 中数据的物理类型。也中数据的物理类型。也可以说可以说 XML XML 是一种通用的数据结构。是一种通用的数据结构。38XMLXML(续)续)XML XML 是行业是行业 HTML HTML 扩展标记的定义语言。扩展标记的定义语言。XML XML 与与 HTML HTML 结合描述行业的专用信息文档,如结合描述行业的专用信息文档,如 CDF,CML,CDF,CML,MathML MathML,SMIL SMI
37、L 等。等。XML XML 是在因特网时代与是在因特网时代与 JavaJava、CORBA CORBA 等量齐观的一个概等量齐观的一个概念念。Java Java 解决了语言实施的同一解决了语言实施的同一,CORBA CORBA 解决了通讯协解决了通讯协议的同一,议的同一,XML XML 解决了信息表示、关联的同一;解决了信息表示、关联的同一;OO OO 面向面向对象是这三者的共同理论基础。万维网接口定义语言对象是这三者的共同理论基础。万维网接口定义语言 WIDL WIDL 就是就是 XML XML 与与 IDL IDL 技术结合的产物。技术结合的产物。XML XML 是国际标准化组织的标准通用
38、标记语言是国际标准化组织的标准通用标记语言 SGML SGML 的子的子集。集。SGML SGML 面向诸于飞机设计文档的大规模、长生命期的面向诸于飞机设计文档的大规模、长生命期的信息储存,信息储存,XML XML 则面向短期的临时数据处理、面向万维则面向短期的临时数据处理、面向万维网络;二者是相互补充的关系。网络;二者是相互补充的关系。XML XML 是巴斯克范式是巴斯克范式 BNF BNF 的语言化、标准化、电子化。的语言化、标准化、电子化。39软件开发模型介绍软件开发模型介绍RUP Rational Unified Process RationalRUP Rational Unified
39、 Process Rational统一过程统一过程XPXP Extreme Programming Extreme Programming 极限编程极限编程 MSF Microsoft Solutions Framework MSF Microsoft Solutions Framework 微软解决方案框架微软解决方案框架402.1 2.1 微软解决方案框架微软解决方案框架 MSFMSFMSFMSF是什么?是什么?MSFMSF是一系列指导有效地创建和运用信息技术是一系列指导有效地创建和运用信息技术解决商业问题的解决商业问题的模型、原则、指导、方法模型、原则、指导、方法。通过。通过提供可衡量的
40、过程和严格的指导,达到满足变化提供可衡量的过程和严格的指导,达到满足变化的商业需求。是一套大型系统开发指南和方法论,的商业需求。是一套大型系统开发指南和方法论,是一种思想和原理。是一种思想和原理。41MSF MSF 微软解决方案框架微软解决方案框架 MSFMSF的组成?的组成?MSFMSF由以下由以下6 6个主要模型组成:个主要模型组成:MSF MSF 企业体系结构模型企业体系结构模型MSF MSF 开发团队模型开发团队模型MSF MSF 开发过程模型开发过程模型MSF MSF 风险管理模型风险管理模型MSF MSF 设计过程模型设计过程模型MSF MSF 应用系统模型应用系统模型422.2
41、2.2 RUPRUP早期的软件开发过程方法:瀑布模型(图早期的软件开发过程方法:瀑布模型(图1 1)RUPRUP(Rational Unified ProcessRational Unified Process)软件统一过程和软件统一过程和XPXP(Extreme ProgrammingExtreme Programming)极限编程,通常被叫做极限编程,通常被叫做“过过程方法程方法”,是一种软件项目实施过程的方法论。,是一种软件项目实施过程的方法论。软件过程是指实施于软件开发和维护中的阶段、方法、技软件过程是指实施于软件开发和维护中的阶段、方法、技术、实践及相关产物术、实践及相关产物(计划、
42、文档、模型、代码、测试用计划、文档、模型、代码、测试用例和手册等例和手册等)的集合。的集合。目前市场上领先的软件过程主要目前市场上领先的软件过程主要有有RUP(Rational Unified RUP(Rational Unified Process)Process)、OPEN ProcessOPEN Process和和OOSP(Object-Oriented OOSP(Object-Oriented Software Process)Software Process)。43RUPRUP可以用二维坐标来描述。横轴表示时间,是项目的生可以用二维坐标来描述。横轴表示时间,是项目的生命期,体现开发过
43、程的动态结构,主要包括周期命期,体现开发过程的动态结构,主要包括周期(Cycle)Cycle)、阶段阶段(Phase)Phase)、迭代迭代(Iteration)Iteration)和里程碑和里程碑(Milestone)Milestone);纵轴表示自然的逻辑活动,体现开发过程的静态结构,主纵轴表示自然的逻辑活动,体现开发过程的静态结构,主要包括活动要包括活动(Activity)Activity)、产物产物(Artifact)Artifact)、工作者工作者(Worker)Worker)和工作流和工作流(Workflow)Workflow)。如下图:如下图:44452.2.1 2.2.1 开发
44、过程中的各个阶段和里程碑开发过程中的各个阶段和里程碑RUPRUP中的软件生命期在时间上被分解为四个顺序的阶中的软件生命期在时间上被分解为四个顺序的阶段,分别是:段,分别是:初始阶段初始阶段(Inception);Inception);细化阶段细化阶段(Elaboration);Elaboration);构建阶段构建阶段(Construction);Construction);交付阶段交付阶段(Transition)Transition)。每个阶段结束于一个主要的里程碑每个阶段结束于一个主要的里程碑(Major Milestones)Major Milestones)。在每个在每个阶段的结尾执行
45、一次评估以确定这个阶段的目标是否已经满足。阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。1 1初始阶段初始阶段初始阶段的目标是为系统建立商业案例并确定项目的边界。初始阶段的目标是为系统建立商业案例并确定项目的边界。46为了达到该目的必须识别所有与系统交互的外部实体,在较高层为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。对于建立在原有系统基础上的开发项目来次上定义交互的特性。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。讲,初始阶段可能很短。初始阶段结束时是第一个重要的里程碑:初始阶段结束时是第一个重要的里程碑:生命期目标生命期目标(Lifec
46、ycle Objective)Lifecycle Objective)里程碑。生命期目标里程碑评里程碑。生命期目标里程碑评价项目基本的生存能力。价项目基本的生存能力。2 2细化阶段细化阶段细化阶段的目标是分析问题领域,建立健全的体系结构基础,编细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,主要功能和诸如性
47、能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。包括创建开发案例,创建模板、准则并准备工具。47细化阶段结束时形成第二个重要的里程碑:细化阶段结束时形成第二个重要的里程碑:生命期结构生命期结构(Lifecycle Architecture)Lifecycle Architecture)里程碑。生命期结构里程碑。生命期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解
48、决方案。择以及主要风险的解决方案。3 3构建阶段构建阶段 在构建阶段,所有剩余的构件和应用程序功能被开发并集成为在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量和质量。48构建阶段结束时是第三个重要的里程碑:构建阶段结束时是第三个重要的里程碑:初始功能初始功能(Initial Operational)Initial Operational)里程碑。初始功能里程碑
49、决里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称环境、用户是否可以开始系统的运作。此时的产品版本也常被称为为“beta”beta”版。版。4 4交付阶段交付阶段交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命期的这一点上,用户反馈应主要集中在产品少量的调整。在
50、生命期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命期的早期阶段解决了。在项目生命期的早期阶段解决了。在交付阶段的终点是第四个里程碑:在交付阶段的终点是第四个里程碑:产品发布产品发布(Product Release)Product Release)里程碑。此时,要确定目标是否里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。可能与下一个周期的初始阶段的结束重