1系统功能需求分析
1.1功能分析
超市账单管理系统的主要功能就是完成对超市账单、会员用户及供应商进行数据的增加、删除、修改和查看的功能。在各个管理模块中,可以根据名称查询相应模块中所有符合条件的记录,快速的查询到符合条件的数据,方便用户进行信息核对,同时用户也可以对所查询到的记录进行增加、修改和删除操作。操作完毕后,用户可以退出系统。具体系统功能需求描述如下:
(1)登录,用户根据用户名、密码进行登录,系统从后台获取用户名,用户名存在并且密码正确的情况下,成功登录,否则登录失败,并在登录页面给出相应提示。
(2)账单管理,主要管理超市账单,有账单的编号、商品名称、商品数量、交易金额、是否付款、供应商名称、商品描述和账单时间。用户可以通过点击商品名称,查看商品的具体信息,并根据需求对其进行删除,修改等操作。
(3)供应商管理,主要管理与超市合作的供应商,有编号、供应商名称、供应商描述、联系人、电话和地址。用户可以通过点击供应商名称,查看供应商的具体信息,并根据需求进行删除,修改等操作。
(4)用户管理,主要管理管理超市的用户,有编号、用户名称、性别、年龄、电话、地址和权限。用户可以通过点击用户名称,查看用户的具体信息,并根据需求进行删除,修改等操作。用户管理信息化,减少了人力资源的浪费。
(5)退出,用户对数据操作完毕后,可以点击退出按钮,退出管理系统,回到登陆界面。
1.2系统分析
1.2.1模块组成
本设计根据实际需求将系统划分成4个不同模块进行开发,分别为登录模块、账单管理模块、供应商管理模块和用户管理模块,如图1-1所示:
1
登录模块 超市账单管理系统 账单管理模块 供应商管理模块 图1-1 系统功能模块图
用户管理模块 1.2.2各子模块工作流程
用户想使用此系统,首先要使用用户名和密码进行登录,登录失败则重新登录,登陆成功后会根据用户的权限进入到不同的界面,从而进行不同的操作,系统中各个子模块之间的具体工作流程如图1-2所示:
Y 普通用户
Y 管理员
登录模块
账单管理模块 登录模块 账单管理模块 图1-2 模块工作流程图
用户登录 验证 N 重新登录 供应商管理模块 用户管理模块 2
1.3可行性分析
1.3.1技术可行性
本系统是基于java web所编写的,java语言作为专业课程已经学过。查找java web相关资料学习了jsp,javascript和html等相关内容,本系统所实现的是超市账单管理的最基本、最简单的应用,因此在给定的时间内能够完成。开发本系统所需要的软件均可以在网上免费获得,同时也可以在网上获得部分开源的代码和图片。因此,技术上是完全可行的。 1.3.2经济可行性
由于本系统是作为毕业设计由我们学生自己开发的,所需要的素材、开发工具等也都可以在网上免费获得,不需要任何的费用,并且本系统是基于B/S架构开发实现,开发和维护成本都很低,系统建成之后将为超市行业提供很大的方便,因此在经济上是可行的。 1.3.3社会可行性
本系统编程所使用的是自己所写代码,部分是网上的开源代码和图片,并且不以获利为目的,也不会对社会造成不良影响。因此不必承担任何法律责任。
2 系统总体设计
2.1 java web分层开发的思想
整个系统具有的代码量非常的多复杂,如果这些代码全部放在一起,会使代码层次混乱不堪,当修改业务逻辑或数据库访问的代码时,会破坏其他部分的代码,不利于系统的维护。为了避免这些问题,使用分层开发的思想来开发系统。把各个功能按调用流程进行模块化,各模块可以随意的组合。
使用分层有如下好处: 1. 实现了各模块之间的解耦。 2. 便于系统的维护。 3. 便于系统功能的扩展。
3
[1]
4. 提高软件组件的重用。
本项目分成dao,daoImpl,service,serviceImpl,servlet和page几个层次。 dao层里是一些接口,定义了一些连接数据库和处理增删改查等业务的方法,是最底层的代码;
daoImpl层里面是dao层方法的具体实现;
service层里也是一些接口,并继承了dao层中的类;
serviceImpl层是service层方法的具体实现,主要供servlet层调用; servlet层里面是一些控制代码,他根据不同需求来决定调用service中的某个方法处理业务,并根据处理结果将调用相应的页面将数据显示给用户;
page层里是用来将数据显示给用户的页面,起显示的作用。
2.2 系统的设计模式
设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示,是某种场景下你可以套用的一种解决方案。本系统使用的是MVC设计模式,即Model-View-Controller。它将一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
视图层(View):是显示信息,与用户进行交互的界面。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。本系统使用jsp来代表视图层,用来接收用户的数据和请求。
模型层(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。本系统使用JavaBean代表模型层,用来处理接收到的数据和请求,并返回相应的结果。
控制层(Controller):用来调用模型处理业务请求、控制实体数据在视图上展示。控制层并不做任何的数据处理,控制层接受请求后,它只把用户的信息传递给相应的模型,让模型处理业务请求,再选择符合要求的视图将结果返回给用户。本系统使用servlet代表控制层。
4
2.3 设计工具的选择
2.3.1 Web服务器
本次设计选用的Web服务器是由Apache、Sun 和其他一些公司及个人共同开发而成的Tomcat服务器。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 2.3.2 数据库服务器
本系统选择Oracle数据库服务器。它是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。是目前最流行的 C/S或B/S体系结构的数据库之一。具有可用性强、可扩展性强、数据安全性强以及稳定性强等优点。
2.3.3 页面设计工具
本项目的界面设计软件工具选用Dreamweaver CS4。Dreamweaver CS4 是Macromedia公司推出的全新的网页编辑器,它不仅可以创建传统的HTML页面,还可以创建XML、JSP、CFML、WML和Action Script等文档。因此,本设计选择Dream weaver CS4作为页面设计和维护工具。 2.3.4 应用开发工具
本项目的应用开发工具选择Myeclipse,MyEclipse是在eclipse 基础上加上自己的插件,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
3 系统详细设计
3.1 数据库设计
(1)、职位信息(ManType):用以将员工的职位相关的信息规范化,其内容包括
5