




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大大 型型 软软 件件 项项 目目 实实 训训 报报 告告 题题 目目 超市商品管理系统超市商品管理系统 选题来源 校内 指导教师 姓 名 班 级 学 号 目目 录录 1 1 序言 序言 2 1 1 选题背景 2 1 2 选题目的及意义 2 1 3 选题完成情况 2 2 2 项目需求分析 项目需求分析 2 2 1 项目功能需求 3 2 1 1 功能划分 3 2 1 2 功能描述 3 2 2 项目性能需求 4 2 2 1 数据精确度需求 4 2 2 2 时间特性 4 2 2 3 适应性 4 2 3 其他需求 4 2 3 1 系统运行环境需求 4 3 3 项目概要设计 项目概要设计 4 3 1 系统功能结构设计 4 3 1 1 商品信息 4 3 1 2 人事管理 5 3 1 3 销售商品 5 3 1 4 进货信息 5 3 1 5 库存管理 5 3 2 系统功能结构图 5 3 3 数据库结构设计 6 3 3 1 数据库设计 7 4 4 详细设计详细设计 9 4 1 模块描述 9 4 1 1 功能描述 9 4 1 2 性能描述 12 4 1 3 算法描述 逻辑流程 13 4 1 4 接口 或关键函数 设计 23 5 5 实训总结 实训总结 26 5 1 技术总结 26 5 2 思想总结 27 1 1 序言 序言 1 11 1 选题背景选题背景 超市的数据和业务越来越庞大 而计算机就是一种高效的管理系统 这就 需要我们把超市的管理与计算机结合起来 从而超市管理系统应运而生 依靠 现代化的计算机信息处理技术来管理超市 节省了大量的人力 物力 改善了 员工的并且能够快速反映出商品的进 销 存等状况和各种反馈信息分析 使 管理人员快速对市场的变化做出相应的决策 加快超市经营管理效率 1 21 2 选题目的及意义选题目的及意义 1 希望借此次培训的机会巩固本学期所学到的知识 锻炼自己的专业技 能 提高自己的软件开发能力 2 借此次进行培训的同时掌握软件工程的基础知识和理论 分析大型软 件开发过程中出现的问题 了解软件开发生命周期中常用的技术 掌握软件开 发过程的结构化方法和面向对象方法 学会运用面向对象的软件工程方法进行 软件需求分析 系统设计 实现和测试 并通过课程实践 实际运用软件工程 的思想和技术 掌握软件项目管理和团队开发的工作方法 1 31 3 选题完成情况选题完成情况 由于时间比较短 使用计算机不方便及对于网络编程不熟悉 本研究生招生信息管理 系统并没有提供数据的远程访问功能 对信息的保护手段仅限于设置用户级别 以及提供 数据文件的备份 比较简单 安全性能有待进一步完善 2 项目需求分析 项目需求分析 2 1 项目功能需求项目功能需求 2 1 1 功能划分功能划分 该软件具有如下功能 查询功能 增加功能 修改功能 删除功能 2 1 2 功能描述功能描述 1 查询功能 实现职工信息的查询 实现供货商信息的查询 实现商品库存信息的查询 实现进货信息的查询 2 修改功能 实现职工信息的修改 实现供货商信息的修改 实现进货信息的修改 实现商品库存信息的修改 3 增加功能 实现职工信息的增加 实现供货商信息的增加 实现进货信息的增加 实现商品库存信息的增加 4 删除功能 实现职工信息的删除 实现供货商信息的删除 实现进货信息的删除 实现商品库存信息的删除 2 22 2 项目性能需求项目性能需求 2 2 1 数据精确度需求数据精确度需求 查询时应保证查全率 所有在相应域中包含查询关键字的记录都应能查到 同时保证查准率 2 2 2 时间特性时间特性 一般操作的响应时间应在 1 2 秒内 2 2 3 适应性适应性 满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运 行要求 2 3 其他需求其他需求 2 3 1系统运行环境系统运行环境需求需求 操作系统 Windows XP 数据库 Microsoft SQL Server 2005 前台 Microsoft Visual Studio 2005 3 3 项目概要设计 项目概要设计 3 1 系统功能结构设计系统功能结构设计 3 1 1 商品信息商品信息 商品管理模块调用 商品信息管理模块 商品信息维护模块 3 1 2 人事管理人事管理 人事管理模块调用 职工信息管理模块 供应商模块 3 1 3 销售商品销售商品 销售管理模块调用 前台商品销售模块 销售信息查询模块 3 1 4 进货信息进货信息 进货管理模块调用 进货信息查询模块 进货信息维护模块 3 1 5 库存管理库存管理 库存管理模块调用 库存信息查询模块 3 2 系统功能结构图系统功能结构图 一般的超市商品管理系统 主要由五大模块组成 即商品信息管理模块 人事管理模块 销售管理模块 进货管理模块 库存管理模块 此系统也不例 外 主要有此五大模块组成 图 3 1 系统功能结构图 3 3 数据库结构设计数据库结构设计 超市管理系统数据库 E R 模型 通过对超市管理系统分析 得出系统的 E R 图 图 5 1 数据库 E R 模型 图 名称 职工 用户 职工编号 供货日期 进货日期 电话 地址 供货商编号 供货商 进货 进货单号 商品编号 名称 价格 商品 姓名性别 m n m n 工资 身份证号 供 货 销售单号 销售日期 数量 m n 销售 图 3 2 数据库 E R 模型图 3 3 1 数据库设计数据库设计 职工信息表 StaffBill 用于存储职工信息 职工编号为主键是唯一标识 表中各字段功能定义如表 3 1 所示 表 3 1 职工信息表 StaffBill 中文字段名英文字段名字段类型长度主键 外键字段值约束 职工编号 staffIDchar6PNOT NULL 姓名 namenvarchar8NOT NULL 性别 sexnchar2NOT NULL 类别 kindnvarchar10NULL 身份证号 idCardvarchar18NOT NULL 备注 othersntext50NULL 用户登录表 Users Info 用于存储用户的基本登录信息 表中各字段功 能定义如表 3 2 所示 表 3 2 用户信息表 Users Info 中文字段名英文字段名字段类型长度主键 外键字段值约束 帐号 loginIDchar6P FNOT NULL 密码 passWordchar6NOT NULL 商品信息表 Goods Info 用于存储商品的信息 表中各字段功能定义如 表 3 3 所示 表 3 3 商品信息表 Goods Info 中文字段名英文字段名字段类型长度主键 外键字段值约束 商品编号 merchIDchar6PNOT NULL 供货商号 profferIDchar6FNOT NULL 名称 fullNamenvarchar80NOT NULL 类别 kindnvarchar8NULL 单价 unitCostmoney4NOT NULL 备注 othersntext50NULL 供货商信息表 Sup Info 用于存储供货商的信息 表中各字段功能定义 如表 3 4 所示 表 3 4 供货商信息表 Sup Info 中文字段名英文字段名字段类型长度主键 外键字段值约束 供货商号 SupplierIDchar6PNOT NULL 名称 Namenvarchar50NOT NULL 联系人 contactPer son nvarchar8NOT NULL 联系电话 phonevarchar12NOT NULL 联系地址 addressnvarchar50NOT NULL 备注 othersntext50NULL 进货信息表 Buy 存储进货信息 表中各字段功能定义如表 3 5 所示 表 3 5 进货信息表 Buy 中文字段名英文字段名字段类型长度主键 外键字段值约束 进货单号 BuyIDchar6PNOT NULL 商品编号 GoodsIDchar6P FNOT NULL 供货商号 SupplierIDchar6FNOT NULL 进货价 Pricemoney4NOT NULL 数量 Amountint4NOT NULL 金额 Summoney4NOT NULL 进货日期 Datedatetime8NOT NULL 备注 Remarkntext50NULL 销售信息表 Sell 用于存储销售信息 表中各字段功能定义如表 3 6 所示 表 3 6 销售信息表 Sell 中文字段名英文字段名字段类型长度主键 外键字段值约束 销售单号 SeelIDchar6PNOT NULL 商品编号 GoodsIDchar6P FNOT NULL 销售数量 Amountint4NOT NULL 销售日期 Datedatetime8NOT NULL 库存信息表 Stock 存储库存信息 表中各字段定义如表 3 7 所示 表 3 7 库存信息表 Stock 中文字段名英文字段名字段类型长度主键 外键字段值约束 商品编号 GoodsIDchar6P FNOT NULL 库存数量 Amountint4NOT NULL 4 4 详细设计详细设计 4 1 模块描述模块描述 4 1 1 功能描述功能描述 1 主流程 1 建立与数据库的连接 2 获取系统设置 3 显示对话框 即主界面 4 等待用户输入 如为修改 进入修改流程 显示修改对话框 如为增加 进入增加流程 显示增加对话框 如为删除 进入删除流程 显示删除对话框 如为商品管理 进入商品管理流程 进行增加 如为退出 检查所有子窗口 关闭对话框 断开与数据库的连接 2 输入密码流程 1 要求管理员输入登录信息 2 身份检验 3 返回成功或失败信息 4 结束输入密码流程 启动系统 输入密码 查验 退出流程 NO 显示相关界面 YES 输入所需信息 检验 更新数据库 YES 显示错误 NO 图 4 1 输入密码流程 3 信息修改流程 1 要求选择所要修改的数据库 如为商品信息 修改商品信息 如为人事信息 修改人事名单 如为销售信息 修改销售信息 2 等待用户输入 3 返回成功或失败信息 4 结束修改流程 启动系统 输入口令 查验 退出流程 NO 显示主菜单 YES 选择项 商品 信息 输入关 键字 找到 输入新信 息 存入 人事 信息 输入关 键字 找到 输入新信 息 存入 销售 信息 输入关 键字 找到 输入新信 息 存入 退出 图 4 2 信息修改流程 4 系统管理 1 身份验证 2 用户操作权限检验 3 根据操作权限级别显示系统管理对话框 4 等待用户选择操作 5 结束系统管理流程 启动系统 输入密码 查验 退出流程 NO 显示主界面 YES 数据备份 输入要求 确认 备份 数据恢复 输入文件名 确认 恢复 系统设置 输入数据 确认 设置 更改密码 输入密码 确认 更改口令 退出 图 4 3 系统管理 4 1 2 性能描述性能描述 1 数据精确度需求 查询时应保证查全率 所有在相应域中包含查询关键字的记录都应能查到 同时保证查准率 2 时间特性 一般操作的响应时间应在 1 2 秒内 3 适应性 满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运 行要求 4 1 3 算法描述算法描述 逻辑流程逻辑流程 创建数据库 1 使用 T SQL 语句创建超市商品管理系统数据库 CREATE DATABASE db SMMS ON PRIMARY NAME N db SMMS FILENAME F SMMS SMMS DataBase db SMMS mdf SIZE 3072KB FILEGROWTH 1024KB LOG ON NAME N db SMMS log FILENAME N F SMMS SMMS DataBase db SMMS log ldf SIZE 1024KB FILEGROWTH 10 2 使用 T SQL 语句创建库存表 CREATE TABLE Stock GoodsID varchar 10 COLLATE Chinese PRC CI AS NOT NULL Amount int NOT NULL PRIMARY KEY StockID FOREIGN KEY GoodsID REFERENCES tb Goods GoodsID 3 使用 T SQL 语句创建库存视图 create view v StockS AS SELECT tb Stock StockID tb Goods GoodsName tb Stock Amount tb Stock Remark FROM tb Stock INNER JOIN tb Goods ON tb Stock G 系统登录模块 主要实现代码如下 public bool Veri string tb table string Id string Pwd DataClass MyMeans MyClass new SMMS DataClass MyMeans bool jud false if Id jud temDR Read if jud DataClass MyMeans Login Name Id Trim DataClass MyMeans Login ID temDR GetString 0 DataClass MyMeans My con Close DataClass MyMeans My con Dispose else MessageBox Show 用户名或密码错误 提示 MessageBoxButtons OK MessageBoxIcon Information MyClass con close else MessageBox Show 请将登录信息添写完整 return jud 商品信息管理模块 主要实现代码如下 private void btnAdd Click object sender EventArgs e bool t false string txt string RecID string TypeID if txtName Text MessageBox Show 请输入商品名称 txtName Focus else if txtPrice Text MessageBox Show 请输入商品单价 txtPrice Focus else if comboxType Text MessageBox Show 请选择商品类型 comboxType Focus else if txtKeep Text MessageBox Show 请输入保质期 txtKeep Focus else txt txtName Text Trim SqlDataReader temDR MyDataClass getcom select from tb Goods where GoodsName txt t temDR Read if t MessageBox Show 此商品名称已存在 txtName Text txtName Focus else string Find SQL2 string RecID2 try TypeID My Set Tables 0 Rows comboxType SelectedIndex 0 ToString RecID MyMC GetAutocoding tb Goods GoodsID 获取编号 RecID2 MyMC GetAutocoding tb Stock StockID 获取编号 Find SQL insert into tb Goods GoodsID GoodsName TypeID Remark Price Keep values RecID txtName Text TypeID txtRemark Text txtPrice Text txtKeep Text Find SQL2 insert into tb Stock StockId GoodsID Amount values RecID2 RecID 0 MyDataClass getsqlcom Find SQL MyDataClass getsqlcom Find SQL2 向库存添加信 息 MessageBox Show 添加成功 ListViewItem l new ListViewItem l Text txtName Text l SubItems Add comboxType Text l SubItems Add txtPrice Text l SubItems Add txtKeep Text l SubItems Add txtRemark Text listView1 Items Add l btnCancle Click sender e catch Exception ec MessageBox Show ec Message MessageBox Show 添加失败 职工信息管理模块 主要实现代码如下 private void btnSave Click object sender EventArgs e string RecID if txtName Text MessageBox Show 请添加职工姓名 txtName Focus else if Jud 1 RecID MyMC GetAutocoding tb Worker WorkerID 获取编号 Find SQL insert into tb Worker WorkerID WorkerName Remark values RecID txtName Text txtRemark Text MyDataClass getsqlcom Find SQL MessageBox Show 添加成功 InfLoad WinstateT if Jud 2 Find SQL update tb Worker set WorkerName txtName Text Remark txtRemark Text where WorkerID txtWorkerID Text MyDataClass getsqlcom Find SQL MessageBox Show 修改成功 InfLoad WinstateT 供货商信息管理模块 主要实现代码如下 private void btnSave Click object sender EventArgs e bool t false string txt string RecID if txtName Text MessageBox Show 请输入供货商名称 txtName Focus else if Jud 1 txt txtName Text Trim SqlDataReader temDR MyDataClass getcom select from tb Supplier where SupplierName txt t temDR Read if t MessageBox Show 此供货商名称已存在 txtName Text txtName Focus else RecID MyMC GetAutocoding tb Supplier SupplierID 获取编号 Find SQL insert into tb supplier SupplierID SupplierName Tel Address Remark values RecID txtName Text txtTel Text txtAddress Text txtRemark Text MyDataClass getsqlcom Find SQL MessageBox Show 添加成功 InfLoad WinstateT if Jud 2 txt txtName Text Trim Find SQL select from tb Supplier where SupplierName txt and SupplierID ID SqlDataReader temDR MyDataClass getcom Find SQL t temDR Read if t MessageBox Show 此供货商名称已存在 txtName Text txtName Focus else Find SQL update tb Supplier set SupplierName txtName Text Tel txtTel Text Address txtAddress Text Remark txtRemark Text where SupplierID ID MyDataClass getsqlcom Find SQL MessageBox Show 修改成功 InfLoad WinstateT 添加销售信息模块 主要实现代码如下 private void button2 Click object sender EventArgs e if txtSum Text Trim Length 0 string s1 string s2 string s3 string s4 float zl float PayS if txtPayS Text PayS 0 else PayS float Parse txtPayS Text zl PayS TotalPrice txtPayS Text PayS ToString txtPayY Text TotalPrice ToString txtZL Text zl ToString s1 商品数量 Amount1 件 n n s2 实付款 PayS 元 n n s3 应付款 TotalPrice ToString 元 n n s4 找零 zl ToString 元 MessageBox Show s1 s2 s3 s4 系统提示 txtPayS Text txtPayY Text txtZL Text txtID Text txtAmount Text txtSum Text TotalPrice 0 Amount1 0 listView1 Items Clear else MessageBox Show 请购买商品 添加进货信息模块 主要实现代码如下 private void btnAdd Click object sender EventArgs e bool t false string txt string RecID if txtID Text MessageBox Show 请输入商品编号 txtID Focus else if txtPrice Text MessageBox Show 请输入商品单价 txtPrice Focus else if txtAmount Text MessageBox Show 请输入商品数量 txtAmount Focus else if comPy Text comPm Text comPd Text MessageBox Show 请将生产日期填写完整 else if comBy Text comBm Text comBd Text MessageBox Show 请将进货日期填写完整 else txt txtID Text Trim SqlDataReader temDR MyDataClass getcom select from tb Goods where GoodsID txt t temDR Read if t MessageBox Show 此商品不存在 txtID Text txtID Focus else string Find SQL2 string RecID2 try string GoodsID string SupplierID string datep string dateb datep comPy Text comPm Text comPd Text dateb comBy Text comBm Text comBd Text GoodsID txtID Text SupplierID My Set Tables 0 Rows comSupplier SelectedIndex 0 ToString RecID MyMC GetAutocoding tb Buy BuyID 获取编号 RecID2 MyMC GetAutocoding tb Stock StockID 获取编号 Find SQL insert into tb Buy BuyID GoodsID EmployeeID Price Amount Datep Dateb SupplierID Remark values RecID txtID Text DataClass MyMeans Login Name txtPrice Text txtAmount Text datep dateb SupplierID txtRemark Text Find SQL2 Update tb Stock set Amount Amount txtAmount Text where GoodSID GoodsID MyDataClass getsqlcom Find SQL MyDataClass getsqlcom Find SQL2 向库存添加信 息 MessageBox Show 添加成功 ListViewItem l new ListViewItem l Text RecID l SubItems Add txtID Text l SubItems Add txtPrice Text l SubItems Add txtAmount Text l SubItems Add comSupplier Text l SubItems Add txtRemark Text listView1 Items Add l btnCancle Click sender e catch Exception ec MessageBox Show ec Message MessageBox Show 添加失败 库存信息管理模块 主要实现代码如下 private void btnSearch Click object sender EventArgs e string con con MyMC Sqlcon groupBox1 Controls Link if con MessageBox Show 请输入查询信息 else Find SQL select from StockS2 con MyDS Grid MyDataClass getDataSet Find SQL tb Common dataGridView1 DataSource MyDS Grid Tables 0 dataGridView1 AlternatingRowsDefaultCellStyle BackColor SystemColors ActiveBorder 设置基数行的颜色 dataGridView1 Columns 0 HeaderText 商品名称 dataGridView1 Columns 1 HeaderText 商品单价 dataGridView1 Columns 2 HeaderText 保质期 dataGridView1 Columns 3 HeaderText 库存数量 dataGridView1 Columns 0 Width 150 dataGridView1 Columns 1 Width 150 dataGridView1 Columns 2 Width 150 dataGridView1 Columns 3 Width 150 权限设置管理模块 对不同的用户分不同的权限 有利于系统的管理 只有超级管理员才具有分配 权限的功能 权限设置界面 主要实现代码如下 private void btnSave Click object sender EventArgs e MyDataClass getsqlcom Delete tb UserPerm where UserID ModuleClass MyModule ManaId Trim foreach Control c in groupBox2 Controls if c is CheckBox 只遍历 CheckBox 控 if CheckBox c Checked true RecID MyMC GetAutocoding tb UserPerm ID MyDataClass getsqlcom insert into tb UserPerm ID UserID PermName values RecID ModuleClass MyModule ManaId Trim c Name MessageBox Show jinjian MessageBox Show c Name MessageBox Show 设置成功 关键技术实现方法 身份验证 调用此方法来进行对用户信息的合法性验证 有利于提高系统的安全性 主要实现代码如下 public bool Veri string tb table string Id string Pwd DataClass MyMeans MyClass new SMMS DataClass MyMeans bool jud false if Id jud temDR Read if jud DataClass MyMeans Login Name Id Trim DataClass MyMeans Login ID temDR GetString 0 DataClass MyMeans My con Close DataClass MyMeans My con Dispose else MessageBox Show 用户名或密码错误 提示 MessageBoxButtons OK MessageBoxIcon Information MyClass con close else MessageBox Show 请将登录信息添写完整 return jud 4 1 4 接口 或关键函数 设计接口 或关键函数 设计 1 用户接口 使用基于对话框的 GUI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省富民县2025年上半年事业单位公开遴选试题含答案分析
- 2025年度专业物流司机个人运输合同范本
- 2025仓储运输合同-跨境电商B2C物流配送服务
- 2025版新型城镇化示范区建设项目投标保证合同书
- 2025版蔬菜种植基地与旅游开发公司合作合同范本
- 2025版绿色有机农资采购合作协议
- 2025年度医疗器械委托运输与环保回收服务合同
- 2025版净身出户离婚协议书模板编制与风险评估合同
- 2025版砌砖工程节能评估与施工合同
- 2025版牲畜养殖企业承包与养殖废弃物处理合同
- 2025年公平竞争审查知识竞赛考试练习题库(正式版)含答案
- 全力以赴战高考乘风破浪正当时(课件)-2025-2026学年高三上学期开学第一课主题班会
- 登革热与基孔肯雅热防控指南
- 2025四川农信(农商行)社会招聘800人笔试历年典型考题及考点剖析附带答案详解
- 人教版2024-2025学年七年级数学上册教学计划(及进度表)
- GB/T 1303.4-2009电气用热固性树脂工业硬质层压板第4部分:环氧树脂硬质层压板
- 新编剑桥商务英语
- 普通高中新课程培训讲座《核心素养导向下的高中化学教学设计策略》2020年8月课件
- 高考英语高考核心词汇
- 2021年高考英语试题及答案(安徽卷)
- 教育爱的特征
评论
0/150
提交评论