资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
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.1 MicroSoft.NET 框架体系MicroSoft .NET 框架(Framework)为建立网络应用程序和网络服务提供有效工具。它是建立在操作系统之上的服务,管理着运行时代码(CLR) 。它包括一套各种开发编程语言的类库。在此之上是许多应用模板,这些模板为开发网络站点和网络服务提供组件和服务。通用语言运行环境 (Commom Language Runtime) 是.NET 平台的核心,以不同语言( C+、C#、VB 等)开发出的程序,只要符合通用语言规范(Common Language Specification) ,都会编译成相同的中间语言(IL),它可以在不同运行环境中运行。基础类库(Base Class Library)它包括数据结构、I/O 处理、图形接口等基本大类,提供如窗口、按钮、文本框2等对象。ADO.NET ADO.NET(Active X Data Objects+)是有 ADO 发展而来,是基于网络的应用程序和服务提供数据访问的组件和类库。ASP.NET (Active Server Pages+)ASP.NET 是建立在 MicroSoft .NET 框架上,所共享的一个通用网络应用程序模板,它用于生成网页的网络应用程序和网络服务。由于封装了通用 HTML 控件和Web 控件,具有良好扩展性和可定制性。ASP.NET 包括两个高级可编程模块:网络表单和网络服务。通用语言规范(Common Language Specification)无论程序开发使用何语言进行编程,只要符合通用语言规范,其编译出的DLL 或 EXE 都可以在.NET 环境下运行。 .NET 开发语言微软.NET 平台支持 C#、Visual Base 和 Script。C#是微软为.NET 精心设计的语言,也是最适合开发.NET 平台下应用程序的语言。2.2 开发工具Visual Studio 是一套完整的工具,用于生成桌面和基于团队的企业级 Web 应用程序。除了生成高性能的桌面应用程序外,还可以使用 Visual Studio 基于组件的强大开发工具和其他技术,简化基于团队的企业级解决方案的设计、开发和部署。2.3 数据库服务器Microsoft SQL Server 2005 是用于大规模联机事务处理 (OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。3设计开发基于 ASP.NET 能够充分发挥其完全面向对象的技术特点,实现三层结构 B/S 系统架构,从而提高开发效率,增强系统的可维护性和扩展性。下面结合“船舶性能数据库系统”的开发,介绍如何基于面向对象地,进行三层 B/S 结构的系统建模。3.1 三层结构系统模型架构设计是软件开发的基础,是项目成败的关键。三层结构是 B/S 结构目前流行的架构设计模式,界面表示层、业务逻辑层和数据访问层三个层次结构组成。它不但分解了系统的复杂性,更重要的是可以提高运行效率。在这种结构下,用户工作界面是通过 WWW浏览器来实现,极少部分事务在前端(Browser)实现,但是主要事务在服务器端3(Server)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的运行成本。其结构如下图 2 所示。用户界面模块业务逻辑模块数据访问模块表示层业务逻辑层数据访问层数据库图 2 三层结构示意图3.2 结构规划根据数据类型和功能要求,系统设计了如下逻辑模块,见图 3。舰船技术性能数据库计算换算权限管理基础数据管理实体库管理舰船管理螺旋桨库船模库主机库附体库图 3 3.3 解决方案规划在 Visual Studio 中首先建立一个解决方案,在对其进行部署,建立如下 7 个项目。解决方案 STPDBS (船舶性能数据库) Bunisess (业务项目) BusinessRule (业务规则项目) C:InetpubwwwrootSTPDBS (网站项目) CalculateLibrary (计算项目) Common (公用项目) DataAccess (数据访问项目) SystemFramework (基础项目)4网站项目 App_Code 类文件目录App_data XML 数据文件目录App_Themes 可视界面主题资源目录Bin Dll 库目录Controls 用户控件目录DataTemplate 运行临时文件目录Images 图形文件目录MastePage 主体页目录UI 用户网页目录UnloadFiles 下载文件目录Default.aspx 网站首页图 3 STPDBS 解决方案结构图53.4 界面设计主界面设计是框架网页结构:顶部是 Banner 区域:左侧是 Logo 信息,中间是系统名称,右侧是功能按钮;左侧是结构树导航菜单,分级管理,可收起放开;中间是内容显示区域,用于显示数据库内容。主要界面展示如图 4:图 4 主界面3.5 使用母板页利用母板定义一些公用的结构和界面元素(页眉、页脚、导航栏等) ,由多个网页所共享。提高了站点的可维护性,以及站点结构、行为、代码的复用。将网页的主题、外观或导航菜单在母板中一次定义,其他网页可以反复引用。母板页以文件扩展名.master 保存。3.6 使用用户控件网页开发可以使用繁多的 ASP.NET 提供的内置服务器控件。如标准控件、数据控件、验证控件、登录控件、导航控件、HTML 控件和 Web 控件等。对于一些具有特殊功能需求的或使用率较高的,可在其基础上进行修改或集成,生成用户自定义控件。这些定义通过一个.ascx 为后缀的文件保存。网页开发中,可以同系统提供的控件一样自如的使用它的外观、属性和行为。由于使用了这项技术,网站开发效率得到了大大的提高。 64船舶性能数据库实现4.1 系统数据分类本系统的主要数据分类如下:船模试验数据耐波性试验、快速性试验(阻力试验、敞水试验、自航试验、流线试验、伴流试验)、操纵性试验;实船试航数据耐波性试验、快速性试验、操纵性试验;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_Tb7序号序号模块模块中文表名中文表名英文表名英文表名18.阻力图片表resistancePics_Tb19.阻力附体表resistanceAppendages_Tb20.敞水控制参数表 openWaterControlParams_Tb21.敞水 敞水测量结果表openWaterMeasure_Tb22.自航控制参数表selfControlParams_Tb23.自航 自航测量结果表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实实船船ID FK3船船型型方方案案ID FK1文文件件类类型型ID名称路路径径大大小小上上传传时时间间备注舰船类别表PKID名名称称所所属属备注主机表PKIDFK1实实船船ID最终设计螺旋桨表PKIDFK1实船ID是否桨模编编号号 FK2实桨ID螺距比螺距范围最终设计实船附体表PKIDFK3实实船船ID FK2附附体体类类别别ID参数数量 FK1文件ID最终设计备注实船附体文件表PKIDFK1实实船船ID名名称称后缀路路径径大大小小上上传传时时间间备注附体类别表PKID名称参数备注实桨敞水特征曲线表PKIDFK1实实桨桨IDJKtKq10实桨型值文件表PKIDFK1实实桨桨ID名名称称后后缀缀路路径径大大小小上上传传时时间间备注实桨类型表PK,FK1实实桨桨ID PK,FK2类类型型ID螺旋
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号