电脑配件管理系统设计文档Word格式.docx

上传人:b****5 文档编号:17350469 上传时间:2022-12-01 格式:DOCX 页数:14 大小:262.82KB
下载 相关 举报
电脑配件管理系统设计文档Word格式.docx_第1页
第1页 / 共14页
电脑配件管理系统设计文档Word格式.docx_第2页
第2页 / 共14页
电脑配件管理系统设计文档Word格式.docx_第3页
第3页 / 共14页
电脑配件管理系统设计文档Word格式.docx_第4页
第4页 / 共14页
电脑配件管理系统设计文档Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

电脑配件管理系统设计文档Word格式.docx

《电脑配件管理系统设计文档Word格式.docx》由会员分享,可在线阅读,更多相关《电脑配件管理系统设计文档Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

电脑配件管理系统设计文档Word格式.docx

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

系统结构

基本结构

本系统基本结构如图:

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

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

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

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

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

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

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

一是图形用户界面的C#.NET编程;

二是数据库设计和ADO.NET编程。

特殊结构

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

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

本系统通过C#类库实现了电子邮件的发送,通过与smtp服务器的连接,可以将指定的

内容发送到指定对象的信箱中。

系统模块

顾客服务管理员服务

产顾供雇交反馈产品自动自助

品客货员易信息提醒建议装机

管管商管管查询功能

理理管理理

以上具体功能见事务流程

E/R模型设计

Providers

Customers

FromEmployees

ProductsSoldBuy

TakeSales

Advise

Assignment

Record

HistoryAdvice

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

例如:

产品和供应商之间是多对一的关系,这里的销售

实际上是一个弱实体集,它需要产品编号和客户编号来最终确定其每一次的销售情

况。

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

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

1(商品信息表

products(productID,companyName,componentName,productName,detail,outprice,inpric

e,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)管理员设置产品的配件类型,厂商名,价格范围,编号,库存范围

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

显示。

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

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

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

(1)选择要查看的客户

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

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

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

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

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

4(查询雇员信息

(1)选择要查看的雇员

(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,dataminingjwherei.saleTime=j.saleTimeandi.pid<

j.pidgroupbyi.pid,j.pid

havingcount(*)>

=s

(3)显示结果

9(自动提醒与自动处理

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

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

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

收获与心得

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

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

开发有了更多的经验

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

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

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

问题与不足

1(由于程序设计的开发量较大,涉及的功能与对象较多,所以没有实现网络功能,但在服

务器端,建立了若干WebServices,这样客户端可以调用其service而无需在本地机上

进行操作,为以后系统的扩充做好准备,这次只是实现了单机的功能,只要再解决http

get/set等协议与通信问题,相信可以将系统进化为可在网上操作的在险管理与购物系

统,不过这还需要很多时间,无法在这次作业中体现。

2(由于在统计图绘制方面使用了第三方控件chartdirecter,该控件对中文的支持不太完

善,字体大小也无法设置,所以显示的统计图在遇到中文时显示会有一定的问题。

3(由于电脑购机需要大量的真实数据,而本次试验为测试效率以及使用a-priori算法查

询产品间的关联度,随机产生了许多数据,所以真实性无法体现,所得的结果也无法体

现数据挖掘的思想。

本意是希望找到例如主办与CPU,主板与内存等等商品间的关联关

系,但现在由于缺少数据不能体现,但如果积累了大量真实数据,这一问题会得到解决。

4(系统设计之初,设想能够实现价格的自动更新,因为只要找到这方面的webservice即

可实现,但由于国内这方面的服务提供较少,而国外提供的服务其商品与国内的商品大

相径庭,所以经过一番努力还是只能放弃原有的构想,改由管理员手动更新,并进行价

格纪录,希望在以后可以改进。

5(对用户的密码加密功能由于sqlserver中’符号会截断字符串,导致数据存储失败,

所以常用的加密算法无法适应这一情况,也只能放弃。

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

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1