课程设计(论文)超市库存管理系统的设计与实现.doc

上传人:文库蛋蛋多 文档编号:3993653 上传时间:2023-03-30 格式:DOC 页数:31 大小:1.40MB
返回 下载 相关 举报
课程设计(论文)超市库存管理系统的设计与实现.doc_第1页
第1页 / 共31页
课程设计(论文)超市库存管理系统的设计与实现.doc_第2页
第2页 / 共31页
课程设计(论文)超市库存管理系统的设计与实现.doc_第3页
第3页 / 共31页
课程设计(论文)超市库存管理系统的设计与实现.doc_第4页
第4页 / 共31页
课程设计(论文)超市库存管理系统的设计与实现.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《课程设计(论文)超市库存管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)超市库存管理系统的设计与实现.doc(31页珍藏版)》请在三一办公上搜索。

1、目 录第一章 需求分析2一、需求调查2二、建立用例图2三、描述用例3第二章 系统分析6一、寻找系统中的类6二、建立类图8三、建立交互图9第三章 系统设计12一、类图的调整与修改12二、人机界面设计12三、数据库设计15四、类中操作的算法设计17第四章 系统实施18一、开发环境18二、建立数据库18三、程序设计20四、系统测试25五、使用说明27超市库存管理系统的设计与实现第一章 需求分析一、需求调查传统的面向过程的库存管理信息系统的开发中存在不少的问题,传统的面向过程的开发方法,也即主要是基于功能分析或数据分析基础上的结构化方法。这种开发方法下设计的系统在70或80年代早期还可以适应,但在越来

2、越复杂的非数值计算类型的软件开发中,在广泛应用图形界面的交互式系统中,在控制要求非常突出的应用中,在需求经常变化的条件下,尤其是在库存系统这种数据流动性要求比较高的管理软件的开发,用传统的软件开发方法解决问题往往暴露出严重的不适应性,主要表现在以下几点:1)功能与数据分离的软件设计结构与人类的现实环境很不一样,和人的自 然思维也就很不一致。 2)系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难,因此这种结构无法适应迅速变化的技术和需求。3)在系统中模块之间的控制作用有重要影响时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成

3、信息传递路径过长,效率低,易受干扰,甚至出错。所以这种结构无法适应以控制关系为重要特性的系统要求。4)结构化方法开发出来的系统往往难以维护,因为所有的函数都必须知道数据结构。5)自顶向下功能分解的分析方法极大地限制了软件的可重用性,导致对同样对象的大量的重复性工作,大大降低了开发人员的生产率。二、建立用例图我们把采购员和入库管理员、提货员和出库管理员看成一致,所以总结起来系统中的参与者有:系统管理员,采购员,提货员。识别出参与者后,从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1-1所示。图1-1 用例图三、描述用例以下描述该系统中主要的几个用例1、添加进货单用例的描述采用表格

4、的形式描述该用例,如表1-1所示。表1-1 添加进货单用例用例名称添加进货单参与者入库管理员(即采购者)前置条件入库管理员有权限并已经登录后置条件将进货信息存入数据库中同时更新库存信息基本操作流程1.入库管理员受权限限制登录系统2.输入进货单信息,保存信息时自动更新库存信息3.显示输入的所有进货单信息,并且库存量也相应增加可选操作流程可以删除以前的进货单信息2、查询进货单用例的描述采用表格的形式描述该用例,如表1-2所示。表1-2 查询进货单用例用例名称查询进货单参与者入库管理员、系统管理员前置条件入库管理员有权限并且已经登录成功,或系统管理员已经登录,数据库中已录入进货单信息后置条件基本操作

5、流程1. 选择查询方式,并输入查询条件2. 点击查询,得出信息可选操作流程1.如果知道进货单号查询未知信息,可以在查询选择下拉框中选择“进货单号”2. 如果知道商品号查询未知信息,可以在查询选择下拉框中选择“商品号”。3、添加出库单用例的描述采用表格的形式描述该用例,如表1-3所示。表1-3 添加出库单用例用例名称添加出库单参与者出库管理员前置条件出库管理员有权限并已经登录后置条件将出库信息存入数据库中同时更新库存信息基本操作流程1.出库管理员受权限限制登录系统2.输入出库单信息,保存信息时自动更新库存信息3.显示输入的所有出库单信息,并且库存量也相应减少可选操作流程提货之前要先确定库存中有该

