购物管理系统的方案设计书与实现.doc

上传人:rrsccc 文档编号:8976662 上传时间:2021-01-28 格式:DOC 页数:25 大小:1.01MB
返回 下载 相关 举报
购物管理系统的方案设计书与实现.doc_第1页
第1页 / 共25页
购物管理系统的方案设计书与实现.doc_第2页
第2页 / 共25页
购物管理系统的方案设计书与实现.doc_第3页
第3页 / 共25页
购物管理系统的方案设计书与实现.doc_第4页
第4页 / 共25页
购物管理系统的方案设计书与实现.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《购物管理系统的方案设计书与实现.doc》由会员分享,可在线阅读,更多相关《购物管理系统的方案设计书与实现.doc(25页珍藏版)》请在三一文库上搜索。

1、购物管理系统的设计与实现课程设计报告购物管理系统的设计与实现课 程 数据库原理及应用 班 级 姓 名 学 号 指导教师 时间:2012年5月21日 至 2012年5月25日指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩 指导教师签字 年 月 日目 录第一章 开发背景 4第二章 功能描述 5第三章 业务流程分析 6第四章 数据流程分析 74.1 数据流程图 74.2 数据字典 8第五章 概念模型设计10第六章 逻辑模型设计和优化 11第七章 物理设计和实施12第八章 系统测试 14第九章 课程设计心得体会 23参考文献 2425第

2、一章 开发背景购物管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序功能完备,操作简单等。本系统是在分析了现行购物中存在的问题的基础上,结合数据库系统开发的概念、结构及系统开发的基本原理和方法,开发的一套购物管理系统。根据实际情况,由目前各功能需求和公司里的情况而设计的这套系统,同时方便了顾客的日常消费,为广大求人民开拓了一个很好的购物平台。第二章 功能描述经过调研及分析,购物管理系统主要完成以下功能:(1)用户注册:用户必须在购物管理系统的主界面进行注册,才能进行

3、商品的购置。在注册时用户需填会员的大致信息(会员编号、会员姓名、密码、地址、电话、邮箱等)以方便销售商邮寄。(2)会员管理:用户申请成为会员,记录会员的详细资料(会员编号、会员姓名、地址等)。(3)商品信息管理:维护商品信息(商品编号、商品名称、价格、等信息),会员可以查看商品信息。(4)购物车管理:用户可以将商品放入自己的购物车(包括购物车编号、商品编号、商品数量等)。(5)订单查询:会员可以查看所有订单信息(包括订单编号、订单日期等)。(6)最受欢迎的商品:用户可以查看商品的销售量信息。第三章 业务流程分析根据本系统需要实现的功能,设计用户与销售商之间的关系流程图如下:图3-1 业务流程图

4、第四章 数据流程分析4.1数据流程图图4-1 中层数据流程图图4-2 会员查看信息数据流程图图4-3 销售商维护商品信息数据流程图图4-4 会员购买商品数据流程图图4-5 会员信息管理数据流程图 4.2数据字典数据字典是我在数据流程图中选取的一些中层数据流,我把我所抽去的数据列出以下表来。(1)根据对系统需求的分析,结合实际情况,在系统中需要使用的数据项如下表所示:表1 数据项数据项名数据类型长度别名会员编号字符型10会员的编号会员姓名字符型10会员的姓名密码字符型10会员的密码年龄字符型2会员的年龄邮箱字符型16会员的邮箱地址字符型10会员的地址电话文本型11会员的电话商品编号字符型7商品的

5、编号类型文本型10商品的类型名称文本型20商品的名称价格整型6商品的价格简介文本型500商品的简介购物车编号字符型4购物车的编号商品数量整型10购买商品的数量用户名字符型10订单中用户的姓名订单编号字符型10购物时生成的订单订单日期字符型25购买商品的时间(2)根据对系统需求的分析,结合对E-R图的分析和转化,在系统中构件的数据结构如下表所示。表2 系统需求数据结构数据结构名含义说明组成会员信息管理记录会员的基本信息会员编号、会员姓名、密码、电话、地址商品信息管理记录销售商提供的商品信息商品编号、类型、名称、价格、简介等订单查询记录会员的购物信息用户名、商品编号、订单编号、订单日期购物车管理存

6、储会员需要购买的商品商品编号、购物车编号、商品数量第五章 概念模型设计根据需求分析与关系模式画出系统的E-R图如下:图5-1 系统的总体概念模型(E-R图)第六章 逻辑模型设计和优化 逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。关系模式设计如下:表6-1 会员信息管理数据项名数据类型长度会员编号字符型10会员姓名字符型10密码字符型10年龄字符型2邮箱字符型16地址字符型10电话字符型11表6-2 商品信息管理数据项名数据类型长度商品编号字符型7类型文本型15名称文本型20价格文本型10简介文本型500表6-3 购物车管理数据项名数据类型长度商品编号字符型7购物

