【#第一文档网# 导语】以下是®第一文档网的小编为您整理的《系统分析师论文范文-论基于构件的软件开发7》,欢迎阅读!
论基于构件的软件开发
【摘要】
2007年上半年,我参加了^市信息办技术服务平台的项目开发,担任系统平台的设计 和开
发工作,该项目主要为了支持^市党政机关专网的二期建设所开发设计的,它是一个在 线式的远程服务平台。在项目的开发过程中,我充分的进行基于构件的软件开发,考虑到软 件复用和以后的扩展等方面,文中介绍了构件平台的选择,几种COM构件的开发,平台的 实现过程。基于构件的开发大大提高了软件的质量,缩短了开发周期。该项目现在以完满完 成,得到用户的一致好评。但现在看来,在开发过程中也出现了一些不足,文中就构件的划 分和使用方面谈了自己的一些看法。 【正文】
2007年上半年,我有幸参加了"市信息办技术服务平台的项目开发,并在其中担任系 统平
台设计和部分开发工作,本项目隶属于杯市党政机关专网(党政内网),是电子政务建 设的一部分,市党政机关专网是政务信息化建设的基石,在市政务信息化建设和发展中具有 举足轻重的地位,随着"市信息化建设的要求不断提高,要在下半年开展市党政机关专网的 二期工程建设,二期工程覆盖的范围更广,为了配合二期工程的建设,对此项目有较高的要 求。由于此平台是一个综合性的在线式基于WEB的远程技术支持平台,存储着核心信息数 据,提供:任务发布和查询,拓扑图查询,机关代码查询,软件支持下载,BBS, VOD视频 教程等服务,功能的多样化,必然会在软件开发中出现重复开发的现象,所以在开发初期我 从该系统的需求分析入手,着重考虑了软件复用,在开发过程中采用了基于构建的软件开发 方法。我将软件设计为B/S结构,三层体系架构:用户界面层,应用逻辑层,数据库层。用 户界面层考虑到用户的易用等方面,用的是浏览器(如IE等),通过ASP语言来实现同应用 逻辑层构件交互;应用逻辑层来处理各种应用功能的实现,负责事务处理,主要通过使用 COM组件方式实现,以构建形式进行设计开发,考虑到以后的扩展和软件的复用性,也可 大大的提高了开发效率;数据库层用SQLSERVER来实现。结合我部门的实际情况,我部门 现有的各级软件系统都是基于WINDOWS系列平台,且开发人员对COM组件技术也比较 熟悉,对开发语言VB6也很熟悉,在这里我选择Microsoft应用服务器的解决方案,用 windowsserver2000作为应用服务器(它集成了 2MTS, ASP, IIS, MSMQ,
COM, DCOM),
确定使用Microsoft的COM组件技术来开发该平台。用SQL SERVER2000为后台数据库, 用
ASP+IIS5.0来架构网站。由于COM组件既可以被嵌入动态WEB页面,还可以在LAN 或桌面环
境的VB, VC等应用中使用。另外该组件之间是彼此独立的。当应用需求发生变更 时,可能需要更换中间层的个别COM组件,但并不影响其他组件的继续使用。组件具有若 干对外接口(属性和方法),可以根据不同的应用需求,由选择的使用不同接口。即使不再 使用某些接口时,COM组件本身仍然可以继续使用。同一COM组件可以在不同的应用环 境中重复使用。由于该系统以在线服务支持为主,主要包括了用户互交操作,资料输入, 数值处理,数据存储等几个方面,我们依据平台的主要功能,为了节省开发时间和提高维护 效率,我决定把公用的代码模块都作成了组件,例如把记录操作(如记录的删除,增加,修 改等),数据库操作,查询做成用户管理组件,把用户身份证和用户类型识别作成用户管理 组件,把所有实现与数据库的连接作成连接组件,把用户的错误操作,与系统的互交出错等 作成错误处理组件。对于各组件采用VB6语言进行编写,并写成DLL文件,同过注册成为 COM程序,供各个组件调用。在数据库连接方面,我们采用了 ADO技术。由于ADO采用 7 OLE-DB技术,使能访问各式各样的数据并提高了访问性能。在该平台开发过程中,主 要设计和实现了以下一些COM组件:1用户管理组件,包括身份认证功能我们主要定 制COM组件用户管理组件USERCHECKo DLL进行用户管理处理。该组件主要完成两个功 能:一是身份认证功能,主要是提供用户登录时验明身份,保证应用的安全性。二是根据用 户所输入的帐户名确定该用户的类别。 因此,该组件具有两个接口,每个接口代表组件
的某个属性或方法。对用户的登录请求作出相应得处理:如果是普通用户登录则转入普通 用户平台,如果是管理员登录就转入管理员平台。2查询和提交信息组件我们主要制定 COM组建
Querysys.dll进行查询和提交信息处理。该组件主要完成两个功能:一是提供查 询相关信息;二
是提交相关信息。该组件有两个接口,每个接口代表组件的某个属性或方 法。如果用户的请求是查询信息功能,则将查询信息请求作岀相应的处理,并将查询结果集 返回给用户。如果用户的请求是提交注册信息,则将提交信息请求做出相应处理,并将信息 提交替式返回给用户。3连接组件我们主要定制COM组件conector.DII,该组件主要完 成与数据库的连接。该组件有一个接口,那就是确定数据源,一边自动连接后台数据库。4 错误处理组件我们主要定制COM组件
Cerror.dll,该组件主要确定错误类集.该组件具有 —个接口,主要是输出错误信息,方便用户排错。
我们把编译好的组件,将其在MST中注 册,并将其分布在服务器上,这样就可以在设计平台过程中进行调用这些组件了。在本系统 中,我们通过以下几种方式把组件集成到系统中来:1是连接集成,即我们将组件直接嵌 入ASP主页中,即在ASP脚本中通过set对象名=server.creatobject
("类名")来引用,使此 二进制组件可以运行于服务器端。2是容器集成,即如果一个组件需要调用另一个组件时, 就在需调用的组件中引用另一个组件的方法。例如在使用查询和提交信息组件时就需要先调 用连接组件。我们结合连接集成和容器集成两种方式来组装系统,以登录界面为例,在客 户端我们只提供两个输入项和一个提交信息的功能按钮,主要通过ASP来实现。在服务器 端,主要根据用户输入的信息来进行相应得处理,这就要调用各种组件。如果用户用错误的 帐号和用户名来登录,则系统调用用户管理组件,错误处理组件和连接组件,返回非法用户 的信息。如果用户以合法的身份登录进入用户平台,这就要调用用户管理组件,连接组件。 如果管理员以合法的身份登录进入管理员平台,也要调用用户管理组件,连接组件。目前, 该平台运行收到良好的效果,我们采用COM组件技术进行开发,减少了重复输入代码的工 作,缩短软件的开发周期。同时,在尽行系统维护时,我们只关心组件的接口参数.而不用 再考虑组件内部的具体实现,提高了系统的可维护性。在以后的工作中,如果我们要扩展某 些功能时,也可以重复利用这些组件,提高了系统得可复用性。当然在开发过程中也总结了 —些应该注意的问题,比如这次软件开发过程中,对构件开发过程的控制不够理想,究其原 因是在划分构件时有所不当,划分时应该将版本变化相对同步且一致的部分划分到同一个构 件中去,这样每变更一次,就可以从构件上确定不同阶段软件的改动状况,也就是所谓的版 本,这样可以在不同的版本上明确软件的整个开发进度,有效的控制了软件开发的过程,有 益于系统的管理。
本文来源:https://www.dy1993.cn/S8A.html