6、种商品并且库存量不小于该出库单中的提货数量4、查询出库用例的描述该用例和查询进货单用例相似5、查询库存信息信息用例的描述采用表格的形式描述该用例,如表1-5所示。表1-5 查询库存信息用例用例名称查询库存信息参与者入库管理员、系统管理员前置条件两个参与者有权限并已经登录系统,库存信息已经在增减进出库单时创建后置条件做出采购决策基本操作流程输入商品号直接查询可选操作流程无6、添加商品信息用例的描述采用表格的形式描述该用例,如表1-6所示。表1-6 添加商品信息用例用例名称添加商品信息参与者入库管理员前置条件入库管理员有权限并已经登录后置条件无基本操作流程根据入库单和实践录入商品详情可选操作流程如

7、果没有新商品入库就不需要添加7、操作员信息管理用例的描述表1-7 操作员信息管理用例用例名称操作员信息管理参与者系统管理员前置条件系统管理员已经登录后置条件权限或者密码改变基本操作流程根据要求对数据进行更改可选操作流程无8、供应商信息管理用例的描述和操作员信息管理用例相似第二章 系统分析一、寻找系统中的类通过对系统需求的分析,我们发现系统中的类有:系统管理员、入库管理员、出库管理员、出库单、进库单、库存信息、商品信息、供应商。另外,由于出库和入库管理员类存在大量的重复的属性(如用户名、密码等),为了简化系统模型,我们可以建立一个父类(People)。1、类用户(1)属性该类作为其他类的父类,具

8、有三个通用的属性。密码:string。各类人员的登录密码。标志值:string。区分不同的权限。(2)操作删除()修改密码()2、类系统管理员描述系统管理员的信息。(1)属性从用户类中继承用户名、密码、标志值、三个属性。(2)操作添加()修改密码()修改权限()删除()3、类进出库管理员描述进库管理员和出库管理员的信息。(1)从用户类中继承用户名、密码、标志值、三个属性。(2)操作修改密码()删除()4、类供应商描述供应商的信息。(1)属性供应商号:string名称:string联系人:string联系电话:string地址:string账号:string(2)操作添加()删除()修改()5、

9、类出库单描述出库单的信息。(1)属性出库单号:string出库时间:Date商品号:string商品名称:string商品数量:Double商品单位:string(2)操作添加()修改()删除()查询()6、类进货单描述进货单的信息。(1)属性进货单号:string进货时间:Date商品号:string商品名称:string单位:string单价:string进货量:Double(2)操作添加()修改()删除()7、类库存信息描述库存信息,由出库单和进货单共同决定(1)属性商品号:string商品名称:string商品数量:Double(2)操作更新()8、类Data。类Data为数据库访问类

10、,用于将相关数据从数据库中读出来,或写入数据库中。该类只有几个通用的操作。Read(sql:string):根据sql语句读出数据库中的数据。Update(sql:string):根据sql语句更新数据库中的数据。Delete(sql:string):根据sql语句删除数据库中的数据。Add(sql:string):根据sql语句添加数据库中的数据。二、建立类图根据以上分析,建立如图2-1所示的类图。图2-1 类图三、建立交互图交互图包括顺序图和通信图,二者是类图的辅导模型。在建立顺序图和通信图时,将会发现新的操作,并可以将它们添加到类图中。1、申报题目的顺序图如图2-2所示。图2-2 申报题

11、目的顺序图2、审查题目的顺序图如图2-3所示。图2-3 审查题目的顺序图3、公布题目的顺序图如图2-4所示。图2-4 公布题目的顺序图4、选择题目的顺序图如图2-5所示。图2-5 选择题目的顺序图5、导出选题信息的通信图如图2-6所示。图2-6 导出选题信息的通信图第三章 系统设计在系统设计阶段,要考虑系统的实现环境,对分析阶段的类图模型进行调整与完善,并对人机界面和数据库进行设计,最终形成一个可实现的系统设计模型。本系统将采用C#进行编程。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。一、类图的调整与修改在系统设计阶段,要对系统分析阶段的类图,

12、根据实现条件对其进行补充与调整。需要补充与调整方面有很多:如有的编程语言不支持多重继承和多态,在设计模型中就要去掉多重继承,并考虑如何不使用多态而仍能完成原有的功能;根据编程语言的特性,确定属性的数据类型;若能得到可复用的模型成分,则要对模型进行修改;根据需要还可能要合并或分开一些类、属性或操作。本系统中,由于系统分析阶段的类图较为简单,没有出现多重继承,C#语言对多态的支持性很好,因此不需要对类图作其他修改。二、人机界面设计1、首页的设计首页是系统的第一个页面,主要功能是供各类人员登录,其界面设计如图3-1所示。图3-1 首页2、申报题目页面的设计该页面是指导教师成功登录后的页面,其界面设计

