信息系统项目管理师_2024年软考学习应考交流_信息系统项目管理师考试

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 4141|回复: 12
打印 上一主题 下一主题

计算机系统分析员论文12篇

[复制链接]
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    跳转到指定楼层
    楼主
    发表于 2008-2-11 01:55:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    <p><strong>系分论文1</strong><br/><br/>企业人事信息系统的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;本文讨论《企业人事信息系统》项目的需求分析方法与工具的选用。该系统的建设目标是帮助该企业管理好企业内部的人员和人员的活动,人事信息管理指的是企业员工从招聘面试到离职退休的全过程,涉及的主要活动包括面试、报到、培训、升职、离职或其他的人事变动,也包括电子化考勤、工资性收入的计算与分发、使用其他公司资源的有关记录(如宿舍、保险、证件办理等等)。此外,本系统也涉及到企业在全国各地的人事信息管理,企业的组织架构的设置,级别与职务管理,人力申请直至人力需求报表,从而形成一个对企业真正有用的人事信息管理应用系统。在本文中首先讨论了选用面向对象方法与工具的主要理由与策略,进一步通过一个简例说明该方法与工具使用的效果,也讨论了使用多种工具与方法在需求分析中的必要性,最后简要小结了选用正确工具与方法的意义和作用。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在项目开展期间,我担任了系统分析、系统设计与数据库管理等大量工作。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;人事信息管理系统是一个有着广泛应用面的实用性系统,但是,我国各个企业有着自身的体制、机制、特点与不同的要求;在开发这类系统时,系统需求分析是极为重要的一环。在整个分析过程中,我们都采用了面向对象的分析方法,这是因为我们在近几年的实践中已坚信这种方法能够更加有效地表达和描述现实世界。软件要具有适用性和扩展性,就必须更接近于现实世界本身的发展规律。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;以一个简单的例子来看,假设要求设计关于引进人才评估的一个系统,按我们过去的做法,先会要求提供给我们一份相关的引进人才评估表,然后依葫芦画瓢地设计相应的表单与界面。在短期来说,这样做是简便而实用的,但并不能够符合现实世界的长远目标,这套设计方法不具有扩展性,因为任何一份评估表的结构都会有可能发生许多改变的。采用面向对象的方法,可以从中提取出表类型、表结构、评分方法以及能考虑继承等各方面的要素,这样就可以保证软件的通用性,可配置性与可维护性。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在工具的选择过程中,我们选择了现在已十分流行的Rational系列,包括Rational&nbsp;Rose、RUP、SoDA等,为什么选取这个系列工具呢?这是基于我们对软件需求分析目标的看法,我们认为需求分析应当能正确地回答如下的几个关键性问题:<br/><br/>&nbsp;&nbsp;&nbsp;(1)用户的需求是否已详尽地被考虑到了?<br/><br/>&nbsp;&nbsp;&nbsp;(2)用户能理解或明白我们所描述的内容吗?<br/><br/>&nbsp;&nbsp;&nbsp;(3)分析是否会和设计相脱节,<br/><br/>&nbsp;&nbsp;&nbsp;(4)程序员能明白我们的分析与设计要求吗?等等。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;以下对上述几个问题逐一简要地加以说明:<br/><br/>&nbsp;&nbsp;&nbsp;(1)详尽地获取用户的需求。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;用户的需求可分为显式的需求与隐性的需求,用户的倾向往往只顾及到当前的与明显的需求。要达到对需求理解的全面性,不仅仅只是依靠有效的用户谈话和调查,因为我们所面对的用户需求往往会有些片面的,采用Rational&nbsp;Rose(基于UML)提供的用例,以及多种图的联合使用,可以使我们发现其中的遗漏。<br/><br/>&nbsp;&nbsp;&nbsp;(2)使用户能充分地理解我们的表示方法,能够真正明白我们描述的内容。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;软件需求分析规格说明书通常会是冗长而枯燥的,一般的用户不容易深入理解,这样就削弱了分析的正确性。通过支持面向对象及UML语言的Rational&nbsp;Rose可以更好地和用户交流,让用户了解系统的运作方式甚至细节的操作。<br/><br/>&nbsp;&nbsp;&nbsp;(3)使分析和设计两个阶段互相联系与贯通。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这是我们选择面向对象的方法及Rational&nbsp;Rose工具的重要原因,系统分析要向用户描述的不仅仅是用户的需求,而且包括解决方法,解决方法当然应包括设计(程序)、数据库与系统配置,我们当然不希望用户得到的是一个与需求规格说明不相同的软件,也不可能要求程序员完成一个不可胜任的任务。然而我们在以前的多项工作中经常发现这类情节,因为系统分析与设计相互脱节,导致一头扎在分析中不顾设计有关的事宜。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;分析与设计的脱节,还不利于设计现格说明的评估,因为分析往往会脱离现实,导致缺乏评估的依据。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;因为不可能成功地完成设计而使分析需要重来,就会造成巨大的浪费与损失。一个好的工具可以使分析与设计更紧密地连结起来,甚至于—一对应。面向对象的分析方法使对象之间相对而言有独立性,减少了任何影响到全局的改动,能避免因需求变化而导致全盘皆动的被动局面。<br/><br/>&nbsp;&nbsp;&nbsp;(4)使程序员明白我们的设计。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;一个好的设计应该让程序员感到清晰明白,更少疑问。一个疑问很多的设计加上沟通不畅,绝对会出现在应用环境下所不需要的另一个软件,所以设计规格说明书务必清楚、形象与明确,当然,Rational&nbsp;Rose具有足够的图形与其他形式,能使程序员更加明确,甚至能细微到每一个语句(事实上如果使用VB,程序架构都有可能直接生成了)。<br/><br/>&nbsp;&nbsp;&nbsp;(5)选择UML可能会有更多的理由。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;比如用户文档的编写、数据库设计,我们都需要做到有延续性,有自动化支持和具有质量上的保证。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;所以,我们选用了以上的方法和工具。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在分析中,面对考勤班次的问题时,由于过去一直使用纸卡方式考勤,使用户对班次形成了固定的概念,而现在的许多考勤软件也采用多次刷卡的方法来形成一天的记录。经过面向对象的分析可以发现,事实上每天的上班记录是由多个时段所形成的,时段的多少在各个公司,各个工种与部门都不尽相同,每个时段可能有不同的属性,时段与时段组合可形成为班次,这更适合于现实的情况,使之能更加灵活与更有扩展性。其实,在天与天之间也都有相互之间的关系。在这一点上,我们又发现必须在考勤与薪金工资中加入与MRP中相似的期段(Periods)的基本概念,比如可以称之为考勤期段,允许为用户更加方便地设置考勤期段,可能使之不一定与自然年月日相同等等。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Rational&nbsp;Rose使我们更方便地把上面的想法在类上去实现,更进一步地设计好我们的高效率的数据库。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;当然,使用单一的一个工具去完成一个中大型的应用系统的需求分析,是不可能成功的。因为社会在发<br/>展,用户的需求也在改变,如何把握住用户的需求是需要时间的,面向对象的方法有时也会忽略外在的与表层的要求,不仅仅是要获得关键的需求,其他更多的需求往往要等到用户在使用后才知道,然而等到用户使用是不现实的,作为原型开发模型中的原型也是收集用户需求,描述与解释需求的一类相当有效的方法与工具。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在我们的开发过程中,为了更好地让用户了解我们的系统和我们的设计方案,让用户在见面会上更有方向性与针对性,我们首先用Access开发出原型,让用户先试用。这样,我们在真正的分析与设计时就能更加符合用户的要求。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;总之,软件需求分析方法和工具的使用,对我们软件开发过程影响是很深远的,选用高效能的正确的方法与工具,可以使我们的软件更加正确地反映现实需求,更加具有可用性、可扩展性和可维护性;降低了软件项目的风险。<br/><br/>评注:(1)写得有些特色,观点鲜明。(2)摘要写得不错,既反映了项目内容,也小结了本文的写作要点。(3)文中所举的例子虽然简单,但很实际。(4)多种方法与工具的使用,叙述得简明扼要。(5)内容可更丰富一些,更深入的例子也可再增多一些,则会更有说服力。(6)对需求分析的全过程的描述太少。(本文主要参考了广东延国庆等人的论文)<br/></p>
    踩过的脚印
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享 顶 踩

    该用户从未签到

    升级  18%

    13
    发表于 2009-2-19 12:50:56 | 只看该作者
    好东西,可以看看先
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    12
     楼主| 发表于 2008-2-11 02:01:28 | 只看该作者
    <p><strong>系分论文12</strong><br/><br/>论实时控制系统与企业信息系统的集成——论文3:工业控制的常规应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp; 本文通过“工控组态软件”项目的开发,着重讨论实时系统与信息系统的集成。近年来,国内外的组态软件取得了很大的发展,已广泛应用于企业生产。组态软件以实时数据库作为核心技术,综合了工控、网络、图形处理与数据库访问接口等技术,是技术含量较高的一类软件产品,具有良好的应用前景和市场潜力,因此,有多家信息技术公司都在开发工业组态软件。<br/><br/>&nbsp;&nbsp;&nbsp; 我有幸参与了该项目,在该项目中担当了分析与设计的部分任务,该软件采用Windows 2000操作系统,主要采用VC6.0进行开发。以下本文将从我所开发的组态软件的特征、软件的体系结构设计、实时数据库设计、可扩充性与可维护性设计以及项目实施管理等几方面加以论述。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp; 工业控制组态软件在工业界有着相当广泛的应用,此类软件允许用户在图形界面下对控制系统的各种采样点、过程输出点、设备、生产车间、控制回路、文件报警、生产报表、控制策略、网络设备和生产工艺画面进行定义与组态。使用该类软件时,用户甚至可以不写一行程序就能够构成自己的控制系统,有些功能强大的组态软件还可提供与网络、Internet、数据库访问接口等的连接功能,使现场控制系统能相对方便地和企业的信息管理系统加以集成,某信息技术公司决定开发新的具有一定通用性的工业组态软件,作为技术骨干,我在该项目中担当了分析与设计的部分任务,该软件采用了Windows 2000操作系统,主要采用VC6.0进行开发。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;本文将从我们所开发的组态软件的基本特征、软件的体系结构设计、实时数据库设计、可扩充性与可维护性设计以及项目实施管理等几方面加以论述。<br/><br/>&nbsp;&nbsp;&nbsp; l. 我所从事开发的组态软件的基本特征<br/><br/>&nbsp;&nbsp;&nbsp; 通过分析国内外的组态软件的特点和当前的技术发展情况,我认为我们着手开发的组态软件应当突出下述三个特征:<br/><br/>&nbsp;&nbsp;&nbsp; (1)“实时与可靠”是此类软件赖以生存的应用前提,但是目前还是有很多的组态软件做不到这一点。<br/><br/>&nbsp;&nbsp;&nbsp; (2)具备良好的网络连网能力与分布功能。<br/><br/>&nbsp;&nbsp;&nbsp; (3)有效地采用ODBC(开放的数据库连接),便于和其他信息系统集成。<br/><br/>&nbsp;&nbsp;&nbsp; 这个项目在技术上,应着重于组态软件的体系结构设计与实时数据库的设计上需求分析则应着重分析国内外同类软件的功能,通过比较与鉴别,才能产生真正优秀的软件。<br/><br/>&nbsp;&nbsp;&nbsp; 2. 组态软件的系统体系结构<br/><br/>&nbsp;&nbsp;&nbsp; 本软件采用的是三层体系结构,设计结构时要具有开放性和良好的可扩充性。<br/><br/>&nbsp;&nbsp;&nbsp; (1)软件的底层是硬件访问控制层。这一层所采用的是前几年才推出来的OPC(OLE for Process Control)技术,采用该技术的好处是OPC是微软参与制定的标准接口技术,有众多的硬件厂商支持,所采用的OLE技术使软件具有良好的适应性和扩展能力。<br/><br/>&nbsp;&nbsp;&nbsp; (2)中间层是实时数据库。该层是整个系统的核心,在设计上除了具有一般实时数据库具有的特性之外,应当为应用层提供了两类接口:一是应用编程接口API(比如以DLL的方式实现),二是ODBC接口,该接口使系统具有很好的开放性,便于系统集成。<br/><br/>&nbsp;&nbsp;&nbsp; (3)上层是应用程序层。在该层通过ODBC接口访问实时数据库,可以通过SQL语句查询数据库的数据。<br/><br/>&nbsp;&nbsp;&nbsp; 3、本项目涉及到实时数据库设计<br/><br/>&nbsp;&nbsp;&nbsp; 在设计时,我们着重考虑了以下的四个方面:<br/><br/>&nbsp;&nbsp;&nbsp; (1)实时数据库的基本功能:实时数据库完成实时数据库的采集、输出、报警文件等的管理,也进行历史数据的管理。<br/><br/>&nbsp;&nbsp;&nbsp; (2)实时性设计:由于本系统所采用的操作系统是Windows 2000.它的实时性较差,因此要求任务管理定时器必须具有良好的实时性,在系统设计时,我们采用了抢占式服务的高精度定时器,在一定程度上保证了系统具有良好的实时性。<br/><br/>&nbsp;&nbsp;&nbsp; (3)任务调度:其目标主要是使系统在各时间段达到较理想的负荷任务的均衡性。<br/><br/>&nbsp;&nbsp;&nbsp; (4)ODBC接口设计:即开发相应的驱动程序,实现ODBC功能,使之完全遵守SQL约定,这样能允许应用程序的开发手段和开发工具多样化,允许可以采用VC、VB或Delphi等作为开发语言,也使数据库具有很好的开放性。但SQL语句不能实现数据发生时间方面的选择,影响了实时性,因此,系统自动给每个数据库加上时戳,SQL可以通过时戳进行时间控制来选择(读取)数据,从而满足了实时性方面的基本要求。<br/><br/>&nbsp;&nbsp;&nbsp; 4. 本系统的可扩充性与可维护性设计<br/><br/>&nbsp;&nbsp;&nbsp; 组态软件综合了多种技术,其体系结构与数据结构都较为复杂,再加上我们又希望能适应的实际应用场景有着复杂多变性,因此要求系统必须具有良好的可扩展性与对维护性,以满足功能与性能上不断变化的要求。在系统的设计技术上,我们大量地采用组件技术,如OPC,COM/DCOM与3D图形控件等,组件技术的采用使系统具有了良好的可扩展性与可维护性,降低了系统的复杂度。而且也使我们较方便地获得第三方支持,例如,请经验丰富的图形处理专家编写图形处理控件,就能加快软件开发的进度。<br/><br/>&nbsp;&nbsp;&nbsp; 5. 本项目中软件项目实施和管理<br/><br/>&nbsp;&nbsp;&nbsp; 组态软件的需求在当前工业控制领域中是较成熟的,基本能满足一般用户的功能上需求,通过比较多家组态软件,可以发现:在它们之间有80%的功能是相同的或雷同的,由于我们项目开发的起步较晚,在自控领域里,我们处于劣势,因此我们提出了“重技术分析,轻需求分析”的思路,即把重点放在组件设计与体系结构的实现上。<br/><br/>&nbsp;&nbsp;&nbsp; 在人员的配备上则根据组态软件的技术组成特点,组织一批在自控、网络、组件、实时系统设计和硬件上各有所长的VC高手组成一支精干高效的队伍。<br/><br/>&nbsp;&nbsp;&nbsp; 在开发进度上则反复强调“质量第一,进度第二”的原则。<br/><br/>&nbsp;&nbsp;&nbsp; 在我们的项目实施中,可靠性作为设计的首要原则,要求项目组成员养成良好的编程习惯,每天必须完成认真的工作日志,每周要写工作总结,完成一段程序代码之后,即应自己先进行从里到外的测试,只有从基础抓起,才能保证组态软件的质量。<br/><br/>&nbsp;&nbsp;&nbsp; 通过本项目的开发成功,我深切地体会到要使组态软件在企业实时控制与信息系统集成中发挥其应有的作用,必须注意以下各点:先进的体系结构;支持ODBC的实时数据库;强大的网络功能;功能日益强大的脚本语言等。我期待着本人通过在这个领域中的辛勤耕耘,将会结出更多更丰硕的IT成果。<br/><br/>评注:<br/><br/>&nbsp;&nbsp;&nbsp; 本文抓住了企业实时控制与信息系统集成中的一类关键软件——组态软件项目的开发,进行了较有条理的讨论,思路很清晰。<br/><br/>&nbsp;&nbsp;&nbsp; 由于项目在一定程度上的“通用性”,未能结合具体的应用背景论述;但本文的一个缺点是未能给出开发与应用的实际效果例子,也未能对开发中遇到的困难与问题展开深入的探讨。(本文主要参考了广东王启飘等人的论文)</p>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    11
     楼主| 发表于 2008-2-11 02:01:06 | 只看该作者
    <strong>系分论文11</strong></strong><br/><br/>论实时控制系统与企业信息系统的集成——论文2:工业自动化改造的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;本文以一个信息化改造项目为例讨论了实时系统与信息系统的集成。我曾参加了一个中等规模的现代化生产企业的数字化改造项目,该企业拥有4座自动化连续式工作的窑炉,以及8座自动化间隙式工作的窑炉以及多台半自动的中大型辅助机器。该企业希望能将这些设备实现数字化,并且重点要建立起一个中央监控室,能实现对设备的运行状态参数的监督和记录两大任务,前者用于防止意外事故,后者可用于向该企业的决策人员和技术开发部门提供信息。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;通过我们的开发组与该企业相关人员一起努力,分四个步骤共同完成了这一工作。第一步是实现设备状态参数的数字化输出;第二步是建立中央监控室的监督和记录功能;第三步健全监控室的控制功能及相应信号的输出;第四步则是实现生产设备自动化控制的数字信号接入功能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我在其中的主要工作有三个方面:<br/><br/>&nbsp;&nbsp;&nbsp;(1)作为公司开发组和企业间联络的桥梁;<br/><br/>&nbsp;&nbsp;&nbsp;(2)负责确定该项目中各部分之间的分工,在发生冲突或出现问题时提出相应的具体解决办法;<br/><br/>&nbsp;&nbsp;&nbsp;(3)帮助解决与协调在工作过程中出现的各种困难。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;现代化企业发展生产与提高效率的根本途径之一是加速信息化的进程。在所从事的专业生产领域中,我参与开发项目的这家企业可以认为已经具有相当程度的现代化的基础了,比如它已拥有4条自动化连续式工作的窑炉、8座自动化间隙式工作的窑炉和多台半自动的中大型辅助机器。但是这些设备的自动化控制在改造前还主要依靠模拟量控制,也不具备信息与数据的记录、汇总与分析功能。该企业一方面出于对今后发展的需要,希望记录下这些设备在工作过程中连续的状态参数的变化情况,有运行的日志与历史记录,以提供给其技术开发部门,作为产品质量改进研究中的参考;进一步还可提供给企业管理部门决策分析时的参考。另一方面,企业希望能够对设备生产状态有全面的监督和一定的紧急控制与应变的能力,能对生产设备的操作意外和设定不当,或者发生突然的未预料到的事件,防止造成事故与损失。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我们根据该企业的要求,结合项目的资金、时间、人员等现实状况,再三考虑了该企业的经营情况、产品的市场和前景、项目开发所面临的风险等诸多因素,经过仔细分析,得出了如下的4条意见:<br/><br/>&nbsp;&nbsp;&nbsp;(l)由于资金的限制,切实地在相应各个环节上节约成本是相当重要的,因此要尽可能地在原有设施与条件的基础上进行改造,而不是进行根本性的替换;<br/><br/>&nbsp;&nbsp;&nbsp;(2)此企业需要的是“实时控制系统和企业信息系统的初步集成”,而不是一个功能相当丰富和完善的系统,该企业现阶段既不具备开发这样一个系统的能力和条件,也不具备管理维护和应用高级集成系统的相关人员,所以,项目的目标应当切合于目前条件下企业的总体要求。这样既有利于控制成本,也有利于减少项目风险;<br/><br/>&nbsp;&nbsp;&nbsp;(3)由于该企业的生产情况和资金、人员的限制,项目必须分阶段地进行。大体上可划分为如下四个阶段:①实现设备状态参数的数字化输出;②建立中央监控室的监督和记录功能;③健全中央监控的控制功能和相应信号的输出;④实现生产设备自动化控制的数字信号接入功能;<br/><br/>&nbsp;&nbsp;&nbsp;(4)参与本项目涉及到的双方的大多数人员都不精通对方的专业领域,因此必须在加强互相沟通的同时,确定明确的分工关系。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;上述四条意见在经过双方的磋商与研究后,获得了双方全体项目参与人员的一致认同,成为这个项目开发过程中双方必须理解与遵循的准则。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在第一阶段,我们开展了对半自动的中大型辅助机器的自动化改造。事实上,该企业早有这类打算,并且已做了相应的技术储备,因而这一部分的工作由该企业自身的技术人员全权负责并加以实施。项目中所涉及到的所有自动化生产设备都已具有依据状态参数模拟信号量进行控制的能力,对于所采集到的状态参数模拟量,企业曾计划采用一类以模拟信号远程地传至中央监控室,再进行模数转换的方案。此方案对企业来说实现比较简单,但存在着成本较高、远传过程易受到干扰等不利因素。随着模数转换设备成本的显著下降和可靠性提高,经我们建议和双方讨论,企业有决心在生产设备的控制设备上就地实现现场模数转换,再远传数字信号至监控室,这一工作同样地由熟悉这项技术的企业技术人员实行。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;第二阶段的工作主要由我方开发组成员负责。我们将人员大体上分为3组,第一组主要是根据企业长期累积的资料以及公开发表的相关技术,建立起一个合理有效的模型,其中包括诸如数据采样记录的间隔时间,不同生产阶段的数据处理时所采用的数学模型等数据处理的相关内容;第二组负责监控记录软件的输入输出接口,用户图形界面的选定和设计等软件外围功能的实现;第三组则集中力量编写一个简单实用的、针对性强和小巧的相关数据记录的专用数据库。这一阶段是控制质量和成本的关键性阶段。出于对成本的考虑,以及根据数据的流量不很大,对数据的实时性处理要求不是很高(通常情况下,设备的实时控制仍由原来的自动化系统所承担)的实际情况,中央监控室采用了一套有双机备份的服务器作为数据处理用的服务器,另一套同样有双机备份的服务器作为数据库服务器,并且没有使用价格昂贵的商用数据库,而采用了由自己开发的一个经济实用的专用数据库。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;第三阶段可以看成是第二阶段的自然延伸,在第二阶段成功的基础上,利用第二阶段模块处理后所获得的数据,依据设备的多种临界指标,进行相应的判断,允许在紧急情况下,发出相应的警报,并同时依据设备本身的相应紧急情况处理办法,发出控制信号加以处理实现。这一阶段的关键有两方面内容:一个问题是要求数据转换设备拥有相对较高的可靠性与可用性,另一个问题是要注意做好与自动化设备原有控制系统的自我保护功能的配合协调工作。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;第四阶段则仍然由该企业的技术人员为主实施,在实现过程中主要是解决好第三阶段所遇到的上述两个关键问题。对于第一个问题,使用了更好的设备和部件来实现数模转换和动态控制;对于第二个问题,则在控制设备中设立了优先级判断,使自我保护装置的启动优先级离开中央监控室(由于自我保护启动速度更快,但是功能较弱)而加以解决。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;从总的项目实施进程上来看,一、四两个阶段相连贯,二、三两个阶段相连贯,而它们之间则可并行地进行,从而满足了时间进度上的要求。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;今后,本项目所采用的这类技术可能要走向全自动化。项目中涉及到的数据量将会更大得多,实时性要求也会更高。我们应注意使现有成熟的商业系统与产品如何应用到其中去,使之能尽快地满足企业的要求,节约成本,并且减少开发的风险。<br/>评注:本项目初步实现了生产控制与信息系统的第一阶段集成,项目实现目标明确,效果直接。摘要中写了项目的背景与作者所从事的工作,正文中条理较清晰地列举了项目实施的策略、过程与主要技术。(本文主要参考了上海沈子敬等人的论文)<br/>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    10
     楼主| 发表于 2008-2-11 02:00:37 | 只看该作者
    <p><b>系分论文10</b><br/><br/>论实时控制系统与企业信息系统的集成——论文1:通信业应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;近年来,在应用需求的强大驱动下,我国通信业有了长足的进步。现有通信行业中的许多企业单位,如电信公司或移动集团,其信息系统的主要特征之一是对线路的实时监控要求很高,数据量庞大,如何将实时控制与信息系统集成在一起便成为系统实施的一个关键部分。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在参与了某个通信公司的一套网管系统以及决策支持系统的设计后,我们分析了两者的集成与应用工作,深切地感受到有一个良好的设计策略以及重视所选用的工具是一个关键。这个项目主要是对下属各分站的子网以及有关链路的连通情况进行实时监控、实现报警、路由控制和授权等功能,其关键在于提供一个实时显示情况的地图界面,井将数据汇总和组织,建立起数据仓库以及进一步实施数据挖掘分析,从而能支持企业的决策分析。我作为设计人员之一,着重在本文中讨论控制系统与信息系统集成时的策略。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;众所周知,通信行业需要有一整套监控通信网络的手段,其工作特点是涉及到的各分站与基站的在地理位置L的分布性,更加需要有在更高一级提供检测不同分站链接情况的手段。一般来讲,由于数据都是海量的,所以,如何将整个网络系统所得的数据及时处理,以便和决策部门的分析相结合,也成为迫切需要解决的重要课题。简言之,分布性、实时性以及数据海量性是解决整个系统设计和集成的核心问题。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;首先,让我们来讨论一下“网管监控系统”。由于我参与设计与开发的这个系统并不是位于基层的分站,其定位在将下属各分站的主机通信数据(包括数据流量、链路负荷、通往其他结点即主机的连通情况等)加以收集,所以对于具体通信事务的底层操作要求并不很高。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;考虑到上述原因,我们采用了一个地理信息系统开发平台Mapinfo并采用Delphi编程,后台用SQL&nbsp;Server数据库(这是由于考虑到决策所需要用到的是Microsoft公司的OLAP&nbsp;Service)。在分析和计划之前,我们先对ITU801标准做了详细的探讨,这只是一个有关子网和链路定义以及分层等描述的标准,在听取了许多分站人员的建议后,将MAPINFO公司提供的一个相关的MAP&nbsp;X的Active&nbsp;X控件嵌入到Delphi程序中,利用MAP&nbsp;X中提供的丰富的类以及操作,比如Object、Layer等实现网管界面,井且加入了子网和链路的概念,对属下的分站可以随意地组合成为不同子网,而且实现了放大与缩小的功能,大致可以将整个地区的分站集中在一张地图中,能显示在屏幕上,这时,只是显示出各个分站的概要,小到可以显示出某台主机的机柜、机柜直到插件板(因为这些都要实时监控)。我们采用了分层的方法来实现以上缩放。对于一些静态的数据,如分站,主机的位置等则先用Mapinfo公司提供的一套编制地理信息的工具(MAP&nbsp;X是其提供给编程工具的一个Active&nbsp;X控件)做成静态的层次图放置于数据库中。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我们新做成的这套系统通过与各分站的专用线路加以连接,能实时地得到数据,显示于地图上,反映出各站、各子网、各链路的实时状态,并能将控制命令传回分站(如强制链路中断、路由转换等)。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;现在,让我们来讨论其中最为关键的问题,即是要将实时控制系统与企业信息系统加以集成,我们的设想和体系结构大体上可以用一张简图表示(此处暂略)。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在这个体系结构中,由各分站保留着详细的数据,网管系统则在一定时间间隔内将汇总到的数据作少量统计,抽取其中需要保存的内容放入数据库,如每分钟流量,某分站与其他分站每分钟通信流量,在该分站中某个链路的负荷(这些链路有可能是动态分配的,也可能是固定分站之间的通信链路)。尽管如此,数据仍然是海量的,因此,如果要把这些数据都直接送到各个决策部门,比如送给市场部门是不现实的。所以,我们在数据库的基础上建立了数据仓库,确定了客户、时间、通信量、计费和故障等几个数据仓库的主题,每隔一定时间对数据库中的原始数据进行清理与抽取等预处理工作,建立好数据仓库。这里的预处理包括了许多方面的内容,比如有建立计算时间,但是无计费的(计费值为零)的数据,应视为建立失败的无效数据,需要予以剔除;某些企业租用的是专用线路按月计费,中间的通信因此无计费的一些有关记录也应剔除等。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在预处理之后,再利用OLAP&nbsp;Service的分析将数据融合与汇总。按照决策部门的需要提供相应数据(比如:市场部门需要每一分站的收益,客户分布情况以及客户费用等)。这些都可以由OLAP&nbsp;Service对数据作预先处理,此时处理完的数据在逻辑上是以立方体(CUBE)形式存在的,其占用的存储空间便能显著地降低,如1999年8月有2000万条通讯记录,即使形成作为备份的文本都需要4G空间,经过OLAP&nbsp;Service处理后仅需200M左右空间,因此,经处理后的数据主要存放于另外的相关部门的机器中,而不能与主服务器放在一起。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;最后,再来讨论由决策人员所使用的系统。由于这些部门并不分散,我们就没有采用OLAP&nbsp;Servce的Web发布方案。采用Delphi编制了访问OLAP&nbsp;Service的客户端软件,用了OLAP&nbsp;Service提供的、Cube&nbsp;Browser控件,用相似于网页的界面提供了数据立方体的各种操作,如上钻(观察角度从月转到季度甚至年),切片,旋转等操作。为了便于输出打印数据,还内嵌了Microsoft的Excel数据透视表,可以将在Cube&nbsp;Browser上所看到的数据转化为Excel的表格形式,或者转换成饼形图、柱形图和曲线图等,比如可以观察每天24小时通信流量的分布曲线图,可以发现在夜间12点以后明显通信流量减少,而决策部门便可制定某些优惠或减价措施吸引更多客户在12点之后使用网络。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;另外,在采用OLAP&nbsp;Service中的数据挖掘功能时,其中提供的两类算法分别是基于决策树的分类和基于决策树的聚类,市场部门的聚类算法将客户根据费用情况加以聚集,以期发现处于同一消费水平的客户的共同特征,便于制定政策,吸引客户。这方面的努力我们将会进一步持续进行,以保证有足够的海量数据而发现其中的规律。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;整个系统运行后,其数据采集,数据处理等一系列工作都由程序定期地自动进行,该系统应用已有一段时间,受到了不少好评。当然,也发现了其中有不少问题,比如;主服务器数据库的容量问题,主站与分站的通信效率问题,还有在网管系统中,网络故障的确定还不够细致,需要由分站再具体化加以确定,决策系统与网管系统之间还缺少直接通信手段等,这些都有待于进一步的解决与改进。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;实时控制系统与企业信息系统集成化是推动从事生产制造、测量与监控等业务的企事业单位真正迈向信息化,提高工作效率的一个重要动力。如果是大型企业,更需要有一整套的系统,支持Web发布,智能查询,自动识别如用于故障预测和数据挖掘等技术,从而能够将底层的实时监控与高层的决策更好地集成在一起。展望其前景,无疑是十分美好的,但是我们认为相应的工作量很大,在技术上仍然需要有所提高和有所突破。<br/><br/>评注:能紧扣集成的主题,结合实际作了较有深度的论述。所讨论的数据库和数据仓库技术符合企业信息化的方向。对遇到的问题的举例剖析还不够,实时控制方面的论述也可更细化一些说明。(本文主要参考了广东林嘉宜等人的论文)<br/></p>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    9
     楼主| 发表于 2008-2-11 02:00:12 | 只看该作者
    <strong>系分论文9</strong></b><br/><br/>论改进Web服务器性能的有关技本——论文2:数字图书馆类的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;一个大中型的图书馆信息系统涉及到许多方面的技术与方案,本文着重讨论与Web服务器性能有关的一些内容。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;本人有幸作为项目负责人之一参与了某大型图书馆数字化信息系统的设计和基于Web应用软件的开发工作。由于在数字化图书馆信息系统中流通着的大多是数字化的索引、文摘、全文、图像或音频视频等多媒体信息,对Web服务器性能有着较高的要求。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;结合实际工程的经验,本文将从硬件实现手段(缓存服务器、均衡负载设备、Web双机镜像、CPU和网卡的提升、网络带宽扩充)和软件实现手段(三层C/S软件结构设计、应用程序部署)等两个大方面论述如何提高Web服务器的性能,以便使用户能够更快捷、高效、安全地使用应用系统。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某图书馆为了尽快地步入世界先进图书馆的行列,已经启动了一部分的数字图书馆工程。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;该数字图书馆工程主要包括对外信息Web发布系统,交互式检索网、后台馆藏信息管理系统、多媒体资料采集制作以及VOD点播系统等。本人有幸作为项目负责人之一,参与了整个数字化信息系统的总体设计,并参与了基于Web的一些应用(如对外信息发布系统、图像/全文混合检索系统、VOD点播系统)的开发。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;某图书馆数字化信息系统从网络环境上讲,主要划分为多个网段:(一)Intranet接入部分,采用2M的DDN专线;(二)公共网段(非军事区),主要包括前台发布数据库服务器、Web服务器、E-Mail/FTP/DNS服务器、检索服务器及SAN网络区域存储设备;(三)是内部局域网,包括内网Web服务器、后台馆藏数据库服务器、OA服务器等。(四)是VOD点播专用网,包括音频视频点播服务器等。由于制定了严格的网络级和应用级访问权限,通过具有三层交换能力的高性能交换机和安全授权认证系统等,有效地控制了防问权限,确保了数据的安全性和完整性。考虑到经费和人员素质及今后的维护管理运营等方面,操作系统采用Windows&nbsp;NT平台,服务器选用DELL高端的系列,数据库采用IBM的DB2。主干网为千兆快速交换式以太网,局域网百兆到桌面,VOD点播网十兆到桌面。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在该网络环境下应用主要分为三大部分:(一)对外Web发布系统、对外图书辅助检索系统;(二)后台馆藏信息管理系统和图像/全文混合检索系统;(三)VOD点播系统。由于绝大部分应用采用Browser/Server方式结构,最终用户在本地只需安装IE或者Netscape&nbsp;Web浏览器,在后台数据库服务器的支持下通过网页方式请求和访问各类应用服务。另外,由于在图书馆信息系统中流通的多为索引、摘要、全文或音频视频等多媒体信息,对Web服务器性能与网络带宽等都有更高的要求。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;通过不断地试验和实践,我们发现从以下几个方面可以相对有效地提升Web服务器性能;<br/><br/>&nbsp;&nbsp;&nbsp;(1)缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;缓存服务器也称为cache服务器,可以存储cache静态的内容如网页、多媒体点播资源和会议实况(已压缩的、有一定格式要求的)等。此外,目前美国cashflow缓存服务器,已经可以存储cache数据库、ASP等动态内容。cache服务器通常放到防火墙之外,外网Web服务器之前,因此Internet用户点击网页不再直接访问网站Web服务器,而是访问cache服务器。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;由于cache服务器具有多个CPU和高速大容量I/O通道,独立的OS,因此能大大缓解Internet访问瓶颈,而且也具有一定的抗黑客攻击的能力。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置放在cache服务器中,即使现今只有2M&nbsp;Internet的接入带宽,以上应用的播放速度和效果仍能让用户满意。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;另外一种方式采用均衡负载设备或Web双机镜像。这种方式通过负载均衡的方法达到&nbsp;Web访问性能最优。Web双机镜像是较早以前流行的方式,虽能使系统可靠性提升,但由于双机总是在互相询问对方状态,将会影响一定的访问性能。均衡负载设备是独立于Web服务器的硬件,它和Web服务器及网站中其他服务器接在同一交换机上,通过负载调度程序为各个服务器分配工作量,从而,能达到充分利用资源,提高访问性能的目的。只是由于某图书馆目前对外发布资源相对仍较少,只采用了三台Web服务器,因此目前的均衡负载设备作用还不显著。<br/><br/>&nbsp;&nbsp;&nbsp;(2)从Web服务器的配置来看Web服务器自身CPU个数及速度、网卡数量、Web服务器与防火墙的位置关系等,都会影响到Web服务器的性能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;从Web服务器硬件本身来讲,CPU个数的增加、网卡个数的增加、I/O信道的扩展无疑可以直接地提高Web服务器性能。此外,由于千兆口的防火墙目前较少且费用较高,如果把Web服务器放置防火墙之后,一定会大大影响Internet访问性能。某图书馆采用IDS(入侵侦测)+Web服务器(服务器防火墙,较低端,不会影响流量)+应用服务器+数据库服务器(防火墙,高端),分层次的安全模式,既保证了系统的安全性,又提升了<br/>网络访问性能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;另外,某图书馆还采用了SAN网络区域存储来提高服务器访问速度。<br/><br/>&nbsp;&nbsp;&nbsp;(3)三层C/S软件结构设计和应用程序的适当部署也会提高Web服务器的性能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;将业务逻辑、通用访问接口与数据等相互分离、分别置放于Web服务器、应用服务器、数据库服务器上,通过程序功能和逻辑的合理部署,也能大大改进Web服务器性能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;一般的原则是,Web服务器只需接受Internet&nbsp;http访问请求,使Web只有最少的任务,把实际处理交给各个应用服务器处理,然后返回结果给Browser。某图书馆采用这种方式专门开发了搜索引擎应用服务器和混合检索应用服务器等,达到了良好的应用效果。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;事实上,Web服务器的性能提升还存在很多手段和方法,比如CPU与存储之间关系,Web交换机等等,有待于我们进一步的实践、分析和讨论。(本文主要参考了上海童茵等人的论文)<br/>评注:主题鲜明,条理也较分明。但所讨论的技术应更有机地结合于项目的实例。<br/>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    8
     楼主| 发表于 2008-2-11 01:59:45 | 只看该作者
    <p><strong>系分论文8</strong><br/><br/>论改进Web服务器性能的有关技术——论文1:银行业的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp; 基于Web技术的数据库应用是当前应用的一个热点,在用户数目与通信负荷很大的场合,提高Web服务器性能是一个迫切的课题。本文从笔者参与某个银行系统项目开发的经历出发,阐述了提高Web服务器的性能应渗入到项目论证、选型、开发、运行和管理的各个环节,只有各个环节都能充分考虑到性能与质量的需要,系统的性能才是真正可保证的和可扩充的。<br/><br/>&nbsp;&nbsp;&nbsp; 文章从系统的实际运行与相应的经验出发,阐述了性能改进方面的一些具体措施。<br/>比如:在本文中讨论了Web服务器平台的选型考虑;Web服务器的配置管理;应用系统本身的优化与预先设计系统时可扩性的性能保障等具体内容。<br/><br/>&nbsp;&nbsp;&nbsp; 通过技术上的分析与改进,综合性地运用多类措施与手段,在实际系统中,Web服务器运行的性能得到了一定程度的保证。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp; 我所在的单位是把目标定位于金融领域开发IT应用的一家信息技术公司。随着金融电子化建设的发展和商业银行之间市场竞争的加剧,各主要商业银行不断通过信息技术提供新的金融产品,并且希望能整合市场渠道。比如主要的商业银行不断推出形形色色的网上银行服务。在这种背景下,本人参与了开发新一代网上银行产品,涉及到提供网上个人理财服务、网上外汇买卖服务、网上企业服务等具有市场竞争力的产品。作为项目开发的组织者之一和主要的技术骨干,在整个项目开发过程中始终要处于第一线,从而在改进Web服务器性能、提高整个网上平台系统性能方面收获良多,在本文中简要讨论如下,希望与读者们共享经验。在Web服务器配置与优化方面,我有如下几方面主要的体会:<br/><br/>&nbsp;&nbsp;&nbsp; 第一方面是Web服务器选型考虑。<br/><br/>&nbsp;&nbsp;&nbsp; 在Web服务器选型及网上平台搭建之初,我们就已充分考虑整个网上平台的性能及可扩展性问题。这一考虑为该系统的稳定性及扩展性能力方面打下了坚实的基础。<br/><br/>&nbsp;&nbsp;&nbsp; 某银行原有的一些网上产品由于开发较早,故而采用的是老式的HTTP Server+CGI程序调用的方式。这时,每一客户请求需要对应于后端系统的系统进程来运行CGI程序来处理,系统的开销相当大,系统的扩展能力也很差,性能已不能满足业务处理的需要,故而在为此银行系统具体选型的时候,我们一开始就否决了这种方案。<br/><br/>&nbsp;&nbsp;&nbsp; 通过市场上同类产品的比较选择,我们选择了国际商业机器有限公司IBM的Web Sphere产品系列作为该行网上银行系统的建立平台。作出这样选择是因为Web Sphere基于使HTTP Server和应用服务器相分离的整体架构,同时支持JSP、Servlet和企业组Java Bean等轻量级线程规范,所有的请求对应于应用服务器上的处理线程,系统的开销低、效率非常高,同时Web Sphere整个体系结构相当的灵活,为适应扩展需要可以作不同的横向和纵向扩展,从而可以满足各银行未来的扩展需要。<br/><br/>&nbsp;&nbsp;&nbsp; 正是因为在一开始选型的时候我们就已考虑到未来的扩展需要,整个系统在接下来的几次性能改进方面,我们大体上都能相对顺利地达到了预期目标。<br/><br/>&nbsp;&nbsp;&nbsp; 第二方面是Web服务器的性能配置。<br/><br/>&nbsp;&nbsp;&nbsp; 在一开始系统上线的时候,由于系统的负荷不是很大,为了节省系统总拥有成本TCO投资,我们在一台较低配置的IBM RS6000上投产了该系统。整个系统的HTTP服务器、应用服务器、通信服务器等均位于该台机器上,由于初始投产时用户不多,所以系统的性能基本上能令人接受。<br/><br/>&nbsp;&nbsp;&nbsp; 但随着业务的发展和用户访问量的增大,我们发现该服务器的响应变慢,系统的CPU利用率和内外存交换显著增大。经过跟踪,我们发现关键原因之一是系统的内存不足的缘故。由于网上服务器把大量用户的会话信息保存在内存中供给应用系统使用,当内存不足时,大量Session信息被迫交换至硬盘,大量CPU时间消耗在等候内外存的交换上,系统效率迅速下降。<br/><br/>&nbsp;&nbsp;&nbsp; 鉴于这种情况,我们把该服务器的内存由2GB扩充为4GB,同时相应调整用户会话信息的保存时间,这样整个系统的效率又回到较为理想的状况。<br/><br/>&nbsp;&nbsp;&nbsp; 由于新应用的不断投产及数据库操作的日益增加,我们后来逐渐监控到系统的数据库处于繁忙状态,系统的错误日志也记录下了供应用服务器使用的数据库连接处出现资源不足的情况。在这种背景下,我们认为整个系统由于硬件配置所限,应该进行横向扩展,因此我们把数据库服务器分离出来,配置到另一较高性能的服务器上,相应定义的数据库资源也大幅增加,这样整个系统的性能又处于较为理想的状况。<br/><br/>&nbsp;&nbsp;&nbsp; 第三方面是对应用系统进行相应的优化以提高性能。<br/><br/>&nbsp;&nbsp;&nbsp; Web服务器配置及相应的硬件扩展不失为解决系统性能问题的一条捷径,但应用系统的优化也是应该重点加以考虑的,毕竟它能够在投入较少的情况下提高系统的运用效率。<br/><br/>&nbsp;&nbsp;&nbsp; 在开发的初期,我们就已经十分注意系统的利用效率,比如提醒程序员尽量不要利用用户会话信息(Session)来传递大的对象,对于内存要注意回收等。同时,通过内部的交流会推广与介绍一些小的、有用的编程技巧来提高开发人员的水平,通过代码的抽查,希望能在早期就发现问题等。<br/><br/>&nbsp;&nbsp;&nbsp; 在系统运行期间,我们通过监控发现,应用服务器所基于的Java虚拟机,其内存堆的空闲空间有不断下降的趋势,每隔若干天导致空间消耗殆尽、无法分配新对象空间,从而导致系统重启。在排除了系统本身问题的原因外,我们确定为应用系统的开发有问题。通过从网上万载IBM公司检测Java虚拟机的相关工具对JVM进行监控后终于发现系统内部存在着不能回收内存的对象,再通过查找相应的程序发现在该程序中有“环状”的对象引用,从而导致对象使用后不能被垃圾收集器所回收。这个问题的解决过程虽然十分艰苦,但由于该问题不能通过升级硬件或增加资源配置而得到根本解决,会给系统带来很大的隐患。所以,整个过程的分析与解决是完全值得的,更何况通过查找故障原因的过程,给整个项目组上了生动的一堂软件质量保证课,对项目组的质量意识起了很大的促进作用。<br/><br/>&nbsp;&nbsp;&nbsp; 所以说改进Web服务器的性能井不单纯是系统管理方面的工作,它渗透到开发以及<br/>系统运行等一系列环节中。<br/><br/>&nbsp;&nbsp;&nbsp; 第四方面预先考虑未来的扩展与性能需要。<br/><br/>&nbsp;&nbsp;&nbsp; 随着系统的发展及成熟,考虑到用户访问量的不断上升,为了预留系统的发展空间,我们最近又对整个系统作了一个系统性的升级。通过引入多台HTTP服务器及应用服务器并行工作提高整个系统吞吐量及单点故障克服能力。由于在一开始选型的时候就已经充分考虑到动态负载均衡及横向扩展方面的需要,这一项的升级无需对整个系统的体系结构作根本的变革,对应用程序来说,更是没有造成任何影响。<br/><br/>&nbsp;&nbsp;&nbsp; 整个项目历时近两年,从这两年的系统情况来看,整个系统是成功的。根据我亲身的经历,系统性能并不单纯是系统运行与管理阶段的问题,而是渗透在项目论证、开发以及运行的各个阶段。只有在各个阶段都能充分考虑性能方面的需要,在实际运行时,整个系统的性能才可能真正有保障。在技术方面来看,可以综合利用选型评估、硬件扩展、应用优化和系统配置优化等一系列的手段;比如在硬件扩展方面,又可以分为主要部件扩容,纵向升级、横向升级等方面。在我们的项目实践中,曾综合地利用了上述的各种手段。比如某银行的整个系统从日访问量不足1万至现在的每日超过I0万次以上的点击的发展情况来看,整个系统的性能保障及提高方案是比较成功的。<br/><br/>&nbsp;&nbsp;&nbsp; 评注:实践过程较有说服力。条理与思路相当清晰,技术措施与管理措施的推进也很明确。所论述的技术还有一些局限,不够开阔。(本文主要参考了广州黄昌湛等人的论文)</p>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    7
     楼主| 发表于 2008-2-11 01:59:15 | 只看该作者
    <strong>系分论文7</strong></b><br/><br/>论Java技术在因特网平台上的应用——论文3:银行业的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;因特网上应用的日益普及与深化,为Java技术的运用提供了广阔的活动舞台,也大大推进了Browser/Server模式的企业内联网应用与网络计算。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;作为某信息公司中的技术骨干,我有幸承担了某银行信贷管理与查询系统等的开发任务,独立地完成了其中的系统设计、类设计、部分开发及测试工作。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;整个系统完全按照J2EE的标准来设计。前台界面应用了JSP技术,控制部分采用了Servlet来开发,业务逻辑应用了EJB技术来封装,应用服务器采用了支持J2EE标准的BEA公司的Weblogic,后台的数据库选用的是Informix7.3,目的是为了与银行中其他业务系统数据库保持一致。在硬件平台上,我们选用的是HP公司的某台中型服务器机器,操作系统是HP-UX。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;该系统界面运用的是IE,它不仅兼容性较好,而且已为广大用户所熟悉。系统运行后,各个支行都普遍反映界面友善,功能强大,开发的效果令人满意。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在银行应用中私人的储蓄、企业的会计、国际的业务、信贷、财务管理都是十分重要的,它们构成银行的基础业务系统。我从事开发的信贷业务更是银行利润来源的重要部分。与储蓄,对公等以交易事务为主的业务模式有所不同的是,尽管信贷也是交易,但需要更多其他辅助信息的支持。如客户的基本资料,在本行内业务发生状况、信用等级、是否有逾期贷款未能归还等。各个支行的有关业务人员及分行管理人员都希望能方便及时地了解这些信息。传统的基于终端的用户界面难以传递这么多信息给用户,所以我们决定采用基于测览器IE的用户界面,一方面IE使用方便,不需要专门培训,另外它是与Windows操作系统捆绑在一起的,也可节省前台费用。在开发技术上有ASP,JSP可供选择。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;由于考虑到Java技术在Internet上的迅速发展,J2EE更是提出了全新的用语言来统一平台的思路,于是我们决定采纳J2EE标准,并选用了JSP。在设计上,基本上是采用了一个交易画面对应于一个JSP程序,充分发挥JSP动态处理页面的长处。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;为了使设计有更好的可扩性、灵活性与逻辑性,能为以后扩展奠定坚实的基础,我采用了(Modelu,View,Controller)的MVC设计模式,View全部由JSP实现,而Controller则是设计了一个Servlet程序,它负责处理前台浏览器传送来的所有请求,并按事先定义好的路径/程序关系,分发给相应的JSP程序去处理。由于Servlet本来就是为Java服务器端编程来设计的,因此由它来负责服务器端的处理是相当合适的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在开始设计时,我运用了构件技术,由EJB承担起设计模式的Modelu角色。具体的贷款开户,放款,结息逾期贷款,归还贷款等交易都对应一个具体的EJB。为了将这些处理逻辑与相应的数据库操作分离开,能更加便于维护,我将处理业务的EJB设计成Session&nbsp;Bean,而为每个Session&nbsp;Bean再配备一个相对应的Entity&nbsp;Bean,用于访问后台的数据库。贷款管理中有很重要的一点是进行查询,我按照需求分析的结果,为每类查询都设计了相对应的Bean,其目标是尽可能地提高查询的速度。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在对数据库的存取中,我本来的设计应用Informix&nbsp;JDBC所带的Driver&nbsp;Manager,这样,在存取数据库中的Bean中就要把Driver及Server写入,后来考虑到应尽量提高应用的平台独立性,在参阅了J2EE中JDBC部分的说明后,改用了Data&nbsp;Resource的处理方法,这样,即使以后数据库换成Oracle或其他产品,程序也不用修改,只需要在配置时进行变动即可。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在这次信贷管理系统的开发过程中,Java的平台无关性优势,在开发人员从事开发的活动中体现得淋漓尽致。由于经费相对紧缺,我们的开发环境是各个项目组共用一台HP机器,虽然每个开发小组都搭建了自己的环境,但项目一多,特别是遇上结息与批量测试等场合,机器就显得不堪重负,使开发与测试工作的效率大为下降。我们小组由于采用的是Java技术,大家可以在自己的NT机器上搭建相同的环境。这样一来,大家平时的开发工作,包括JSP,Servlet,EJB的程序,都可以在本地完成,只是到测试或展现阶段才需放到HP开发机器上进行。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;以前我们开发的Web应用,往往只是应用了部分的Web技术,如采用Apache&nbsp;Web&nbsp;Server、ASP开发语言等。整个体系的集成与组合往往不够理想,这次由于我们采用的一整套符合J2EE标准的组件,整个系统的协同性与一致性非常之好。再加上有一个支持J2EE的应用服务器——BEA&nbsp;Weblogic,以往我们做得不理想的复杂配置,模块间的连结,如今都用不到再操心了,只需在图形化的配置工具中,输入系统所需要的配置,如路径与实际应用程序的关系,组件中的EJB引用,Data&nbsp;Resource的属性等;全部配置完成后,Weblogic会替我们完成项目的部署,并将这一切有关的程序都封装起来。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;原来,我们开发小组的文档编制任务显得非常之繁重,因为整个系统既有交易部分,又有管理查询部分,交易、数据与源程序都很多。为了解决这个问题,我们直接应用了Java源程序中的Javadoc导出文档,这样不仅文档美观,而且能够保持与源程序的一致性,实乃一石二鸟之举。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;整个项目完成后,用户使用下来都觉得界面友好,操作简便。但是我心里知道.这个系统还有很多可以加以改进的地方。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;首先,基于Java系统的开发需要资金较多的投入,由于该系统受到经费的限制,只申请到一台生产用机,这样,Web&nbsp;Server、Application&nbsp;Server、DB&nbsp;Server只能被挤放在一起。虽然Weblogic能实现部分负载平衡,但在将来的业务发展时,这样的分布肯定不是最理想的。好在我们在设计时已经考虑过尽量有良好的扩展性,在以后条件许可时,只需进行在不同机器之间的进一步部署即可,应用程序大体上无需改动。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;其次,在设计上,可以采用UML的产品,如Rational&nbsp;Rose,另一方面,Rational&nbsp;Rose具有自动代码生成功能,也可以大大节省开发的成本。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;最后,目前的信贷管理系统相对用户数目量不多,当推广类似系统需要拥有大批用户时,基于Java的系统的响应时间与系统分布都会有较为突出的矛盾出现。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;以上这些,都是我在今后的系统设计与开发中需要加以注意的地方,也是运用Java技术应当努力的方向。(本文主要参考了上海戴黎平等人的论文)<br/>评注:讨论具体,应用较为深入,表达清晰。存在的问题属实。<br/>
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    地板
     楼主| 发表于 2008-2-11 01:58:39 | 只看该作者
    <b>系分论文6</b><br/><br/>论Java技术在因特网平台上的应用——论文2:通信服务平台的应用<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;数据通讯是当前十分活跃与热门的计算机与信息技术的应用领域。某大型通信公司开发了其业务的主要支撑平台,在这里,我们简称之为“通信信息服务平台”,用于在全国与全球开展数据业务的需要。该平台是一个典型的Java技术应用于Internet的项目。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;作为信息技术公司中的一名技术骨干,我有幸参加了该系统的分析与设计工作,承担了相当多的Java应用开发任务。此系统中的软件部分大多由Java来实现,在全系统中我们是这样来用Java构架系统的:<br/><br/>&nbsp;&nbsp;&nbsp;(1)本系统可分为4层,分别是Browser、表示层、中间件层和数据层。<br/><br/>&nbsp;&nbsp;&nbsp;(2)表示层用Java中的Java&nbsp;Script来实现页面输出。<br/><br/>&nbsp;&nbsp;&nbsp;(3)中间件层用Java来实现CORBA,即实现Component(构件),主要实现业务逻辑的封装与复用。<br/><br/>&nbsp;&nbsp;&nbsp;(4)数据层主要是数据库和存储过程的实现。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我们在应用Java技术时,所采用的技术和策略可大致上归纳为以下5个方面:<br/><br/>&nbsp;&nbsp;&nbsp;(1)使Java&nbsp;Script尽量简单,因为Java&nbsp;Script在我们系统中是放在服务器端执行的,该语言是通过一个解释器解释执行的,相对速度很慢,我们采用了两台HP前置机来运行Java&nbsp;Script,但是其运行速度还是不理想,所以我们在设计中把Java&nbsp;Script仅用来显示从中间件层所得到的数据,生成动态页面。在最初的设计中表示层(Java&nbsp;Script)曾承担了一些业务逻辑处理操作,导致效率不理想,因此,我们不得不尽量地减少Java&nbsp;Script的程序量。<br/><br/>&nbsp;&nbsp;&nbsp;(2)用Java实现CORBA时,应尽量考虑共享和复用。在本系统中,最初的设计是让Java在实现Component时,只是执行一些数据库表的操作,导致表示层的负载较大。后来,我们重新设计时,总结归纳了所有的Use&nbsp;Case,找出了其中可供共享和复用的接口,把相同的业务逻辑操作封装到一个接口中去。因为&nbsp;Java的执行效率比Java&nbsp;Script要高,因此提高了系统效率。<br/><br/>&nbsp;&nbsp;&nbsp;(3)在别的项目中,我们曾大量地使用过Java中的JSP技术和Servlet技术,一般人可能不能区分这两种Java技术的区别。为了得到系统的一些执行速率的数据,我们采用了一个著名的压力测试软件——Load&nbsp;Runner来测试这两种技术的差别。测试表明:用JSP和Servlet完成同样的一个操作,并且保证是在相同的测试环境中(相同服务器、压力测试工作站与数据库环境),得到的测试数据却有着很大差别,JSP完成一个操作的平均执行时间大致会是Servlet程序的两倍。在一个企业级应用项目中,这可能是一个很关键的瓶颈。因此,我们得出的结论是:在可能的条件下,尽量地多使用Servlet。当然,与Servlet相比,JSP编程快速,修改方便,在访问量不是很大的应用场合下也是可以接受的。<br/><br/>&nbsp;&nbsp;&nbsp;(4)使用Java作为整体解决方案时,应尽量使用相同版本的JDK。在用Java作为编程语言的项目中,几乎大多要遇到“汉字”问题,即Java在没有经过转换的情况下,在输出汉字时,很可能会出现乱码。采用不同版本的JDK,解决的方案是不一样的,比如V1.2.2版本的JDK和V1.3版本的JDK解决方法就会有一些不一样,把V1.2.2的Java程序放在V1.3的JDK中,就不能顺利输出汉字了。其根本原因在于Java使用了Unicode编码,和我们中国的国标编码不一样。所以在这个意义上一些人竭力鼓吹的“一次编写,到处运行”似乎不一定能在所有的场合都行得通。<br/><br/>&nbsp;&nbsp;&nbsp;(5)使用Java时,应尽量遵从软件规范。在Java中有一个JVM的概念,即在Java虚拟机中使用了一个垃圾收集器,专门用来回收内存。但是该垃圾收集器在给编程人员带来方便的同时,也隐埋下了隐患。在程序设计中,并不能强制执行垃圾收集器,所以,开发人员不能确定某对象是否已释放,常常让编程人员养成依赖自动收集的坏习惯,因此我们要求:在Try,Catch之后必须明确要求回收内存(当然,也只能是通知垃圾收集器来回收垃圾),这样可以有效地提高系统稳定性。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;以上这些实用性的技术与策略,是我们在实践中的一些实际体会,仅供各位开发人员根据实际情况参考。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;当然,在使用Java作为解决方案时,也会遇到很多让我们头疼的问题,这些问题导致同时执行的并发性比较差,系统速度慢等等。归纳起来看,我们曾遇到过的主要具体的问题有:<br/><br/>&nbsp;&nbsp;&nbsp;(1)用Java来实现CORBA中的Component,有时效率会比较低。<br/><br/>&nbsp;&nbsp;&nbsp;(2)用Java来建立数据库连接往往会比较慢。<br/><br/>&nbsp;&nbsp;&nbsp;(3)用JSP编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行JSP程序的服务器,他可以故意地输入一些非法字符或异常信息给JSP程序,于是程序执行将出现异常。这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出这台服务器的JDK的版本号与路径信息等内容。这往往容易让黑客们有机可乘,有可能去抓住系统的漏洞。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在发现了这些问题后,我们经过仔细研究,找出了一些解决办法。比如:<br/><br/>&nbsp;&nbsp;&nbsp;(1)既然用Java实现Component比较慢,我们就尽量减少Component所执行的业务逻辑量。争取把能够放在存储过程中实现的操作,尽可能在存储过程中加以实现。众所周知,数据库的存储过程操作,比起在Java程序中执行数据库操作要快得多。<br/><br/>&nbsp;&nbsp;&nbsp;(2)既然用Java建立数据库连接比较慢,我们就可以把数据库连接封装成连接池(Connect&nbspool),从而能非常有效地提高系统效率。我们也曾经用“Load&nbsp;Runner”作过压力测试,使用连接池比不使用连接池的速度要快上3~5倍。<br/><br/>&nbsp;&nbsp;&nbsp;(3)为了对付JSP程序与Servlet程序会打印出异常系统信息的问题。我们曾查阅了很多JSP或Servlet的资料,最终是毫无头绪。但是我们可以换另一种思路,即是不从程序下手,而从Web&nbsp;Server着手,我们可以把Apache配置成为使这类异常信息不再打印出来,而是使之仅出现一个通用的异常说明的页面,这样,就能十分有效地解决这个问题。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在我们使用Java作为编程语言的这么多项目中,绝大多数是比较成功的。Java语言作为一种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在我个人看来,Java的应用前景十分光明,大体上可以着眼于以下方面:<br/><br/>&nbsp;&nbsp;&nbsp;(1)在因特网上将会有更加广泛的应用。<br/><br/>&nbsp;&nbsp;&nbsp;(2)在嵌入式设备中,Java也大有用武之地。比如,在最新推出的Java技术中,Java已经进入了手机领<br/>域。<br/><br/>&nbsp;&nbsp;&nbsp;(3)Java程序大多以线程运行,占用资源少,会逐步代替ASP与CGI程序。根据第三方测试表明:JSP程序比ASP程序要快2倍以上。用JSP代替ASP应是大势所趋。<br/><br/>&nbsp;&nbsp;&nbsp;(4)Java在无线互联网中的应用将会更加广泛。Java支持WAP,可以方便地用Java开发WAP程序,实现WAP应用。<br/><br/>&nbsp;&nbsp;&nbsp;(5)Java与XML的无缝连接使Java在数据传输和异构网络通信方面有着很大的优势。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;就我个人而言,我将会在相当长一段时期内致力于Java在无线互联中的应用,为我国的移动通信事业开发出更多的优秀实用的项目。<br/>评注;参与了一个较大的项目后有实践体会。全文都采用1、2、3、4方式,文章的风格显得单调,不大吸引人。但是本文的优点是;(1)写得很有条理。(2)内容的选择合适。(3)所列举的策略、注意事项与发现的问题都很现实可信。(本文主要参考了广州王海波等人论文)
  • TA的每日心情
    开心
    2012-1-27 22:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    升级  0.01%

    报纸
     楼主| 发表于 2008-2-11 01:58:02 | 只看该作者
    <strong>系分论文5</b><br/></strong><br/>论Java技术在因特网平台上的应用——论文1:ERP开发的应用<br/><br/>【摘要】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;根据某类企业的迫切需要,我所在的信息技术公司组织了一个企业资源计划(ERP)项目的开发,希望推进我国ERP应用的发展,也希望更深入有效地运用Java技术。该项目的内容涉及到某类行业的企业生产经营的全过程,其基本目标是为了提高企业的劳动生产率,增加企业的利润,优化配置企业的资源,使企业的整体运营水平能上一个台阶。这是一个基于Java技术的Intranet典型应用项目。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在该项目中,我承担项目负责人的重要职责,比如在项目的准备阶段,我曾组织了对项目组的成员进行该类企业业务流程方面的培训;在项目需求分析和设计阶段,我着重考虑了架构好系统的框架和原型,为项目组及其他分析员进行下一步的细化分析奠定了坚实的基础。同时我还组织好项目总体组,把握住各模块之间的接日分析,保持各个分析员之间实现密切的沟通。在系统的开发阶段,做好开发、测试方面的协调和同步工作,保证系统的可靠性,在系统的实施阶段能够顺利地推进项目,此项目开发后的应用已得到了用户们的一致好评。<br/><br/>【正文】<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;与国际上ERP项目的广泛应用相比,我国的ERP应用水平尚有相当大的差距。根据某类企业的实际迫切需求,我公司组织了对一类ERP产品的开发,我有幸参与了该项目的分析与设计,开发的成果是一个典型的Java技术应用于Intranet的实际项目。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在选择具体的技术方案时,我们曾经进行了认真的思考和研究。对于选择普遍采用的微软模式的平台方案,还是跨平台式的Java方案,我们曾举棋未定,这是因为微软的VB+ASP已成为大家在较长时间工作后认可而熟悉了的方案。而Java由于其环境要求高与执行效率低的老大难问题,成为我们担心害怕的重要因素。但是Java的跨平台特性越来越成为人们的关注点,尤其是许多大中型的企业,他们现有的网络系统都是基于多种平台的,对跨平台的要求和呼声极为强烈,而对软件公司来说,软件的跨平台特性有可能会节约开发成本,降低维护量,也能获得更多客户的认可。综合考虑了诸多市场行情与行业发展因素,最终决定一定要用Java。所幸的是现在Java用于因特网的开发也已经越来越便利了。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;目前Java在因特网上的开发技术已呈白花齐放之势态,有最初的Java&nbsp;Servlet,有与数据库联系在一起的SQL-J,还有可与ASP和PHP相媲美的JSP。尤其是JSP技术的迅速发展,使得Java的网络应用不再是少数人的专利,JSP以其执行的高效性和使用的方便性,已成为近年来大家首选的因特网开发技术,JSP是一种页面开发技术,它以Java为其服务器端语言,结合Java&nbsp;Script作为其客户端语言,能方便地实现页面的表示。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;选择好了后端的Java和前端的JSP,还有一项重要的任务,那就是前后的联接。由于JSP主要用于页面表现,需要表现的内容要封装起来,这样,为了保证主要商务逻辑的安全性,我们采用了Java&nbsp;Bean作为桥梁,即客户端JSP通过其中Java&nbsp;Bean的使用,完成主要的商务逻辑功能。在后台,将Bean构造好,形成一个强大的Bean库,再由前台JSP进行使用。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在进行Java&nbsp;Bean的规划时,我们下决心作出很大的投入,因为这些不仅是我们当前项目中所需急用的,而且还应成为公司长期积累使用的一个强大的资源库,能实现一定程度的资源共享和软件复用,为其他项目开发打好基础。因此,此次规划的目标是形成公司Java技术的Java&nbsp;Bean的平台库。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;我们根据Java&nbsp;Bean所体现的类的用途,将这些类分成几个层次。最底部的一层就是参数化类的构造,这一层的类所实现的主要功能包括通用访问机制,对数据库等其他层次的访问接口和公共处理系统等。中间一层是实体类的构造,这些实体类包括与数据信息相关的结构及其处理方法,其中的重点是包含了一些重要的商务逻辑的处理。这一层类与系统各部分相关,并且其安全性要求很高,直接影响到系统主要功能的体现,因为系统的主体是对一些逻辑进行处理,这就要求这层实体类的规划需要十分认真,做到细节准确。最上面的一层可以称为接口类,这一层类主要用于实现底层的类与前台之间的关系。也只有这层类才能由前台JSP进行Java&nbsp;Bean调用而加以使用,只有这层具有开放性,这一层类除了上述的接口功能外,还应当有一项重要的实用内容,即包括用于实现前台JSP的页面自动构造程序。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这里所说的页面自动构造程序可以认为是本系统的一个重要特点,目的是为了让用户可以方便地自定义界面,而不需要由程序员修改程序,这样能够极大地满足了用户的要求。页面自动构成程序的主要内容包括对界面元素的定制与修改、位置的修改、动作的触发、行为的控制以及报表设计和计算汇总等功能。页面自动构成程序的设计主要采用上述的接口类与JSP相结合的方式,用类实现元素的定制、控制及关联,并将重要信息加以保存,以利于用户的多次反复修改。该自动构造程序提供了强大功能,已成为我们的一个独立产品。能应用于各个项目的界面制作,实现了我们原先制定的共享资源的目标。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在前台JSP的应用中,做到了尽可能最简化的程度,这样可以提高系统的安全性。当然在我们的系统中,还存在一些客户端控制比较复杂的情况,为保护这段比较复杂的控制脚本,我们采取了用Servlet的方法,保护这段脚本,从而保证了一定程度的安全性。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在系统的登录过程中,我们采取了相当严格的登录键检查操作,用户没有供应商提供的相应的键,就无法通过验证而进入系统。对于试用版的用户则提供了一种有效期限约束。这些加密或安全措施,通过在Java&nbsp;Bean中封装了严格而有强大功能的加密算法,在客户端申请验证后才能准予通过。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;在使用这套技术方案的过程中,我们曾经遇到过许多的困难。比如;前面曾提到过要求JSP中代码能够尽量简化,以提高安全性。由于JSP中仍有一些容易让人可能猜测到处理方法的语句及处理的过程,为进一步提高安全性,我们通过查阅大量的网上资料,才形成了一套较好的措施,比如制作JSP的标记库,将有可能被猜测的处理进一步加以规划,对应地生成一套行之有效的实用标记库,这样就又增加了一道很有效的防护墙,大幅度地提高了安全保密性,并且使页面结构的分离达到了一定的水准。又如:在对数据的处理上,刚开始时也总是遇到系统运行会变得越来越慢的情况,最后追查其原因,发现原来是数据的连接过多,我们及时地采用了数据连接池等技术解决了此类问题。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;该系统采用Java平台,提供了深入地使用Java&nbsp;Bean和JSP的方案,其效果是相当显著的,在用户真实使用环境中受到了一致好评,运行也较为稳定。由于采用了统一而方便的页面自动构造程序,用户的界面非常友善,并且可以按用户需求进行定制,满足了用户的适应性需求。而在我们公司的内部,也开始建立了一套基于此平台的资源库,成为公司的今后开发使用的宝贵财富。<br/>必须指出的是,在此系统中,还存在着很多的不足,比如实体类的组装程度尚不尽如人意,根据多种商务逻辑的一些共同点,可以进一步加以抽象封装,使这部分内容能满足多种系统对类似逻辑的处理过程。我将会在今后的工作中进一步加强各方面的分析能力,带领团队不断地超越现在的层次与水准,加强我们的队伍建设,希望有更多优秀的软件产品上写着Made&nbsp;In&nbsp;China。(本文主要参考了上海陈莉莉等人的论文)<br/>
    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    小黑屋|手机版|Archiver|信息系统项目管理师_软考交流平台. ( 鄂ICP备11002878号-1  公安备案号:42011102001150

    GMT+8, 2025-7-8 11:22

    Software by Discuz! X3.2

    © 2001-2013 SKIN BY DSVUE

    快速回复 返回顶部 返回列表