第一章 绪论
1.1课题背景
计算机网络技术的发展,给信息时代的人们带来了很大的方便。如今在Internet上,随处都可以看到种类繁多的信息管理系统,比如,企业办公化自动管理系统,电子商务系统,企业教务管理系统等等。随着信息技术的日益发展已深入到社会的各个角落,各个大的企业,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。不管大企业。各种类型的小企业也是如此,以前管理大多为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力。他们希望有一个适合自己的管理系统,能够实现商品类别管理,商品管理,商品出入库管理,商品和供应商管理,库存管理等功能。通过此系统,可以对小型超市的各项情况实行电脑化管理,这样可以提高工作效率,也使得小型超市管理所需的各项信息能方便快速进行录入,查询,删除和更新,对相应关键数据也能够方便的统计结果。
1.2目的和意义
长久以来,小型超市的管理工作大多数都采用的是传统的手工方式来记录相关信息,这种管理方式存在很多缺点,比如说,商品入库出库,商品信息的录入,查询,更新,分析都要完全依赖管理人员的手工记录和人工分析。对于小规模企业来说还勉强可以接受,但对于规模大一点的企业来说,人工记录是相当麻烦的。为满足企业发展需求,决定采用各种编程语言JSP开发了基于B/S架构的超市管理系统,超市管理系统是涉及信息科学、数据计算和计算机技术的复杂的人机交互系统。通过这些系统,可以对小型超市和管理进行智能化管理,有效地记录并查询各种商品类型以及出入库等情况,为小型超市的管理提供了诸多方便。
1.3开发工具及技术
1.3.1开发工具
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和Mysql数据库进行简要介绍。
1.3.1.1 MyEclipse
我们在选择开发工具时候,选择了最常用和最方便的MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse),选择的版本是8.6,因为8.6版本已经很好地兼容了各种类包,这种小型的邮件系统,也不需要太复杂的类,所以myeclipse8.6足够采用在该系统的设计。我们利用MYECLIPSE作为开发平台,可以实现j2ee编程技术的集成、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为很多类:JavaEE模型,WEB开发工具,应用程序服务器的连接器,JavaEE项目部署服务,数据库服务,MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。MyEclipse 8.6的主要改进是在团队写作和集中工作环境的集中配置管理方面。同时MyEclipse 8.6还包含了上百个功能的改进和新特性,这些新功能和特性将让MyEclipse 8.6用户在开发代码,测试,以及部署应用方面都得到极大的便利。
1.3.1.2 Tomcat
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
1.3.1.3 Mysql
Mysql使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,Mysql提供的功能已经绰绰有余,而且由于Mysql是开放源码软件,因此可以大大降低总体拥有成本。
1.3.3 JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的商品端脚本语言。同时也是一种广泛用于商品端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。
本章主要是完整的介绍一下本系统开发的相关工具与技术,包括有:MyEclipse 8.6和mysql数据库,B/S 体系架构,MVC理论和Struts2技术。将这些开发工具的特点和优势做了一个详细的描述,便于在系统开发时能够充分利用所具有的特性开发系统,提高系统开发的工作效率。本邮件管理系统页面组织和控制流程采用基于MVC设计模式的Struts2开发框架,这使得整个系统分为前台展示、业务流程控制和后台开发三个独立的部分。在视图层,使用了Struts2的标签和html共同完成JSP页面;业务流程和控制转发采用Struts2框架中的控制器部分进行控制。
1.4软硬件需求
用户对系统运行环境需求包括软件、硬件、开发等方面。
1)系统软件要求:
操作系统:Windows xp/vista/win7
开发软件:MyEclipse 8.6
数据库:MySQL 5.1
2)系统硬件要求:
处理器:P4 以上
内存:512MB以上
硬盘空间:10G以上
3)开发要求:
开发工具:MyEclipse 8.6
编程语言:Java
第二章 需求分析
2.1需求调研
在项目的开始是需求调研,并且走访了一些商品公司,经过一系列的调查与谈话中发现,现行的小型超市管理工作还是存在着很多不足之处,手工记录的方式不易保存,容易丢失,同样也不利于数据的查询和统计分析。根据商品公司的实际情况及调查结果,发现实现小型超市管理的网络化、信息化是十分有必要的,因此设计了本套超市管理系统。
2.2可行性分析
开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。
2.2.1技术的可行性
本系统开发工具是MyEclipse和Mysql数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,超市管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。
2.2.2经济的可行性
如今是信息化时代,信息化管理可以使小型超市管理工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,在提高工作效率的基础上,可以考虑减少小型超市管理人员的数量,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。
2.2.3操作可行性
本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。
2.2.4法律的可行性
本超市管理系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。
综上所述,开发一个超市管理系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个超市管理系统是必要可行的。
2.3系统用户用例图
2.3.1管理员用例图
管理员负责管理整个系统,涉及到几大功能模块,能够及时动态的掌握小型超市的各项情况。
转存失败重新上传取消
图2.1 管理员用例图
2.4功能模块需求分析
本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:
系统具有简洁大方的页面,使用简便,友好的错误操作提示
(1)用户管理:主要对系统内的用户进行管理。功能如下:
增加、删除、修改等功能。
(2)入库管理:对小型超市进行管理。具体功能如下:入库确认。
(3)商品管理: 对酒店中所涉及到的商品进行管理。具体功能如下:
商品的添加、修改、删除等功能。
(4)库存管理:对商品的数量进行管理。
入库、出库等功能。
(5)入库统计:统计一段时间内的商品出库情况、入库情况等,具体功能如下:
出库统计、入库统计、入库商品的金额统计。
暂定统计以月为单位。
(6)系统设置:退出系统。
(7)具有较强的安全性,避免用户的恶意操作
2.5设计的基本思想
设计思想遵循以下几点:
1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。
2. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来商品较强的稳定性和运行效率。
3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。
4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。
5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。
6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。
2.6性能需求
2.6.1系统的安全性
超市管理系统在管理权限上要严格进行控制,想登陆超市管理系统进行操作,必须有某些操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。
2.6.2数据的完整性
1.各种记录信息的完整性,信息记录内容不能为空
2.各种数据间相互联系的正确性
3.相同数据在不同记录中的一致性
2.7界面需求
界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。
1.输出设计
输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。
系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。
2.输入设计
输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。
输入设计的原则有如下几点:
1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。
2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。
3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。
4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误
第三章 系统分析与设计
3.1数据库的分析与设计
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。
数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。
3.1.1数据库的概念结构设计
概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,
根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。
3.1.2数据库的逻辑结构设计
我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOT NULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据E-R模型,超市管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。
(1)商品类别表主要是记录了商品类别基本信息。表结构如表3.1所示。
表3.1商品类别表(t_catelog)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 4 | 否 | 是 | 编号 |
name | varchar | 50 | 否 | 否 | 类别名称 |
jieshao | varchar | 50 | 否 | 否 | 类别介绍 |
(2)商品信息表主要是记录了小型超市的基本信息,表结构如图3.2所示。
表3.2商品信息表(t_goods)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | Int | 4 | 否 | 是 | 编号 |
catelog_id | Int | 4 | 否 | 否 | 类别编号 |
name | varchar | 50 | 否 | 否 | 商品名称 |
chandi | varchar | 50 | 否 | 否 | 产地 |
danwei | varchar | 50 | 否 | 否 | 单位 |
guige | varchar | 50 | 否 | 否 | 规格 |
beizhu | varchar | 50 | 否 | 否 | 备注信息 |
(3)入库信息表主要是记录小型超市的入库的基本信息,表结构如图3.3所示。
表3.3入库信息表(t_ruku)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | Int | 4 | 否 | 是 | 编号 |
danjuhao | varchar | 4 | 否 | 否 | 单据号 |
shijian | varchar | Date | 否 | 否 | 入库时间 |
zongjiage | varchar | 50 | 否 | 否 | 总价格 |
jingshouren | varchar | 50 | 否 | 否 | 经手人 |
beizhu | varchar | 500 | 否 | 否 | 备注信息 |
(4)出库信息表主要是记录小型超市的出库的基本信息,表结构如图3.3所示。
表3.5出库信息表(t_chuku)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | Int | 4 | 否 | 是 | 编号 |
danjuhao | varchar | 4 | 否 | 否 | 单据号 |
shijian | varchar | Date | 否 | 否 | 出库时间 |
zongjiage | varchar | 50 | 否 | 否 | 总价格 |
jingshouren | varchar | 50 | 否 | 否 | 经手人 |
beizhu | varchar | 500 | 否 | 否 | 备注信息 |
(5)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.7所示。
表3.6管理员信息表(t_admin)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
userId | int | 4 | 否 | 是 | 编号 |
userName | varchar | 50 | 否 | 否 | 用户名 |
userPw | varchar | 50 | 否 | 否 | 密码 |
(6)管理员可以实现对客户信息的存储,以便以后可以更方便联系客户。
表3.7客户信息表(t_kehu)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 4 | 否 | 是 | 编号 |
mingcheng | varchar | 50 | 是 | 否 | 姓名 |
dizhi | varchar | 50 | 是 | 否 | 地址 |
lianxiren | varchar | 50 | 是 | 否 | 联系人 |
dianhua | varchar | 50 | 是 | 否 | 电话 |
youbian | varchar | 50 | 是 | 否 | 邮编 |
chuanzhen | varchar | 50 | 是 | 否 | 传真 |
youxiang | varchar | 50 | 是 | 否 | 邮箱 |
kahuhang | varchar | 50 | 是 | 否 | 开户行 |
zhanghao | varchar | 50 | 是 | 否 | 账号 |
type | varchar | 50 | 是 | 否 | 类型 |
(7)超市在进货时候,需要对货物的运输进行登记,该表实现了对超市货物的运输登记管理。
表3.8货物运输信息表(t_kehu)
列名 | 数据类型 | 长度 | 允许空 | 是否主键 | 说明 |
id | int | 4 | 否 | 是 | 编号 |
Goodsname | varchar | 50 | 是 | 否 | 商品名 |
Goodtype | varchar | 50 | 是 | 否 | 类型 |
chufadi | varchar | 50 | 是 | 否 | 出发地 |
mudidi | varchar | 50 | 是 | 否 | 目的地 |
3.1.3数据库的连接原理
数据库的连接采用了ssh框架技术的连接方式,用户在使用系统时候,需要先对applicationContext.xml文件进行数据库的连接配置,如下所示,修改红圈处:
Username是数据库的用户名,password是数据库的密码。连接成功后便可以正常使用。