电子商务专业课程设计会员信息管理系统.docx

上传人:b****8 文档编号:12118805 上传时间:2023-06-04 格式:DOCX 页数:60 大小:649.38KB
下载 相关 举报
电子商务专业课程设计会员信息管理系统.docx_第1页
第1页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第2页
第2页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第3页
第3页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第4页
第4页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第5页
第5页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第6页
第6页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第7页
第7页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第8页
第8页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第9页
第9页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第10页
第10页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第11页
第11页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第12页
第12页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第13页
第13页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第14页
第14页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第15页
第15页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第16页
第16页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第17页
第17页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第18页
第18页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第19页
第19页 / 共60页
电子商务专业课程设计会员信息管理系统.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子商务专业课程设计会员信息管理系统.docx

《电子商务专业课程设计会员信息管理系统.docx》由会员分享,可在线阅读,更多相关《电子商务专业课程设计会员信息管理系统.docx(60页珍藏版)》请在冰点文库上搜索。

电子商务专业课程设计会员信息管理系统.docx

电子商务专业课程设计会员信息管理系统

课程设计实验报告

一、课程设计题目

会员信息管理系统

二、本次课程设计应达到的目的

1.通过该题目的设计,使学生掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;

三、本次课程设计任务的主要内容和要求(包括原始数据、技术参数、设计要求等)

使用窗体等控件构建会员信息管理系统界面,实现简单的会员信息管理功能,每次录入完会员信息之后就能实现对其删除,查询,修改等操作。

要求:

1.1人完成

2.功能实现,界面友好

四、进度安排

1.第1天:

选题、查阅资料;

2.第2天:

确定设计方案;

3.3-8天:

方案的实现、调试与验证;

4.9-10天:

撰写课程设计报告初稿并修改;

五、主要参考文献:

1.《Javas实用教程(第2版)》,郑阿奇,电子工业出版社

2.MSDN

一、应用技术及开发环境

1.JAVA语言及JDK

JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。

JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

JDK是学好Java的第一步。

而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。

从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。

2.eclipse

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

二、结构设计与结构功能图

1.结构设计

根据对系统进行需求分析,本系统将分为4个模块:

●会员基本信息管理

管理会员基本信息,包括个人信息的添加、修改、删除以及查询。

●会员消费信息管理

管理会员的消费信息,包括消费记录的添加、修改、删除以及查询。

●会员积分信息管理

管理会员积分信息,包括会员积分的添加、修改、删除以及查询。

2.功能结构图

会员信息管理系统功能结构如图2.1所示。

 

三、系统实现

该系统由4个模块构成,包括会员信息管理系统主界面模块、会员基本信息管理模块、会员消费信息管理模块和会员积分信息管理模块。

下面分别加以叙述:

①会员信息管理系统主界面模块

 

图3.1会员信息管理系统主界面

②会员基本信息管理模块

 

图3.2会员基本信息管理模块的运行界面

③会员消费信息管理模块

图3.3会员消费信息管理模块运行界面

④会员积分信息管理模块

图3.4会员积分信息管理模块的运行界面

四、系统调试与测试

4.1测试的定义及目的

软件测试就是在软件投入运行之前,对软件需求分析、设计规格说明和编码的最终复审,是保证软件质量的关键步骤。

如果要给软件测试下定义,可以这样讲,软件测试是为了发现错误而执行程序的过程。

测试的目的在于将软件设计时设计者与程序开发者之间理解不一致的地方、功能与需求不一致的地方、不符合逻辑思维的情况都反映给质量控制部门,由质量控制部门调配需求部门统一做出一个明确解答,再由开发人员进行修改和补充。

4.2系统功能测试

功能测试主要是测试程序模块是否实现了设计中所要求的功能。

功能测试中需要注意的有:

(1)查询功能中,是按会员号进行查询的。

每次查询前需要先输入会员号,如果没有,程序运行时会弹出提示信息窗口,告诉用户输入会员信息。

(2)录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台和后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。

还有就是必须录入的字段的设置时候有误。

(3)测试删除功能中需要注意的是单击"删除"按钮后,一般会出现提示信息,询问是否确定删除。

通常情况下,我们单击"确认"按钮查看信息是否被删除掉了,而忽略了单击"取消"按钮后程序的反应:

这时有可能的是没有删除,还有一种可能是即便单击了"取消"按钮,也一样删除了数据。

(4)关于修改功能的测试主要是看修改确认后是否数据真正已被修改了。

