论中间件技术在软件开发中的作用 随着软件应用越来越复杂,软件开发"一切从零开始"的开发模式也越来越不能满足应用的要求。一些著名的软件公司推出自己的中间件产品,如通信中间件、数据库中间件等为软件开发提供有力的支持。 请围绕"中间件技术在软件开发中的作用"这个论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②具体讨论你在软件开发过程中选取中间件的原则和标准,结合实例详细叙述中间件技术在你的软件开发中的作用。 ③假如你在一个软件公司中能够起到影响公司决策的作用,请你结合市场和技术因素,为你的公司设计一个有自主版权的中间件的方案,并评价你的方案。
第1题:
A.中间件通过标准接口实现与应用程序的关联,提供特定功能的服务
B.使用中间件可以提高应用软件可移植性
C.使用中间件将增加应用软件设计的复杂度
D.使用中间件有助于提高开发效率
中间件是一类较为特殊的构件。中间件工作于操作系统与应用程序之间,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件有以下几种类型:
(1)远程过程调用:它是一种广泛使用的分布式应用程序处理方法。应用程序使用RPC来远程执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。要注意的是,这里的“远程”既可以指不同的计算机,也可以指同一台计算机上的不同进程。一个RPC应用可分为两个部分,分别是服务器和客户。这里的“服务器”和“客户”是指逻辑上的进程,而不是指物理计算机。
(2)面向消息的中间件:利用高效可靠的消息传递机制进行平台无关的数据交换,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布式环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。例如,IBM的MQSeries、BEA的MessageQ等都属于面向消息的中间件产品。
(3)事务处理监控器:也称为交易中间件,是当前应用最广泛的中间件之一。它能支持数以万计的客户进程对服务器的并发访问,使系统具有极强的扩展性,因此,适于电信、金融、证券等拥有大量客户的领域。在对效率、可靠性要求严格的关键任务系统中具有明显优势。TPM一般支持负载均衡,支持分布式两阶段提交,保证事务完整性和数据完整性,并具有安全认证和故障恢复等功能,能很好地满足应用开发的要求。
(4)数据库访问中间件:通过一个抽象层访问数据库的技术,从而允许使用相同或相似的代码访问不同的数据库资源。例如常见的ODBC与JDBC就属于数据库访问中间件。
通过引入中间件技术,可以使应用软件可移植性提高、开发效率提高,同时由于一些复杂的应用程序之间的通信可由中间件完成,所以还降低了应用软件设计的复杂性。所以C选项的描述不正确。
第2题:
()论软件开发模型的选择与应用 传统的软件开发模型有瀑布模型,螺旋模型、演化模型等,随着软件技术的迅速发展和市场的变化,新的软件开发模型也不断出现,如XP模型、敏捷模型和RUP模型等。这些开发模型都有各自的优缺点,在实际应用中存在着许多不足和局限。 请围绕“软件开发模型的选择与应用”论题,依次对以下三个方面进行论述。 1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 2.具体叙述你在参与开发的软件中选用软件开发模型的原则,具体是如何使用所选择的开发模型的? 3.简要叙述软件开发模型的近期演变趋势与主要特征,你准备如何去适应这类演变?
第3题:
论多层分布式结构系统的开发
传统的应用系统模式是“主机/终端”或“客户机朋艮务器”。随着中间件技术和Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大型系统大多采用多层分布式结构,如C/A/S和B/A/S,应根据系统具体需求和运行环境的不同选择合适的结构。
请围绕“多层分布式结构系统的开发”论题,依次从以下三个方面进行论述。
(1)概要叙述你参与分析设计的多层分布式结构系统以及你所担任的主要工作。
(2)简要说明多层分布式结构分类的依据以及多层分布式结构的特点,并指出你参与分析设计的系统属于其中的哪种结构,以及选择这种结构的原因。
(3)具体论述你在开发该系统时采用了哪些方法、策略与工具来实现所选的结构。
第4题:
计算机技术迅速发展,特别是Internet 及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,为解决分布异构问题,提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。请根据你实际参与开发的经验,论述下列三个问题:
概要叙述你参与分析和开发的关于中间件方面的软件项目以及你所担任的主要工作。
第5题:
论软件设计模式及其应用 软件设计模式(Software Design Pattern)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。
请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。 2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。 3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。
第6题:
试题一论模型驱动的软件开发方法及其应用
模型驱动架构( 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(代码);如何进行系统测试;等等。
第7题:
第8题:
第9题:
()是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件。
第10题:
论文:试题论软件开发平台的选择与应用。随着软件技术的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性,于是就相继出现了很多技术,但这些技术都不是十全十美的,在实际应用中存在着许多不足和局限。请围绕“软件开发平台的选择与应用”论题,依次对以下3个方面进行论述。 (1)概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。 (2)具体叙述你在参与开发的软件中选用软件开发平台的原则,特别是为了保持系统的开放性和先进性,采取过什么措施?其效果如何? (3)简要叙述软件开发平台的近期演变趋势与主要特征,你准备如何去适应这类演变?
第11题:
第12题:
设备制造商和网络运营商
中间件软件开发商
应用服务提供商
用户
内容提供商
第13题:
论文:试题论软件项目的进度管理软件开发项目进度管理是软件开发项目管理的一个重要内容,有效的进度管理是保证软件开发项目如期完成的重要环节。在软件开发过程中为保证软件按时完成,必须采取许多有关的技术、策略和方法。请围绕软件项目的进度管理”论题,依次对以下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天全部完成”等方式。每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础。
同时,我们在项目进度计划中根据项目设计和定义了相关的里程碑,在每个里程碑处,我们都采取小组会议形式对本阶段的工作进行确认和总结,对本阶段的进展情况做出结论,并决定是否调整下一阶段的进度计划。<br>在系统图编辑部分,我们认为各电力设施所对应的类(包括其父类)定义完成为一个里程碑,每个类是否具备了相对应的电力设施的技术参数及操作是该里程碑的标准,这些类(包括其父类)的实现完成又为一个里程碑,……,整个系统图编辑部分的完成也是一个里程碑。每个里程碑的标准在系统设计时已经定义好。4.结束语电力行业工作票、操作票系统目前已经开发完毕,运行状况良好,受到一致好评。在本系统开发的整个过程中采用了面向对象技术同传统技术相结合的原则,因为小组成员各有特长,面向对象技术不是每个小组成员都熟练掌握的,加之面向对象技术在我们公司还不是很成熟,必须有一个过渡,不能一下子转型,因此采用这种策略符合我们公司的现实情况。
由于项目进度管理得当,项目按期完成,我们小组赢得了公司的好评,其他小组也研究我们的管理方式。当然,项目管理方式多种多样,根据项目不同、人员不同,管理模式应做调整而不是一成不变。适合本项目的管理模式才是最好的模式,先进的管理方法在不同的项目组中取得的效果是不同的,这有待于我们去研究、探索、实践和总结。
第14题:
具体讨论你在基于中间件的软件开发项目中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。
第15题:
试题一
论软件需求管理及其应用
软件需求工程关注创建和维护软件需求文档需展开的一切活动。需求工程可分为需求开发和需求管理两项工作,其中需求管理的目标是为软件需求建立一个基线,供软件开发及其管理使用,确保软件计划、产品和活动与软件需求的一致性。从软件需求工程的角度来看,需求管理包括在软件开发过程中维持需求一致性和精确性的所有活动。
请围绕“软件需求管理及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述软件需求管理的主要活动及其所包含的主要内容。
3.结合你具体参与管理和开发的实际项目,说明是如何采用软件需求管理方法进行需求管理的,说明具体实施过程以及应用效果。
1.简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。
2.需求管理的主要活动有变更控制,版本控制,需求跟踪和需求状态跟踪。
(1)需求变更管理过程包括:
问题分析和变更描述,需要识别和分析需求问题,形成明确的变更协议,以检查它的有效性,从而产生一个更明确的需求变更提议。
变更分析和成本计算。使用可追溯性信息和系统需求的一般知识,对需求变更提议进行影响分析和评估。变更成本计算应该包括对需求文档的修改,系统修改的设计和实现的成本。一旦分析完成并且被确认,应该进行是否执行这一变更的决策。
变更实现。这要求需求文档和系统设计以及实现都要同时修改。
(2)版本控制:主要包括确定需求文档版本。
(3)需求跟踪:包括定义对其他需求的链接;定义对其他系统元素的链接;使用的工具即需求跟踪矩阵。
(4)需求状态跟踪:定义需求状态;跟踪需求的每一个状态。
3.考生需结合自身参与项目的实际状况,指出其参与管理和开发的项目中所进行的需求管理活动,说明该活动的具体实施过程,使用的方法和工具,并对实际应用效果进行分析。
第16题:
分析你所采用的基于中间件的软件开发的具体效果。你现在认为应当做哪些方面的改进以及如何加以改进?
第17题:
论软件开发成本估算
软件开发成本估算是软件工程项目管理中的一项重要任务。软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,软件开发成本估算应该以整个软件开发过程中所花费的人工代价为依据。
试围绕“软件开发成本估算”论题,依次从以下3个方面进行论述。
1.概要叙述你参与分析和开发的应用项目以及你所担任的主要工作。
2.论述在估算软件开发成本时可以采用的方法和模型,并进一步分析这些估算方法和模型的优缺点。
3.详细论述在你参与分析和开发的应用项目中具体采用的估算软件开发成本的技术、方法、模型、工具及其实际效果。
第18题:
试题二 论软件项目管理技术及其应用
软件项目管理是为了使软件项目能够按照预定的成本、进度和质量顺利完成,对人员、产品、过程和项目进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目,尤其是大型软件项目的整个生命周期都能在管理者的控制之下,以预定成本按期、按质地完成并交付用户使用。而研究软件项目管理技术则是为了从已有的成功或失败的项目案例中总结出能够指导今后开发的通用原则和方法,同时避免重复失误。
请围绕“软件项目管理技术及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与实施和管理的软件开发项目以及你所担任的主要工作。
2.请根据项目实际情况,从成本、进度和质量三个方面,结合软件开发过程,说明你是如何进行软件项目管理的。
3.阐述你在进行软件项目管理时遇到了哪些问题,如何解决。
第19题:
第20题:
以下关于软件中间件的叙述中,错误的是()
第21题:
论设计模式在软件开发中的应用 设计模式描述了在特定场景下解决一般设计问题的类和相互通信的对象。一个设计模式命名、抽象并确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。现在,设计模式已经广泛地应用在软件开发中。 请围绕"设计模式在软件开发中的应用"论题,依次对以下3个方面进行论述: ①概要叙述你参与分析和开发的应用项目,以及你所担任的主要工作。 ②简要介绍设计模式的基本概念及分类,详细说明在你所参与分析和开发的应用项目中应用了哪些设计模式、方法,以及选用它们的原因。 ③分析并讨论使用设计模式的效果,并分析和评价设计模式对软件开发的影响。
第22题:
用户
软件开发商
内容提供商
设备制造商
第23题:
组件
控件
插件
中间件