系统不需要投入什么经济,只要懂的相关技术即可。因此在经济上是可行的。
2.2.3 社会可行性
本系统编程所使用的是网上的图片,又不以获利为目的。因此不必承担任何法律责任。
3需求分析
3.1 需求分析的任务及主要内容
3.1.1 具体业务的需求
(1) 在账单管理模块中主要对账单的增加、账单的修改、账单的删除、账单的查询。查询时还可以进行分页浏览,也可以跳转到你想看的页面。
(2) 在供应商管理模块中主要对供应商的增加、供应商的删除、供应商的修改和供应商的查询。查询时还可以进行分页浏览,也可以跳转到你想看的页面。
(3) 在用户管理模块中主要对用户的增加、用户的修改、用户的删除、用户的查询。查询时还可以进行分页浏览,也可以跳转到你想看的页面。
3.1.2层次图
图3-1 超市管理系统总模块
3.1.3数据流图
维护数据
图3-2 经理用户管理的模块
登录 数据维护
图3-3 普通用户管理模块
4 系统总体设计
4.1 系统分析
在本系统中,分为基本信息的账单管理模块,供应商管理模块,用户管理模块。有2个角色:经理、普通用户名。
1.用户所具有功能
(1) 经理
拥有所有的模块的操作权限。
(2) 普通用户
对账单管理模块的操作权限。
4.2技术路线选择
4.2.1 B/S架构
在超市账单管理系统中使用到了B/S架构,程序采用了浏览器/服务器的工作模式,又称为请求/响应。其中"B"表示Browser,即浏览器。而"S"则表示的是Server,即服务器。
使用B/S架构,在很大程度商上降低了对用户本地设备环境的要求。同时,也极大地降低了程序维护的成本,非常方便。
4.2.2 jsp技术
jsp是Java Service Page的简称,jsp是运行在服务器端的Java页面,当web服务器接收到jsp请求是,首先会对jsp文件进行翻译,将编好的jsp文件通过jsp引擎转换成可识别的Java文件。经过翻译后的jsp文件相当于我们编写好的Java源文件,此时仅有Java源文件是不够的,必须要将Java源文件编译成可执行的字节码文件。Web容器接受了客户端的请求,经过翻译和编译两个阶段,生成了可被执行的二进制字节码文件,此时就进入执行阶段。当执行结束后,会得到处理请求的结果,web容器再把生成的结果页面返回给客户端显示。
4.2.3 JDBC技术
JDBC是一种Java数据库连接技术,能实现Java程序对各种数据库的访问有一组使用Java语言编写的类和接口组成,这些类和接口称为JDBC API,它们位于包Java.sql以及javax.sql中。在项目开发中,使用JDBC可以实现应用程序与数据库之间进行数据的通信,JDBC主要作用是建立与数据库之间的访问连接,将编写好的sql语句发送到数据库进行执行,对数据库返回的执行结果进行处理。在JDBC中有四个重要的环节:DriverManager类:管理JDBC驱动、Connection接口:负责连接数据库并担任传递数据的任务、Statement接口:由Connection产生,负责执行sql语句、Resultset接口:负责保存Statement执行后所产生的查询结果。
4.2.4 tomcat
在超市账单管理系统中我们使用了tomcat,tomcat是Apache基金会旗下的一款免费、开源的web服务器。Web 服务器是可以向发出请求的浏览器提供文档的程序,它的主要功能就是提供网上信息浏览服务。
Tomcat是一个小型的轻量级应用服务器,技术先进、性能稳定,占用资源小、速度快,安装tomcat的过程很简单,可以使用解压版,无需安装即可使用。
4.2.5 eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。在Eclipse里写程序的代码。
图4-1 eclipse
4.3数据库
数据库在超市账单管理系统中是最重要的,因为在超市账单管理系统里有的操作数据都是保存在数据库中,在所有jsp页面中通过JDBC与数据库连接,来操作数据库中的数据,从而实现所需的功能。在本系统里可以通过PL/sql登陆数据,查看数据库里数据,数据库的设计是非常重要的一步,如果数据库表设计不好直接就决定了你后面的开发,不好的数据库表是制作不出好的系统。一个好的数据库开发一班是要系统分析,再看逻辑设计,然后物理实现。
一般人们再设计数据库表时,都要经过全面的分析,画出E-R图来显示数据库系统的需求,我们现在用的是谁第二代数据库即关系型数据库。
图4-2 用户E-R图
图 4-3 账单E-R图
图 4-4 供应商E-R图
4.3.1 数据库系统分析
关系型数据库的结构非常简单,只是包含单一的数据结构,关系数据库的数据结构虽然很简单却能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
在超市账单管理系统中,数据库中供应商和账单存在主外键关系,在账单表中billno是主键,providid为外键。而在供应商表中providerno是主键,providerno相当于是账单表中外键。这样账单表与供应商表就存在了关联。用户表独立于账单表和供应商表。
4.3.2 数据库物理实现
经过数据库系统分析后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。本系统中数据库采用Oracle作为数据库。首先我们在Oracle中建一个数据库,命名为"shop"。 选中shop数据库,向数据库中添加3个表:bill,provider,user。下面是每个数据表中的属性。
1) provider表。provider表用来存储供应商信息。
表4-1 provider表
字段名称 数据类型 providerno number providername Varchar2(50) providerdescript Varchar2(100) provideruser Varchar2(50) providertel number provideraddress Varchar2(500) providerfax Varchar2(50) providenum number
2) bill表。bill表用来存储账单的信息。
表4-2 bill表
字段名称 数据类型 billno number billname Varchar2(50) billnumber number billmoney number billpay number providid number goods Varchar2(500) billtime Date billdanwei Varchar2(50) billnum number
3) user表。user表用来存储领登录用户明细。
表4-3 user表
字段名称 数据类型 username Varchar2(50) passowrd Varchar2(50) userno number usersex number userage number usertel Varchar2(50) useraddress Varchar2(500) userlimit number userid number
5 详细设计
5.1 Servlet的详细应用
在Servlet工作流程中,根据web.xml中的配置将拦截所有通过servlet的请求,并根据URI决定分发给doGet还是doPost处理请求,然后调用相应的业务逻辑方法,调用相应的页面去执行响应。利用JDBC(Java Data Base Connectivity)技术处理与数据库连接,利用其Servlet API所定义的接口和类来封装与数据库交互的相关操作,使对数据库的操作变得相当容易,减少开发时间,而且能对系统进行灵活的,使系统的各模块容易维护和重用。
5.2 特定模块的详细介绍
每个模块都有其特定功能,用户分别分为普通用户和经理用户。当普通用户登录时,进入的超市账单管理系统只显示账单管理模块和退出系统模块。当经理用户登录时显示账单管理模块、供应商管理模块、用户管理模块、退出系统模块。普通用户的账单管理模块、退出系统模块的功能和经理用户的账单管理模块、退出系统模块功能是一样的,所以下面只介绍经理用户来给大家展示超市账单管理系统功能。
5.2.1 登录模块
1.在登录页面时,
上一篇:
高校学生综合测评系统设计与实现