1、22.6.9张锦张锦 全国计算机技术与软件专业技术资格(水平)考试培训全国计算机技术与软件专业技术资格(水平)考试培训第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 2【知识要点知识要点】1 1、信息系统集成简述、信息系统集成简述l信息系统的生命周期、各阶段目标及信息系统的生命周期、各阶段目标及主要工作内容主要工作内容l信息系统开发方法信息系统开发方法2 2、信息系统建设、信息系统建设l方案设计方案设计l系统架构系统架构l设备、设备、DBMS和技术选型和技术选型3 3、软件工程、软件工程l软件需求分析与定义软件需求分析与定义l软件设计、测试与维护软件设计、测试与维护
2、l软件质量保证及质量评价软件质量保证及质量评价l软件配置管理软件配置管理l软件过程管理软件过程管理l软件开发工具软件开发工具l软件复用软件复用4 4、面向对象系统分析与设计、面向对象系统分析与设计 l面向对象的基本概念面向对象的基本概念l统一建模语言统一建模语言UML与可视化建模与可视化建模l面向对象系统分析面向对象系统分析l面向对象系统设计面向对象系统设计5 5、软件系统结构(软件架构)、软件系统结构(软件架构)l软件体系结构定义软件体系结构定义l典型体系结构典型体系结构l软件体系结构设计方法软件体系结构设计方法l软件体系结构分析与评估软件体系结构分析与评估l软件中间件软件中间件6 6、典型
3、应用集成技术、典型应用集成技术7 7、计算机网络知识、计算机网络知识P.81第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 3信息系统集成:指将计算机软件、硬件、网络通信等信息系统集成:指将计算机软件、硬件、网络通信等技术和产品集成成为能够满足用户特定需求的信息系统,技术和产品集成成为能够满足用户特定需求的信息系统,包括总体策划、设计、开发、实施、服务及保障。包括总体策划、设计、开发、实施、服务及保障。信息系统集成的信息系统集成的4个显著特点:个显著特点:n需求引导需求引导n全面的解决方案、软件是核心全面的解决方案、软件是核心n完整系统完整系统n技术是核心、管理和服
4、务是保障技术是核心、管理和服务是保障3.1 信息系统集成简述信息系统集成简述1、信息系统集成概念、信息系统集成概念P.81第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 4系统集成主要包括系统集成主要包括设备设备系统集成和系统集成和应用应用系统集成系统集成设备系统集成设备系统集成(硬件系统集成、简称系统集成),包括智能(硬件系统集成、简称系统集成),包括智能建筑系统集成、计算机网络系统集成、安防系统集成。建筑系统集成、计算机网络系统集成、安防系统集成。应用系统集成应用系统集成(行业信息化解决方案)为用户提供一个全面(行业信息化解决方案)为用户提供一个全面的系统解决方
5、案,应用集成已经深入到用户具体的业务和应用层的系统解决方案,应用集成已经深入到用户具体的业务和应用层面。面。应用系统集成是系统集成的高级阶段,独立的应用软件供应商应用系统集成是系统集成的高级阶段,独立的应用软件供应商成为其核心。成为其核心。3.1 信息系统集成简述信息系统集成简述2、信息系统集成分类、信息系统集成分类P.81第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 51、立项阶段、立项阶段 概念形成过程、需求分析过程概念形成过程、需求分析过程2、开发阶段、开发阶段 规划、分析、设计、实施、验收规划、分析、设计、实施、验收3、运维阶段、运维阶段 运行、维护运行、
6、维护4、消亡阶段、消亡阶段 退出、重建退出、重建3.2 信息系统建设信息系统建设3.2.1 信息系统的生命周期信息系统的生命周期P.82第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 61、结构化方法、结构化方法 思想、特点、优点、缺点思想、特点、优点、缺点2、原型法、原型法 思想、特点、优点、缺点、类型思想、特点、优点、缺点、类型 3、面向对象方法、面向对象方法 思想、关键点、阶段、模型思想、关键点、阶段、模型4、组合应用、组合应用3.2 信息系统建设信息系统建设3.2.2 信息系统开发方法信息系统开发方法P.83第第3讲讲 信息系统集成专业技术知识信息系统集成专
7、业技术知识掌握掌握/87 7/82软件是计算机系统中与硬件相互软件是计算机系统中与硬件相互依存依存的另一的另一部分;部分;软件是有软件是有一定功能和性能一定功能和性能的程序、数据和文档的程序、数据和文档它的它的完整集合完整集合。图图1-3 软件的组成要素软件的组成要素3.3 软件工程软件工程软件的定义软件的定义 7第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 8/82一个软件系统通常包括:一个软件系统通常包括:n在计算机运行中能够提供所希望的功能和性能的程序;在计算机运行中能够提供所希望的功能和性能的程序;n使程序能够正确运行的数据结构和数据;使程序能够正确运行的
8、数据结构和数据;n描述系统结构的文档和如何使用与维护系统的用户文档。描述系统结构的文档和如何使用与维护系统的用户文档。u程序是软件的窗口,它展示着系统的能力;程序是软件的窗口,它展示着系统的能力;u数据是软件的根本,它决定了系统的价值;数据是软件的根本,它决定了系统的价值;u文档是软件的灵魂,它关系到系统的命运。文档是软件的灵魂,它关系到系统的命运。软件的定义软件的定义3.3 软件工程软件工程 8第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 93.3 软件工程软件工程P.85工程工程 是将自然科学的理论是将自然科学的理论应用应用到具体工到具体工农业生产部门中形成的
9、各农业生产部门中形成的各学科学科的总称。如的总称。如:水利工程、化学工程、土木建筑工程、遗水利工程、化学工程、土木建筑工程、遗传工程、系统工程传工程、系统工程亦称亦称“工程学工程学”。软件工程软件工程是是应用应用计算机科学、数学及管计算机科学、数学及管理科学等理科学等原原理,理,开发开发软件的工程。软件工软件的工程。软件工程程借鉴借鉴传统工程的原则、方法,以提高传统工程的原则、方法,以提高质质量量、降低、降低成本成本。第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 10软件需求是一个为解决特定问题而必须由被开软件需求是一个为解决特定问题而必须由被开发或被修改的发或被
10、修改的软件软件展示的展示的特性特性。软件的需求通常来自一个组织软件的需求通常来自一个组织不同层次不同层次的的不不同人员同人员的的需求需求和来自软件将要在其中和来自软件将要在其中运行运行的环的环境的境的需求需求的复杂组合。的复杂组合。所有软件的需求的一个基本特性就是所有软件的需求的一个基本特性就是可验证性可验证性。3.3 软件工程软件工程3.3.1 软件需求分析与定义软件需求分析与定义P.85第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 11 需求分析涉及分析需求的过程,其主要目的是:需求分析涉及分析需求的过程,其主要目的是:(1)检测和解决需求之间的冲突)检测和解
11、决需求之间的冲突(2)发现软件的边界,以及软件与其环境如何交互。)发现软件的边界,以及软件与其环境如何交互。(3)详细描述系统需求,以导出软件需求。)详细描述系统需求,以导出软件需求。3.3 软件工程软件工程3.3.1 软件需求分析与定义软件需求分析与定义P.86第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 121、软件设计、软件设计软件设计是软件设计是“定义一个系统或组件的架构、组件、接定义一个系统或组件的架构、组件、接口和其他特征的过程口和其他特征的过程”,并得到,并得到“这个过程的结果这个过程的结果”。软件的设计过程,就是将软件需求转化为数据结构和软件的设计
12、过程,就是将软件需求转化为数据结构和软件的系统结构的过程。软件的系统结构的过程。软件设计由两个处于软件需求和软件构造之间的活动软件设计由两个处于软件需求和软件构造之间的活动组成。组成。n软件架构设计:描述软件的结构和组织,标识各种不同的软件架构设计:描述软件的结构和组织,标识各种不同的组件。组件。n软件详细设计:详细地描述各个组件,使之能被构造。软件详细设计:详细地描述各个组件,使之能被构造。3.3 软件工程软件工程3.3.2 软件设计、测试与维护软件设计、测试与维护P.86第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 132、软件测试、软件测试测试是为评价和改进
13、软件产品质量、识别产品缺陷和测试是为评价和改进软件产品质量、识别产品缺陷和问题而进行地活动。问题而进行地活动。软件测试应该包括在整个开发和维护过程之中,测试软件测试应该包括在整个开发和维护过程之中,测试是实际产品构造地一个重要部分。是实际产品构造地一个重要部分。测试包括单元测试、集成测试和系统测试三个阶段。测试包括单元测试、集成测试和系统测试三个阶段。3.3 软件工程软件工程3.3.2 软件设计、测试与维护软件设计、测试与维护P.87第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 143、软件维护、软件维护软件维护处于软件生命周期的运维阶段,处于软件维护处于软件生命
14、周期的运维阶段,处于系统投入生产运行以后的时期中,不属于软件开系统投入生产运行以后的时期中,不属于软件开发过程。发过程。随着软件的大型化和使用寿命的延长,软件维随着软件的大型化和使用寿命的延长,软件维护费用日益增长。正确地使用软件系统,发挥软护费用日益增长。正确地使用软件系统,发挥软件的作用,可能是生死攸关的大问题。件的作用,可能是生死攸关的大问题。3.3 软件工程软件工程3.3.2 软件设计、测试与维护软件设计、测试与维护P.87第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 153、软件维护、软件维护平均来说,大型软件的维护成本高达开发成本平均来说,大型软件的维
15、护成本高达开发成本的的4倍左右。倍左右。软件系统整个生存期总成本的软件系统整个生存期总成本的4070要用于软件要用于软件的维护。的维护。目前国外许多软件开发组织把目前国外许多软件开发组织把60%以上的人力用于维以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。这个百分比还在持续上升。3.3 软件工程软件工程3.3.2 软件设计、测试与维护软件设计、测试与维护P.87第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 163、软件维护、软件维护按照不同的维护目的,维护工作可分成按照不
16、同的维护目的,维护工作可分成4类:类:n更正性维护更正性维护:对在测试阶段未能发现的,在软件投入使对在测试阶段未能发现的,在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程。验证、修改的回归测试过程。n适应性维护适应性维护:使运行的软件能适应运行环境的变动而修使运行的软件能适应运行环境的变动而修改软件的过程。改软件的过程。n完善性维护完善性维护:扩充原有系统的功能,提高原有系统的性扩充原有系统的功能,提高原有系统的性能,满足用户的实际需要的过程。能,满足用户的实际需要的过程。n预防性维护预防性维护:为了改
17、善软件的可靠性和易维护性,或为为了改善软件的可靠性和易维护性,或为将来的维护奠定更好的基础而对软件进行修改的过程。将来的维护奠定更好的基础而对软件进行修改的过程。3.3 软件工程软件工程3.3.2 软件设计、测试与维护软件设计、测试与维护P.87第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 17软件复用是指利用已有软件的各种有关知识构软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。造新的软件,以缩减软件开发和维护的费用。软件复用是提高软件生产力和质量的一种重要软件复用是提高软件生产力和质量的一种重要技术。技术。被复用的知识包括程序、
18、领域知识、开发经验、被复用的知识包括程序、领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等。设计决策、架构、需求、设计、代码和文档等。3.3 软件工程软件工程3.3.3 软件复用软件复用P.87第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 18概括地说,软件质量就是概括地说,软件质量就是“软件与明确软件与明确地和隐含地定义的地和隐含地定义的需求需求相一致的程度相一致的程度”。具体地说,软件质量是软件符合明确叙具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的述的功能和性能需求、文档中明确描述的开发开发标准标准、以及所有专业开发的软件
19、都应、以及所有专业开发的软件都应具有的隐含特征的程度。具有的隐含特征的程度。3.3 软件工程软件工程3.3.4 软件质量保证软件质量保证P.88第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 19软件质量定义强调软件质量定义强调:n软件需求是度量软件质量的基础,与需求不一致软件需求是度量软件质量的基础,与需求不一致就是质量不高。就是质量不高。n指定的标准定义了一组指导软件开发的准则,如指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。果没有遵守这些准则,几乎肯定会导致质量不高。n如果软件满足明确描述的需求,但却不满足隐含如果软件满
20、足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。的需求,那么软件的质量仍然是值得怀疑的。3.3 软件工程软件工程3.3.4 软件质量保证软件质量保证P.88第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 20软件质量管理涉及软件质量管理涉及5个过程个过程:1、质量保证过程、质量保证过程2、验证过程、验证过程3、确认过程、确认过程4、评审过程、评审过程5、审计过程、审计过程3.3 软件工程软件工程3.3.4 软件质量保证软件质量保证P.88第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 21软件配置管理软件配置管理(
21、Software Configuration Management,SCM)是一种标识、组织和控制修改的技术,是一种标识、组织和控制修改的技术,其目的是使错误降为最小并最有效地提高生产其目的是使错误降为最小并最有效地提高生产效率。效率。 SCM活动的目标就是为了标识变更、控制变活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告更、确保变更正确实现并向其他有关人员报告变更。变更。3.3 软件工程软件工程3.3.5 软件配置管理软件配置管理P.89第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 22软件配置管理软件配置管理(Software Co
22、nfiguration Management,SCM)是是一种标识、组织和控制修改的技术。一种标识、组织和控制修改的技术。SCM活动的目标就是为了标识变更、控制变更、确活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。保变更正确实现并向其他有关人员报告变更。SCM是一种技术,其目的是使错误降为最小并最有是一种技术,其目的是使错误降为最小并最有效地提高生产效率。效地提高生产效率。 SCM活动包括:过程的管理和计划、标识、控制、状活动包括:过程的管理和计划、标识、控制、状态记录、审计和软件发布管理与交互。态记录、审计和软件发布管理与交互。3.3 软件工程软件工程3.3
23、.5 软件配置管理软件配置管理P.89第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 23软件配置管理贯穿于整个软件生命周期,是软件配置管理贯穿于整个软件生命周期,是项目管理过程中相当重要的一部分。项目管理过程中相当重要的一部分。 配置管理简单来说是对软件版本进行管理,配置管理简单来说是对软件版本进行管理,然而它还远不只这些,它是改进软件过程、提然而它还远不只这些,它是改进软件过程、提高过程能力成熟度的理想切入点。高过程能力成熟度的理想切入点。配置管理可以帮助我们对软件开发过程进行配置管理可以帮助我们对软件开发过程进行有效的变更控制,高效地开发高质量的软件。有效的变
24、更控制,高效地开发高质量的软件。3.3 软件工程软件工程3.3.5 软件配置管理软件配置管理P.89第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 24软件开发环境软件开发环境(Software Development Environment,SDE)是指在基本硬件和软件的基础上,为支持系统是指在基本硬件和软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件和应用软件的工程化开发和维护而使用的一组软件。软件。SDE由软件工具和环境集成机制构成,前者用以由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工支持软件开发的
25、相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。具集成和软件的开发、维护及管理提供统一的支持。3.3 软件工程软件工程3.3.6 软件开发环境软件开发环境P.90第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 25软件开发工具是用于辅助软件生命周期过程的基软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。工具的种类包括支持单个任务的于计算机的工具。工具的种类包括支持单个任务的工具以及囊括整个生命周期的工具。工具以及囊括整个生命周期的工具。主要的主要的9个软件开发工具有:需求工具、设计工具、个软件开发工具有:需求工具、设计工具、构造
26、工具、维护工具、配置工具、工程管理工具、构造工具、维护工具、配置工具、工程管理工具、工程过程工具、软件质量工具等。工程过程工具、软件质量工具等。3.3 软件工程软件工程3.3.6 软件开发环境软件开发环境P.90第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 26软件过程软件过程(Software Procedure)是指软件生存周期是指软件生存周期所涉及的一系列相关过程。是提高软件生产率和保所涉及的一系列相关过程。是提高软件生产率和保证软件质量的一个重要的方法,证软件质量的一个重要的方法,过程是活动的集合;活动是任务的集合;任务要过程是活动的集合;活动是任务的集合
27、;任务要起着把输入进行加工然后输出的作用。起着把输入进行加工然后输出的作用。软件工程管理集成了过程管理和项目管理,包括软件工程管理集成了过程管理和项目管理,包括启动和范围定义、项目计划、实施、评审和评价、启动和范围定义、项目计划、实施、评审和评价、关闭和工程度量等关闭和工程度量等6个方面。个方面。3.3 软件工程软件工程3.3.7 软件过程管理软件过程管理P.91第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 27传统的结构化方法学适合需求比较确定的应用领域,传统的结构化方法学适合需求比较确定的应用领域,实际上,系统的需求往往是变化的,而且用户对系统实际上,系统的需
28、求往往是变化的,而且用户对系统到底要求些什么也不是非常清楚。到底要求些什么也不是非常清楚。在在20世纪世纪60年代后期出现的面向对象编程语言中首次年代后期出现的面向对象编程语言中首次引入了类和对象的概念,自引入了类和对象的概念,自20世纪世纪80年代中期,人们年代中期,人们开始注重面向对象分析和设计研究,逐步形成了面向开始注重面向对象分析和设计研究,逐步形成了面向对象方法学。对象方法学。到到20世纪世纪90年代,面向对象方法学已经成为开发软件年代,面向对象方法学已经成为开发软件时的首选技术。时的首选技术。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.1 基本概念基本概念P.92第
29、第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 28 面向对象的软件开发主要包括面向对象的软件开发主要包括3个阶段:个阶段:n 面向对象分析(面向对象分析(OOA):系统分析员对将要开发的系统进行:系统分析员对将要开发的系统进行定义和分析,得到各个对象类以及对象类之间的关系描述。定义和分析,得到各个对象类以及对象类之间的关系描述。n 面向对象设计(面向对象设计(OOD):系统设计人员将面向对象的结果转:系统设计人员将面向对象的结果转化为适合程序设计语言中的具体描述,它是进行面向对象程序化为适合程序设计语言中的具体描述,它是进行面向对象程序设计的蓝图。设计的蓝图。n 面
30、向对象程序设计(面向对象程序设计(OOP):程序设计人员利用程序设计):程序设计人员利用程序设计语言,根据语言,根据OOD得到的对象类的描述,建立实际可行的系统。得到的对象类的描述,建立实际可行的系统。面向对象的基本概念有对象、类、抽象、封装、继承、面向对象的基本概念有对象、类、抽象、封装、继承、多态、结构、消息、组件、模式和复用等。多态、结构、消息、组件、模式和复用等。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.1 基本概念基本概念P.92第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 29软件工程领域在软件工程领域在1995年至年至1997年取得
31、了前所未有的进年取得了前所未有的进展展,其成果超过软件工程领域过去其成果超过软件工程领域过去15年来的成就总和。其年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一中最重要的、具有划时代重大意义的成果之一就是统一建模语言建模语言 (UML ,Unified Modeling Language)的出现。的出现。在世界范围内,至少在近在世界范围内,至少在近10年内,年内,UML将是面向对象将是面向对象技术领域内占主导地位的标准建模语言。技术领域内占主导地位的标准建模语言。 UML是软件界第一个统一的建模语言,该方法结合了是软件界第一个统一的建模语言,该方法结合了Booch, OMT
32、和和OOSE方法的优点,统一了符号体系,并方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。概念和技术。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.2 可视化建模与统一建模语言可视化建模与统一建模语言P.96第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 30UML是一种用于描述、构造可视化和文档化系是一种用于描述、构造可视化和文档化系统的语言。统的语言。UML是一种标准的表示,它已成为国际软件界是一种标准的表示,它已成为国际软件界广泛承认的标准。广泛承认的标准。
33、UML是第三代面向对象的开发方法,是一种基是第三代面向对象的开发方法,是一种基于面向对象的可视化的通用建模语言。于面向对象的可视化的通用建模语言。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.2 可视化建模与统一建模语言可视化建模与统一建模语言P.97第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 31根据一个模型、多个视图的观点,根据一个模型、多个视图的观点,UML提供了提供了用例图、类图、对象图、构件图、部署图、状态用例图、类图、对象图、构件图、部署图、状态图、序列图、活动图等图、序列图、活动图等9种主要的图形来对系统种主要的图形来对系统进行建模。
34、进行建模。(表(表3-1 UML视图)视图)这些图提供了对系统进行分析或开发时的多角度描述。这些图提供了对系统进行分析或开发时的多角度描述。基于这些图可以分析和构建一个一致系统。这些图与基于这些图可以分析和构建一个一致系统。这些图与其他支持文档一起,是从建模者角度看到的基本实体。其他支持文档一起,是从建模者角度看到的基本实体。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.2 可视化建模与统一建模语言可视化建模与统一建模语言P.98第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 32统一软件开发过程统一软件开发过程 (RUP ,Rational Unif
35、ied Process) 是最佳软件开发经验的总结。是最佳软件开发经验的总结。RUP的的6 个基本最佳实践包括个基本最佳实践包括:迭代式开发;需迭代式开发;需求管理;使用以组件为中心的软件架构;可视化求管理;使用以组件为中心的软件架构;可视化软件建模;验证软件质量;控制软件变更。软件建模;验证软件质量;控制软件变更。以上以上6大经验是判断是否真正实施大经验是判断是否真正实施RUP的一个重的一个重要标准。要标准。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.3 使用面向对象技术进行软件开发的最佳实践使用面向对象技术进行软件开发的最佳实践- RUPP.99第第3讲讲 信息系统集成专业
36、技术知识信息系统集成专业技术知识掌握掌握/87 333.4 面向对象系统分析与设计面向对象系统分析与设计3.4.4 面向对象技术进行软件开发的最佳实践面向对象技术进行软件开发的最佳实践- RUPP.100图图3-4 RUP3-4 RUP的二维结构的二维结构第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 34面向对象方法的兴起与发展和结构化分析方法一样,面向对象方法的兴起与发展和结构化分析方法一样,也是从面向对象的程序设计开始的,逐步发展到面向对也是从面向对象的程序设计开始的,逐步发展到面向对象的设计,最后发展到面向对象的分析。象的设计,最后发展到面向对象的分析。面向
37、对象方法学的出发点和基本原则,是尽可能模拟面向对象方法学的出发点和基本原则,是尽可能模拟人类的思维方式,使开发软件的方法与过程尽可能接近人类的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。题的问题空间与实现解法的解空间在结构上尽可能一致。面向对象分析方法(面向对象分析方法( OOA),就是抽取和整理用户需,就是抽取和整理用户需求并建立问题域精确模型的过程。求并建立问题域精确模型的过程。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.4 面向对
38、象系统分析面向对象系统分析P.100第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 35OOA的关键是识别出问题内的类与对象,并分析它们的关键是识别出问题内的类与对象,并分析它们相互的关系,最终建立起问题域的简洁、精确、可理解相互的关系,最终建立起问题域的简洁、精确、可理解的正确模型。的正确模型。 OAA的大致方法是:的大致方法是:n标识出问题域的对象;标识出问题域的对象;n定义这些类的属性和方法;定义这些类的属性和方法;n定义这些类的行为;定义这些类的行为;n对这些类间的关系建模。对这些类间的关系建模。n后续步骤是通过添加与解系统的行为级实现相关的类对模型后续步骤
39、是通过添加与解系统的行为级实现相关的类对模型加以扩展。加以扩展。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.4 面向对象系统分析面向对象系统分析P.100第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 361、模型、模型 用例模型、类用例模型、类-对象模型对象模型 、对象、对象-关系模型、对象关系模型、对象-行为模型行为模型2、方法、方法 描述用户需要描述用户需要 建立设计基础建立设计基础 定义完成后可认可的需求定义完成后可认可的需求3、步骤、步骤 从发现角色与参与者到建立功能模型共从发现角色与参与者到建立功能模型共7个步骤个步骤3.4 面向对象系统
40、分析与设计面向对象系统分析与设计3.4.5 面向对象系统分析面向对象系统分析P.100第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 37面向对象的系统设计阶段是对分析阶段面向对象的系统设计阶段是对分析阶段给出的问题域模型,用面向对象方法设计给出的问题域模型,用面向对象方法设计出软件基础架构(出软件基础架构(概要设计概要设计)和完整的类)和完整的类结构(结构(详细设计详细设计),以实现业务功能。),以实现业务功能。设计阶段主要包括设计阶段主要包括用例设计用例设计、类设计类设计和和子系统设计子系统设计。3.4 面向对象系统分析与设计面向对象系统分析与设计3.4.5 面
41、向对象系统设计面向对象系统设计P.101第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 38在韦伯词典中,架构(在韦伯词典中,架构(Architecture)的)的定义是定义是“作为一种意识过程结果的形态或作为一种意识过程结果的形态或框架;一种统一或有条理的形式或结构;框架;一种统一或有条理的形式或结构;建筑的艺术或科学建筑的艺术或科学”。这个定义的关键部分是具有特定结构的,这个定义的关键部分是具有特定结构的,体现某种美感的事物以及针对该事物的有体现某种美感的事物以及针对该事物的有意识的、有条理的方法。意识的、有条理的方法。3.5 软件架构软件架构3.5.1 软件架
42、构定义软件架构定义P.102第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 39软件架构(软件架构(software architecture)为软件系统提供了一个结构、行为和为软件系统提供了一个结构、行为和属性的高级抽象。属性的高级抽象。软件架构由构成系统的元素的描述及软件架构由构成系统的元素的描述及元素的相互作用、元素集成的模式以元素的相互作用、元素集成的模式以及这些模式的约束组成。及这些模式的约束组成。3.5 软件架构软件架构3.5.1 软件架构定义软件架构定义P.102第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 40软件架构设
43、计的核心问题是能否使用软件架构设计的核心问题是能否使用重复的架构模式,也就是说,能否在重复的架构模式,也就是说,能否在不同的软件系统中使用同一种架构。不同的软件系统中使用同一种架构。使用一些经过实践证实的模式(解决使用一些经过实践证实的模式(解决方案)可以有效地解决更多的软件开方案)可以有效地解决更多的软件开发问题。发问题。6种常见的软件架构模式。种常见的软件架构模式。3.5 软件架构软件架构3.5.2 典型架构典型架构P.102第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 413.5 软件架构软件架构3.5.3 软件架构设计方法软件架构设计方法P.107软件架构
44、设计的软件架构设计的总体目标总体目标是:最大化复是:最大化复用、复杂问题简单化、具备灵活的扩展性。用、复杂问题简单化、具备灵活的扩展性。 找出系统中相对稳定的部分,确定它们找出系统中相对稳定的部分,确定它们的关系,使用适当的模式作为指导原则设的关系,使用适当的模式作为指导原则设计解决方案。计解决方案。区分模式与系统架构的特点和区别,结区分模式与系统架构的特点和区别,结合各种模式构建系统架构。合各种模式构建系统架构。第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 423.5 软件架构软件架构3.5.4 软件架构分析与评估软件架构分析与评估P.108软件架构设计需要考虑
45、的主要问题:软件架构设计需要考虑的主要问题:n数据库数据库n用户界面用户界面n系统性能系统性能n技术路线技术路线n具有的经验具有的经验第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 433.5 软件架构软件架构3.5.5 中间件中间件P.108中间件是位中间件是位于硬件、操作于硬件、操作系统等平台和系统等平台和应用之间的通应用之间的通用服务,如图用服务,如图3-10所示。所示。这些服务具这些服务具有标准的程序有标准的程序接口和协议。接口和协议。中间件中间件图图3-10 3-10 中间件的应用结构中间件的应用结构第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术
46、知识掌握掌握/87 443.5 软件架构软件架构3.5.5 中间件中间件P.109中间件是一种独立的系统软件或服务程序,中间件是一种独立的系统软件或服务程序,其主要目的是实现应用与平台的无关性。其主要目的是实现应用与平台的无关性。中间件主要分为中间件主要分为5类:类:n数据库访问中间件数据库访问中间件n远程过程调用中间件远程过程调用中间件n面向消息中间件面向消息中间件n分布式对象中间件分布式对象中间件n事务处理中间件事务处理中间件第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 453.6 典型应用集成技术典型应用集成技术3.6.1 数据库与数据仓库技术数据库与数据仓
47、库技术P.111数据库技术以单一的数据资源即数据库为中心,数据库技术以单一的数据资源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处进行事务处理、批处理、决策分析等各种数据处理工作,主要包括理工作,主要包括操作型处理操作型处理和和分析型处理分析型处理。传统数据库系统主要强调优化组织的日常事务传统数据库系统主要强调优化组织的日常事务处理工作,难以实现对数据分析处理要求,无法处理工作,难以实现对数据分析处理要求,无法满足数据处理多样化的要求。满足数据处理多样化的要求。操作型处理和分析型处理的分离成为必然。操作型处理和分析型处理的分离成为必然。第第3讲讲 信息系统集成专业技术知识信息系统集
48、成专业技术知识掌握掌握/87 463.6 典型应用集成技术典型应用集成技术3.6.1 数据库与数据仓库技术数据库与数据仓库技术P.111数据仓库是一个面向主题的、集成的、相对稳数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。定的、反映历史变化的数据集合。数据仓库用于支持管理决策,这是它的一个最数据仓库用于支持管理决策,这是它的一个最主要和最关键的特点与功能。主要和最关键的特点与功能。数据仓库的系统结构分为数据源、数据的存储数据仓库的系统结构分为数据源、数据的存储与管理、联机事务处理和前端工具等与管理、联机事务处理和前端工具等4个层次,如个层次,如图图3-11所示。所示。第
49、第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 473.6 典型应用集成技术典型应用集成技术3.6.2 WEB 服务技术服务技术P.113WebWeb服务(服务(Web ServicesWeb Services)是指由企业发布的完成其)是指由企业发布的完成其特别商务需求的在线应用服务,其它公司或应用软件特别商务需求的在线应用服务,其它公司或应用软件能够通过能够通过InternetInternet来访问并使用这项在线服务。来访问并使用这项在线服务。WebWeb服务技术促进了因特网上企业之间的协作,使用服务技术促进了因特网上企业之间的协作,使用WebWeb服务可以使合作伙
50、伴的信息系统之间更容易地进行服务可以使合作伙伴的信息系统之间更容易地进行通信。但随之而来的问题是:如何集成来自不同企业通信。但随之而来的问题是:如何集成来自不同企业的服务?的服务?为了使为了使WebWeb服务易于使用,众多组织已经致力于服务易于使用,众多组织已经致力于WebWeb服服务技术,进行标准协议的制定,提供务技术,进行标准协议的制定,提供WebWeb服务的创建工服务的创建工具和解决方案。具和解决方案。第第3讲讲 信息系统集成专业技术知识信息系统集成专业技术知识掌握掌握/87 483.6 典型应用集成技术典型应用集成技术3.6.2 WEB 服务技术服务技术P.113WebWeb服务的主要