13、如图3-2所示。图3-2 申报题目页面3、选择题目页面的设计该页面是学生成功登录后的页面,其界面设计如图3-3所示。图3-3 选择题目页面4、选题信息页面的设计各类人员在此页面中查看选题的情况,其界面设计如图3-4所示。图3-4 选题信息页面三、数据库设计由于目前面向对象数据库系统还不成熟,本系统将采用关系数据库系统存储永久对象(需要长期存储的对象)。主要工作是将类图转换为关系模型。1、数据库需求分析从类图可知,类People分别与类Tutor、类Director、类Inspector、类Student存在继承关系,且本系统中没有与People相对应的对象,因此,不必为People建立数据表,

14、可以将其属性下移到四个子类中。另外,由于类Director和类Inspector的属性完全相同,因此可以将其合并为一个关系模型,只需在关系模型中增加一个字段,以表明二者的身份即可。这样,就可以为这两个类只建立三个关系模型,如表3-1、表3-2、表3-3所示。从类图可知,类Tutor与类Topic存在一对多的关联关系,因此,需要在类Topic中增加一个属性“TutorID:int”,表明一个题目是由哪个教师申报的。因此,Topic关系模型的结构如表3-4所示。从类图可知,类List分别与类Student、类Tutor、类Topic存在关联关系,因此需要在类List中增加“StudentID:in

15、t”、“TutorID:int”、“TopicID:int”三个属性,以表明是哪个学生选择了哪个教师的哪个题目。因此,List关系模型的结构如表3-5。另外,为了能灵活地控制选题功能的开启与关闭,需要建立一张表State,以保存该选题功能的状态。该表中只需要一个Boolean型的字段Flag。当Flag取True值时,表示开启选题功能,学生可以开始选择题目。当学生选题完毕,要将选题功能关闭,此时将Flag的值修改为False。因此,State关系模型的结构如表3-6所示。2、建立数据库逻辑模型根据以上分析,应建立以下六个关系模型,如表3-1至表3-6所示。表3-1 Tutor字段类型长度备注I

16、Dint7指导教师的编号Passwordstring10指导教师的密码Namestring20指导教师的姓名JobTitlestring6教师的职称Diplomastring6教师的学历表3-2 DirectorAnd Inspector字段类型长度备注IDint7教研室主任或审查小组负责人的编号Passwordstring10教研室主任或审查小组负责人的密码Namestring20教研室主任或审查小组负责人的姓名Rolestring9用于区别教研室主任或审查小组负责人的身份表3-3 Student字段类型长度备注IDint7指导教师的编号Passwordstring10指导教师的密码Name

17、string20指导教师的姓名Classstring6学生所在的班级表3-4 Topic字段类型长度备注TopicIDint3题目的序号Titlestring30题目的名称FlagBoolean题目是否已通过审查Typestring4题目类型(soft或text)TutorIDint7申报题目的指导教师的职工号表3-5 List字段类型长度备注ListIDInt2选题的序号StudentIDint7学生的学号TopicIDint3题目的序号TutorIDint7指导教师的职工号表3-6 State字段类型长度备注Flagboolean开启与关闭的标记四、类中操作的算法设计为便于编写程序,应该为

18、类中较为复杂的操作设计其算法。在此用UML模型中的活动图来描述类Director中CountType操作的算法。该操作的功能是统计表List中选择软件工程类(soft)和论文类(text)题目的学生人数,其算法如图3-5所示。图3-5 活动图第四章 系统实施一、开发环境本系统采用B/S(Browser/Server)架构进行开发。前台的页面制作工具为Adobe Dreamweaver CS3,网页采用XHTML+CSS技术进行布局。后台的开发工具为Microsoft Visual Studio 2005(C#语言),通过ASP.NET 2.0(基于C#语言)技术访问和操作数据库。采用Micro

19、soft Access 2003建立数据库。二、建立数据库本系统采用Microsoft Access 2003建立数据库,数据库名称为“xinguan.mdb”,如图4-1所示。图4-1 数据库1、表Tutor该表用于存储指导教师的信息,如图4-2所示。图4-2 Tutor的结构2、表DirectorAnd Inspector该表用于存储指导教师的信息,如图4-3所示。图4-3 Tutor的结构3、表Student该表用于存储学生的信息,如图4-4所示。图4-4 Student的结构4、表Topic该表用于存储题目的信息,如图4-5所示。图4-5 Topic的结构5、表List该表用于存储学生

20、选题的信息,如图4-6所示。图4-6 List的结构6、表State该表用于存储选题功能开启状态的信息,如图4-7所示。图4-7 State的结构三、程序设计本系统采用C#语言进行编程。由于篇幅限制,仅将系统中主要模块的代码关键展示如下。1、申报题目模块(1)前台的关键代码 (2)后台的关键代码public partial class baoti : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionteacherName = | SessionteacherName = nul

21、l) Response.Redirect(default.aspx); else string teacherName = SessionteacherName.ToString(); Label1.Text =teacherName + 老师,欢迎你!; protected void Button1_Click(object sender, EventArgs e) SessionteacherName = ; Response.Redirect(default.aspx); 2、选择题目模块(1)前台的关键代码 (2)后台的关键代码public partial class xuanti :

