毕业设计(论文)-钢管扣件租赁系统设计与开发.doc_第1页
毕业设计(论文)-钢管扣件租赁系统设计与开发.doc_第2页
毕业设计(论文)-钢管扣件租赁系统设计与开发.doc_第3页
毕业设计(论文)-钢管扣件租赁系统设计与开发.doc_第4页
毕业设计(论文)-钢管扣件租赁系统设计与开发.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

钢管扣件租赁系统设计与开发 1 南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系): 软件学院 专 业: 软件工程 学 生: 指导教师: 完成日期 二一 0 年 四 月 钢管扣件租赁系统设计与开发 南阳理工学院本科生毕业设计(论文) 钢管扣件租赁系统钢管扣件租赁系统 steel fasteners rental system 总计: 毕业设计(论文)32 页 表 格 : 12 个 插 图 : 19 幅 钢管扣件租赁系统设计与开发 南南 阳阳 理理 工工 学学 院院 本本 科科 毕毕 业业 设设 计(论文)计(论文) 钢管扣件租赁系统钢管扣件租赁系统 steel fasteners rental system 学 院(系): 软件学院 专 业: 软件工程 学 生 姓 名: 学 号: 指 导 教 师(职称): (讲师) 评 阅 教 师: 完 成 日 期: 钢管扣件租赁系统设计与开发 钢管扣件租赁系统 软件工程专业 摘摘 要要 随着房地产热的出现,钢管扣件等建筑器材租赁行业也随之兴起,面对租赁器材 种类的多样性及租赁费用计算的复杂性,简单的人工计算管理租赁账单难免出现差错, 所以需要有一套完整的租赁系统来进行科学的管理。 本课题根据钢管扣件租赁的流程及费用计算方法,采用基于 c#语言和 mysql 数据 库的 c/s 框架模式开发出一套桌面软件形式的钢管扣件租赁系统。系统能够实现使用 者对租赁客户、器材种类、出租单、归还单等进行管理和资金的结算,也可以对不同 客户进行月账单计算等功能。本系统部署在服务器端,使用者只需要能够连接网络就 可以在客户端进行对系统管理,方便使用者对系统进行管理,同时也能保证系统数据 的相对安全性。 关键词关键词钢管扣件租赁 c#语言 mysql 数据库 水晶报表 steel fasteners rental system software engineering xia guang-sen abstract:with the emergence of hot real estate, steel fasteners and other construction equipment rental industry also will rise, the face of the diversity of equipment leasing and rental costs of the complexity of the simple management of rental bill is inevitable manual calculation errors, so it is necessary a complete set of lease systems for scientific management.the subject of the process under the steel fasteners and cost of leasing method, based on c # language and mysql database c / s framework model developed a desktop software rental system in the form of steel fasteners.system, customers can realize the user of the lease, equipment type, rental alone, the return of a single other management and financial settlement, customers can be on different billing calculation.the system deployed on the server side, users need only to connect to the network to connect the client side of system management, user- friendly management of the system, while also ensuring the relative safety of the system data. key words:steel fasteners lease;c # language;mysql database;crystal reports 钢管扣件租赁系统设计与开发 目 录 1 引言 1 1.1 本课题的背景和研究现状.1 1.1.1 本课题背景.1 1.1.2 研究现状.1 1.2 本课题研究的意义和内容1 1.2.2 本课题的研究内容.1 1.3 本课题的组织结构.1 2 本课题相关技术介绍 .2 2.1 c#语言.2 2.2 mysql数据库4 2.3 水晶报表.5 2.4 小结.5 3.1 功能设计.6 3.1.1 功能需求分析设计.6 3.1.3 可行性分析 .8 3.2.1 数据库设计原则.9 3.2.2 数据库分析10 3.2.3 数据库实现11 3.3 小结15 4.1 用户登录和注册模块15 4.1.2 注册 17 4.1.3 销户 18 4.1.4 帮助和退出 18 4.2 正常订单管理模块19 4.2.1 新增正常订单 19 4.2.2 修改有误订单 21 4.2.3 删除错误订单 22 4.3 材料租赁管理模块23 4.3.1 订单出租查询 23 4.3.2 器材回收管理 23 4.3.3 日租金管理 23 钢管扣件租赁系统设计与开发 4.3.4 仓库库存管理 25 4.4 小结26 5 系统测试 26 5.1 系统测试环境26 5.2 系统测试原则26 5.3 部分模块测试用例27 5.4 小结28 6 总结与展望 28 6.1 总结28 6.2 进一步的工作和展望28 参考文献 .29 致谢 .29 钢管扣件租赁系统设计与开发 1 1 引言 1.1 本课题的背景和研究现状 1.1.1 本课题背景 针对钢管扣件租赁行业租赁器材品种繁多,租赁搭配麻烦,费用计算复杂,公司 运营盈利管理不清晰,以及人工负担重,租赁过程中容易出错等问题,分析出行业业 务,设计出管理软件,提高办公效率。 1.1.2 研究现状 随着房地产热和建房热的出现,钢管扣件等建筑设施的租赁行业也随之兴起。怎 样才能更好的对钢管扣件租赁行业进行管理,最好的方法就是用软件进行科学的管理。 那么怎样设计钢管扣件租赁软件才能更符合这个行业的应用?调查发现,目前国内外 有关的系统软件都在向以下三个方面进行靠拢:1.精细化 软件将各个功能划分的更加 详细,使得在租赁时出现的各种情况都能够通过软件进行处理。2.智能化 软件更加智 能,使得软件每个功能能够更好的实现,避免不必要的麻烦。3.傻瓜化 软件在操作方 面方便易用,使得不同的人都能够进行快速操作。如果某一软件能够在这三个方面做 到更好,那么此软件必将更受该行业的欢迎。 1.2 本课题研究的意义和内容 1.2.1 本课题研究的意义 利用信息化手段把先进的企业管理方法引入企业的实践,为企业的管理改革提供 切实易行的途径。更重要的是,租赁系统可以及时通过信息技术把企业数据快速转化 为企业信息,通过集中式的信息数据库,将企业的还,租,存等经营业务有机的结合 起来,达到数据共享,降低成本,提高效率,改进服务的目的,进而提供企业的生产 效率和管理水平。 1.2.2 本课题的研究内容 1、系统要求利用合适开发工具,结合数据库,采用 c/s 或者 b/s 架构 2、系统的主要功能有: 1) 系统用户管理:包括管理员信息查看、管理员密码修改、管理员权限修改等。 2) 正常订单管理:包括新增正常订单、修改有误订单、删除错误订单等。 3) 资金结算管理:包括每月应收款、租赁费用管理、结单折损管理等。 4) 材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管 理等。 1.3 本课题的组织结构 本论文共分为以下六个章节: 第 1 章引言,主要论述了本论文的研究背景及其意义,及本课题的国内外研究现 钢管扣件租赁系统设计与开发 2 状。 第 2 章对本课题中所用的相关知识的介绍,主要包括 c#技术、mysql 数据库及 水晶报表的介绍。 第 3 章主要介绍本系统需求分析。主要包括系统的流程图,数据库设计等。 第 4 章重点介绍本系统的功能实现过程。 第 5 章主要是对系统进行测试。 第 6 章主要是对本论文所做的工作总结和展望。 参考文献 致谢 2 本课题相关技术介绍 2.1 c#语言 c#(c sharp)是微软(microsoft)为.net framework 量身订做的程序语言,c#拥有 c/c+的强大功能以及 visual basic 简易使用的特性,是第一个组件导向(component- oriented)的程序语言,和 c+与 java 一样亦为对象导向(object-oriented)程序语言。 c#所具有的突出特点如下: 1. 简洁的语法 在缺省的情况下,c#的代码在.net 框架提供的“可操纵”环境下运行,不允许直 接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在 c+中 被疯狂使用的操作符(例如:“:” 、 “-”和“.,” )已经不再出现。c#只支持一个 “.” ,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。 c#用真正的关键字换掉了那些把活动模板库(active template library,alt)和 com 搞得 乱糟糟的伪关键字,如 ole_color、bool、variant_bool、dispid_xxxxx 等等。每种 c#操作符在.net 类库中都有了新名字。 语法中的冗余是 c+中的常见的问题,比如“const“和“#define“、各种各样的字符类型等 等。c#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被 清除了出去。 2.精心地面向对象设计 c#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。 然而,通过精心地面向对象设计,从高级商业对象到系统级应用,c#建造广泛组件的 绝对选择。 在 c#的类型系统中,每种类型都可以看作一个对象。c#提供了一个叫做装箱(boxing) 与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦,这在以后的章节中 钢管扣件租赁系统设计与开发 3 将进行更为详细的介绍。 c#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。c#中 没有全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必须封装在一 个类之中。代码将具有更好的可读性,并且减少了发生命名冲突的可能。 整个 c#的类模型是建立在.net 虚拟对象系统(visual object system,vos)的基础之上, 其对象模型是.net 基础架构的一部分,而不再是其本身的组成部分。在下面将会谈到, 这样做的另一个好处是兼容性。 借助于从 vb 中得来的丰富的 rad 经验,c#具备了良好的开发环境。结合自身强大的 面向对象功能,c#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开 发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于 找到了支点。 3. 与 web 的紧密结合 .net 中新的应用程序开发模型意味着越来越多的解决方案需要与 web 标准相统 一,例如超文本标记语言(hypertext markup language,html)和 xml。由于历史的原 因,现存的一些开发工具不能与 web 紧密地结合。soap 的使用使得 c#克服了这一缺 陷,大规模深层次的分布式开发从此成为可能。 由于有了 web 服务框架的帮助,对程序员来说,网络服务看起来就象是 c#的本地对 象。程序员们能够利用他们已有的面向对象的知识与技巧开发 web 服务。仅需要使用 简单的 c#语言结构,c#组件将能够方便地为 web 服务,并允许它们通过 internet 被运 行在任何操作系统上的任何语言所调用。举个例子,xml 已经成为网络中数据结构传 递的标准,为了提高效率,c#允许直接将 xml 数据映射成为结构。这样就可以有效 的处理各种数据。 4.完整的安全性和错误处理 语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都 会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理 范围的内存空间进行修改等等。这些错误常常产生难以预见的后果。一旦这样的软件 被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。c#的先进设计 思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全 性能。为了减少开发中的错误,c#会帮助开发者通过更少的代码完成相同的功能,这 不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。 .net 运行库提供了代码访问安全特性,它允许管理员和用户根据代码的 id 来配 置安全等级。在缺省情况下,从 internet 和 intranet 下载的代码都不允许访问任何本地 文件和资源。比方说,一个在网络上的共享目录中运行的程序,如果它要访问本地的 一些资源,那么异常将被触发,它将会无情地被异常扔出去,若拷贝到本地硬盘上运 钢管扣件租赁系统设计与开发 4 行则一切正常。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担。.net 平台提供的垃圾收集器(garbage collection,gc)将负责资源的释放与对象撤销时的内存 清理工作。 变量是类型安全的。c#中不能使用未初始化的变量,对象的成员变量由编译器负 责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;c#不支持不 安全的指向,不能将整数指向引用类型,例如对象,当进行下行指向时,c#将自动验 证指向的有效性;c#中提供了边界检查与溢出检查功能。 5. 版本处理技术 c#提供内置的版本支持来减少开发费用,使用 c#将会使开发人员更加轻易地开发 和维护各种商业用户。 升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中 可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些 问题,c#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会象 在 c+或 java 中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本 化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软 件可以被方便地开发和升级。 6. 灵活性和兼容性 在简化语法的同时,c#并没有失去灵活性。尽管它不是一种无限制语言,比如: 它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中 你将发现,它仍然是那样的灵巧。 如果需要,c#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能 够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。 此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能- delegates,代表。再举一个例子:c#不支持类的多继承,但是通过对接口的继承,你 将获得这一功能。 7. 安全性 正是由于其灵活性,c#允许与 c 风格的需要传递指针型参数的 api 进行交互操作, dll 的任何入口点都可以在程序中进行访问。c#遵守.net 公用语言规范(common language specification,cls),从而保证了 c#组件与其它语言组件间的互操作性。元数 据(metadata)概念的引入既保证了兼容性,又实现了类型安全。 2.2 mysql数据库 mysql 是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成 本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择 了 mysql 作为网站数据库。 钢管扣件租赁系统设计与开发 5 mysql 始终围绕三个基本原则而设计,它们是:性能、可靠性和容易使用。严格 按照这些准则产生了一个价格便宜而富有特色、适应标准而容易扩展、速度快而效率 高的 rdbms,使 mysql 成为开发者和管理者建立、维护和配置复杂应用程序的完美 工具。 mysql 最具有竞争性的特征: 1性能:在 rdbms 中,速度就是一切。甚至 mysql 的最激烈的批评家都会承 认 mysql 非常迅速,有时主要指令的执行比它的竞争者都要快。在 mysql 网站上的 基准程序显示了 mysql 几乎比当前可用的其它所有数据库(如 microsoft sql server2000 和 ibm db2)都要优越4。 2可靠性:大多数情况下,高级数据库的性能是以降低可靠性为代价的。然而 mysql 不是这样,它提供了最大可靠性和运行时间,并且在大量要求严格的应用系统 中已得到测试和认证。 3多用户支持:mysql 是一个完全多用户系统,这意味着多个用户可以同时访 问和使用一个(或多个)mysql 数据库。mysql 也包括一个强有力的,灵活的权限 系统,它允许管理者使用基于用户和基于主机的认证方案的组合来限制对敏感数据的 访问。 4容易使用。 5可扩展性。 6可移植性:mysql 对 unix 和非 unix 操作系统都适用,它可以在一系列体 系结构上运行,它还支持从低档系列机器到高档机器和大型机等很多的硬件配置。 7遵循现有标准。 8国际化。 2.3 水晶报表 crystal reports(水晶报表)是一款商务智能(bi)软件,主要用于设计及产生报 表。水晶报表是业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大 的优势是实现了与绝大多数流行开发工具的集成和接口。 水晶报表有下面一些主要的优点: 1. 快速的报表开发。 2. 能够导出成为复杂的交互性图表。 3. 可以与其它控件一起在 webform 中使用能够动态地将报表导出为 pdf,.doc,xls,html,rtf 等多种格式。 水晶报表从 1988 年开始开发以来,93 年随着微软的.net 平台一起发行,随着 vb 的流行,它几乎在一夜之间成为报表软件业的标准。 钢管扣件租赁系统设计与开发 6 2.4 小结 这章主要介绍了本系统所用到的 c#编程语言的特点,所用到的 mysql 数据库和 水晶报表的优点。这些技术在钢管扣件租赁系统设计过程中的运用,将使得该系统更 加符合国际标准,也更加易于使用和维护。 3 需求分析 3.1 功能设计 系统功能如图 3-1 所示: 图 3-1 功能模块图 钢管扣件租赁系统设计与开发 7 3.1.1 功能需求分析设计 按功能初步分为以下五个大的模块,详细的需求分析如下: 1. 管理员登录和注册模块 管理员登录和注册模块属于用户管理的一部分,为了方便管理员进行登录,注册, 销户,帮助和退出操作,将之另外划分为一个模块。 登录时,管理员共分 5 种,即超级管理员,订单管理员,结算管理员和仓库管理 员,在主界面中输入用户名和密码,点击登录按钮后,系统将进行信息验证,如果验 证失败也无法登录,如果成功,则会根据该用户的权限信息启用相对应的系统功能。 注册功能只有超级管理员登陆后可以使用,用于注册新的管理员。当要收回某管理员 的登陆权限时,可通过销户操作删除此管理员的信息,实质无法登陆。当然,此操作 只有超级管理员登陆后才可执行,其他管理员无法执行此操作。帮助和退出功能则所 有人都可以使用。 2. 系统用户管理模块 此模块包括三个功能:管理员信息查看,管理员密码修改和管理员权限修改。 当管理员密码忘记等情况出现,需要查看管理员信息时,可以通过管理员信息查看功 能实现,此操作必须只能有超级管理员登陆后可实现,避免信息泄露。当管理员希望 修改自己密码时,只需登录后,进行管理员密码修改操作即可。如果因管理员工作调 整等情况出现,需要修改管理员的权限时,可通过管理员权限修改功能实现,此功能 只有超级管理员登陆后可使用,避免管理员越权操作。 3. 正常订单管理模块 此模块包括三个功能:新增正常订单,修改有误订单,删除错误订单。 当客户租赁钢管扣件等器材时,需要签订订单。订单管理员通过新增正常订单功能添 加客户订单信息和客户租赁的器材信息,然后提交订单信息即可,当然,如果需要, 可打印报表,供客户查看。当订单出现错误,需要修改时,可通过修改有误订单实现。 此功能还应有订单查询功能,在修改前,可查询所要修改订单的原信息,以确定是否 真的需要修改。当确定要修改时,才可根据提示修改原订单需要修改的内容。当订单 需要删除时,可通过删除错误订单实现,删除前还需要查询原订单内容,以确定是否 真的需要删除。 4. 资金结算管理模块 此模块包括三个功能:每月应收款,租赁费用管理,结单折损结算。 当结算管理员需要查询客户订单某月份的租金情况时,需通过每月应收款功能实现。 在每月应收款功能中,当输入查询信息时,可查询出该订单该月的租金。如果需打印 查询结果或打印全部在租订单上月租金情况时,可点击相应打印按钮来实现,以方便 追帐时作为拼据。租赁费用管理功能主要用于查询和登记。查询某订单到今天为止, 钢管扣件租赁系统设计与开发 8 应该缴纳的总租金和已经缴纳的租金费用。当再次收取到客户缴纳的租金时,登记客 户缴纳的租金金额。当客户结单时,除了缴纳器材租赁费用,还应缴纳器材折损费用。 结单折损结算功能可以查询某订单的折损情况和应该缴纳的相应费用。当客户缴纳完 相应费用后,则表示此订单已经完结。 5. 材料租赁管理模块 此模块包括四个功能:订单出租查询,器材回收管理,日租金管理和仓库库存管 理。 当管理员需查询租赁出去的器材情况或某订单租赁的器材情况时,可通过此功能 输入相应的查询信息,查询出相应的租赁器材信息。当客户将租赁的器材归还时,管 理员应对器材进行登记。器材回收管理功能主要对客户归还的器材进行登记,查询, 修改,删除操作。日租金管理可以对仓库中租赁器材的日租金信息进行添加,修改, 查询,删除操作。使系统能够通过调用日租金信息自动计算客户应付租金金额。仓库 库存管理可以对仓库中库存的器材进行增,删,查,改操作,方便对仓库器材进行管 理。譬如当新买的租赁器材入库时,仓库管理员可通过增操作来添加仓库信息。 3.1.2 设计原则及一般要求 参照各模块的功能与具体的特点,我们设计的整个办公自动化系统应达到以下目 的: 1. 稳定性。整个系统应能稳定运行,硬件配置的局部改变不会影响整体的正常运 行,其它系统的差错不会导致钢管扣件租赁系统无法正确运作。 2. 准确性。系统管理员按操作指南操作产生的权限数据与数据库原定产生变化的 实际状态应严格保持一致,杜绝错误记录、数据错位等情况的出现。 3. 开放性。全部模块工作于 windows 平台之上,在硬件保证兼容的基础上,系统 应保证在所有 windows 环境下的处理能力。 4. 可扩展性。如果需增加新的业务品种,再次开发不需更改原有系统的源代码, 原有系统对扩展的部分一般不具有依赖性。 5. 可维护性。界面风格或其它可能的参数化改变(如增加新功能等)不需要重新 编写源代码,用户可以自己完成。 6. 独立性。每一个功能模块尽量独立,减少与其它模块之间的耦合性,尽可能做 到按客户的需求可以选择安装那些模块,不安装那些模块。 7. 易使用性。钢管扣件租赁系统的界面与操作人员的交互性好。 8. 先进性。在保证稳定的前提下,尽量使用国际上流行的技术与概念,使系统在 国内处于先进水平。 钢管扣件租赁系统设计与开发 9 3.1.3 可行性分析 1. 技术可行性 技术可行性是根据所开发系统要求达到的目标衡量所需要的技术是否具备,如硬 件、软件和其他应用技术,以及从事这些工作的技术人员数量及技术水平。硬件方面 主要考虑计算机的内存、功能、联网能力、安全保护设施,以及输入、输出设备,外 存储器和联网数据通信设备的配置、功能、效率等。软件考虑操作系统、编译系统、 数据库管理系统等配置及功能等。 随着国内软件开发行业的日益发展壮大,各种中小企事业单位已具备独立开发各 种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关 系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于 一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编 辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。因此就研究和实现 而言,是完全没有问题的。 2. 经济可行性 对于整个系统来说,所有的操作都在管理方,并不需要客户进行操作。因此,只 需要钢管扣件租赁公司配备电脑,打印机等设备就可以了。在系统投入运行后,会产 生大量的客户数据,所以,只要对数据库进行必要的备份就可以了。 3. 管理可行性 随着时代的发展,人员素质已逐步提高,不论是对于电脑系统的基本操作还是对 于系统的维护都有了一定的基础,而且该软件系统属于傻瓜式的软件简单易懂,容易 上手,只要按软件说明进行操作几遍就可以熟练掌握,如有需要还可以配置专业的电 脑维护人员来维护电脑,不必担心电脑故障问题。 4. 开发环境可行性 本系统是基于 microsoft .net 平台和 mysql 数据库进行开发。如今大部分的电脑 采取的都是微软的操作系统,所以,开发以后系统的安装没有问题。其次,.net 平台 和 mysql 都提供可视化的开发环境,使代码的编写更加方便直观,因此对系统的调试 和维护都是相对很容易的。 3.2 数据库设计 3.2.1 数据库设计原则 数据库设计的原则如下: 1规范化:在设计和操作维护数据库时,关键的步骤就是要确保数据正确地被输 入到数据库的各个表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操 作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等) 。要设计 规范化的数据库,就要求我们根据数据库设计范式也就是数据库设计的规范原则来 钢管扣件租赁系统设计与开发 10 做。 2数据的冗余度尽量减少:数据冗余度是衡量数据结构的指标之一,这个指标与 上述相对集中的在同一文件结构中反映事物的各个侧面是相矛盾的,因为从整体上来 看,反映这些侧面的数据集合会存在交叉的情况,不可避免地出现数据的冗余,所以 我们所考虑的是在二者折中的情况下选择最优解或满意解。 3保持数据的独立性:在添加、修改、删除数据时,数据的结构、相互关系和属 性保持不变,并且应使程序不依赖于数据库中数据的组织方式和存储位置,也就是说 不同的应用程序可按其所需的数据结构去访问数据库中的数据。当数据的组织方式发 生变更时,不需要重新编写或修改应有程序。 4保证数据的完整性和安全性:系统对数据库中的数据进行访问,采取设置访问 权限、身份验证等措施,防止无关的用户对数据的非法访问和破坏,并提过各种保护 手段,以防止各种破坏数据完整性的行为发生。 5维护方面有不断扩充和更新的能力:设计好的数据库要想永远使用,一成不变 是不现实的。因为事物总是发展变化的,因此设计好的数据库系统不仅能满足用户目 前的需求,还要对远期的需求有一定的扩充和更新能力,有相应的处理方案。 3.2.2 数据库分析 针对钢管扣件租赁管理系统的需求,通过钢管扣件租赁的过程和相关数据流程的 分析,设计如下所示的数据结构。 1.管理员信息:包括的数据项有:自动编号,用户名,密码,权限,真实姓名,性 别,年龄,电话,住址,email,职务,备注等。 2.订单信息:包括的数据项有:自动编号,订单号,签单日期,签单人,业务员, 押金,工地地址,运费,结单时间,备注等。 3.租赁器材信息:包括的数据项有:自动编号,器材名称,器材型号,订单号,租 赁数量,租赁日期,已还数量,签单人,业务员,备注等。 4.器材归还信息:包括的数据项有:自动编号,器材名称,器材型号,订单号,归 还数量,归还日期,归还人,接收人,备注等。 5.库存信息:包括的数据项有:自动编号,器材名称,器材型号,库存数量,计量 单位,单价,单价计量单位,备注等。 6.日租金信息:包括的数据项有:自动编号,器材名称,器材型号,日租金价格, 计量单位,备注。 7.丢失器材信息:包括的数据项有:自动编号,器材名称,器材型号,订单号,丢 失数量,备注等。 8.月账单信息:包括的数据项有:自动编号,订单号,年份,月份,器材名称,器 材型号,天数,租赁数量,归还数量,在租数量,日租金,本月租金等。 钢管扣件租赁系统设计与开发 11 9.订单租金信息:包括的数据项有:自动编号,订单号,付款日期,付款金额,收 款人,备注等。 10.丢失赔偿信息:包括的数据项有:自动编号,订单号,赔偿金额,押金,运费, 实缴金额,收款人,备注。 3.2.3 数据库实现 1.管理人员信息表 m_infor,用于存储管理人员资料信息和登录系统管理员的权限 辨别。该表数据结构如表 4-1 所示: 表 4-1 管理人员信息表 字段名数据类型字段说明备注 idint(11) 自动编号主键(自动增 1) namevarchar(255) 用户名不允许为空 password varchar(255) 密码不允许为空 powervarchar(255) 权限不允许为空 m_namevarchar(255) 真实姓名不允许为空 sexvarchar(255) 性别允许为空 agsvarchar(255) 年龄允许为空 phonetellbigint(20) 电话允许为空 addressvarchar(255) 住址允许为空 emailvarchar(255)email 允许为空 jobvarchar(255) 职务允许为空 remarkvarchar(255) 备注允许为空 2.订单表 orderdan,用于存储客户订单信息。该表数据结构如表 4-2 所示: 表 4-2 订单表 字段名数据类型字段说明备注 idint(11) 自动编号主键(自动增 1) o_idvarchar(255) 订单号不允许为空 o_datedate 签单时间不允许为空 signmanvarchar(255) 签单人不允许为空 salesmanvarchar(255) 业务员不允许为空 cashfloat(16,2) 押金允许为空 workaddressvarchar(255) 工地地址不允许为空 freightfloat(16,2) 运费允许为空 钢管扣件租赁系统设计与开发 12 enddatedate 结单时间允许为空 remarkvarchar(255) 备注允许为空 3.租赁器材表 rent,用于存储客户租赁的器材信息。该表数据结构如表 4-3 所示: 表 4-3 租赁器材表 字段名数据类型字段说明备注 idint(11) 自动编号主键(自动增 1) e_namevarchar(255) 器材名称不允许为空 typevarchar(255) 器材型号不允许为空 o_idvarchar(255) 订单号不允许为空 r_countint(11) 租赁数量不允许为空 r_datedate 租赁日期不允许为空 c_countint(11) 归还数量允许为空 consigneevarchar(255) 租赁人允许为空 salesmanvarchar(255) 业务员允许为空 remarkvarchar(255) 备注允许为空 4.器材归还表 recover,用于记录客户归还的器材信息。该表数据结构如表 4-4 所 示: 表 4-4 器材归还表 字段名数据类型字段说明备注 idint(11) 自动编号主键(自动增 1) e_namevarchar(255) 器材名称不允许为空 typevarchar(255) 器材型号不允许为空 o_idvarchar(255) 订单号不允许为空 c_countint(11) 归还数量不允许为空 c_datedate 归还日期不允许为空 backmanvarchar(255) 归还人允许为空 salesmanvarchar(255) 接收人允许为空 remarkvarchar(255) 备注允许为空 5.器材损失表 lose,用于记录客户结单时损失的租赁器材信息。该表数据结构如表 4-5 所示: 表 4-5 器材损失表 钢管扣件租赁系统设计与开发 13 字段名数据类型字段说明备注 idint(11) 自动编号主键(自动增 1) e_namevarchar(255) 器材名称不允许为空 typevarchar(255) 器材型号不允许为空 o_idvarchar(255) 订单号不允许为空 l_countint(11) 丢失数量不允许为空 remarkvarchar(255) 备注允许为空 6.库存表 stock,用于存储仓库现有的租赁器材信息。该表数据结构如表 4-6 所示: 表 4-6 库存表 字段名数据类型字段说明备注 id int(11) 自动编号主键(自动增 1) e_name varchar(255) 器材名称不允许为空 type varchar(255) 器材型号不允许为空 count int(11) 库存数量不允许为空 prickle varchar(255) 计量单位允许为空 pricefolat(16,2)器材单价不允许为空 p_prickle varchar(255) 单价计量单位允许为空 remark varchar(255) 备注允许为空 7.日租金表 r_infor,用于记录租赁器材的日租金信息。该表数据结构如表 4-7 所示: 表 4-7 日租金表 字段名数据类型字段说明备注 id int(11) 自动编号主键(自动增 1) e_name varchar(255) 器材名称不允许为空 type varchar(255) 器材型号不允许为空 day_rentfolat(16,5)日租金不允许为空 prickle varchar(255) 计量单位允许为空 remark varchar(255) 备注允许为空 8.月账单表 monthdan,用于存储客户租赁器材的每月的租赁账单信息。该表数据结 钢管扣件租赁系统设计与开发 14 构如表 4-8 所示: 表 4-8 月账单表 字段名数据类型字段说明备注 id int(11) 自动编号主键(自动增 1) o_id varchar(255) 订单号不允许为空 yearfen varchar(255) 年份不允许为空 monthfen varchar(255) 月份不允许为空 e_name varchar(255) 器材名称不允许为空 type varchar(255) 器材型号不允许为空 daynum int(11) 天数允许为空 r_count varchar(255) 租赁数量允许为空 c_count varchar(255) 归还数量允许为空 z_count varchar(255) 在租数量允许为空 day_rentfolat(16,2)日租金允许为空 month_rentfolat(16,2)本月租金不允许为空 9.订单租金表 r_pay,用于记录客户已付的租金金额等信息。该表数据结构如表 4- 9 所示: 表 4-9 订单租金表 字段名数据类型字段说明备注 id int(11) 自动编号主键(自动增 1) o_id varchar(255) 订单号不允许为空 pay_date date 付款日期允许为空 moneyfolat(16,2)已付金额不允许为空 payee varchar(255) 付款人允许为空 remark varchar(255) 备注允许为空 10.损失赔偿表 l_pay,用于记录客户结单时损失器材的赔偿金额等信息。该表数据 结构如表 4-10 所示: 表 4-10 损失赔偿表 字段名数据类型字段说明备注 id int(11) 自动编号主键(自动增 1) o_id varchar(255) 订单号不允许为空 钢管扣件租赁系统设计与开发 15 damagesfolat(16,2)应赔金额允许为空 cashfolat(16,2)押金允许为空 freightfolat(16,2)运费允许为空 paidinfolat(16,2)实缴金额不允许为空 payee varchar(255) 收款人允许为空 remark varchar(255) 备注允许为空 3.3 小结 这一章中主要探讨了钢管扣件管理系统的各种主要功能,分析了这些功能的用途 和相关可行性;还针对这些功能探讨了相关数据库的结构设计和实现。 4 系统实现 4.1 用户登录和注册模块 4.1.1 登录 本部分主要用于本系统管理人员的登录,只有在分配了用户名和密码时才可以进 入该系统,管理相应的工作,并且除超级管理员意外的管理人员不能浏览数据库中的管 理人员信息表,注册新管理员和销户,以免非法登录,不便于管理。用户登录时将按 照用户名和密码进行验证,当输入错误或没有用户名和密码时会出现相应的提示(用 户名或密码输入错误!请重新输入) ,当用户名和密码都正确时会进入程序主界面,才 能进行日常管理工作。 该模块的界面设计登录前如图 4-1 所示: 钢管扣件租赁系统设计与开发 16 图 4-1 登录界面 登录后如图 4-2 所示: 图 4-2 主界面 登录主要实现代码如下: string query = “select name,password from m_infor where name=“ + textbox1.text + “and password=“ + textbox2.text + 钢管扣件租赁系统设计与开发 17 “; mysqlconnection myconnection = new mysqlconnection(“server=localhost;user id=root;database=equipment_rent“); mysqlcommand mycommand = new mysqlcommand(query, myconnection); myconnection.open(); mysqldatareader rdr = mycommand.executereader(); if (rdr.read() = true) rdr.close(); string mm = “select power from m_infor where name=“ + textbox1.text + “and password=“ + textbox2.text + “; mysqlcommand mmk = new mysqlcommand(mm , myconnection); mysqldatareader rdrk = mmk.executereader(); if (rdrk.read() string per = rdrk“power“.tostring(); rdrk.close(); myconnection .close (); if (per = “超级管理员“) groupbox1.visible = false; messagebox.show(“登陆成功!“); label3.enabled = true; . . button1.enabled = false; textbox1.text = “; textbox2.text = “; 4.1.2注册 只有登录的管理员是超级管理员,才可以注册新的管理员。注册界面如图 4-3 所 示: 钢管扣件租赁系统设计与开发 18 图 4-3 注册界面 如果输入信息有误,如两次输入密码不一致时,会出现提示信息,如图 4-4 所示: 图 4-4 注册有误 确认信息填写无误后点击确定按钮就可注册成功,如图 4-5 所示 钢管扣件租赁系统设计与开发 19 图 4-5 注册成功 4.1.3销户 只有登录的管理员是超级管理员,才可以进行销户操作,对某管理员执行销户操 作后,数据库中将删除该管理员的一切信息,该管理员将无法再登录该系统。 销户界面如图 4-6 所示: 图 4-6 销户界面 4.1.4帮助和退出 如果管理员需要帮助或者要退出该系统,可点击帮助和退出按钮。如图 4-7 所示: 钢管扣件租赁系统设计与开发 20 图 4-7 帮助退出 4.2 正常订单管理模块 4.2.1新增正常订单 点击新增正常订单项,即可进入新增订单界面,如图 4-8 所示: 图 4-8 新增订单界面 添加租赁器材清单时,参照器材信息显示表中的器材信息,选择需要的器材信息, 填写完整后,点击添加按钮,清单表中即可显示租赁人已经选租的全部器材信息,如 图 4-9 所示: 钢管扣件租赁系统设计与开发 21 图 4-9 添加订单信息 确定订单信息和该订单租赁的器材信息填写完毕后,点击订单提交按钮,该订单 即签订完毕,系统会提示是否打印报表,如图 4-10 所示: 钢管扣件租赁系统设计与开发 22 图 4-10 提交订单成功 4.2.2修改有误订单 点击修改有误订单项,即可进入修改订单界面,修改订单前,可先进行订单查询, 了解所要修改订单的相关信息,如图 4-11 所示: 图 4-11 修改订单查询 订单修改时,按照提示输入所要修改的信息,然后点击相关按钮即可,如图 4- 12 所示: 钢管扣件租赁系统设计与开发 23 图 4-12 修改订单 4.2.3删除错误订单 点击删除错误订单项,即可进入删除订单界面,然后输入相关信息,可以查询所 要删除的订单的相关信息如图 4-13 所示: 图 4-13 删除订单查询 确定要删除该订单时,点击订单删除按钮,即可删除该订单的全部信息,如图 4- 14 所示: 钢管扣件租赁系统设计与开发 24 图 4-14 删除订单成功 4.3 材料租赁管理模块 4.3.1订单出租查询 点击订单出租查询项,即可进入出租查询界面,输入相关查询信息,点击查询按 钮,即可显示查询结果,如图 4-15 所示: 图 4-15 租赁器材查询 当然,如果输入的查询信息有误,会出现相关提示,这里不再赘述。 4.3.2器材回收管理 如果客户将租赁器材归还时,需要进行回收器材登记,点击器材回收管理项,即 可进入器材回收界面,可按照相关提示,进行回收器材的增,删,查,改操作,这里 只显示查询操作,其他不再赘述,查询如图 4-16 所示: 图 4-16 器材回收查询 4.3.3日租金管理 此功能主要对租赁器材的日租金进行增,删,查,改管理,这里只显示修改操作, 其他不再赘述,修改前如图 4-17 所示: 钢管扣件租赁系统设计与开发 25 图 4-17 日租金修改界面 修改后如图 4-18

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论