电脑配件管理系统.docx

上传人:b****6 文档编号:12710258 上传时间:2023-06-07 格式:DOCX 页数:17 大小:1.48MB
下载 相关 举报
电脑配件管理系统.docx_第1页
第1页 / 共17页
电脑配件管理系统.docx_第2页
第2页 / 共17页
电脑配件管理系统.docx_第3页
第3页 / 共17页
电脑配件管理系统.docx_第4页
第4页 / 共17页
电脑配件管理系统.docx_第5页
第5页 / 共17页
电脑配件管理系统.docx_第6页
第6页 / 共17页
电脑配件管理系统.docx_第7页
第7页 / 共17页
电脑配件管理系统.docx_第8页
第8页 / 共17页
电脑配件管理系统.docx_第9页
第9页 / 共17页
电脑配件管理系统.docx_第10页
第10页 / 共17页
电脑配件管理系统.docx_第11页
第11页 / 共17页
电脑配件管理系统.docx_第12页
第12页 / 共17页
电脑配件管理系统.docx_第13页
第13页 / 共17页
电脑配件管理系统.docx_第14页
第14页 / 共17页
电脑配件管理系统.docx_第15页
第15页 / 共17页
电脑配件管理系统.docx_第16页
第16页 / 共17页
电脑配件管理系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电脑配件管理系统.docx

《电脑配件管理系统.docx》由会员分享,可在线阅读,更多相关《电脑配件管理系统.docx(17页珍藏版)》请在冰点文库上搜索。

电脑配件管理系统.docx

电脑配件管理系统

 

电脑配件管理系统

 

数据库设计文档

 

上海交通大学

版本1.0

●简介

本系统采用关系型数据库模式,以C#与ADO.NET作为开发工具。

本系统为顾客自助装机,查询电脑配件信息,与售货方建立反馈关系提供服务,为电脑零配件售货方对商品,顾客,交易,供货方,雇员等多方面的管理提供便利,提供各种销售相关的统计图表以表示交易的相关信息,还提供了基于smtp的email发送机制,对顾客可以进行质量跟踪,产品推销,对供货方可以自动要求供货,并且提供了智能化的提醒与处理功能,使用户在特殊情况时得到提醒,免却了面对大量数据不知所措的情况。

通过比较完整的业务流程,实现了顾客,售货商,供货商,雇员相互之间的联系。

●相关文档

1.《AFirstCourseinDatabaseSystems》机械工业出版社

2.《数据库创建、数据仓库与优化》清华大学出版社

3.《SQLServer7.0开发指南》清华大学出版社

4.《VisualC#应用编程》电子工业出版社

5.《数据挖掘原理》机械工业出版社

6.《C#高级编程》清华大学出版社

7.MicrosoftVisualStudio.NET2003文档

8.ChartDirectorfor.NetDocumentation

9.电脑配件管理系统需求文档

●系统结构

Ø基本结构

本系统基本结构如图:

用户通过图形用户界面选择所要查询的信息等,客户层通过数据服务层与数据库建立连接,进行操作,获得数据,然后利用ADO.Net提供的DataSet对象与C#.NET提供的DataGrid容器显示数据。

用户也可以在客户层通过数据服务层对数据库进行修改,最后将结果写回数据库。

从上图可以看出,本系统大致由3块构成:

1、数据库,存放了所有有关商品,顾客,供货商,交易,雇员,价格更新纪录的信息

2、数据服务层,负责处理用户请求,与数据库连接,并返回相应的结果或进行修改

3、客户层图形界面,顾客与管理员通过客户层传送相关请求与数据服务层连接

所以本系统共涉及了2部分的编程:

一是图形用户界面的C#.NET编程;二是数据库设计和ADO.NET编程。

Ø特殊结构

本系统使用了名为ChartDirector的控件用以作为统计图的绘制与显示,通过数据库的查询结果分别传入该控件的x轴,y轴,可以产生相应的饼图,柱状图,曲线图。

本系统通过文件的读写实现了对用户操作与设置的记录功能,可以再重新启动后仍保留自动提醒功能的原有设置,以提醒管理员或进行自动操作。

