《数据库及软件工程课程设计说明书电脑配件库存管理系统25736.docx》由会员分享,可在线阅读,更多相关《数据库及软件工程课程设计说明书电脑配件库存管理系统25736.docx(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中北大学学数据库及及软件工工程课 程 设 计计 说 明 书书学生姓名名:学 号:学院:电子与计计算机科科学技术术学院专业:题目:电脑配件件库存管管理系统统成绩指导教师师20122 年月月 日1. 引引言(大大标题黑黑体小四四号字)1.1 课题背背景随着电子子技术的的不断发发展,电电子产品品的规模模不断扩扩大,计计算机数数量及其其用户量量的急剧剧增加,有有关电脑脑配件的的各种商商家也随随之展开开,电脑脑配件管管理系统统应运而而生了,它它可用来来管理电电脑配件件信息与与提高系系统管理理工作的的效率。电脑配件件管理系系统把MMicrrosooft Visuual Studdio 20110(前前台开
2、发发)与MMSSQQLseerveer20008数数据库(后后台管理理)有机机地结合合,并运运用相关关技术,完完成电脑脑配件爱爱你的规规范管理理、科学学统计和和快速查查询,从从而可大大大减少少该管理理上的工工作量。 数据库库在一个个信息管管理系统统中占有有非常重重要的地地位,数数据库结结构设计计的好坏坏将直接接对应用用系统的的效率以以及实现现的效果果产生影影响。合合理的数数据库结结构设计计可以提提高数据据库存储储的效率率,保证证数据的的完整性性和一致致性。同同时,合合理的数数据结构构也将有有利于程程序的顺顺利实现现。1.2 系统开开发关键键技术介介绍本系统采采用的是是Miccrossoftt
3、Visuual Studdio 20110开发发工具作作为开发发系统程程序,采采用MSSSQLLserrverr20008数据据库访问问技术完完成对数数据库信信息的规规范管理理和统计计查询。MMSSQQLseerveer20008使使用更加加简单灵灵活的对对象模型型,适用用于各种种程序设设计语言言。MSSSQLLserrverr20008提供供执行以以下操作作方式:(1) 连接到数数据源。(2) 指定访问问数据源源的命令令,可以以在命令令中指定定参数。(3) 执行命令令,例如如一个SSELEECT语语句。(4) 在适当情情况下,可可以把缓缓存行的的更改内内容写回回数据库库中,更更新数据据源。提
4、供常规规方法检检测错误误,错误误通常由由建立连连接或执执行命令令造成,涉涉及到 SSQL的的errror对对象。2 需求分析析2.1.1目的的本次课程程设计是是网络工工程专业业核心实实践教学学环节之之一,是是对数数据库原原理和和软件件工程两两门课程程知识的的综合运运用。通通过设计计,巩固固所学的的理论基基础,加加深对数数据库原原理和软软件工程程理论知知识的理理解,掌掌握软件件系统设设计的全全过程及及技术与与方法,培培养编制制软件文文档及开开发应用用系统的的能力,提提高独立立分析问问题、解解决问题题的能力力,锻炼炼和加强强动手能能力。2.1.2范围围以电脑配配件批发发公司为为背景,开开发电脑脑配
5、件库库存管理理系统。配配件种类类至少包包括五种种,每种种配件包包括至少少两家供供货商。(功功能及相相关数据据可以通通过调研研获取,也也可以进进行合理理假设)。2.1.3定义义、缩写写词、略略语B/S :即即浏览器器/服务器器结构,基基于浏览览器的使使用。用户:用户分分入库管管理员、出出库管理理员和系系统管理理员,角角色不同同,所使使用的功功能不同同。网站:Intternnet 上提供供Webb服务的的计算机机。该计计算机的的IP绑定定了域名名,在浏浏览器输输入域名名就可以以访问该该计算机机的weeb资源源2.1.4参考考资料1 齐志昌昌,谭庆平平,宁洪.软件工工程,北京:高等教教育出版版社.2
6、200222 张海藩藩.软件工工程导论论.北京:清华大大学出版版社.2200333 程成,陈霞.软件工工程(原原书第66版).北京:机械工工业出版版社.2200334 王珊,萨师煊煊.数据库库系统概概论(第四版版).北京京:高等等教育出出版.2200665 陈志泊泊,李冬梅梅,王春玲玲.数据库库原理及及应用教教程.北京:人民邮邮电出版版社.2200336 郑阿奇奇.SQQL SServver实实用教程程.北京:电子工工业出版版社.2200337 何玉洁洁.数据库库原理与与应用.北京:机械工工业出版版社.2200772.2.1项目目概述本项目所所开发的的电脑配配件库存存管理系系统完成成学校对对入
7、库员员的选课课信息的的统计与与管理,减减少数据据漏掉的的情况,同同时也节节约人力力、物力力和财力力。告别别以往的的人工统统计。本项目开开发的软软件采用用 B/S结构构,方便便入库管管理员、出出库管理理员、系系统管理理员使用用,入库库管理员员可以再再线查看看可选配配件信息息、再线线入库、信信息修改改、入库库单查看看,出库库管理员员可以再再线出库库、出库库单查看看,管理理员可以以对整个个系统进进行管理理(包括括系统管管理、用用户管理理、库存存管理).。2.2.2产品品描述由于本系系统的数数据还算算不上大大型的。所所以数据据库服务务器与wweb服服务器共共用同一一台计算算机。系系统中的的用户信信息、
8、系系统信息息和库存存信息都都放在数数据库中中。系统用例例图下图图所示由于本本系统的的数据还还算不上上大型的的。所以以数据库库服务器器与weeb服务务器共用用同一台台计算机机。系统统中的用用户信息息、系统统信息和和库存信信息都放放在数据据库中。(1) 入库:入入库管理理员的操操作。Stepp 1:成功登登陆Stepp 2:查看所所有入库库详单Stepp 3:进行入入库操作作(2) 出库:出出库管理理员的操操作Stepp 1:用户登登陆Stepp 2:进行出出库操作作Stepp 3:查看相相应信息息(3) 管理:系统管管理员可可以使用用管理操操作2.2.3产品品功能系统统功能模模块功能模块块功能使
9、用用者增加修改改供应商商信息入库员,管管理员增加修改改配件信信息入库员,管管理员增加修改改配件类类别信息息入库员,管管理员入库操作作入库员,管管理员查看入库库单、库库存入库员,管管理员出库操作作出库员,管管理员查看出库库单、库库存出库员,管管理员用户管理理管理员系统管理理管理员2.2.4用户户特点本项目所所开发的的系统用用户有三三类,入入库员、出出库员和和系统管管理员。当有配件件入库时时,入库库员就可可以登陆陆电脑配配件管理理系统进进行管理理。对入入库员来来说,只只要有一一个能上上网的就就行可以以在浏览览器登陆陆了。当当有配件件出库时时,出库库员就可可以登陆陆电脑配配件管理理系统进进行管理理。
10、当管管理员登登陆时,可可以查看看所有的的入库、出出库情况况等信息息。2.2.55一般约约束此系统必必须满足足以后限限制:(1) 系统中所所有账户户能够供供用户随随时使用用,能够够随时使使用相应应功能。(2) 该系统必必须确保保所有数数据安全全,以免免损失。所所有用户户都要登登陆才能能访问,每每个用户户只能使使用所属属角色的的权限,必必要时限限定访问问次数。(3) 界面友好好,操作作简单。(4) 软件系统统开放性性好,结结构灵活活,可扩扩充,方方便维护护。(5) 安全可靠靠。2.2.6假设设和依据据(1) 假设入库库员不在在仓库,照照样可以以入库。只只要有联联网的电电脑且有有浏览器器就行。(2)
11、 假设用户户忘记密密码,可可与管理理员联系系。2.3.1功能能需求描描述数据库关关系图如如下图所有的类类:入库单单助手类类:包括括入库单单的信息息和入库库单可以以执行的的操作。出库助助手单类类:包括括出库单单的信息息和出库库单可以以执行的的操作。用户助助手类:包括用用户的信信息和用用户可以以执行的的操作。供货商商助手类类:包括括供货商商的信息息和供货货商可以以执行的的操作。配件助手手类:包包括配件件的信息息和配件件可以执执行的操操作。配件种类类助手类类:包括括配件种种类的信信息和配配件种类类可以执执行的操操作。库存助手手类:包包括库存存的信息息和库存存可以执执行的操操作。2.3.2类的的详细说
12、说明入入库单助助手类:方法:增加入库库单查看入库库单出出库单助助手类方法增加出库库单查看出库库单用用户助手手类方法:增加用户户删除用户户修改用户户查询用户户供供货商助助手类方法:增加供货货商删除供货货商修改供货货商查询供货货商配件助手手类方法:增加配件件删除配件件修改配件件查询配件件配件种类类助手类类方法:增加配件件种类删除配件件种类修改配件件种类查询配件件种类库存助手手类方法:增加库存存修改库存存查询库存存2.3.3其其它需求求描述性能要要求(1)对对服务器器的要求求,必须须保证系系统稳定定的运行行。(2)对对客户端端,在现现在使用用的电脑脑中,联联网了就就行。要要求不高高。(3)本本地系统
13、统,使用用功能时时,在网网速好的的情况下下,系统统响应时时间为110秒以以内,设计约约束数据库: SQQL20008服务器操操作系统统:wiindoows77开发语言言:C# .NNET服务器硬硬件:配配置稍好好就行开发方方式:个个人开发发。进度要要求20122年5月 288日 5 月31日进行需需求分析析;20122年6月 011日 6月 077日概要设设计和详详细设计计;20122年6月 088日 6月 144日编程;20122年6月15 日 6 月21日测试、撰撰写课程程设计说说明书;20122年6月22 日验收、成成绩考核核。 33.3.4交交付要求求该项目目完成后后,需向向用户提提交
14、以下下信息:软件需需求规格格说明书书,电子子版和纸纸质版。软件设设计规格格说明书书,电子子版和纸纸质版。(3)可可运行的的软件系系统。(4)部部分或者者全部CC#源码码。2.3.4 用户界界面界面对于于用户来来说至关关重要,既既是用户户对软件件评介的的根据,也也是用户户最终使使用的。所所以界面面设计得得怎么样样,对整整个系统统的成功功与否有有着密切切的联系系。当当然,也也许界面面设计得得好不会会让其性性能更好好,但是是设计得得不好却却只会让让它更差差。界界面设计计原则:一一致性操操作步骤骤少随随时提示示用户系系统正在在进行哪哪些操作作要要有撤销销操作减减少用户户记忆的的东西3 概要设计计系统数
15、据据流图:系统功能能机构图图电脑配件信息管理系统密码登陆界面管理员登登录系统统入库员登登录系统统出库管理理员系统E-R图用户E-R图数据库表表单客户表进货单表表库存表出货单表表配件表配件类别别表供应商表表用户表4. 详详细设计计数据库助助手类publlic cclasss SSqlCClieent prrivaate SqllConnnecctioon ccon; /创建建连接对对象 prrivaate strringg CoonSttr = DDataa Soourcce=(loccal);Innitiial Cattaloog=CCompputeerPaartssMannageemennt
16、;IInteegraatedd Seecurrityy=Trrue; #rregiion 构造函函数 / 此此构造函函数什么么都不做做,数据据库的打打开与关关闭都被被各个成成员函数数封装了了 / / puubliic SSqlCClieent() #eendrregiion #rregiion 打打开关闭闭数据库库 / 打打开数据据库并返返回数据据库连接接对象(此对象象可用可可不用) / / puubliic SSqlCConnnecttionn SqqlCllienntOppenCCon() / 打打开数据据库连接接 iif (conn = nuull) conn = neww SqqlCo
17、onneectiion(ConnStrr); iif (conn.Sttatee = Syysteem.DDataa.CoonneectiionSStatte.CClossed) conn.Oppen(); rretuurn conn; / 关关闭数据据库连接接 / / puubliic vvoidd SqqlCllienntClloseeConn() iif (coon != nnulll) & (conn.Sttatee != Syysteem.DDataa.CoonneectiionSStatte.CClossed) conn.Cllosee();con = nnulll; #eendr
18、regiion #rregiion 查询信信息 / 仅仅SQLL语句返返回符合合查询条条件的记记录条数数 / / / 只只接受类类似sseleect couunt(*) froom ttb_AAdmiin wwherre 条条件的的指令 / puubliic iint SqllCliienttSellecttCouunt(strringg sttrsqql) iint inttRessultt = 0; ttry SqllCliienttOpeenCoon(); SqllCommmannd ccmd = nnew SqllCommmannd(sstrssql, coon); inttRessu
19、ltt = Connverrt.TToInnt322(cmmd.EExeccuteeScaalarr(); ccatcch (Exccepttionn exx) thrrow ex; ffinaallyy SqllCliienttClooseCCon(); rretuurn inttRessultt; / 仅仅SQLL语句返返回SqqlDaataRReadder,操作完完毕后必必须主动动调用相相应函数数关闭数数据库 / 返返回SqqlDaataRReadder,操作完完毕后必必须主动动调用相相应函数数关闭数数据库 / *关于SSqlDDataaReaaderr:不管管SqllDattaReea
20、deer是否否读取到到了可用用数据的的行,但但是一定定读取到到了包含含列名的的行; / HHasRRowss指示是是否包含含可用数数据的行行;GeetNaame得得到列名名;FiielddCouunt得得到列数数* / / SSELEECT sqll查询指指令 / puubliic SSqlDDataaReaaderr SqqlCllienntDaataRReadder(strringg sttrsqql) SSqlDDataaReaaderr olleReed = nuull; tryy SqllCliienttOpeenCoon(); SqllCommmannd ccmd = nnew S
21、qllCommmannd(sstrssql, coon); oleeRedd = cmdd.ExxecuuteRReadder(); ccatcch (Exccepttionn exx) thrrow ex; rretuurn oleeRedd; / 仅仅SQLL语句返返回DaataTTablle / / / SSELEECT sqll查询指指令 / DDataaTabble puubliic DDataaTabble SqllCliienttDattaTaablee(sttrinng sstrssql) DDataaTabble dattataablee = neww DaataTTabll
22、e(); SSqlDDataaAdaapteer dda = neew SSqlDDataaAdaapteer(); ttry SqllCliienttOpeenCoon(); SqllCommmannd ccmd = nnew SqllCommmannd(sstrssql, coon); cmdd.CoommaandTTypee = CommmanndTyype.Texxt; da.SellecttCommmannd = cmmd; da.Filll(ddataatabble); ccatcch (Exccepttionn exx) thrrow ex; ffinaallyy SqllCli
23、ienttClooseCCon(); rretuurn dattataablee; / 仅仅SQLL语句返返回DaataSSet / / / SSELEECT sqll查询指指令 / DDataaSett puubliic DDataaSett SqqlCllienntDaataSSet(strringg sttrsqql) DDataaSett dss = neww DaataSSet(); SSqlDDataaAdaapteer dda = neew SSqlDDataaAdaapteer(); ttry SqllCliienttOpeenCoon(); SqllCommmannd ccm
24、d = nnew SqllCommmannd(sstrssql, coon); cmdd.CoommaandTTypee = CommmanndTyype.Texxt; da.SellecttCommmannd = cmmd; da.Filll(dds); ccatcch (Exccepttionn exx) thrrow ex; ffinaallyy SqllCliienttClooseCCon(); rretuurn ds; / 执执行不带带参数的的(查询询SQLL语句或或存储过过程) / / / 查询SSQL语语句或存存储过程程 / CoommaandTTypee类型 / puublii
25、c DDataaTabble SqllCliienttQueery(strringg cmmdTeext, CoommaandTTypee ctt) DDataaTabble dt = nnew DattaTaablee(); ttry SqqlCllienntOppenCCon(); SqllCommmannd ccmd = nnew SqllCommmannd(ccmdTTextt, ccon); cmmd.CCommmanddTyppe = ctt; ussingg (SSqlDDataaReaaderr sddr = cmmd.EExeccuteeReaaderr(CoommaandB
26、Behaavioor.CClosseCoonneectiion) dt.Loaad(ssdr); ccatcch (Exccepttionn exx) thrrow ex; ffinaallyy SqllCliienttClooseCCon(); rretuurn dt; / 执执行带参参数的(查询SSQL语语句或存存储过程程) / / 构构造SqqlPaarammeteer paarass实例 / sstriing strrSqll=sseleect * ffromm looginn whheree syys_uuserr=nnchaar aand syss_nuum=intt; / SSq
27、lPParaametter pparaas =neww SqqlPaarammeteer22; / pparaas00 = neew SSqlPParaametter(nnchaar, SqqlDbbTyppe.NNChaar); / pparaas00.VValuue = mmynccharr; / pparaas11 = neew SSqlPParaametter(iint, SSqlDDbTyype.Intt); / pparaas11.VValuue = 8; /myiint / / 查询SSQL语语句或存存储过程程 / SqqlPaarammeteer paarass =nnew S
28、qllParrameeterr2;数组组 / / puubliic DDataaTabble SqllCliienttQueery(strringg cmmdTeext, SqqlPaarammeteer paarass, CCommmanddTyppe cct) DDataaTabble dt = nnew DattaTaablee(); ttry SqllCliienttOpeenCoon(); SqllCommmannd ccmd = nnew SqllCommmannd(ccmdTTextt, ccon); cmdd.CoommaandTTypee = ct; cmdd.Paaramm
29、eteers.AdddRannge(parras); usiing (SqqlDaataRReadder sdrr = cmdd.ExxecuuteRReadder(CommmanndBeehavviorr.ClloseeConnnecctioon) dtt.Looad(sdrr); ccatcch (Exccepttionn exx) thhroww exx; ffinaallyy SqllCliienttClooseCCon(); rretuurn dt; #eendrregiion #rregiion 增删改改信息 / 执执行不带带参数的的(增删删改SQQL语句句或存储储过程) / /
30、/ 增删改改SQLL语句或或存储过过程 / CoommaandTTypee类型 / 返返回受影影响的行行数 puubliic iint SqllCliienttOptt(sttrinng ccmdTTextt,CoommaandTTypee ctt) int inttRessultt = 0; ttry SqllCliienttOpeenCoon(); SqllCommmannd ccmd = nnew SqllCommmannd(ccmdTTextt, ccon); cmdd.CoommaandTTypee = ct; inttRessultt = cmdd.ExxecuuteNNonQQuerry(); ccatcch (Exccepttionn exx) thrrow ex; ffinaallyy SqllCliienttClooseCCon(); rretuurn inttRessultt; / 执执行带参参数的(增删改改SQLL语句或或存储过过程) / / 构构造SqqlPaarammeteer paarass实例 / sstriing strrSqll=ii