这是最基本的功能,需要注意的是看是否能把不应该修改的数据也修改成功了。

4.3系统调试常见错误

1.NullPointerException异常

一般是对一个为NULL值的变量进行操作引起的。

为避免这种异常,最好在对变量操作之前检查,看它是否为NULL值。

2.NumberFormatException异常

这是由于数字的格式错误而出现的例外。

为了避免出现此类错误,一般必须保证数据格式输入正确。

结束语

经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课题中得到的经验、心得和锻炼。

我发现开发项目的过程其实就是个不断的解决问题的过程,从中也感觉到项目开发的快乐,一个人永远有学不完的知识,就算是项目开发中的知识点都学了,但在实际的开发过程中仍然会遇到不少问题,遇到问题时要做到两点:

一个是“查”

,一个是“问”。

不懂的地方就得要自己找答案,可以从书本、网络中查找解决的答案;再一个就是问周边的同学。

比如,在本科课题的编写代码部分,本人就参考了《java核心技术》,从中得到了图形编程的很多有用的方法。

这次课程的设计给我以前所学的知识做了一个总结,为我深入学习编程做了铺垫。

在本课题中存在的不足之处是在所难免的,本人将在日后加于改进。

 

致谢

在本课题的设计和实现的过程中遇到的不少的难题,我要感谢那些给我带来帮助的书籍和internet,还有周边的同学们。

如果没有他们的帮助,本课题的设计和实现就不会如期顺利完成。

还要感谢我们的指导老师给我们这么多学生的文档认真批改,让我们知道在课程设计与实现的过程中存在的问题。

附录:

程序源代码

(1)Menu.java(主窗口)

packageCRM;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

importjava.util.*;

importjavax.swing.*;

importjavax.swing.border.*;

importjava.util.*;

classMenuextendsJFrameimplementsActionListener{

JButtonCustomerManager=newJButton("会员信息");

JButtonConsumptionManager=newJButton("消费信息");

JButtonScore=newJButton("会员积分信息");

JMenuBarmb=newJMenuBar();//菜单栏

JPaneljp=newJPanel();//用来填放子模块

Containercp=getContentPane();

Stringusername;

Menu(){

}

Menu(Stringusername){

this.username=username;

mb.add(CustomerManager);

mb.add(ConsumptionManager);

mb.add(Score);

cp.add(mb,"North");

//设置边框

jp.setBorder(BorderFactory.createTitledBorder(

BorderFactory.createLineBorder(Color.blue,2),null,

TitledBorder.CENTER,TitledBorder.TOP));

jp.setLayout(newBorderLayout());

JLabellabel1=newJLabel(newImageIcon("4.jpg"));

jp.add(label1);

JLabellabel2=newJLabel(newImageIcon("2.jpg"));

jp.add(label2,"South");

JScrollPanescrollpane=newJScrollPane(jp);

cp.add(scrollpane);

Toolkitkit=Toolkit.getDefaultToolkit();

Dimensionscreen=kit.getScreenSize();

intx=screen.width;/*取得显示器窗口的宽度*/

inty=screen.height;/*取得显示器窗口的高度*/

setSize(600,600);

intxcenter=(x-600)/2;

intycenter=(y-600)/2;

setLocation(xcenter,ycenter);/*显示在窗口中央*/

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//注册临听器

CustomerManager.addActionListener(this);

ConsumptionManager.addActionListener(this);

Score.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("会员信息")){

newCustomerManager();

}

if(cmd.equals("消费信息")){

newConsumptionManager();

}

if(cmd.equals("会员积分信息")){

newScore();

}

}

publicstaticvoidmain(String[]args){

newMenu("");

}

}

 

(2)Score.java(会员积分管理界面)

packageCRM;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

