1、iPhone手机销售系统的设计与实现摘要本次毕业设计的题目是iPhone手机销售系统的设计与实现。本论文就毕业设计的内容,系统地阐述了整个iPhone手机销售系统的功能及实现。在指导老师的带领下设计并实现了从手机管理,手机分类和查询,到购物车实现,用户订单处理,再到管理员系统。基本上实现了购物网的功能流程,能够实现用户与商家在网上进行手机交易。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。关键词:手机销售管理系统;Internet;系统实现On-line iPhone marketing systems design with realizesAbstractTh
2、is graduation project topic is on-line cosmetics marketing systems design with realizes. The present paper on graduation projects content, elaborated systematically the entire on-line cosmetics sales management systems function and realizes. In instructed under teachers leadership to design and to r
3、ealize from the merchandise control, the classification of goods and the inquiry, realized to the shopping cart, user order form processing, arrived at the manager system again. Basically has realized the shopping networks function flow, can realize the user and the business on-line carries on the c
4、ommodity exchange. This system contact surface simple direct-viewing, simplify operation and use, interactive is strong, completely based on Internet network.Key words:iPhone sales management system; Internet; The system realizes目 录第1章 引言41.1 选题背景41.2 可行性分析41.2.1 技术可行性41.2.2 经济可行性51.2.3 操作可行性5第2章 需求
5、分析62.1 用户功能需求62.2 性能需求62.3 主要技术分析7第3章 概要设计93.1 功能模块图93.2 处理流程设计103.2.1 系统操作流程103.2.2 数据增加流程113.2.3 数据修改流程113.2.4 数据删除流程12第4章 详细设计134.1系统E-R图134.2 数据库设计134.2.1 SQL Server 2000分析134.2.2 数据库表结构144.2.3 数据库连接技术174.3 界面及代码设计224.3.1 用户注册224.3.2 手机查询244.3.3 用户登陆27第5章 系统调试与测试305.1 程序调试305.2 程序的测试305.2.1 测试的重
6、要性及目的305.2.2 测试的步骤325.2.3 测试的主要内容32第6章 结论346.1 系统评价346.2 安全性问题35致谢36参考文献37第1章 引言1.1 选题背景本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的购买自己喜欢的手机,改变传统商业交易,在互联网上进行交易,实现网上购买手机。网上购买手机的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个手机市场一片繁荣,在这种情况下,网上手机的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上手机的优势才能得以体现。在中国,网上手机有发展的必要,也有发展的基础,发展网上手机的各方面条件也
7、日趋成熟,但是还存在一些问题,只有把问题解决好了,才能保证网上手机销售的蓬勃发展。本论文课题新颖,主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。1.2 可行性分析1.2.1 技术可行性本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网
8、页及美观的图形文件或动画文件。1.2.2 经济可行性由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。1.2.3 操作可行性界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。第2章 需求分析2.1 用户功能需求实现一般电子商务网站的基本功能 前台:1、首页 显示手机;根据ID显示图片;搜索;注册;登陆 2、搜素界面 3、搜索结果 4、注册 5、登陆6、购物 购物车浏览;结账后台
9、:1、登陆页面 2、首页 用户管理;产品管理;类别管理;订单管理 3、用户管理 显示用户;删除用户;搜索用户 4、产品管理 产品显示;产品添加;产品更改;产品删除;产品搜索 5、类别管理 类别显示;类别添加;类别删除;类别修改 6、订单管理 订单浏览;订单处理2.2 性能需求系统对环境的要求服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:Inter Pentium 41.6Hz或更高。内存:512MB硬件空间:160GB题目主要采用的技术数
10、据库:Microsoft SQL Server 2000。编程语言 JSP服务器:Tomcat5.5,jdk1.6开发环境:WindowsXP2.3 主要技术分析JSP(Java Server Pages) 作为一种新的Web应用开发技术,越来越受到开发人员的关注。它为创建高度动态的Web应用提供了一个独特的开发环境,能够适应市场上绝大多数的服务器产品。JSP是由多个公司参与合作建立起来的动态网页技术标准。JSP的具体特征如下:(1)分离内容的生成和演示。使用JSP技术,Web页面开发人员可以使用HTML标识设计和格式化最终页面。使用JSP标识或者Java片段来生成页面上的动态内容。生成内容的
11、逻辑被封装在标识和JavaBean组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。(2)生成可用的组件。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者让这些组件为更多的使用者或者客户集体所使用。(3)采用标识简化页面开发。Web页面开发人员不一定都是熟悉脚本语言。JavaServerPage技术封装了许多功能,这些功能都是在易用的、与JSP相关的XML标识中进行动态内容生成时所需要的。标准的JSP标识能够访问和实例化JavaBean组件、设置或者检索组件属性、下载Applet以及执行用其它方法更难于编码或
12、耗时的功能。通过开发定制标准库,JSP 技术可以进行相当的扩展,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web 页面开发人员能够使用熟悉的工具和同标识一样执行特定功能的构件来工作。第3章 概要设计3.1 功能模块图前台管理用户注册与登录浏览手机订购管理会 员 注 册册会 员 登 录修 改 会 员 记 录手机分类展示搜索手机后 台 登 录购物车订单信息用户浏览修 改 会 员 记 录手机分类展示后台管理手机管理用户管理订单管理添加手机删除手机浏览手机修改手机删除用户信息浏览用户查看单信息处理订单确认已处理订单3.2 处理流程设计3.2.1 系统操作流程系统登录界面输入操作员及
13、密码系统主界面系统管理错误信息数据库检查密码错误密码正确功能界面功能处理3.2.2 数据增加流程添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:开始自动生成编号输入数据是否合法写入数据库结束图3.2 数据增加流程图3.2.3 数据修改流程在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。开始选择需要修改记录输入数据是否合法写入数据库结束图3.3 数据修改流程图3.2.4 数据删除流程当用户选定一条记录时,单
14、击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。开始选择需要删除记录是否删除更新数据库图3.4 数据删除流程图第4章 详细设计4.1系统E-R图用户名密码地址电话用户买卖手机属于类别编号类别厂家名称生产日期编号订单用户名手机数量价格属于订单详细订单号总价单价手机号手机号用户名数量手机名称总价购物车4.2 数据库设计4.2.1 SQL Server 2000分析本系统采用SQL Server 2000数据库,SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Ta
15、te三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理
16、登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。4.2.2 数据库表结构设计表“admin”列名数据类型长度允许空IdInt4否UsernameVarchar50否PasswordVarchar50否CreattimeDatetime8否Fla
17、gInt4否IsuseInt4否LogintimesInt4否QuanxianVarchar1000否设计表“affice”列名数据类型长度允许空IdInt4否TitleNvarchar100否ContentNvarchar200否AddtimeDatetime8否AdderNvarchar50否IfhideInt4否设计表“guestbook”列名数据类型长度允许空IdInt4否NicknameNvarchar100否PicNvarchar100否EmailNavarre50是QQNvarchar50是WeburlNvarchar100是BlogurlNvarchar100是Expressi
18、onsNvarchar100否ContentNvarchar200否AddtimeDatetime8否设计表“member”列名数据类型长度允许空IdInt4否Usernamenvarchar50否PasswordNvarchar100否TypeNvarchar50否RegtimeDatetime8否IfuseInt4否LogintimesInt4否LasttimeDatetime8否LastipNvarchar50否设计表“news”列名数据类型长度允许空IdInt4否TitleNvarchar150否PicNvarchar150否ContentText16否AddtimeDatetime8
19、否AdderNvarchar50否IfhideInt4否VisitInt4否UpInt4否设计表“post”列名数据类型长度允许空IdInt4否DnumNvarchar50是AddtimeNvarchar50是FlagNvarchar50是MemberNvarchar50是设计表“prep”列名数据类型长度允许空IdInt4否TidInt4是NumNvarchar50是TelNvarchar50是LinkmanNvarchar50是AddressNvarchar100是AddtimeNvarchar50是FlagNvarchar50是Member Nvarchar50是设计表“sale”列名数
20、据类型长度允许空IdInt4否TitleNvarchar50是TypeNvarchar200是urlNvarchar200是CoNvarchar50是TimeNvarchar50是PriceNvarchar50是VipriceNvarchar50是ContentText16是AddtimeNvarchar50是FlagNvarchar50是NumInt4是SlInt4是4.2.3 数据库连接技术JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interfac
21、e)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地说,JDBC能完成下列三件事:1. 同一个数据库建立连接;2. 向数据库建立连接;3. 处理数据库返回的结果。JD
22、BC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API
23、 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图5.1 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处
24、理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。图5.2 JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以
25、由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指
26、定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象
27、提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。数据库连接如图5.3所示:图5.3 数据库的连接处理数据库的连接处理具体实现如下:/建立JDBCODBC桥sun.jdbc.odbc.JdbcOdbcDriver;/桥建立不成功时的错误处理catch(ClassNotFoundException event)/建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句执行查询Rs=返回结果/SQL出错处理 catch(SQLException e1)有
28、了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据
29、库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发
30、布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。
31、程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.execu
32、teQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结。4.3 界面及代码设计4.3.1 用户注册游客可以进行注册会员,注册会员需要填写用户的用户名、登陆密码、真是姓名、性别、出生日期、籍贯、email、密码提示问题、提示答案。界面如下图所示:主要代码如下:package util;import java.sql.*;public class
33、DBConn static try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);/ Class.forName(com.mysql.jdbc.Driver); / Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(Exception ex) ex.printStackTrace(); public static Connection getConn() try Connection conn=DriverManager.getConnection(jdbc:micro
34、soft:sqlserver:/localhost:1433;databasename=hshygl,sa,123);/ conn = DriverManager.getConnection(jdbc:mysql:/localhost/fzshop,root,123);/ Connection conn=DriverManager.getConnection(jdbc:odbc:temp); return conn; catch(Exception ex) ex.printStackTrace(); return null; public static void close(Connectio
35、n conn,Statement st,ResultSet rs) if(rs!=null) try rs.close(); catch(SQLException ex) if(st!=null) try st.close(); catch(Exception ex) if(conn!=null) try conn.close(); catch(Exception ex) 4.3.2 手机查询用户可以进行旅游线路查询操作,可以按手机名称、上市时间、手机价格进行查询,界面如下图所示:package util;import java.io.UnsupportedEncodingException;
36、import java.text.SimpleDateFormat;import java.util.Date;public class Validate /* * 是否为数字和英文验证 * */public int getIntAndChar(String str)char c;int i;for (i = 0; i=0 & c=a & c=A & c=Z)break;/判断字符是否在某个区间if(i str.length()return -1;elsereturn 0;/* * 是否为整数验证 * */public int getInt(String str)char c;int i;fo
37、r (i = 0; i=0 & c=9)break;/判断字符是否在某个区间if(i str.length()return -1;elsereturn 0;/* * 是否为非法字符验证 * */public boolean getLawlessChar(String str)boolean flag = false;char c;for(int i = 0;i str.length();i+)c = str.charAt(i);switch(c)case : flag = true; break;case : flag = true; break;case & : flag = true; b
38、reak;case : flag = true; break;return flag;4.3.3 用户登陆用于用户登陆进入系统的界面,用户需要建立一个账号和密码才能进入使用系统,当用户输入自己的账号和密码时,系统进行验证,如果正确,进入系统;如果错误,则提示用户输入的信息不正确,重新输入信息.该界面还为新用户设置了专门的注册组件,通过点击注册按钮直接进入新用户的注册界面.在登陆的时候,密码框采用密文形式输入,保护用户登陆的安全性。界面如下图:主要代码如下:package servlet;import java.io.IOException;import java.io.PrintWriter;
39、import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import util.
40、Validate;import bean.InsertUpdateDelBean;public class AmountServlet extends HttpServlet /* * Constructor of the object. */public AmountServlet() super();/* * Destruction of the servlet. */public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code here/* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an err
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100