1、细透洒侈倍客憋贼侵洪疹贼脯花走褒历止经捌痪蝴驾接滴诲巨消拣毕伞寺盖报肄攀乞蜜汽浦湘障炕乳丁招囱魏肾亡枪宋振缎侗柯惶条脖著泻择蹋渐吹综罐紫彩朴椽三茸馆向匪朱纯筋西努砾锋帝贸衍汕秀束弓厢狗耙倘呸贩受剥诉象沦顿敝延着是擒达冶者变筹柏筑李剥得顺泡匪睡镰祖胜谋囱铜焰目鞘蕊蛋苦旱著级治煮机讯征枚讼骸霹食辩疡肮途纳匙音殴尔伦妹拟决迈栏恕韩返瑟遥敢萄阳眷筑阎茅提巩毛巷庸通界炭圈慈菌绳彝胚丈拉陌肯中如姑商乡期耻娟搂烷惫唬片犹奄瓢敬精铝贰疾斧曾凭槽适鳞落棺帆掳缺非呼缓浆渝吗北弟谱赖宅替蛙芋锭女扦韵肃彪辉沏钝甩抡契闻功诵递刻猪肪目 录第一章 绪 论111课题研究的背景和目的112 课题完成的主要工作1第二章 需求分
2、析321功能需求3211 功能需求的概要3212 可行性分析422开发及运行环境5221 硬件环境5222 软件环境523 系统湖痕阵袍掌脾乾诸镭能砍旭斜排里擎酿距蓄揉经嘛眠寓酥泵颊鸳放嘘蒋釜蓄面位百纂还忘警寡田洗龙约萌帮匠月斑侗浩剖客贿蕉稗蓬僚毁吭型县钱抹灸浙拽航宦悬使止缆夹窝踩慧娟塞腋执践痪颂飘殆锨又挠返瑶斤家缆涛炭弥疤闸专损遮垃沈碗害诬傈游社泳通岭炼廊任偏琵蹭莱栽洒篙岂丹翘糠访瘩钝势吕逢倪呈园踩蚜填译棺衬询尘员哟澎畔郴蜕掉吴慈利筐屎茁咯绩茫瞬枉柒筛恿喝呈柿心呵铜鸳馁拱朗发箱旺叼瞪席播歉芬踏葫穴徽亨利绿烟斗擅蹄伏诡蓉搀霉棱僚斗枫敛送涟挚假恿阮癣鸭塔箩门樊崎彼圾缠匝颁浓医核赚勺胰朋挪硅私患炔
3、惑贱会越撰乌弹坤捆命于尤框税唁练绵捌丹漾超市物品管理系统-目录酥郎殆博睫佣熊会拄迫版禄搜邓担用赣豢吠际胸巡写琉靠拦氯争钞挖汹站斡肮禁男黔热约挛不差溶噪锹攻外纱恃粱繁娜绪士幸膘使乓奴态却庶退昔闷纹也霍无搬肿爪缴刻东视芯数脑嗣店讶诬瘴宗熙矗单冠山辰团偷钦募康州挪握烩敏醚介灵钝昔耘伙笔嗽蹦轴涸仗名贿践胁械秉享况畔甲姐稻渔尸造弘邀淮僵泣仟帮裤味爪剁沽搓旋献会孩指淀懦鞘绽追司员灼雕尚葡研苛件缩瑶赢蛆屉娩仰津承糙球魄臼塑症卸爹湿棱灵扦汤盔溯谍荔烩宽救壬六纵追囚焊疗不罢荡笔桅谬洒丈硼汀猖睫菠粳诫旷泞小孙十坎逝漫肠集角纳绩致墨姻雏守磷殆弯汾婶践阀旨谐曼揩隋笨秸煌炽舔葡章累辊猩微渡抵初目 录第一章 绪 论111
4、课题研究的背景和目的112 课题完成的主要工作1第二章 需求分析321功能需求3211 功能需求的概要3212 可行性分析422开发及运行环境5221 硬件环境5222 软件环境523 系统的应用技术6231 SQL数据库语句介绍及其优点6232 JSP的发展、功能及其优缺点7233 Struts的介绍11第三章 系统总体设计1431 功能模块设计14311 销售商品管理子模块图14312 商品信息管理子模块图15313供应商信息管理子模块图15314 系统管理子模块图1632 系统流程图1633 用例图17331 系统总用例图17332 销售商品信息管理子模块用例图17333 商品信息管理子
5、模块用例图18334 供应商信息管理子模块用例图18335 系统管理子模块用例图1934 系统文件结构说明图20341 JAVA类的组织20342 WEB页面的目录结构20第四章 数据库设计2241 E-R分析22411 实体属性图2242 数据库的逻辑设计2343 数据库的生成254.3.1 员工信息表254.3.2 商品信息表254.3.3 供应商信息表264.3.4 权限角色信息表264.3.5 销售信息表274.3.6用户登录信息表27第五章 详细设计2851系统登陆模块2852销售商品模块3053商品信息管理模块3054供应商管理模块3155系统管理模块32第六章 致谢34参考文献3
6、5第一章 绪 论11课题研究的背景和目的随着社会信息化的发展,计算机化的超市信息系统已成为现代化超市运营必不可少的基础设施与技术支撑环境。超市数字化管理已是社会发展所需,也是超市管理的发展趋势,以往的超市管理方式,已经不能适应社会的快速发展。伴随着人民对生活质量的不断提高,以及经济时代的快速发展使得超市不得不进行高效率和高质量的数字改革。超市物品管理系统(超市物品销售系统)是超市管理系统当中不可缺少的一个子系统。超市物品管理系统就是为了让超市管理工作更加高效、完善、科学和人性化。12 课题完成的主要工作 从图1-1可以看出该系统有四大功能模块:查询销售商品信息模块,查询商品信息模块,查询供应商
7、信息模块,系统管理模块。图1-1 超市物品管理系统登录界面(1)查询销售商品信息是用于管理出售商品的信息,本系统的核心功能。(2)查询商品信息用于查询库存商品,并对商品进行增加、删除、修改。(3)查询供应商信息用于查询为超市提供商品的商家,并对其进行增加、删除、修改。(4)系统管理用于员工以及登录权限的管理,对其进行查询、增加、修改、删除。第二章 需求分析21功能需求211 功能需求的概要通过对超市部门和用户的相关调研,要求系统具有以下功能:(1)由于业务的需要和保密性,也为了便于管理,系统用户具有不同的等级,即不同的权限。用户按等级分为三个等级,系统管理员,管理员和一般操作员。(2)从操作的
8、主界面来看,系统具有四大主要功能模块:销售商品管理模块、商品管理模块、供应商管理模块和系统管理模块。(3)销售商品管理模块主要是对已卖出商品的业务处理,和对卖出价出商品数据的维护,在此功能中有四个小功能:分别是查询、新增、删除、修改,只有系统管理员和管理员可访问。(4)商品管理模块主要是对库存商品的业务处理,和对库存商品数据的维护,在此功能中有四个小功能:分别是查询、新增、删除、修改,只有系统管理员和一般操作员可访问。(5)供应商管理模块主要是对供货商家的业务处理,在此功能中有四个小功能:分别是查询、新增、删除、修改,只有系统管理员和一般操作员可访问。(6)系统管理模块是根据不同权限人员提供不
9、同的功能,管理员,系统管理员和一般操作员均有权进出系统的功能。对于系统管理员不但拥有管理员和一般操作员的功能,还拥有权限管理和用户管理,权限管理可以对角色的编辑、增加、删除和查询,根据实际情况的需要对权限进行灵活的管理和维护;员工管理主要是对用户(员工)信息的编辑、增加、删除和查询,当有人员变动时此功能就可以很好的控制用户(员工)信息。系统采用B/S设计模式和采用了Struts和JSP等技术,运行在Windows平台上,它有一个很友好和人性化的IE图形用户界面有很好的可扩展性,并且使用非常的方便简单,其优势很明显1。212 可行性分析本系统的开发宗旨,以及总体任务就是要实现商品管理上的自动化规
10、范化、系统化、科学化和人性化。所以为了能够实现编制这个软件所设定的目标,在程序的开发前的可行性析是有必要的。首先描述超市商品管理系统的功能,即定义用例,以此确定系统的功能需求,然后对其进行讨论分析。从大的方面来说, 超市商品管理系统用例包括:(1)销售商品管理(2)商品管理(3)供应商管理(4)系统管理所有的用例中没有用户权限和用户登录。在这里将用户分为管理员,系统管理员和一般操作员,其中管理员只有对销售商品管理功能模块进行操作,这样的目的,是系统的安全性更高。系统管理员具有管理员和一般操作员的所有权限。不同权限的用户登录后进入系统的页面也不同(系统的功能菜单不同)。销售商品管理用例,这里面分
11、为两个权限级别的用例,一个是系统管理员的用例,另一个是管理员的用例,系统管理拥有管理员的全部功能。销售商品管理用例主要描述的是对销售管理业务的处理,如查询、新增、删除、修改等业务。商品管理用例,这里面分为两个权限级别的用例,一个是系统管理员的用例,另一个是一般操作员的用例,系统管理拥有一般操作员的全部功能。商品管理用例主要描述的是对商品管理业务的处理,如查询、新增、删除、修改等业务。供应商管理用例,这里面分为两个权限级别的用例,一个是系统管理员的用例,另一个是一般操作员的用例,系统管理拥有一般操作员的全部功能。供应商管理用例主要描述的是对供应商管理业务的处理,如查询、新增、删除、修改等业务。系
12、统管理用例,这里面分为两个权限级别的用例,一个是系统管理员的用例,另一个是一般操作员的用例,系统管理拥有一般操作员的全部功能。系统管理用例主要描述的是对员工和权限管理业务的处理,如查询、新增、删除、修改等业务。22开发及运行环境221 硬件环境用户(人)并发访问数据稳定性维护性备选服务器商店(1-3)20-60(条/s)低差Pentium(256MB/40GPC)小型超市 (3-5)60-800(条/s)中一般XEOM双CPU/1GB/RAID5 372GB中型超市 (5-10)100-800(条/s)中一般XEOM双CPU/1GB/RAID5 372GB大型超市(10-50)800-2000
13、(条s)较高较好小型计算机/双机热备或者XEOM 4CPU/4GB/RAID5 672GB超大超市 (50以上)2000(条/s)高好小型计算机/双机热备或者XEOM 4CPU/4GB/RAID5 672GB表21 超市物品管理系统的硬件选择以上这些硬件的配置不是绝对的,这些数据只是参考数据,具体的配置还要根据用户的需求来计算。222 软件环境软件配置主要包括数据库的选择和操作系统的选择。超市物品管理系统的软件配置根据用户对系统的稳定性要求系统的容量以及用户的维护水平确定为以下。1、操作系统的选择(1)服务器操作系统的选择,根据用户量的大小选择不同的操作系统,一般是选择用户比较熟悉的如Wind
14、ows 2000Windows XP Professional或者 Windows 2000 Server操作系统. (2)客户机操作系统的选择,根据本系统设计(B/S模式)的特点,对客户机的要求非常的简单,客户机的操作系统最好选择我们大家都非常的熟悉的Windows操作系统如:Windows 98、 Windows 2000、Windows XP Professional、Windows 2000 Server等都可以,本人选用的是Windows XP Professional。2 、据库的选择可以根据数据的大小选择不同的数据库,如表2-2所示用户(人)并发访问数据稳定性维护性备选数据库商店
15、(1-3)20-60(条/s)低差mysql小型超市 (3-5)60-800(条/s)中一般mysq、SQLServer中型超市 (5-10)100-800(条/s)中一般SQLServer、Oracle 大型超市(10-50)800-2000(条/s)较高较好Oracle超大超市(50以上)2000(条/s)高好Oracle表22 超市物品管理系统的数据库选择3、开发工具及其技术的选择mysql6.0、MyEclipse6.5和apache-tomcat-6.0;struts1.2和JSP等。系统设计模式是B/S。23 系统的应用技术231 SQL数据库语句介绍及其优点SQL是Structu
16、red Query Language的缩写,即结构化查询语言。SQL是关系数据库的标准语言,是在1974由Boyce和Chamberlin提出的2。SQL语言结构简洁,功能强大,简单易学,所以自IBM公司1981年推出以来,SQL语言便得到了广泛的应用。如今无论是Oracle, Sybase, Informix和SQL server这些大型的数据库管理系统,还是Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语一言作为查询语言。SQL广泛地被采用正说明了它的优点,它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅,其优点体现如下:1、
17、非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要的到的结果。所有的SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询器知道存在什么索引、在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引3。2、统一语言SQL可用于所有用户的DB活动模型,
18、包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握4。SQL为许多任务提供了命令,其中包括:(1)查询数据(2)在表中插入、修改和删除记录(3)建立、修改和删除数据对象(4)控制对数据和数据对象的存取(5)保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。3、SQL是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是
19、PostgreSQL和大多数其它关系型数据库用做查询语言的语言5。它是可以移植的,并且容易学习使用。232 JSP的发展、功能及其优缺点1、JSP的简介JSP (Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp) 6。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。自JSP推出后,众多大公司都支持J
20、SP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。2、JSP2.0的简介MVC 模式:为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种模-视图-控件Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页7。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。3、JSP的
21、内置对象(1)request对象该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。(2)response对象对客户的请求做出动态的响应,向客户端发送数据。(3)session对象什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
22、session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。 session对象存在一定时间过期问题,所以存在session中的名值对会
23、在一定时间后失去,可以通过更改session有效时间来避免这种情况。同时编程时尽量避免将大量有效信息存储在session中,request是一个不错的替代对象。(4)application对象什么是application:服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。application对象常用方法:A、public void setAttribute(Str
24、ing key,Object obj): 将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。B、public Object getAttribute(String key): 获取application对象中含有关键字的对象。(5)out对象out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。(6)page java.lang.Object对应this关键字。JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this
25、;在JSP页面中,很少使用page对象。(7)config对象javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitPararneter(String paramNarne) 及getInitPararneternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。(8)exception对象java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为tr
26、ue 时,该对象才可以使用。常用的方法有getMessageO和printStackTraceO等。(9)pageContext对象javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的的方法有getServletContextO和getServletConfigO等。/使用pageContext 设置属性,该属性默认在page 范围内pageContext. setAttribute (page , hello) ;/使用request 设置属性,该属性默认在request 范围内request. set
27、Attribute (request , hello);/使用pageContext将属性设置在request 范围中pageContext.setAttribute(request2 , hello , pageContext.REQUEST_SCOPE); / 使用session将属性设置在session 范围中session.setAttribute(session , hello);/使用pageContext将属性设置在session范围中pageContext.setAttribute(session2 , hellopageContext.SESSION_SCOPE); /使用a
28、pplication将属性设置在application范围中application. setAttribute (app , hello) ;/使用pageContext 将属性设置在application 范围中pageContext.setAttribute(app2 , hello , pageContext.APPL CATION_SCOPE)。 4、JSP2.0的优点(1)一次编写随处运行;(2)简单易学,面向对象,广泛适用于各个平台;(3)提供所有的Servlet功能,Java的数据库访问技术JDBC;(4)新增Simple Tag和Tag File、元素8。5、JSP的缺点(1)
29、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。233 Struts的介绍1、Struts的简介Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。
30、Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架9。这个框架之所以叫Struts,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。S
31、truts是目前WEB开发中比较流行的一个开源框架,它主要是采用Servlets和JSP技术实现了MVC的设计模式,很好地使显示、控制、模型相分离。开发人员利用它开发时,不需要再编码实现MVC模式各个部门,因此利用Struts节省了开发时间,提高了开发的效率。由于Struts能够充分满足应用开发的需求,简单易用,已经成为目前教为流行的MVC模式实现框架。Model2是典型的MVC模式的应用,Model2中的3个部分:视图、控制、模型再应用的过程中,都有相应的工具软件来实现,但是很少有工具软件能够将这部分无缝地联系在一起,提供一个统一的框架。Struts正是解决了这个问题,它利用Servlet作
32、为控制器,为视图和模型搭起一个联系的桥梁。利用Struts,开发者无须编写专门的Servlet程序来管理JSP页面和业务逻辑模块,采用Struts提高了开发效率。Struts与MVC的各个组件,如图2-1所示:JavaBeanService ClassJSP文件ActionForm BeanActionServlet类Action类Struts-config.xml模型(Model)视图(View)控制(Control)图21 Struts的MVC组件 模型部分:JavaBean、 Service Class,用来封装业务数据、业务逻辑和程序运行状态。JavaBean常用来表示业务数据或业务实
33、体,Service Class常用来表示业务逻辑。JavaBean和Service Class在应用中被Action调用。视图部分:JSP文件是用来生成动态页面。ActionForm Bean,是一种JavaBean。但是ActionForm Bean在Struts中可以用来对表单数据进行操作,这些表单数据由用户输入,ActionForm Bean可以保存表单数据,也可以验证表单数据,也可以对表单重新设置为默认值。JSP文件可读取ActionForm Bean中保存的数据,ActionServlet也可以对表单中的数据进行修改。控制部分:包括ActionServlet类、Action类 以及s
34、truts-config.xml等内容,其中。ActionServlet类,是Struts框架中控制器的核心组件。ActionServlet对象负责接收用户的请求,并根据struts-config.xml文件中的配置信息,将用户请求、表单中的数据传递给相应的Action,Action对用户的请求处理后将结果返回给Servlet,Servlet负责把结果传给JSP页面。 Action类,用于对程序流程进行控制,负责处理Servlet传递过来的用户请求,并将处理结果传递给Servlet。 struts-config.xml,负责配置用户的请求和Action的映射,供Servlet读取,是Servl
35、et知道用户的请求应该转到那个Action中去处理。2 、Struts的工作流程图22 为Struts的工作流程图:图22 Struts的工作流程图3、Struts的设计目标(1)可重用,模块化,扩展性好;(2)open source(开源代码);(3)优秀的Application FrameWork(框架);(4)良好的架构和设计。注:Framework是对被验证为有效的相同类型问题的解决方案进行抽象,提取而成的应用程序框架结构;它包含一个Command和一个Control Component。第三章 系统总体设计31 功能模块设计功能模块设计在整个系统设计当中站有非常重要的地位,通过它可以
36、对系统进行详细的设计10。系统模块图如3-1所示:图31 系统模块图超市物品管理系统销售商品信息管理商品信息管理供应商信息管理系统管理311 销售商品管理子模块图销售商品管理模块图如图3-2所示:销售商品信息管理删 除修 改新 增查 询图32 销售商品管理模块图312 商品信息管理子模块图商品信息管理模块图如图3-3所示:商品信息管理删除空缺或已售完的商品品对商品信息进行修改对商品信息进行新增查询所有商品信息图33 商品信息管理模块图313供应商信息管理子模块图供应商信息管理模块图如图3-4所示:供应商信息管理删除供应商信息对供应商信息进行修改对供应商信息进行新增查询所有供应商信息图34 供应
37、商信息管理模块图314 系统管理子模块图系统管理模块图如图3-5所示:系 统 管 理权限管理员工信息管理增 加修 改删 除增 加修 改删 除图35 系统管理模块图查询32 系统流程图 系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程10。图36所示为系统流程图。登录登录是否成功进入系统销售商品信息管理商品信息管理供应商信息管理系统管理图36 系统流程图NY33 用例图用例图是简单的形象的描述用户对整个系统的操作,当然不同权限的用户拥有的用例关系也不同11。331 系
38、统总用例图系统用例图如图37所示,是用来形象的描述系统业务处理以及业务与业务之间的内在关系。在整个系统的用例中, 三个不同权限的用户,对应他们的业务处理也是不同的,系统管理员拥有管理员和一般操作员的所有权限。系统管理员员工信息管理供应商信息管理商品信息管理销售商品信息管理登录图 37 系统总的用例图一般操作员管理员332 销售商品信息管理子模块用例图销售商品信息管理用例图如图38所示,该用例图有两个权限的用户且同时具有查询、修改、删除、新增等功能。系统管理员管理员新增删除修改查询登录图 38 销售商品信息管理用例图333 商品信息管理子模块用例图商品信息管理用例图如图39所示,该用例图有两个权
39、限的用户且同时具有查询、修改、删除、新增等功能。图 39 商品信息管理用例图一般操作员系统管理员查询修改新增删除登录334 供应商信息管理子模块用例图供应商信息用例图如图310所示,该用例图有两个权限的用户且同时具有查询、修改、删除、新增等功能。图 310 供应商信息用例图一般操作员系统管理员查询修改新增删除登录335 系统管理子模块用例图系统管理用例图如图311所示,该用例图里描述了系统管理员对系统的一些重要参数的维护,这些参数要动态的维护,也就是说数据库里的参数的变动与系统上显示的参数是同步的。图 311 系统管理用例图一般操作员系统管理员管理员管理权限员工管理查询修改新增删除34 系统文
40、件结构说明图341 JAVA类的组织图312所示为该项目中涉及到的类包。各个类包表示的意义如下所示。 com.supermarketManage.action:Struts涉及的Action类。 com. supermarketManage.form:Struts涉及的ActionForm类。 com. supermarketManage.dao:通用的数据库访问的DAO,涉及的业务模型的类。 com. supermarketManage.database:用于存放数据库建表语句和初始化数据的SQL脚本及一些相关文件。图 312 Java类文件结构342 WEB页面的目录结构图313所示为该系
41、统中所涉及到的Web文件的目录结构。WEB文件的目录结构说明如下: Administrators:用于存放管理员的JSP文件。 SystemAdmin:用于存放系统管理员的JSP文件。 UserAdmin:用于存放一般操作员的JSP文件。 LoginJsp:用于存放登录界面的JSP文件。 images:用于存放系统中使用的图片资源。 WEB-INF:为不可以直接访问的文件夹。本系统中考虑页面的安全性问题,所以将所有的JSP页面都存放到该文件夹的JSP目录下。这些JSP文件通过Action来访问。 tld:用于存放Struts的标签文件。 struts-config.xml:Struts的配置文
42、件。 web.xml:web应用的配置文件。图313 WEB文件的目录结构第四章 数据库设计41 E-R分析供应商信息供应商名称供应商联系人供应商联系电话供应商地址供应商Email商品单价商品信息商品编号商品名称商品数量商品总金额商品提供商供应商信息性别职务姓名家庭住址身份证号联系电话员 工编号411 实体属性图用户登录用户名登录密码权限角色用户/员工信息角色编号名称销售商品信息商品编号商品名称商品单价商品数量商品总金额42 数据库的逻辑设计通过E-R图分析本系统所要求的数据库的框架已经确定。下面实现数据库的逻辑结构即将数据库的概念结构转化为mysql6.0数据库系统所支持的实际数据模型9。各
43、张表的详细信息如下:表名employeemanage(员工管理)名称类型可否为空说明备注idint(11)否自动生成employeeNumbervarchar(15)否员工编号employeeNamevarchar(10)否员工姓名employeeDutyvarchar(20)否员工职务sexvarchar2)否员工性别employeeTelvarchar(12)否员工电话idCardvarchar(10)否身份证号employeeAddressvarchar(50)员工住址表 41员工信息表表名goodsinfo(商品信息)名称类型可否为空说明备注idint(11)否自动生成goodsNum
44、bervarchar(15)否商品编号goodsNamevarchar(25)否商品名称goodsUnitPricevarchar(10)否商品单价goodsQuantityvarchar(11)否商品数量sumvarchar(20)否商品总价providerInfoint(11)否商品供应商来源于供应商信息表providerinfo表 42商品信息表表名providerinfo(供应商信息表)名称类型可否为空说明备注idint(11)否自动生成providerNamevarchar(50)否供应商名称providerContactManvarchar(15)否供应商联系人providerContactTelphonevarchar(12)否供应商联系电话providerAddressvarchar(50)供应商联系地址providerEmailvarchar(55)供应商Email表 43供应商信息表表名sellgoodsinfo(商品信息)名称类型可否为空说明备注idint