《毕业设计论文ASP.NET铁路道口信息管理系统(数据汇总报表与概要设计).doc》由会员分享,可在线阅读,更多相关《毕业设计论文ASP.NET铁路道口信息管理系统(数据汇总报表与概要设计).doc(26页珍藏版)》请在三一办公上搜索。
1、 毕业生论文(数据汇总报表与概要设计) 摘要铁路信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本文通过对道口信息管理数据基本报表与概要设计,进行了详细介绍,对数据基本报表进行了深入分析,并对其具体实施过程的细节进行了逐条说明,本文设计道口信息管理具有参考和指导作用。用网络进行信息管理是Web最重要的应用之一,本系统主要功能是管理相关信息.可以说,凡是人们能想象得到的信息管理,都可以在网络中进行。企业和事业,单位,组织机构等可以通过网络
2、管理信息,使办公人员详细得到他们所关心的信息,以其便利,快速的特点取得用户的信任而不断提高效率和效益。关键词:铁路信息管理系统,数据基本报表,ASP.NET目录摘要1目录2第一章 引言31.1 引言31.2 项目背景31.3 系统开发的目标41.4 开发工具的选择4第二章 需求分析52.1 需求分析目标52.2 需求规定52.2.1 性能需求52.2.2 定义52.3 对报表的需求62.4 道口信息管理报表管理6第三章 概要设计73.1 概要设计73.2 概要设计的目的73.3 概要设计的任务73.4 总体结构设计73.5 接口设计83.5.1 MyDatabase接口83.5.2 MyRec
3、ordset接口93.6 运行设计103.6.1 用户界面103.6.2硬件接口103.6.3软件接口103.6.5 运行环境103.7 系统出错113.8 补救措施113.9 概要设计结果11第四章 编码设计124.1数据基本124.2代码设计124.3 数据基本报表的实现19第五章 后期测试245.1 测试245.2 遇到的问题和困难24结论25致谢25参考文献26第一章 引言1.1 引言在计算机普及的时代,事实证明现代企业大量采用信息化管理方法管理自己的企业,能减少自己在生产和管理上的中间环节,减少企业的管理成本,以适应竞争日益激烈的社会。为此,我们设计了一个铁路道口信息管理系统,有了这
4、个系统更能使铁路维护,工人方便的维护火车的行驶,提高了工作效率;也可以在网页清晰的看到道口在每个阶段的运作模式等。编写这个系统的目的是为了给我们所做的道口信息管理系统的需求方面作一个详细地说明,包括以下几个方面:需求规定:对功能的规定,对性能的规定, 运行环境规定:设备,支持软件 其他要求:如用户登录、数据字典,对易操作性的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。1.2 项目背景随着铁路运输业的发展,铁路道口迅速增加,道口的管理越来越来复杂,为了方便和高效地管理这些道口.随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。同时
5、网络技术的发展和应用迅速波及到了社会各个领域、各个层次,学校,是培养跨世纪人才的重要基地,如何把信息技术和教育很好地结合起来,把信息网络和先进的计算机软件技术引入学校,是摆在每个教育工作者面前的重要问题,同时也成为一个迫在眉睫的问题。铁路信息管理系统是铁路信息管理的重要组成部分,面对大量的指令信息,采用人力处理将浪费大量的时间、人力和物力,并且数据的准确性低。因此,开发一个好的界面,易于操作的铁路信息管理系统进行自动化处理变得十分重要,这正是本系统开发的目的和意义。1.3 系统开发的目标1.在于我们对道口管理系统在网页上进行查询、修改、以及管理。在网站上显示铁路工作的一切,以及在日常的管理中的
6、相关维护等。2.应用了广大的铁路道口的管理,应用广泛。3.在于对铁路道口的管理、维护、以及道路状况的查阅。车站的维护、线路的维护等1.4 开发工具的选择本系统使用ASP作为前台设计和SQL Server2000管理数据库编程环境的选择:ASP是一种可编程的应用软件,其特点是ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。 当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(C#或VB),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含
7、有数据查询结果的HTML主页返回用户端显示。由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。第二章 需求分析2.1 需求分析目标编写这份需求分析报告的目的是为了给我们所做的道口信息管理系统的需求方面作一个详细地说明,包括以下几个方面:需求规定:对功能的规定,对性能的规定, 运行环境规定:设备,支持软件 其他要求:如用户登录、数据字典,对易操作性的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。2.2 需求规
8、定1. 用户登录(注释):输入用户信息:比如用户名和密码。用户基本信息的录入:有路局和工务段两种权限,用户通过选择其中一种进入道口信息管理系统。2. 用户的基本管理(注释):添加新用户,选择录入权限:路局或者是工务段;删除用户,选中要删除的用户名或修改用户密码3. 基本数据的维护(注释):对道口信息的基本数据进行添加/删除/修改。2.2.1 性能需求1要按照严格的数据格式输入,否则系统不给予响应进行处理。2服务器对客服端请求的响应时间不应该超过10s,防止用户产生等待感。3查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。4. 满足道口信息管理系统的需求,对运行环境要求不应存在困难
9、5. 能够支持用户管理功能,包括用户登录、修改用户及用户权限等。2.2.2 定义软件系统采用B/S的结构;开发工具Visual Studio2005;开发语言A2.0(C#);数据库SQL;2.3 对报表的需求基本数据报表,输入工务段名称、道口类别然后查看报表数再生成Excel;数据基本表,把所有的数据进行基本并生成Excel。2.4 道口信息管理报表管理第三章 概要设计3.1 概要设计本章介绍的网络管理主要包括人,财,物的管理.通过本章的简单查询, 牡丹江工务段和人员管理等设计与开发的介绍,使读者进一步了解信息系统开发的程序设计方法,体会到网络信息管理的强大功能。概要设计文档是唯一的设计文档
10、,对后面的开发、测试、实施、维护工作起到关键性的影响3.2 概要设计的目的1. 将软件系统需求转换为未来系统的设计。2. 逐步开发强壮的系统构架。 3. 使设计适合于实施环境,为提高性能而进行设计。4. 结构应该被分解为模块和库。5. 可以明确自己在设计系统中所要做的事。3.3 概要设计的任务制订规范:代码体系、接口规约、命名规则。这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。3.4 总体结构设计功能(加工)模块:每个功能用那些模块实现,保证每个功能都有相应的模块
11、来实现1. 模块层次结构:某个角度的软件框架视图;(注释:就是各个模块之间的关系)2. 模块间的调用关系:模块间的接口的总体描述;(注释:调用就是模块与模块之间调用要使用的数据)3. 模块间的接口:传递的信息及其结构;(注释:就是存在于模块与模块之间传递的信息的桥梁)4. 处理方式设计:满足功能和性能的算法(注释:就是满足用户的操作)5. 用户界面设计6. 数据结构设计:逐步细化的方法也适用于数据结构的设计。在需求分析阶段,已通过数据字典对数据的组成、操作约束、数据之间的关系等方面进行了描述,确定了数据的结构特性,在概要设计阶段要加以细化,详细设计阶段则规定具体的实现细节。在概要设计阶段,宜使
12、用抽象的数据类型。7. 详细的数据结构:表、索引、文件;上述操作的程序模块说明(在前台?在后台?用视图?用过程?)接口控制表的数据结构和使用规则9. 任务:目标、环境、需求、局限;总体设计:处理流程、总体结构与模块、功能与模块的关系;接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口系统界面)数据结构:逻辑结构、物理结构、与程序结构的关系;模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、与其它模块的接口,与其它系统或硬件的接口),运行设计:运行模块组合、控制、时间;3.5 接口设计3.5.1 MyDatabase接口1.BSTR CreateConnection(
13、BSTR database,BSTR username,BSTR password)作用: 创建一个数据库连接字符串,(注释:创建一个数据库)输入: BSTR database ;数据库名称,默认为dbms,(注释:为创建的数据库命名)BSTR username ;数据库用户定义的用户名称,(注释:在创建的数据库上定义用户的名称)BSTR password ;用户对应的密码,(注释:在创建的数据库上请用户输入自己的密码)输出: BSTR ;创建连接后的连接字符串,主要包含用户信息,数据库信息和权限等等2.short Execute(BSTR sql)作用: 执行一条sql语句,无返回值,(注释
14、:输入的SQL语句正确,没有错误的提示返回)输入: BSTR sql ;要执行的sql语句输出: short ;0为sql执行成功,其他为错误信息,3.void ReleaseAll() (注释:释放本连接所申请的一切资源)3.5.2 MyRecordset接口1. void MoveNext();(注释: 转向下一条记录)2. void MovePrior();(注释:转向前一条记录)3. void MoveHead();(注释: 转向第一条记录)4. void MoveEnd();(注释: 转向最后一条记录)5. boolean IsBof();(注释:判断是否已经到达最末记录)6. bo
15、olean IsEof();(注释: 判断是否已经到达最首记录)7. BSTR GetItem(long nPlace);(注释: 获得nPlace位置的记录,)注:Place是地方的意思8. BSTR GetItemText(BSTR strPlace);(注释: 获取strPlace位置的记录)9. boolean MoveTo(long nPlace);(注释: 转到第nPlace个记录)10. short Open(BSTR strSql, BSTR strConn, short nLock);(注释: 执行recordset的open方法,打开一个记录集输入: BSTR strSql
16、 要执行的sql语句BSTR strConn 连接字符串BSTR nLock 加锁类型输出: short ;0为sql执行成功,其他为错误信息,)11. short GetColumnCount();(注释: 获得列的数量)12. long GetItemCount();(注释: 获得记录的数量)13. BSTR GetColumn(short nColumn);(注释: 获得第nColumn列的名称)注:Column是专栏的意思3.6 运行设计3.6.1 用户界面超越VB的界面,全新感觉,操作简便,一目了然,视图优美等特点。并且采用菜单界面驱动方式,给操作用户带来了极大的便利。对鼠标和键盘单
17、独支持。3.6.2硬件接口本软件不需要特定的硬件或硬件接口进行支撑。486以上PC机均可运行此软件。3.6.3软件接口运行于Windows95及更高版本具有WIN32 API的操作系统之上。3.6.5 运行环境 在 .NET 平台中运行。在Windows 98/Windows 2000/Windows XP系统以上的系统中运行。IE 6.0以上浏览器运行。SQL Server 2000 以上的环境下运行。CPU:Inter Pentium或更高显卡:集成显卡64M或独立64M或更高硬盘:3G或更高内存:256M或更高服务器:Windows 2003server浏览器:Internet Expl
18、orer6.0或以上服务器:操作系统:Windows 2003 网络协议:TCP/IP 浏览器:Internet Explore 6.0客户端: 操作系统:Windows XP 网络协议:TCP/IP 浏览器:Internet Explore 6.03.7 系统出错1:当输入用户名或者密码时,如输入错误系统提示用户名或密码错误。2:当信息的录入违反了系统的约束时,系统提示错误。3:客户端不能正常登录到服务器端。3.8 补救措施正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。系统出现错误以后可根据系统提示进行响应的处理,当系统未出现相应的提示时应恰当进行处理,如遇到
19、系统死机或者服务器端不响应客户端,应该重新启动计算机或者重新进行相应配置。如果系统无法恢复,应进行数据的恢复。还可以周期性的地把磁盘信息备份。以便系统出错可以很快的恢复系统。3.9 概要设计结果从以上的介绍中可以基本上的掌握为什么要设计道口管理系统,以及在设计道口管理系统中掌握在设计一个系统之前应知道为什么要设计这样一的系统,在设计过程中的总体设计,接口设计 ,数据结构设计 ,运行设计 ,出错设计等的重要性。在有了系统的概要设计后让我在系统设计中更能轻松的解决问题,在上面的概要设计中让我知道了,做什么之前先建立一个系统的详细文档是多么的重要。第四章 编码设计4.1数据基本对于所有的铁路道口数据
20、在一定的时期总要进行一次总结性的基本,为此需要两方面的功能设计:(1) 基本数据基本:主要是针对于工务段和道口类别来进行基本。(2) 道口信息分类基本包括线别、道口总计、有人看守小计、工务看守、非工务看守、无人看守、监护道口平过道和人行过道的基本,通过选择工务段、统计该工务段所管辖的站、段、岔特线、统计该工务段所管辖的正线条数及线名、统计非路产专用线的道口信息来实现道口信息分类基本。为此需要设计独立的数据基本页面来保存原有的和现有的数据。当然,用户输入信息的正确性页同样需要验证。4.2代码设计代码是一组有序的数字或字母的排序,是代表客观存在的实体或属性的符号,代码设计就是给系统中某些实体及其属
21、性于相应的编码。代码:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Reflection;using System.IO;namespace da
22、okou/ / frm_BaseDataReport 的摘要说明。/ public class frm_BaseDataReport : System.Web.UI.Pageprotected System.Web.UI.WebControls.Label Label1;protected System.Web.UI.WebControls.DropDownList Drop_Gwd;protected System.Web.UI.WebControls.Label Label2;protected System.Web.UI.WebControls.DropDownList Drop_DkL
23、b;protected System.Web.UI.WebControls.Button Btn_LookReport;protected System.Web.UI.WebControls.Button Btn_Make;protected System.Web.UI.WebControls.DataGrid Dg_LookReport;Class_DaoKou dk=new Class_DaoKou();private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面if(!IsPostBack)/获取权限
24、int Qx=daokou.Class_DaoKou.Qx;if(Qx=1)this.Drop_Gwd.Items.Clear();dk.BindToDropDownList(T_Gwd,Gwd_Mc,this.Drop_Gwd);this.Drop_Gwd.Items.Add(daokou.Class_DaoKou.BmMc);this.Drop_Gwd.SelectedIndex=this.Drop_Gwd.Items.Count-1;this.Drop_Gwd.Enabled=true;this.Drop_Gwd.BackColor=System.Drawing.Color.White;
25、if(Qx=2)this.Drop_Gwd.Items.Clear();this.Drop_Gwd.Items.Add(daokou.Class_DaoKou.BmMc);this.Drop_Gwd.SelectedIndex=0;this.Drop_Gwd.Enabled=false;this.Drop_Gwd.BackColor=System.Drawing.Color.Silver;this.Drop_Gwd.SelectedItem.Text=daokou.Class_DaoKou.BmMc;dk.BindToDropDownList(T_DkLb,DkLb_Mc,this.Drop_
26、DkLb);/this.Drop_DkLb.Items.Insert(0,-请选择-);/this.Drop_DkLb.SelectedIndex=0;#region Web 窗体设计器生成的代码override protected void OnInit(EventArgs e)/ CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。/InitializeComponent();base.OnInit(e);/ / 设计器支持所需的方法 - 不要使用代码编辑器修改/ 此方法的内容。/ private void InitializeComponent() this.Btn_
27、LookReport.Click += new System.EventHandler(this.Btn_LookReport_Click);this.Btn_Make.Click += new System.EventHandler(this.Btn_Make_Click);this.Dg_LookReport.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.Dg_LookReport_PageIndexChanged);this.Load += new System
28、.EventHandler(this.Page_Load);#endregion/绑定到DataGrid的列名private void GetBindColumns(string Columns)Columns0=GwdMc;Columns1=Xm;Columns2=ZxBz;Columns3=XingB;Columns4=YyZt;Columns5=Xb;Columns6=GjLx;Columns7=Cq;Columns8=DkBh;Columns9=DkMc;Columns10=DfZl;Columns11=DkLc;Columns12=ClBj;Columns13=ZjorZm;Colu
29、mns14=DlLb;Columns15=KsTs;Columns16=PmKd;Columns17=PmCl;Columns18=YwKs;Columns19=KsDw;Columns20=KsBz;Columns21=KsSj;Columns22=KsRs;Columns23=LgZl;Columns24=YxSb;Columns25=ZdTz;Columns26=SdBz;Columns27=ZdXh;Columns28=TxSb;Columns29=Zpt;Columns30=Ypt;Columns31=Zpd;Columns32=Ypd;Columns33=JcJd;Columns3
30、4=LcSj_S;Columns35=LcSj_X;Columns36=ClSj_Z;Columns37=ClSj_Y;Columns38=LmZt;Columns39=XlPm;Columns40=DkLj;Columns41=JlDy;Columns42=ZyLcS;Columns43=ZyClS;Columns44=DkDj;/查看报表private void Btn_LookReport_Click(object sender, System.EventArgs e)if(this.Drop_Gwd.SelectedItem.Text=-请选择-)this.Drop_Gwd.Selec
31、tedItem.Text=;Response.Write(alert(对不起,请选择工务段名称!);return;if(this.Drop_DkLb.SelectedItem.Text=-请选择-)this.Drop_DkLb.SelectedItem.Text=;Response.Write(alert(对不起,请选择道口类别!);return;/获取权限int Qx=daokou.Class_DaoKou.Qx;dk.OpenDb();/如果权限为1且工务段名称选择的值是部门名称if(Qx=1 & this.Drop_Gwd.SelectedIndex=this.Drop_Gwd.Item
32、s.Count-1)String Gwd=daokou.Class_DaoKou.BmMc;dk.strSql=select * from T_BaseData where GwdMc=Gwd and DlLb;/如果权限为1且工务段名称选择的值不是部门名称if(Qx=1 & this.Drop_Gwd.SelectedIndex!=this.Drop_Gwd.Items.Count-1) dk.strSql=select * from T_BaseData where GwdMc= +this.Drop_Gwd.SelectedItem.Text.Trim()+ and DlLb;/如果权限
33、为2if(Qx=2)dk.strSql=select * from T_BaseData where GwdMc= +this.Drop_Gwd.SelectedItem.Text.Trim()+ and DlLb;if(this.Drop_DkLb.SelectedItem.ToString()=正站线)dk.strSql+= 平过道 and DlLb人行过道;elsedk.strSql+= = +this.Drop_DkLb.SelectedItem.Text.Trim()+ ;dk.da=new System.Data.SqlClient.SqlDataAdapter(dk.strSql
34、,dk.conn);dk.ds=new DataSet();dk.da.Fill(dk.ds,LookReport);this.Dg_LookReport.DataSource=dk.ds.TablesLookReport;this.Dg_LookReport.DataBind();dk.da.Dispose();dk.CloseDb();/生成Excel按钮事件代码private void Btn_Make_Click(object sender, System.EventArgs e)/设置文件名String ExcelName=this.Drop_Gwd.SelectedItem.Tex
35、t.Trim()+_+this.Drop_DkLb.SelectedItem.Text+.xls;/清除缓冲区Response.ClearContent();/设置表名Response.AddHeader(content-disposition, attachment; filename= + HttpUtility.UrlEncode(ExcelName, System.Text.Encoding.UTF8);/设置输出类型Response.ContentType = application/excel;/定义一个写文件操作StringWriter sw = new StringWriter
36、();/转换为Html文本字符HtmlTextWriter htw = new HtmlTextWriter(sw);/存储DataGrid中的信息this.Dg_LookReport.RenderControl(htw);/输出文本Response.Write(sw.ToString();Response.End();/DataGrid分页事件private void Dg_LookReport_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)/获取当前显示页索引
37、this.Dg_LookReport.CurrentPageIndex=e.NewPageIndex;String BindColumns =new string45;this.GetBindColumns(BindColumns);/绑定DataGriddk.BindToDataGridHasQx(this.Dg_LookReport,T_BaseData,BindColumns,);4.3 数据基本报表的实现数据基本表(线别,道口总计,有人看守小计,工务看守,非工务看守,无人看守,监护道口,平过道,人行过道)基本报表(frm_HzReport.aspx):用于基本模块。此页面主要是对各个道
38、口的基本信息进行基本,然后生成报表,保存的格式为excel.xls模块名称基本数据报表模块模块代号frm_HzReport.aspx适用范围全局类型ASP页面模块功能用于基本报表模块性能要求在用户指定的时间内完成此项功能限制要求仅限于路局或公务段的用户登录进入之后查看输入公务段名称输出数据库记录提示信息算法逻辑添加数据库记录(表T_BaseData)表单数据提交给frm_BaseDataReport.aspx相关对象及接口frm_HzReport.aspx:基本数据报表模块备注将所生成的数据以.xls的格式保存起来基本报表首页:图1图2道口登记基本表:表1道口登记基本表道 口 登 记 汇 总
39、表 牡丹江工务段2006年末项目线别道口总计有人看守无人看守监护道口平过道人行过道小计工务看守非工务看守牡丹江工务段人行过道登记簿样表:表牡丹江工务段人行过道登记簿序号线 名站间或站名道 口名称线 别道 口里程道 路类跨越条数铺 面宽 度(米)铺 面材料看 守 情 况单 位班 制时 间正站线样报表:表正站线报表防 护 设 备遮断通信平台长度道路坡度交叉视 距(米)栏杆音响自动色灯信号设备左(米)右(米)左(%)右(%)角度列车车辆种类通知标准上行下行左右第五章 后期测试5.1 测试完成了自己模块的代码编写后通过组长把本模块和其他模块进行连接后能正常运行,通过对数据的测试,选取任意的工务段名称和道口类别能够进行数据报表的查询,可以监护每条道口的一些基本情况如:(道口里程、道口类型、道口宽度、有无人看守、