收藏 分销(赏)

小型超市信息管理系统.docx

上传人:pc****0 文档编号:8888337 上传时间:2025-03-06 格式:DOCX 页数:32 大小:527.20KB
下载 相关 举报
小型超市信息管理系统.docx_第1页
第1页 / 共32页
小型超市信息管理系统.docx_第2页
第2页 / 共32页
点击查看更多>>
资源描述
沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:软件综合课程设计 课程设计题目:小型超市信息管理系统 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 完成日期:2013年1月11日 目 录 第1章 需求分析 1 1.1 题目背景 1 1.2 题目意义 1 1.3 功能需求 2 1.4 开发环境需求 2 第2章 概要设计 3 2.1 数据库设计及其分析 3 2.2 功能模块图及其分析 4 2.3 系统的设计目标 4 第3章 详细设计 6 3.1 数据库设计 6 3.2 功能模块图详细设计 8 3.2.1 系统登录模块 9 3.2.2 商品信息管理模块 10 3.2.3 供应商信息管理模块 10 3.2.4 职工信息管理模块 11 3.2.5 顾客信息管理模块 11 3.2.6 供货单信息管理模块 12 3.2.7 消费单信息管理模块 13 3.2.8 供货细则信息管理模块 13 3.2.9 消费细则信息管理模块 14 3.3 功能模块图详细设计 15 第4章 调试分析 16 第5章 用户手册 17 参考文献 20 附 录(程序清单) 21 第1章 需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。 1.1 题目背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力、财力,既改善了员工的工作条件,又减轻了劳动强度同时能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2 题目意义 在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。 超市的目标就是以优质的服务和品种齐全的商品,面向地区的所有消费者,以使经营者能够实现最大利润,具体的目标为:最方便的提供消费者所需购买物品,详细如实的记录物品的品种分类,了解市场发展方向,及时修正进货信息,修改库存管理方法,提高工作效率节余财力物力资源。 1.3 功能需求 (1)用户登录功能,这是用户进入系统的必要门槛,只有管理员有这个登录权限。 (2)对商品、供应商、职工等基本信息进行添加、删除、修改、查询以及相关数据分析。 (3)体现出供应商供货情况和顾客消费情况。 (4)实现基于关键字的检索。 1.4 开发环境需求 操作系统:Windows 7 开发软件:Microsoft Visual Studio 2010 数据库:Oracle10g 系统选用的都是免费的软件,对开发成本的降低有很大意义;而且每个软件功能强大,操作简单,方便使用。 第2章 概要设计 概要设计的工作是为系统建立基本框架,创建系统的功能模块图和用来反映数据关系的E-R图表示。 2.1 数据库设计及其分析 建立系统数据模型的主要工具是实体-关联图,即E-R图。 在数据库设计中,包含以下实体: 商品(商品编号, 商品名称, 供应商编号, 商品数量, 商品单价, 生产日期, 保质期, 产地) 供应商(供应商编号, 供应商名称, 供应商地址, 供应商电话) 职工(职工编号, 职工姓名, 职工性别, 职工电话) 顾客(顾客编号, 顾客姓名, 顾客性别, 顾客电话) 供货单(供货单编号, 供应商编号, 供货日期, 供货总计) 消费单(消费单编号, 顾客编号, 消费日期, 消费总计) 供货细则(供货细则编号, 供货单编号, 商品编号, 商品名称, 价格, 商品数量) 消费细则(消费细则编号, 消费单编号, 商品编号, 商品名称, 价格, 商品数量) 本系统中各实体关系的E-R图有供货关系E-R图和消费关系E-R图。 供货关系E-R图实体之间的联系:同一种商品可以由多个供应商提供,同一个供应商也可以提供多种商品,因此商品与供应商的之间关系是多对多;一个供应商供货可以形成多张供货单,一个供货单中也可以有多个供货细则,因此供货单和供货细则之间,供应商和供货单之间的关系都是一对多,如图2.1所示: 图2.1 供货关系E-R图 消费关系E-R图实体之间的联系:同一种商品可以由多个顾客购买,同一个顾客也可以购买多种商品,因此商品与顾客的之间关系是多对多;一个顾客消费可以形成多张供货单,因此顾客与消费单之间的关系是一对多;一个消费单中也可以有多个消费货细则,因此消费单和消费细则之间的关系是一对多。如图2.2所示: 图2.2 消费关系E-R图 2.2 功能模块图及其分析 一般的超市商品管理系统,主要由六大模块组成,商品信息管理模块、供应商信息管理模块,职工信息管理模块,顾客信息管理模块、供货信息管理模块、消费信息管理模块,此系统也不例外,主要有此六大模块组成。如图2.3系统功能结构图所示。 图2.3 系统功能结构图 2.3 系统的设计目标 本系统的设计目标主要包括六大模块,分别是商品信息管理模块、供应商信息管理模块,职工信息管理模块,顾客信息管理模块、供货信息管理模块、消费信息管理模块。其中供货信息管理模块和消费信息管理模块中分别包含查询供货细则和查询消费细则的功能。 第3章 详细设计 3.1 数据库设计 (1)商品信息表(product)用于存储商品的基本信息,此表用于实现商品信息的添加、修改、查询、删除等功能,但修改时不能修改主码p_id的信息,查询和删除信息时都是依据主码p_id进行查询和删除的,如表3.1所示: 表3.1 商品信息表(product) 属性名称 英文名称 字段类型 长度 是否为主键 字段值约束 商品编号 p_id varchar 10 是 NOT NULL 商品名称 p_name varchar 20 否 NOT NULL 供应商编号 g_id varchar 10 否 NOT NULL 商品数量 p_number int 10 否 NOT NULL 商品单价 p_price double 10 否 NOT NULL 生产日期 p_date date 10 否 NOT NULL 保质期 p_bzq date 10 否 NOT NULL 产地 p_place varchar 20 否 NOT NULL (2)供应商信息表(gys)用于存储供应商的基本信息,此表用于实现供应商信息的添加、修改、查询、删除等功能,但修改时不能修改主码g_id的信息,查询和删除信息时都是依据主码g_id进行查询和删除的,如表3.2所示: 表3.2 供应商信息表(gys) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 供应商编号 g_id varchar 10 是 NOT NULL 供应商名称 g_name varchar 20 否 NOT NULL 供应商地址 g_address varchar 20 否 NOT NULL 供应商电话 g_phone varchar 10 否 NOT NULL (3)职工信息表(users)用于存储职工的基本信息,此表用于实现职工信息的添加、修改、查询、删除等功能,但修改时不能修改主码u_id的信息,查询和删除信息时都是依据主码u_id进行查询和删除的,如表3.3所示: 表3.3 职工信息表(users) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 职工编号 u_id varchar 10 是 NOT NULL 职工姓名 u_name varchar 20 否 NOT NULL 职工性别 u_sex varchar 10 否 NOT NULL 职工电话 u_phone varchar 10 否 NOT NULL (4)顾客信息表(customer)用于存储顾客的基本信息,此表用于实现顾客信息的添加、修改、查询、删除等功能,但修改时不能修改主码c_id的信息,查询和删除信息时都是依据主码c_id进行查询和删除的,如表3.4所示: 表3.4 顾客信息表(customer) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 顾客编号 c_id varchar 10 是 NOT NULL 顾客姓名 c_name varchar 20 否 NOT NULL 顾客性别 c_sex varchar 10 否 NOT NULL 顾客电话 c_phone varchar 10 否 NOT NULL (5)供货单信息表(ghd)用于存储供货单的基本信息,此表用于实现供货单信息的添加、修改、查询、删除等功能,但修改时不能修改主码ghd_id的信息,查询和删除信息时都是依据主码ghd_id进行查询和删除的,如表3.5所示: 表3.5 供货单信息表(ghd) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 供货单编号 ghd_id varchar 10 是 NOT NULL 供应商编号 g_id varchar 10 否 NOT NULL 供货日期 ghd_date date 10 否 NOT NULL 供货总计 ghd_ghzj int 10 否 NOT NULL (6)供货细则表(ghxz)用于存储供货细则的基本信息,此表用于实现供货详细信息的添加、修改、查询、删除等功能,但修改时不能修改主码gh_id的信息,查询和删除信息时都是依据主码gh_id进行查询和删除的,如表3.6所示: 表3.6 供货细则信息表(ghxz) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 供货细则编号 gh_id varchar 10 是 NOT NULL 供货单编号 ghd_id varchar 10 否 NOT NULL 商品编号 p_id varchar 10 否 NOT NULL 商品名称 p_name varchar 20 否 NOT NULL 价格 gh_price double 10 否 NOT NULL 商品数量 gh_number int 10 否 NOT NULL (7)消费单信息表(xfd)用于存储消费单的基本信息,此表用于实现消费单信息的添加、修改、查询、删除等功能,但修改时不能修改主码x_id的信息,查询和删除信息时都是依据主码x_id进行查询和删除的,如表3.7所示: 表3.7 消费单信息表(xfd) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 消费单编号 x_id varchar 10 是 NOT NULL 顾客编号 c_id varchar 10 否 NOT NULL 消费日期 x_date date 10 否 NOT NULL 消费总计 x_xfzj int 10 否 NOT NULL (8)消费细则信息表(xfxz)用于存储消费细则的基本信息,此表用于实现消费详细信息的添加、修改、查询、删除等功能,但修改时不能修改主码xf_id的信息,查询和删除信息时都是依据主码xf_id进行查询和删除的,如表3.8所示: 表3.8 消费细则信息表(xfxz) 中文字段名 英文字段名 字段类型 长度 是否为主键 字段值约束 消费细则编号 xf_id varchar 10 是 NOT NULL 消费单编号 x_id varchar 10 否 NOT NULL 商品编号 p_id varchar 10 否 NOT NULL 商品名称 p_name varchar 20 否 NOT NULL 价格 xf_price double 10 否 NOT NULL 商品数量 xf_number int 10 否 NOT NULL 3.2 功能模块图详细设计 系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统就是要对这些资源建立正确的数据库,并进行信息的添加、修改、删除、查询以及对关键字的检索,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,使超市完成其目标。 本系统主要包括六大模块,商品信息管理模块、供应商信息管理模块、职工信息管理模块、顾客信息管理模块、供货信息管理模块、消费信息管理模块。每个模块的功能如下: (1) 商品信息管理模块功能: l 实现商品信息的查询和基于关键字的检索。 l 实现商品信息的增加、修改、删除。 (2)供应商信息管理模块功能: l 实现供应商信息的查询和基于关键字的检索。 l 实现供应商信息的增加、修改、删除。 (3) 职工信息管理模块功能: l 实现职工信息的查询和基于关键字的检索。 l 实现职工信息的增加、修改、删除。 (4) 顾客信息管理模块功能: l 实现顾客信息的查询和基于关键字的检索。 l 实现顾客信息的增加、修改、删除。 (5) 供货信息管理模块功能: l 实现供货信息的查询和基于关键字的检索。 l 实现供货信息的增加、修改、删除。 (6) 消费信息管理模块功能: l 实现消费信息的查询和基于关键字的检索。 l 实现消费信息的增加、修改、删除。 3.2.1系统登录模块 用户登录模块在本系统的首页。为了使系统的安全得到保障,大多数系统都开发登录模块。只有通过登录模块,才能对登录用户进行验证,只有系统的合法用户才可以进入系统主界面。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面,登录界面如图3.1所示。 图3.1 用户登录界面 3.2.2 商品信息管理模块 此模块可以实现对商品信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对商品信息进行合理的管理,界面如图3.2所示。 图3.2 商品信息管理界面 3.2.3 供应商信息管理模块 此模块可以实现对供应商信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对供应商信息进行合理的管理,界面如图3.3所示。 图3.3 供应商信息管理界面 3.2.4 职工信息管理模块 此模块可以实现对职工信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对职工信息进行合理的管理,界面如图3.4所示。 图3.4 职工信息管理界面 3.2.5 顾客信息管理模块 此模块可以实现对顾客信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对顾客信息进行合理的管理,界面如图3.5所示。 图3.5 顾客信息管理界面 3.2.6 供货单信息管理模块 此模块可以实现对供货单信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对供货信息进行合理的管理,界面如图3.6所示。 图3.6 供货单信息管理界面 3.2.7 消费单信息管理模块 此模块可以实现对消费单信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对消费信息进行合理的管理,界面如图3.7所示。 图3.7 消费单信息管理界面 3.2.8 供货细则信息管理模块 此模块可以实现对供货详细信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对供货详细信息进行合理的管理,界面如图3.8所示。 图3.8 供货详细信息管理界面 3.2.9 消费细则信息管理模块 此模块可以实现对消费详细信息的查询、添加、修改、删除以及对关键字的检索等功能,能够对消费详细信息进行合理的管理,界面如图3.9所示。 图3.9 消费详细信息管理界面 3.3 功能模块图详细设计 重要模块程序框图如图3.10所示: 图3.10 重要模块程序框图 成功登录系统之后,可以根据界面左上角的“查询”“修改”“删除”按钮分别对信息进行查询、修改、删除操作。当添加信息时,在界面上也有相应的按钮进行添加操作,每一步操作完成之后都会有提示。 第4章 调试分析 在此次系统开发过程中,遇到了各式各样的错误,但经过与同学交流和上网查询资料之后反复调试最终才得以解决,下面我将此次系统开发遇到的一些典型错误和解决方法总结如下: 错误1:在连接oracle数据库时总是连接失败。 解决方法:第一次连接数据库时就出现了好多错误,始终连接不上,后来才发现自己犯了一个很可笑的错误,少写了一个头文件,但是加上之后发现仍然有错误,在与同学一起探讨以及在网上查阅资料才发现,连接数据库的控制字写错了,更改之后最终成功连接数据库。 错误2:在供货详情和消费详情的界面上点击viewlist时,无法把数据显示在textbox上,导致无法实现信息的修改和删除功能。 解决方法:通过反复调试,不断在供货细则和消费细则中添加数据,最终发现了问题所在,因为listview默认以第一列数据为标准实现listview中的所选数据在相应的textbox上的显示功能,当然查询和删除时也是以第一列数据为标准的,所以一定要把主码放在listview上的第一列,通过修改之后最终解决了问题,成功实现了所有的增、删、改、查功能。 第5章 用户手册 第一步:进入超市管理系统的登录界面,如图5.1所示: 图5.1 登录界面 第二步:输入账号“sunqi”,密码“123456”,点击“登录”按钮。当账号输入错误时,系统会弹出对话框提示“账号错误,请重新输入”,当密码输入错误时,系统同样会弹出对话框提示“密码错误,请重新输入”,直到成功登录,进入主界面,如图5.2所示: 图5.2 登录界面 第三步:在进入主界面之后,能够看到六大模块,分别是“商品信息管理” “供应商信息管理”“员工信息管理”“顾客信息管理”“供货信息管理”“消费信息管理”。这六大模块的功能大致相同,均都实现了信息的添加、修改、删除、查询功能。下面以“商品信息管理”这栏为例,在此界面下方表格中选中一行,再结合界面上方的文本框,就可以实现商品信息的添加、修改、查询、删除以及对关键字的检索等功能。但对信息进行删除操作时要注意,点击界面左上角“删除”键就可以删除此行信息,为了防止不小心删除掉重要信息无法恢复造成损失,当删除时会弹出一个框“真的要删除此项吗?”如若删除直接点击“确定”即可,如图5.3所示: 图5.3 登录界面 第四步:当对供货信息管理和消费信息管理两大模块进行操作时,如若查询详情,请点击这两个模块中的“供货详情”和“消费详情”两个按钮对相应的信息进行查询,也可以实现供货细则和消费细则的添加、修改和删除等功能。当顾客所购买的东西过多时,此系统有一个“总计”按钮,点击这个按钮就可以快速计算出消费单上的总计金额,快速方便,而且可以直接从消费信息管理界面上查询到消费单的总计金额,如图5.4所示: 图5.4 消费详情界面 第五步:如若退出系统点击界面左上方“退出”按钮,单击“确定”退出系统,谢谢使用!如图5.5所示: 图5.5 退出界面 参考文献 [1] 张基温,陈佳 . 信息系统开发 . 北京:清华大学出版社,2006 [2] 卫红春 . 信息系统分析与设计 . 西安:西安电子科技大学出版社,2003 [3] 黄梯云 . 管理信息系统 . 北京:高等教育出版社,2005 [4] 方美琪,陈禹 . 软件开发工具 . 北京:经济科学出版社,2008 [5] 王珊,数据组织与管理 . 北京:经济科学出版社,1996 [6] 明日科技,张跃廷,韩阳,张宏宇 . C#数据库系统开发案例精选 . 北京:人民邮电出版社,2007 [7] 薛化成管理 . 信息系统第三版 . 北京:清华大学出版社,1999 [8] 萨师煊,王珊 . 数据库系统概论第四版 . 北京:高等教育出版社,2001 [9] 王立福 . 软件工程第二版 . 北京:北京大学出版社,2002 [10] 程学先 . 数据库原理与技术 . 北京:中国水利水电出版社,2001 附 录(程序清单) Programmer程序段 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace supermarket { static class Program { /// <summary> /// 应用程序入口 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } 连接数据库程序段 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; namespace supermarket { class BaseDao { protected OleDbConnection conn = null; protected OleDbDataReader result = null; private String connectStr = "Provider=OraOLEDB.Oracle;Server=localhost;Data Source=orcl; User ID=scott;Password=tiger;"; public void open() { String connectStr = "Provider=OraOLEDB.Oracle;Server=localhost;Data Source=orcl; User ID=scott;Password=tiger;"; conn = new OleDbConnection(connectStr); conn.Open(); //MessageBox.Show("连接数据库成功"); } public OleDbConnection getConnection() { return new OleDbConnection(connectStr); } public void close() { if (conn != null) { conn.Close(); } if (result != null) { result.Close(); } } } } 主要程序段(包括信息的添加、修改、删除、查询) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace supermarket { public partial class Form3 : Form { private String ghd_id; public Form3() { InitializeComponent(); } public Form3(String ghd_id) { this.ghd_id = ghd_id; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //添加方法 DialogResult result = MessageBox.Show("真的要添加此项吗?", "确认?", MessageBoxButtons.OKCancel); StringBuilder insertStr = new StringBuilder(); StringBuilder valueStr = new StringBuilder(); String sql = null; BaseDao basedao = new BaseDao(); OleDbConnection conn = basedao.getConnection(); conn.Open(); insertStr.Append(" insert into ghxz(ghd_id,gh_id,p_id,p_name,gh_price,gh_number) "); valueStr.Append(" values ('" + this.textBox1.Text + "','" + this.textBox7.Text + "','" + this.textBox3.Text + "','" + this.textBox4.Text + " ','" + this.textBox5.Text + "','" + this.textBox6.Text + "')"); sql = insertStr.ToString() + valueStr.ToString(); // MessageBox.Show(sql); OleDbCommand comm = new OleDbCommand(sql, conn); try { comm.ExecuteNonQuery(); MessageBox.Show("添加成功!"); } catch (Exception exc) { MessageBox.Show("输入格式不正确,请重新输入"); Console.Write(exc); } conn.Close(); this.selectghxzall(); } private void toolStripButton1_Click(object sender, EventArgs e) { //查询方法 StringBuilder selectStr = new StringBuilder(); StringBuilder whereStr = new StringBuilder(); String sql = null; String order = null; selectStr.Append(" select gh_id,ghd_id,p_id,p_name,gh_price,gh_number from ghxz where 1=1 "); if (this.textBox1.Text != "" && this.textBox1.Text != null) { whereStr.Append(" and ghd_id = '"); whereStr.Append(this.textBox1.Text); whereStr.Append("' "); } if (this.textBox7.Text != "" && this.textBox7.Text != null) { whereStr.Append(" and gh_id = '"); whereStr.Append(this.textBox7.Text); whereStr.Append("' "); } if (this.textBox3.Text != "" && this.textBox3.Text != null) { whereStr.Append(" and p_id = '"); whereStr.Append(this.textBox3.Text); whereStr.Append("' "); } if (this.textBox4.Text != "" && this.textBox4.Text != null) { whereStr.Append(" and p_name like '%"); whereStr.Append(this.textBox4.Text); whereStr.Append("%' "); } order = " order by ghd_id"; sql = selectStr.ToString() + whereStr.ToString() + order; //MessageBox.Show(sql); BaseDao basedao = new BaseDao(); OleDbConnection conn = basedao.getConnection(); conn.Open(); OleDbCommand comm = new OleDbCommand(sql, conn); OleDbDataReader read = comm.ExecuteReader(); if (this.listView1.Items != null) { this.listView1.Items.Clear(); } while (read.Read()) { ListViewItem listItem = new ListViewItem(new String[] { read["gh_id"].ToString(), read["ghd_id"].ToString(), read["p_id"].ToString(), read["p_name"].ToString(), read["gh_price"].ToString(), read["gh_number"].ToString() }); this.listView1.Items.Add(listItem); } read.Close(); conn.Close();
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服