版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、唐山学院课程设计 目 录1 现行系统概述22 系统分析32.1需求分析32.2可行性研究32.3系统的开发方法的选择32.4组织结构与功能分析42.5业务流程分析52.6数据与数据流程分析62.7 数据分析63 系统设计93.1系统总体结构设计93.2数据结构与数据库设计123.3系统物理配置方案设计134系统实施144.1登陆界面144.2系统主界面165结束语28参考文献301现行系统概述 本门窗企业早期的销售管理单纯依靠人工来完成,耗时耗力,且效率不高,严重影响了企业的发展,不能及时对市场及客户的要求做出迅速反应调整生产,而随着科技日益发展及信息化浪潮的日益临近,企业经营管理机制正在发生
2、着根本性的变化,特别是处于激烈市场竞争环境下的企业,如果想要在日新月异的市场变化中求得生存,就必须有效地进行企业内部改革和加强企业管理。借助现代信息技术和管理理论,建立企业管理信息系统势在必行。因此,本门窗企业开发订单式销售管理系统,以求提高企业的管理效率,增强企业的竞争力。2系统分析2.1 需求分析 随着科技的发展,信息化在企业中显得尤为重要。随着信息量的日益增多,单纯的人工处理已经不能满足企业快速发展的需要,企业每天都需要接受各式订单,如果仅仅依靠人工处理与统计分配生产,在人工协调生产与需求的关系,必然会出现各种各样的错误,加大企业工作人员的工作量,降低企业的生产效率,企业的发展也必然受阻
3、。在这种情况下,开发管理系统,就显得尤为重要,是企业目前迫切的需求。2.2可行性研究此次信息系统开发是对本学期所学专业知识的一次综合检验与提高,在刘印平老师的指导下,我和我得合作者在机房共同开发订单式管理系统。本学期,我已经学习了管理信息系统,对系统开发的流程及所需知识及先关软件有了一定了解,并且对数据库、数据结构、c语言、c#及asp.net都有一定的了解,这些相关知识也为本次系统的开发提供了可能,再者教材中的各种系统开发范例也为我们的开发做了很好的指导,综合考虑,完全有能力开发出此管理系统。2.3系统的开发方法的选择 我们选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的
4、原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。是组织、管理和控制信息系统开发过程的一种基本框架。其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。开发过程主要包括以下几个阶段:系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行与维护阶段,每个阶段都有明确的任务和目标,这样整个开发过程容易调整和控制。2.4 组织结构与功能分析数据统计信息管理经销商业绩产品销量客户信息订单式销售管理系统经销
5、商信息产品信息订单信息图2-1 组织结构图2.5 业务流程分析本系统的业务流程主要描述如下:厂家事先录入产品信息,各地经销商根据产品信息向客户销售产品并向厂家提交订货单,同时经销商生成客户信息。之后厂家审核订货单,合格则生成合格订货单,不合格则退给经销商重新填写,此时生成经销商信息厂家存档,并将合格的订单送往车间生产,生产结束后通过物流将产品发送给经销商。业务流程图如下:图2-2 业务流程图2.6数据与数据流程分析数据流程分析是把数据在组织内部的流动情况抽象地独立出来, 舍去了具体的组织机构等,以发现和解决数据流中的问题。员工将产品信息和客户信息录入,生成相应的产品档案和客户档案,而订单记录建
6、立了客户和产品的联系,并存储这些记录。其数据流程图如图2-3所示图2-3 数据流程图2.7数据分析数据字典:根据系统的数据流程图,得到数据流、数据存储、加工和数据项的数据字典,数据字典详细描述了数据流程图中各个项,有助于操作员进一步了解系统的逻辑功能和结构。举例如下: (1)数据项条目:数据项名称:订购日期简述:客户订购商品的日期别名:无类型:日期取值范围:1000-01-01到9999-12-31数据项名称:订单编号简述:用户此次订货在系统内部的定义别名:订单编号类型:字符型取值范围:000000到999999数据项名称:客户编号简述:客户在经销商编号别名:客户编号类型:字符型取值范围:00
7、0000到999999(2)数据流条目:数据流名称:客户信息简述:对客户的基本信息进行介绍数据流来源:订单记录数据流去向:客户档案数据流组成:客户编号+客户姓名+联系方式+客户地址+备注数据流量:100次/日高峰流量:200次/日数据流名称:产品信息数据流来源:厂家数据流去向:产品档案简述:厂家将各产品信息写入系统,以便查询使用数据流组成:产品号+产品名称+主要材料+备注数据流量:100次/日高峰流量:200次/日数据流名称:经销商信息简述:对经销商的基本信息进行介绍数据流来源:厂家数据流去向:经销商档案数据流组成:经销商编号+经销商姓名+联系方式+经销商地址+备注数据流名称:订单信息简述:客
8、户发出订货的证明数据流来源:经销商数据流去向:销售额统计数据流组成:订单号+客户姓名+联系方式+客户地址+产品号+产品名称+主要材料数据流量:100次/日高峰流量:200次/日(3)数据存储条目:数据存储名称:客户档案简述:进一步整理客户信息,一边用于产品维护数据存储组成:客户编号+客户姓名+性别+联系方式+客户地址+产品编号+产品数量+备注关键字:客户编号数据存储名称:产品档案简述:厂家输入产品信息生成产品档案,用于产品查询数据存储组成:产品号+产品名称+主要材料+备注关键字:产品型号数据存储名称:订单记录简述:用于保存客户填写的订单信息数据存储组成:订单号+客户姓名+联系方式+客户地址+产
9、品号+产品名称+主要材料关键字:订单号数据存储名称:销售统计表简述:将统计后的销售信息存储下来,用于厂家和经销商的查询数据存储组成:销售额统计 关键字:产品编号(4)处理逻辑条目:处理逻辑名称:销售统计简述:对销售情况进行统计输入数据流:订单信息处理:根据订单信息,找出销售状况,分析出各种产品的销售状况,经销商业绩输出数据流:销售统计表3 系统设计3.1系统总体结构设计订单式销售管理系统的系统模块结构图见图3-1:图3-1 系统模块结构图3.2数据结构与数据库设计3.2.1数据库的概念结构设计概念结构设计是按用户的观点对数据和信息建模,而概念模型的最常用的表示方法是实体-联系方法(简称e-r图
10、),该系统的而图如图3-2所示:图3-2 e-r图3.2.2 数据库的表结构定义用户信息表:存放用户的相关信息。如表3-3所示:表3-3 用户信息表字段名属性备注userid userpwduservelvarchar(10)varchar(10)varchar(10)主键产品信息表:存放产品的相关信息。如表3-4所示:表3-4 产品信息表字段名属性备注产品型号产品名称规格描述备注char(50)varchar(50)char(50)varchar(50)主键经销商信息表:存放经销商的相应信息。如表3-5所示:表3-5经销商信息表字段名属性备注经销商编号经销商姓名性别联系电话住址备注char(
11、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)intmoneydatetimed
12、atetimevarchar(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 登陆界面登陆界面代
13、码如下: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() initializecompone
14、nt(); 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= + t
15、his.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.rows0uservel.tostring(); frmlogin.can = true
16、; this.close(); else messagebox.show(用户名或密码错误,请重新输入!, 登录提示); 4.2系统主界面主界面包含系统管理、产品信息管理、客户信息管理、经销商信息管理、订货单信息管理、数据汇总这几个模块,如图4-2所示。图4-2 系统主界面4.3部分功能模块设计界面及部分代码(1) 部分功能模块界面如下:产品信息管理界面如下:客户信息管理界面如下:经销商信息信息管理界面如下:经销商信息管理界面如下:(2) 主要代码如下: 数据库连接代码 class dataaccess sqlconnection myconn; static string str = ser
17、ver =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
18、 = ) | (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
19、.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.sq
20、lclient;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) sql
21、command 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 = ne
22、w sqlcommand(sql,this.myconn);sqldatareader dr = cmd.executereader();tryif(dr.read()return true;elsereturn false;catch(system.data.sqlclient.sqlexception ex) messagebox.show(ex.message.tostring(); return false;finallydr.close();cmd.dispose();this.myconn.close(); public datatable exesqldt(string sql)
23、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)/
24、添加经销商信息 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 经销商
25、信息表 (经销商编号,经销商姓名,性别,联系电话,住址,备注) 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); 订单式销售管理系统.子窗体.frm
26、jingxiaoshanginfo.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 =订
27、单式销售管理系统;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, 经销商信息表)
28、; datagridview1.datasource = myds.tables经销商信息表; 经销商信息修改代码 private void button3_click(object sender, eventargs e)/执行经销商信息修改功能 dialogresult id = messagebox.show(您确定要修改经销商编号为+datagridview1.selectedcells0.value.tostring()+的信息么?, 修改提示!, messageboxbuttons.yesno); if (id = dialogresult.yes) sqlcommandbuild
29、er 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); 经销商信息添
30、加代码 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
31、.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 d
32、a = new dataaccess(); da.exesql(sqltext); 订单式销售管理系统.子窗体.frmjingxiaoshanginfo.jingxiaoshanginfo.enabled = true; 订单式销售管理系统.子窗体.frmjingxiaoshanginfo.jingxiaoshanginfo.dbdatagrid(); this.close(); messagebox.show(添加成功!, 添加提示!); 调用视图代码 private void button1_click(object sender, eventargs e)/执行查询订货单信息记录功能 s
33、tring 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_ordermyda = new sql
34、dataadapter(mysql, myconn); myda.fill(myds, v_order); datagridview1.datasource = myds.tablesv_order; 调用存储过程代码 dataaccess da = new dataaccess(); sqlcommand insertcommand = da.conn.createcommand(); insertcommand.commandtext = execute pro_userinfo userid,userpwd,uservel;/调用数据库中的存储过程添加用户信息 insertcommand
35、.parameters.add(userid, sqldbtype.varchar, 10).value = textbox1.text.tostring(); insertcommand.parameters.add(userpwd, sqldbtype.varchar, 10).value = textbox2.text.tostring(); insertcommand.parameters.add(uservel, sqldbtype.varchar, 10).value = combobox1.text.tostring(); da.conn.open();4结束语本学习在刘印平老师
36、的组织带领下完成本系统的设计,由于有了上次的设计经验,此次的设计过程比较得心应手。经过一个学期的努力,我终于完成了本系统的设计,期间遇到很多未知困难,但是在老师和同学悉心帮助下,我逐一克服,最终完成了本次设计。此次设计系统,使我对系统的开发流程有了更深刻的认知,并对所学的知识有了更彻底的了解。纸上得来终觉浅绝知此事要躬行。平时认为书上的知识都掌握了,但是在实际设计过程中发现自己的那点专业知识难以解决我们所面对的困难。对于自己本次的设计情况只能说达到良好,虽然有上个学期的设计经验,但我觉得设计的系统还有很大的改进空间,功能也不够全面,许多细节问题考虑的也不够周到详细,希望今后随着专业知识的提升可
37、以设计出更完善更合理的系统。最后由衷的感谢刘印平老师,同时也感谢我的同学们,没有你们的帮助我是难以完成此次任务的,希望在今后的学习过程中我们取得更显著的提高。参考文献1 姜方桃主编管理信息系统理论与实务m清华大学出版社,2010。2 高屹 齐东元 李雷编著web应用开发技术m清华大学出版社,2008。 3 求是科技asp.net数据库管理系统开发实例导航m人民邮电出版社,2005。 4 christian nagel美c#高级编程m清华大学出版社,2006。 5 jesse liberty美programming asp.netm电子工业出版社,2007。 6 张树亮 李超asp.net 2.
38、0+sql server网络应用系统开发案例精解m清华大学出版社,2006。 7 郝刚asp.net 2.0开发指南m人民邮电出版社,2006。 8 chris hart;john kauffman美asp.net 2.0经典教程-c#篇m人民邮电出版社,2007。 9 百度搜索 10 系统使用说明 11 网络系统方案设计 g an employment tribunal claimemployment tribunals sort out disagreements between employers and employees.you may need to make a claim to
39、 an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.for more information about dismissal and unfair dismissal, seedismissal.you can make a claim to an employment tr
40、ibunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. however, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.remember that in most cases you must make an application to an employmen
41、t tribunal within three months of the date when the event you are complaining about happened. if your application is received after this time limit, the tribunal will not usually accept it.if you are worried about how the time limits apply to you, take advice from one of the organisations listed und
42、erfurther help.employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.most people find making a claim to an employment tribunal challenging. if you are thinking about making a claim to an employment
43、 tribunal, you should get help straight away from one of the organisations listed underfurther help.if you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. this is known as adamages-based
44、 agreement. in england and wales, your solicitor cant charge you more than 35% of your compensation if you win the case.if you are thinking about signing up for a damages-based agreement, you should make sure youre clear about the terms of the agreement. it might be best to get advice from an experienced adviser, for example, at a citizens advice bureau. to find your nearest cab, including those that give advice by e-mail, click onnearest cab.for more information about making a claim to an employment tribunal, seeemployment tribunals.the (lack of) air up there
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论