问答题论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近

题目
问答题
论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近期演变趋势与主要特征,你准备如何去适应这类演变?

相似考题
更多“问答题论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近”相关问题
  • 第1题:

    试题二 论企业集成平台的架构设计

    企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持各种特定领域应用系统的集成。

    请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。

    1.简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。

    2.请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。

    3.具体说明所设计的企业集成平台的使用情况,最终实施效果如何。


    正确答案:
    试题二  写作要点
    1、企业集成平台的基本功能:通信服务、信息集成服务、应用集成服务、提供对二次开发的支持、平台运行管理。
    2、结合项目实际说明你所设计的企业集成平台的架构。对架构的说明应包括从架构层面上如何支持业务流程编写与管理;如何向用户提供功能与信息服务;如何集成业务伙伴的功能;如何与底层数据库、现有系统等进行交互,等等。在实现企业集成平台时所使用的关键技术包括数据交换格式、分布式集成应用基础框架、实现数据集成的常用模式、实现应用集成的常用模式。
    3、需要具体说明你所设计的企业应用集成平台的使用情况,包括如何采用集成平台为企业应用提供一致的信息访问和交互手段,如何对在平台上运行的应用进行管理,如何为应用提供服务等。针对每种使用场景,需要详细说明最终的实施效果。

  • 第2题:

    论应用系统开发范围和功能的确定

    确定应用系统的开发范围和功能是需求定义阶段的一项重要任务。明确系统的开发范围和功能,可以降低系统的开发成本,完善必要的系统功能。因此在实施系统开发之前,必须就系统开发范围和功能与用户达成一致。例如,与用户一起分析业务流程,以确定哪些业务是必须实现的等。

    请围绕“应用系统开发范围和功能的确定”论题,依次对以下三个方面进行论述。

    (1)概要叙述你参与分析和开发的软件项目以及你所担任的主要工作。

    (2)说明该软件项目的用户需求,具体叙述在确定该软件项目的开发范围和功能时,你所遵循的原则和基本步骤。

    (3)简要说明最终确定的该软件项目的开发范围和功能,并简要叙述你在这方面的体会。


    正确答案:[写作要点] 1.结合自己开发的软件产品或从事的实际工作阐述在系统需求分析阶段用户提出了哪些需求。 2.根据用户提出的需求详细说明按照哪些原则确定系统的范围和功能。确定系统范围和功能的原则如下: 1.根据已确定的系统目标和估算出的整个信息系统的信息量考虑企业现有客观条件包括资金情况、设备条件、现场条件、技术水平和管理现状等合理地确定系统的范围和功能。 2.新建立的系统可能要求现行的管理机构在组织上和功能上做某些调整和变动以适应计算机的管理。划分系统范围时应根据客观需要选择必要的系统结构和功能不要受现行系统的限制。 3.结合你所参与的软件项目详细论述确定系统范围和功能所采取的步骤。确定系统范围和功能应采取的步骤是: (1)绘制出系统的总数据流程图。该图是系统分析阶段的各业务部门的数据流程图综合绘制在一张图上。 (2)根据系统方案要求、用户的要求和现行系统的环境及确定系统边界的原则在总信息流程图上圈出系统范围。 (3)与用户讨论、协商修改有关内容。 (4)确定系统范围并做分析说明。 4.列举出经过上述步骤及与用户协商后确定了该软件项目的开发范围和功能是哪些并谈谈你在确定系统开发范围和功能方面的体会。
    [写作要点] 1.结合自己开发的软件产品或从事的实际工作,阐述在系统需求分析阶段,用户提出了哪些需求。 2.根据用户提出的需求,详细说明按照哪些原则确定系统的范围和功能。确定系统范围和功能的原则如下: 1.根据已确定的系统目标和估算出的整个信息系统的信息量,考虑企业现有客观条件,包括资金情况、设备条件、现场条件、技术水平和管理现状等,合理地确定系统的范围和功能。 2.新建立的系统,可能要求现行的管理机构在组织上和功能上做某些调整和变动,以适应计算机的管理。划分系统范围时,应根据客观需要选择必要的系统结构和功能,不要受现行系统的限制。 3.结合你所参与的软件项目,详细论述确定系统范围和功能所采取的步骤。确定系统范围和功能应采取的步骤是: (1)绘制出系统的总数据流程图。该图是系统分析阶段的各业务部门的数据流程图,综合绘制在一张图上。 (2)根据系统方案要求、用户的要求和现行系统的环境及确定系统边界的原则,在总信息流程图上圈出系统范围。 (3)与用户讨论、协商修改有关内容。 (4)确定系统范围,并做分析说明。 4.列举出经过上述步骤及与用户协商后,确定了该软件项目的开发范围和功能是哪些,并谈谈你在确定系统开发范围和功能方面的体会。

  • 第3题:

    计算机技术迅速发展,特别是Internet 及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,为解决分布异构问题,提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。请根据你实际参与开发的经验,论述下列三个问题:

    概要叙述你参与分析和开发的关于中间件方面的软件项目以及你所担任的主要工作。


    正确答案:

  • 第4题:

    论企业集成平台的技术与应用 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信息环境下各特定领域的应用系统的集成。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。

    请以“企业集成平台的技术与应用”为题,依次从以下三个方面进行论述: 1.概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。 2.简要说明企业集成平台的基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。


    正确答案:一、按题目要求介绍作者参与的项目基本信息。
    二、企业信息集成是解决“孤岛”问题的需要,技术发展的同时也推动了集成架构等相关的研究。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。
    企业集成的关键应用技术可从两个大的方面来选择技术进行论述,即:数据交换格式和分布式应用集成基础框架。
    1、数据交换格式
    (1)EDI
    EDI(Electronic Data Interchange,电子数据交换)是一种利用计算机进行商务处理的方法,它将贸易、运输、保险、银行和海关等行业的信息,用一种国际公认的标准格式,通过计算机通信网络,供有关部门、公司与企业之间进行数据交换与处理,并完成以贸易为中心的全部业务过程。
    EDI格式处理的目的是将在功效上与纸介质文件等同的电子表单用统一的(或标准的)格式进行表示,以保证各个独立开发的计算机应用间能够实现表单数据共享与集成。用于描述电子表单格式的标准称为EDI格式标准或EDI标准,目前广泛使用的EDI格式标准主要有两个UN/EDIFACT和ANSIX12,它们分别由联合国欧洲经济委员会(UN/ECE)和美国国家标准化协会(ANSI)制定。
    (2)XML
    XML(Extensible Markup Language,可扩展标记语言),它是国际组织W3C制定的一个面向各类信息的数据存储工具和可配置载体的开放式标准。提出XML的目的是为了更好地适应Web应用的需求,解决HTML在表达能力、可扩展性和交互性等方面的缺陷。XML是通过对SGML标准进行简化而形成的元标记语言,具有语法清晰简单和结构无歧义等优点。它利用一套定义标记的规则将文件的内容和外观进行分离,实现了XML文档的可延伸性及自我描述特性,从而使各种业务信息可以在全球信息网或企业间的应用系统中传递、处理及储存。这里需要指出的是,虽然XML称为可扩展标记语言,但它本身并不是一种标记语言,而是一种创建、设计和使用标记语言的根规则集,是一种创建标记语言(如HTML)的元语言。
    (3)STEP
    STEP标准(Standard for the Exchange of Product Model Data)是一个描述如何表达和交换数字化产品信息的ISO标准(ISO10303),其目的是提供一种不依赖于具体系统的中性模型和机制,并将其用来描述整个生命周期内的产品数据。
    2、分布式应用集成基础框架
    (1)CORBA
    CORBA的全称是公共对象请求代理体系结构(Common Object Request Broker Architecture),它是对象管理组织(OMG)为解决分布式处理环境中硬件和软件系统的互连而提出的一种标准的面向对象应用程序体系规范。
    (2)COM +
    COM +是Microsoft公司基于Windows平台的一个分布式企业应用模型,它与Windows操作系统紧密结合,是沿着DDE-OLE-OLE2-COM-DOOM-COM+的路线发展而来。目前COM、DCOM和COM +应用比较广泛。
    (3)Web Service
     Web Service(Web服务)是指服务提供者将应用作为服务部署在Web上,通过使用Web服务描述语言(WSDL)来描述特定Web服务提供的功能。服务请求者在需要一种Web服务时,可以通过Internet,在Web服务的注册机构中查找分布在Web站点上的Web服务,并自动实现与服务的绑定,完成数据交换,在这个过程中无需人工干预。由于Web服务的系统架构和实现技术基本上基于已有的技术,因此,Web服务可以看成是现有应用面向Internet的一个延伸。
    三、第3个问题要根据项目的实际情况来写自己是怎么做的,遇到什么样的问题,如何解决的。同时文章收尾要对效果进行评价。

  • 第5题:

    试题三 论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。 1.简要叙述你参与的软件开发项目以及你所承担的主要工作。 2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。 3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    正确答案:1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
    2、开发模型多种多样,常见的包括:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。
    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。
    增量模型:它采用的是一种“递增式”模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。
    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。
    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
    3、结合项目实践说明作者在项目中所采用的开发模型,并阐述实施效果。

  • 第6题:

    论软件开发成本估算

    软件开发成本估算是软件工程项目管理中的一项重要任务。软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,软件开发成本估算应该以整个软件开发过程中所花费的人工代价为依据。

    试围绕“软件开发成本估算”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。

    2.论述在估算软件开发成本时可以采用的方法和模型,并进一步分析这些估算方法和模型的优缺点。

    3.详细论述在你参与分析和开发的应用项目中具体采用的估算软件开发成本的技术、方法、模型、工具及其实际效果。


    正确答案:软件开发成本估算是一个十分容易被忽视但却又是十分重要的内容。其重要的原因是没有成本估算项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算也就是估计软件的规模通常以代码行数、功能点数为单位;然后在估计的规模的基础上根据项目的特定因素(例如技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中可以看出规模估算是软件开发成本估算的基础(数据来源)而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现使用数学方式表达出估算所含的各种参数之间的关系如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的发布于1981年即COCOMO 81而 COCOMOII则是其新版本不过由于它们各有特色因此还共同存在于估算实践中。这是一个较严格并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外还有一些常用的静态模型其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨但是由于这些算法只是源于几十个项目的数据总结因此其结果并不是精确的但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处并评估这些差别对评估的影响。这种方法的主观意识较强估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务对每个较低层的任务做估算然后将所有的较低层的任务估算值加在一起就可以得到项目总的工作量估算值由于这种估算通常是由程序员来进行小任务块的估算因此容易让程序员产生责任感进度更有保障。 有了工作量估算后就可以计算出工作人员成本但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键其估算的结果决定了成本估算而成本估算则是在工作量的基础上做一些简单的财务计算因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上针对本项目的特色进行分析引出最合适的模型然后再结合实例详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果也就是估算的误差值是多少并且可以简要地分析这些误差值会来源于何处。
    软件开发成本估算是一个十分容易被忽视,但却又是十分重要的内容。其重要的原因是没有成本估算,项目计划就会失去基础;容易被忽视的原因却是由于大部分软件开发组织未能够有效掌握它。 软件估算包括规模估算、工作量估算、进度估算和成本估算。整个估算的过程是:首先根据软件需求进行规模估算,也就是估计软件的规模,通常以代码行数、功能点数为单位;然后在估计的规模的基础上,根据项目的特定因素(例如,技术能力、使用的语言和平台、团队稳定性、项目复杂度等)、开发生产率经验数字来估算开发的工作量,这通常以人天、人月、人年为单位;最后根据客户提出的进度需求进行进度估算,根据人员及其他成本 (如设备、房租、差旅等)对总的开发成本进行估算。软件估算的基础是经验数字和经验模型。 从上面的描述中,可以看出规模估算是软件开发成本估算的基础(数据来源),而工作量估算则是软件开发成本估算的关键(决定了开发成本)。 规模估算最常用的方法包括LOC(代码行)估算法和FP(功能点)估算法。LOC估算法主要根据历史项目记录,以经验数据进行推测;FP估算法则通过一个较严谨的经验模型计算公式来进行估算。FP估算法是一种比较通行的软件规模估算方法。 工作量估算可以采用的模型、方法和技术就比较多了,大致可以分为算法方法、类比法和自底向上法3种。 (1)算法方法估算是自顶向下的方式实现,使用数学方式表达出估算所含的各种参数之间的关系,如规模、工作量、进度、复杂度之间的关系。这个模型可以是静态的,也可是动态的。最常见的算法方法估算模型包括MarkⅡ估算、COCOM0 81、COCOMOII、 COCOMO组、Putnam估算模型等。 ①MarkⅡFP估算:它不是一个严格的算法模型,是基于各种因素和它们的影响的主观评价之间关系的一些理解。 ②COCOMO:它是根据软件产品规模和几个特征计算工作量和日历时间的估算算法模型。它是由Barry Boehm博士开发的,发布于1981年,即COCOMO 81,而 COCOMOII则是其新版本,不过由于它们各有特色,因此还共同存在于估算实践中。这是一个较严格,并经受了大量实践考验的一个经典估算模型。 ③COCOMO组:包括重点应用于COTS组件项目的COCOTS模型;用来预测每 KLOC或FP中残留错误的COQUALMO模型;着重于开发软件的成本在开发活动上的分布的COSSEMO模型;着重在预测新技术、提高生产率的发明方面最有效的成本分配的COPROMO模型。 ④Putnam估算模型:它是一个工作量动态的、多变量的估算模型,它对交付时间十分敏感。 ⑤静态模型:除了以上动态模型之外,还有一些常用的静态模型,其中最常用的是 Watson和Felix模型。其计算公式是不变的:工作量;5.2×(KLCC)0.91持续时间(月): 4.1×(KLOC)0.36。可以用来生成较粗略的估算值。 算法方法估算法虽然定义严谨,但是由于这些算法只是源于几十个项目的数据总结,因此其结果并不是精确的,但其仍然还是具有较高的参考价值。并且随着开发团队数据的积累和经验的堆积,产生的估算也会越来越精确。 (2)类比估算法则是自顶向下的查看系统,它借助经验丰富的人员的“本能感受”去识别待估项目和已完成的项目之间的相似与差异之处,并评估这些差别对评估的影响。这种方法的主观意识较强,估算结果的精确度与估算人员的经验有很大的关系。 (3)自底向上估算是将项目分解成为较小的活动和任务,对每个较低层的任务做估算,然后将所有的较低层的任务估算值加在一起,就可以得到项目总的工作量估算值,由于这种估算通常是由程序员来进行小任务块的估算,因此容易让程序员产生责任感,进度更有保障。 有了工作量估算后,就可以计算出工作人员成本,但在进行开发成本估算时还应该考虑硬件、软件、通信、差旅、培训以及其他成本。 可以从上面的描述中总结出撰写关于软件开发成本估算的论文,主要应该注意以下几个方面的要点: (1)由于许多软件开发成本估算模型都需要一些参数依据,因此应该对于项目的复杂度、涉及的关键技术、团队情况等因素进行阐述,以便能够连贯地说明估算的过程。 (2)由于工作量估算是成本估算的关键,其估算的结果决定了成本估算,而成本估算则是在工作量的基础上做一些简单的财务计算,因此可以理解为工作量估算的方法和模型。 (3)文章中应该列举算法方法估算法、类比估算法以及自底向上估算法3种模型,并且应该抓住它们各自鲜明特点进行深入的阐述。 (4)在前面描述的基础上,针对本项目的特色进行分析,引出最合适的模型,然后再结合实例,详细地说明应用的具体方案。编写时一定要注意突出其真实性。 (5)文章应该花一定篇幅来说明估算的效果,也就是估算的误差值是多少,并且可以简要地分析这些误差值会来源于何处。

  • 第7题:

    试题二 论软件项目管理技术及其应用

    软件项目管理是为了使软件项目能够按照预定的成本、进度和质量顺利完成,对人员、产品、过程和项目进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目,尤其是大型软件项目的整个生命周期都能在管理者的控制之下,以预定成本按期、按质地完成并交付用户使用。而研究软件项目管理技术则是为了从已有的成功或失败的项目案例中总结出能够指导今后开发的通用原则和方法,同时避免重复失误。

    请围绕“软件项目管理技术及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与实施和管理的软件开发项目以及你所担任的主要工作。

    2.请根据项目实际情况,从成本、进度和质量三个方面,结合软件开发过程,说明你是如何进行软件项目管理的。

    3.阐述你在进行软件项目管理时遇到了哪些问题,如何解决。


    正确答案:
    写作要点:
    一、论文中要具体介绍组织的业务背景和组织结构,软件系统开发时的人员组成、任务分工和管理方式等内容和担任的实际工作。
    二、本题应根据项目的实际情况,从成本、进度和质量三个方面,结合软件开发过程,对软件管理内容进行论述。相关的内容包括:
    1.在成本方面,需要进行软件项目成本管理。软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的
    情况下,对软件项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润。
    项目成本管理包括确保在批准的预算范围内完成项目所需的各个过程。软件项目成本的管理可以用估算和控制来概括,首先对软件的成本进行估算,然后形成成本管理计划,在软件项目开发过程中,对软件项目施加控制使其按照计划进行。成本管理计划是成本控制的标准,不合理的计划可能使项目失去控制,超出预算。因此成本估算是整个成本管理过程中的基础,成本控制是使项目的成本在开发过程中控制在预算范围之内。
    成本管理的过程包括:
    (1)资源计划,包括决定为实施项目活动需要使用什么资源(人员、设备和物资)以及每种资源的用量。其主要输出是一个资源需求清单。
    (2)成本估算,包括估计完成项目所需资源成本的近似值。其主要输出是成本管理计划。
    (3)成本预算,包括将整个成本估算配置到各单项工作,以建立一个衡量绩效的基准计划。其主要输出是成本基准计划。
    (4)成本控制,包括控制项目预算的变化。其主要输出是修正的成本估算、更新预算、纠正行动和取得的教训。
    2.在进度方面,需要进行软件进度管理。软件进度管理采用科学的方法,确定进度
    目标,编制进度计划和资源供应计划,进行进度控制,在与质量,成本目标协调的基础上,实现工期目标。进度管理主要包含以下6个过程。
    (1)活动定义:确定完成项目各项可交付成果而需要开展的具体活动。
    (2)活动排序:识别和记录各项活动之间的先后关系和逻辑关系。
    (3)活动资源估算:估算完成各项活动所需要的资源类型和数量。
    (4)活动历时估算:估算完成各项活动所需要的具体时间。
    (5)进度计划编制:分析活动顺序、活动持续时间、资源要求和进度制约因素,制定项目进度计划。
    (6)进度控制:根据进度计划开展项目活动,如果发现偏差,则分析原因或进行调整。
    3.在质量方面,需要进行软件质量管理。质量管理是指确立质量方针及实施质量方
    针的全部职能及工作内容,并对其工作效果进行评价和改进的一系列工作。软件质量管
    理需要关注软件生命周期的质量模型,编制软件管理计划,实施软件质量保证与质量控制活动。
    (1)软件生命周期的质量模型主要包括过程质量、内部质量属性、外部质量属性等内容。(2)软件管理计划的主要内容有评审与检查、项目计划阶段的质量管理活动、软件配置管理等。
    (3)软件质量保证是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,这些活动贯穿于软件生产的各个阶段。软件质量保证由各项任务构成,这些任务的参与者有两类人:软件开发人员和质量保证人员。前者负责技术工作,后者负责质量保证的计划、监督、记录、分析和报告工作。质量保证的相关技术有质量审计和过程分析等。
    质量控制是指监视项目的具体结果,确定其是否符合相关的质量标准,并判断如何能够去除造成不合格结果的根源,质量控制活动应贯穿于项目的始终。进行质量控制的主要活动是软件评审和软件测试等。
    三、在进行软件项目管理时可能存在的问题包括:如何有效发现并解决项目开发中
    的问题;如何对开发方案进行决策;如何对项目开发人员进行组织协调;如何提高团队工作效率,包括激励机制和惩罚机制;等等。

  • 第8题:

    论企业集成平台的技术与应用
    企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信息环境下各特定领域的应用系统的集成。企业集成平台的核心是企业集成架构,包括信息、过程、应用集成的架构。 (请围绕“企业集成平台的技术与应用”论题,依次从以下三个方面进行论述。) 1.概要叙述你参与管理和开发的企业集成平台相关的软件项目以及你在其中所担任的主要工作。 2.简要说明企业集成平台的基本功能及企业集成的关键技术,并结合项目实际情况,阐述该项目所选择的关键技术及其原因。 3.结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成架构设计技术的具体实施方式及过程,并详细分析其实现效果。


    答案:
    解析:
    一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、企业集成平台的基本功能有: 1.通信服务 提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无须关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求。 2.信息集成服务 为应用提供透明的信息访问服务,通过实现异种数据库系统之间数据的交换、互操作、分布数据管理和共享信息模型定义(或共享信息数据库的建立),使集成平台上运行的应用、服务或用户端能够以一致的语义和接口实现对数据(数据库、数据文件、应用交互信息)的访问与控制。 3.应用集成服务 通过高层应用编程接口来实现对相应应用程序的访问,这些高层应用编程接口包含在不同的适配器或代理中,被用来连接不同的应用程序。这些接口以函数或对象服务的方式向平台的组件模型提供信息,使用户在无需对原有系统进行修改(不会影响原有系统的功能)的情况下,只要在原有系统的基础上加上相应的访问接口就可以将现有的、用不同的技术实现的系统互联起来,通过为应用提供数据交换和访问操作,使各种不同的系统能够相互协作。 4.二次开发工具 是集成平台提供的一组帮助用户开发特定应用程序(如实现数据转换的适配器或应用封装服务等)的支持工具,其目的是简化用户在企业集成平台实施过程中(特定应用程序接口)的开发工作。 5.平台运行管理工具 是企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台应用运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,以及其中的关键数据的定期备份等功能来维护整个服务平台的系统配置及稳定运行。 企业集成的关键技术: 1.数据交换格式 企业业务数据可以分为结构化数据(表单)和非结构化数据(文档),它们一般存储在不同数据库或文档管理系统中。企业数据集成中常用的几种数据交换格式如下。 (1)EDI(电子数据交换)。EDI格式处理的目的是将在功效上与纸介质文件等同的电子表单用统一的(或标准的)的格式进行表示,以保证各个独立开发的计算机应用之间能够实现表单数据共享与集成。 (2)XML。XML是W3C制定的一个面向各类信息的数据存储工具盒可配置载体的开放式标准,其目的是为了更好地使用Web应用的需求,解决HTML在表达能力、可扩展性和交互性等方面的缺陷。 (3)STEP。STEP标准是一个描述如何表达和交换数字化产品信息的ISO标准,其目的是提供一种不依赖于具体系统的中性模型和机制,并将其用来描述整个生命周期内的产品数据。 (4)PDML。PDML的技术目标是提供一种灵活的方法,使得不同应用软件系统中的产品数据能够进行交换。它是在STEP和XML基础上实现不同系统间产品数据交换和集成的一种新模式。 2.分布式应用集成基础框架 比较有影响的主要有: (1)CORBA。CORBA是对象管理组织(OMG)为解决分布式处理环境中硬件和软件系统的互连而提出的一种标准的面向对象应用程序体系规范。 (2)COM+。 (3)Java EE。 (4)Web Service。 (对于实际采用的关键技术,应结合项目实际情况,说明选择这种/这些技术的原因) 三、考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目是如何应用所选择的关键技术进行企业集成架构的设计与实现的,说明具体的实施过程、方式方法和工具,并对实现效果进行分析。    

  • 第9题:

    论中间件技术在软件开发中的作用 随着软件应用越来越复杂,软件开发"一切从零开始"的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。 请围绕"中间件技术在软件开发中的作用"这个论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。 ③假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。


    正确答案: 写作要点
    中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户服务器的操作系统之上,管理计算资源和网络通信。
    从定义中可以看出:
    ①中间件是一类软件,而非一种软件。
    ②中间件不仅要实现互联,还要实现应用之间的互操作。
    ③中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
    1.中间件的分类
    根据功能的不同,中间件可以细化为以下一些种类:
    ①通信处理(消息)中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。
    ②事务处理(交易)中间件。在分布式事务处理系统中要处理大量的事务,常常在系统中要同时进行上万笔事务。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器实时并发运行,并进行负载平衡地调度,实现昂贵的小型机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件,以及数据存取管理中间件3部分组成。
    ③数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。
    ④Web服务中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能做数据写入、受HTTP协议的限制等,必须进行修改和扩充,这形成了Web服务器中间件。
    ⑤安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。
    ⑥跨平台和体系结构的中间件。当前,开发大型应用软件通常采用基于体系结构和构件的技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了体系结构中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;JavaBean较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合Windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括Linux)和Windows,因此针对这两个平台建立相应的中间件要实用得多。
    ⑦专用平台中间件。为特定应用领域设计参考模式,建立相应体系结构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。
    ⑧其他中间件。现在出现了一些中间件,如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中间件。另外还有一些更高层的中间件,多用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。
    2.中间件的优点及其应用
    中间件作为一大类系统软件,与操作系统、数据库管理系统并称"三套车",其重要性是不言而喻的,中间件的优点应该说是有目共睹的。它的优越性体现在以下几个方面:缩短应用的开发周期;节约应用的开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。
    具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
    中间件带给应用系统的不只是开发的简便、开发周期的缩短,还减少了系统的维护、运行和管理的工作量,同时减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。
    其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力的投入。3.中间件的发展趋势
    中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下3种发展趋势:
    ①规范化。在中间件的发展过程中,做得最好的一件事情就是规范的制定。对于不同类型的中间件,目前都有一些规范可以遵循,如消息类的JMS,对象类的CORBA和COM/DCOM,交易类的XA、OTS、JTA/JTS,应用服务器类的J2EE,数据访问类的ODBC和JDBC,Web服务有SOAP、WSDL、UDDI等。这些规范的建立极大地促进了中间件技术的发展,同时保证了系统的扩展性、开放性和互操作。
    ②构件化和松耦合。除了已经得到较为普遍应用的CORBA、DCOM等适应Intranet的构件技术外,随着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向Web、松耦合的方式发展。基于XML和Web服务的中间件技术,使得不同系统之间、不同应用之间的交互建立在非常灵活的基础上。XML是一种可扩展的源标识语言,它提供了一种新的定义标识语言标准。XML技术非常适合于异构系统间的数据交换,因此在国际上已经被普遍采纳为电子商务的数据标准。而Web服务作为基于Web技术的构件,在流程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。
    ③平台化。目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联网的软件平台战略计划和应用解决方案。4.选用中间件的原则
    ①技术成熟度。不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库和应用都有关系,因此中间件从诞生到成熟需要2~3年的时间。中间件的技术成熟度是一个很需要关注的问题。
    ②先进性。中间件的技术先进性主要看它是不是符合国际的潮流,是否采用了各种标准化的做法。比如,它能不能支持HTML、JavaScript、XML这样一些国际标准的语言环境。因为大量的应用软件都是在语言环境下发展起来,现在计算机上的这些语言环境已经很成熟,手机上也开始有了Java,机顶盒如果不支持这些标准的话,将来很难做到应用服务的通用。如果中间件技术上能达到国际开放标准水平的话,就很容易向上发展了。包括MHP和MHEG和美国的OPENCABEL在内的一系列的中间件标准,只要中间件支持JavaScript、HTML和XML等通用语言,这3种常用中间件的主流模块都可以移植到我们的应用服务里。
    ③与遗留应用的结合度。如果选用中间件构造的应用与传统的遗留应用要建立联系的话,就必须考虑这个问题。
    ④使用的难易程度。每类中间件使用的难度也不尽相同。有些中间件只是你的应用的一部分,而有些中间件将会给你的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。
    ⑤成本。不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大,把交易中间件用在非交易处理类系统中去传递消息同样不可取。另外也要考虑技术培训对开发成本带来的影响。
    ⑥技术方向。有的中间件比较传统,而有的中间件是发展方向,中间件的选择与对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或Web技术,就要选择相关的中间件。
    ⑦适用性。好的中间件要带一个非常丰富的应用库。中间件的一个最大作用就是重复使用已经开发过的应用软件模块,通常这些模块都是以库单元的方法来实现的,中间件在实际应用中越成功,开发的应用程序越多,它带的库就越丰富,使用者就可以越简便地开发或修改自己需要的新服务,这就是知识的积累。
    通过以上分析,可以对中间件技术有一个全面的了解,除了基础技术的了解,写好本文,还要注意以下要点:
    ①用400~600字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。
    ②简单介绍中间件的种类及作用。
    ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用
    ④结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。

  • 第10题:

    论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近期演变趋势与主要特征,你准备如何去适应这类演变?


    正确答案: 我校教务管理系统是在根据我校原来的教务管理系统不再适应现在发展的要求而立项开发的。目的是为教务工作有关部门提供优质、高效的业务管理和事务处理,建立完备、可靠和开放性的教务管理系统。
    我有幸参加了新的教务管理系统的开发,担任项目管理、系统分析与设计等工作。本文结合工作的实际经历,简要讨论了软件开发平台的选择与应用。在软件开发平台的选择与应用过程中,我们本着平台的开放性、分布性和平台无关性的原则,根据我校的具体情况,通过对目前两种主流平台:J2EE和.NET的比较分析,和体系结构、应用平台的无缝集成、开发成本及易开发性的思考与研究,选择了.NET作为开发平台。使用Microsoft全新的集成开发环境VisualStudio.NET,采用ASP.NET、WebService、ADO.NET和XML等技术进行系统开发。
    随着我校规模的不断扩大,计算机科学技术的进步,我校原来的教务管理系统已不适应现在发展的要求。以前单机版的VFP教务管理软件,被分散地安装于全校的14个系部和教务处,各系部之间、系部与教务处之间信息不能共享,而且对教学计划、教学考核等功能不完善或根本不支持。教务处是学校主管教育教学工作的职能部门,也是学校领导在教学业务方面的参谋机构。教务工作直接影响学校教育教学改革和教育教学质量。因此,学校决定由教务处立项重新规划建设教务管理系统。整个系统包括教学计划子系统,教学资源子系统,网上选课子系统,智能排课子系统,教学考核子系统,学生学籍子系统,学生成绩子系统,教学实践子系统,教材管理子系统等。
    我有幸参加了新的教务管理系统的开发,担任项目管理、系统分析与设计等工作。
    由于我校分南北两个校区,教务处和14个系部分布较散,另外随着'Internet的迅速发展,部分信息需要通过网络向全校师生及外部用户发布,例如网上选课信息、学生基本信息及成绩等。基于传统的C/S模式体系可维护性和发布性差等原因难以满足新系统的要求,有效地采用基于B/S体系的Web应用能很好地解决这方面的问题。
    基于互联网的应用要求软件平台具有开放性、分布性和平台无关性。从而相继出现了RPC、COM和CORBA等技术,但这些技术在实际应用中存在着许多不足和局限。它们的特定协议难以通过防火墙,因而不适应于Web上的应用开发。为了进一步开发基于Web的应用,出现了Sun公司的J2EE和Microsoft公司的.NET两种主流的软件开发平台。
    在J2EE和.NET两者之间进行选择时,我们曾举棋不定。随着面向对象技术的兴起,Java语言应用的迅速发展,以Java为程序设计语言的J2EE具有平台无关性。同时J2EE已成为Web应用开发的标准平台。以及它的相关技术EJB、JSP、JavaServlet等的迅速发展,J2EE平台已成为Java技术企业级应用的理想平台。但我校原有的大部分操作系统、数据库和Web服务器都是采用Microsoft的系列产品,并且在Microsoft系列产品的使用和开发方面积累了较丰富的经验。.NET支持多种程序设计语言如:C++.NET、VB.NET、ASP.NET、C#等,实现了语言互用性。而J2EE只能使用Java,这是J2EE所不及的。并且VisualStudio.NET使得.NET的开发较J2EE的易用性好。
    在最后具体的软件开发平台与应用的技术方案选择时,我们采用了.NET开发平台。其原因主要基于对开发平台选择原则如下的认真思考和研究。1.体系结构方面的考虑随着Internet的迅速发展,传统的C/S结构已显示出了它在异构的、分布式的网络环境中的不足。可维护性和可安装性差、并且不利系统扩展。从而新的体系结构B/S模式迅速发展了起来。B/S模式有利于系统的扩展性、维护性。
    在校园网发展逐步完善的今天,考虑到教务管理系统安装、维护的方便和部分信息的向外发布,以及传统的C/S模式技术的成熟性。我们采用了C/S和B/S相结合的模式。.NET开发平台正是为进一步开发基于Web的应用而出现的,是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件。.NET支持多种编程语言,使各种语言可以自由地在整个.NET平台内互用,很好的发挥各种语言的特性。例如:我们对C/S结构程序使用执行效率高的VC++.NET和快速开发的VB.NET,B/S结构程序使用.NET专门为Web应用定制的ASP.NET和C#。再加上功能强大的VisualStudio.NET集成开发环境,.NET为C/S和B/S相结合的模式提供了很好的解决方案。基于此原因,我们把系统的教学计划子系统、智能排课子系统、教学考核子系统、教学实践子系统、教材管理子系统等设计为C/S结构、网上选课子系统、学生学籍子系统、学生成绩子系统、教学资源子系统等设计为B/S结构。2.应用平台的无缝集成性
    由于我校使用的操作系统都是Microsoft的Windows系列,同时.NET是与Windows操作系统紧密捆绑在一起,使得.NET在Windows上的应用开发更为容易。并且以前的数据库是VFP的。考虑到数据的平稳过渡以及我们对数据库的熟悉程度,再加上.NET.提供的ADO.NET数据访问组件是对ADO的改进,ADO.NET分为3组,分别是ODBC、OleDB和SqlClient。其中SqlClient是专门为SQLServer设计的,性能明显优于其他的数据访问组件。我们在新系统的后台数据库服务器的选择上采用了MicrosoftSQLServer2000。
    选择Microsoft的操作系统Windows,数据库服务器SQLServer2000和开发平台.NET应用平台,充分利用无缝集成平台的优势,使.NET应用开发更容易,运行更可靠、更安全。这是J2EE所不及的。3.节约开发成本由于我校在以前的信息化建设过程中培养了一批经验较丰富的C++、VB、ASP等开发人员,熟悉Windows上的开发,同时在数据库管理系统MicrosoftSQLServer上的设计与开发方面有一定的经验。而在Java开发方面的经验相对不足。如果我们选择J2EE则意味着开发人员资源的浪费,并且要重新培养Java开发人员,并且新培养的开发人员由于缺乏经验,很难保证开发效率和质量。选择.NET,则我们的开发人员便能轻松的转变到C++.NET、VB.NET、ASP.NET及C#的开发当中来。再加上以前在Windows上的开发经验,最终有利于我们的开发速度加快,质量提高,从而很好地节约了开发成本。4.易开发性就.NET开发平台的容易使用性来看,在如下几点得到了很好的体现。
    (1).NET的重要部件ASP.NET使Web应用程序的开发和部署更为容易。.NET相对较新,它拥有Java所缺乏的改进,例如,ASP.NET使开发者可以用比Java开发者在J2EE平台上更少的代码来实现WebServices。在教务管理系统中,我们对学生成绩查询、学生网上选课和教学资源调配等交互较多的逻辑模块,都设计成Webservice结构的中间组件。轻松地节省了花在用户界面编程上的开发时间、同时Webservice完全可以在应用程序集成等场合下被重用。
    (2)ADO.NET数据访问组件较以前的ADO更方便的访问各种类型的关系数据库和非关系数据库,获取本地和远程数据源,并对XML提供了强大的支持。这对以后的后台数据库的扩展也提供了很好的支持。
    (3)VisualStudio.NET为.NET提供了一个统一的集成开发环境及工具,大大提高了开发者的效率;集成了多种语言支持:简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等。
    通过对上述4个主要方面的思考,所以我们选择了.NET平台作为开发与应用。
    目前软件开发平台主要向Web的应用方向发展。由于Web的应用是基于分布和异构的网络环境的,所以要求开发平台应具有开放性、分布性和平台无关性。现在流行的软件开发平台主要有Microsofi的.NET和Sun的J2EE。在实际应用当中,我们具体选择哪种方案应根据具体情况而定,很多情况可能会综合使用两种开发平台。在适应技术发展的过程中,快速的跟上新技术是必须的。

  • 第11题:

    问答题
    论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。

    正确答案: 所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。
    本文的写作要点,大致包括以下几个方面:
    ①结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。
    ②较为详细地说明设计模式的基本分类,并结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。
    ③结合项目实际工作,举例说明设计模式的使用效果,针对设计模式对软件开发的影响展开分析与讨论。
    解析: 暂无解析

  • 第12题:

    问答题
    论文:试题论软件项目的进度管理软件开发项目进度管理是软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节。在软件开发过程中为保证软件按时完成,必须采取许多有关的技术、策略和方法。请围绕“软件项目的进度管理”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体讨论你在软件开发中为保证软件项目的进度所采取的主要技术及方案,详细叙述你为保证软件项目进度在你组织内部实施的方法和策略。 (3)分析你在采取上述措施、方法和策略的效果如何?你认为所采用方法和策略有哪些独到之处,为什么?本文讨论了电力行业工作票、操作票系统的项目管理,在本项目中我作为项目负责人,承担了项目管理工作。

    正确答案: 在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。本文从合理的估算项目的工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面,讨论了电力行业工作票、操作票系统项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质完成。本系统在电力系统已经运行,状况良好,受到一致好评。
    2003年2月,我参加了电力行业工作票、操作票系统的开发,担任项目管理工作。电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,电力行业工作票、操作票系统就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行。有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识。
    本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象。工作票、操作票签发系统主要是在系统图的基础上进行点击操作,每次点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范。
    在本系统的开发过程中,我通过合理的估算项目工作量及技术难度、识别关键任务、随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质完成。1.合理的估算项目工作量及技术难度本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算。将每个功能模块逐步分解,直至基本模块为止。我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统。一种电力设施对应一个类,电力设施的技术参数及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类。系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算。
    同时,我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的项目供我们参考。对于本系统的第二部分,我们就是借鉴以前做过的基于C/S结构的系统,基于C/S结构的系统框架基本上是一致的,数据库的设计、前台操作(例如,对数据库进行添加、删除、修改、查询等一系列活动)大体相同。正因如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改,在工作量的估算上也有很好的借鉴作用。这对工作量的估算也是一个重要的参考,为工作进度安排提供了依据。
    在技术上,我们重点考虑本系统与其他C/S结构的系统的不同之处,相同或相似之处。我们认为没有技术难点。系统编辑平台主要是绘图,我们知道MFC的绘图功能确实强大,但是过于繁琐,功能封装不是十分完美,于是,我们采用了Form++这个MFC扩展类库,该类库对图形操作封装得很好,大大降低了系统图编辑部分的难度,在界面设计上我们采用了BCG这个扩展类库,使得VC应用程序界面设计得如同Delphi等工具一样完美。同时减少了工作量,在工作安排上,对于技术难度相对大一点的部分,我们安排经验丰富的程序员,同时也与其他工作组的成员商讨技术细节问题,与他们进行技术探讨。这样不至于因为某一技术细节而影响整个工程进度。
    根据上述分析,我们制定一个详细的进度表并定义了相应的里程碑。2.识别关键任务系统图编辑部分是整个系统的基础,因为工作票、操作票签发部分是建立在该部分的基础之上,系统图编辑部分直接影响到整个项目。因此该部分是整个系统的关键部分,在这部分中每种电力设施所对应的类及其父类的定义是关键,因为所定义的类必须完整、准确地反映该电力设施的技术参数和操作。
    工作票、操作票签发部分是用户明确提出的要求实现的功能,直接面对用户,这部分的成功与否直接影响到该系统的质量,因此也是不容忽视的。
    如果上述两部分任务的进度受到影响,则整个项目的完成将受到威胁。因此是本项目的关键任务。在进度控制时我们将其作为重点对象进行控制。3.随时了解项目进度,必要时调整进度表
    在确定项目开发计划时,我们制定了详细的进度表。我们在确定每一项任务时都确定该任务的工作量、开始时间、持续时间、结束时间。同时让每个小组成员知道自己所承担任务的时间表,小组成员根据自己的任务制定自己的详细工作计划。
    工作日志是了解每个小组成员工作情况的很好的方式,我们要求每个小组成员对自己的工作都要做工作曰志,对自己每天的工作做详细记录。每周对自己的工作进展做出结论,向项目组汇报。在做结论时,不得使用“差不多”、“大概”、“完成了90%”等模糊字眼,而是采用某任务“已经全部完成”、“90%的工作全部完成”或者“再过1天全部完成”等方式。每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础。
    同时,我们在项目进度计划中根据项目设计和定义了相关的里程碑,在每个里程碑处,我们都采取小组会议形式对本阶段的工作进行确认和总结,对本阶段的进展情况做出结论,并决定是否调整下一阶段的进度计划。
    在系统图编辑部分,我们认为各电力设施所对应的类(包括其父类)定义完成为一个里程碑,每个类是否具备了相对应的电力设施的技术参数及操作是该里程碑的标准,这些类(包括其父类)的实现完成又为一个里程碑,……,整个系统图编辑部分的完成也是一个里程碑。每个里程碑的标准在系统设计时已经定义好。4.结束语电力行业工作票、操作票系统目前已经开发完毕,运行状况良好,受到一致好评。在本系统开发的整个过程中采用了面向对象技术同传统技术相结合的原则,因为小组成员各有特长,面向对象技术不是每个小组成员都熟练掌握的,加之面向对象技术在我们公司还不是很成熟,必须有一个过渡,不能一下子转型,因此采用这种策略符合我们公司的现实情况。
    由于项目进度管理得当,项目按期完成,我们小组赢得了公司的好评,其他小组也研究我们的管理方式。当然,项目管理方式多种多样,根据项目不同、人员不同,管理模式应做调整而不是一成不变。适合本项目的管理模式才是最好的模式,先进的管理方法在不同的项目组中取得的效果是不同的,这有待于我们去研究、探索、实践和总结。
    解析: 暂无解析

  • 第13题:

    论设计模式在软件开发中的应用

    设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。

    请围绕“设计模式在软件开发中的应用”论题,依次对以下三个方面进行论述。

    1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。

    2)简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法以及选用它们的原因。

    3)分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。


    正确答案:[写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作说明设计模式对系统开发的作用。 2)能够较为详细地说明设计模式的基本分类能够结合项目实际工作说明在系统开发中所采用的设计模式以及选择这些设计模式的原因。 设计模式的核心在于提供了相关问题的解决方案。设计模式一般有四个要素:模式名称、问题、解决方案和效果。 设计模式的基本分类: (1)创建型模式。创建型模式抽象了实例化过程它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括:Factory Method(工厂方法)、Abstract Factory (抽象工厂)、Builder(生成器)、Prototype(原型)、Singleton(单身模式)。 (2)结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。包括: Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)。 (3)行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式还描述了它们之间的通信模式。常用的行为模式有Observer(观察者) Strategy(策略)等。 3)结合项目实际工作举例说明在设计模式的使用效果能够针对设计模式对软件开发的影响展开分析与讨论。
    [写作要点] 1)结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。 2)能够较为详细地说明设计模式的基本分类,能够结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。 设计模式的核心在于提供了相关问题的解决方案。设计模式一般有四个要素:模式名称、问题、解决方案和效果。 设计模式的基本分类: (1)创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括:Factory Method(工厂方法)、Abstract Factory (抽象工厂)、Builder(生成器)、Prototype(原型)、Singleton(单身模式)。 (2)结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。包括: Adapter(适配器)、Bridge(桥接)、Composite(组成)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)。 (3)行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述了它们之间的通信模式。常用的行为模式有Observer(观察者) Strategy(策略)等。 3)结合项目实际工作,举例说明在设计模式的使用效果,能够针对设计模式对软件开发的影响展开分析与讨论。

  • 第14题:

    试题一

    论软件需求管理及其应用

    软件需求工程关注创建和维护软件需求文档需展开的一切活动。需求工程可分为需求开发和需求管理两项工作,其中需求管理的目标是为软件需求建立一个基线,供软件开发及其管理使用,确保软件计划、产品和活动与软件需求的一致性。从软件需求工程的角度来看,需求管理包括在软件开发过程中维持需求一致性和精确性的所有活动。

    请围绕“软件需求管理及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。

    2.详细论述软件需求管理的主要活动及其所包含的主要内容。

    3.结合你具体参与管理和开发的实际项目,说明是如何采用软件需求管理方法进行需求管理的,说明具体实施过程以及应用效果。


    正确答案:

    1.简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

    2.需求管理的主要活动有变更控制,版本控制,需求跟踪和需求状态跟踪。

    (1)需求变更管理过程包括:

    1. 问题分析和变更描述,需要识别和分析需求问题,形成明确的变更协议,以检查它的有效性,从而产生一个更明确的需求变更提议。

    2. 变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改,系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。

    3. 变更实现。这要求需求文档和系统设计以及实现都要同时修改。

      (2)版本控制:主要包括确定需求文档版本。

      (3)需求跟踪:包括定义对其他需求的链接;定义对其他系统元素的链接;使用的工具即需求跟踪矩阵。

      (4)需求状态跟踪:定义需求状态;跟踪需求的每一个状态。

      3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的需求管理活动,说明该活动的具体实施过程,使用的方法和工具,并对实际应用效果进行分析。

  • 第15题:

    论应用服务器基础软件 应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性和可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。

    请以“应用服务器基础软件”为题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能? 3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。


    正确答案:写作要点:
    一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。
    二、论述和分析应用服务器应该具备的核心功能。
    应用服务器是应用设计、开发、部署、运行、管理、维护的平台。应用服务器既是应用开发的平台,包括表示层、应用层和数据层的设计模式和编程环境;同时又是多层结构应用的部署、运行平台,对多层结构应用进行配置、启动、监控、调整,并在开发的不同阶段提供不同的功能。
    1. 设计阶段,应用服务器完成底层通信、服务,并屏蔽掉复杂的底层技术细节,向用户提供结构简单、功能完善的编程接口,让用户可以专心于商务逻辑的设计。
    2. 开发阶段,应用服务器提供了完全开放的编程语言和应用接口,同时也提供快速开发的工具和手段,帮助用户提高开发效率。
    3. 部署阶段,应用服务器提供了对多种网络环境的支持,帮助用户在复杂的网络环境中配置系统参数,发挥系统最大性能。
    4. 运行阶段,应用服务器基于开发技术标准,提供了系统的运行环境,提供了系统的名字解析、路由选择、负载平衡、事务控制等服务,并提供系统容错、修复、迁移、升级扩展等功能。
    5. 管理阶段,应用服务器提供图形化界面来管理整个系统的资源,而且系统在运行期间也能动态监控和管理。
    三、针对作者实际参与的软件系统开发项目,说明所采用的应用服务器,并描述该应用服务器在开发、部署和运行阶段的实际应用效果。

  • 第16题:

    论软件设计模式及其应用 软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。

    请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。 2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。 3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。


    正确答案:本题为模拟题原题,具体写作要求为:
    一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
    二、设计模式的基本分类:
    · 创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于创建、组合和表示它的那些对象。创建型模式包括工厂方法、抽象工厂、生成器、原型、单例模式等。
    · 结构型模式。结构型模式涉及到如何组合类和对象以获得更大的结构。结构型模式包括适配器、桥接、组成、装饰、外观、享元、代理等。
    · 行为模式。行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述了它们之间的通信模式。常用的行为模式有观察者、策略等。
    三、你在项目中运用了何种设计模式以及如何用此模式进行分析与设计。要紧密结合主题项目,选择1-2种设计模式进行讨论就可以了。

  • 第17题:

    试题一 论面向对象建模方法的应用

    随着软件技术的发展,面向对象方法日益成为信息系统软件开发的主流技术,而面向对象建模技术是其中的关键。模型是软件开发的根本,大型、复杂的软件系统的开发是一项工程,而建模是系统化认识所开发软件的一个初步途径。

    面向对象建模技术流派众多,包括OMT方法、OOSE方法、OOA/OOD方法等。统一建模语言的出现极大地促进了面向对象建模方法的普及与应用,已经成为当前面向对象建模方法的标准。

    请围绕“论面向对象建模方法的应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与管理和开发的信息系统项目以及你在其中所承担的主要工作。

    2论述常见的面向对象建模方法的主要内容,包括每种模型的核心思想。

    3具体阐述你参与管理和开发的项目中使用的是哪种面向对象建模方法以及选择

    该方法的原因,给出具体的实施过程和实施效果。


    正确答案:
    写作要点述的。(4)统一建模语言是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格说明,到构造和配置。UML是在开发阶段,可视化构建和书写一个面向对象软件系统,进行规格说明的方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构级别已经被验证有效。UML被OMG采纳作为业界的标准。三、论文中需要结合实际工作,详细论述在项目中如何使用所选择的建模方法创建系统的逻辑模型和物理模型,并说明这些模型对项目开发所产生的影响。

  • 第18题:

    试题一论模型驱动的软件开发方法及其应用

    模型驱动架构( MDA)是对象管理组织(OMG)提出的一种新的软件开发方法,它强调由软件系统的建模行为驱动整个系统的开发过程,来完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。与传统的UML模型相比,MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换( Transformation)技术可自动转换为代码、测试脚本、数据库定义以及各种平台的部署描述。通过使用MDA技术,可以有效解决传统软件开发过程中的生产效率问题、系统移植问题、互操作问题以及文档和系统后期维护问题。

    请围绕“模型驱动的软件开发方法及其应用”论题,依次从以下三个方面进行论述。

    1.概要叙述你参与实施的模型驱动的软件开发项目以及你所担任的主要工作。

    2.阐述模型驱动的软件开发过程中的主要活动,并论述模型驱动的软件开发过程

    与传统的软件开发过程的区别。

    3.阐述在进行模型驱动的软件开发时遇到了哪些问题,如何解决。


    正确答案:

    写作要点:
    一、论文中要具体介绍组织的业务背景、组织结构、软件系统的架构、采用的技术
    等内容和担任的实际工作。
    二、相关的内容包括:
    1.模型驱动的软件开发过程中的主要活动包括:
    (1)需求分析人员根据领域需求得到描述软件系统外部特征的计算无关模型(CIM);
    (2)在对CIM进行分析的基础上得到平台无关模型(PIM),并根据业务逻辑进一步精化PIM;
    (3)进行PIM到平台特定模型(PSM)的模型转换;
    (4)将每个PSM转换为实现特定模型(ISM),生成应用程序代码,并进行测试。
    2.与传统的软件开发过程相比,模型驱动的软件开发方法有5个主要区别。
    (1)自动实现模型变换。
    传统的开发过程中,模型到模型的变换,或模型到代码的变换都是手工完成的;而模型驱动的开发过程中,模型变换都是由相关工具自动完成的,PIM到PSM、PSM到
    ISM都可以自动转换实现。
    (2) 模型是开发产品,也是程序生成的基础设施。
    模型驱动的开发过程中,模型是软件开发生命周期中的核心产品,通过一系列转换
    最终可以自动生成执行代码,是产生执行代码的基础设施。而在传统开发过程中模型只是分析人员、设计人员进行分析与交流的文档与图标,不能生成可用的应用程序代码。
    (3)模型变换过程与代码生成过程同步,可维护性强。
    模型驱动开发过程中,执行代码是由模型通过转换直接生成的,保证了模型与代码的同步。开发人员维护系统的重心不在是传统开发方法中的程序代码,而是与业务逻辑
    相关、与技术平台无关的平台无关模型PIM。
    (4)业务逻辑模型与实现技术平台分离。
    需求分析阶段生成的PIM模型与开发技术、开发平台以及实现技术无关,并且PIM模型可以根据不同的技术平台,自动生成以模型为基础的、适用于不同技术平台的软件系统。
    (5)提高了开发效率与软件质量。
    模型驱动开发的模型架构代表了对系统不同层次的抽象,使得开发人员更加清晰地了解系统的整个架构,而不会被具体的实现技术所困扰。开发人员专注于根据系统业务
    逻辑构建PIM,通过代码生成技术自动生成实现代码,减少了由于人为因素导致的系统实现错误。
    三、在进行模型驱动的软件开发时可能存在的问题包括:如何对CIM和PIM进行建模;如何进行模型之间的转换,特别是PIM到PSM的转换;如何根据需求进行实现
    平台选择;如何根据PSM生成ISM(代码);如何进行系统测试;等等。

     

  • 第19题:

    论软件开发模型及应用

    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。

    1.简要叙述你参与的软件开发项目以及你所承担的主要工作。

    2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。

    3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


    答案:
    解析:
    瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。

    快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。

    演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种渐进式原型法。

    增量模型:它采用的是一种递增式模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。

    螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。

    喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。

    统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。

    敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。

  • 第20题:

    论应用服务器基础软件
    应用服务器是在当今基于互联网的企业级应用迅速发展,电子商务应用出现并快速膨胀的需求下产生的一种新技术。在分布式、多层结构及基于组件和服务器端程序设计的企业级应用开发中,应用服务器提供的是一个开发、部署、运行和管理、维护的平台,提供软件“集群”功能,可以让多个不同的异构服务器协同工作、相互备份,以满足企业级应用所需要的高可用性、高性能、高可靠性和可伸缩性等实际需求。应用服务器技术的出现,能够加快应用的开发速度,减少应用的开发量。通过隔离底层细节,便于商业逻辑的实现与扩展,同时也为企业应用提供现成的、稳定的、灵活的、成熟的基础架构。 (请围绕“论应用服务器基础软件”论题,依次从以下三个方面进行论述。) 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.论述并分析应用服务器在软件设计、开发、部署、运行和管理阶段,应该提供哪些核心功能? 3.详细说明你所参与的软件系统开发项目,采用了哪种应用服务器,在软件开发、部署和运行阶段,具体实施效果如何。


    答案:
    解析:
    [写作要点] 一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、论述和分析应用服务器应该具备的核心功能。 应用服务器是应用设计、开发、部署、运行、管理、维护的平台。应用服务器既是应用开发的平台,包括表示层、应用层和数据层的设计模式和编程环境;同时又是多层结构应用的部署、运行平台,对多层结构应用进行配置、启动、监控、调整,并在开发的不同阶段提供不同的功能。 1.设计阶段,应用服务器完成底层通信、服务,并屏蔽掉复杂的底层技术细节,向用户提供结构简单、功能完善的编程接口,让用户可以专心于商务逻辑的设计。 2.开发阶段,应用服务器提供了完全开放的编程语言和应用接口,同时也提供快速开发的工具和手段,帮助用户提高开发效率。 3.部署阶段,应用服务器提供了对多种网络环境的支持,帮助用户在复杂的网络环境中配置系统参数,发挥系统最大性能。 4.运行阶段,应用服务器基于开发技术标准,提供了系统的运行环境,提供了系统的名字解析、路由选择、负载平衡、事务控制等服务,并提供系统容错、修复、迁移、升级扩展等功能。 5.管理阶段,应用服务器提供图形化界面来管理整个系统的资源,而且系统在运行期间也能动态监控和管理。三、针对作者实际参与的软件系统开发项目,说明所采用的应用服务器,并描述该应用服务器在开发、部署和运行阶段的实际应用效果。  

  • 第21题:

    论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。


    正确答案: 所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。
    本文的写作要点,大致包括以下几个方面:
    ①结合自己参与分析和开发的应用项目或从事的实际工作,说明设计模式对系统开发的作用。
    ②较为详细地说明设计模式的基本分类,并结合项目实际工作,说明在系统开发中所采用的设计模式,以及选择这些设计模式的原因。
    ③结合项目实际工作,举例说明设计模式的使用效果,针对设计模式对软件开发的影响展开分析与讨论。

  • 第22题:

    问答题
    论基于Web的数据库应用系统的开发技术 浏览器和HTTP协议在全球因特网的成功应用,促进了企业中的B/S结构的迅速推广。基于Web的数据库应用系统通常采用三层(或更多层)C/S结构,允许用于各类不同的平台和选择相应的数据库应用环境 请围绕"基于Web的数据库应用系统的开发技术"论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。 ②具体讨论你在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。 ③分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改进,以及如何加以改进?

    正确答案: 写作要点
    完成本题的写作,需要对Web开发的相关架构有充分的了解,相关知识可参看"8.1.5分层架构"。除了解技术知识,在写作方面还要注意以下几个方面的要点:
    ①在文章中首先用400~600字的篇幅简要叙述自己参与分析和开发的系统概要和所担任的工作。
    ②具体讨论在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。特别要注意描述三层结构的逻辑和物理部署,讨论数据是如何在三层之间传送的。
    ③最后要根据项目实际情况,分析所采用的开发技术的具体效果,你现在认为还有哪些可以改进的地方(例如,应用服务器性能的改进等),如何加以改进。
    解析: 暂无解析

  • 第23题:

    问答题
    论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近期演变趋势与主要特征,你准备如何去适应这类演变?

    正确答案: 我校教务管理系统是在根据我校原来的教务管理系统不再适应现在发展的要求而立项开发的。目的是为教务工作有关部门提供优质、高效的业务管理和事务处理,建立完备、可靠和开放性的教务管理系统。
    我有幸参加了新的教务管理系统的开发,担任项目管理、系统分析与设计等工作。本文结合工作的实际经历,简要讨论了软件开发平台的选择与应用。在软件开发平台的选择与应用过程中,我们本着平台的开放性、分布性和平台无关性的原则,根据我校的具体情况,通过对目前两种主流平台:J2EE和.NET的比较分析,和体系结构、应用平台的无缝集成、开发成本及易开发性的思考与研究,选择了.NET作为开发平台。使用Microsoft全新的集成开发环境VisualStudio.NET,采用ASP.NET、WebService、ADO.NET和XML等技术进行系统开发。
    随着我校规模的不断扩大,计算机科学技术的进步,我校原来的教务管理系统已不适应现在发展的要求。以前单机版的VFP教务管理软件,被分散地安装于全校的14个系部和教务处,各系部之间、系部与教务处之间信息不能共享,而且对教学计划、教学考核等功能不完善或根本不支持。教务处是学校主管教育教学工作的职能部门,也是学校领导在教学业务方面的参谋机构。教务工作直接影响学校教育教学改革和教育教学质量。因此,学校决定由教务处立项重新规划建设教务管理系统。整个系统包括教学计划子系统,教学资源子系统,网上选课子系统,智能排课子系统,教学考核子系统,学生学籍子系统,学生成绩子系统,教学实践子系统,教材管理子系统等。
    我有幸参加了新的教务管理系统的开发,担任项目管理、系统分析与设计等工作。
    由于我校分南北两个校区,教务处和14个系部分布较散,另外随着'Internet的迅速发展,部分信息需要通过网络向全校师生及外部用户发布,例如网上选课信息、学生基本信息及成绩等。基于传统的C/S模式体系可维护性和发布性差等原因难以满足新系统的要求,有效地采用基于B/S体系的Web应用能很好地解决这方面的问题。
    基于互联网的应用要求软件平台具有开放性、分布性和平台无关性。从而相继出现了RPC、COM和CORBA等技术,但这些技术在实际应用中存在着许多不足和局限。它们的特定协议难以通过防火墙,因而不适应于Web上的应用开发。为了进一步开发基于Web的应用,出现了Sun公司的J2EE和Microsoft公司的.NET两种主流的软件开发平台。
    在J2EE和.NET两者之间进行选择时,我们曾举棋不定。随着面向对象技术的兴起,Java语言应用的迅速发展,以Java为程序设计语言的J2EE具有平台无关性。同时J2EE已成为Web应用开发的标准平台。以及它的相关技术EJB、JSP、JavaServlet等的迅速发展,J2EE平台已成为Java技术企业级应用的理想平台。但我校原有的大部分操作系统、数据库和Web服务器都是采用Microsoft的系列产品,并且在Microsoft系列产品的使用和开发方面积累了较丰富的经验。.NET支持多种程序设计语言如:C++.NET、VB.NET、ASP.NET、C#等,实现了语言互用性。而J2EE只能使用Java,这是J2EE所不及的。并且VisualStudio.NET使得.NET的开发较J2EE的易用性好。
    在最后具体的软件开发平台与应用的技术方案选择时,我们采用了.NET开发平台。其原因主要基于对开发平台选择原则如下的认真思考和研究。1.体系结构方面的考虑随着Internet的迅速发展,传统的C/S结构已显示出了它在异构的、分布式的网络环境中的不足。可维护性和可安装性差、并且不利系统扩展。从而新的体系结构B/S模式迅速发展了起来。B/S模式有利于系统的扩展性、维护性。
    在校园网发展逐步完善的今天,考虑到教务管理系统安装、维护的方便和部分信息的向外发布,以及传统的C/S模式技术的成熟性。我们采用了C/S和B/S相结合的模式。.NET开发平台正是为进一步开发基于Web的应用而出现的,是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件。.NET支持多种编程语言,使各种语言可以自由地在整个.NET平台内互用,很好的发挥各种语言的特性。例如:我们对C/S结构程序使用执行效率高的VC++.NET和快速开发的VB.NET,B/S结构程序使用.NET专门为Web应用定制的ASP.NET和C#。再加上功能强大的VisualStudio.NET集成开发环境,.NET为C/S和B/S相结合的模式提供了很好的解决方案。基于此原因,我们把系统的教学计划子系统、智能排课子系统、教学考核子系统、教学实践子系统、教材管理子系统等设计为C/S结构、网上选课子系统、学生学籍子系统、学生成绩子系统、教学资源子系统等设计为B/S结构。2.应用平台的无缝集成性
    由于我校使用的操作系统都是Microsoft的Windows系列,同时.NET是与Windows操作系统紧密捆绑在一起,使得.NET在Windows上的应用开发更为容易。并且以前的数据库是VFP的。考虑到数据的平稳过渡以及我们对数据库的熟悉程度,再加上.NET.提供的ADO.NET数据访问组件是对ADO的改进,ADO.NET分为3组,分别是ODBC、OleDB和SqlClient。其中SqlClient是专门为SQLServer设计的,性能明显优于其他的数据访问组件。我们在新系统的后台数据库服务器的选择上采用了MicrosoftSQLServer2000。
    选择Microsoft的操作系统Windows,数据库服务器SQLServer2000和开发平台.NET应用平台,充分利用无缝集成平台的优势,使.NET应用开发更容易,运行更可靠、更安全。这是J2EE所不及的。3.节约开发成本由于我校在以前的信息化建设过程中培养了一批经验较丰富的C++、VB、ASP等开发人员,熟悉Windows上的开发,同时在数据库管理系统MicrosoftSQLServer上的设计与开发方面有一定的经验。而在Java开发方面的经验相对不足。如果我们选择J2EE则意味着开发人员资源的浪费,并且要重新培养Java开发人员,并且新培养的开发人员由于缺乏经验,很难保证开发效率和质量。选择.NET,则我们的开发人员便能轻松的转变到C++.NET、VB.NET、ASP.NET及C#的开发当中来。再加上以前在Windows上的开发经验,最终有利于我们的开发速度加快,质量提高,从而很好地节约了开发成本。4.易开发性就.NET开发平台的容易使用性来看,在如下几点得到了很好的体现。
    (1).NET的重要部件ASP.NET使Web应用程序的开发和部署更为容易。.NET相对较新,它拥有Java所缺乏的改进,例如,ASP.NET使开发者可以用比Java开发者在J2EE平台上更少的代码来实现WebServices。在教务管理系统中,我们对学生成绩查询、学生网上选课和教学资源调配等交互较多的逻辑模块,都设计成Webservice结构的中间组件。轻松地节省了花在用户界面编程上的开发时间、同时Webservice完全可以在应用程序集成等场合下被重用。
    (2)ADO.NET数据访问组件较以前的ADO更方便的访问各种类型的关系数据库和非关系数据库,获取本地和远程数据源,并对XML提供了强大的支持。这对以后的后台数据库的扩展也提供了很好的支持。
    (3)VisualStudio.NET为.NET提供了一个统一的集成开发环境及工具,大大提高了开发者的效率;集成了多种语言支持:简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等。
    通过对上述4个主要方面的思考,所以我们选择了.NET平台作为开发与应用。
    目前软件开发平台主要向Web的应用方向发展。由于Web的应用是基于分布和异构的网络环境的,所以要求开发平台应具有开放性、分布性和平台无关性。现在流行的软件开发平台主要有Microsofi的.NET和Sun的J2EE。在实际应用当中,我们具体选择哪种方案应根据具体情况而定,很多情况可能会综合使用两种开发平台。在适应技术发展的过程中,快速的跟上新技术是必须的。
    解析: 暂无解析

  • 第24题:

    问答题
    论中间件技术在软件开发中的作用 随着软件应用越来越复杂,软件开发"一切从零开始"的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。 请围绕"中间件技术在软件开发中的作用"这个论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。 ③假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。

    正确答案: 写作要点
    中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户服务器的操作系统之上,管理计算资源和网络通信。
    从定义中可以看出:
    ①中间件是一类软件,而非一种软件。
    ②中间件不仅要实现互联,还要实现应用之间的互操作。
    ③中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
    1.中间件的分类
    根据功能的不同,中间件可以细化为以下一些种类:
    ①通信处理(消息)中间件。在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在大部分操作系统中已包含了其部分功能。
    ②事务处理(交易)中间件。在分布式事务处理系统中要处理大量的事务,常常在系统中要同时进行上万笔事务。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器实时并发运行,并进行负载平衡地调度,实现昂贵的小型机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件,以及数据存取管理中间件3部分组成。
    ③数据存储管理中间件。在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件为在网络上虚拟缓存、格式转换、解压等带来了方便。
    ④Web服务中间件。浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能做数据写入、受HTTP协议的限制等,必须进行修改和扩充,这形成了Web服务器中间件。
    ⑤安全中间件。一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必须用国产的产品。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。
    ⑥跨平台和体系结构的中间件。当前,开发大型应用软件通常采用基于体系结构和构件的技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了体系结构中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;JavaBean较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合Windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括Linux)和Windows,因此针对这两个平台建立相应的中间件要实用得多。
    ⑦专用平台中间件。为特定应用领域设计参考模式,建立相应体系结构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。
    ⑧其他中间件。现在出现了一些中间件,如数据流中间件、门户中间件,以及为某些专业领域如银行、电信等开发的专用中间件。另外还有一些更高层的中间件,多用于系统整合,包括企业应用集成中间件、工作流中间件、门户中间件等是多种中间件的组合。
    2.中间件的优点及其应用
    中间件作为一大类系统软件,与操作系统、数据库管理系统并称"三套车",其重要性是不言而喻的,中间件的优点应该说是有目共睹的。它的优越性体现在以下几个方面:缩短应用的开发周期;节约应用的开发成本;减少系统初期的建设成本;降低应用开发的失败率;保护已有的投资;简化应用集成;减少维护费用;提高应用的开发质量;保证技术进步的连续性;增强应用的生命力。
    具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少了程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
    中间件带给应用系统的不只是开发的简便、开发周期的缩短,还减少了系统的维护、运行和管理的工作量,同时减少了计算机总体费用的投入。Standish的调查报告显示,由于采用了中间件技术,应用系统的总建设费用可以减少50%左右。在网络经济、电子商务大发展的今天,从中间件获得利益的不只是IT厂商,IT用户同样是赢家,并且是更有把握的赢家。
    其次,中间件作为新层次的基础软件,其重要作用是将不同时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整体协调工作,这是操作系统、数据库管理系统本身做不了的。中间件的这一作用,使得在技术不断发展之后,我们以往在应用软件上的劳动成果仍然物有所用,节约了大量的人力、财力的投入。3.中间件的发展趋势
    中间件作为构筑企业信息系统和电子商务系统的基石和核心技术,向着标准化和构件化方向发展。具体来看,有以下3种发展趋势:
    ①规范化。在中间件的发展过程中,做得最好的一件事情就是规范的制定。对于不同类型的中间件,目前都有一些规范可以遵循,如消息类的JMS,对象类的CORBA和COM/DCOM,交易类的XA、OTS、JTA/JTS,应用服务器类的J2EE,数据访问类的ODBC和JDBC,Web服务有SOAP、WSDL、UDDI等。这些规范的建立极大地促进了中间件技术的发展,同时保证了系统的扩展性、开放性和互操作。
    ②构件化和松耦合。除了已经得到较为普遍应用的CORBA、DCOM等适应Intranet的构件技术外,随着企业业务流程整合和电子商务应用的发展,中间件技术朝着面向Web、松耦合的方式发展。基于XML和Web服务的中间件技术,使得不同系统之间、不同应用之间的交互建立在非常灵活的基础上。XML是一种可扩展的源标识语言,它提供了一种新的定义标识语言标准。XML技术非常适合于异构系统间的数据交换,因此在国际上已经被普遍采纳为电子商务的数据标准。而Web服务作为基于Web技术的构件,在流程中间件的控制和集成下可以灵活、动态地被组织成为跨企业的商务应用。
    ③平台化。目前,一些大的中间件厂商在已有的中间件产品基础上,都提出了完整的面向互联网的软件平台战略计划和应用解决方案。4.选用中间件的原则
    ①技术成熟度。不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库和应用都有关系,因此中间件从诞生到成熟需要2~3年的时间。中间件的技术成熟度是一个很需要关注的问题。
    ②先进性。中间件的技术先进性主要看它是不是符合国际的潮流,是否采用了各种标准化的做法。比如,它能不能支持HTML、JavaScript、XML这样一些国际标准的语言环境。因为大量的应用软件都是在语言环境下发展起来,现在计算机上的这些语言环境已经很成熟,手机上也开始有了Java,机顶盒如果不支持这些标准的话,将来很难做到应用服务的通用。如果中间件技术上能达到国际开放标准水平的话,就很容易向上发展了。包括MHP和MHEG和美国的OPENCABEL在内的一系列的中间件标准,只要中间件支持JavaScript、HTML和XML等通用语言,这3种常用中间件的主流模块都可以移植到我们的应用服务里。
    ③与遗留应用的结合度。如果选用中间件构造的应用与传统的遗留应用要建立联系的话,就必须考虑这个问题。
    ④使用的难易程度。每类中间件使用的难度也不尽相同。有些中间件只是你的应用的一部分,而有些中间件将会给你的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。
    ⑤成本。不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大,把交易中间件用在非交易处理类系统中去传递消息同样不可取。另外也要考虑技术培训对开发成本带来的影响。
    ⑥技术方向。有的中间件比较传统,而有的中间件是发展方向,中间件的选择与对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或Web技术,就要选择相关的中间件。
    ⑦适用性。好的中间件要带一个非常丰富的应用库。中间件的一个最大作用就是重复使用已经开发过的应用软件模块,通常这些模块都是以库单元的方法来实现的,中间件在实际应用中越成功,开发的应用程序越多,它带的库就越丰富,使用者就可以越简便地开发或修改自己需要的新服务,这就是知识的积累。
    通过以上分析,可以对中间件技术有一个全面的了解,除了基础技术的了解,写好本文,还要注意以下要点:
    ①用400~600字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。
    ②简单介绍中间件的种类及作用。
    ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用
    ④结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。
    解析: 暂无解析