基于ASPNET的船舶性能数据库开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1基于.NET的Web数据库开发陈道燊王栋中国船舶及海洋工程设计研究院摘要:本文主要介绍基于Microsoft.NET的“船舶性能数据库”的开发思想和方法、开发技术和数据结构。关键词:Microsoft.NET、Web数据库;B/S架构;三层结构;ASP.NET1前言随着Internet技术的发展,以及MicroSoft.NET开发平台的推出,为开发基于网络的、具有B/S结构的数据库开发提供了有效手段。B/S结构是一种以HTTP为传输协议,客户端通过浏览器访问Web服务器以及与之相连的后台数据库的体系结构。B/S构架具有良好的跨平台性、可扩展性和易更新升级等优点。正是B/S架构的这种开放性的特点,也对数据库的设计和实现提出了新的要求。本文以船舶性能数据库的成功开发为例,阐述了MicroSoft.NET平台下,开发三层结构B/S系统架构的设计方法、开发技术和开发成果。2MicroSoft.NET的开发平台微软推出MicroSoft.NET,使它不仅是操作系统和软件产品的提供者,而且还成为了Internent的构架服务和应用程序的提供商。MicroSoft.NET把从连接互联网的单一网站或设备,转移到计算机、各种设备和服务群组上,使这些设备融会贯通,提供一个更广泛、更丰富的解决方案。微软将互联网作为构建新一代操作系统的基础,使开发人员创建出摆脱设备硬件束缚的应用程序,轻松实现互联网连接。2.1MicroSoft.NET框架体系MicroSoft.NET框架(Framework)为建立网络应用程序和网络服务提供有效工具。它是建立在操作系统之上的服务,管理着运行时代码(CLR)。它包括一套各种开发编程语言的类库。在此之上是许多应用模板,这些模板为开发网络站点和网络服务提供组件和服务。通用语言运行环境(CommomLanguageRuntime)是.NET平台的核心,以不同语言(C++、C#、VB等)开发出的程序,只要符合通用语言规范(CommonLanguageSpecification),都会编译成相同的中间语言(IL),它可以在不同运行环境中运行。基础类库(BaseClassLibrary)它包括数据结构、I/O处理、图形接口等基本大类,提供如窗口、按钮、文本框等对象。ADO.NET2ADO.NET(ActiveXDataObjects+)是有ADO发展而来,是基于网络的应用程序和服务提供数据访问的组件和类库。ASP.NET(ActiveServerPages+)ASP.NET是建立在MicroSoft.NET框架上,所共享的一个通用网络应用程序模板,它用于生成网页的网络应用程序和网络服务。由于封装了通用HTML控件和Web控件,具有良好扩展性和可定制性。ASP.NET包括两个高级可编程模块:网络表单和网络服务。通用语言规范(CommonLanguageSpecification)无论程序开发使用何语言进行编程,只要符合通用语言规范,其编译出的DLL或EXE都可以在.NET环境下运行。.NET开发语言微软.NET平台支持C#、VisualBase和Script。C#是微软为.NET精心设计的语言,也是最适合开发.NET平台下应用程序的语言。2.2开发工具VisualStudio是一套完整的工具,用于生成桌面和基于团队的企业级Web应用程序。除了生成高性能的桌面应用程序外,还可以使用VisualStudio基于组件的强大开发工具和其他技术,简化基于团队的企业级解决方案的设计、开发和部署。2.3数据库服务器MicrosoftSQLServer2005是用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。3设计开发基于ASP.NET能够充分发挥其完全面向对象的技术特点,实现三层结构B/S系统架构,从而提高开发效率,增强系统的可维护性和扩展性。下面结合“船舶性能数据库系统”的开发,介绍如何基于面向对象地,进行三层B/S结构的系统建模。3.1三层结构系统模型架构设计是软件开发的基础,是项目成败的关键。三层结构是B/S结构目前流行的架构设计模式,界面表示层、业务逻辑层和数据访问层三个层次结构组成。它不但分解了系统的复杂性,更重要的是可以提高运行效率。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务在前端(Browser)实现,但是主要事务在服务器端(Server)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的运行成本。其结构如下图2所示。3用户界面模块业务逻辑模块数据访问模块表示层业务逻辑层数据访问层数据库图2三层结构示意图3.2结构规划根据数据类型和功能要求,系统设计了如下逻辑模块,见图3。图33.3解决方案规划在VisualStudio中首先建立一个解决方案,在对其进行部署,建立如下7个项目。解决方案STPDBS(船舶性能数据库)Bunisess(业务项目)BusinessRule(业务规则项目)C:\Inetpub\(网站项目)CalculateLibrary(计算项目)Common(公用项目)DataAccess(数据访问项目)SystemFramework(基础项目)网站项目App_Code类文件目录舰船技术性能数据库计算换算权限管理基础数据管理实体库管理舰船管理螺旋桨库船模库主机库附体库4App_dataXML数据文件目录App_Themes可视界面主题资源目录BinDll库目录Controls用户控件目录DataTemplate运行临时文件目录Images图形文件目录MastePage主体页目录UI用户网页目录UnloadFiles下载文件目录Default.aspx网站首页图3STPDBS解决方案结构图3.4界面设计主界面设计是框架网页结构:5顶部是Banner区域:左侧是Logo信息,中间是系统名称,右侧是功能按钮;左侧是结构树导航菜单,分级管理,可收起放开;中间是内容显示区域,用于显示数据库内容。主要界面展示如图4:图4主界面3.5使用母板页利用母板定义一些公用的结构和界面元素(页眉、页脚、导航栏等),由多个网页所共享。提高了站点的可维护性,以及站点结构、行为、代码的复用。将网页的主题、外观或导航菜单在母板中一次定义,其他网页可以反复引用。母板页以文件扩展名.master保存。3.6使用用户控件网页开发可以使用繁多的ASP.NET提供的内置服务器控件。如标准控件、数据控件、验证控件、登录控件、导航控件、HTML控件和Web控件等。对于一些具有特殊功能需求的或使用率较高的,可在其基础上进行修改或集成,生成用户自定义控件。这些定义通过一个.ascx为后缀的文件保存。网页开发中,可以同系统提供的控件一样自如的使用它的外观、属性和行为。由于使用了这项技术,网站开发效率得到了大大的提高。4船舶性能数据库实现4.1系统数据分类本系统的主要数据分类如下:6船模试验数据耐波性试验、快速性试验(阻力试验、敞水试验、自航试验、流线试验、伴流试验)、操纵性试验;实船试航数据耐波性试验、快速性试验、操纵性试验;CFD计算数据实体数据船型(主尺度、型值表、线型)、主机、螺旋桨、附体;4.2数据库结构设计数据库表表-1所示。序号模块中文表名英文表名1.实体实船表ship_Tb2.船型方案表shipResolution_Tb3.实船线型文件表shipMLFile_Tb4.实船附体表shipAppendage_Tb5.实船附体文件表shipAppendageFile_Tb6.螺旋桨表propeller_Tb7.实桨型值文件表realPropellerMLFile_Tb8.实桨敞水特征曲线表realPropellerOWCurver_Tb9.主机表mainEngine_Tb10.线型文件类型表mouldedLineFileType_Tb11.舰船类别表shipType_Tb12.附体类别表appendageType_Tb13.螺旋桨类型表propellerType_Tb14.实桨类型表realPropellerType_Tb15.阻力船模表shipModel_Tb16.阻力控制参数表resistanceControlParams_Tb17.阻力测量结果表resistanceMeasure_Tb18.阻力图片表resistancePics_Tb19.阻力附体表resistanceAppendages_Tb20.敞水敞水控制参数表openWaterControlParams_Tb21.敞水测量结果表openWaterMeasure_Tb22.自航自航控制参数表selfControlParams_Tb7序号模块中文表名英文表名23.自航测量结果表selfMeasure_Tb24.人员权限模块表function_Tb25.人员参与表employeeAttend_Tb26.归档表pigeonhole_Tb27.员工信息表employee_Tb28.科室表faculty_Tb29.职务表headship_Tb30.辅助查询字段表queryWord_Tb31.操纵性船模Z形试验参数表modelZigZagParams_Tb32.船模回转试验参数表modelTurningCircleParams_Tb33.船模全速倒车停船试验参数表modelStoppingParams_Tb34.舵表rudder_Tb35.舵文件表rudderFiles_Tb36.试验图片表trialPictures_Tb37.船模试验附体表moduleTrialAppendages_Tb38.航行纵倾测量航行纵倾测量控制参数表trimControlParams_Tb39.航行纵倾测量结果表trimMeasure_Tb40.伴流测试伴流测试控制参数表wakeControlParams_Tb41.流线试验流线试验控制参数表streamLineControlParams_Tb42.流线文件表streamLineFiles_Tb43.4.3数据库主表关系数据库关系图列举所示图5。8实船表PKID船名产品代号FK1舰船类别ID建造时间船东船厂创建时间备注船型方案表PKIDFK1实船ID名称创建时间最终设计备注线型文件类型表PKID名称后缀备注实船线型文件表PKIDFK2实船IDFK3船型方案IDFK1文件类型ID名称路径大小上传时间备注舰船类别表PKID名称所属备注主机表PKIDFK1实船ID最终设计螺旋桨表PKIDFK1实船ID是否桨模编号FK2实桨ID螺距比螺距范围最终设计实船附体表PKIDFK3实船IDFK2附体类别ID参数数量FK1文件ID最终设计备注实船附体文件表PKIDFK1实船ID名称后缀路径大小上传时间备注附体类别表PKID名称参数备注实桨敞水特征曲线表PKIDFK1实桨IDJKtKq10实桨型值文件表PKIDFK1实桨ID名称后缀路径大小上传时间备注实桨类型表PK,FK1实桨IDPK,FK2类型ID螺旋桨类型表PKID名称备注查询字段表PKID隶属分类名称英文类型备注图5实体表关系图之一94.4系统主要功能数据编辑:数据的新建、更新、删除;数据导入导出:系统的主要数据皆可通过EXCEL文件导入到系统中,或者把数据导出到EXCEL文件里;数据查询文档管理:各种型值文件的上传下载管理图片管理计算:伴流分数计算换算:阻力换算、自航换算(包括FD计算)、多船阻力计算、航速预估估算:Holtrop、HOLTROP、SSPA、BSRA、SR60、NPL5结论本文介绍了三层B/S结构系统的基于ASP.NET进行实现的过程和方法,实现的三层结构不仅程序逻辑上结构清晰,而且由于容易发生需求变更的业务逻辑部分实现了分离,因此具有更强的可扩展性和可维护性。同时这种系统在部署时具有很强的灵活性,可以将各个包分别编译成.NET组件,安装在多台服务器。较典型的是用户界面包安装在Web服务器,业务逻辑包

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功