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

asp.net基于工作流引擎的系统框架设计开发(源代码+LW)

asp.net基于工作流引擎的系统框架设计开发(源代码+LW)

  • 网站价格: 2
  • 特殊技术: asp
  • 作品类型: 免费毕设
  • 售后服务:

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

作品详情

工作流就是一系列相互衔接、自动进行的业务活动或任务。工作流引擎是工作流管理系统的核心,它的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。

论文主要讲述了工作流引擎的基本功能及设计方法,介绍工作流引擎的基本原理,具体分析了工作流引擎所包含的内容,详细介绍了相关的信息模型和控制模型。系统采用关系结构的理念来设计工作流引擎,给出了用Microsoft Visual Studio 2005Microsoft SQL Server2000实现系统的方法。论文中利用本工作流引擎构建系统能适应大多数业务流程的扭转,大大缩短常见信息系统的项目开发周期,提高效率。

目录

 

系统设计


总体设计

设计思想与处理流程

本系统采用面向对象进行分析和设计,在SQLServer 2000数据库上实现数据操作。使用了上文所介绍的完全面向对象的C#语言作为开发语言。使用Windows XP作为开发平台,能够很好地实现系统的基本开发和测试系统的基本流程是:用户登录主界面选择各项子功能。

系统层次模块图

公交车管理系统”主要分为用户登录、车辆管理、司机管理、线路管理和车辆分配管理等6个主功能模块。系统主模块功能树如图1所示。

模块设计

1.登录模块

输入用户的名称和密码,如果用户名、密码正确,则进入主控制平台;否则给出错误提示。

2.用户注册模块

系统管理员进行用户使用设置和初始密码的设置。

3.车辆信息管理

该模块的设计目的是用于用户录入与车辆有关的资料信息。比如车牌号、车辆拥有的座位数目和是否有人售票等信息。

4.司机管理

在该模块下包含两个子模块。其中一个用于对司机资料的录入操作;另一个模块提供给用户查询司机信息。

5.线路管理

该模块的功能同司机管理模块类似,同样包含两个子模块。一个用于录入线路信息;另一个用于查询线路信息。

6.车辆分配线路管理

实现将每辆车与线路相关联的操作。

 数据库设计

 ADO.NET综述

ADO.NET是ADO的改进版本。ADO.NET是与C#和.NET Framework一起使用的类集的名称,用于以关系型的、面向表的格式访问数据[1]。ADO.NET集成到.NETFramework中,可以用于任何.NET语言,尤其是C#。这也是该管理系统采用C#程序语言的原因。

ADO.NET的作用与ADO(Active Data Objects)相同,提供易于使用的类集,以访问数据,ADO.NET的功能得到更新和增强,可以用于.NET编程环境。在使用SQL Server数据库时,通过SQL Server专用的内置.NET数据提供者可以获得最好的性能和对基础功能的最直接的访问。

1..NET数据提供程序

根据数据源不同,常用的.NET数据提供程序可以分为以3种:SQL Server数据提供程序、OLEDB数据源提供程序以及ODBC兼容的数据源提供程序。所有的数据提供程序都位于System.Data命名空间中。每种.NET数据提供程序都由4个主要组建组成。它们的功能如下:

(1)Connection对象:用于连接数据源。

(2)Command对象:用于执行针对数据源的命令并且检索DataReader或者DataSet,或者用于针对数据源的一个INSERT、UPADTA或者DELETE命令。

(3)DataReader对象:一个已连接的、前向只读结果集。

(4)DataAdapter对象:用于从数据源产生一个DataSet,并且更新数据源。

2.数据库应用程序的开发流程

虽然数据库应用程序访问的数据库不通,实现的功能也不同,但其开发流程主要分为以下几个步骤:

(1)创建数据库。

(2)使用Connection对象创建到数据库的连接。

(3)使用Command对象对数据源执行SQL命令并返回数据。

(4)利用DataReader和DataSet对象读取和处理数据源的数据。

逻辑设计

1.E-R模型的建立

根据针对系统的需求分析,可以得到本系统对应的各实体以及实体之间的关系。其中包含有用户实体、司机实体、车辆实体、线路信息实体等。下面根据分析得出其中主要E-R图,如图2和图3所示。

图3描述了车辆实体和线路实体之间的关系。

2.表单设计

根据对各个实体的分析,可以进行数据库表的具体设计。下面给出两张具体表设计的实例,如表1和表2所示。

系统实现

1
用户登录模块

1.用户身份验证

输入:用户名和密码。

处理:

(1)用户登录窗体启动。

(2)输入用户名和密码。

(3)检索数据库中数据,是否有相应的用户名和密码。

