




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南科技大学课程设计说明书目 录第一章 需求分析2一、需求调查2二、建立用例图2三、描述用例3第二章 系统分析6一、寻找系统中的类6二、建立类图8三、建立交互图9第三章 系统设计12一、类图的调整与修改12二、人机界面设计12三、数据库设计15四、类中操作的算法设计17第四章 系统实施18一、开发环境18二、建立数据库18三、程序设计20四、系统测试25五、使用说明2731超市库存管理系统的设计与实现第一章 需求分析一、需求调查传统的面向过程的库存管理信息系统的开发中存在不少的问题,传统的面向过程的开发方法,也即主要是基于功能分析或数据分析基础上的结构化方法。这种开发方法下设计的系统在70或80年代早期还可以适应,但在越来越复杂的非数值计算类型的软件开发中,在广泛应用图形界面的交互式系统中,在控制要求非常突出的应用中,在需求经常变化的条件下,尤其是在库存系统这种数据流动性要求比较高的管理软件的开发,用传统的软件开发方法解决问题往往暴露出严重的不适应性,主要表现在以下几点:1)功能与数据分离的软件设计结构与人类的现实环境很不一样,和人的自 然思维也就很不一致。 2)系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难,因此这种结构无法适应迅速变化的技术和需求。3)在系统中模块之间的控制作用有重要影响时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错。所以这种结构无法适应以控制关系为重要特性的系统要求。4)结构化方法开发出来的系统往往难以维护,因为所有的函数都必须知道数据结构。5)自顶向下功能分解的分析方法极大地限制了软件的可重用性,导致对同样对象的大量的重复性工作,大大降低了开发人员的生产率。二、建立用例图我们把采购员和入库管理员、提货员和出库管理员看成一致,所以总结起来系统中的参与者有:系统管理员,采购员,提货员。识别出参与者后,从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1-1所示。图1-1 用例图三、描述用例以下描述该系统中主要的几个用例1、添加进货单用例的描述采用表格的形式描述该用例,如表1-1所示。表1-1 添加进货单用例用例名称添加进货单参与者入库管理员(即采购者)前置条件入库管理员有权限并已经登录后置条件将进货信息存入数据库中同时更新库存信息基本操作流程1.入库管理员受权限限制登录系统2.输入进货单信息,保存信息时自动更新库存信息3.显示输入的所有进货单信息,并且库存量也相应增加可选操作流程可以删除以前的进货单信息2、查询进货单用例的描述采用表格的形式描述该用例,如表1-2所示。表1-2 查询进货单用例用例名称查询进货单参与者入库管理员、系统管理员前置条件入库管理员有权限并且已经登录成功,或系统管理员已经登录,数据库中已录入进货单信息后置条件基本操作流程1. 选择查询方式,并输入查询条件2. 点击查询,得出信息可选操作流程1.如果知道进货单号查询未知信息,可以在查询选择下拉框中选择“进货单号”2. 如果知道商品号查询未知信息,可以在查询选择下拉框中选择“商品号”。3、添加出库单用例的描述采用表格的形式描述该用例,如表1-3所示。表1-3 添加出库单用例用例名称添加出库单参与者出库管理员前置条件出库管理员有权限并已经登录后置条件将出库信息存入数据库中同时更新库存信息基本操作流程1.出库管理员受权限限制登录系统2.输入出库单信息,保存信息时自动更新库存信息3.显示输入的所有出库单信息,并且库存量也相应减少可选操作流程提货之前要先确定库存中有该种商品并且库存量不小于该出库单中的提货数量4、查询出库用例的描述该用例和查询进货单用例相似5、查询库存信息信息用例的描述采用表格的形式描述该用例,如表1-5所示。表1-5 查询库存信息用例用例名称查询库存信息参与者入库管理员、系统管理员前置条件两个参与者有权限并已经登录系统,库存信息已经在增减进出库单时创建后置条件做出采购决策基本操作流程输入商品号直接查询可选操作流程无6、添加商品信息用例的描述采用表格的形式描述该用例,如表1-6所示。表1-6 添加商品信息用例用例名称添加商品信息参与者入库管理员前置条件入库管理员有权限并已经登录后置条件无基本操作流程根据入库单和实践录入商品详情可选操作流程如果没有新商品入库就不需要添加7、操作员信息管理用例的描述表1-7 操作员信息管理用例用例名称操作员信息管理参与者系统管理员前置条件系统管理员已经登录后置条件权限或者密码改变基本操作流程根据要求对数据进行更改可选操作流程无8、供应商信息管理用例的描述和操作员信息管理用例相似第二章 系统分析一、寻找系统中的类通过对系统需求的分析,我们发现系统中的类有:系统管理员、入库管理员、出库管理员、出库单、进库单、库存信息、商品信息、供应商。另外,由于出库和入库管理员类存在大量的重复的属性(如用户名、密码等),为了简化系统模型,我们可以建立一个父类(people)。1、类用户(1)属性该类作为其他类的父类,具有三个通用的属性。密码:string。各类人员的登录密码。标志值:string。区分不同的权限。(2)操作删除()修改密码()2、类系统管理员描述系统管理员的信息。(1)属性从用户类中继承用户名、密码、标志值、三个属性。(2)操作添加()修改密码()修改权限()删除()3、类进出库管理员描述进库管理员和出库管理员的信息。(1)从用户类中继承用户名、密码、标志值、三个属性。(2)操作修改密码()删除()4、类供应商描述供应商的信息。(1)属性供应商号:string名称:string联系人:string联系电话:string地址:string账号:string(2)操作添加()删除()修改()5、类出库单描述出库单的信息。(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为数据库访问类,用于将相关数据从数据库中读出来,或写入数据库中。该类只有几个通用的操作。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 申报题目的顺序图2、审查题目的顺序图如图2-3所示。图2-3 审查题目的顺序图3、公布题目的顺序图如图2-4所示。图2-4 公布题目的顺序图4、选择题目的顺序图如图2-5所示。图2-5 选择题目的顺序图5、导出选题信息的通信图如图2-6所示。图2-6 导出选题信息的通信图第三章 系统设计在系统设计阶段,要考虑系统的实现环境,对分析阶段的类图模型进行调整与完善,并对人机界面和数据库进行设计,最终形成一个可实现的系统设计模型。本系统将采用c#进行编程。c#是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。一、类图的调整与修改在系统设计阶段,要对系统分析阶段的类图,根据实现条件对其进行补充与调整。需要补充与调整方面有很多:如有的编程语言不支持多重继承和多态,在设计模型中就要去掉多重继承,并考虑如何不使用多态而仍能完成原有的功能;根据编程语言的特性,确定属性的数据类型;若能得到可复用的模型成分,则要对模型进行修改;根据需要还可能要合并或分开一些类、属性或操作。本系统中,由于系统分析阶段的类图较为简单,没有出现多重继承,c#语言对多态的支持性很好,因此不需要对类图作其他修改。二、人机界面设计1、首页的设计首页是系统的第一个页面,主要功能是供各类人员登录,其界面设计如图3-1所示。图3-1 首页2、申报题目页面的设计该页面是指导教师成功登录后的页面,其界面设计如图3-2所示。图3-2 申报题目页面3、选择题目页面的设计该页面是学生成功登录后的页面,其界面设计如图3-3所示。图3-3 选择题目页面4、选题信息页面的设计各类人员在此页面中查看选题的情况,其界面设计如图3-4所示。图3-4 选题信息页面三、数据库设计由于目前面向对象数据库系统还不成熟,本系统将采用关系数据库系统存储永久对象(需要长期存储的对象)。主要工作是将类图转换为关系模型。1、数据库需求分析从类图可知,类people分别与类tutor、类director、类inspector、类student存在继承关系,且本系统中没有与people相对应的对象,因此,不必为people建立数据表,可以将其属性下移到四个子类中。另外,由于类director和类inspector的属性完全相同,因此可以将其合并为一个关系模型,只需在关系模型中增加一个字段,以表明二者的身份即可。这样,就可以为这两个类只建立三个关系模型,如表3-1、表3-2、表3-3所示。从类图可知,类tutor与类topic存在一对多的关联关系,因此,需要在类topic中增加一个属性“tutorid:int”,表明一个题目是由哪个教师申报的。因此,topic关系模型的结构如表3-4所示。从类图可知,类list分别与类student、类tutor、类topic存在关联关系,因此需要在类list中增加“studentid:int”、“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字段类型长度备注idint7指导教师的编号passwordstring10指导教师的密码namestring20指导教师的姓名jobtitlestring6教师的职称diplomastring6教师的学历表3-2 directorand inspector字段类型长度备注idint7教研室主任或审查小组负责人的编号passwordstring10教研室主任或审查小组负责人的密码namestring20教研室主任或审查小组负责人的姓名rolestring9用于区别教研室主任或审查小组负责人的身份表3-3 student字段类型长度备注idint7指导教师的编号passwordstring10指导教师的密码namestring20指导教师的姓名classstring6学生所在的班级表3-4 topic字段类型长度备注topicidint3题目的序号titlestring30题目的名称flagboolean题目是否已通过审查typestring4题目类型(soft或text)tutoridint7申报题目的指导教师的职工号表3-5 list字段类型长度备注listidint2选题的序号studentidint7学生的学号topicidint3题目的序号tutoridint7指导教师的职工号表3-6 state字段类型长度备注flagboolean开启与关闭的标记四、类中操作的算法设计为便于编写程序,应该为类中较为复杂的操作设计其算法。在此用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#语言)技术访问和操作数据库。采用microsoft 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该表用于存储学生选题的信息,如图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 = null) 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 : 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 gridview1_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 + ; olebase.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 登录界面测试目的:测试能否正常登录,登录后能否切换到各自的页面。测试用例:用户名=“lxh”,密码=“123456”,身份=“指导教师”。 用户名=“zhy”,密码=“654321”,身份=“学生”。执行操作:分别输入上述两组数据后,点击“登录”按钮。预期结果:如果输入第一组数据,应切换到申报题页面(baoti.aspx),并显示指导教师的姓名。如果输入第二组数据,应切换到选题题目页面(xuanti.aspx),并显示学生的姓名。实际结果:如图3-2所示、图3-3所示。测试结论:没有发现错误。2、选择题目模块的测试该模块的界面如图4-9所示。图4-9 选择题目界面测试目的:学生能否选择
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精准医疗行业基因医学与疾病预防研究报告
- 2025广西来宾市应急管理局招聘应急管理综合行政执法兼职技术检查员12人笔试模拟试题及答案解析
- 2025四川资阳市中心医院诚聘医师助理5人笔试参考题库附答案解析
- 2026中煤科工西安研究院有限公司校园招聘笔试备考题库及答案解析
- 2025年小儿呼吸道感染疾病诊治模拟考试卷答案及解析
- 2025四川九洲永昌检测技术服务有限责任公司招聘测试技术岗等岗位6人笔试参考题库附答案解析
- 2025年免疫学常见实验操作规范模拟试题答案及解析
- 随州市中石油2025秋招面试半结构化模拟题及答案财务与审计岗
- 三沙市中石油2025秋招面试半结构化模拟题及答案财务与审计岗
- 2025年放射科影像学诊断报告解读技能考核答案及解析
- 2025秋七年级语文上册第1单元第4课古代诗歌四首教材习题课件新人教版
- 镁合金课件教学课件
- 2025年动漫艺术概论试题及答案
- 知道智慧树实验室安全与防护满分测试答案
- 成都市辅警真题2024
- 工会经审业务网络知识竞赛题库
- 宁夏易制毒管理办法
- 教学课件文案模板范文
- 要素式强制执行申请书(申请执行用)
- 辽宁省民间信仰管理办法
- 财务信息化系统建设-洞察阐释
评论
0/150
提交评论