计算机网络专业毕业论文38991.doc
C#课程设计(论文) 题 目:家电维修管理系统专 业:计算机网络指导教师 摘要近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。作为传统的餐饮企业更是存在这些问题,进货,库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准、高效率的计算机管理方式引导其发展,通过计算机管理企业的日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。作为计算机应用的一部分,使用计算机对餐饮企业信息进行管理,具有手工管理所无法比拟的优点;例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高信息管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。经过分析,本系统运用了Microsoft Office Access 2003为后台数据库,以Microsoft Visual 2005为前端开发工具,系统实现了前台管理、桌台信息的查询、开台信息、点菜、打印、报表、收银、桌台信息管理、员工管理、菜单维护、消费查询和盈利信息查询等功能。关键词:餐饮管理系统;Access; 餐饮; Visual Studio 2005目录1 引 言11.1 本课题研究的意义.11.2 系统说明11.3系统研究设计目标.21.4 Microsoft Office Access 2005简介.21.5 C#语言简介.22 总体设计32.1 总体模块说明 .32.2 业务流程实现描述.42.3 工作统计流程实现描述63 系统用例详细分析83.1 数据库的设计83.2 数据库逻辑结构设计83.3 数据库的备份和恢复94 系统实施104.1 系统的运行环境.104.2 界面设计及程序设计.104.2.1员工信息管理.104.2.2 部门信息管理144.2.3 维修报价管理164.2.4 商家信息管理194.2.5 客户信息管理20 4.2.6配件信息管理 224.2.7查询维修信息144.2.8查询配件领用164.2.9查询配件入库194.2.10维修登记管理20 4.2.11派修登记管理 224.2.12完修登记管理.224.2.13签收登记管理.225 系统测试与评价265.1 系统测试.265.1.1 测试的任务和目标265.1.2 测试过程和结果分析265.2 系统评价.276 总结28参考文献29致谢301 引 言1.1本课题研究的意义1.2系统说明1.2.1系统设计简介 该系统是一个典型的Windows应用程序,Windows应用程序是面向对象的、事件驱动的应用程序,有比较比较标准的用户界面。用户界面设计是软件开发中很重要的一项工作,C#及.NET为之提供了众多标准控件和组件。该系统主要运用了Windows应用程序的窗体,类,文本框,列表框,标签等常用控件和组件,以及控件的属性,事件,界面设计的方法与技巧。掌握这些控件和组件的用法是编写Windows应用程序的基础。 家电维修管理是,拟用.NET提供地标准控件和组件编写一小软件实现写、编辑等功能。1.2.2 系统设计目的训练Windows应用程序建立的基本步骤。学会使用标准控件和组件建立用户界面。掌握标准控件和组件的属性设置。学会编程方式设置和修改属性,能够应用方法实现相应功能。进一步掌握方法的声明、访问等。1.2.3 主要技术 (1)建立项目;(2)在项目中添加窗体;(3)将控件添加到设计窗体;(4)设置控件的初始属性;(5)为指定事件编写处理程序;(6)运行调试程序。1.3系统研究设计目标 本系统的设计目标旨在提高餐饮娱乐业店家的竞争能力。为餐饮娱乐业提供先进的管理模式和经营理念;提供运行稳定、安全可靠、操作简便的管理系统。 1、一套先进的管理软件,带来一套先进的管理思想,借此改善酒店运作; 2、使酒店的经营管理和日常工作规范化、程序化、标准化、制度化; 3、完善经营管理体制,提高酒店的管理水平; 4、提高人员的工作效率,从而提高服务质量; 5、做好市场营销分析,及时调整市场营销策略; 6、实时提供酒店经营数据及统计分析,为领导提供决策依据; 7、提供成本核算数据,加强成本控制,减少积压,加速资金周转; 8、提高酒店的形象,从而提高经济效益和社会效益。Visual Studio 2005是美国微软公司推出Visual Studio 2005(以下简称VS出的最新开发工具,该版本具有的新功能ASP.NET 2.0 、CLR 2.0、 VB.NET语言与C#.NET语言上的强化,提供更好的是、执行效能,并更加注重安全性等方面。VS 2005是一套完整的开发工具集,用于生成ASP.NET WEB Services、桌面应用程序和移动应用程序。)VS 2005是一个完全的面向对象的开发平台,在VS 2005中由于使用了统一的IDE环境使开发跨语言平台的应用程序成为可能,程序员可根据自己的实际情况在同一应用程序中使用不同的语言编写代码。VS 2005中提供用于WEB应用程序开发的模板,程序员可以像在VB中设计WINDOWS程序一样使用系统提供的大量WEB应用程序控件设计出功能强大的可运行在IIS WEB服务中的应用程序。1.4 Visual Studio 2005简介Visual Studio 2005是美国微软公司推出Visual Studio 2005(以下简称VS出的最新开发工具,该版本具有的新功能ASP.NET 2.0 、CLR 2.0、 VB.NET语言与C#.NET语言上的强化,提供更好的是、执行效能,并更加注重安全性等方面。VS 2005是一套完整的开发工具集,用于生成ASP.NET WEB Services、桌面应用程序和移动应用程序。)VS 2005是一个完全的面向对象的开发平台,在VS 2005中由于使用了统一的IDE环境使开发跨语言平台的应用程序成为可能,程序员可根据自己的实际情况在同一应用程序中使用不同的语言编写代码。VS 2005中提供用于WEB应用程序开发的模板,程序员可以像在VB中设计WINDOWS程序一样使用系统提供的大量WEB应用程序控件设计出功能强大的可运行在IIS WEB服务中的应用程序。1.5 C#语言简介C#是一种现代的面向对象的程序开发语言,是微软为.NET平台量身定制的一种语言,使的程序员能够在新的微软.NET平台上快速开发种类丰富的应用程序。它具有良好的安全性和跨平台性。.NET平台提供了大量的工具和服务,能够最大限度的发掘和使用计算及通信能力,.NET框架的各种优点在C#中表现得淋漓尽致。由于其一流的面向对象的设计,从构建组件形式的高层商业对象到构造系统级应用程序,你会发现C#将是最合适的选择。使用C#程序设计的组件能够用于Web服务,这样通过Internet,可以被运行于任何操作系统上任何编程语言所调用。C#可以是整个开发过程更为简洁明快。不但如此,C#还能为C+程序员提供快捷的开发方式,有没有丢C和C+的基本特征。强大的控制能力C#和C+有着很大程度上的相似性。熟悉C和C+的开发人员很快就能精通C#。 2 总体设计2.1 总体模块说明项目内容:此系统使用了架构模式实现了管理人员登陆模块, 菜单管理模块, 桌台管理模块, 餐厅人员管理模块, 点菜功能模块, 消费结帐模块, 查询统计功能模块。此系统是基于C/S结构。 菜单管理模块:管理人员可以添加菜谱到系统中, 并能进行日常维护,系统可以对整个菜单分类管理,可区分各种菜类、粥类、酒水、主食,此处是该界面加载是将数据库中的表分类绑定给treeView。桌台管理模块: 餐厅管理人员能维护和管理整个餐厅的桌台信息,可以显示该桌台是否可用,可以扩大或减小餐厅规模,可以新添包房和删除包房,当点击桌台图片时,可显示该桌台的所有信息。餐厅人员管理模块: 能维护整个餐厅服务人员的信息记录。点菜功能模块: 顾客入座后,该桌台显示有人, 顾客消费过程中,将消费情况记录到系统中,并支持查询,当点击桌台图片时,可显示该桌台的消费情况。当点击加菜按钮时跳到另一页进行加菜功能。消费结帐模块: 系统可以自动对消费情况进行结算.可显示该消费者的所有消费情况,并能自动实现找零计算和打印消费单情况的功能。查询统计功能模块: 能按月按日统计餐厅整个赢利情况,并打印报表,能依据消费单号查询某顾客的消费明细。模块图如下: 家电维修管理系统部门信息管理配件入库管理维修报价管理配件信息管理工具借用管理维修登记管理基本管理查询管理配件管理维修管理商家信息管理客户信息管理员工信息管理完修登记管理派修登记管理签收登记管理查询配件领用信息登录管理系统查询维修信息查询配件入库信息 系统功能模块图 2.2 业务流程实现描述系统设计要点:1、实现流程示意图如下:图1 业务流程示意图2.3 工作统计流程实现描述通过对前台的管理可分为四个主要阶段来对系统管理。工作统计流程实现示意图如下: 图2 整体工作流程示意图3 系统用例详细分析3.1 数据库的设计4 系统实施4.1 系统的运行环境功能描述: 4.2 界面设计及程序设计4.2.1 功能描述: 图1 员工信息管理界面 代码实现如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace sl public partial class Frmyg : Form public Frmyg() InitializeComponent(); ClassDB db = new ClassDB(); Classyg yg = new Classyg(); private void 员工信息管理表BindingNavigatorSaveItem_Click(object sender, EventArgs e) this.Validate(); /this.员工信息管理表BindingSource.EndEdit(); /this.员工信息管理表TableAdapter.Update(this.数据库DataSet4.员工信息管理表); private void Frmyg_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“数据库DataSet9.yg”中。您可以根据需要移动或移除它。 /this.ygTableAdapter.Fill(this.数据库DataSet9.yg); / TODO: 这行代码将数据加载到表“数据库DataSet4.员工信息管理表”中。您可以根据需要移动或移除它。 /this.员工信息管理表TableAdapter.Fill(this.数据库DataSet4.员工信息管理表); / TODO: 这行代码将数据加载到表“数据库DataSet.员工信息管理表”中。您可以根据需要移动或移除它。 /this.员工信息管理表TableAdapter.Fill(this.数据库DataSet4.员工信息管理表); yg.getTblDa(); yg.createsID(); dataGridView1.DataSource = yg.tB; ygID.Text = yg.ygID; /ctrlBound(); AddNewItem.Enabled = true; DeleteItem.Enabled = true; btnSave.Enabled = true; MoveFirstItem.Enabled = true; MovePreviousItem.Enabled = true; MoveNextItem.Enabled = true; MoveLastItem.Enabled = true; CountItem.Enabled = true; PositionItem.Enabled = true; headBond(); private void headBond() dataGridView1.Columns0.HeaderText = "员工编号" dataGridView1.Columns1.HeaderText = "员工性别" dataGridView1.Columns2.HeaderText = "员工姓名" dataGridView1.Columns3.HeaderText = "家庭住址" dataGridView1.Columns4.HeaderText = "专业名称" dataGridView1.Columns5.HeaderText = "毕业学校" dataGridView1.Columns6.HeaderText = "身份证号" dataGridView1.Columns7.HeaderText = "邮政编码" /dataGridView1.Columns8.HeaderText = "部门名称" /dataGridView1.Columns9.HeaderText = "补充说明" private void ctrlBound() int n = dataGridView1.SelectedCells0.RowIndex; ygbm.Text = dataGridView1.Rowsn.Cells7.Value.ToString(); /ygbmmc.Text = dataGridView1.Rowsn.Cells1.Value.ToString(); ygbyxx.Text = dataGridView1.Rowsn.Cells5.Value.ToString(); ygID.Text = dataGridView1.Rowsn.Cells0.Value.ToString(); /ygname.Text = dataGridView1.Rowsn.Cells5.Value.ToString(); ygname.Text = dataGridView1.Rowsn.Cells4.Value.ToString(); ygsfzh.Text = dataGridView1.Rowsn.Cells6.Value.ToString(); /ygsm.Text = dataGridView1.Rowsn.Cells7.Value.ToString(); ygxb.Text = dataGridView1.Rowsn.Cells1.Value.ToString(); ygxm.Text = dataGridView1.Rowsn.Cells2.Value.ToString(); private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) ctrlBound(); private void ctrlIntiStatus() ygbm.Clear(); ygbmmc.Clear(); ygbyxx.Clear(); ygID.Clear(); ygname.Clear(); ygsfzh.Clear(); ygsm.Clear(); ygxb.Clear(); ygxm.Clear(); private void AddNewItem_Click(object sender, EventArgs e) ctrlIntiStatus(); yg.getTblDa(); yg.createsID(); ygID.Text = yg.ygID; private void DeleteItem_Click(object sender, EventArgs e) yg.ygID = ygID.Text; yg.DataDel(); yg.getTblDa(); dataGridView1.DataSource = yg.tB; string ygid = ygID.Text; DialogResult ync = MessageBox.Show("确实要删除维修编号为“" + ygid+ "”的信息吗?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); switch (ync) case DialogResult.Yes: yg.ygID = ygid; yg.DataDel(); ctrlIntiStatus(); dataGridView1.DataSource = yg.tB; break; case DialogResult.No: ctrlIntiStatus(); break; case DialogResult.Cancel: break; private void btnSave_Click(object sender, EventArgs e) yg.createsID(); yg.ygID = ygID.Text; yg.ygName = ygname.Text; yg.ygSfzh = ygsfzh.Text; yg.ygSM = ygsm.Text; yg.ygXB = ygxb.Text; yg.ygXM = ygxm.Text; yg.ygZZ = ygzz.Text; yg.ygBM = ygbm.Text; yg.ygBmmc = ygbmmc.Text; yg.dataInsert(); dataGridView1.DataSource = yg.tB; ctrlIntiStatus(); yg.getTblDa(); ; private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) ctrlBound(); 4.2.2 图2 部门信息管理界面代码实现如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace sl public partial class Frmbm : Form public Frmbm() InitializeComponent(); Classbm bm = new Classbm(); ClassDB db = new ClassDB(); private void Frmbm_Load(object sender, EventArgs e) bm.getTblDa(); bm.createsID(); dataGridView1.DataSource = bm.tB; bmID.Text = bm.bmID; /bm.bmID = bmID.Text; ctrlBound(); headBond(); AddNewItem.Enabled = true; DeleteItem.Enabled = true; btnSave.Enabled = true; MoveFirstItem.Enabled = true; MovePreviousItem.Enabled = true; MoveNextItem.Enabled = true; MoveLastItem.Enabled = true; CountItem.Enabled = true; PositionItem.Enabled = true; private void headBond() dataGridView1.Columns0.HeaderText = "编号" dataGridView1.Columns1.HeaderText = "部门名称" dataGridView1.Columns2.HeaderText = "工作地址" dataGridView1.Columns3.HeaderText = "管理人员" dataGridView1.Columns4.HeaderText = "主要职责" dataGridView1.Columns5.HeaderText = "联系电话" dataGridView1.Columns6.HeaderText = "部门人数" dataGridView1.Columns7.HeaderText = "补充说明" private void ctrlBound() int n = dataGridView1.SelectedCells0.RowIndex; bmID.Text = dataGridView1.Rowsn.Cells0.Value.ToString(); bmbmmc.Text =dataGridView1.Rowsn.Cells 1.Value.ToString(); bmdz.Text = dataGridView1.Rowsn.Cells4.Value.ToString(); bmry.Text = dataGridView1.Rowsn.Cells2.Value.ToString(); bmzz.Text = dataGridView1.Rowsn.Cells5.Value.ToString(); bmdh.Text = dataGridView1.Rowsn.Cells3.Value.ToString(); bmrs.Text = dataGridView1.Rowsn.Cells6.Value.ToString(); bmsm.Text = dataGridView1.Rowsn.Cells7.Value.ToString(); private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) ctrlBound(); private void ctrlIntiStatus() bmID.Clear (); bmbmmc.Clear (); bmdz .Clear (); bmry.Clear (); bmzz .Clear (); bmsm .Clear (); bmdh.Clear(); bmrs.Clear(); private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) bm.bmID = bmID.Text; bm.