本系统通过C#类库实现了电子邮件的发送,通过与smtp服务器的连接,可以将指定的内容发送到指定对象的信箱中。

●系统模块

 

以上具体功能见事务流程

 

●E/R模型设计

 

上述E/R模型有不合理之处。

例如:

产品和供应商之间是多对一的关系,这里的销售实际上是一个弱实体集,它需要产品编号和客户编号来最终确定其每一次的销售情况。

上述图缺少属性表示,缺少根据规范化理论,把E/R模型转化到关系模型的步骤。

 

●数据库模式及其它全局数据结构

1.商品信息表

products(productID,companyName,componentName,productName,detail,outprice,inprice,stock,providerName)

其中productID是主键,表示商品编号,companyName表示厂商名,componentName表示配件类型,productName表示产品名,detail表示具体的配置信息,outprice表示商品的售价,inprice表示商品的进货价,stock表示商品的货存,providerName表示商品的供货方,是指向provider表的外键。

2.顾客信息表

customers(customerID,name,address,phoneNumber,password,email)

其中customerID是主键,表示顾客id号,name表示顾客的真实姓名,address表示顾客的住址即送货地址,phoneNumber表示顾客的联系电话,password表示顾客用id登陆时的密码,email表示顾客的email地址,以此来对反馈进行回复。

3.交易信息表(该表没有设计主码)

sales(productID,customerID,saleTime,dueTime,price,profit)

其中productID,customerID为外键,分别指向products,customers表中的主键,saleTime表示交易进行的时间,dueTime表示交易到期即送货的时间,price表示商品价格,profit表示这次交易的利润额。

4.供货商信息表

providers(providerName,email,phone)

其中providerName是主键,表示供货商名,email表示供货商的email地址,通过它来请求供货商供货,phone表示供货商的联系电话。

5.雇员信息表(该表没有表示雇员的工作,即E/R图中的assignment)

employees(eid,ename,phone,address,rank)

其中eid是主键,表示雇员编号,ename表示雇员的姓名,phone表示雇员的联系方式,address表示雇员的住址,rank表示雇员的等级,以此作为薪酬的评定依据。

5.价格历史记录表

history(productID,updateTime,price)

其中productID为外键,引用了products表的主键,updateTime表示价格记录的时间,price表示记录时该商品的价格

E/R图中有些实体没有被设计为关系表,也没有说明原因。

各表关系图

●图形用户界面

Ø顾客界面

用户登陆界面

用户功能界面

产品查询界面

用户信息注册与修改界面

用户装机配置界面

配置单确认界面

销售统计图界面

Ø管理员界面

管理员功能界面

顾客信息管理界面

产品,雇员,供货商管理界面略

交易管理与送货安排界面

自动提醒与自动处理界面

●事务流程

Ø顾客方面

1.查询产品数据

(1)顾客设置产品的配件类型,厂商名,价格范围或编号

(2)根据以上属性在数据库中进行查找,将返回结果装入dataset,然后在datagrid中显示。

(3)查看价格的走势

2.注册,修改个人信息

(1)顾客填写自己的相关信息

(2)根据customers表相关字段的属性进行判断

(3)检查用户id是否与数据库中已由元素冲突

(4)如果没有错误与冲突,将之加入数据库或修改数据库

3.装机DIY

(1)顾客选择相关配件列表

(2)根据配件的所有厂商的列表选择相应厂商

(3)表格显示查询结果

(4)挑选需要的商品(打勾,next)

(5)已选商品列表添加选择的商品

(6)完毕后确认

(7)显示配置单与总价格

(8)返回

(1)进行修改

(9)选择送货时间并确认

4.建议反馈

(1)填写反馈

(2)递交

5.统计图查询

(1)选择相应的统计图,设置时间范围与配件类型

(2)调用相应的查询语句查询

(3)将返回结果装入dataset,然后在chartdirecter控件中显示图像。

Ø管理员方面

1.查询产品数据

(1)管理员设置产品的配件类型,厂商名,价格范围,编号,库存范围

(2)根据以上属性在数据库中进行查找,将返回结果装入dataset,然后在datagrid中显示。

(3)选择库存较少的商品,设置需要的供货量,发送email请求供货。

