当前位置:首页 > 免费毕业设计

asp.net基于SVG的自动站雨量分析系统论文(源代码+论文)免费下载

asp.net基于SVG的自动站雨量分析系统论文(源代码+论文)免费下载

  • 网站价格: 1
  • 特殊技术: ASP.NET
  • 作品类型: 免费毕业设计
  • 售后服务:

联系方式: 微信:biyebang QQ: 629001810

作品详情

 摘要

SVG是由W3C组织开发的基于可扩展标记语言的一种矢量图形描述语言,已经在互联网上得到了较广泛的应用。为了以图形方式直观地显示雨量数据变化,方便工作人员进行雨量数据的查询及分析,设计了本套基于SVG的雨量分析系统。

该自动站雨量分析系统是基于B/S架构,使用ASP.NET来开发的。主要使用了.NET三层架构、XML程序集、矢量图形的动态生成、Web服务等技术,并实现了系统模块管理、雨量数据管理、城市数据管理、雨量数据查询、生成矢量图形格式的图表等功能模块。在系统中主要对矢量图形文档的生成进行了分析和设计,采用DOM模型来操作该图形文档,并封装了基本的图形元素。

该自动站雨量分析系统作了新的尝试,采用基于可扩展标记语言的矢量图形作为图形格式,系统与Web服务技术相结合,使系统的可重用性和开放性得到了很大的提高。




关键词: 
可伸缩矢量图形;可扩展标记语言;.NET三层架构;Web服务


目录:

免费毕业设计




雨量分析系统的设计:

4.1 系统模块结构

系统主要分为系统管理、雨量数据管理、城市信息管理、前台管理等几大模块,其结构关系如图5所示。

免费毕业设计

系统模块结构

4.2 数据库的设计

4.2.1 总体设计

数据库的E-R模型图如图6所示。图6中,用户在具有某些角色之后,才有权限使用系统功能,而不能直接使用,因此设计中将角色与系统功能关联起来,并将用户与系统功能隔离开来;日志的生成是在用户使用系统功能的过程中自动生成的,其中需要保存当前用户的ID和对应的系统功能的ID 

免费毕业设计

数据库E-R

4.2.2 数据库表字段说明

1、城市数据表(City)存储的是地图上所有城市的相关信息,具体见表1所示。
城市数据表
字段
字段名
数据类型
长度
允许为空
备注
1
CityId
char
10
城市号
2
CityName
varchar
100
城市名称
3
FatherCityId
char
10
上级城市号
4
OrderId
bigint
8
排序号
5
CityDes
varchar
500
城市描述
2、每小时降雨量表(RainPerHour)存储的是城市中具体一天24小时的雨量数据,Hour01表示0~1时的雨量数据,依此类推,中间省略部分行,具体见表2所示。
雨量数据表
字段
字段名
数据类型
长度
允许为空
备注
1
RecordID
varchar
10
记录号
2
CityID
char
10
城市号
3
Year
varchar
10
4
Month
varchar
10
5
Day
varchar
10
6
Hour01
varchar
10
0~1小时
7
Hour12
varchar
10
1~2小时
8
Hour23
varchar
10
2~3小时
9
……
varchar
10

10
Hour2223
varchar
10
22~23小时
11
Hour2324
varchar
10
23~24小时
3、模块表(Func)存储的是系统中所有模块的信息,具体见表3所示。
模块信息表
字段
字段名
数据类型
长度
允许为空
备注
1
FuncId
varchar
110
模块号
2
FuncName
varchar
50
模块名称
3
FatherFunc
varchar
10
上级模块号
4
PagePath
varchar
100
页面路径
5
OrderId
bigint
8
排序号
6
Des
varchar
200
描述
7
SystemId
varchar
10

4、日志表(Log)中存储管理员对某一模块进行添加、修改等操作的记录,无论成功与否,系统都会自动记录相应的信息,具体见表4所示。
日志信息表
字段
字段名
数据类型
长度
允许为空
备注
1
LogId
varchar
10
日志号
2
OptTime
datetime
8
操作时间
3
OptDes
varchar
100
操作描述
4
OptResult
varchar
1
操作结构
5
OptType
varchar
1
操作类型
6
UserId
varchar
10
用户号
7
FuncId
varchar
110
模块号
8
OptIP
char
10
操作者IP
5、用户表(User)中存储用户登陆系统的ID号、名称和密码等信息,具体见表5所示。
用户表
字段
字段名
数据类型
长度
允许为空
备注
1
UserId
varchar
10
用户号
2
UserName
datetime
50
用户名
3
UserPwd
varchar
50
密码
6、用户角色关系表(UserRoleRel)存储用户在系统中属于哪一角色的信息,具体见表6所示。
用户角色关系表
字段
字段名
数据类型
长度
允许为空
备注
1
UserId
varchar
10
用户号
2
RoleId
varchar
10
角色号
7、角色表(Role)存储每一个角色的角色名及对它权限的描述,具体见表7所示。
角色表
字段
字段名
数据类型
长度
允许为空
备注
1
RoleId
varchar
10
角色号
2
RoleName
varchar
50
角色名
3
Des
varchar
200
权限描述
8、角色权限关系表(RoleFuncRel)存储角色对于某一模块是否具有读取、增加、更新、删除等操作的权限,具体见表8所示。
角色权限关系表
字段
字段名
数据类型
长度
允许为空
备注
1
FuncId
varchar
110
模块号
2
RoleId
varchar
10
角色号
3
PRead
char
1
读取
4
PAdd
char
1
增加
5
PUpdate
char
1
更新
6
PDelete
char
1
删除

