《信息系统项目管理师基础知识范本.docx》由会员分享,可在线阅读,更多相关《信息系统项目管理师基础知识范本.docx(65页珍藏版)》请在三一办公上搜索。
1、考试科目1:信息系统项目管理综合知识1信息系统基础1.1信息系统信息系统概念信息系统(IS,Information System)一般泛指收集、存储、处理和传播各种信息的具有完整功能的集合体。,现代的信息系统总是指以计算机为信息处理工具,以网络为信息传输手段的信息系统。1、 电子数据处理阶段2、事务处理阶段3、管理信息系统阶段4、决策支持系统阶段信息系统的功能信息系统的功能:需求功能和实现功能,初级功能和高级功能(初装阶段、蔓延阶段、控制阶段、集成阶段、数据管理阶段、成熟阶段;DP阶段、IT阶段、NETWORK阶段),通用功能和专业功能(数据库功能、存储信息功能、检索信息功能、信息分析功能),
2、整体功能和局部功能信息系统的类型信息系统的类型:1以数据环境分类: 第一类数据环境:数据文件。其特征是:没有使用数据库管理系统,根据大多数的应用需要,由系统分析师和程序员分散地设计各种数据文件。其特点是简单,相对容易实现。但随着应用程序增加,数据文件数目剧增,导致很高的维护费用;一小点应用上的变化都将引起连锁反应,使修改和维护工作既缓慢费用又高昂,并很难进行。 第二类数据环境:应用数据库。这类信息系统,虽然使用了数据库管理系统,但没达到第三类数据环境那种共享程度。分散的数据库为分散的应用而设计,实现起来比第三类数据环境简单。像第一类数据环境一样,随着应用的扩充,应用数据库的个数,以及每个数据库
3、中的数据量也在急剧增加,随之而导致维护费用大幅度增高,有时甚至高于第一类数据环境。该类数据环境还没有发挥使用数据库的主要优越性。 第三类数据环境:主题数据库(Subject Data Bases)。主题数据库信息系统所建立的一些数据库与一些具体的应用有很大的独立性,数据经过设计,其存储的结构与使用它的处理过程都是独立的。各种面向业务主题的数据,如顾客数据、产品数据或人事数据,通过一些共享数据库被联系和体现出来。这种主题数据库的特点是:经过严格的数据分析,建立应用模型,虽然设计开发需要花费较长的时间,但其后的维护费用很低。最终(但不是立即)会使应用开发加快,并能使用户直接与这些数据库交互使用数据
4、。主题数据库的开发需要改变传统的系统分析方法和数据处理的管理方法。但是,如果管理不善,也会蜕变成第二类或是第一类数据环境。 第四类数据环境:信息检索系统(Information Retrieval Systems)。一些数据库被组织得能保证信息检索和快速查询的需要,而不是大量的事务管理。软件设计中要采用转换文件、倒排表或辅关键字查询技术。新的字段可随时动态地加入到数据结构中。有良好的最终用户查询和报告生成软件工具。大多数用户掌握的系统都采用第四类数据库。这种环境的特点是:比传统的数据库有更大的灵活性和动态可变性。一般应该与第三类数据环境共存,支持综合信息服务和决策系统。 2.以应用层次分类:一
5、个公司的管理活动可以分成四级:战略级、战术级、操作级和事务级,相应地,信息系统就其功能和作用来看,也可以分为四种类型,即战略级信息系统、战术级信息系统、操作级信息系统和事务级信息系统。信息系统的发展1基于因特网的信息系统: (1)内联网。 (2)外联网。 2多媒体信息系统: 多媒体信息系统的基本特点是:由于是以人为中心的计算,即以符合人的习惯的方式进行信息交互,因此需要基于多功能感知的智能接口,甚至提供一个人性化的应用环境;它支持多用户的以多种媒体进行的实时交互;它是一个集成的系统,能完成任务的全过程;在信息检索方面,由于传统检索方法中所用的关键字检索不能代表多媒体信息中的丰富信息,因此多媒体
6、信息系统的检索是基于内容的信息检索。3海量信息系统 4.智能信息系统1.2信息系统建设信息系统建设的复杂性1信息系统开发的复杂性 2信息系统运行的复杂性 一个涉及企业全局的信息系统要做到良好的运行,需要特别解决好以下四个问题。 一是要解决基础数据的问题。由于一个信息系统所处理的对象主要是数据,因此,数据的质量问题是十分重要的。软件工程中有一句话:“输入的是垃圾,输出的肯定也是垃圾”。这就是说,信息系统不可能“化腐朽为神奇”、不可能把垃圾数据处理成有用的数据。而一些信息系统的需求单位,恰恰是基础数据不全、不准或不一致。所谓数据不全是指只有部分信息系统所需要的数据,例如,一个企业有10个下属单位,
7、只有6个下属单位有数据,其他则没有,这样一来,该系统的运行效果就必然大打折扣。所谓数据不准,就是指一些基础数据有差错,由此,必然影响系统的可靠性。所谓数据不一致,是指同一项数据在不同的地方取不同的值。 二是领导介入的问题。企业的信息系统绝不仅仅是一个软件的使用,它不仅要涉及企业的组织流程和企业的机构调整,而且涉及因信息系统的运行而使企业发生许多新的变化,这些都决定了信息系统不是一个技术的问题。同时,许多问题和障碍也不是仅靠技术人员就能解决的。信息系统的运行需要企业最高领导层的介入,而在一些企业的管理层里,对此却缺乏足够的认识。在一些企业里,最高管理层把信息系统的建设和运行交给信息技术部门就算万
8、事大吉,持有这样做法的企业,其信息系统的良好运行必将成为问题。 三是最终用户问题。企业信息系统的最终用户,也就是信息系统的使用者往往是那些企业管理机构的业务人员。信息系统运行的难题是要让这些业务人员接受信息系统,首先,需要改变他们长时间形成的一些工作习惯,这往往是比较困难的。再者,这些业务人员需要熟悉并掌握信息系统的一些技术和工作方法,这也是一个比较复杂的过程。四是系统分析师的问题。由于信息系统是复杂的人一机工程,因而最需要的人才是既懂经营管理又懂计算机技术的专家型的人才,也就是系统分析师。而很多企业在建设和运行信息系统时,恰恰缺少的就是系统分析师。3信息系统维护改造的复杂性信息系统的生命周期
9、(各阶段目标及其主要工作内容)信息系统的生命周期分为四个阶段,即产生阶段、开发阶段、运行阶段和消亡阶段。1信息系统的产生阶段信息系统的产生阶段,也是信息系统的概念阶段或者是信息系统的需求分析阶段。 这一阶段又分为两个过程,一是概念的产生过程,即根据企业经营管理的需要,提出建设信息系统的初步想法;二是需求分析过程,即对企业信息系统的需求进行深入的调研和分析,并形成需求分析报告。2信息系统的开发阶段: 信息系统的开发阶段是信息系统生命周期中最重要和最关键的阶段。该阶段又可分 为五个阶段,即总体规划、系统分析、系统设计、系统实施和系统验收阶段。(1)总体规划阶段。信息系统总体规划是系统开发的起始阶段
10、,它的基础是需求分析。一个比较完整的总体规划,应当包括信息系统的开发目标、信息系统的总体架构、信息系统的组织结构和管理流程、信息系统的实施计划、信息系统的技术规范等。(2)系统分析阶段。系统分析阶段的目标是为系统设计阶段提供系统的逻辑模型。系统分析阶段以企业的业务流程分析为基础,规划即将建设的信息系统的基本架构,它是企业的管理流程和信息流程的交汇点。系统分析的内容主要应包括组织结构及功能分析、业务流程分析、数据和数据流程分析、系统初步方案等。(3)系统设计阶段。系统设计阶段是根据系统分析的结果,设计出信息系统的实施方案。系统设计的主要内容包括系统架构设计、数据库设计、处理流程设计、功能模块设计
11、、安全控制方案设计、系统组织和队伍设计、系统管理流程设计等。(4)系统实施阶段。系统实施阶段是将设计阶段的结果在计算机和网络上具体实现,也就是将设计文本变成能在计算机上运行的软件系统。由于系统实施阶段是对以前的全部工作的检验,因此,系统实施阶段用户的参与特别重要。如果说在系统设计阶段以前,用户处于辅助地位的话,而到了系统实施阶段以后,用户就应逐步变为系统的主导地位。(5)系统验收阶段。信息系统实施阶段结束以后,系统就要进入试运行。通过试运行,系统性能的优劣、是否做到了用户友好等问题都会暴露在用户面前,这时就进入了系统验收阶段。3信息系统运行阶段:当信息系统通过验收,正式移交给用户以后,系统就进
12、入了运行阶段。一般来说,一个性能良好的系统,运行过程中会较少出现故障,即使出现故障,也较容易排除;而那些性能较差的系统,运行过程中会故障不断,而且可能会出现致命性故障,有时故障会导致系统瘫痪。可见,长时间的运行是检验系统质量的试金石。另外,要保障信息系统正常运行,一项不可缺少的工作就是系统维护。在软件工程中,把维护分为四种类型,即排错性维护、适应性维护、完善性维护和预防性维护。一般在系统运行初期,排错性维护和适应性维护比较多,而到后来,完善性维护和预防性维护就会比较多。4信息系统消亡阶段 通常人们比较重视信息系统的开发阶段,轻视信息系统运行阶段,而几乎完全忽视信息系统的消亡阶段。其实,这样做是
13、片面的。因为计算机技术和因特网技术的发展十分快速,新的技术、新的产品不断出现。同时,由于企业处在瞬息万变的市场竞争的环境中,在这种情况下,企业开发好一个信息系统,并想着让它一劳永逸地运行下去,是不现实的。企业的信息系统经常会不可避免地遇到系统更新改造、功能扩展,甚至是报废重建的情况。对此,企业在信息系统建设的初期就要注意系统的消亡条件和时机,以及由此而花费的成本。信息系统建设的原则1高层管理人员介入原则:一个信息系统其建设的目标总是为企业的总体目标服务的,否则,这个系统就不应当建设。而真正能够理解企业总体目标的人必然是那些企业高层管理人员,只有他们才能知道企业究竟需要什么样的信息系统,而不需要
14、什么样的信息系统,也只有他们才知道企业有多大的投入是值得的,而超过了这个界限就是浪费。由于这点是那些身处某一部门的管理人员,或者是技术人员所无法做到的。因此,信息系统从概念到运行都必须有企业高层管理人员介入。当然,这里的“介入”有着其特定的含义,它可以是直接参加,也可以是决策或指导,还可以是在政治、经济、人事等方面的支持。2.用户参与开发原则 一是“用户”有确定的范围。究竟谁是用户?我们通常把“用户”仅仅理解为用户单位的领导,其实这是很片面的。当然,用户单位领导应该包括在用户范围之内,但是,更重要的用户或者核心用户,是那些信息系统的使用者,而用户单位的领导只不过是辅助用户或是外围用户。 二是用
15、户应当参与全过程的开发。特别是那些核心用户,不应只参与某一阶段的开发,而应当是参与全过程的开发,即用户应当参与从信息系统概念规划和设计阶段,到系统运行的整个过程。而当信息系统交接以后,他们就成为系统的使用者。三是用户应当深度参与系统开发。用户以什么身份参与开发是一个很重要的问题。一般说来,参与开发的用户人员,既要以甲方代表身份出现,又应成为真正的系统开发人员,与其他开发人员融为一体。3.自顶向下规划原则:在信息系统开发的过程中,经常会出现信息不一致的问题,这种现象的存在对信息系统来说往往是致命的,有时一个信息系统会因此而遭到报废的结果。研究表明,信息的不一致是由计算机应用的历史性演变所造成的,
16、它通常发生在没有一个总体规划的指导就来设计实现一个信息系统的情况下。由此可见,坚持自顶向下规划原则对于信息系统的开发和建设来说是至关重要的。自顶向下规划的一个主要目标是达到信息的一致性。同时,自顶向下规划原则还有另外一个方面,那就是这种规划绝不能取代信息系统的详细设计。必须鼓励信息系统各子系统的设计者在总体规划的指导下,进行有创造性的设计。4工程化原则 在20世纪70年代,出现了世界范围内的“软件危机”。所谓软件危机是指一个软件编制好以后,谁也无法保证它能够正确地运行,也就是软件的可靠性成了问题。软件危机曾一度引起人们,特别是工业界的恐慌。经过探索,人们认识到,之所以会出现软件危机,最主要的原
17、因,是由于软件产品是一种个体劳动产品,最多也就是作坊式的产品。因此,没有工程化是软件危机发生的根本原因。此后,软件发展成了“软件工程”这门工程学科,在一定程度上解决了软件危机。 信息系统也经历了与软件开发大致相同的经历。在信息系统发展的初期,人们也像软件开发初期一样,只要做出来就行,根本不管实现的过程。这时的信息系统,大都成了少数开发者的“专利”,系统可维护性、可扩展性都非常差。后来,信息工程、系统工程等工程化方法被引入到信息系统开发过程之中,才使得问题得到了一定程度的解决。其实,工程化不仅是一种有效的方法,它也应当是信息系统开发的一项重要原则。5其他原则:创新性原则,用来体现信息系统的先进性
18、;整体性原则,用来体现信息系统的完整性;发展性原则,用来体现信息系统的超前性;经济性原则,用来体现信息系统的实用性。信息系统开发方法1结构化方法:结构化方法是目前最成熟、应用最广泛的信息系统开发方法之一。由于它是假定被开发的系统是一个结构化的系统,因此,其基本思想是将系统的生命周期划分为系统调查、系统分析、系统设计、系统实施、系统维护等阶段。这种方法遵循系统工程原理,按照事先设计好的程序和步骤,使用一定的开发工具,完成规定的文档,在结构化和模块化的基础上进行信息系统的开发工作。结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块分解或组合。结构化
19、生命周期法主要特点介绍如下。(1)开发目标清晰化。结构化方法的系统开发遵循“用户第一”的原则,开发中要保持与用户的沟通,取得与用户的共识,这使得信息系统的开发建立在可靠的基础之上。(2)工作阶段程式化。结构化方法每个阶段的工作内容明确,注重开发过程的控制。每一阶段工作完成后,要根据阶段工作目标和要求进行审查,这使阶段工作有条不紊,也避免为以后的工作留下隐患。(3)开发文档规范化。结构化方法每一阶段工作完成后,要按照要求完成相应的文档,以保证各个工作阶段的衔接与系统维护工作的便利。(4)设计方法结构化。结构化方法采用自上而下的结构化、模块化分析与设计方法,使各个子系统间相对独立,便于系统的分析、
20、设计、实现与维护。结构化方法被广泛地应用于不同行业信息系统的开发中,特别适合于那些业务工作比较成熟、定型的系统,如银行、电信、商品零售等行业。2快速原型法: 快速原型法是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型并 展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。在现实生活中,一个大型工程项目建设之前制作的沙盘,以及大型建筑的模型等都与快速原型法有同样的功效。应用快速原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。用户仅需在系统分析与系统初步设计阶段完成对应用系统的简单描述,开发者在获取一组基本需求定义后,利用开发工具生成应用
21、系统原型,快速建立一个目标应用系统的最初版本,并把它提交给用户试用、评价,根据用户提出的意见和建议进行修改和补充,从而形成新的版本,再返回给用户。通过这样多次反复,使得系统不断地细化和扩充,直到生成一个用户满意的方案为止。快速原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。3.企业系统规划方法 企业系统规划方法BSPf Business System最早是由IBM公司于20世纪70年代研制并使用的一种企业信息系统开发的方法。虽然30多年的时间过去了,但是,这种方法对于今天我国企业信息系统建设仍然具有一定的指导意义。 BSP方法是
22、企业战略数据规划方法和信息工程方法的基础和,也就是说,后两种方法是在BSP方法的基础上发展起来的,可见,了解并掌握BSP方法对于全面掌握信息系统开发方法是有帮助的。BSP方法的目标是提供一个信息系统规划,用以支持企业短期的和长期的信息需求。4战略数据规划方法: (1)数据环境对于信息系统至关重要。企业数据环境是随着企业的发展不断变化的,也是企业发展的基础条件。信息系统建设极大影响着企业的未来发展方向,对企业的数据环境提出了更高的要求。把静态的、独立的信息资源通过战略数据规划重建企业数据环境,使其成为集成化、网络化的信息资源,对一个现代化企业来说是更为迫切的任务。 (2)四种数据环境。在信息系统
23、发展的历程中共有四类数据环境,即数据文件、应用数据库、主题数据库和信息检索系统。 (3)建设主题数据库是信息系统开发的中心任务。这里的主题数据库并不是指数据库的大小,也不是指数据库的功能,而是指哪些数据库是面向企业的业务主题的,哪些不是面向业务主题的。所谓业务主题,就是指企业的核心业务和主导流程。比如,对于一个机加工企业来说,生产机件产品就是其核心业务,相应地,围绕核心业务建立的数据库就是企业的主题数据库。而对于一个保险企业来说,围绕着保单处理的数据库就是企业的主题数据库。(4)围绕主题数据库搞好应用软件开发。5信息工程方法信息工程方法与企业系统规划方法和战略数据规划方法是一种交叉关系,即信息
24、工程方法是其他两种方法的总结和提升,而其他两种方法则是信息工程方法的基础和核心。信息工程是计算机信息系统发展到比较成熟阶段的产物,它不仅为大型信息系统的开发给出了方法和技术,而更重要的是它在理论与实践的结合上对大型信息系统的开发提出了相应的开发策略和原则,而这些策略和原则对于信息系统的成功开发和应用都是至关重要的。虽然,信息工程是在20世纪80年代末期发展起来的,但是,在今天,仍然对信息系统的开发具有重要的指导价值。信息工程方法与信息系统开发的其他方法相比,有一点很大的不同,就是信息工程不仅是一种方法,它还是一门工程学科。它第一次把信息系统开发过程工程化了。所谓工程化,就是指有一整套成熟的、规
25、范的工程方法、技术、标准、程序和规范,使得开发工作摆脱随意性和多变性,其目标是信息系统的开发走上智能化、程序化和自动化的道路。6面向对象方法 面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计方法的基本点是面向过程,系统被分解成若干个过程。而面向对象的方法是采用构造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。1.3软件工程知识软件需求分析与
26、定义软件工程是开发、运行、维护和修复软件的系统方法,(方法、工具、过程)软件需求分析和定义软件需求:功能需求、非功能需求、设计约束;业务需求、用户需求、系统需求需求工程:需求开发(需求捕获、需求分析、编写规格说明书、需求验证)、需求管理(需求基线、处理需求变更、需求跟踪)需求调查和问题定义:要捕获的信息、信息的来源、需求捕获技术(用户访谈、用户调查、现场观摩、文档考古、联合讨论会)可行性研究的任务:技术可行性、经济可行性、社会可行性可行性研究工作的步骤:核实问题定义和目标,研究分析现有系统(包括非计算机系统),为新系统建模(系统上下文关系范围图、实体关系图(ER)、用例模型、域模型、IPO表)
27、,客户复核、提出并评价解决方案、确定最终推荐的解决方案(成本效益分析包括成本估计、效益分析)、草拟开发计划、提交可行性分析报告需求分析:绘制系统上下文范围关系图、创建用户接口原型、分析需求的可行性、确定需求的优先级、为需求建立模型、创建数据字典、使用质量功能调配需求分析方法:结构化分析方法、软系统方法、面向对象分析方法、面向问题域的分析结构化分析与面向对象分析方法之间最大的区别是:结构化分析方法把系统看做一个过程的集合体,包括人完成的和电脑完成的;而面向对象方法则把系统看成一个相互影响的对象集。结构化分析方法的特点是利用数据流图来帮助人们理解问题,对问题进行分析步骤:研究“物质环境”、建立系统
28、逻辑模型、划清人机界面数据流图:过程、外部实体、数据存储、数据流、实时连接实体关系图(ER图)软件设计、测试与维护软件设计基本原则:信息隐蔽、模块独立性(内聚(功能、信息、通信、过程、时间、逻辑)、耦合)系统结构图:模块、模块间的调用关系、模块间的通信、辅助控制符号常用系统结构图:变换型、事务型、混合型用户界面:可使用性、灵活性、复杂性和可靠性软件测试:白盒测试与黑盒测试;单元测试、集成测试、系统测试、验收测试软件维护:因素(可理解性、可测试性、可修改性)软件维护步骤:建立维护组织、提出维护要求、实施维护作业、记录维护要素、评价维护活动软件复用软件再生步骤:筛选、文档重构、逆向工程、代码重构、
29、数据重构、重新开发软件质量保证及质量评价软件质量:性能、可靠性(容错、健壮性)、可用性、安全性、可修改性(可维护性、可扩展性、结构重组、可移植性)、功能性软件质量保证活动:Sqa人员的素质:有较强的沟通能力、要熟悉软件工程过程、要有较强的计划性、能应对繁杂的工作、要客观有责任心SQA活动:制定SQA计划、参与开发该软件项目的软件过程描述、评审、审计、记录并处理偏差、报告SQA工作内容:与SQA计划直接相关的工作、参与项目的阶段性评审和审计、对项目日常活动与规程的符合性进行检查、对配置管理工作的检查和审计、跟踪问题的解决情况软件配置管理软件配置管理:配置与配置项、基线与基线管理、版本、配置标志、
30、配置控制变更控制:功能变更、错误修复变更:功能变更的意思就是根据客户的需要增加或删除某些功能,或者修改实现功能的方法所引发的变更。错误修复变更是为了修改漏洞的需要而产生的变更。配置库:开发库、受控库、产品库配置评审:正式的技术评审、软件配置审核软件开发环境软件开发环境:数据集成机制、控制集成机制、界面集成机制软件开发环境结构:工具集、集成机制、环境信息库、过程控制和消息服务器、环境用户界面;宿主层、核心层、基本层、应用层软件开发环境的发展:数据完整性、信息共享、数据工具集成、数据数据集成、方法学实施、文档标准化软件过程管理软件过程管理:方向:软件过程分析和建模,软件过程支持,软件过程评估和改进
31、CMM术语:过程、软件过程、软件过程能力、软件过程性能(能力是期望得到的结果、性能是实际得到的结果)、软件过程成熟度、关键过程(区)域(CMM包含18个关键过程)、关键实践、软件过程评估、软件能力评价、软件工程组、软件相关组、软件工程过程组、系统工程组、系统测试组、软件质量保证组、软件配置管理组、培训组CMM的分级标准:初始级、可重复级、已定义级、已管理级、优化级初始级纪律化的过程已重复级标准一致的过程已定义级可预测的过程已管理级不断改经的过程优化级实施CMM:提高思想认识、进行CMM培训和咨询工作、确定合理的目标、成立工作组、制定和完善软件过程、内部评审、正式评估、根据评估结果改进软件过程C
32、MMI:初始级、已管理级、严格定义级、定量管理级、优化级CMMI评估:A类评估(全面综合的评估方法)B类评估(较少综合,花费也较少)C类评估(快估)CMM和CMMI区别:CMMI结构更加形式化和精致,更复杂;CMMI强调需求的管理(需求管理和需求开发)CMM为需求管理;CMMI加强对工程过程的重视;CMMI强调度量;CMMI强调对风险的管理;1.4软件构件技术知识构件及其在信息系统项目中的重要性构件库组织方法的要求:支持构件库的各种维护动作;不仅要支持精确匹配,还要支持相似构件的查找;不仅能进行简单的语法匹配,而且能够查找在功能或行为方面等价或相似的构件;对应领域具有较强的描述能力和较好的描述
33、精度;库管理员和用户容易使用构件分类方法:关键字分类法、刻面分类法、超文本组织方法商业化构件分类:用户界面类、数据库类;商务应用类;工具类、网络通讯类;核心技术类构件组装:基于功能的组装技术;基于数据的组装技术、面向对象的组装技术(构造法;子类法)软件重用:需求重用;设计重用;代码重用;组织结构的重用;构件库常用构件标准(COM/DCOM/COM+、CORBA和EJB)EJB(Enterprise Java Bean):是用于开发和布署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。EJB分类:会话EJB(Session Bean)(与客户端一个短暂的会话);实体Bea
34、n(Entity Bean)(对应数据实体,它描述了存储在数据库的表中的持久数据);消息驱动Bean(Messagedriven Bean)(结合了一个会话Bean和一个Java信息服务(JMS)信息监听者的功能)DCOM:扩展了COM,使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通信。COM定义了构件和它们的客户之间相互作用的方式;DCOM具有位置独立性;DCOM具有语言无关性1.5软件体系结构软件体系结构定义软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式,以及这些模式的约束组成。软件体系
35、结构不仅指定了系统的组织(organization)结构和拓扑(topology)结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理典型体系结构软件体系结构模型:结构模型、框架模型、动态模型、过程模型、功能模型逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图:也称模块视图,主要侧重于软件模块的组织和管理。进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑试题中的主要抽象如何符合进程结构。物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统
36、性能、规模、可靠性等。场景:可以看做是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。典型的软件体系结构:数据流风格、调用/返回风格、独立构件风格、虚拟机风格、仓库风格分层结构:基于可增加抽象层的设计。优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。缺点:并不是没一个系统都可以很容易的划分为分层的模式;很难找到一个合适的、正确的层次抽象方法。C2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。特点:系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;所有构件之间的通信是通过以连接件为中介的异步消息交换机制来实现的;构件
37、相对独立,构件之间依赖性较少客户服务器风格(C/S):服务器负责数据管理,客户机完成与用户的交互任务。胖客户机、瘦服务器。具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。缺点:开发成本较高、客户端程序设计复杂、信息内容和形式单一、用户界面风格不一、软件移植困难、软件维护和升级困难、新技术不能轻易使用三层C/S结构风格:解决两层问题(问题为:难以扩展至大型企业广域网或Internet;软、硬件的组合及集成能力有限;客户机的负荷太重;数据安全性不好);包括表示层(表示层是应用的用户接口部分,它担负着用户与应用间的对话功能)、功能层(功能层相当于应用的本体,它是将具体的业务处理逻
38、辑编入程序中)、数据层(就是数据库管理系统,负责管理对数据库数据的读写)浏览器服务器风格:浏览器/web服务器/数据库服务器;缺点:缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;扩展能力差,安全性难以控制;在数据查询等响应速度上,要远远低于C/S体系结构;数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理的应用。公共对象请求代理体系结构:(CORBA Common Request Broker Architecture)主要内容包括:接口定义语言、接口池、动态调用接口、对象适配器。特点:引入中间件作为事务代理,完成客户机向服务对象方(Server)提出的业务请求;实现
39、客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置;提供软总线机制,使在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中;CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义软件体系结构设计方法结构化设计方法是基于模块化、自顶向下逐层细化、结构化程序设计等程序设计技术基础上发展起来的。1系统结构图中的模块一般来说,结构图中可能出现图2-11所示的四种类型的模块。 传入模块:图2-11(a),从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流
40、。 传出模块:图2-11 (b),从上级模块取得数据,进行某些处理,传送给下属模块。它传送的数据流叫做逻辑输出数据流。 变换模块:图2-11(c),从上级模块取来数据,进行特定处理后,送回原上级模块。它加工的数据流叫做变换数据流。协调模块:图2-11(d),对其下属模块进行控制和管理的模块。在一个好的系统结构图中,协调模块应在较高层出现。 2.系统结构图中的主要成分 结构图中的主要成分有四种。 (1)模块。以矩形框表示,框中标有模块的名字。对于已定义(或者已开发)的模块,则可以用双纵边矩形框表示, (2)模块间的调用关系。两个模块,一上一下,以箭头相连,上面的模块是调用模块,箭头指向的模块是被
41、调用模块,在一般情况下,箭头表示的连线可以用直线代替。 (3)模块间的通信。以表示调用关系的长箭头旁边的短箭头表示,短箭头的方向和名字分别表示调用模块和被调用模块之间信息的传递方向和内容。 (4)辅助控制符号。当模块A有条件的调用模块B时,在箭头的起点标以菱形。模块A反复地调用模块D时,另加一环状箭头。3常用的系统结构图: 常用的系统结构图有以下几种。 (1)变换型系统结构图。在数据处理问题中,我们通常会遇到这样一类问题,即从(程序)“外部”取得数据(例如从键盘、磁盘文件等),对取得的数据进行某种变换,然后再将变换得到的数据传回“外部”。其中取得数据这一过程称为传入信息(数据)流程、变换数据的
42、过程称为变换信息(数据)流程,传回数据过程称为传出信息(数据)流程,如图2-16所示。 (2)事务型系统结构图。在实际中,我们还常常会遇到另一类问题,即通常在接受某一项事务后,根据事务的特点和性质,选择分派给一个适当的处理单元,然后给出结果,这类问题就是事务型问题。它的特点是,数据沿着接收分支把外部信息(数据)转换成一个事务项,然后计算该事务项的值,并根据它的值从多条数据流中选择其中的某一条数据流。 (3)混合型系统结构图。在实际中,一些大型问题往往既不是单纯的变换型问题,也不是单纯的事务型问题,而是两种混合在一起的混合型问题。对于这种混合型问题,一般以变换型问题为主,首先找出变换中心,设计出
43、结构图的上层;然后根据数据流图的各部分具体类型分别映射得到它们的结构图。软件体系结构分析与评估软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式,以及这些模式的约束组成。软件体系结构不仅指定了系统的组织(organization)结构和拓扑(topology)结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理软件体系结构模型:结构模型、框架模型、动态模型、过程模型、功能模型逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。开发视图:也称模块视图,主要侧重于软件模块的组织和管理。
44、进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑试题中的主要抽象如何符合进程结构。物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。场景:可以看做是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。典型的软件体系结构:数据流风格、调用/返回风格、独立构件风格、虚拟机风格、仓库风格分层结构:基于可增加抽象层的设计。优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。缺点:并不是没一个系统都可以很容易的划分为分层的模式;很难
45、找到一个合适的、正确的层次抽象方法。C2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。特点:系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;所有构件之间的通信是通过以连接件为中介的异步消息交换机制来实现的;构件相对独立,构件之间依赖性较少客户服务器风格(C/S):服务器负责数据管理,客户机完成与用户的交互任务。胖客户机、瘦服务器。具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。缺点:开发成本较高、客户端程序设计复杂、信息内容和形式单一、用户界面风格不一、软件移植困难、软件维护和升级困难、新技术不能轻易使用三层C/S结构风格:解决两层问题(问题为:
46、难以扩展至大型企业广域网或Internet;软、硬件的组合及集成能力有限;客户机的负荷太重;数据安全性不好);包括表示层(表示层是应用的用户接口部分,它担负着用户与应用间的对话功能)、功能层(功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中)、数据层(就是数据库管理系统,负责管理对数据库数据的读写)浏览器服务器风格:浏览器/web服务器/数据库服务器;缺点:缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;扩展能力差,安全性难以控制;在数据查询等响应速度上,要远远低于C/S体系结构;数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理的应用。公共对象请求代理体系结
47、构:(CORBA Common Request Broker Architecture)主要内容包括:接口定义语言、接口池、动态调用接口、对象适配器。特点:引入中间件作为事务代理,完成客户机向服务对象方(Server)提出的业务请求;实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置;提供软总线机制,使在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中;CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义体系结构设计:提出软件体系结构模型;把已标志的构件映射到软件体系结构中
48、;分析构件之间的相互作用;产生软件体系结构、设计评审软件体系结构评估: 体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。在体系结构评估过程中,评估人员所关注的是系统的质量属性,包括性能、可靠性、可用性、安全性、可修改性、功能性、可变性、集成性、互操作性。 基本可以归纳为三类主要的评估方式:基于调查问卷或检查表的方式、基于场景的方式和基于度量的方式。软件中间件中间件技术:中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能中间件分类:底层型中间件(JVM、CLR、ACE、JDBC、ODBC);通用型中间件(CORBA、J2EE、MOM、COM;IONA Orbix、BEA Weblogic、IBM MQSeries);集成型中间件(WorkFlow、EAI;BEA Weblogic 、