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

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

相似考题
更多“问答题论文:试题论软件项目的进度管理软件开发项目进度管理是软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节。在软件开发过程中为保证软件按时完成,必须采取许多有关的技术、策略和方法。请围绕“软件项目的进度管理”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体讨论你在软件开发中为保证软件项目的进度所采取的主要技术及方案,详细叙述你为保证软件项目进度在你组织内部实施的方法和策略。 (3)分析你在采取上述措施、方法和”相关问题
  • 第1题:

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

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

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

    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)结合项目实际工作,举例说明在设计模式的使用效果,能够针对设计模式对软件开发的影响展开分析与讨论。

  • 第2题:

    试题一:论项目管理中的进度控制

    项目进度控制是依据项目进度计划控制项目的实际进展情况,使项目能够按时完成。有效的项目进度控制的关键是控制项目的实际进度,及时、定期地将它与计划进度进行比较,并立即采用必要的措施。

    请围绕“项目管理中的进度控制”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与分析设计的项目,以及你所担任的主要工作。

    2.具体说明项目进度控制的基本步骤,以及在你所参与的项目中这些步骤的实施过程。

    3.当项目的实际进度滞后于计划进度时,应采取哪些措施?结合实际项目阐述这些措施的实施过程,以及取得的具体效果。


    正确答案:
    【答案分析】
    1.简要介绍你所参与的信息系统项目,并说明你在该项目中主要负责哪些工作。
    2.围绕你所参与的信息系统项目,介绍在该项目中进行进度控制时采取了哪些步骤。在说明这些步骤时,应结合项目的实际情况,具体说明每个步骤的实施过程。
    进度控制的基本步骤包括以下4点。
    (1)分析进度,找出哪些地方需要纠正措施。
    (2)确定应采取哪种具体纠正措施。
    (3)修改计划,将纠正措施列入计划。
    (4)重新计算进度,估计计划采取的纠正措施的效果。
    加速项目进度的重点应放在有负时差的路径上,时差负值越大的路径其考察的优先级越高。在分析有负时差的活动路径时,应把精力主要放在近期的活动和工期较长的活动上,因为越早采取纠正措施就越有效,而工期越长的活动减少其活动时间的可能性就越大,效果也越明显。
    项目进度管理的主要管理过程及各个管理过程的输入、方法/工具/技术、主要输出如表1-19所示。

    3.当信息系统项目的实际进度滞后于计划进度时,应采取的措施如下。
    (1)投入更多的资源以加速活动进程。
    (2)指派经验丰富的人去完成或帮助完成项目工作。
    (3)减小活动范围或降低活动要求。
    (4)通过改进方法或技术提高生产效率。
    对信息系统项目进度的控制,还应当重点关注项目进展和执行状况报告。它们反映了信息系统项目当前在进度、费用、质量等方面的指向情况和实施情况,是进行进度控制的重要依据。
    对于没有负时差的信息系统项目,重要的是不要使它出现延误而最终造成时差的减少,如果项目进展快于进度,要尽力保持这种状况。另外,经常举行项目会议也是处理进度控制问题的很好方法。

  • 第3题:

    论网络工程项目管理中的进度控制

    网络工程项目进度控制是依据项目进度计划控制项目的实际进展情况,使项目能够按时完成。有效的项目进度控制的关键是控制项目的实际进度,及时、定期地将它与计划进度进行比较,并立即采用必要的措施。

    请围绕“网络工程项目管理中的进度控制”论题,依次从以下3个方面进行论述。

    1.概要叙述你参与规划、设计的网络下程项目及你所担任的主要工作。

    2.具体说明项目进度控制地基本步骤,以及你所参与的网络下程项目中这些步骤的实施过程。

    3.当网络工程项目的实际进度滞后于计划进度时,应采取哪些措施?结合你的切身实践阐述这些措施的实施过程及取得的具体效果。


    正确答案:1.简要介绍你所参与规划、设计的网络工程项目并说明你在该项目中担任了哪些主要工作? 2.围绕你所参与的网络工程项目介绍在该项目中进行进度控制时采取了哪些步骤?在说明这些步骤时应结合项目的实际情况具体说明每个步骤的实施过程。 进度控制的基本步骤包括: ①分析进度找出哪些地方需要纠正措施。 ②确定应采取哪种具体纠正措施。 ③修改计划将纠正措施列入计划。 ④重新计算进度估计计划采取的纠正措施的效果。 加速项目进度的重点应放在有负时差的路径上时差负值越大的路径其考察的优先级越高。在分析有负时差的活动路径时应把精力主要放在近期内的活动和工期较长的活动上因为越早采取纠正措施就越有效而工期越长的活动减少其活动时间的可能性越大效果也越明显。 网络工程项目进度管理的主要管理过程及各个管理过程的输入、方法/工具/技术、主要输出见表2-18。 3.当网络工程项目的实际进度滞后于计划进度时应采取的措施如下: ①投入更多的资源以加速活动进程。 ②指派经验丰富的人去完成或帮助完成项目工作。 ③减小活动范围或降低活动要求。 ④通过改进方法或技术提高生产效率。 4.对网络工程项目进度的控制还应当重点关注项目进展和执行状况报告。它们反映了网络工程项目当前在进度、费用、质量等方面的指向情况和实施情况是进行进度控制的重要依据。 5.对于没有负时差的网络工程项目重要的是不要使它出现耽误或延误而最终造成时差的减少如果项目进展快于进度要尽力保持这种状况。另外经常举行项目会议也是处理进度控制问题的很好手段。
    1.简要介绍你所参与规划、设计的网络工程项目,并说明你在该项目中担任了哪些主要工作? 2.围绕你所参与的网络工程项目,介绍在该项目中进行进度控制时采取了哪些步骤?在说明这些步骤时,应结合项目的实际情况,具体说明每个步骤的实施过程。 进度控制的基本步骤包括: ①分析进度,找出哪些地方需要纠正措施。 ②确定应采取哪种具体纠正措施。 ③修改计划,将纠正措施列入计划。 ④重新计算进度,估计计划采取的纠正措施的效果。 加速项目进度的重点应放在有负时差的路径上,时差负值越大的路径其考察的优先级越高。在分析有负时差的活动路径时,应把精力主要放在近期内的活动和工期较长的活动上,因为越早采取纠正措施就越有效,而工期越长的活动减少其活动时间的可能性越大,效果也越明显。 网络工程项目进度管理的主要管理过程及各个管理过程的输入、方法/工具/技术、主要输出见表2-18。 3.当网络工程项目的实际进度滞后于计划进度时,应采取的措施如下: ①投入更多的资源以加速活动进程。 ②指派经验丰富的人去完成或帮助完成项目工作。 ③减小活动范围或降低活动要求。 ④通过改进方法或技术提高生产效率。 4.对网络工程项目进度的控制,还应当重点关注项目进展和执行状况报告。它们反映了网络工程项目当前在进度、费用、质量等方面的指向情况和实施情况,是进行进度控制的重要依据。 5.对于没有负时差的网络工程项目,重要的是不要使它出现耽误或延误而最终造成时差的减少,如果项目进展快于进度,要尽力保持这种状况。另外,经常举行项目会议也是处理进度控制问题的很好手段。

  • 第4题:

    软件系统测试的对象是完整的、集成后的计算机系统,其目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统设计文档和软件开发合同规定的要求。常见的系统测试包括功能测试、性能测试、压力测试、安全测试等。同时,在系统测试中,涉及到众多的软件模块和相关干系人,测试的组织和管理是系统测试成功的重要保证。

    请围绕"软件的系统测试及其应用"论题,依次从以下三个方面进行论述。 1. 简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2. 概要论述系统测试过程中测试管理的主要活动内容,论述性能测试的目的和基本类型。 3. 结合你具体参与管理和开发的实际项目,说明如何管理性能测试的各项活动,以及性能测试具体采用的方法、工具、实施过程以及应用效果。


    正确答案:本题的要求与2016年论文中系统测试主题论文要求大同小异,只是本题更强调了要写性能测试方面的内容。
    系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同,除应满足一般测试的准入条件外,在进行系统测试前,还应确认被测系统的所有配置项已通过测试,对需要固化运行的软件还应提供固件。
    一般来说,系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的工作是进行功能测试与性能测试。功能测试主要采用黑盒测试方法;性能测试主要验证软件系统在承担一定负载的情况下所表现出来的特性是否符合客户的需要,主要指标有响应时间、吞吐量、并发用户数和资源利用率等。
    功能测试的目的很简单,测试系统是否达到了用户明确提出的需求及隐含需求。
    性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,并优化软件,最后起到优化系统的目的。具体来说,包括以下四个方面:
    (1)发现缺陷。软件的某些缺陷与软件性能密切相关,针对这些缺陷的测试一般需要伴随着性能测试进行。
    (2)性能调优。与调试不同,性能调优并不一定针对发现的性能缺陷,也可能是为了更好地发挥系统的潜能。
    (3)评估系统的能力。软件性能测试不仅需要测试软件在规定条件下是否满足性能需求,往往还需要测试能够满足性能需求的条件极限。
    (4)验证稳定性和可靠性:在一定负载下测试一定的时间,是评估系统稳定性和可靠性是否满足要求的唯一方法。

  • 第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.结合信息系统项目管理实际情况并围绕以下要点论述你对信息系统项目进度管理的认识。
    (1)项目进度管理过程包含的主要内容。
    (2)项目进度管理的重要性,以及进度管理对成本管理和质量管理的影响。
    3.请结合论文中所提到的项目,介绍在该项目中是如何进行进度管理的(请叙述具体做法),并总结你的心得体会。


    答案:
    解析:
    写作要点及注意事项第一部分 要介绍项目的概况如名称、客户、项目目标、系统构成、进度的特点、并介绍自己的工作。第二部分应结合项目进度管理过程的实例来说明,是如何运用进度管理理论进行项目的实际进度管理的,例如要讲述如何制定的进度计划,并给出制定进度计划的具体内容。在进度管理中,主要包括活动的定义、活动的排序、活动资源估算、活动历时估算、制定进度计划、进度控制的过程。在实际的论述中,主要体现出以下的内容。(1) 确定项目任务(活动的定义)。(2) 项目估算(资源和历时估算),对关键任务的估算,要重点来论述,要表现了估算的渐进明细特点。(3) 制定进度计划、进度表,要表现出形式可以多样化。(4) 进度的监控,主要是通过挣值分析,来分析进度偏差,及时采取措施的过程。对于进度落后的情况,通过赶工或快速跟进,及时的纠正进度,并注意风险规划和应对。(5) 进度管理与范围管理的关系。第三部分应结合自己的实际项目,陈述进度管理中遇到的典型问题以及对这些问题的解决方法,并给出这些方法的实际效果及分析。

  • 第9题:

    论软件需求管理 软件需求管理是一个对系统需求变更了解和控制的过程。需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴。 需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,其目标是为项目管理人员建立一个软件需求基线,并保持软件计划、产品和活动与软件需求的一致性。 请围绕“软件需求管理”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细描述需求管理过程中各个活动中的主要工作。 3.详细说明你所参与的软件开发项目中,是如何进行软件需求管理的,实施的具体效果如何。


    答案:
    解析:
    无解析

  • 第10题:

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


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

  • 第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)当项目的实际进度滞后于计划进度时,应采取哪些措施?结合实际项目阐述这些措施的实施过程以及取得的具体效果。


    正确答案:[写作要点] 一、简要介绍你所参与分析设计的项目以及你在其中担任的主要工作。 二、围绕你所参与的项目介绍在该项目中进行进度控制时采取了哪些步骤。在说明这些步骤时应结合项目的实际情况具体说明每个步骤的实施过程。 进度控制的基本步骤包括: .分析进度找出哪些地方需要纠正措施; .确定应采取哪种具体纠正措施; .修改计划将纠正措施列入计划; .重新计算进度估计计划采取的纠正措施的效果。 加速项目进度的重点应放在有负时差的路径上时差负值越大的路径其考察的优先级越高。在分析有负时差的活动路径时应把精力主要放在近期内的活动和工期较长的活动上因为越早采取纠正措施就越有效而工期越长的活动减少其活动时间的可能性越大效果也越明显。 三、当项目的实际进度滞后于计划进度时应采取的措施。 .投入更多的资源以加速活动进程。 .指派经验丰富的人去完成或帮助完成项目工作。 .减小活动范围或降低活动要求。 .通过改进方法或技术提高生产效率。 四、对进度的控制还应当重点关注项目进展和执行状况报告它们反映了项目当前在进度、费用、质量等方面的指向情况和实施情况是进行进度控制的重要依据。 五、对于没有负时差的项目重要的是不要使它出现耽误或延误而最终造成时差的减少如果项目进展快于进度要尽力保持这种状况。另外经常举行项目会议也是处理进度控制问题的很好手段。
    [写作要点] 一、简要介绍你所参与分析设计的项目以及你在其中担任的主要工作。 二、围绕你所参与的项目,介绍在该项目中进行进度控制时采取了哪些步骤。在说明这些步骤时,应结合项目的实际情况,具体说明每个步骤的实施过程。 进度控制的基本步骤包括: .分析进度,找出哪些地方需要纠正措施; .确定应采取哪种具体纠正措施; .修改计划,将纠正措施列入计划; .重新计算进度,估计计划采取的纠正措施的效果。 加速项目进度的重点应放在有负时差的路径上,时差负值越大的路径其考察的优先级越高。在分析有负时差的活动路径时,应把精力主要放在近期内的活动和工期较长的活动上,因为越早采取纠正措施就越有效,而工期越长的活动减少其活动时间的可能性越大,效果也越明显。 三、当项目的实际进度滞后于计划进度时,应采取的措施。 .投入更多的资源以加速活动进程。 .指派经验丰富的人去完成或帮助完成项目工作。 .减小活动范围或降低活动要求。 .通过改进方法或技术提高生产效率。 四、对进度的控制,还应当重点关注项目进展和执行状况报告,它们反映了项目当前在进度、费用、质量等方面的指向情况和实施情况,是进行进度控制的重要依据。 五、对于没有负时差的项目,重要的是不要使它出现耽误或延误而最终造成时差的减少,如果项目进展快于进度,要尽力保持这种状况。另外,经常举行项目会议也是处理进度控制问题的很好手段。

  • 第14题:

    论软件项目的需求变更管理

    在大中型软件项目的开发过程中,开发者和用户对问题的理解随时间在不断变化,这些变更又反馈到需求中。需求管理是一个对系统需求变更了解和控制的过程。

    请围绕“软件项目的需求变更管理”论题,依次从以下3个方面进行论述。

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

    2.简要说明该软件项目的用户需求,以及你在需求管理中所规划和建立的细节层次结构。

    3.概要说明一个需求变更管理过程所包含的基本阶段,具体叙述在开发该软件项目时所发生的需求变更情况,以及你管理这些变更问题所采用的技术和方法,并简要叙述你在这方面的体会。


    正确答案:1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半开发人员也必须能够接受他们并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况并重点说明解决这些变更问题所采用的管理技术和方法。最后简要讨论几点你对“有效的需求变更管理”的实践体会。
    1.需求管理需要“建立并维护在软件工程中同客户达成的契约”。这种契约都包含在编写的需求规格说明与模型中。客户的接受仅是需求成功的一半,开发人员也必须能够接受他们,并真正把需求应用到产品中。 2.在需求管理中所规划和建立的细节层次结构,可通过需求跟踪表来反应。需要确定需求识别、变更管理过程、跟踪策略、CASE工具等内容。 3.通常的需求管理活动包括以下几个方面。 (1)定义需求基线(迅速制订需求文档的主体)。 (2)评审提出的需求变更、评估每项变更的可能影响,从而决定是否实施它。 (3)以一种可控制的方式将需求变更融入到项目中。 (4)使当前的项目计划与需求一致。 (5)估计变更需求所产生的影响,并在此基础上协商新的承诺(约定)。 (6)让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。 (7)在整个项目过程中跟踪需求状态及其变更情况。 一个需求变更管理过程包含问题分析和变更描述、变更分析和成本计算、变更实现这3个基本阶段。 简要说明你参与分析和开发的软件项目的用户需求。列举出在开发该软件项目时所发生的需求变更的具体情况,并重点说明解决这些变更问题所采用的管理技术和方法。最后,简要讨论几点你对“有效的需求变更管理”的实践体会。

  • 第15题:

    试题一

    论软件需求管理及其应用

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

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

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

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

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


    正确答案:

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

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

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

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

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

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

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

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

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

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

  • 第16题:

    试题二 论项目的进度管理

    项目时间管理包括使项目按时完成所必须的管理过程。项目时间管理又叫进度管理,进度安排的准确程度可能比成本估计的准确程度更多重要,进度计划不能得到实施会导致市场机会的丧失或者用户不满意,并且成本也会增加,因此在考虑进度安排时要把人员的工作量与花费的时间联系起来,合理分配工作量,利用进度安排的有效分析方法来严密监视项目的进展情况,以使项目的进度不致拖延。

    请以“项目的进度管理”为题,分别从以下几个方面进行论述:

    1、概要叙述你参与管理过的信息系统项目(包括项目的背景、项目规模、发起单位、目的、项目内容、组织结构、项目周期、交付的产品等)

    2、论述你对进度管理的认识,可围绕但不局限于以下要点论述。

    (1)项目进度管理的基本过程

    (2)进度管理与范围管理的关系

    3、请结合论文中所提高的项目,介绍你如何对其进度进行管理(可结合进度管理的工具和方法叙述具体做法),并总结你的心得体会。


    正确答案:

  • 第17题:

    论软件需求管理 软件需求管理是一个对系统需求变更了解和控制的过程。需求管理过程与需求开发过程相互关联,初始需求导出的同时就要形成需求管理规划,一旦启动了软件开发过程,需求管理活动就紧密相伴。 需求管理过程中主要包含变更控制、版本控制、需求跟踪和需求状态跟踪等4项活动,其目标是为项目管理人员建立一个软件需求基线,并保持软件计划、产品和活动与软件需求的一致性。

    请以“软件需求管理”为题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细描述需求管理过程中各个活动中的主要工作。 3.详细说明你所参与的软件开发项目中,是如何进行软件需求管理的,实施的具体效果如何。


    正确答案:
    本文第一部分应花400-600字的篇幅进行项目简介,涉及项目背景、规模、人员、作者的角色,开发的系统有什么样的一些功能,大体的设计。
    接下来的主体部分中,着重描述的,应是问题3,对于问题2只需要花200-400字的篇幅大致介绍概念层次的内容。
    在对问题3进行论述时,要注意选问题2中的一些活动来论述,其中2个主题是比较好展开的,分别为:变更控制与需求跟踪。
    1、变更控制:
    变更控制的工作程序依次为:提出与接受变更申请、对变更初审、变更方案论证、项目变更控制委员会审查、发出变更通知并开始实施、变更实施的监控、变更效果的评估、判断发生变更后的项目是否已纳入正常轨道。
    (1)提出与接受变更申请。提出变更申请应当及时以正式方式进行,并留下书面记录。变更的提出可以是各种形式,但在评估前应以书面形式提出。
    (3)对变更的初审。变更初审的目的是为了对变更提出方施加影响,确认变更的必要性,确保变更是有价值的;进行格式校验,完整性较验,确保评估所需信息准备充分;在干系人间就提出供评估的变更信息达成共识。
    (3)变更方案论证。变更方案的主要作用,首先是对变更请求是否可实现进行论证,如果可能实现,则将变更请求由技术要求转化为资源需求,以供CCB决策。常见的方案内容包括技术评估和经济评估,前者评估需求如何转化为成果,后者评估价值和风险。
    (4)项目变更控制委员会审查。审查过程由项目所有者据变更申请及评估方案,决定是否批准变更。审查通常是文档会签形式,重大的变更审查可以包括正式会议形式。审查过程应注意分工,项目投资人虽有最终的决策权,但通常在专业技术上并非强项。所以应当在评审过程中将专业评审、经济评审分开,对涉及项目目标和交付成果的变更,客户的意见应放在核心位置。
    (5)发出变更通知并开始实施。评审通过,意味着项目基准的调整,同时确保变更方案中的资源需求及时到位。项目基准的调整,包括项目目标的确认,最终成果、工作内容和资源、进度计划的调整。需要强调的是,变更通知后,不只是包括实施项目基准的调整,更要明确项目的交付日期、成果对相关干系人的影响。如变更造成交付期的调整,应在变更确认时发布,而非在交付前公布。
    (6)变更实施的监控。要监控的,除了调整过的项目基准中所涉及变更的内容外,还应当对项目的整体基准是否反映项目实施情况负责。通过监控行动,确保项目的整体实施工作是受控的。通常由项目经理负责项目基准的监控,管理委员会监控变更明确的主要成果、进度里程碑等,可以委托监理单位承担监控职责。
    (7)变更效果的评估。变更评估首要的评估依据,是项目基准,可需结合变更的初衷来看要达到的目的是否已达成,以及评估变更方案中的技术论证、经济论证内容与实施过程的差距并推进解决。
    (8)判断发生变更后的项目是否已纳入正常轨道。项目基准调整后,需要确认的是相应的资源配置和人员是否及时到位,更需多加关注。之后对项目的整体监控应按新的项目基准进行,当确认新的项目基准已经生效则按正常的项目实施流程进行。
    2、需求跟踪
    根据国家标准GB/T 8567-2006,SRS中的每个软件配置项的需求到其涉及的系统(或子系统)需求都要具有双向可追踪性。所谓双向跟踪,包括正向跟踪和反向跟踪,正向跟踪是指检查SRS中的每个需求是否都能在后继工作成果中找到对应点;反向跟踪也称为逆向跟踪,是指检查设计文档、代码、测试用例等工作成果是否都能在SRS中找到出处。

  • 第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. 论述你对进度管理的认识,可围绕但不局限于以下要点论述。(1) 项目进度管理的基本过程(2) 进度管理与范围管理的关系3. 请结合论文中所提高的项目,介绍你如何对其进度进行管理(可结合进度管理的工具和方法叙述具体做法),并总结你的心得体会。


    答案:
    解析:
    写作要点第一部分 要介绍项目的概况如名称、客户、项目目标、系统构成、进度的特点、并介绍自己的工作。第二部分应结合项目进度管理过程的实例来说明,是如何运用进度管理理论进行项目的实际进度管理的,例如要讲述如何制定的进度计划,并给出制定进度计划的具体内容。在进度管理中,主要包括活动的定义、活动的排序、活动资源估算、活动历时估算、制定进度计划、进度控制的过程。在实际的论述中,主要体现出以下的内容。(1) 确定项目任务(活动的定义)。(2) 项目估算(资源和历时估算),对关键任务的估算,要重点来论述,要表现了估算的渐进明细特点。(3) 制定进度计划、进度表,要表现出形式可以多样化。(4) 进度的监控,主要是通过挣值分析,来分析进度偏差,及时采取措施的过程。对于进度落后的情况,通过赶工或快速跟进,及时的纠正进度,并注意风险规划和应对。(5) 进度管理与范围管理的关系。第三部分应结合自己的实际项目,陈述进度管理中遇到的典型问题以及对这些问题的解决方法,并给出这些方法的实际效果及分析。

  • 第21题:

    论中间件技术在软件开发中的作用 随着软件应用越来越复杂,软件开发"一切从零开始"的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。 请围绕"中间件技术在软件开发中的作用"这个论题,依次从以下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字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。
    ②简单介绍中间件的种类及作用。
    ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用
    ④结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。

  • 第22题:

    论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下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。在实际应用当中,我们具体选择哪种方案应根据具体情况而定,很多情况可能会综合使用两种开发平台。在适应技术发展的过程中,快速的跟上新技术是必须的。

  • 第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字简单介绍你参与分析和开发的应用项目,以及你所担任的主要工作。
    ②简单介绍中间件的种类及作用。
    ③具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用
    ④结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。
    解析: 暂无解析