第三章 信息系统集成专业技术知识
2021-04-25 10:50:02 38 举报
AI智能生成
信息系统集成项目管理工程师
作者其他创作
大纲/内容
信息系统集成
是指将计算机软件、硬件、网络通信等技术和产品集成为能满足用户特定需求的信息系统,包括总体策划、设计开发、实施、服务及保障。
特点:①以满足用户需求为根本出发点。
②不只是设备选择和供应,更重要的是具有高技术含量的工程过程,要向用户需求提供完全解决方案,其核心是软件。
③系统集成的最终交付物是一个完整的系统而不是一个分立的产品。
④系统集成包括技术、管理和商务等各项活动。
②不只是设备选择和供应,更重要的是具有高技术含量的工程过程,要向用户需求提供完全解决方案,其核心是软件。
③系统集成的最终交付物是一个完整的系统而不是一个分立的产品。
④系统集成包括技术、管理和商务等各项活动。
分类
设备系统集成:①智能建筑系统集成(智能小区系统集成)②计算机网络系统集成③安防系统集成
应用系统集成:从系统的高度提供符合客户需求的应用系统模式并实现该系统模式的具体技术解决方案和运维方案,即为用户提供一个全面的系统解决方案。应用系统集成又称为行业信息化解决方案集成,已经深入到用户具体业务和应用层面。应用系统集成可以说是hi系统集成的高级阶段。
设备系统集成:①智能建筑系统集成(智能小区系统集成)②计算机网络系统集成③安防系统集成
应用系统集成:从系统的高度提供符合客户需求的应用系统模式并实现该系统模式的具体技术解决方案和运维方案,即为用户提供一个全面的系统解决方案。应用系统集成又称为行业信息化解决方案集成,已经深入到用户具体业务和应用层面。应用系统集成可以说是hi系统集成的高级阶段。
信息系统建设
生命周期:立项、开发、运维、消亡
①立项阶段:概念的形成和需求分析过程 产物(需求规范说明书)
②开发阶段:总体规划阶段、系统分析阶段、系统设计阶段、实施阶段、系统验收阶段
③运维阶段:通过验收后,正式移交给客户,进行运维阶段,长时间的有效运行是检验系统质量的试金石
④消亡阶段:用户单位应该在信息系统建设的初期就注意系统消亡条件和时机,以及由此而花费的成本。
①立项阶段:概念的形成和需求分析过程 产物(需求规范说明书)
②开发阶段:总体规划阶段、系统分析阶段、系统设计阶段、实施阶段、系统验收阶段
③运维阶段:通过验收后,正式移交给客户,进行运维阶段,长时间的有效运行是检验系统质量的试金石
④消亡阶段:用户单位应该在信息系统建设的初期就注意系统消亡条件和时机,以及由此而花费的成本。
信息系统开发方法:结构法、原型法、面向对象方法
结构法特点:用户至少、严格区分工作阶段、强调开发过程的整体性和全局性、系统开发过程工程化,文档资料标准化。
原型法特点:实际可行、具有最终系统的基本特征、构造方便、快速、造价低;原型费雷:抛弃型原型、进化型原型
面向对象方法的基本思想:①客观事物是由对象组成的,对象实在原始物基础上抽象的结果。②对象是由属性和操作组成的,其属性反映了对象的数据信息特征,而操作则用来定义改变对象属性状态的各种操作方式。③对象之间的联系通过消息传递机制来实现,而消息传递的方式是通过消息传递模式和方法所定义的操作过程来完成的。④对象可以按其属性来归类,借助类的层次结构,子类可以通过继承机制获得其父类的特性。途对象具有封装特性,一个对象就构成一个严格模块化的试题,在系统开发中可被共享和重复引用,达到软件复用的目的。
组合方法:结构化方法和原型法组合应用、结构化方法和面向对象方法组合应用③原型法与面向对象的组合应用
结构法特点:用户至少、严格区分工作阶段、强调开发过程的整体性和全局性、系统开发过程工程化,文档资料标准化。
原型法特点:实际可行、具有最终系统的基本特征、构造方便、快速、造价低;原型费雷:抛弃型原型、进化型原型
面向对象方法的基本思想:①客观事物是由对象组成的,对象实在原始物基础上抽象的结果。②对象是由属性和操作组成的,其属性反映了对象的数据信息特征,而操作则用来定义改变对象属性状态的各种操作方式。③对象之间的联系通过消息传递机制来实现,而消息传递的方式是通过消息传递模式和方法所定义的操作过程来完成的。④对象可以按其属性来归类,借助类的层次结构,子类可以通过继承机制获得其父类的特性。途对象具有封装特性,一个对象就构成一个严格模块化的试题,在系统开发中可被共享和重复引用,达到软件复用的目的。
组合方法:结构化方法和原型法组合应用、结构化方法和面向对象方法组合应用③原型法与面向对象的组合应用
软件工程
软件需求
软件需求是一个为解决特定问题而必须由被开发或者被修改的软件展示的特性。特定的软件需求在外延上通常是来自一个组织不同层次的不同人员的需求和来自软件将要在其中运行的环境的需求的复杂组合。基本特性是可验证性。
需求分析的过程:
①检测和解决需求之间的冲突
②发现软件表姐,以及软件与其环境如何交互
③详细描述系统需求,以导出软件需求。
①检测和解决需求之间的冲突
②发现软件表姐,以及软件与其环境如何交互
③详细描述系统需求,以导出软件需求。
软件设计、维护与测试
软件设计是"定义一个系统或组件的架构、组件、接口和其他特征的过程",并得到这个过程的结果。
软件设计由两个处于软件需求和软件构造之间的活动组成。
软件架构设计:描述软件的结构和组织,表示各种不同的组件。
软件详细设计:详细描述各组件,使之能被构造。
软件架构是一个描述软件系统的子系统和组件,以及它们之间相互关系的学科。架构师徒定义软件的内部结构。通过视图可以从不同的角度描述软件结构,主要包括逻辑视图(满足功能需求)、过程视图(并发问题)、组件视图(实现问题)、部署视图(分布问题)
模式提供了架构设计的某些方法。模式是”给定上下文中普遍问题的普遍解决方案“,主要涉及设计模式(微观结构模式)和架构模式(宏观架构)
软件设计由两个处于软件需求和软件构造之间的活动组成。
软件架构设计:描述软件的结构和组织,表示各种不同的组件。
软件详细设计:详细描述各组件,使之能被构造。
软件架构是一个描述软件系统的子系统和组件,以及它们之间相互关系的学科。架构师徒定义软件的内部结构。通过视图可以从不同的角度描述软件结构,主要包括逻辑视图(满足功能需求)、过程视图(并发问题)、组件视图(实现问题)、部署视图(分布问题)
模式提供了架构设计的某些方法。模式是”给定上下文中普遍问题的普遍解决方案“,主要涉及设计模式(微观结构模式)和架构模式(宏观架构)
软件测试:软件测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为ie,在有限测试用例集合上,动态验证能否到达预期的行为,需要选取适当的测试用例。
交付后的软件失效的补救措施是由软件维护达成的。
软件测试随开发和维护过程,通常在不同的级别上进行,可以在概念上区分三个打的测试阶段:
①单元测试②集成测试③系统测试
交付后的软件失效的补救措施是由软件维护达成的。
软件测试随开发和维护过程,通常在不同的级别上进行,可以在概念上区分三个打的测试阶段:
①单元测试②集成测试③系统测试
软件维护:需要提供软件支持的全部活动,包括在交付前后的活动。交付前的活动包括:交付后运行的计划和运维计划。交付后的活动包括:软件修改、培训、帮助资料。
维护类型:
①更正性维护:交付后进行修改,更正发现问题
②适应性维护:产品交付后进行修改,以保持软件产品能在变化后或变化中的环境可以继续使用
③完善性维护:软件产品交付后进行修改,以改进性能和维护性。
④预防性维护:软件产品交付后进行修改,以防在软件产品中的潜在错误成为实际错误潜,检测和更正它们。
维护类型:
①更正性维护:交付后进行修改,更正发现问题
②适应性维护:产品交付后进行修改,以保持软件产品能在变化后或变化中的环境可以继续使用
③完善性维护:软件产品交付后进行修改,以改进性能和维护性。
④预防性维护:软件产品交付后进行修改,以防在软件产品中的潜在错误成为实际错误潜,检测和更正它们。
软件复用:是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。
主要思想:把软件看成是由不同功能的”组件“所组成的有机体,每个组件在设计编写时可以被设计成完成同类工作的通用工具。
面向对象的软件开发和软件复用之间的关系是相辅相成的。一方面,面向对象的方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件提供了有利的支持。
主要思想:把软件看成是由不同功能的”组件“所组成的有机体,每个组件在设计编写时可以被设计成完成同类工作的通用工具。
面向对象的软件开发和软件复用之间的关系是相辅相成的。一方面,面向对象的方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件提供了有利的支持。
软件质量保证及质量评价
IS014598 软件质量:软件特性的综合,软件满足规定或潜在用户需求的能力。也就是说,质量就是遵从用户需求,达到用户满意。
ISO09126 软件质量包括”内部质量“、”外部质量“和”使用质量“三部分,也就是说,软件满足规定或潜在用户需求的能力”要从软件的内部、外部和使用中的表现来衡量。
软件质量管理过程包括:质量保证过程、验证过程、确认过程、评审过程、审计过程
①软件质量保证:通过计划制定、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求。
②验证与确认:使用能够定位缺陷并与以后改正的测试技术直接处理软件产品的质量问题。
③审计与评审过程包括:管理评审、技术评审、检查走查、审计等。管理评审的目的是监控进展,决定计划和进度的状态,确认需求及其系统分配。技术评审的目的是评价软件产品;检查的目的是检测和识别软件产品异常;审计是正式组织的活动,识别违例情况,并产生一个报告,采取更正性行动。
④
ISO09126 软件质量包括”内部质量“、”外部质量“和”使用质量“三部分,也就是说,软件满足规定或潜在用户需求的能力”要从软件的内部、外部和使用中的表现来衡量。
软件质量管理过程包括:质量保证过程、验证过程、确认过程、评审过程、审计过程
①软件质量保证:通过计划制定、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求。
②验证与确认:使用能够定位缺陷并与以后改正的测试技术直接处理软件产品的质量问题。
③审计与评审过程包括:管理评审、技术评审、检查走查、审计等。管理评审的目的是监控进展,决定计划和进度的状态,确认需求及其系统分配。技术评审的目的是评价软件产品;检查的目的是检测和识别软件产品异常;审计是正式组织的活动,识别违例情况,并产生一个报告,采取更正性行动。
④
软件开发环境
软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。
软件需求工具:建模工具、需求总追工具
软件设计工具:用于创建和检查软件设计,因为软件设计方法的多样性,这类工具的种类很多。
软件构造工具:程序编辑器
软件测试工具:包括测试生成器、编译器和代码生成器、解释器、调试器等。测试执行框架、测试评价工具、测试管理工具等
软件维护工具:理解工具(如可视化工具)和再造工具(如重构工具)
软件配置管理工具:包括追踪工具、版本管理工具和发布工具
软件工程管理工具:项目计划和追踪工具、风险管理工具和度量工具。
软件工程过程工具:建模工具、管理工具、软件开发环境。
软件质量工具:检查工具、分析工具
软件过程管理
启动和范围定义
进行启动软件工程项目的活动并做出决定。通过各种方法来有效地确定软件需求,并从不同的角度评估项目的可行性。一旦可行性建立后,余下的任务就是需求验证和变更流程的规范说明。
软件项目计划
进行为成功的软件工程作准备而要采取的活动。使用迭代方式制定计划。要点在于评价并确定适当的软件使命周期过程,并完成相关的工作。
软件项目实施
进行软件工程过程中发生的各种软件工程管理活动。实施项目计划,最重要的是遵循计划,并完成相关工作。
评审和审计
进行确认软件是否得到满足的验证活动
关闭
进行软件工程项目完成后的活动。在这一阶段,重新审查项目成功的准则。一旦关闭成立,进行归档、事后分析和过程改进活动。
软件工程度量
进行在软件工程组织中有效地开发和实现度量的程序。
面向对象系统分析与设计
基本概念
对象:对象是由数据及其操作所组成的封装体,是系统中用来描述客观事物的一个封装,是构成系统的基本单位,采用计算机语言描述,对象是由一组属性和这组属性进行操作的一组服务构成。
三个基本要素:对象标识、对象状态、对象行为。
三个基本要素:对象标识、对象状态、对象行为。
类:类是现实世界中实体的形式化描述,类将该实体的数据和函数封装在一起。类的数据也叫属性、状态或特征,它表现类静态的一面。类的函数也叫功能、操作、服务,表现为类动态的一面。
类和对象的关系:对象是类的实际例子。如果将对象比作房子,那么类就是房子的设计图纸。
①每一个对象都是某一个类的实例。
②每一个类在某一时刻都有零或更多实例。
③类是静态,它们的存在、语义和关系在程序执行前就已经定义好了,对象是动态的。它们在程序执行时可以被创建和删除。
④类是生成对象的模板
①每一个对象都是某一个类的实例。
②每一个类在某一时刻都有零或更多实例。
③类是静态,它们的存在、语义和关系在程序执行前就已经定义好了,对象是动态的。它们在程序执行时可以被创建和删除。
④类是生成对象的模板
抽象:抽象是通过特特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象。
封装:是将相关的概念组成一个单元,然后通过一个名词来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外的接口进行。
继承:表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征(attributes)和能力(operations),继承可以分为单继承和多继承,单继承是子类从一个父类继承,多继承中的子类可以从多个父类继承。Java是单继承,而C++允许多继承。
多态:多态性是一种方法,这种方法使得在多类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。
接口:所谓接口就是说对操作规范的说明。接口知识说明操作应该做什么(What),但是没有定义操作应该做什么(How)。接口可以理解成为类的一个特例,它只规定实现此接口的操作方法,而把真正的实现细节由实现该接口的类去实现。
接口在面向对象和设计过程起到了至关重要的桥梁作用,系统分析员通常先把有待实现的功能封装并定义成接口,而后期程序员依据此接口进行编码实现。
接口在面向对象和设计过程起到了至关重要的桥梁作用,系统分析员通常先把有待实现的功能封装并定义成接口,而后期程序员依据此接口进行编码实现。
消息:是对象间交互的手段。
组件:组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能)并提供了一组接口的实现方法。可以认为组件是一个封装的代码模块或者大粒度的运行模块,也可以将组件理解为具有一定功能、能够独立工作或同其他组件组合起来的协同工作的对象。
对组件的要求:应该按照可复用的要求进行设计、实现、打包、编写文档。组件应该是内聚的,并具有相当稳定的公开的接口。
对组件的要求:应该按照可复用的要求进行设计、实现、打包、编写文档。组件应该是内聚的,并具有相当稳定的公开的接口。
模式:模式是一条由三部分组成的规则,它表示了以个特定的环境、一个问题和一个解决方案之间的关系。每个模式描述了一个不断重复发生的问题,以及该问题的解决方案。这样就能一次又一次的使用该方案而不必做重复劳动。
复用:软件复用是指将已有软件及其有效成分用于构建新的软件或系统。组件技术是软件实现复用的关件。
可视化建模与统一建模语言。
统一建模语言 UML
是一个通用的可视化建模语言,它是面向对象分析和设计的一种标准化表示,用于对软件的描述、可视化处理、构造和建立软件系统的文档。它记录了对所构造的系统的决定和理解,用于对系统的理解、设计、浏览、配置、维护和信息控制。
特征:①不是可视化的程序设计语言,而是可视化的建模语言。
②是一种建模语言规范说明,是面向对象分析与设计的一种标准表示。
③不是过程,也不是方法,但允许任何一种过程和方法使用它。
④简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。
⑤为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用。
⑥与最好的软件工程实践经验集成。
②是一种建模语言规范说明,是面向对象分析与设计的一种标准表示。
③不是过程,也不是方法,但允许任何一种过程和方法使用它。
④简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改。
⑤为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用。
⑥与最好的软件工程实践经验集成。
UML 中的各种组件和概念之间没有明显的划分界限,但为方便起见,用视图来划
分这些概念和组件。视图只是表达系统某一方面特征的UML,建模组件的子集。在每一
类视图中使用一种或多种特定的图来可视化地表示视图中的各种概念
视图被划分成三个视图域:结构、动态行为和模型管理
①结构描述了系统中的结构成员及其相互关系,模型元素包括类、用例、构件和节点。模型元素为研究系统动态行为奠定了基础。结构视图包括静态视图、用例视图和实现视图。
②动态行为描述了系统随时间变化的行为。行为用从静态视图中抽取的瞬间值的变化来描述。动态行为视图包括:状态机视图、活动视图、交互视图。
③模型管理说明了模型的分层组织结构。包是模型的基本组织单元,特殊的包还包括模型和子系统。
分这些概念和组件。视图只是表达系统某一方面特征的UML,建模组件的子集。在每一
类视图中使用一种或多种特定的图来可视化地表示视图中的各种概念
视图被划分成三个视图域:结构、动态行为和模型管理
①结构描述了系统中的结构成员及其相互关系,模型元素包括类、用例、构件和节点。模型元素为研究系统动态行为奠定了基础。结构视图包括静态视图、用例视图和实现视图。
②动态行为描述了系统随时间变化的行为。行为用从静态视图中抽取的瞬间值的变化来描述。动态行为视图包括:状态机视图、活动视图、交互视图。
③模型管理说明了模型的分层组织结构。包是模型的基本组织单元,特殊的包还包括模型和子系统。
①用例图 Use Case Diagram
②类图 Class Diagram
③对象图 Object Diagram
④构件图 Component Diagram
⑤部署图 Deployment Diagram
⑥状态图 State Diagram
⑦序列图 Sequence Diagram
⑧协作图 Collaboration Diagram
⑨活动图 Activity Diagram
②类图 Class Diagram
③对象图 Object Diagram
④构件图 Component Diagram
⑤部署图 Deployment Diagram
⑥状态图 State Diagram
⑦序列图 Sequence Diagram
⑧协作图 Collaboration Diagram
⑨活动图 Activity Diagram
使用面向对象技术进行软件开发的最佳实践 ——RUP
RUP全程为统一软件开发过程。它提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算的前提下,确保满最终用户需求的高质量产品。
RUP提高了团队的生产力,对于所有关键开发活动,它为每个团队成员提供了使用准则、模板、工具指导来进行范文的知识基础。而通过对相同知识基础的理解,无论是进行需求分析、设计、测试项目或者配置管理,均能确保全体成员共享相同的知识、过程和开发软件的视图。
RUP 能对大部分开发过程提供自动化的工具支持。它们被用来创建和维护软件开发
过程(可视化建模、编程、测试等)的各种各样的产物——特别是模型。
RUP 能对大部分开发过程提供自动化的工具支持。它们被用来创建和维护软件开发
过程(可视化建模、编程、测试等)的各种各样的产物——特别是模型。
6个基本最佳实践经验:
①迭代式开发
②需求管理
③使用以组件为中心的软件架构
④可视化软件建模
⑤验证软件质量
⑥控制软件变更
①迭代式开发
②需求管理
③使用以组件为中心的软件架构
④可视化软件建模
⑤验证软件质量
⑥控制软件变更
RUP将周期划分为四个连续阶段:即初始连续阶段、细化阶段、构造阶段、交付阶段。
面向对象系统分析
概念
面向对象的系统分析阶段将运用面向对象的方法分析问题域,建立基于对象、消息的业务规模,形成对客观世界和业务本身的正确认识。
面向对象的分析模型
由用例模型、类、对象模型、对象、关系模型和对象-行为模型组成
用例模型:一个用例模型由若干幅用例图组成,用例描述了用户与系统之间的交互,其重点是系统为用户做什么。用例模型描述全部的系统功能行为。
类对象模型:描述系统所涉及的全部类以及对象。每个类和对象都通过属性、操作和调研者来进一步描述
对象关系模型:描述对象之间的静态关系,同时定义了系统中所有重要的消息路径,它也可以具体化到对象属、操作者和协作者。对象关系模型包括类图、对象图。
对象行为模型
描述了系统的动态行为。对象-行为模型包括状态图、顺序图、协作图和活动图。
面向对象的分析方法
面向对象分析的主要目标:
①建立用户需求
②建立创建软件设计的基础
③定义软件完成后可被确认的一组需求。
②建立创建软件设计的基础
③定义软件完成后可被确认的一组需求。
面向对象分析的步骤
①发现角色/参与者
②发现用例
③建立用例模型 use case model
④进行领域分析
⑤建立对象关系模型
⑥建立对象行为模型
⑦建立功能模型
②发现用例
③建立用例模型 use case model
④进行领域分析
⑤建立对象关系模型
⑥建立对象行为模型
⑦建立功能模型
面向对象系统设计
概念
面向对象的系统设计阶段对分析阶段给出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。
主要内容
设计阶段主要包括用例设计、类设计和子系统设计
用例设计:
①利用交互改进用例实现
②调整对设计类的操作需求
③调整对于系统和它们的接口的操作需求
④调整对封装体的操作需求
①利用交互改进用例实现
②调整对设计类的操作需求
③调整对于系统和它们的接口的操作需求
④调整对封装体的操作需求
类设计:
①确保类可为用例实现提供必须的行为
②确保提供充足的信息来明确无误的实施类
③处理和类有关的非功能性需求
④包含用于类的设计机制
①确保类可为用例实现提供必须的行为
②确保提供充足的信息来明确无误的实施类
③处理和类有关的非功能性需求
④包含用于类的设计机制
子系统设计:
①用所包含类的协作来定义在于系统接口中指定的行为
②记录于系统的内部结构
③定义子系统接口和包含类之间的实现关系
④确定对其他子系统的依赖关系
①用所包含类的协作来定义在于系统接口中指定的行为
②记录于系统的内部结构
③定义子系统接口和包含类之间的实现关系
④确定对其他子系统的依赖关系
软件架构
定义
将软件系统划分成多个模块,明确各个模块之间的相互作用,组合起来实现系统的全部特性,就是系统的架构。通常将一些经过实践证明的、可重复使用的软件架构设计策略总结成架构模式
①软件架构是一个程序或者系统的构件的结构、构件间的关系以及控制构件设计演化 的原则和方针。
②一个系统的软件架构由一组构件、构件间的连接件、构件和连接件的配置以及如何结合在一起的约束限制的描述组成。
③在算法和数据结构之外,设计并确定系统整体结构成了新的问题。结构问题包括总体组织结构和全局控制结构、通信、同步和数据访问的协议、设计元素的功能分配、物理分布、设计元素的组成、可扩展性与性能、备选设计的选择等。
④软件架构所关心的是软件构件及软件构件间的组织结构、约束和关系,是对系统的组成、系统结构及系统如何工作的较为宏观的描述。
①软件架构是一个程序或者系统的构件的结构、构件间的关系以及控制构件设计演化 的原则和方针。
②一个系统的软件架构由一组构件、构件间的连接件、构件和连接件的配置以及如何结合在一起的约束限制的描述组成。
③在算法和数据结构之外,设计并确定系统整体结构成了新的问题。结构问题包括总体组织结构和全局控制结构、通信、同步和数据访问的协议、设计元素的功能分配、物理分布、设计元素的组成、可扩展性与性能、备选设计的选择等。
④软件架构所关心的是软件构件及软件构件间的组织结构、约束和关系,是对系统的组成、系统结构及系统如何工作的较为宏观的描述。
典型架构
软件架构模式描述了某一特定的应用领域中系统的组织方式,它放映了领域中众多系统所共有的结构和语义特性,描述了如何将各个模块和子系统有效组织成一个完整的系统。
1.管道、过滤器模式
每一组构件都有一组输入,输出,构件读取输入流的数据流,经过内部处理后,产生输出数据流。该过程主要完成输入流的变换及增量计算。通常,将这里的构件称为过滤器,其中的连接器就像是数据流传输的管道,将一个过滤器的输出传送到另一个过滤器的输入管道,过滤器输出的正确性并不依赖与过滤器进行增量计算过程的顺序
优点:①体现了各功能模块的“黑盘”特性及高内聚、低耦合的特点。
②可以将整个系统的输入,输出行为看成是多个过滤器行为的简单合成。
③支持软件功能模块的重用。
④便于系统维护:新的过滤器可以添加到现有系统中来,旧的可以由改进的过滤器替换。
⑤支持某些特定的分析,如吞吐量计算、死锁检测。
⑥支持并行操作,每个过滤器可以作为一个单独的任务完成。
缺点:①通常导致系统处理过程的成批操作。
②需要设计者协调两个相对独立但又存在关系的数据流。
③可能需要每个过滤器自己完成数据解析和合成工作(如加密和解密),从而导致系统性能下降,并增加了系统具体实现的复杂性。
②可以将整个系统的输入,输出行为看成是多个过滤器行为的简单合成。
③支持软件功能模块的重用。
④便于系统维护:新的过滤器可以添加到现有系统中来,旧的可以由改进的过滤器替换。
⑤支持某些特定的分析,如吞吐量计算、死锁检测。
⑥支持并行操作,每个过滤器可以作为一个单独的任务完成。
缺点:①通常导致系统处理过程的成批操作。
②需要设计者协调两个相对独立但又存在关系的数据流。
③可能需要每个过滤器自己完成数据解析和合成工作(如加密和解密),从而导致系统性能下降,并增加了系统具体实现的复杂性。
面向对象模式
面向对象模式建立在数据抽象和面向对象的基础上,将数据的表示方法及其相应操作封装在一个抽象数据类型或对象中。面向对象模式的典型应用是基于构件的软件开发(Component-Based Development,CBD)
优点:①高度模块化
②封装功能实现了数据隐藏
③继承性提供了一种实现代码共享的手段
④提供了系统的灵活性,便于维护及扩充
②封装功能实现了数据隐藏
③继承性提供了一种实现代码共享的手段
④提供了系统的灵活性,便于维护及扩充
缺点:对象之间的调用需要知道对象的标识。如果对象标识发生改变,就必须通知所有调用该对象的对象。否则系统将可能无法正常运作
事件驱动模式
构件并不直接调用过程,而是触发一个或多个事件。系统中的其他构件可以注册相关事件,触发一个事件时,系统会自动调用注册了该事件的构件过程,即触发事件会导致另一构件中过程的调用。
主要特点是:触发者并不知道哪些构件会受到事件的影响,且不能假定构件的处理顺序,甚至不知道会调用哪些过程,使用事件驱动模式的典型系统包括各种图形界面工具。
主要特点是:触发者并不知道哪些构件会受到事件的影响,且不能假定构件的处理顺序,甚至不知道会调用哪些过程,使用事件驱动模式的典型系统包括各种图形界面工具。
优点:①支持软件重用,容易实现并发处理
②具有良好的可扩展性,通过注册可引入新的构件,而不影响现有构件。
③可以简化客户代码
缺点:
①构件削弱了自身对系统的控制能力。一个构件触发事件时,并不能确定响应该事件的其他构件及各构件的执行顺序。
②不能很好的解决数据交换的问题
③是系统各构件的逻辑关系变得更加复杂
②具有良好的可扩展性,通过注册可引入新的构件,而不影响现有构件。
③可以简化客户代码
缺点:
①构件削弱了自身对系统的控制能力。一个构件触发事件时,并不能确定响应该事件的其他构件及各构件的执行顺序。
②不能很好的解决数据交换的问题
③是系统各构件的逻辑关系变得更加复杂
分层模式
采用层次化组织的方式,每一层都是为上一层服务,并使用下一层提供的功能。这种模式允许将一个复杂问题逐步分层实现。层次模式中的每一层最多之影响两层,只要给相邻提供相同的接口,就允许每层用不同的方法实现,可以充分支持软件复用。
分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。
分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。
优点:①有助于把复杂的问题按功能分解,使整体设计更为清晰。
②支持系统设计的逐级抽象。
③较好的可扩展性
④支持复用
缺点:①并不是每个系统都可以很容易的划分出层次来;同时,各层功能的划分也没有一个统一的、正确的抽象方法。
②层次的个数过多,系统的性能会下降。
②支持系统设计的逐级抽象。
③较好的可扩展性
④支持复用
缺点:①并不是每个系统都可以很容易的划分出层次来;同时,各层功能的划分也没有一个统一的、正确的抽象方法。
②层次的个数过多,系统的性能会下降。
知识库模式
采用两个不同的软件:中央数据结构构件说明当前状态,独立构件在中央数据存储上执行,中央数据构件与独立的外部构件间的相互作用是系统的主要问题。知识库由两种不同的控制策略,如果输入流触发进程执行选择,基于传统数据库型的知识库模式;如果中央数据结构的当前状态触发进程执行的选择,则为基于黑板系统的知识库模式。
黑板系统的典型应用是信号处理领域,如语言和模式识别
黑板系统的典型应用是信号处理领域,如语言和模式识别
黑板系统的三个组成部分
① 知识源:包含独立的、与应用程序相关的只是,知识源之间不直接进行通讯,他们之间的交互只通过黑板来完成。
②黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源通过不断地改变黑板数据来解决问题
③控制:完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识
① 知识源:包含独立的、与应用程序相关的只是,知识源之间不直接进行通讯,他们之间的交互只通过黑板来完成。
②黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源通过不断地改变黑板数据来解决问题
③控制:完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识
客户机/服务器模式
C/S模式是基于资源不对等,为实现共享而提出的。C/S模式将应用一分为二,服务器(后台)负责处理数据管理,客户机完成与用户的交互。C/S模式具有强大的数据操作和事务处理能力。
优点:① 客户机与服务器分离,允许网络分布操作,二者的开发也可分开同时进行。
②一个服务器可以服务于多个客户机
缺点:①客户机与服务器的通讯依赖于网络,可能成为整个系统的运作瓶颈,服务器的负荷过重,难以管理大量的客户机,系统的性能受到很大的影响。
②如果服务器机器界面定义有改变,客户机也要做相应改变。
③二层C/S模式采用单一服务器且与局域网为中心,难以扩展至广域网或Internet
④数据库安全性不好,客户端程序可以直接访问数据库服务器,使数据库的安全性收到威胁。
C/S模式适用于分布式系统,得到了广泛应用,为了解决C/S模式模式中客户端的问题,发展形成了浏览器服务器模式B/S模式。
②一个服务器可以服务于多个客户机
缺点:①客户机与服务器的通讯依赖于网络,可能成为整个系统的运作瓶颈,服务器的负荷过重,难以管理大量的客户机,系统的性能受到很大的影响。
②如果服务器机器界面定义有改变,客户机也要做相应改变。
③二层C/S模式采用单一服务器且与局域网为中心,难以扩展至广域网或Internet
④数据库安全性不好,客户端程序可以直接访问数据库服务器,使数据库的安全性收到威胁。
C/S模式适用于分布式系统,得到了广泛应用,为了解决C/S模式模式中客户端的问题,发展形成了浏览器服务器模式B/S模式。
软件架构设计方法
软件架构设计是动态的,设计的初期并不能完全记录下来,这与建筑设计不同,由于架构设计伴随着整个项目的进行,因此整个过程一定要把握架构设计的目标。
软件架构的总体目标如下:
① 最大化复用:复用包括构件的复用和设计模式的使用的多个方面。
②复杂问题简单化:这也是中间件或多层技术的根本目标。在设计过程中,如果需要多个类协调完成某些功能时,应能正确的使用适当的设计模式。
③灵魂的扩展性:灵活的扩展性使得用户可以在架构上进行二次开发或更加具体的开发。
① 最大化复用:复用包括构件的复用和设计模式的使用的多个方面。
②复杂问题简单化:这也是中间件或多层技术的根本目标。在设计过程中,如果需要多个类协调完成某些功能时,应能正确的使用适当的设计模式。
③灵魂的扩展性:灵活的扩展性使得用户可以在架构上进行二次开发或更加具体的开发。
模式和系统架构有很大的相似性,都是处理一些抽象概念间的关系,但是二者有很大的不同。模式是领域无关的,解决某些抽象问题,而系统架构则针对要解决的实际问题,是领域相关的。可以通过对问题领域的分析、分解找到解决问题相匹配的模式,把各种模式结合在一起构建整个系统架构。
软件架构的分析与评估
对于目前广泛使用分布式应用,其软件架构需要考虑如下问题:
①关系数据库与对象数据库的选择问题:应尽量采用关系型数据库。关系型数据库本身已较为成熟,并且有很好的第三方厂商工具的知识。对象数据库没有关系数据库系统成熟,设计出的系统可移植性差。
②用户界面选择使用HTML,HTML界面的开发和维护比起图形界面应用程序更容易,此外,HTML使用的HTTP协议可以穿越防火墙,解决Internet应用中的一个重要问题。
③灵活性和性能的考虑:开发系统前,需要权衡独立于厂商抽象定义所提供的灵活性和特定厂商产品带来的性能。
④技术的选择:选择成熟的技术可以规避项目风险,掌握技术不仅需要理解技术以及怎么运用,还需要理解技术的适用范围和局限性。
⑤聘请经验丰富的软件架构设计师,可以有效的保证项目的成功。
①关系数据库与对象数据库的选择问题:应尽量采用关系型数据库。关系型数据库本身已较为成熟,并且有很好的第三方厂商工具的知识。对象数据库没有关系数据库系统成熟,设计出的系统可移植性差。
②用户界面选择使用HTML,HTML界面的开发和维护比起图形界面应用程序更容易,此外,HTML使用的HTTP协议可以穿越防火墙,解决Internet应用中的一个重要问题。
③灵活性和性能的考虑:开发系统前,需要权衡独立于厂商抽象定义所提供的灵活性和特定厂商产品带来的性能。
④技术的选择:选择成熟的技术可以规避项目风险,掌握技术不仅需要理解技术以及怎么运用,还需要理解技术的适用范围和局限性。
⑤聘请经验丰富的软件架构设计师,可以有效的保证项目的成功。
软件中间件
概念
为解决分布系统的异构问题,人们提出中间件(Middleware)概念
中间件是位于硬件、操作系统等平台和应用中间的通用服务。这些服务具有标准的程序接口和协议。不同的硬件及操作系统平台,可以有符合接口和协议规范的多种实现。
中间件是位于硬件、操作系统等平台和应用中间的通用服务。这些服务具有标准的程序接口和协议。不同的硬件及操作系统平台,可以有符合接口和协议规范的多种实现。
特点
中间件是一种独立的系统软件或者服务程序,可以帮助分布式应用软件在不同的技术之间共享资源。它位于客户端/服务器的操作系统hi上,管理计算机资源和网络通信。其主要目的是实现应用与平台的无关性。满足大量应用需要、运行于多种硬件与操作系统平台、支持分布计算、提供跨网络硬件,操作系统平台的应用或服务的透明交互、支持标准的协议、支持标准的接口。
分类
数据库访问中间件
数据库访问中间件通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型的技术如Windows平台的ODBC和Java的JDBC
远程过程调用
Remote Procedure Call RPC,是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来”远程“执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。事实上RPC应用分为两个部分:服务器和客户机,服务器提供一个或多个远程过程;客户机向服务器发出远程调用。服务器和客户机可以位于同一台计算机,也可以位于不同的计算机,甚至可以运行不同的操作系统上。RPC所提供的是基于过程的服务访问,客户机与服务器进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。
面向消息中间件
Message-Oriented Middleware,MOM)利用高效可靠的消息传递机制进行平台无关的数据交流,并可基于数据通信进行分布系统的集成。通过提供消息传递和消息排队模型,可在分布环境下扩展进程间的通信,并支持多种通讯协议、语言、应用程序、硬件和软件平台。典型的产品如IBM的MQSeries。
通过使用MOM,通信双方的程序(称其为消息客户程序)可以在不同的时间运行,程序不在网络上直接通话,而是间接的将消息放入MOM服务器的消息机制中。因为程序间没有直接的联系,所以它们不必同时运行;消息放入适当的队列时,目标程序不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。消息客户程序之间通过将消息放入消息队列或者在从消息队列去除消息来进行通讯。客户程序不直接与其他程序通讯,避免了网络通讯的复杂性。消息队列和网络通信的维护工作由MOM完成。
通过使用MOM,通信双方的程序(称其为消息客户程序)可以在不同的时间运行,程序不在网络上直接通话,而是间接的将消息放入MOM服务器的消息机制中。因为程序间没有直接的联系,所以它们不必同时运行;消息放入适当的队列时,目标程序不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。消息客户程序之间通过将消息放入消息队列或者在从消息队列去除消息来进行通讯。客户程序不直接与其他程序通讯,避免了网络通讯的复杂性。消息队列和网络通信的维护工作由MOM完成。
分布式对象中间件
随着对象技术与分布式计算技术的发展,两者相互结合形成了分布式对象技术,并发展出当局软件技术的主流方向。典型的产品如OMG的CORBA,SUN的RIVU/EJB 、Microsoft的DCOM等。
事务中间件
也称事务处理监控器(Transaction Processing Monitor,TPM)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术发展,发布应用系统对大规模的处理也提出了需求。事务处理监控程序位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,且提高系统的整体性能。典型产品如BEA的Tuxedo,今年还出现了新一类产品,即对象事务监控器(Object Transaction Monitor,OTM),可以保证分布式对象的事务完整性,支持EJB的J2EE应用服务器就属于该类产品。
事务处理监控器在操作系统之上提供了一组服务,可以对客户请求进行管理并为其分配相应的服务进程,使用服务器在有限的系统资源下能够高效的为大量客户提供服务。
事务处理监控器在操作系统之上提供了一组服务,可以对客户请求进行管理并为其分配相应的服务进程,使用服务器在有限的系统资源下能够高效的为大量客户提供服务。
典型应用集成技术
数据库与数据仓库技术
传统数据库技术以单一的数据资源数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,
主要由操作型处理和分析型处理两类。
操作型处理也称为事务处理,指的是对联机数据库的日常操作,通常时对数据库的查修和修改,主要为企业的特定应用服务,强调处理的响应时间,数据的安全性和完整性等。
分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。传统数据库系统主要强调的是优化企业的日常事务处理工作,难以实现对数据分析处理要求,无法满足多样化需求,因此操作型处理和分析型处理的分离成为必然。
主要由操作型处理和分析型处理两类。
操作型处理也称为事务处理,指的是对联机数据库的日常操作,通常时对数据库的查修和修改,主要为企业的特定应用服务,强调处理的响应时间,数据的安全性和完整性等。
分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。传统数据库系统主要强调的是优化企业的日常事务处理工作,难以实现对数据分析处理要求,无法满足多样化需求,因此操作型处理和分析型处理的分离成为必然。
数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。①数据仓库用于决策支持,面向分析型数据处理。②数据仓库是对多个异构数据源的有效集成。集成后按主题重组,且存在放在数据仓库的数据一般不再修改。
与操作数据库相比,数据仓库的主要特点如下:
①面向主题:操作型数据库的数据面向事务处理,各个业务系统之间各自分离,而数据仓库中的数据按主题进行组织,主题指的是用户使用数据仓库进行决策时关心的某些方面,一个主题通常与多个操作型系统相关。
②集成:面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往时异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,消除了源数据中的不一致性,保证数据仓库内的信息是整个企业的一致性的全局信息。
③相对稳定:操作型数据库中的数据通常是实时更新的,数据根据需要即使发生变化。而数据仓库的数据主要供企业分析之用,所涉及的数据操作主要是数据查询,只是少量的修改和删除操作,通常只需要定期加载、刷新。
④反映历史变化:操作型数据库主要关心当前某一个时间段内的数据,而数据仓库的数据通常包含历史信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
①面向主题:操作型数据库的数据面向事务处理,各个业务系统之间各自分离,而数据仓库中的数据按主题进行组织,主题指的是用户使用数据仓库进行决策时关心的某些方面,一个主题通常与多个操作型系统相关。
②集成:面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往时异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,消除了源数据中的不一致性,保证数据仓库内的信息是整个企业的一致性的全局信息。
③相对稳定:操作型数据库中的数据通常是实时更新的,数据根据需要即使发生变化。而数据仓库的数据主要供企业分析之用,所涉及的数据操作主要是数据查询,只是少量的修改和删除操作,通常只需要定期加载、刷新。
④反映历史变化:操作型数据库主要关心当前某一个时间段内的数据,而数据仓库的数据通常包含历史信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
数据仓库的建设:是以现有企业业务系统和大量业务数据的积累为基础的。数据仓库系统的结构通常包含4各层次
①数据源是数据仓库系统的基础,通常包括企业内部和外部信息。内部信息包括存放于数据库中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等。
②数据的存储与管理是整个数据仓库的核心。数据仓库的组织管理方式决定了其对外部数据的表现形式。需要根据数据仓库的特点决定所采用的产品和技术。数据仓库按照数据的覆盖范围分为企业级数据仓库和部门及数据仓库(通常称为数据集市)两个。
③OLAP服务器对分析需要的数据进行有效集成。按照多维模型组织,以便进行多角度、多层次的分析,并发现趋势。具体实现可以分为ROLAP、MOLAP和HOLAP。ROLAP的基本数据和聚合数据均存在放在关系数据库中。MOLAP的基本数据和聚合数据均存放在多维数据库中;HOLAP的基本数据存放在关系数据库中。聚合数据存放在多维数据库中。
④前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
①数据源是数据仓库系统的基础,通常包括企业内部和外部信息。内部信息包括存放于数据库中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等。
②数据的存储与管理是整个数据仓库的核心。数据仓库的组织管理方式决定了其对外部数据的表现形式。需要根据数据仓库的特点决定所采用的产品和技术。数据仓库按照数据的覆盖范围分为企业级数据仓库和部门及数据仓库(通常称为数据集市)两个。
③OLAP服务器对分析需要的数据进行有效集成。按照多维模型组织,以便进行多角度、多层次的分析,并发现趋势。具体实现可以分为ROLAP、MOLAP和HOLAP。ROLAP的基本数据和聚合数据均存在放在关系数据库中。MOLAP的基本数据和聚合数据均存放在多维数据库中;HOLAP的基本数据存放在关系数据库中。聚合数据存放在多维数据库中。
④前端工具主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
Web Service 技术
Web服务(Web Service)定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTPS协议传送XML表示封装的内容。Web服务的典型技术包括:用于传递信息的简单对象访问协议(Simple Object Access Protocol,SOAP)用于描述服务的Web服务描述言语(Web Services Description Language,WSDL)、用于Web服务的注册的同意描述、发现及集成(Universal Description Discovery and Integration,UDDI)用于数据交互的XML。
Web服务的主要目标是跨平台的操作性,适用使用Web Services的情况如下:
①跨防火墙②应用程序集成③B2B集成④软件充裕
在某些情况下,Web服务也可能会降低应用程序的性能。不适用:
①单机应用程序:只与运行在本地机器上的其他程序进行通信的桌面应用程序。
②局域网上的同构应用程序:使用同一种语言开发的在相同平台的同一个局域网
中运行的应用程序直接通过TCP 等协议调用,会更有效。
①跨防火墙②应用程序集成③B2B集成④软件充裕
在某些情况下,Web服务也可能会降低应用程序的性能。不适用:
①单机应用程序:只与运行在本地机器上的其他程序进行通信的桌面应用程序。
②局域网上的同构应用程序:使用同一种语言开发的在相同平台的同一个局域网
中运行的应用程序直接通过TCP 等协议调用,会更有效。
J2EE架构、 .NET 架构
Java 2 Platform Enterprise Edition
是Sun公司主导、被厂商共同制定并得到广泛认可的工业标准。
J2EE应用将开发工作分为两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器自己处理,不必为中间层的资源和运行管理进行编码。
J2EE应用将开发工作分为两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器自己处理,不必为中间层的资源和运行管理进行编码。
技术规范四部分:
①J2EE平台:运行 J2EE应用的环境标准,由一组J2EE规范组成。
②J2EE应用编程模型:用于开发多层次客户应用程序的标准设计模型,由Sun提供应用蓝图
③J2EE兼容测试套件:用来检测产品是否同J2EE平台兼容。
④J2EE参考实现:与平台规范同时提供的、实现J2EE平台基本功能的J2EE服务器运行环境
J2EE应用服务器运行环境包括构件(Component)、容器(Container)及服务(Services)三部分。构件是表示应用逻辑的代码:容器时构件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。
①J2EE平台:运行 J2EE应用的环境标准,由一组J2EE规范组成。
②J2EE应用编程模型:用于开发多层次客户应用程序的标准设计模型,由Sun提供应用蓝图
③J2EE兼容测试套件:用来检测产品是否同J2EE平台兼容。
④J2EE参考实现:与平台规范同时提供的、实现J2EE平台基本功能的J2EE服务器运行环境
J2EE应用服务器运行环境包括构件(Component)、容器(Container)及服务(Services)三部分。构件是表示应用逻辑的代码:容器时构件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。
J2EE规范包含了一系列构件及服务技术规范:
①JNDI:Java命名和目录服务,提供了统一、无缝的标准化名字
②Servlet:Java Servlet 是运行在服务器上的一个小程序,用于提供以构件为基础、独立于平台的Web应用。
③JSP:Java Servlet的一种扩展,使创建静态模板和动态内容相结合的HTML和XML页面更加容易。
④EJB:实现应用中关键的业务逻辑,创建基于构件的企业级应用程序。EJB在应用服务器的EJB容器内运行,由容器提供所有基本的中间层服务,如事务管理、安全远程客户连接、生命周期管理和数据库连接缓冲等。
⑤JCA:J2EE连接器架构,提供一种连接不同企业信息平台的标准接口。
⑥JDBC:Java数据库连接技术,提供访问数据库的标准接口。
⑦JMS:Java消息服务,提供企业级消息服务的标准接口。
⑧JTA:Java事务编程接口,提供分布事务的高级管理规范。
⑨JavaMail:提供与邮件系统的接口。
⑩:RMI-IIOP:提供应用程序的通信接口。
①JNDI:Java命名和目录服务,提供了统一、无缝的标准化名字
②Servlet:Java Servlet 是运行在服务器上的一个小程序,用于提供以构件为基础、独立于平台的Web应用。
③JSP:Java Servlet的一种扩展,使创建静态模板和动态内容相结合的HTML和XML页面更加容易。
④EJB:实现应用中关键的业务逻辑,创建基于构件的企业级应用程序。EJB在应用服务器的EJB容器内运行,由容器提供所有基本的中间层服务,如事务管理、安全远程客户连接、生命周期管理和数据库连接缓冲等。
⑤JCA:J2EE连接器架构,提供一种连接不同企业信息平台的标准接口。
⑥JDBC:Java数据库连接技术,提供访问数据库的标准接口。
⑦JMS:Java消息服务,提供企业级消息服务的标准接口。
⑧JTA:Java事务编程接口,提供分布事务的高级管理规范。
⑨JavaMail:提供与邮件系统的接口。
⑩:RMI-IIOP:提供应用程序的通信接口。
.NET 架构
是一组基于开放的互联网协议而推出的一系列产品、技术和服务。
①.NET开发通用语言运行环境(Common Language Runtime)处于.NET开发框架的最底层,是该框架的基础,它为多种语言提供统一的运行环境、统一的编程模型。
②基础类库(Base Class Library)给开发人员提供了一个统一的、面向对象的、层次化的、可扩展的编程接口,使开发人员能够有效、快速的构建基于下一代互联网网络应用。
③ADO.NET技术用于访问数据库,提供了一组用来连接到数据库、运行命令、返回记录集的类库。ADO.NET提供了对XML的强大支持,为XML称为.NET中数据交互的统一格式提供了基础。同时引入了DataSet的概念,页内存数据缓冲区中提供数据的关系试图,使得数据不论是来自数据库还是XML文档,都可以用一个统一的编程模型来创建和使用。提供了程序的交互性和可扩展性,尤其适合分布式的应用场合。
④ASP.NET 是.NET 中的网络编程结构,可以方便、高效地构建、运行和发布网络应用。
⑤传统的Win Form仍是.NET不可或缺的一部分
①.NET开发通用语言运行环境(Common Language Runtime)处于.NET开发框架的最底层,是该框架的基础,它为多种语言提供统一的运行环境、统一的编程模型。
②基础类库(Base Class Library)给开发人员提供了一个统一的、面向对象的、层次化的、可扩展的编程接口,使开发人员能够有效、快速的构建基于下一代互联网网络应用。
③ADO.NET技术用于访问数据库,提供了一组用来连接到数据库、运行命令、返回记录集的类库。ADO.NET提供了对XML的强大支持,为XML称为.NET中数据交互的统一格式提供了基础。同时引入了DataSet的概念,页内存数据缓冲区中提供数据的关系试图,使得数据不论是来自数据库还是XML文档,都可以用一个统一的编程模型来创建和使用。提供了程序的交互性和可扩展性,尤其适合分布式的应用场合。
④ASP.NET 是.NET 中的网络编程结构,可以方便、高效地构建、运行和发布网络应用。
⑤传统的Win Form仍是.NET不可或缺的一部分
J2EE 与.NET 都可以用来设计、开发企业级应用。J2EE 平台是业界标准,有超过50
家厂商实现了这些标准(工具、应用服务器等)。.NET 是微软自己的产品系列,而非业
界标准。这使二者在实现技术及应用等各方面均有很多不同之处。
家厂商实现了这些标准(工具、应用服务器等)。.NET 是微软自己的产品系列,而非业
界标准。这使二者在实现技术及应用等各方面均有很多不同之处。
工作技术流
工作流 Workflow就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。
工作流主要解决:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System,WFMS)的主要功能是通过计算机技术支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理来实现。
工作流主要解决:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System,WFMS)的主要功能是通过计算机技术支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理来实现。
构件及其在系统集成项目中的重要性
构件技术就是利用某种编程手段,将一些人们所关心的,但又不便于让最终用户直接去操作的细节进行了封装,同时对各种业务逻辑规则进行了实现,用于处理用户的内部操作细节。这个封装体就被称为构件。为了完成某一规则的封装,可以用任何支持构件的编写的工具来完成,而最终完成的构件则与语言本身已经没有任何关系,甚至可以实现跨平台。对于我们而言,它就是实现了某些功能的、有输入和输出接口的黑匣子。
常用构件标准
COM/DCOM/COM+
COM是一个开放的组件标准,具有很强的扩充和扩展能力。COM把组件的概念融入到Windows系统中。DCOM在COM的基础上添加了许多功能和特性,包括事务特性、安全模型、管理和配置等,使COM称为一个完成的组件架构。COM+将COM、DCOM和MTS形成一个全新的、功能强大的组件架构。
DCOM使基于客户机和服务器模型的,客户程序和构件程序是相对的,进行功能请求调用的是客户程序而响应该请求的构件程序。构件程序也可以作为客户程序去调用其他构件程序。
COM+底层结构仍然以COM为基础,它几乎包含COM的所有内容。COM+尝到了一种新概念,它把COM组件软件提升到应用层而不再是底层软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统
CORBA
Common Object Request Broker Architecture,公共对象请求代理架构)使由OMG组织制定的一种标准的面向对象的应用程序体系规范。是OMG为解决分布式处理环境(Distributed Computing Environment,DCE)中硬件和软件系统互联而提出的一种解决方法。
Object Management Architecture,OMA)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA对象由请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,核心部分是ORB
Object Management Architecture,OMA)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA对象由请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,核心部分是ORB
EJB
用于封装业务,而业务可分为业务实体和业务过程。在J2EE模型中,中间层的业务功能通过EJB构件实现,使用JSP实现业务逻辑处理结果的动态发布,构成动态的HTML页面,中间层也可以使用Servlet实现更灵活的动态页面。
EJB组件存活在EJB容器中,客户应用程序通过其业务和主接口访问它们。主接口封装构件的生命周期方法(创建、破坏、查找)客户使用
EJB 组件的主接口来获取对EJB 组件的业务接口的引用;实现类是真正的分布式对象,
在运行时被实例化 客户端对业务接口的调用实际是对实现类的访问。
EJB组件存活在EJB容器中,客户应用程序通过其业务和主接口访问它们。主接口封装构件的生命周期方法(创建、破坏、查找)客户使用
EJB 组件的主接口来获取对EJB 组件的业务接口的引用;实现类是真正的分布式对象,
在运行时被实例化 客户端对业务接口的调用实际是对实现类的访问。
计算机网络知识
网络技术标准与协议
约定好的通信方式,即协议。
NETBEUI
是为IBM开发的非路由协议,用于携带NETBIOS通信,它缺乏路由和网络层寻址功能,即是其最大优点也是最大缺点。因为它不需要附加网络地址和网络层头尾,所以很快并很有效且适用于只有单个网络或整个环境都桥接起来的小工作组环境。
唯一地址是MAC
唯一地址是MAC
IPX/SPX
IPX是NOVELL用于NETWARE客户端服务器的协议群组,IPX具有完全路由能力,可用于大型企业网。
TCP/IP
TCP/IP允许与Internet完全的连接。TCP/IP同时具备了可扩展性和可靠性的需求。但牺牲了速度和效率。
Internet技术的应用
ARPAnet,从军事科研领域到社会生活的方方面面
困扰:安全性
困扰:安全性
网络分类
按范围
①局域网(Local Area Network,LAN)Ethernet以太网、Token King(令牌环网)、FDDI(光纤分布式接口网络)ATM(异步传输模式网)以及WLAN无线局域网
②城域网 采用IEEE82.6标准,如电话网、城域远程教育;模式①SDH多业务平台、SDH网络资源②弹性分组环多业务平台。③电信级以太网多业务平台
③广域网 Wide Area Network,WAN)通过接口信息处理(Interface Message Processing,IMP)协议和线路连接起来构成网状结构,解决寻径问题。因为这种连接用户多,总出口带宽有限,所有用户的终端速率一般很低。
④因特网 最大的网络,最大特点就是不确定性,优点是信息量大,传播广
②城域网 采用IEEE82.6标准,如电话网、城域远程教育;模式①SDH多业务平台、SDH网络资源②弹性分组环多业务平台。③电信级以太网多业务平台
③广域网 Wide Area Network,WAN)通过接口信息处理(Interface Message Processing,IMP)协议和线路连接起来构成网状结构,解决寻径问题。因为这种连接用户多,总出口带宽有限,所有用户的终端速率一般很低。
④因特网 最大的网络,最大特点就是不确定性,优点是信息量大,传播广
按拓扑结构
①总线型
②星形拓扑结构 ,又称集中式网络
③环形拓扑结构
②星形拓扑结构 ,又称集中式网络
③环形拓扑结构
网络管理
主要工作
网络设备管理
要管理网络设备,就必须知道网络在物理上
是如何连接起来的,网络中的终端如何与另一终端实现互访与通信
网络管理员对网络设备的管理主要是对路由器、交换机及线路的管理
是如何连接起来的,网络中的终端如何与另一终端实现互访与通信
网络管理员对网络设备的管理主要是对路由器、交换机及线路的管理
服务器的管理
服务器是一种特殊的计算机,它是网络中为端计算机提供各种服务的高性能计算机。
一般来说一个网络中需要建立多个服务器方能提供不同的服务需求,一般网络需要的服务器主要由:①Web服务器、②E-Mial服务器③FTP服务器④DNS服务器⑤Proxy代理服务器⑥数据库服务器
一般来说一个网络中需要建立多个服务器方能提供不同的服务需求,一般网络需要的服务器主要由:①Web服务器、②E-Mial服务器③FTP服务器④DNS服务器⑤Proxy代理服务器⑥数据库服务器
资源的管理
①IP地址资源②域名资源和硬盘资源等,只有管理好这些资源才能够让网络为用户提供更好的服务。
用户管理
包括添加或删除用户、授予用户一定的访问权限,分配不限级别的资源给不同的用户,并保证网络的安全。
OSI网络管理标准中网络管理的五大功能
配置管理
自动发现网络拓扑结构,构造和维护网络系统的配置。
性能管理
采集、分析网络对象的性能数据,检测网络对象的性能,对网络线路质量进行分析。
故障管理
过滤、归并网络事件,有效地发现、定位网络故障,给出排错建议与排错工具,形成整套的故障发现、处理机制。
安全管理
结合使用用户认证、访问控制、数据传输、存储的保密与完整性机制,以保证网络管理系统本身的安全。维护系统日志,使系统的使用和网络对象的修改有据可查,控制对网络资源的访问。
计费管理
对网际互联设备按IP地址的双向流量统计,产生多种信息统计报告及流量对比,并提供网络计费工具,yi'bian
桌面管理
近来新出现的,主要由如下功能:①桌面资产统计:统计办公网络中所有计算机硬件资产信息,可根据用户需求定制开发企业的资产管系统。而根据桌面的安全漏洞下载最新补丁包,进行补丁的分发、安装。③可自动分发、安装商用程序,实现终端标准化。④可自动对客户端进行操作系统部署,客户端无需手动安装。⑤服务器监控软件的使用频率,统计软件资产利用率。⑥对客户端的故障问题进行远程故障排除,降低解决问题的事件。⑦可定制报表开发:手工定制生成资产统计报表、软件或补丁分发管理报表。
网络服务器
种类
文件服务器:提供资源共享
数据库服务器:绝大多数的C/S应用系统使数据库系统。
Internet & Intranet通用服务器:特点使异构网络环境下统一简化客户端平台和广域网互通互联基础上的信息发布、采集、利用和高度资源共享,是现阶段用户最多的网络服务应用类型。主要包括Web(WWW)、E-mail、DNS、目录服务等服务应用。
应用服务器:其中一类是基于B/S结构的Web应用服务器,通过采用中间件和通用数据库接口构造和运行Web应用系统,其后端是数据库服务器,客户端则是浏览器。
另一类是被称为专用服务器或者是功能服务器:是按照服务器所提供的功能来划分的,比如CAD服务器、视频点播服务器、流媒体点播服务器、电视会议服务器、打印服务器等。专用服务器通常是在通用的服务器硬件平台上安装相应的应用服务器软件并根据特定功能进行一定程度的优化,使其在完成特定功能时发挥较高的性能,且无需进行复杂的专门配置。
另一类是被称为专用服务器或者是功能服务器:是按照服务器所提供的功能来划分的,比如CAD服务器、视频点播服务器、流媒体点播服务器、电视会议服务器、打印服务器等。专用服务器通常是在通用的服务器硬件平台上安装相应的应用服务器软件并根据特定功能进行一定程度的优化,使其在完成特定功能时发挥较高的性能,且无需进行复杂的专门配置。
网络交换技术发展经历的四阶段
电路交换技术
公众电话网(PSTN网)和移动网(包括GSM网和CDMA网)采用的都是电路交互技术,他的特点是采用面向连接的方式,双方通信前,需要建立一条固定带宽的通信电路,直到通信结束才会释放占用所分配的资源。并在在电路的建立和释放过程中都需要利用相关的信令协议。优点:实时性强,时延小,交换设备成本低,缺点是容易被占线。
报文交换技术
报文交换技术与分组交互技术类似,也是采用存储转发机制,但保温交互是以报文作为传送单元,由于报文长度差异大,长报文可能导致很大的时延。在实际应用中,报文交换主要用与传输短报文、实时性要求较低的通信业务,如公用电报网。
分组交换技术
主要适用于传送和语音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定的长度分割成许多小段数据,并在数据之前增加用于选路和校验等功能的字段,作为数据传输的基本单元即分组。分组交换技术在通信之前之前不需要建立连接,分组交换电路交换的电路利用率高,但时延较大。
主要适用于传送和语音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定的长度分割成许多小段数据,并在数据之前增加用于选路和校验等功能的字段,作为数据传输的基本单元即分组。分组交换技术在通信之前之前不需要建立连接,分组交换电路交换的电路利用率高,但时延较大。
ATM技术
综合电路交互和分组交换的优点,提出了一种全新的技术-异步传输模式(Asynchronous Transfer Mode,ATM),ATM技术将面向连接机制与分组机制相结合,在通信前需要根据用户的要求建立一定带宽的连接,但是该连接并不独占物理通道。而是和其他连接复用某个物理通道,,同时所有的信息被分割并封装成固定的长度分组在网络中传送和交互。另一特点就是提出了保证Qos的完备机制,同时由于光纤通信提供了低误码率的传输通道,所以可以将流量控制和差错控制移到用户端,网络只负责信息的交换和传送。非常适合高速数据业务,但是ATM机造价高
IP电话
使用IP技术传送语音电话
软交换技术
基本含义就是将呼叫控制功能从媒体网关(传输层)中分离出来, 通过软件实现基本呼叫控制功能
网络存储技术
网络存储模式
直接连接存储(Direct Attached Storage,DAS)、网络连接存储(Network Attached Storage,NAS)、存储区域网络(Storage Area Network,SAN)是现有存储的三大模式
①DAS:存储器与服务器直接连接,一般通过标准接口,如小型计算机系统接口(SCSI)等。DAS产品主要包括磁盘、磁带库和光存储等产品。
②NAS:将存储设备通过标准的网络拓扑结构(如以太网)连接到一系列计算机上。NAS是一种既有强大存储能力又有相当灵活性的存储结构,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。产品如存储器件(磁盘阵列、磁带库)和集成在一起的简易服务器,真正的即插即用的。
③SAN:是采用高速的光纤作为传输介质的网络存储技术。它将存储系统网络化,实现了高速共享存储以及块数据访问的目的。作为独立于服务器网络系统之外,几乎拥有无线存储扩展能力。
①DAS:存储器与服务器直接连接,一般通过标准接口,如小型计算机系统接口(SCSI)等。DAS产品主要包括磁盘、磁带库和光存储等产品。
②NAS:将存储设备通过标准的网络拓扑结构(如以太网)连接到一系列计算机上。NAS是一种既有强大存储能力又有相当灵活性的存储结构,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。产品如存储器件(磁盘阵列、磁带库)和集成在一起的简易服务器,真正的即插即用的。
③SAN:是采用高速的光纤作为传输介质的网络存储技术。它将存储系统网络化,实现了高速共享存储以及块数据访问的目的。作为独立于服务器网络系统之外,几乎拥有无线存储扩展能力。
无线网络技术
通常用于无线网络的设备包括:便携式计算机、掌上电脑、移动电话等。
无线网络根据数据发送的距离分为:①无线局域网②无线广域网③无线城域网④无线个人网
无线网络根据数据发送的距离分为:①无线局域网②无线广域网③无线城域网④无线个人网
光网络技术
目前,传统的电信网正在融合各种先进的网络技术,向下一代公用
通信网络演进,光网络正是实现这种演进的重要基础网络平台。
通信网络演进,光网络正是实现这种演进的重要基础网络平台。
网络接入技术
概念
网络接入Network Access 就是通过一定的方式和工具将用户网络设备(如PC、机顶盒、移动电话)连接到网络上
接入方式
拨号接入
①使用56Kb/s调制解调器通过公共电话网(PSTN)拨号,通常上行和下行速率一句线路状态自动适配调整为28.8Kb/s、33.6Kb/s、45Kb/s。等
②使用ISDN终端适配器(TA)通过ISDN(2B+D)网络拨号,如果指定使用一个B通道,则达到64Kb/s速率,如果用2B通道,可达到128Kb/s速率。
②使用ISDN终端适配器(TA)通过ISDN(2B+D)网络拨号,如果指定使用一个B通道,则达到64Kb/s速率,如果用2B通道,可达到128Kb/s速率。
专线接入
①DDN专线,速度为64Kb/s~2MB/s,其租用价格只有单位用户才能承受的起。
②GPRS和3G技术,是移动电话的相关技术,号称能是可在线,但不太适合家庭的日常使用。
②GPRS和3G技术,是移动电话的相关技术,号称能是可在线,但不太适合家庭的日常使用。
宽带网络接入技术
①数字用户环路DSL(Digital Subscriber Loop)
②无源光网络接入:光纤入户
③Cable Modem接入
④以太网接入
⑤光纤接入,即常说的光纤到路边(FTTC),光纤到大楼(FTTB),光纤到住户(FTTH)
⑥无线网络接入
②无源光网络接入:光纤入户
③Cable Modem接入
④以太网接入
⑤光纤接入,即常说的光纤到路边(FTTC),光纤到大楼(FTTB),光纤到住户(FTTH)
⑥无线网络接入
综合布线、机房工程
综合布线
概念及准则
综合布线系统(Premises Distribution System,PDS)是楼宇和小区范围内,在统一的传输介质上建立的可以连接电话、计算机、会议电视和监视电视等设备的结构化信息传输信息。
遵循EIA/TLA 568A,即Commercial Building Telecommunications Wiring Standard。
遵循EIA/TLA 568A,即Commercial Building Telecommunications Wiring Standard。
综合布线系统的范围
主要有单幢建筑和建筑群体两种:
①单幢建筑中的综合布线系统工程范围,一般是指在整幢建筑内部铺设的通信线路,还应包括引出建筑物的通信线路。如建筑物内的管道、槽道系统、通信电缆等。
②建筑群体因建筑署幢数不一而规模不同,但综合布线系统的工程范围除了包括每幢建筑内的通信线路外,还需包括各建筑之间相互连接的通信线路。我国颁布的通信行业标准《大楼通信综合布线系统 D/T926》的适用范围是跨越距离不超过3000米、建筑总面积不超过100万平方米的不限区域,区域内的人员为50~5w人.
①单幢建筑中的综合布线系统工程范围,一般是指在整幢建筑内部铺设的通信线路,还应包括引出建筑物的通信线路。如建筑物内的管道、槽道系统、通信电缆等。
②建筑群体因建筑署幢数不一而规模不同,但综合布线系统的工程范围除了包括每幢建筑内的通信线路外,还需包括各建筑之间相互连接的通信线路。我国颁布的通信行业标准《大楼通信综合布线系统 D/T926》的适用范围是跨越距离不超过3000米、建筑总面积不超过100万平方米的不限区域,区域内的人员为50~5w人.
综合布线系统的适用场景和服务对象
综合布线系统的适用场合和服务对象包括:商业贸易类型,如商务贸易中心、金融机构、高级宾馆饭店、股票证券市场和高级商城大厦等高层建筑:综合办公类型、如政府机关等等
机房工程
概念及要求
根据用户提出的技术要求,对改建机房的建筑物进行实地勘查,依据国家有关标准
和规范,结合所建计算机系统运行特点进行总体设计。总体设计方案以业务完善技术规
范,安全可靠为主,确保系统安全可靠的运行。在选材投资方面根据功能及设备要求区
别对待,并满足用户的特殊要求,做到投资有重点,保证计算机场地工作人员的身心健
康,延长计算机系统的使用寿命。
和规范,结合所建计算机系统运行特点进行总体设计。总体设计方案以业务完善技术规
范,安全可靠为主,确保系统安全可靠的运行。在选材投资方面根据功能及设备要求区
别对待,并满足用户的特殊要求,做到投资有重点,保证计算机场地工作人员的身心健
康,延长计算机系统的使用寿命。
设计原则
机房的设计必须满足当前的各项业务需求应用,又面向未来快速增长的发展需求,因此必须是高质量的、灵活的、开放的。
①实用性和先进性
②安全可靠性
③灵活性和可扩展性
④标准化
⑤经济性
⑥可观理性
①实用性和先进性
②安全可靠性
③灵活性和可扩展性
④标准化
⑤经济性
⑥可观理性
网络规划原则、设计及实施原则
网络规划原则
①实用性原则
②开放性原则
③先进性原则
②开放性原则
③先进性原则
设计实施原则
①可靠性原则
②安全性原则
③高效性原则
④可扩展性原则
②安全性原则
③高效性原则
④可扩展性原则
0 条评论
下一页