4.3 开发技术及过程

4.3.1 三层架构

三层架构也称三层体系结构,即表现层、业务逻辑层和数据访问层。表现层主要指用户界面,它要求尽可能的简单,使最终用户不需要进行任何培训就能方便地访问信息;第二层就是业务逻辑层,也就是常说的中间件,所有的应用系统、应用逻辑、控制都在这一层,系统的复杂性也主要体现在业务逻辑层;最后的数据访问层存储大量的数据信息和数据逻辑,所有与数据有关的安全、完整性控制、数据的一致性、并发操作等都是在第三层完成。三层架构的层次关系见图7所示。

免费毕业设计 

三层架构示意图
这些层相互之间独立性好,可以单独开发,单独测试。三层架构另一个优点是它的安全性,客户端只能通过上一层来访问下一层的服务,减少了入口点,把很多危险的系统功能都屏蔽了。
表现层位于最上层,离用户最近,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。通过表现层,用户输入数据、获取数据。表现层同时也提供一定的安全性,确保用户没有机会看到机密的信息。中间的业务逻辑层是表现层和数据访问层的桥梁,它响应表现层的用户请求,负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。业务逻辑层也可以包括一些对“商业逻辑”描述的代码在里面。数据访问层定义和维护数据的完整性、安全性,它响应业务逻辑层的请求来访问数据,仅实现对数据的保存和读取操作。访问的数据可以是数据库系统、二进制文件、文本文档或是XML文档等等。
本项目中.NET三层架构中各个包之间的关系结构如图8所示。
 

免费毕业设计

三层架构名称空间关系图
其中,Model命名空间中的类对应于数据库中的表,为整个架构提供方便的数据表示形式;IDALSQLServerDAL对应于数据访问层,IDAL命名空间中定义了一整套用于操作数据库的接口,具体的数据访问操作在SQLServerDAL命名空间中实现;DALFactory命名空间中定义了获取数据访问操作的方法,在BLL命名空间中,就使用这些方法来获取符合IDAL中定义的接口的对象,再用它来对数据库进行操作,显然它们属于业务逻辑层;而表现层对应于前台页面代码,包括获取用户响应和请求,再通过BLL来获取数据并返回给用户。
下面给出具体例子说明数据和指令是如何在各层之间流动和传递的。
首先,表现层中的某一对象调用业务逻辑层BLL中的Add函数,来向数据库中添加数据:
BLL.SVGRAS_City.Add(city);
其中cityModel.City类型的参数,BLL.SVGRAS_City.Add为被调用方法的完整路径。
此时,数据流向业务逻辑层,指令执行到业务层,如下:
public static string Add(SVGRAS.Model.SVGRAS_City model)
{
ISVGRAS_City dal=SVGRAS.DALFactory.SVGRAS_City.Create();
return dal.Add(model);
}
业务层接收到表现层传入的参数model,首先进行业务逻辑处理(比如数据完整性,合法性以及其他一些业务处理),然后调用工厂中相应的方法来创建相应的SQLServerDAL对象,以获得访问数据访问层的对象。
工厂类中对应方法如下:
public static SVGRAS.IDAL.ISVGRAS_City Create()
{
SQLServerDAL.SVGRAS_City obj=new SQLServerDAL.SVGRAS_City();
return obj;
}
此时,数据流向数据访问层,指令执行到数据访问层:
public string Add(SVGRAS.Model.SVGRAS_City model)
{
model.CityID=Common.GetNextIdByTable("SVGRAS_City","CityID","SingleLayer",null,10);
model.OrderID=model.CityID;
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into SVGRAS_City(CityID,FatherCityID,OrderID, CityName,CityDes) values (");
strSql.Append("'"+model.CityID+"',");
strSql.Append("'"+model.FatherCityID+"',");
strSql.Append(""+model.OrderID+",");
strSql.Append("'"+model.CityName+"',");
strSql.Append("'"+model.CityDes+"')");
DbHelperSQL.ExecuteSql(strSql.ToString());
return model.CityID;
}
在数据访问层,通过调用存储过程的方式,将数据传递到数据库,并执行相应的操作。DbHelperSQL.ExecuteSql()表示封装好的方法,strSql.ToString()放置添加语句。此时,调用DbHelperSQL.ExecuteSql(),执行SQL语句。 
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString,connection))
{
try
{
connection.Open();
int rows=cmd.ExecuteNonQuery();
return rows;
}
catch(System.Data.SqlClient.SqlException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
}
到此,完成了一条城市数据的添加操作。

4.3.2 SVG文档的表示

SVG文档的生成使用了.NET XML程序集,它提供了一整套封装了XML操作的类,可以很方便的创建和处理XML文档,它的整体结构符合文档对象模型的定义。将SVG文档用DOM表示,其结构见图9所示。

答辩PPT模板

9 SVG文档的DOM对象结构
9对应的XML文档部分代码如下:
<?xml version="1.0" standalone="yes"?>
<svg viewBox="0 0 500 600">
  <text x="10" y="20" stroke="red">
    成都信息工程学院
  </text>
</svg>



系统页面展示:

免费毕业设计

免费毕业设计

免费毕业设计

 

 

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