收藏 分销(赏)

订单式销售管理系统课程设计报告.doc

上传人:二*** 文档编号:4533324 上传时间:2024-09-27 格式:DOC 页数:33 大小:574KB 下载积分:5 金币
下载 相关 举报
订单式销售管理系统课程设计报告.doc_第1页
第1页 / 共33页
本文档共33页,全文阅读请下载到手机保存,查看更方便
资源描述
精品文档就在这里 -------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-------------- -------------------------------------------------------------------------------------------------------------------------------------------- 目 录 1 现行系统概述…………………………………………………………2 2 系统分析………………………………………………………………3 2.1需求分析……………………………………………………………………3 2.2可行性研究…………………………………………………………………3 2.3系统的开发方法的选择……………………………………………………3 2.4组织结构与功能分析………………………………………………………4 2.5业务流程分析………………………………………………………………5 2.6数据与数据流程分析………………………………………………………6 2.7 数据分析…………………………………………………………………6 3 系统设计………………………………………………………………9 3.1系统总体结构设计…………………………………………………………9 3.2数据结构与数据库设计……………………………………………………12 3.3系统物理配置方案设计……………………………………………………13 4系统实施…………………………………………………………………14 4.1登陆界面…………………………………………………………………14 4.2系统主界面…………………………………………………………………16 5结束语…………………………………………………………………28 参考文献………………………………………………………………………30 1现行系统概述 本门窗企业早期的销售管理单纯依靠人工来完成,耗时耗力,且效率不高,严重影响了企业的发展,不能及时对市场及客户的要求做出迅速反应调整生产,而随着科技日益发展及信息化浪潮的日益临近,企业经营管理机制正在发生着根本性的变化,特别是处于激烈市场竞争环境下的企业,如果想要在日新月异的市场变化中求得生存,就必须有效地进行企业内部改革和加强企业管理。借助现代信息技术和管理理论,建立企业管理信息系统势在必行。因此,本门窗企业开发订单式销售管理系统,以求提高企业的管理效率,增强企业的竞争力。 2系统分析 2.1 需求分析 随着科技的发展,信息化在企业中显得尤为重要。随着信息量的日益增多,单纯的人工处理已经不能满足企业快速发展的需要,企业每天都需要接受各式订单,如果仅仅依靠人工处理与统计分配生产,在人工协调生产与需求的关系,必然会出现各种各样的错误,加大企业工作人员的工作量,降低企业的生产效率,企业的发展也必然受阻。在这种情况下,开发管理系统,就显得尤为重要,是企业目前迫切的需求。 2.2可行性研究 此次信息系统开发是对本学期所学专业知识的一次综合检验与提高,在刘印平老师的指导下,我和我得合作者在机房共同开发订单式管理系统。本学期,我已经学习了管理信息系统,对系统开发的流程及所需知识及先关软件有了一定了解,并且对数据库、数据结构、C语言、C#及ASP.NET都有一定的了解,这些相关知识也为本次系统的开发提供了可能,再者教材中的各种系统开发范例也为我们的开发做了很好的指导,综合考虑,完全有能力开发出此管理系统。 2.3系统的开发方法的选择 我们选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。是组织、管理和控制信息系统开发过程的一种基本框架。 其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。 开发过程主要包括以下几个阶段:系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行与维护阶段,每个阶段都有明确的任务和目标,这样整个开发过程容易调整和控制。 2.4 组织结构与功能分析 数据统计 信息管理 经 销 商 业 绩 产品销量 客户信息 订单式销售管理系统 经销商信息 产品信息 订单信息 图2-1 组织结构图 2.5 业务流程分析 本系统的业务流程主要描述如下: 厂家事先录入产品信息,各地经销商根据产品信息向客户销售产品并向厂家提交订货单,同时经销商生成客户信息。之后厂家审核订货单,合格则生成合格订货单,不合格则退给经销商重新填写,此时生成经销商信息厂家存档,并将合格的订单送往车间生产,生产结束后通过物流将产品发送给经销商。 业务流程图如下: 图2-2 业务流程图 2.6数据与数据流程分析 数据流程分析是把数据在组织内部的流动情况抽象地独立出来, 舍去了具体的组织机构等,以发现和解决数据流中的问题。员工将产品信息和客户信息录入,生成相应的产品档案和客户档案,而订单记录建立了客户和产品的联系,并存储这些记录。其数据流程图如图2-3所示 图2-3 数据流程图 2.7数据分析 数据字典:根据系统的数据流程图,得到数据流、数据存储、加工和数据项的数据字典,数据字典详细描述了数据流程图中各个项,有助于操作员进一步了解系统的逻辑功能和结构。举例如下: (1)数据项条目:  ①数据项名称:订购日期  简述:客户订购商品的日期 别名:无 类型:日期 取值范围:'1000-01-01'到'9999-12-31' ②数据项名称:订单编号 简述:用户此次订货在系统内部的定义 别名:订单编号 类型:字符型 取值范围:'000000'到'999999' ③数据项名称:客户编号 简述:客户在经销商编号 别名:客户编号 类型:字符型 取值范围:'000000'到'999999' (2)数据流条目:  ①数据流名称:客户信息 简述: 对客户的基本信息进行介绍 数据流来源:订单记录 数据流去向:客户档案 数据流组成:客户编号+客户姓名+联系方式+客户地址+备注 数据流量:100次 / 日  高峰流量:200次 / 日 ②数据流名称:产品信息 数据流来源:厂家 数据流去向:产品档案 简述: 厂家将各产品信息写入系统,以便查询使用 数据流组成:产品号+产品名称+主要材料+备注 数据流量:100次 / 日  高峰流量:200次 / 日 ③数据流名称:经销商信息 简述: 对经销商的基本信息进行介绍 数据流来源:厂家 数据流去向:经销商档案 数据流组成:经销商编号+经销商姓名+联系方式+经销商地址+备注 ④数据流名称:订单信息 简述: 客户发出订货的证明 数据流来源:经销商 数据流去向:销售额统计 数据流组成:订单号+客户姓名+联系方式+客户地址+产品号+产品名称+主要材料 数据流量:100次 / 日  高峰流量:200次 / 日 (3)数据存储条目:  ①数据存储名称:客户档案  简述:进一步整理客户信息,一边用于产品维护 数据存储组成:客户编号+客户姓名+性别+联系方式+客户地址+产品编号+产品数量+备注 关键字:客户编号 ②数据存储名称:产品档案  简述:厂家输入产品信息生成产品档案,用于产品查询 数据存储组成: 产品号+产品名称+主要材料+备注 关键字:产品型号 ③数据存储名称:订单记录 简述:用于保存客户填写的订单信息 数据存储组成:订单号+客户姓名+联系方式+客户地址+产品号+产品名称+主要材料 关键字:订单号 ④数据存储名称:销售统计表 简述:将统计后的销售信息存储下来,用于厂家和经销商的查询 数据存储组成:销售额统计 关键字:产品编号 (4)处理逻辑条目:  ①处理逻辑名称:销售统计 简述:对销售情况进行统计 输入数据流:订单信息 处理:根据订单信息,找出销售状况,分析出各种产品的销售状况,经销商业绩 输出数据流:销售统计表 3 系统设计 3.1系统总体结构设计 订单式销售管理系统的系统模块结构图见图3-1: 图3-1 系统模块结构图 3.2数据结构与数据库设计 3.2.1数据库的概念结构设计 概念结构设计是按用户的观点对数据和信息建模,而概念模型的最常用的表示方法是实体-联系方法(简称E-R图),该系统的而图如图3-2所示: 图3-2 E-R图 3.2.2 数据库的表结构定义 用户信息表:存放用户的相关信息。如表3-3所示: 表3-3 用户信息表 字段名 属性 备注 Userid Userpwd Uservel Varchar(10) Varchar(10) Varchar(10) 主键 产品信息表:存放产品的相关信息。如表3-4所示: 表3-4 产品信息表 字段名 属性 备注 产品型号 产品名称 规格描述 备注 Char(50) Varchar(50) char(50) Varchar(50) 主键 经销商信息表:存放经销商的相应信息。如表3-5所示: 表3-5经销商信息表 字段名 属性 备注 经销商编号 经销商姓名 性别 联系电话 住址 备注 Char(6) Varchar(8) Char(2) Char(15) Varchar(50) Varchar(100) 主键 客户信息表:用于存放客户的相应信息。如表3-6所示: 表3-6客户信息表 字段名 属性 备注 经销商编号 经销商姓名 性别 联系电话 客户地址 备注 Char(6) Varchar(8) Char(2) Char(15) Varchar(100) Varchar(100) 主键 订单信息表:显示记录客户、产品、经销商之间的联系。如表3-7所示: 表3-7订货单信息表 字段名 属性 备注 订单号 客户编号 经销商编号 产品型号 数量 总价 签订日期 交货日期 备注 Char(6) Char(6) Char(6) Char(50) Int Money Datetime Datetime Varchar(100) 主键 外键 外键 外键 3.2.3数据库中表的实现 此系统的数据关系图如图3-3所示: 图3-3 数据关系图 3.3系统物理配置方案设计 (1)硬件选择。系统中计算机能够运行Windows XP 以上操作系统即可。 (2)操作系统。Windows XP以上操作系统。 (3)开发工具。Visual Studio 2010(C#)。 (4)数据库管理系统。SQL Server2005数据库管理系统及其使用工具。 4系统实施 4.1登陆界面 登录页面的功能主要是供合法的用户根据自己的用户名、用户密码进行登录。订单式销售管理系统登录模块运行的结果如图4-1所示。 图4-1 登陆界面 登陆界面代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 订单式销售管理系统 { public partial class FrmLogin : Form { public FrmLogin() { InitializeComponent(); fl = this; } private void button2_Click(object sender, EventArgs e) { this.Close();//退出登录模块 } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "") MessageBox.Show("用户名或密码不能为空!", "登录提示"); else { string SqlText = "select * from UserInfo where Userid='" + this.textBox1.Text + "'and Userpwd='" + this.textBox2.Text + "'"; DataAccess DA = new DataAccess(); if (DA.IsRead(SqlText) == true) { string mySql = "select * from UserInfo where Userid='" + this.textBox1.Text + "'"; DataTable dt = DA.ExeSQLdt(mySql); this.Competence = dt.Rows[0]["Uservel"].ToString(); FrmLogin.Can = true; this.Close(); } else { MessageBox.Show("用户名或密码错误,请重新输入!", "登录提示"); } } } 4.2系统主界面 主界面包含系统管理、产品信息管理、客户信息管理、经销商信息管理、订货单信息管理、数据汇总这几个模块,如图4-2所示。 图4-2 系统主界面 4.3部分功能模块设计界面及部分代码 (1) 部分功能模块界面如下: 产品信息管理界面如下: 客户信息管理界面如下: 经销商信息信息管理界面如下: 经销商信息管理界面如下: (2) 主要代码如下: ①数据库连接代码 class DataAccess { SqlConnection myconn; static string Str = "Server =CHENYING-PC;Database =订单式销售管理系统;Uid = sa;Pwd = 123"; public SqlConnection Conn = new SqlConnection(Str); public DataAccess() { myconn = new SqlConnection(Str); myconn.Open(); } ②修改密码代码 private void Edit_bt_Click(object sender, EventArgs e)//执行修改密码功能 { if ((this.textboxOld.Text == "") || (this.textboxNew.Text == "") || (this.textboxConfigNew.Text == "")) { MessageBox.Show("请输入完整信息!","修改提示!"); return; } if (this.textboxNew.Text != this.textboxConfigNew.Text) { MessageBox.Show("确认密码失败,请重新输入!", "修改提示!"); return; } else { DataAccess DAEdit = new DataAccess(); string SqlTextUpdate = "update UserInfo set Userpwd='" + this.textboxNew.Text.Trim() + "' where Userid='" + this.textboxUserName.Text + "'"; DAEdit.ExeSQL(SqlTextUpdate); MessageBox.Show("修改密码成功!", "修改提示!"); } } ③DataAccess类代码 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.IO; using System.Data; using System.Data.SqlClient; namespace 订单式销售管理系统 { class DataAccess { SqlConnection myconn; static string Str = "Server =CHENYING-PC;Database =订单式销售管理系统;Uid = sa;Pwd = 123"; public SqlConnection Conn = new SqlConnection(Str); public DataAccess() { myconn = new SqlConnection(Str); myconn.Open(); } public int ExeSQL(string sql) { SqlCommand cmd = new SqlCommand(sql, this.myconn); try { cmd.ExecuteNonQuery(); return 0; } catch (System.Data.SqlClient.SqlException ex) { MessageBox.Show(ex.Message.ToString()); return -1; } finally { cmd.Dispose(); this.myconn.Close(); } } // 判断数据库是否有记录,有记录则返回真,无则返回假 public bool IsRead(string sql) { SqlCommand cmd = new SqlCommand(sql,this.myconn); SqlDataReader dr = cmd.ExecuteReader(); try { if(dr.Read()) { return true; } else { return false; } } catch(System.Data.SqlClient.SqlException ex) { MessageBox.Show(ex.Message.ToString()); return false; } finally { dr.Close(); cmd.Dispose(); this.myconn.Close(); } } public DataTable ExeSQLdt(string sql) { try { SqlDataAdapter da = new SqlDataAdapter(sql, myconn); DataTable dt = new DataTable(); da.Fill(dt); return dt; } catch(System.Data.SqlClient.SqlException ex) { MessageBox.Show(ex.Message.ToString()); return null ; } finally { this.myconn.Close(); } } } } ④经销商信息添加代码 private void button1_Click(object sender, EventArgs e)//添加经销商信息 { if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || Remarks_txt.Text.Trim() == "" || comboBox1.Text.Trim() == "") MessageBox.Show("请输入完整信息!", "输入提示"); else if(订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangID == "insert") { string SqlText = "insert into 经销商信息表 (经销商编号,经销商姓名,性别,联系电话,住址,备注) values('" + this.textBox1.Text + "','" + this.textBox2.Text + "','" + boBox1.Text + "','" + this.textBox3.Text + "','" + this.textBox4.Text + "','" + this.Remarks_txt.Text + "')"; DataAccess dataaccess = new DataAccess(); DataAccess DA = new DataAccess(); DA.ExeSQL(SqlText); 订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangInfo.Enabled = true; 订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangInfo.DBDataGrid(); this.Close(); MessageBox.Show("添加成功!", "添加提示!"); } } ⑤经销商信息查询代码 private void button1_Click(object sender, EventArgs e)//执行查询经销商信息功能 { string mystr, mysql; mystr = "Server =CHENYING-PC;Database =订单式销售管理系统;Uid = sa;Pwd = 123"; SqlConnection myconn = new SqlConnection(); myconn.ConnectionString = mystr; myconn.Open(); myds.Clear(); mysql = "select 经销商编号,经销商姓名,性别,联系电话,住址,备注 from 经销商信息表 where 经销商编号 like '%" + textBox1.Text.Trim() + "%'"; myda = new SqlDataAdapter(mysql, myconn); myda.Fill(myds, "经销商信息表"); dataGridView1.DataSource = myds.Tables["经销商信息表"]; } ⑥经销商信息修改代码 private void button3_Click(object sender, EventArgs e)//执行经销商信息修改功能 { DialogResult ID = MessageBox.Show("您确定要修改经销商编号为"+dataGridView1.SelectedCells[0].Value.ToString()+"的信息么?", "修改提示!", MessageBoxButtons.YesNo); if (ID == DialogResult.Yes) { SqlCommandBuilder mycmdbuilder = new SqlCommandBuilder(myda); if (myds.HasChanges()) { try { myda.Update(myds, "经销商信息表"); MessageBox.Show("修改成功","修改提示!"); } catch (Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show("修改失败","修改提示!"); } } } else { MessageBox.Show("取消修改!", "修改提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } } ⑦经销商信息添加代码 private void button1_Click(object sender, EventArgs e)//添加经销商信息 { if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "" || Remarks_txt.Text.Trim() == "" || comboBox1.Text.Trim() == "") MessageBox.Show("请输入完整信息!", "输入提示"); else if(订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangID == "insert") { string SqlText = "insert into 经销商信息表 (经销商编号,经销商姓名,性别,联系电话,住址,备注) values('" + this.textBox1.Text + "','" + this.textBox2.Text + "','" + boBox1.Text + "','" + this.textBox3.Text + "','" + this.textBox4.Text + "','" + this.Remarks_txt.Text + "')"; DataAccess dataaccess = new DataAccess(); DataAccess DA = new DataAccess(); DA.ExeSQL(SqlText); 订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangInfo.Enabled = true; 订单式销售管理系统.子窗体.FrmJingxiaoshangInfo.JingxiaoshangInfo.DBDataGrid(); this.Close(); MessageBox.Show("添加成功!", "添加提示!"); } } ⑧调用视图代码 private void button1_Click(object sender, EventArgs e)//执行查询订货单信息记录功能 { string mystr, mysql; mystr = "Server =CHENYING-PC;Database =订单式销售管理系统;Uid = sa;Pwd = 123"; SqlConnection myconn = new SqlConnection(); myconn.ConnectionString = mystr; myconn.Open(); myds.Clear(); mysql = "select * from v_Order where 客户姓名 like '%" + textBox1.Text.Trim() + "%'";//调用数据库中的视图v_Order myda = new SqlDataAdapter(mysql, myconn); myda.Fill(myds, "v_Order"); dataGridView1.DataSource = myds.Tables["v_Order"]; } ⑨调用存储过程代码 DataAccess DA = new DataAccess(); SqlCommand insertCommand = DA.Conn.CreateCommand(); insertCommand.CommandText = "execute pro_UserInfo @Userid,@Userpwd,@Uservel";//调用数据库中的存储过程添加用户信息 insertCommand.Par
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服