(4)进入修改界面,设置要添加或修改的记录的属性

(5)检查属性值是否符合条件,符合的话,对数据库进行添加或修改

2.查询顾客信息

(1)选择要查看的客户

(2)点击“显示交易信息”,则显示该顾客的交易次数与交易总金额。

(3)选择“察看反馈”,则显示该顾客的所有反馈,可以进行回复与删除

3.查询供货商信息

(1)选择要查看的供货商

(2)进入图形界面进行添加删除操作

(3)选择“显示提供商品”,则显示指定供货商所提供的所有商品。

4.查询雇员信息

(1)选择要查看的雇员

(2)进入图形界面进行添加删除操作

(3)选择“提升”,“降级”可以对雇员评级

5.查询交易信息

(1)选择要查看的交易

(2)选择“显示具体配置”,可以显示该笔交易的配置单与总价格

(3)选择雇员送货,可以安排该雇员进行送货。

(4)选择取消送货,可以取消送货安排。

6.价格历史记录

(1)进行所有商品的价格的记录,以备查询价格走势情况

7.统计图查询

(1)选择相应的统计图,设置时间范围与配件类型

(2)调用相应的查询语句查询

(3)将返回结果装入dataset,然后在chartdirecter控件中显示图像。

8.关联度查询(数据挖掘)

(1)设置支持度(即商品组合在销售记录中出现的最小次数)

(2)利用如下a-priori算法进行筛选(s表示支持度)

createtabledatamining(pidint,saleTimedatetime)

insertintodatamining

selectproductID,saleTime

fromsales

whereproductIDin

SELECTproductID

FROMsales

GROUPBYproductIDhavingcount(*)>=s

selecti.pid,j.pid

fromdataminingi,dataminingj

wherei.saleTime=j.saleTimeandi.pid

groupbyi.pid,j.pid

havingcount(*)>=s

(3)显示结果

9.自动提醒与自动处理

(1)选择提醒的触发条件及处理的策略

(2)勾选需要提醒或处理的功能

(3)设置后退出,自动提醒功能启动

 

●收获与心得

1.对数据库的设计流程,sql语句的复杂使用,数据库编程的思想有了进一步的认识。

2.对C#,ADO.NET的开发,文件,网络,数据库的相关操作有了更多了解,对窗体程序的开发有了更多的经验

3.培养了独立解决问题,通过网络与帮助文档寻找解决办法的能力。

4.对程序的整体观,大局观,以及具体细节问题的解决处理能力有了很大提升。

5.对数据挖掘,olap,数据仓库的概念与基本算法有了更多的认识。

●问题与不足

1.由于程序设计的开发量较大,涉及的功能与对象较多,所以没有实现网络功能,但在服务器端,建立了若干WebServices,这样客户端可以调用其service而无需在本地机上进行操作,为以后系统的扩充做好准备,这次只是实现了单机的功能,只要再解决httpget/set等协议与通信问题,相信可以将系统进化为可在网上操作的在险管理与购物系统,不过这还需要很多时间,无法在这次作业中体现。

2.由于在统计图绘制方面使用了第三方控件chartdirecter,该控件对中文的支持不太完善,字体大小也无法设置,所以显示的统计图在遇到中文时显示会有一定的问题。

3.由于电脑购机需要大量的真实数据,而本次试验为测试效率以及使用a-priori算法查询产品间的关联度,随机产生了许多数据,所以真实性无法体现,所得的结果也无法体现数据挖掘的思想。

本意是希望找到例如主办与CPU,主板与内存等等商品间的关联关系,但现在由于缺少数据不能体现,但如果积累了大量真实数据,这一问题会得到解决。

4.系统设计之初,设想能够实现价格的自动更新,因为只要找到这方面的webservice即可实现,但由于国内这方面的服务提供较少,而国外提供的服务其商品与国内的商品大相径庭,所以经过一番努力还是只能放弃原有的构想,改由管理员手动更新,并进行价格纪录,希望在以后可以改进。

5.对用户的密码加密功能由于sqlserver中’符号会截断字符串,导致数据存储失败,所以常用的加密算法无法适应这一情况,也只能放弃。

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

当前位置:首页 > 自然科学 > 物理

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

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