《小型超市销售管理系统.doc》由会员分享,可在线阅读,更多相关《小型超市销售管理系统.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、小型超市销售管理系统实 验 报 告实验课程: 信息系统分析与设计 学生姓名:曹志明 冯建明 冯伟 胡华 赖玉峰 专业班级: 信息管理041班 组 长:曹志明() 小组成员:冯建明() 冯 伟() 胡 华() 赖玉锋() 2007年 12 月 18 日目录实验报告一 -可行性研究报告 第3页实验报告二 -需求说明书 第6页实验报告三 -概要设计说明书 第10页实验报告四 -详细设计说明书 第13页实验报告五 -源程序 第17页实验报告六 -测试计划 第26页 任务分配:可行性研究报告胡 华 需求说明书冯建明 概要设计说明书赖玉锋 详细设计说明书冯 伟源程序、测试计划 曹志明 南昌大学实验报告学生
2、姓名: 胡 华 学 号: 专业班级: 信管041班 实验类型: 验证 综合 设计 创新 实验日期: 2007.11.08 实验成绩:一实验项目名称 小型超市销售系统可行性研究报告二实验目的 可行性研究的目的是确定问题是否值得去做,研究在当前条件下,开发新系统是否具备必要的资源和其他条件。从经济可行性、技术上可行性、运行可行性三个方面分析人事管理系统可行性。三实验基本原理可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件,可行性包括可能性,必要性,合理性。可行性研究报告主要从功能级数据流图及技术可行性分析,经济可行性分析,运行可
3、行性分析考虑.本实验包括人事管理系统的功能结构图和零层数据流图,分析概括了整个系统的各个模块和功能。四主要仪器设备及耗材 计算机一台五实验步骤1项目说明小型超市零售管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。2系统目标分析小型超市管理系统适合于对流程控制和财务核算等管理要求不太高的中小型超市。通过设
4、置适用于家电、服装、图书、医药以及各种专卖店等多种商业形态和各种经营模式,并可根据用户实际情况自由定义管理层次。在此人事管理系统中,要实现的主要功能有:(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。新系统的目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:3可行性分析在决定开发管理信息系统应用项目之前,首先要做好系统开发的可行性分析。可行性分析的任务是确定项目开发是否必要和可行。建设MIS的必要性取决于需求的迫切性和实现的可行性
5、。从以下几个方面认真进行研究,从而为确定系统开发项目的决策提供科学依据。 (1) 经济可行性:对组织的经济状况和投资能力进行分析,一方面是支出的费用,其中包括设备购置费、软件开发费、管理和维护费用、人员工资和培训费等;另一方面是取得的收益,其中有一部分可以用钱来衡量,如开发本系统,为企业节省的人力,物力。收益的另一部分难以用钱表示,如加强人事信息管理。估计开发该系统需购买硬件、外部设备(高性能计算机一台、打印机一台),花费1.2万元左右,开发工作量约需3个人月工作量,每人月工资约为2000元,开发完成后维护费用每年600元,开发完成后,原有的2名管理人员可以减少1名,每人月工资600元。(2)
6、 技术上可行性:现技术上的可行性分析所考虑采用的硬件和软件技术能满足用户提出的要求(如计算机的容量、速度等)。本系统仅需要一台装有所需软件的计算机即可,数据库使用微软公司的SQL,操作系统版本只要高于windows98即可。计算机配置均可达到P2.2GHZ、256M内存、40G硬盘、256*1024分辨率的显示器。此外,因本系统难度不大,所涉及的范围只限于超市销售管理管理,所以在技术上已达到开发该系统的能力。 (3)运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发
7、任务等。使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。六实验数据及处理结果1功能结构图小型超市零售管理系统前台POS销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理2零层数据流图七、思考讨论题或体会或对改进实验的建议通过这次实验,对系统可行性研究有了一个大致的理解,对功能流程图与数据流程图有了基本的认识,从整体上了解了一个管理系统的概括性框架。八、参考资料信息系统分析与设计 杨选辉编 清华大学出版社数据库原理及设计 陶宏才编 清华大学出版社 SQL Ser
8、ver 2000 实用教程范立南编 清华大学出版社 SQL Server 2000 编程员指南李香敏编 北京希望电子出版社 南昌大学实验报告学生姓名: 冯建明 学 号: 专业班级: 信管041班 实验类型: 验证 综合 设计 创新 实验日期: 2007.11.15 实验成绩: 一实验项目名称 小型超市销售管理系统需求说明书二实验目的通过需求说明书来明确小型超市销售管理系统开发的最终目的,使开发出来的系统能够更好的达到企业的需求。三实验基本原理需求说明书主要通过详细数据流图,数据字典,数据库设计方面来说明。该人事管理系统包括:机构编制管理、职员信息管理和薪资福利管理。通过数据流程图来诠释整个系统
9、的各个模块之间的联系,完成功能上的需求;再通过数据字典及数据库的设计来定义分析系统里面的各种数据,完成技术上的基本需求。四主要仪器设备及耗材 计算机一台五实验步骤1、系统需求分析教学事务管理系统涉及到许多数据的处理,这就需要有一个比较大的后台数据库管理系统支持。目前主要的数据库有:Access、Excel、Sybase、Oracle、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。本次实验采用SQL该人事管理系统包括:前台POS销售系统和后台管理系统。前台POS销售系统分为商品录入和收银业务两部分。后台管理系统分为
10、进货管理、销售管理、库存管理和人员管理。2、数据库中数据字典及表的设计(1)、系统关系模型a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)b) 用户表(用户编号,用户名称,用户密码,用户类型)c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)g) 供
11、货商表(供货商编号,供货商名称,供货商地址,供货商电话)h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)(2)、系统数据库表结构数据库表索引表名中文名MerchInfo商品信息表User用户表Menber会员表Sale销售表Dealing交易表Stock进货入库表Provide供货商表Factory厂商表商品信息表(MerchInfo)字段名字段类型长度主/外键字段值约束对应中文名MerchIDint4PNot null商品编号MerchNameVarchar50Not null商品名称MerchPriceMoney4Not null价格MerchNumInt4Not null库存数量C
12、autionNumInt4Not null库存报警数量PlanNumInt4null计划进货数BarCodeVarchar50Not null条形码SalesProPriceMoney4促销价格SalesProDateSDatetime8促销起日期SalesProDateEDatetime8促销止日期AllowAbateInt4Not null允许打折AllowSaleInt4Not null允许销售FactoryIDVarchar10FNot null厂商编号ProvideIDVarchar10FNot null供货商编号用户表(User)字段名字段类型长度主/外键字段值约束对应中文名Use
13、rIDvarchar10PNot null用户编号UserNameVarchar25Not null用户名称UserPWVarchar50Not null用户密码UserStyleInt4Not null用户类型会员表(Menber)字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10PNot null会员编号MemberCardVarchar20Not null会员卡号TotalCostMoney4Not null累积消费金额RegDateDatetime8Not null注册日期销售表(Sale)字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarc
14、har10PNot null销售编号MerChIDVarchar10FNot null商品编号SaleDateDatetime8Not null销售日期SaleNumInt4Not null销售数量SalePriceMoney4Not null销售单额交易表(Dealing)字段名字段类型长度主/外键字段值约束对应中文名DealingIDVarchar10PNot null交易编号DealingPriceMoney4Not null交易金额DealingDateMoney4Not null交易日期MemberIDVarchar10会员卡号UserNameVarchar10FNot null用户
15、名称入库纪录表(Stock)字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNot null入库编号MerchIDVarchar10FNot null入库商品编号MerchNumInt4Not null入库数量MerchPriceMoney4Not null单额TotalPriceMoney4Not null总额StockDateDatetime8Datetime入库日期PlanDateDatetime8Datetime计划进货日期StockStateInt4Not null入库状态供货商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名Prov
16、ideIDvarchar10PNot null供货商编号ProvideNameVarchar50Not null供货商名称ProvideAddressVarchar250供货商地址ProvidePhoneVarchar25供货商电话厂商表(Provide)字段名字段类型长度主/外键字段值约束对应中文名FactoryIDvarchar10PNot null厂商编号FactoryNameVarchar50Not null厂商名称FactoryAddressVarchar250厂商地址FactoryPhoneVarchar25厂商电话六实验数据及处理结果1、一层数据流图七、思考讨论题或体会或对改进实
17、验的建议通过这次实验,熟悉并加深了我对SQL和VB软件的认识,以及对人事管理系统整体功能要求、数据要求、流程要求有了比较全面的了解。八、参考资料信息系统分析与设计 杨选辉编 清华大学出版社数据库原理及设计 陶宏才编 清华大学出版社 SQL Server 2000 实用教程范立南编 清华大学出版社 SQL Server 2000 编程员指南李香敏编 北京希望电子出版社 南昌大学实验报告学生姓名: 赖玉锋 学 号: 专业班级: 信管041班 实验类型: 验证 综合 设计 创新 实验日期: 2007.11.22 实验成绩: 一、实验项目名称小型超市销售管理系统的概要设计说明书二、实验目的说明编写这份
18、概要设计说明书的目的,指出预期的读者。 设计系统的整体框架,以便在设计时思路清晰。三、实验基本原理系统结构图中的每一个模块确定采用的算法和块内数据流图,用某种选定的表达工具给出清晰的描述,使得这种描述可以直接翻译为某种语言程序。四、主要仪器设备及耗材计算机一台,硬件、外部设备(586微机一台、打印机一台)五、实验步骤1总系统模块1.1系统总体结构图:小型超市零售管理系统前台POS销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理1.2系统活动图:2 局部模块设计参考各局部详细设计文档。六、实验数据及处理结果七、思考讨论题或体会或对改进实验的建议在建立数据库的时候,我们设置了数
19、据源名,这样就可以通过数据源名来访问数据库的地址,这样做的好处是,一旦改变了文件名或是存放地址,不必一个一个修改程序中所有该数据库的名称,只需要修改DSN中的配置就可以拉,省事不少。八、参考资料信息系统分析与设计 杨选辉编 清华大学出版社数据库原理及设计 陶宏才编 清华大学出版社 SQL Server 2000 实用教程 范立南编 清华大学出版社 SQL Server 2000 编程员指南 李香敏编 北京希望电子出版社 南昌大学实验报告学生姓名: 冯 伟 学 号: 专业班级: 信管041班 实验类型: 验证 综合 设计 创新 实验日期: 2007.11.29 实验成绩: 一实验项目名称 小型超
20、市销售管理系统详细设计说明书二实验目的 详细设计的目的是为系统结构图中的每一个模块确定采用的算法和块内数据流图,用某种选定的表达工具给出清晰的描述,使程序员可以将这种描述直接翻译为某种语言程序。详细设计的结果对最终程序代码的质量起着决定性的作用,对系统的测试和维护人员了解模块的内部结构也是很重要的。三实验基本原理软件结构(Software Structure)是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。它是影响软件质量的内在因素,结构良好的软件可以提高软件的可靠性和易维护性。用图表(如软件结构图)列出本程序系统中的每个程序名称,标识符和它们之间的层次结构关系。四主要仪器设备及耗
21、材 计算机一台,硬件、外部设备(586微机一台、打印机一台)五实验步骤软件结构主要包括程序结构和文档结构。文挡描述的对象往往很复杂,所以文档结构需要简明、清晰和有层次。程序结构有两层含义,一是指程序的数据结构和控制结构;另一是指由比程序低一级的程序单位(模块)组成程序的过程、方法和表示。在后者含义下,具有代表性的是块结构和嵌套结构两种。块结构比较自然,各个部分之间通过一些公用变量取得联系,嵌套结构是在嵌套分程序的基础上引进局部性和动态性,以减少程序的初始信息量,嵌套结构不如块结构直观,调试不方便。模块子系统结构:商品录入快速商品录入支持条形码扫描功能描述:商品录入子系统要求能快速录入商品,因此
22、必须支持条形码扫描。收银业务交易总额计算打印交易清单支持会员卡打折功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。进货管理自动制定进货计划自动入库登记查询打印计划进货与入库记录功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。销售管理商品销售控制查询打印销售情况生成销售排行榜功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。查询库存明细记录库存状态自动告警提示库存管理自动盘点计算功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根
23、据库存的状态报警,以及自动盘点计算。人员管理基本信息登记管理员工操作权限管理提示客户销售权限管理提示功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。六、实验数据及处理结果部分实验结果截图:销售界面进货界面七、思考讨论题或体会或对改进实验的建议通过这个详细设计实验,对系统的各个局部设计有了比较深入的了解。但由于个方面的原因,没能完全实现预先计划的功能。下次有待提高,八、参考资料信息系统分析与设计 杨选辉编 清华大学出版社数据库原理及设计 陶宏才编 清华大学出版社 SQL Server 2000 实用教程范立南编 清华大学出版社 SQL Server 200
24、0 编程员指南李香敏编 北京希望电子出版社 南昌大学实验报告学生姓名: 曹志明 学 号: 专业班级: 信管041班 实验类型: 验证 综合 设计 创新 实验日期: 2007.12.06 实验成绩: 一、实验项目名称小型超市销售管理系统的源程序设计二、实验目的 编写程序代码,使系统能够正常运行。三、实验基本原理 面向对象的程序设计具有以下三个性质:封装性,增强了模块化程度,很好地实现了软件重用和信息隐藏;继承性,不仅体现了软件重用技术,同时又可最大限度地精简程序,减少冗余代码,极大地提高了程序开发和运行效率;多态性,程序变编程更加方便。四、主要仪器设备及耗材计算机一台,硬件、外部设备(高性能计算
25、机一台、打印机一台)五、实验步骤和结果部分程序代码:import java.sql.*;public class BuyManager public BuyManager() static public boolean addBuy(String supplierID, String wareID, float buyPrice, int buyQty, String buyDate, String buyPerson) Connection conn = null; PreparedStatement stmt = null; try conn = ConnectionManager.get
26、Connection(); stmt = conn.prepareStatement(insert into Buy (supplierID,wareID,price,quantity,buyDate,buyPerson) + values(?,?,?,?,?,?); stmt.setString(1, supplierID); stmt.setString(2, wareID); stmt.setFloat(3, buyPrice); stmt.setInt(4, buyQty); stmt.setString(5, buyDate); stmt.setString(6, buyPerson
27、); stmt.executeUpdate(); /更新库存 stmt.close(); stmt = conn.prepareStatement(select * from Reserve where wareID=+wareID); ResultSet rs = stmt.executeQuery(); if(rs.next()/存在库存记录 stmt = conn.prepareStatement(update Reserve set resQty=resQty+ + buyQty+ where wareID=+wareID); else stmt = conn.prepareState
28、ment(insert into Reserve (wareID,resQty) values( +wareID +,+buyQty+); stmt.executeUpdate(); /通过 return true; catch (java.sql.SQLException e) System.err.println(e); finally /关闭数据库资源 if (stmt != null) try stmt.close(); catch (Exception exception) if (conn != null) try conn.close(); catch (Exception ex
29、ception) /失败 return false; import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.sql.*;public class BuyServlet extends HttpServlet private static final String CONTENT_TYPE = text/html; charset=GB2312; /Initialize global variables public void init() throws
30、 ServletException /Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /处理在进货信息录入界面中浏览器传送过来的参数 String supplierID = request.getParameter(supplierID); if (supplierID = null) supplierID = ; String wareID = request
31、.getParameter(wareID); if (wareID = null) wareID = ; float buyPrice; try buyPrice = Float.parseFloat(request.getParameter(buyPrice); catch(Exception e) buyPrice = 0f; int buyQty; try buyQty = Integer.parseInt(request.getParameter(buyQty); catch(NumberFormatException e) buyQty = 0; String buyDate = r
32、equest.getParameter(buyDate); if (buyDate = null) buyDate = ; String buyPerson = request.getParameter(buyPerson); if (buyPerson = null) buyPerson = ; /在参数处理完毕后,需要把进货信息添加到数据库中,因此需要改变下面这些代码 if(BuyManager.addBuy(supplierID, wareID, buyPrice, buyQty, buyDate, buyPerson) /转往销售结果显示界面 String supplierName =
33、 , wareName = , resQty = ; Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try conn = ConnectionManager.getConnection(); /读取供应商名称 stmt = conn.prepareStatement(select * from Supplier where supplierID= + supplierID); rs = stmt.executeQuery(); if (rs.next() supplierName = rs
34、.getString(supplierName); rs.close(); stmt.close(); /读取商品名称 stmt = conn.prepareStatement(select * from Ware where wareID= + wareID); rs = stmt.executeQuery(); if (rs.next() wareName = rs.getString(wareName); rs.close(); stmt.close(); /读取商品库存数量 stmt = conn.prepareStatement(select * from Reserve where
35、 wareID= + wareID); rs = stmt.executeQuery(); if (rs.next() resQty = rs.getString(resQty); rs.close(); catch(java.sql.SQLException e) System.err.print(e); finally /关闭数据库资源 if (stmt != null) try stmt.close(); catch (Exception exception) if (conn != null) try conn.close(); catch (Exception exception)
36、request.setAttribute(supplierName, supplierName); request.setAttribute(wareName, wareName); request.setAttribute(buyPrice, new Float(buyPrice); request.setAttribute(buyQty, new Integer(buyQty); request.setAttribute(buyDate, buyDate); request.setAttribute(buyPerson, buyPerson); request.setAttribute(r
37、esQty, resQty); getServletContext().getRequestDispatcher(/buyInfo.jsp).forward(request, response); else response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println(); out.println(BuyServlet); out.println(); out.println(error!); out.println(); /Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); /Clean up resources public void destroy() import javax.servlet.*;
限制150内