7、车编号字符型4商品数量整型6表6-4 订单查询数据项名数据类型长度用户名字符型10商品编号字符型7订单编号字符型10订单日期字符型25第七章 物理设计和实施得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。数据库实施主要包括在具体的DBMS中创建数据库和表的过程,本设计所选用的DBMS为SQL SERVER2000,有关创建数据库和关系表的SQL语句如下所示:(1)创建数据库/*=*/* DataBase: 购物管理系统数据库, 创建数据库,数据库名称为购物管理系统数据库*/*=*/create

8、 database购物管理系统数据库go(2)创建表/*=*/* Table:会员信息管理 */*=*/create table会员信息管理( 会员编号 char(10) not null, 会员姓名 char(10) not null, 密码 char(10) not null,年龄 char(2) null邮箱 char(16) null 地址 char(10) null, 电话 char(11) null, constraint PK_会员信息管理 primary key nonclustered (会员编号)go/*=*/* Table:商品信息管理 */*=*/create tabl

9、e 商品信息管理 (商品编号 char(7) not null,类型 text null,名称 text null,价格 money null,简介 text null, constraint PK_商品信息管理 primary key nonclustered (商品编号)go/*=*/* Table: 购物车管理*/*=*/create table购物车管理( 商品编号 char(7) not null, 购物车编号 char(4) not null, 商品数量 int null,)go/*=*/* Table: 订单查询*/*=*/create table订单查询(用户名 char(10

10、) not null, 商品编号 char(7) not null, 订单编号 char(10) not null, 订单日期 char(25) null,)Go第八章 系统测试(1) 系统登录模块设计图8-1 系统登录代码如下: private void 登录_Click_1(object sender, EventArgs e) try if (txtusers.Text = ) /判断用户是否输入了用户名 MessageBox.Show(用户名不能为空); else if (txtpwd.Text = ) /判断用户是否输入了密码 MessageBox.Show(密码不能为空); els

11、e SqlConnection con = Class1.createCon(); 创建数据库连接 con.Open(); SqlCommand cmd = new SqlCommand(select count(*)from 会员管理 where 会员姓名= + txtusers.Text + and 密码= + txtpwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); /获取返回值 if (i 0) if (cmbLogin.Text = ) MessageBox.Show(请选择登录界面); cmbLogin.F

12、ocus(); return; else if (cmbLogin.Text = 普通用户使用界面) Form2 main = new Form2(); main.adminname = txtusers.Text; t = txtusers.Text; main.admintime = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); /隐藏登录窗体 else Form3 ptmain = new Form3(); ptmain.adminname = txtusers.Text; ptmain.Show(); this.

13、Hide(); else MessageBox.Show(用户名或者密码错误!); /弹出提示 catch (Exception ex) MessageBox.Show(ex.ToString(); (2)注册模块设计图8-2 注册模块代码如下: private void button1_Click(object sender, EventArgs e) SqlConnection con1 = Class1.createCon(); /创建数据库连接 con1.Open(); SqlCommand com1 = con1.CreateCommand(); com1.CommandText =

14、 select * from 会员管理 where 会员编号=tn; com1.Parameters.AddWithValue(tn, textBox1.Text); SqlDataReader reader = com1.ExecuteReader(); if (reader.Read() != false) MessageBox.Show(会员编号已存在,请重新输入!); else SqlConnection con = Class1.createCon(); /创建数据库连接 con.Open(); SqlCommand com = con.CreateCommand(); com.Co

15、mmandText = insert into 会员管理 values (mn1,mn2,mn3,mn4,mn5,mn6,mn7); com.Parameters.AddWithValue(mn1, textBox1.Text); com.Parameters.AddWithValue(mn2, textBox2.Text); com.Parameters.AddWithValue(mn3, textBox3.Text); com.Parameters.AddWithValue(mn4, textBox4.Text); com.Parameters.AddWithValue(mn5, text

16、Box5.Text); com.Parameters.AddWithValue(mn6, textBox6.Text); com.Parameters.AddWithValue(mn7, textBox7.Text); com.ExecuteNonQuery(); con.Close(); MessageBox.Show(注册成功!); (3)商品信息查询模块设计图8-3 商品信息查询代码如下:private void search_Click(object sender, EventArgs e) if (textBox1.Text = | textBox1.Text != ) & (tex

17、tBox2.Text = | textBox2.Text != ) SqlConnection con = Class1.createCon(); SqlDataAdapter cmd = new SqlDataAdapter(select * from 商品信息管理 where 商品编号 like + textBox1.Text + % and 类型 like + textBox2.Text + %, con); DataTable c = new DataTable(); cmd.Fill(c); dataGridView1.DataSource = c; string t; t = te

18、xtBox1.Text; int i = 19; switch (t) case 9170921: i = 4; break; case 9170922: i = 2; break; case 9170923: i = 3; break; case 9170924: i = 1; break; case 9170925: i = 5; break; case 9170926: i = 7; break; case 9170927: i = 12; break; case 9170928: i = 16; break; case 9170929: i = 0; break; case 91709

19、30: i = 8; break; case 9170931: i = 14; break; case 9170932: i = 10; break; case 9170933: i = 9; break; case 9170934: i = 11; break; case 9170935: i = 6; break; case 9170936: i = 17; break; case 9170937: i = 15; break; case 9170938: i = 13; break; if (i = 19) MessageBox.Show(请输入商品编号!); else pictureB

20、ox1.Image = imageList1.Imagesi; (4)加入购物车模块设计图8-4 加入购物车代码如下:private void jrgwc_Click(object sender, EventArgs e) int n = 0; string t = textBox1.Text; SqlConnection cn = Class1.createCon(); cn.Open(); SqlCommand com = cn.CreateCommand(); com.CommandText = select * from 购物车管理 where 商品编号=mn; com.Paramet

21、ers.AddWithValue(mn, t); SqlDataReader r = com.ExecuteReader(); if (r.Read() n = r.GetInt32(2); n = n + 1; cn.Close(); SqlConnection cn1 = Class1.createCon(); cn1.Open(); SqlCommand com1 = cn1.CreateCommand(); com1.CommandText = update 购物车管理 set 商品数量=mn1 where 商品编号=mn2; com1.Parameters.AddWithValue(

22、mn1, n); com1.Parameters.AddWithValue(mn2, t); com1.ExecuteNonQuery(); cn1.Close(); MessageBox.Show(已加入购物车!); (5)购买模块设计图8-5 购买后的历史订单代码如下:private void 购买_Click(object sender, EventArgs e) string t4 = Form1.t; string t = DateTime.Now.ToString(); int i = 0; SqlConnection con = Class1.createCon(); con.O

23、pen(); SqlCommand com = con.CreateCommand(); com.CommandText = select * from 订单查询; SqlDataReader reader = com.ExecuteReader(); while (reader.Read() if (reader0 != DBNull.Value) i = i + 1; int n = 8801 + i; string m = Convert.ToString(n); con.Close(); SqlConnection con1 = Class1.createCon(); con1.Ope

24、n(); SqlCommand com1 = con1.CreateCommand(); com1.CommandText = insert into 订单查询 values (mn1,mn2,mn3,mn4); com1.Parameters.AddWithValue(mn1, t4); com1.Parameters.AddWithValue(mn2, textBox1.Text); com1.Parameters.AddWithValue(mn3, m); com1.Parameters.AddWithValue(mn4, t); com1.ExecuteNonQuery(); con1

25、.Close(); MessageBox.Show(订购成功!); (6)最受欢迎的商品模块设计图8-6 最受欢迎的商品代码如下: private void pup_Click(object sender, EventArgs e) label1.Text = 商品编号; label2.Text = 购物车编号; SqlConnection cn = Class1.createCon(); SqlDataAdapter a = new SqlDataAdapter(select 商品编号,购物车编号 from 购物车管理 order by 商品数量 desc, cn); DataTable c

26、 = new DataTable(); a.Fill(c); dataGridView1.DataSource = c; (7)后台数据维护界面模块设计图8-7 后台数据维护代码如下: private void 会员信息查询ToolStripMenuItem_Click(object sender, EventArgs e) SqlConnection con = Class1.createCon(); SqlDataAdapter c = new SqlDataAdapter(select 会员编号,会员姓名, 年龄,邮箱, 地址,电话 from 会员管理, con); DataTable

27、b = new DataTable(); c.Fill(b); dataGridView1.DataSource = b; 第九章 课程设计心得体会经过一周的课程设计,使我对数据库与C#编程有了更深一层的了解,感觉数据库与C#的连接是一个很好的应用。课程设计的宗旨在与培养在本课程范围内,初步掌握解决实际应用问题时所应具备的查阅资料,综合运用所学知识的能力,为毕业设计及今后从事专业工作打下基础。虽说在本次设计中遇到了很多难题,但却在克服难题的时候使我学到了更多的知识。同时我所设计的购物管理系统课程设计在不断的调试与改进中也终于得到了实现。通过这次课程设计发现这其中需要的很多知识我们没有接触过,去

28、图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。本次课程设计,不仅锻炼了我们的动手能力,也很好的巩固了一个学期来我们所学的知识内容,并掌握了工程软件设计的基本方法,强化了上机动手的能力。可以说这次的课程设计,让我感觉到了以前学习的不足,以及在学习的过程中遇到的问题,同时对所学过的知识加深理解,为后续所学计算机专业课打下基础。总之,这次课程设计对我来说真的是获益匪浅。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1