软件企业管理系统毕业设计.docx
《软件企业管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《软件企业管理系统毕业设计.docx(26页珍藏版)》请在冰点文库上搜索。
软件企业管理系统毕业设计
开封大学
毕业设计
论文题目:
企业管理系统的设计与实现
学生:
康**
学号:
&&&&&&&
专业:
软件学院
指导老师:
***
2012/4/15
目录
论文摘要
随着市场经济体系的日益完善,各项科技技术飞跃发展,我们现在已经进入了一个买方市场时代,选择空间扩大、购买渠道拓宽、消费心态和购买行为越发成熟,使客户再不会对某一企业或者产品盲目地保持绝对忠诚。
在这种严峻的情形下,掌握更多的客户信息,提高客户满意度;如何在日益激烈的市场竞争中把握机会,占有更大的市场份额;如何建立高效业务流程,降低运营成本,获取更多的利润,这些已成为每个企业所面临的首要问题。
信息时代是客户短缺的时代,企业发展所需的各种资源。
本系统用ASP.NET技术进行前台设计,利用VS2008设计后台以及数据库(SQLSERVER-2000)访问技术实现管理员对企业内部管理设计。
使企业有规则去管理区赢得更高的利益造福于社会。
要在激烈的市场竞争中立于不败之地,就必须找到一种全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。
对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。
关键词:
ASP.NET、VS-2008、SQLserver-2000
ASP.NET相关设计与实现
***
(开封大学软件学院软件技术专业)
ASP.NET现在支持微软的SQLServer,也支持自带的一个简单桌面数据库MSDE,这个简单数据库和SQLServer的个人版有点类似。
ASP.net是微软发展的新的体系结.NET的一部分,其中全新的技术架构会让每个人的编程生活变得更的简单ASP.NET的前身ASP技术,是在IIS2.0上首次推出,在IIS3.0发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了开发工具,ASP.NET技术已经成为微软推展平台的关键技术之一,数以万计的ASP.NET也是这个时候开始如雨后春笋般的出现在网络上。
由于它的简单以及高度客制化的能力,也是它能迅速兴起的原因之一。
一、MVC的介绍
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制(Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑。
View层用于与用户的交互。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作更加体现ASP.NET强大的功能。
这为实现三层架构做好了铺垫。
1. 模型表示企业数据。
在MVC的部件中,模型拥有最多的处理任务。
模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
2. 控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据
二、项目使用工具及相关介绍
(一)、SQLServer2000概述
SQLServer2000出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
1. 同一个数据库引擎可以在不同的平台上使用,从运行的便携式电脑,到运行数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大站点所需的性能级别。
2. SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
(二)、三层架构
设计模式中的分层架构实现了各司其职,互不干涉,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
这样就能更好的实现开发中的分工,有利于组件的重用。
所以这些年关于模式的研究有很多成果,应用也很广泛。
一个好的模式在程序开发和后期维护中作用重大。
ASP.NET三层架构自底向上分为:
数据访问层(DAL),业务逻辑层(BLL)和表示层(PL)。
数据访问层(DAL):
使用了一个强类型的DataSet作为数据访问层,只是单纯的对数据进行增,删,改,查询和判断存在等等较通用的数据访问方法(由SQL语句来提供),不应该有“事务”存在。
业务逻辑层(BLL):
业务逻辑层是在数据访问层和表示层之间进行数据交换的桥梁,按业务需求调用数据访问层中的方法组合,集合了各种业务规则到一个BLL中,例如通过条件进行判断的数据操作或“事务”处理。
BLL都是以类库(ClassLibrary)的形式来实现的。
表示层(PL):
表示层是为客户提供用于交互的应用服务图形界面,帮助用户理解和高效地定位应用服务,呈现业务逻辑层中传递的数据,用ASP.NET页面来实现。
三、系统需求分析
(一)可行性分析
功能我们将要实现的功能并不是非常强大,但它确实非常实用,因为我们是从用户目的方面来考虑的。
我们将要实现的主要功能是在该系统中实现三个部分的规划:
其一,用户能够按照其自己的浏览器来查询自己所需的插件。
在该类查询处理过程中,我们将按照各种搜索方式对各个插件进行排序,如按照使用数量,按照使用者好评情况等。
这样能简化用户的查询过程,让用户花更少的时间去搜索,因为在该种查询中,搜索出来的插件都是用户的浏览器能使用的;其二,用户可以按照自己已知的名称或功能搜索。
因为我们不能排除那么给出一个更快捷更合理的查询也是必然的,这样用户通过其它渠道已经知道了自己所需的插件的话,那么使用该种名称搜索方式将是对效率的最大提升;其三,用户可以对其正在使用的插件情况进行上报。
在说了这么多之后,我觉得想必可行性应该昭然若揭了。
首先来说,我们的处理过程并不复杂,最大的工作量其实也就集中在前期的数据录入工作,因为毕竟浏览器比较多,插件也各异,我们在搜集的过程中需要分门别类的进行处理放置。
其次,我们对的功能的处理也进行了详细的划分,这不仅方便用户的使用,其实在一定程度上也方便了我们编写的负担。
最后来说,我需要维护的工作也不多,就是对插件进行更新及对已有插件进行评审这一过程了。
所以个人感觉这个系统的可行性还是比较高的。
(二)需求分析
通过调查研究,要求系统满足以下功能:
由于操作人员的计算机知识水平有限,要求有良好的人机界面,可以很简单方便的管理各种客户信息。
方便的数据查询功能。
管理客户的详细信息:
包括客户的基本信息、联系人信息、业务来往信息等。
为更多地了解客户的需求,应设置客户服务模块,用以记录客户的信息,并对反馈信息及投诉信息进行图表分析。
提供各种信息列表的打印功能,并可实现客户信封打印。
在相应的权限下,可以删除或修改数据。
目前,大多数企业内部的客户管理还处于手工管理阶段,工作起来效率很低,不能及时了解各类客户的实际情况,也无法快速地进行客户信息的查询等操作;不便于动态及时地了解客户的需求及反馈信息,致使企业不能更好地适应当前经济形势发展的需要。
计算机信息化管理有着储存信息量大、速度快等许多优点,提供给用户的处理信息及时、准确、快捷,同时也能提高企业员工的自身素质。
四、系统总体设计
(一)项目设计目标
1.前台功能结构
登录首界面后,可以查看用户信息,客户信息,产品信息、合同信息销售情况等。
管理者在此基础上可以对企业进行相关的信息管理,核实企业在一段时间内的销售情况。
项目前台结构够图如图1
图1前台结构图
2.项目后台功能结构
本项目管理员,则可进入后台,可进行项目类别的管理、界面管理和用户管理的操作。
后台功能结构图如下图2所示。
图2后台功能模块图
4、SQL数据库的实现
(1)、数据库的概念
SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。
Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase则较专注于SQLServer在UNIX操作系统上的应用。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
(2)、数据的功能
可以根据需要定制SQLServer2000数据库系统,对数据进行保存,查阅和计算。
利用存储表相应的信息,为每一种实际对象的信息创建一个表,在表中对不同数据以不同的方式进行储存。
1.可以检索用户指定条件的数据,创建相应的查询来进行检索,也可以利用查询来更新或删除记录,并对表中的数据执行各种计算。
2.可以直接输入、查看或更改数据库中的数据,利用表格或创建一定的窗体来完成上述功能。
3.可以对数据库中的数据进行分析,或者通过指定的方式将数据打印出来,统制一份相应要求的报表。
4.可以利用宏或编码方便地将各种数据库对象连接在一起,形成一个数据库应用系统。
5.可以将数据库中的数据传输到其他数据库的服务器上,实现资源共享,通过此项功能来制作数据访问页。
(3)、E-R模型的基本概念
数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。
描述了数据结构、数据操作及数据约束。
ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。
ER图的理念是:
项目所有参与者能理解ER图。
ER图由不同实体类型、关系、特性和类型构成。
实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。
特性用于描述实体,关系用于实体之间。
图3、系统E_R图
(四)、数据库表概念设计
据数据库设计,可以创建与实体对应的数据表。
本系统中所包含的数据表的结构图如图2所示。
图4数据库所包含的数据表结构图
本系统包括六个表如下:
1.论坛区块contract表如下表1所示:
表1contract合同信息表
列名
数据类型
是否主键
长度
允许空
Contract_id
int
是
4
Custom_id
int
否
4
Contract_state
int
否
4
是
Contract_start
datetime
否
8
Contract_finish
datetime
否
8
是
Contract_person
nvarchar
否
20
是
Contract_price
decimal
否
8
是
Contract_send
datetime
否
9
是
2.论坛设计表custom表如下表2如下如所示:
表2custom信息表
列名
数据类型
是否主键
长度
允许空
custom_id
int
是
4
Custom_name
nvarchar
否
20
是
Custom_charge
nvarchar
否
20
是
Custom_introduce
nvarchar
否
200
是
Custom_level
int
否
4
是
3.论坛设计表contract_detil表表3如下图所示
表3contract_detil信息表
列名
数据类型
是否主键
长度
允许空
contract_id
int
是
4
product_id
int
否
4
是
product_book
int
否
4
是
product_send
int
否
4
是
product_price
decimal
否
9
是
4.本项目数据表custom_sale表表4如下图所示:
表4custom_sale客户销售信息表
列名
数据类型
是否主键
长度
允许空
ID
int
是
4
Custom_id
int
否
4
是
product_id
int
否
4
是
product_sale
int
否
4
是
product_price
decimal
否
9
是
product_dete
datetime
否
8
是
5.项目数据表product表表5如下图所示:
表5产品信息表
列名
数据类型
是否主键
长度
允许空
product_id
int
否
4
product_name
nvatchar
否
50
是
product_describe
nvatchar
否
200
是
:
6.论坛设计User表表6如下图所示
表6用户信息表
列名
数据类型
是否主键
长度
允许空
User_id
int
否
4
User_name
nvatchar
否
50
User_describe
nvatchar
否
50
User_Power
Int
否
4
五、项目系统实现
(一)系统功能设计与结构运行设计
由于前台设计模块较多在此只举重要的模块演示。
1、项目首页登录界面如下图:
图5项目主登录界面
该界面是登录界面输入用户名、密码,点击进入项目,假如密码不对它会提示你所输入密码错误,请重新输入。
登录之后直接进入主页面。
功能代码如下:
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidImageBtn_login_Click(objectsender,ImageClickEventArgse)
{
YS.BLL.UsersUserLogin=newYS.BLL.Users();
stringpwdMd5=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Tbx_pwd.Text.Trim(),"md5");//加密转换
stringstrsql="User_name='"+Tbx_name.Text.Trim()+"'andUser_Password='"+pwdMd5+"'";
//获取登陆用户ID
Session["Login_UserID"]=int.Parse(UserLogin.GetValue("User_name='"+Tbx_name.Text.Trim()+"'","User_id").ToString());
if(UserLogin.Exists(strsql)==true)
{
Session["User_Power"]=UserLogin.GetList(strsql).Tables[0].Rows[0]["User_Power"].ToString();//dr["User_Power"];
if(Session["User_Power"].ToString()=="0")
{
Response.Redirect("users.aspx");
}
elseif(Session["User_Power"].ToString()=="1")
{
Response.Redirect("contract.aspx");
}
elseif(Session["User_Power"].ToString()=="2")
{
Response.Redirect("contract_stat.aspx");
}
else
{
Response.Redirect("customer.aspx");
}
}
else
{
Lbl_note.Text="登陆失败,请检查输入!
";
}
}
2.产品管理系统如图所示:
图6、产品添加界面
该界面是产品管理界面包括产品编号产品名称以及对产品的描述,同时可以对产品添加产品名称以及对产品的描述进行更新和删除。
详细代码如下:
publicpartialclassproduct:
System.Web.UI.Page
{
YS.BLL.productpro=newYS.BLL.product();
YS.Model.productproM=newYS.Model.product();
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
BindGrid();
if(Session["User_Power"].ToString()=="0")
Pn_id.Visible=true;
else
Pn_id.Visible=false;
}
}
publicvoidBindGrid()
{
//stringsettings=Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
////创建数据库连接
//SqlConnectioncn=newSqlConnection(settings);
//SqlDataAdapterda=newSqlDataAdapter("select*fromproduct",cn);
DataSetds=newDataSet();
ds=pro.GetList("");
Dgd_product.DataSource=ds;
Dgd_product.DataBind();
}
publicvoidDataGrid_page(objectsender,DataGridPageChangedEventArgse)
{
Dgd_product.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
protectedvoidBtn_add_Click(objectsender,System.EventArgse)
{
//stringsettings=Convert.ToString(ConfigurationManager.ConnectionStrings["SqlServices"]);
////创建数据库连接
//SqlConnectioncn=newSqlConnection(settings);
//SqlCommandcm=newSqlCommand("insert_product_1",cn);
//cm.CommandType=CommandType.StoredProcedure;
//cm.Parameters.Add(newSqlParameter("@Product_id",SqlDbType.Char,10));
//cm.Parameters.Add(newSqlParameter("@Product_name",SqlDbType.VarChar,50));
//cm.Parameters.Add(newSqlParameter("@Product_describe",SqlDbType.VarChar,50));
//cm.Parameters["@Product_id"].Value=Tbx_productid.Text;
//cm.Parameters["@Product_name"].Value=Tbx_productname.Text;
//cm.Parameters["@Product_describe"].Value=Tbx_introduce.Text;
//cm.Connection.Open();
try
{
proM.Product_name=Tbx_productname.Text;
proM.Product_describe=Tbx_introduce.Text;
pro.Add(proM);
//cm.ExecuteNonQuery();
Response.Redirect("product.aspx");
}
catch(SqlException)
{
Lbl_note.Text="添加失败";
Lbl_note.Style["color"]="red";
}
//cm.Connection.Close();
}
privatevoidCv_id_ServerValidate(objectsource,System.Web.UI.WebControls.ServerValidateEventArgsargs)
protectedvoidBtn_exit_Click(objectsender,System.EventArgse)
{
Response.Redirect("default.aspx");
}
publicvoidDataGrid_cancel(objectsender,DataGridCommandEventArgse)