校园小商品交易系统20131314046
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库系统》
课程设计
题目:校园小商品交易系统 _学生姓名:何茂林
专业:计算机科学与技术
班级:计科(1)班
学号: 20131314046
二〇一五年六月
一、需求分析
随着计算机及网络技术的迅速的发展,网络电子商务变得越来越普及,各种电子商务网站在极短的时间内吸引了海量的网络用户,比如国内比较知名的电商:淘宝、京东等都是信息化时代下的产物,并且他们从中获得了巨大的利润这也吸引了越来越多的人投入到电子网络商务的行业中来。
从整体上看,主导电商发展趋势的人群主要是青年群体,而在他们中间,在校大学生是不可忽视的重要组成部分,他们是随着现代互联网一起成长起来的群体。然而,现在的市场上的电商网站几乎都是面向社会的所有群体,并没有一款真正的网络产品是面向在校的学生,校园内部的小商品交易如果要通过大的电商网站进行,无疑是浪费了财力物力。所以,面向在校学生开发一款小商品交易系统是十分具有潜力的。本次课题的研究方向就是面向校园的小商品交易系统。
二、总体功能概述
校园小商品交易系统的开发基于SqlServer数据库,采用的编程语言为Java。该系统基本功能实现有:用户的注册、登录、修改个人信息;顾客用户订单的添加、删除;商家用户对销售商品的添加、删除、管理员的登录、对用户及商品信息的查找、添加、删除、修改等操作,并可以修改管理员自身的密码;访客用户可以浏览商品信息并可以获知商家的联系方式,但是不能够使用其他功能。
系统基本上实现了商品交易的所有环节,所有的操作围绕数据库进行。该系统简洁有效,功能实用,覆盖面广,可以为在校学生所产生的商品交易行为做交易管理、统计及分析。
三、数据库结构设计
校园小商品交易系统的数据库设计要求包括系统管理员、用户、商品等实体组成部分,在用户实体方面,又分为注册顾客、注册商家和未注册用户(访客)。由于访客用户仅仅是要求系统提供商品信息以及商家信息的浏览功能,限于访客的操作该系统的权限不足原因,其操作不会对数据库的整体结构和内容有影响,故在设计数据库的时候忽略访客这一实体。
设计管理员-用户-商品的E-R模型如图1所示:
图1 设计商家-顾客-商品的E-R模型如图2所示:
图2
以上两幅E-R模型图较为完整地阐述了校园小商品交易系统的数据库的设计结构,通过对两幅E-R图进行分析,初步设计数据库需要向其中添加五张二维表,用来描述实体与其属性的信息和实体实体之间的联系。
设定所创建的数据库的名称为Info,分别添加二维表mgr_info、user_info、good_info、order_info、sell_info。其中,mgr_info仅仅用来存储管理员的登录名和密码;user_info用来存储注册用户的个人信息;good_info用来存储商家所出售的商品的信息;order_info用来存储顾客的订单信息;sell_info用来存储商家
表1 各个实体及其属性关系
表中sell_info是在user_info和good_info的联系下产生的附表,而order_info 是在user_info和good_info的联系下产生的附表。
上表较为完整地描述了实体及属性的信息,所以根据该表构造数据库Info可以认为是有效的。
四、程序结构概述
校园小商品交易系统程序的编写采用Java语言,Java语言是面向对象的编程语言,它所具有的优点是书写简单方便,集成各种工具包,使用起来十分便捷。在图形操作界面的编程实现中,Java提供了swing这种工具,swing是强大的Java 界面编程方法,简单有效,,在实际的Java开发中经常用到。Swing提供JFrame、JPanel、JButton和JLabel等常用图形界面编程的控件,可以直接使用,也可以对这些控件进行自定义,所以可以很灵活地和使用。在数据库连接编程实现过程中,Java也提供了强大的JDBC(Java DataBase Connectivity)连接方式,JDBC是sun 公司开发的Java数据库访问接口规范,现已成为SQL 2003标准的一部分。图3表示了JDBC的体系结构
图3
JDBC也提供了一系列数据库连接、执行、查询等操作的类和接口,表2中所列出的是本系统中所使用的一些类。
表2
本程序中总共包含8个java文件:Access.java、Main.java、Getconn.java、Login.java、Noloign.java、Reg.java、User.java、Manager.java。Aeecss.java为主函数实现类,是系统的进入通道;Main.java是框架类,继承自JFrame,所有的内容都放在这个框架中显示;Getconn.java是通用类,它是用来连接数据库的重要类;Login.java是用户或者管理员登录的类;Nologin.java是访客进入所调用的类;Reg.java是用户注册的类;User.java和Manager.java分别是用户登录和管理员登录后所调用的类。
系统的每一个显示界面(MainFrame除外)都是通过JPanel完成的,JPanel 用作容器放下所需要的用户控件和连接数据库后的查询结果,并按照既定的显示方式显示出来,每一个JPanel最后都要放到MainFrame中,通过调用MAinFrame 调用setvisiable()方法设置为真值显示出来。例如:Login中包含四个JLabel,两
个JTextField和两个JButton,通过坐标将他们固定在JPanel的某个位置上。Mainframe添加Login的一个实例化对象,显示出来。
系统程序结构中最重要的是Getconn类,该类用于连接sqlserver数据库,使用了JDBC所提供的接口。Getconn是一个提供服务的类,它是所有其他类的基础。通过实例化一个Getconn类的一个对象,通过返回一个Connection对象获得已经连接好的数据库并对其进行一系列操作,在实例化Getconn对象时,若连接数据库存在问题导致连接不成功,则实例化终止抛出异常并捕获异常,此时不能成功连接sqlserver数据库。在程序的编写中,Getconn中所实现的方法原本是直接写在各个类里面,但是这样的写法造成代码的可重复利用率低,代码冗余度高,将这个方法封装成一个类可以避免出现这种情况,代码结构也更加灵活。
五、功能模块详述
登录功能
该功能提供管理员或注册用户的登录接口,管理员或注册用户在登陆界面输入用户名和密码后,系统连接到数据库进行查找匹配,若匹配到的信息与管理员或者注册用户所输入的信息一致,则返回true,并显示相应的界面,否则返回false,提示用户名或者密码错误,此时需要重新输入并再次验证。
登录界面如图4所示
图4
使用者在输入用户名和密码后,如果要以管理员的身份进入系统,则点击管理员登录按钮,如果要以普通注册用户(包括商家和顾客)的身份进入系统,则点击普通用户登录按钮,两者不能混淆,否则会提示密码错误,需要重新输入。