22、 System.Web.UI.Page private string studentName; protected void Page_Load(object sender, EventArgs e) if (SessionstudentName = | SessionstudentName = null) Response.Redirect(default.aspx); else studentName = SessionstudentName.ToString(); Label1.Text = studentName + 同学,你还没有选题; protected void GridView

23、1_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = xuanbao) int index = Convert.ToInt32(e.CommandArgument); string titleName = (GridView)(e.CommandSource).Rowsindex.Cells0.Text; string sqlStr = update baoti set studentName= + studentName + where titleName= + titleName + ; Ol

24、eBase.ExecuteSql(sqlStr); Response.Redirect(showti.aspx?studentName=+studentName); protected void Button2_Click(object sender, EventArgs e) SessionstudentName = ; Response.Redirect(default.aspx); 四、系统测试程序设计完成后,应对系统进行全面的测试,以发现程序中的错误。1、登录模块的测试该模块的界面如图4-8所示。图4-8 登录界面测试目的:测试能否正常登录,登录后能否切换到各自的页面。测试用例:用户名

25、=“lxh”,密码=“123456”,身份=“指导教师”。 用户名=“zhy”,密码=“654321”,身份=“学生”。执行操作:分别输入上述两组数据后,点击“登录”按钮。预期结果:如果输入第一组数据,应切换到申报题页面(baoti.aspx),并显示指导教师的姓名。如果输入第二组数据,应切换到选题题目页面(xuanti.aspx),并显示学生的姓名。实际结果:如图3-2所示、图3-3所示。测试结论:没有发现错误。2、选择题目模块的测试该模块的界面如图4-9所示。图4-9 选择题目界面测试目的:学生能否选择题目。测试用例:学生姓名=“朱印宏”,题目名称=“管理信息系统教学网站的设计与实现。执行

26、操作:分别输入上述数据后,点击“选报题目”按钮。预期结果:题目状态由“未选”变为“朱印宏”。实际结果:如图4-10所示。图4-10 选题成功界面测试结论:没有发现错误。五、使用说明系统开发完成后,应写出一个使用说明交给用户,以便于用户能正确使用本系统。1、运行环境由于本系统采用B/S框架进行开发,因此需要分别对服务器端和客户机端进行配置。(1)服务器端在服务器端需要安装如下组件:IIS。安装Internet Information Server 5.1及以上版本。.NET框架。安装Microsoft .NET Framework 2.0。(2)客户机端操作系统:Microsoft Window

27、s XP。浏览器:Microsoft Internet Explorer 6.0。2、系统安装(1)将本系统的所有文件复制到硬盘中的任一目录(以“D:XuanTi”为例)中。(2)打开IIS,右击“默认网站”,选择“新建目录”-“虚拟目录”,如图4-11所示。图4-11 新建虚拟目录(3)在“新建目录创建向导”窗口中输入一个别名,如“xuanti”,点击“下一步”,如图4-12所示。图4-12 输入虚拟目录名称(4)在“新建目录创建向导”窗口中的“目录”文本框中输入“D:XuanTi”,如图4-13所示。依次点击“下一步”,即可完成系统的配置。图4-13 选择网站所在位置(5)单击“默认网络”中的“xuanti”文件夹,在右侧右击“Default.aspx”,选择“浏览”即可打开本网站,如图4-14所示。图4-14 浏览首页3、注意事项本系统的网页采用XHTML+CSS进行布局。由于目前各大浏览器各自为战,对CSS标准的支持不一致,因此,建议尽量在IE6.0中以1024*768分辨率浏览本系统的网页。在其他浏览器(如Firefox)中页面可能会出现布局混乱。

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号