(4)如果用户名和密码为空,或者错误,进行提示。

(5)如果输入的用户名和密码正确,则允许该用户进入系统。

(6)进入主控制台。

输出:主控制台。

2.用户登录模块的窗体设计

用户登录模块的窗体设计,如图4所示。

3.用户登录模块的主要代码

privatevoid button1_Click(object sender, System.EventArgs e)

{

       DataAccess myAcc=new DataAccess();

       if(myAcc.userlogin(this.textBox1.Text.Trim(),

                     this.textBox2.Text.Trim())==1){

              this.Visible=false;                      

Main newMain=new Main(this.textBox1.Text.Trim());

              newMain.Show();

       }

       elseif(myAcc.userlogin(this.textBox1.Text.Trim(),"") == 0)

              MessageBox.Show("没有该用户!");

       else

       {

              MessageBox.Show("登录失败");

       }

}

private void button1_Click()鼠标事件用于实现在输入用户名和密码后,进入系统主控制界面的方法。DataAccess类是自定义的用于实现数据库访问的类。该方法中判断语句里调用了该类所声明的对象myAcc的方法userlogin(),该方法的具体实现代码如下所示:

publicint userlogin(string username,string userpass)

{

       Database myDB=new Database();

       SqlParameter[] para={

       myDB.MakeInParam("@username",SqlDbType.NVarChar,50,username),

       myDB.MakeInParam("@userPass",SqlDbType.NVarChar,50,userpass)

        };

       returnmyDB.RunProc("spr_uerlogin",para);

}

该段代码展示了上文中所提到的存储过程的具体使用。

 

2
主操作界面模块

 

1.主控制平台的窗体设计

主控制平台的窗体设计,如图5所示。

从界面上直观的向用户表明了在该系统下可以进行的一系列操作,包括新用户的注册,车辆信息的管理,司机信息的管理,线路信息的管理和车辆线路分配的管理。当用户选择相应的功能进行操作时,触发该按钮事件,则可以进入相应的功能界面进行相应的操作。

 

3
系统用户注册模块

 

系统用户注册模块

1.添加用户子模块

添加用户子模块负责系统的安全性,在该模块种只能增加新用户而不能修改、删除用户,这样是为了加强系统的安全性,保证了系统的恶意操作或误删除等情况出现。

(1)添加新用户功能的实现,并且设置用户的初始密码。

(2)功能模块实现的界面效果如图6所示。

2.该子模块功能主要代码

//用户名检测机制,保证用户名的唯一性。

private void button2_Click(objectsender, System.EventArgs e)

{

       if(this.textBox1.Text.Trim()==""){

              MessageBox.Show("用户名不能为空");

       }

       elseif(checkuser()==1)

              MessageBox.Show("该用户名不存在,可以注册!");

       else{

              MessageBox.Show("该用户名存在,请重新录入新的用户名!");

       }

}

将新用户的信息写入数据库。通过自定义对象myAccc访问数据库,主要是由该对象调用存储过程来实现。

private void button1_Click(objectsender, System.EventArgs e)

{

//checkuser()是自定义的方法,实现对用户名的检查判断。

       if(checkuser()==0){ 

              MessageBox.Show("该用户名存在,请重新录入新的用户名!");

              return;

              }

自定义的regcheck()方法,根据该方法返回的值对不同的情况进行处理。

       if(regcheck()==1){

              DataAccessmyAcc=new DataAccess();

              intli_check=myAcc.uerReg(this.textBox1.Text.Trim(),

this.textBox2.Text.Trim(),

this.comboBox1.SelectedItem.ToString(),

this.textBox4.Text.Trim(),

this.textBox5.Text.Trim()

);

              if(li_check==1){

                     MessageBox.Show("注册成功");

              }

       }

}

 

4
车辆信息管理模块

1.车辆信息模块

该模块实现对车辆信息如、车牌号、颜色、座位数、是否无人售票和车辆品牌信息的录入和删除操作。该界面窗体效果如图7所示。

2.该功能模块实现的主要代码

该段代码在用户点击“所有”按时,触发一个事件,通过调用allcarinfo()方法来返回数据库中的数据,然后使用dataGrid控件将数据显示出来。

private voidbutton2_Click(object sender, System.EventArgs e)

{

DataAccess myAcc = newDataAccess();

DataSet mySet = newDataSet();

mySet=myAcc.allcarinfo();

this.dataGrid1.DataSource = mySet.Tables[0];

}

该段代码实现用户增加车辆信息后完成保存功能的实现。其中针对某些可能出错的地方做出了人性化的处理,以便用户更正和做出相应的处理。

源文件


帮我毕业网微信

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

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