网上购物商店系统设计
课程设计报告
(20##--20##年度第一学期)
题 目: 网上购物商店系统设计
学 号:
专业年级:
学生姓名:
指导教师:
日期: 20## 年12月21日
一、设计目的
随着互联网技术的迅速发展,网络已逐渐深入人心,更是成为继报刊、电视、广播
等传统媒体之后而兴起的一新传媒介质,网络宣传已成为众多宣传手段的重中之重,各
种各样的网站也就应运而生:为宣传企业而制作的公司网站、可进行网上购物的电子商
务网站、能及时了解到天下事的新闻网站、方便学习的教育网站,还有学校、团体、个
人等等各大各小的网站,充斥着我们的视野,满足着我们的需要。网站的规划与建设,
已悄然被许多人摆到了首要的迫在眉睫的位置上。
21 世纪是信息化的社会,互联网实现了世界范围的网络间的互联和信息共享,并
已全面介入人类生产生活的方方面面,带动着人类社会的飞速发展。当今的企业,如果仍然依靠传统的方式宣传自己企业的形象和文化、采购自己企业所需的原材料和配套部件、推销自己企业的产品,则显得十分落后而且难以适应激烈的市场竞争。我这次课程设计主要研究的就是网上购物商店设计。
二、设计系统主要主要功能与模块介绍:
(1)网站前台功能
用户信息管理:用户登录、注册
商品信息:商品编号、名称、图片,简介、价格等
购物车:选择商品-确认购买-填写收货人信息--选择付款方式--提交订单
订单信息管理:注册用户ID、收货人姓名、收货人详细地址、收货人邮政编码、收货人联系电话、送货方式、付款方式、订单状态、下单时间
(2)网站后台功能:
管理员信息管理:管理员ID、管理员用户名、管理员密码、管理员类型
商品信息管理:商品编号、名称、图片,简介、价格等
用户信息管理:用户评价信息
销售信息管理:销售数量。销售额
3、数据库设计
用户信息
商品信息
订单信息:
管理员信息
销售信息
四、业务流程设计
网上购物商店业务流程图
五、运行截图
1.用户登录代码
public class NewJFrame extends javax.swing.JFrame {
/**
* Creates new form NewJFrame
*/
public NewJFrame() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextField1.setText("用户名");
jTextField2.setText("登录密码");
jPasswordField1.setText("12345678");
jButton1.setText("登录");
jButton2.setText("注册");
jLabel1.setText("lili");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(23, 23, 23)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton2)
.addGap(24, 24, 24))))
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(88, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(75, 75, 75)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGap(46, 46, 46)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 63, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addGap(41, 41, 41))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}
管理员信息数据表
订单信息代码
<html>
<link rel="stylesheet" href="style.css" type="text/css">
<body bgcolor=grey>
<br><br>
<table width=800 style="border:blue 2px groove;background:white;" align=center><tr><td><table width=700 align=center><tr><td><BR><BR>
<h1 align="center">订单信息</h1>
<form method="post" action="mailto:meisx@ahau.edu.cn" name="form1" >
<p>收货人姓名:
<input type="text" name="iD" size="15">
<p>收货人详细地址:
<input type="text" name="iD" size="35">
<p>收货人邮政编码:
<input type="text" name="iD" size="15">
<p>收货人联系电话:
<input type="text" name="iD" size="15">
<p>请选择送货方式:
<input type="Radio" name="edition" value="chinese" checked >平邮
<input type="Radio" name="edition" value="english">快递
<p>请选择付款方式:
<input type="Radio" name="edition" value="chinese" checked >网银支付
<input type="Radio" name="edition" value="english">快捷支付
<p>请选择下单状态:
<input type="Radio" name="edition" value="chinese" checked >已下单
<input type="Radio" name="edition" value="english">未下单
<p>如需备注请留言:
<textarea rows="4" name="memo" cols="40"></textarea>
<p align="center"><input type="submit" name="submit" value="提交订单" >
<input type="reset" name="cancel" value="取消订单" >
</form>
</td></tr></table></td></tr></table></body>
</html>
六、设计心得
课程设计,我明白了要想学习好一门课程,一定要理论与实践相结合,Web,SQL技术更是如此。要在不同的浏览器上做调试试验,解决兼容性问题。在很多的时候总是感觉捉襟见肘。这种感觉总有一种让人想重新来过的冲动。以后的这种体会会更加明显,所以课程设计在我看来不仅仅是一个知识的巩固,还是一个让人醒悟的良药。
这次课程设计我做的是网上购物商店系统设计,主要是用于动态网页实现购物的功能。系统分为用SQL实现的数据库和用JSP设置的界面以及两者的相互连接。
在整个设计过程中,我始终保持着严谨、认真的治学态度。从设计最初的构思到最后的实现都花费了大量的心血,没有半点马虎。虽然界面的设置已经完成,但对功能的设置还不够完善,还有待进一步的熟悉与加强。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我没能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,需求为导向,让自己的每一行代码都能实现自己的意义。
通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本操作。使我对所学专业知识得到了充分的应用,锻炼了我发现问题,分析、思考问题、解决问题的能力,使我的实际动手操作能力有所提高,而不仅仅是局限于书本上的知识,对今后的工作学习都大有益处。
七、参考文献
1、管理信息系统与案例分析,人民邮电出版社,高林,周海燕主编
2、ASP +Dreamweaver8案例精粹,西安电子科技大,武新华//魏平俊//秦连清编著
3,张海藩 软件工程导论 ,清华大学出版社 ,20##年2月第5版 [4]薛华成 管理信息系统 ,清华大学出版社 ,20##年12月第4版