classCustomer1implementsjava.io.Serializable{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

Stringnumber,name,lastmonth,thismonth,sex,total;

publicCustomer1(){

};

publicvoidsetNumber(Stringnumber){

this.number=number;

}

publicStringgetNumber(){

returnnumber;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetName(){

returnname;

}

publicvoidsetlastmonth(Stringlastmonth){

this.lastmonth=lastmonth;

}

publicStringgetlastmonth(){

returnlastmonth;

}

publicvoidsetthismonth(Stringthismonth){

this.thismonth=thismonth;

}

publicStringgetthismonth(){

returnthismonth;

}

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicStringgetSex(){

returnsex;

}

publicvoidsettotal(Stringtotal){

this.total=total;

}

publicStringgettotal(){

returntotal;

}

}

publicclassScoreextendsJFrame{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

JLabellb=newJLabel("录入请先输入记录,查询、删除请先输入会员号,修改时对查询"+"内容改后的保存!

");

JTextField会员号,姓名,上月积分,本月积分,总积分;

JRadioButton男,女;

ButtonGroupgroup=null;

JButton录入,查询,删除,修改,显示;

JPanelp1,p2,p3,p4,p5,p6,pv,ph;

Customer1会员=null;

Hashtable会员散列表=null;

Filefile=null;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

publicScore(){

super("会员积分信息管理系统");

会员号=newJTextField(10);

姓名=newJTextField(10);

上月积分=newJTextField(10);

本月积分=newJTextField(10);

总积分=newJTextField(10);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);

group.add(男);

group.add(女);

录入=newJButton("录入");

查询=newJButton("查询");

删除=newJButton("删除");

修改=newJButton("修改");

显示=newJButton("显示");

录入.addActionListener(newInputAct());

查询.addActionListener(newInquestAct());

修改.addActionListener(newModifyAct());

删除.addActionListener(newDeleteAct());

显示.addActionListener(newShowAct());

修改.setEnabled(false);

p1=newJPanel();

p1.add(newJLabel("会员号:

",JLabel.CENTER));

p1.add(会员号);

p2=newJPanel();

p2.add(newJLabel("姓名:

",JLabel.CENTER));

p2.add(姓名);

p3=newJPanel();

p3.add(newJLabel("性别:

",JLabel.CENTER));

p3.add(男);

p3.add(女);

p4=newJPanel();

p4.add(newJLabel("上月积分:

",JLabel.CENTER));

p4.add(上月积分);

p5=newJPanel();

p5.add(newJLabel("本月积分:

",JLabel.CENTER));

p5.add(本月积分);

p6=newJPanel();

p6.add(newJLabel("总积分:

",JLabel.CENTER));

p6.add(总积分);

pv=newJPanel();

pv.setLayout(newGridLayout(6,1));

pv.add(p1);

pv.add(p2);

pv.add(p3);

pv.add(p4);

pv.add(p5);

pv.add(p6);

ph=newJPanel();

ph.add(录入);

ph.add(查询);

ph.add(修改);

ph.add(删除);

ph.add(显示);

file=newFile("会员积分信息.txt");

会员散列表=newHashtable();

if(!

file.exists()){

try{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=newObjectOutputStream(out);

objectOut.writeObject(会员散列表);

objectOut.close();

out.close();

}catch(IOExceptione){

}

}

Containercon=getContentPane();

con.setLayout(newBorderLayout());

con.add(lb,BorderLayout.NORTH);

con.add(pv,BorderLayout.CENTER);

con.add(ph,BorderLayout.SOUTH);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setBounds(100,50,500,380);

setVisible(true);

}

publicstaticvoidmain(Stringargs[]){

newScore();

}

classInputActimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

修改.setEnabled(false);

Stringnumber="";

number=会员号.getText();

if(number.length()>0){

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

会员散列表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}catch(Exceptionee){

System.out.println("创建散列表出现问题!

");

}

if(会员散列表.containsKey(number)){

Stringwarning="该会员信息已存在,请到修改页面修改!

";

JOptionPane.showMessageDialog(null,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}//endif1

else{

Stringm="该会员信息将被录入!

";

intok=JOptionPane.showConfirmDialog(null,m,"确认",

JOptionPane.YES_NO_OPTION,

JOptionPane.QUESTION_MESSAGE);

if(ok==JOptionPane.YES_OPTION){

Stringname=姓名.getText();

Stringlastmonth=上月积分.getText();

Stringthismonth=本月积分.getText();

Stringtotal=总积分.getText();

Stringsex=null;

if(男.isSelected()){

sex=男.getText();

}else{

sex=女.getText();

}

会员=newCustomer1();

会员.setNumber(number);

会员.setName(name);

会员.setlastmonth(lastmonth);

会员.setthismonth(thismonth);

会员.settotal(total);

会员.setSex(sex);

try{

outOne=newFileOutputStream(file);

outTwo=newObjectOutputStream(outOne);

会员散列表.put(number,会员);

outTwo.writeObject(会员散列表);

outTwo.close();

outOne.close();

}catch(Exceptionee){

System.out.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2