基于#的商店销售管理系统
- 格式:pdf
- 大小:739.81 KB
- 文档页数:14
本科生课程报告
报告题目: 基于C#的商店销售管理系统
课程名称: C#程序设计
专 业:
年 级:
⼀一、需求分析
使⽤用⼈人员:管理员、客户
因为是作⼀一个基于C#的商店销售管理系统的设计与实现,所以我认为需求有:
(⼀一)客户⽅方⾯面:
1.⽤用户能够浏览商品;
2.能够选择商品;
3.能给管理员留⾔言;
4.下订单。
(⼆二)管理员⽅方⾯面:
1.能够添加商品
2.能够查看⽤用户留⾔言;
3.能偶查看⽤用户下的订单。
⼆二、设计
我⼀一共定义了8个窗体,当然并不是⼀一开始就设计好的,⽽而是觉得需要需要才添加。
其中第⼀一个窗⼜⼝口包含了⽤用户进⼊入购物界⾯面与管理员登陆界⾯面。
⼋八个窗体⼤大致可以分为两⼤大模块:⽤用户模块与管理员模块。
(⼀一) ⽤用户模块
1.⽤用户通过第⼀一个窗体进⼊入购物页⾯面,也就是跳⼊入第三个窗体——购物页。
⽤用户可以在购
物页可以进⾏行对管理员的留⾔言,选择商品与查看购物车。
2.⽤用户在第三个窗体选择留⾔言则进⼊入窗体七——留⾔言页,其中可以对管理员进⾏行留⾔言以及
查看客服消息(由管理员发送)。
3.⽤用户在第三个窗体选择查看购物车则能进⼊入第四个窗体——结算页,如果确认订单则仍
在该页⾯面填写收件⼈人信息。
(⼆二) 管理员模块
1.管理员⾸首先在窗体⼀一——主页⾯面选择管理按钮,输⼊入⽤用户名“admin”与密码“123456”登⼊入
第⼆二个窗体——管理页。
管理页有三个功能:进货、查看客户留⾔言、查看客户订单。
2.管理员在窗体⼆二中点击进货按钮跳⾄至第五个窗体——进货页。
管理员可以在这个窗体⾥里
增加货品,并更新第三个窗体⾥里的商品信息。
(在这⾥里我没有实现更新商品信息与删除商品的功能)
3.管理员在窗体⼆二中点击客户留⾔言按钮跳⾄至第⼋八个窗体——客户留⾔言页。
管理员可以在这
个窗体⾥里查看客户留⾔言,并可以对⽤用户进⾏行回复。
(在这⾥里,客户的地址消息我是直接加载第四个窗体——结算页)。
4.管理员在窗体⼆二中点击客户订单钮跳⾄至第六个窗体——进货页。
管理员可以在这个窗体
⾥里查看客户所下订单商品与所留的地址信息。
其中:窗体五——进货页可以更新窗体三——购物页,窗体七——留⾔言页与窗体⼋八——客户留⾔言页可以进⾏行信息交流。
三、系统功能定义
四、实现细节
1. 窗体⼀一——主⻚页⾯面
添加三个label,两个⽂文本框,三个按钮,⼀一个pictureBox。
页⾯面初始化的时候只显⽰示pictureBox,购物按钮,管理按钮,以及“Welcome to our shop!”。
在这⾥里pictureBox中的图⽚片并不是⽤用代码写路径导⼊入,⽽而是在pictureBox⾥里的属性⾥里的Image将图⽚片导⼊入。
因为如果⽤用路径写⼊入的话讲⽣生成的程序.exe移到别的电脑时图⽚片则⽆无法显⽰示。
设置如下:
对购物按钮进⾏行设置,代码如下:
⽤用代码“this.pictureBox1.Controls.Add(bel1)”语句将“Welcome to our shop!”的label设置为背景透明。
点击管理按钮时将购物按钮隐藏,其他所有控件显⽰示,在账号与密码处⽂文本框输⼊入相应的⽤用户名与密码,验证通过才能进⼊入管理页。
2. 窗体⼆二——管理页(管理员使⽤用)
窗体⼆二中有四个按钮:进货,客户订单,客户留⾔言与注销。
四个按钮都是⽤用于窗体跳换,代码与窗体⼀一中的购物按钮相似,只需修改要跳转的相应界⾯面。
3. 窗体三——购物页(客户使⽤用)
其中有⼀一个listview⽤用于显⽰示商品,⼀一个留⾔言按钮,⼀一个返回按钮,⼀一个添加按钮,⼀一个comboBox⽤用于显⽰示商品可添加数量,⼀一个查看购物车按钮。
在listview中加⼊入表头,并设置排列⽅方式与⽂文字对齐⽅方向、列宽,并在属性中将CheckBoxes选择True:
在listview中点击⼀一个商品,则将每⼀一个商品的库存量传递到comboBox中:
在Program.cs⾥里定义⼀一个商品类Product,商品有编码Number、名字Name、价格Price、库存Amount。
同样在Program.cs⾥里定义三个静态list,分别是Stock代表商店商品的总表,⽤用于更新进货商品;Shop代表⽤用户购物页所能见到的商品,由Stock类更新过来;Order代表⽤用户所选择的商品。
在窗体三中需要写⼀一个更新函数update(),不然每次进⼊入这个页⾯面其中的listview⾥里⾯面都是空的。
4. 窗体四——结算页(客户使⽤用)
其中有⼀一个listview⽤用于显⽰示在窗体三——购物页中选择的商品,并计算总价在PriceLabel中显⽰示。
点击结账时,显⽰示之前所隐藏的收件⼈人信息的控件与提交按钮,⽤用户填写好信息,点击提交按钮,则⽤用户信息写出到⽂文件中保存,由管理员在⽤用户订单中可读取。
5. 窗体五——进货页(管理员使⽤用)
其中点击添加按钮时,能讲编号、品名、价格、库存相应的⽂文本内容添加到Stock中,并且不允许任何⼀一个⽂文本框输⼊入为空。
6. 窗体六——客户订单页(管理员使⽤用)
有四个label:收件⼈人、省份、城市、地址,四个⽂文本框相对应。
⽂文本框中的内容则有相对应的⽂文件,⽤用filestream将他们读⼊入到⽂文本框中。
返回按钮则是跳转回窗体⼆二——管理页。
7. 窗体七——留⾔言页(客户使⽤用)
这个窗体中有两个⽂文本框,上⾯面的⽂文本框对应⽤用户需要输⼊入的信息内容,⽤用filestream将⽂文本写到⼀一个text⽂文件中保存,下⾯面的⽂文本框则对应⽤用户所接收的客服消息,⽤用filestream读⼊入相对应的text⽂文件。
⼀一个label“客服信息”,以及提交按钮⽤用于提交⽤用户需要留⾔言的信息,返回按钮返回窗体三——购物页。
读、写⽂文件代码如下:
8. 窗体⼋八——客户留⾔言页(管理员使⽤用)
窗体⼋八与窗体七相反,⽤用户留⾔言的⽂文本框是读⼊入⽂文件,⽽而回复的⽂文本框则是写⽂文件。
在实现这个功能时,我曾想过⽤用⼀一个string来保存,但我发现在窗体之间切换时,这个string的数据⽆无法保存,于是想到了⽤用⽂文本的⽅方法。
⽽而到后⾯面的时候,我才想到可以设置静态变量。
五、实现效果:
六、个⼈人⼩小节
系统完善得还不是很好,⽐比如管理⽅方⾯面没有完善对已有商品的修改,以及客户购物⽅方⾯面没有对购物车⾥里商品进⾏行增减。
在整个作业中listview之前没有⽤用过,熟悉属性、⽤用法等需要⼀一段时间。
在⽤用户留⾔言⽅方⾯面最早只想到⽤用⼀一个string变量,但是在窗体之间的跳换是string变量为空了,后来才意识到要⽤用全局变量,⽽而最后我⾃自⼰己⽤用的是⽂文件的写出读⼊入。
整个⼤大作业中⼤大功能需要⽤用范型list<>来实现,但我对它的掌握很是不好,最后的⼏几天都在对listview和list<>死磕。