基于B/S模式的连锁干洗店管理系统设计摘要:随着干洗店服务的日渐完善和复杂,以前单纯的文本记录人工管理方式已经不能完全适应发展要求,这就需要有一个管理系统来协助完成本文按照软件工程的规范,采用结构化分析与设计的方法,依据实际需求描述了系统分析与设计的全过程,构建了一个连锁干洗店管理系统本系统使用Java Server Pages(JSP)技术和SQLSERVER数据库进行开发,包含干洗店子系统和分店管理子系统,主要对分店的资料和客户的资料进行管理,规范订单的管理等,系统具有较好的应用价值关键词:干洗店;连锁;分店管理;洗衣流程管理管理;B/SDesign of Chain Management System of Dry Cleaners Base on B/S ModeAbstract: With increasingly dry cleaning services and complex sound, in the past simple text records management manual has not fully adapted to the requirements of the development, which requires a management system to assist in the completion. In this paper, in accordance with the norms of software engineering, the use of structured analysis and design methods, based on the actual needs of the analysis and design described in the whole process of building a chain of dry cleaners, a management system. The system uses Java Server Pages (JSP) technology and database development SQLSERVER, including dry cleaners and stores management subsystem subsystems, primarily to store information and customer information management, and standardize the management of orders, the system has good value.Key words: Dry cleaners; chain; branch management; Laundry Management Process Management; B / S目 录第1章 绪论 11.1连锁干洗店的发展与需求状况 11.2系统的开发意义 1第2章 连锁干洗店系统需求分析 32.1系统角色定义 32.2系统功能需求 32.2.1功能需求描述 32.2.2 业务流程图 42.2.3 数据流图 92.3系统性能需求 182.3.1精度 182.3.2灵活性 182.3.3输入输出要求 182.3.4故障处理要求 182.4系统其他需求 18第3章 连锁干洗店管理系统的设计 203.1实现技术及工具的选取 203.1.1系统设计模式的选取 203.1.2 JSP技术的选取 203.1.3 SQLSERVER数据库的选取 223.1.4 TOMCAT的选取 233.1.5 程序开发工具的选取 233.2系统设计方案 253.2.1 JSP+JAVABEAN设计方案 253.2.2 JSP+JAVABEAN+SERVLET设计方案 263.2.3方案选择 263.3总体设计方案 273.4运行环境规定 283.5连锁干洗店系统概要设计 283.5.1系统总体功能流程图 283.5.2系统功能模块图 283.6连锁干洗店系统详细设计 293.6.1系统模块详细设计 293.6.2 IPO表 313.6.2数据库概念结构设计 353.6.3数据库物理结构设计 36第4章 连锁干洗店系统的实现 414.1数据库连接实现 414.2 功能模块的实现 414.2.1用户身份验证 414.2.2系统管理员界面 44第5章 连锁干洗店系统的测试 575.1测试目的 575.2测试目标 575.3测试运行环境 575.4测试过程 575.4.1测试方案 575.4.2测试用例和结果 585.4.3其他模块测试简述 595.5 测试结果分析与总结 60结论 61参考文献 63附录 64第1章 绪论1.1连锁干洗店的发展与需求状况随着人们生活水平的不断提高和生活节奏的加快,不少商务人士的收入与衣物越来越多,而精力、时间却越来越少,于是干洗店连锁加盟应运而生。
据预测,干洗店连锁加盟有25%至30%的利润空间有关统计表明,目前作者国干洗店连锁加盟网点的数量平均每25万人才有1台干洗机,远远满足不了消费者的需求毋庸置疑,干洗店连锁加盟将是一个升值潜力极大的行当,而巨大的市场空间更让投资者垂涎三尺通过对干洗店连锁加盟需求和干洗店连锁加盟现状的分析,作者们可以看出:目前国内干洗店连锁加盟发展仍然落后于市场的需求减轻日常家务劳动,寻找专业干洗店连锁加盟服务,已成为多数人的干洗店连锁加盟选择虽然干洗店连锁加盟近几年得到了迅猛的发展,局部地区(如北京)的干洗店连锁加盟市场发展较快,基本满足了多层次消费人群的需求;但从全国来看,行业整体发展速度落后于市场需求的增长,技术水平偏低,多数干洗店连锁加盟仍停留在设备简陋、技术粗糙的阶段,尤其中高收入人群的洗衣需求远远没有得到满足需求的多样化决定了任何行业都必然会走向行业细分化,干洗店连锁加盟正处于初步细分阶段,洗衣工厂虽然具有规模化优势,但随着运输费用和门市租金的提高,收衣点的经营成本不断增加,获利空间不断缩小,导致收衣点难以为继;加之取送时间较长、不能为顾客提供更多增值服务等,传统的干洗店连锁加盟态势必会逐渐退出历史舞台。
由市场需求的演变,作者们可以预测行业的发展趋势:个体干洗店连锁加盟通过添置、更新必要的设备,提高洗衣技术,凭借价格的优势可以获得广大普通消费者的认可;专业级干洗店连锁加盟依托良好的店面形象、先进的设备、专业化的服务,将会赢得追求生活品质的中高收入人群的青睐从需求发展角度来看,专业级干洗店连锁加盟有更好的发展空间、更强的竞争优势、更久的经营期限[1]1.2系统的开发意义如今,随着作者国的信息化建设程度也越来越高,互联网开始在人们的生活发挥着越来越为重要的作用,网络技术可以将各种不同的设施连接起来,进行统一的管理,目前洗衣业管理状况要满足快速增长的洗衣量,是远远不够的,因为当前干洗店多采用手工或半手工处理干洗店业务流程,多用人工方式在前台接送衣物并半手工进行营业额统计,效率十分低下干洗店业务主要是接送衣物、洗衣消耗品管理、洗衣设备管理、员工管理、营业额统计等另外,干洗店除了接送货业务外,还有不少业务是面向用户的,如申请会员、客户查询衣物状况等以上这些干洗店内部业务如果用计算机来进行管理的话,能大大节约大型干洗店工作人员和管理人员的时间,提高工作效率另一方面,干洗店常以连锁店的形式存在,如何申请成为一家连锁干洗店的分店,总店如何实现对这些连锁店的管理,总店和分店需要达成哪些协议?等等这些问题成为连锁干洗店管理的重点内容。
若在外地申请加盟,或管理外地分店,仍然用人工管理,即管理各个干洗店需要管理员在各分店之间来回往返,就显得非常繁忙和低效在当今,可通过网络来实现对各连锁分店实行先进高效率的网络管理通过网络,干洗店总店管理人员可方便地管理各分店,如分店加盟、、费用收支管理、内部消息/通知管理、新闻等的管理;可发布加盟方法、加盟要求、新闻、洗衣价格、洗衣方法、洗衣设备情况等信息总之,基于网络的连锁干洗店管理系统能大大节约大型干洗店管理人员的时间,提高工作效率1.3系统实现目标系统包括下列系统:1. 收衣服:接受客户的预洗衣服2. 取衣服:客户凭洗衣收据,来取走已洗好的衣物3.会员管理:管理会员的基本信息4. 客户查询系统:可以对服务的信息进行查询5. 总店洗衣用品管理:对总店的物品的管理(洗涤耗材等)6. 设置功能:衣物价格设置的可以先设置好洗衣的价格7. 统计功能:收入统计8. 连锁分店的管理模块:其中的功能有加盟费用管理、分店加盟管理9. 总店人事管理:对总店的员工信息的管理10. 发布模块:洗衣价格管理及新闻发布第2章 连锁干洗店系统需求分析2.1系统角色定义用户在系统中扮演的角色,以及可以执行的职责,如表所示。
表2-1角色定义序号角色职责1总店管理员拥有最高权限,能够操作总店的人事系统,和分店的加盟管理系统2分店管理员二级权限,只能对本店的员工和业务进行操作3店员能够进行业务的操作处理,打单,结单等4会员能够登录查询自己的会员信息,和衣物洗涤进度2.2系统功能需求需求收集和分析是系统设计的第一阶段,该阶段收集和分析用户对系统的要求,确定系统的工作范围准确而无遗漏地弄清用户需求,是数据库设计取得成功的重要前提本论文主要针对连锁干洗店管理系统进行研究连锁干洗店管理系统用于完成衣物,会员,店员,管理员,新闻的录入、修改、查询和删除;完成营业记录的统计;完成管理员和会员的交流平台2.2.1功能需求描述1.收衣服:接受客户的预洗衣服,根据要求和提示输入衣物的相关信息(会在设置里面对衣物的种类进行分类,方便计算价格),如果是会员,则可以输入会员号,并显示出该会员的相关信息(余额,消费总额,联系等),并提供打印功能,打印出收取衣服的票据2.取衣服:客户凭洗衣收据,来取走已洗好的衣物包括取衣结单,返回重洗,退赔衣物,撤消单子等功能取衣结单即洗衣客户来取衣时,所做的操作如果您的客户要求重洗衣物(退赔衣物,撤消单子),您可以选择返回重洗功能,该功能要求您选择要重洗的衣物(退赔衣物,撤消单子),并要求是有“返回重洗(退赔衣物,撤消单子)”权限的操作员才能提交信息。
3.会员管理:管理会员的基本信息和对会员卡的操作如:添加新会员,会员卡续费,会员卡挂失等(可考虑进行刷卡操作)4.客户查询系统:可以对服务的信息进行查询5.总店洗衣用品管理:对总店的物品的管理(洗涤耗材等)6.设置功能:衣物价格设置的可以先设置好洗衣的价格,在以后的收衣操作中给您带来方便快捷的操作初始化数据库等其他设置7.统计功能:该模块包括会员消费统计,收入统计,收取衣物管理,收衣取衣统计管理用户可以在该模块里统计分析出会员的消费情况,收取衣物的数量和费 用等信息8.连锁分店的管理模块:其中的功能有加盟费用管理、分店加盟管理9.总店人事管理:对总店的员工信息的管理10.发布模块:洗衣价格管理及发布(在设置模块中进行价格的设置)、公司内部留言板管理、内部通知网上的公布、干洗店工作规定的管理2.2.2 业务流程图1. 总店管理员业务流程图,如图2-1所示总店管理员用户名,密码是否合法否是选择操作查找操作员添加操作员删除操作员添加加盟店删除加盟店加盟费用查询信息发布查询条件新增删除新增删除查询新增修改密码返回系统处理数据变动更新数据库新旧密码 图2-1总店管理员业务流程图2.分店管理员业务流程图 如图2-2所示。
分店管理员用户名,密码是否合法否是选择操作设置衣物信息添加操作员删除操作员添加会员删除会员会员信息查询洗衣品入库洗衣品查询新增/修改新增删除新增删除查询新增查询条件修改密码洗衣品消耗统计查询删除返回系统处理数据变动更新数据库新旧密码图2-2分店管理员业务流程图3. 店员业务流程图 如图2.2所示店员用户名,密码是否合法否是选择操作查询订单新入订单结单添加会员删除会员修改会员信息查询客户信息查询条件新增删除新增删除修改查询修改密码返回系统处理数据变动更新数据库新旧密码图2-3店员业务流程图4.会员业务流程图 如图2-4所示会员用户名,密码是否合法否是选择操作查询订单查询余额查询洗涤进度查询查询查询修改密码返回系统处理数据变动更新数据库新旧密码 参考文献 [1] 叶子,进.实现[J].计算机工程与科学,,1(07):61-64. [2] 基于MATLAB 实现的指纹图像预处理[J].,34(04):836-856. [3] [4] [5] By-gnksguybb [6] 李 宁.指纹增强算法研究[D].济南:山东大学,. [7] 马扬彪.基于Gabor 滤波的指纹图像增强[J]. 微计算机信息,,25(15):305-306. [8] 向 锐.面向低质量指纹的图像增强算法研究[D].重庆:西南政法大学,.图2-4会员业务流程图2.2.3 数据流图1. 顶层数据流图如图2-5所示。
信息提取入单信息加盟店操作会员信息连锁干洗店系统店员会员总店管理员发布信息员工操作结单信息添加会员信息删除会员信息查询信息会员操作分店管理员衣服信息员工操作洗衣品信息统计信息图2-5总体数据流图2. 第二层如图2-6、2-7所示总店管理员1员工操作系统管理事务用户名,密码对应用户2加盟店操作系统总店管理员管理事务分店管理员加盟店信息信息发布系统3总店管理员发布信息员工发布的信息员工操作系统4分店管理员员工信息对应用户员工信息衣物设置系统5分店管理员衣物信息员工衣物信息会员管理系统6分店管理员会员信息会员会员信息洗涤品管理系统7分店管理员/员工洗涤品信息员工洗涤品信息统计系统8分店管理员统计项目分店管理员统计信息图2-6二层数据流图1洗衣业务系统9店员业务信息店员,客户业务信息/报表会员管理系统10店员会员信息会员会员信息会员操作系统11会员查询信息会员查询信息图2-7二层数据流图23.各子系统数据流图员工管理子系统数据流图 如图2-8所示员工信息总/分店管理员账号,密码1.1登陆1.2验证数据合法性员工信息员工信息1.3注册用户分配权限D1 用户表1.4删除用户用户名D1 用户表账号,密码1.5修改信息新信息D1 用户表新信息1.6打印变更信息新信息员工信息对应权限用户变更清单图2-8员工管理子系统数据流图加盟店管理数据流图 如图2-9所示。
分店信息总店管理员账号,密码2.1登陆2.2注册信息验证分店信息新增分店信息2.3注册分店分配权限D1 分店表2.4删除用户用户名D1 分店表分店数据2.5修改信息新信息D1 分店表新信息2.6打印变更信息新信息分店信息对应权限用户变更清单图2-9 加盟店管理数据流图信息发布子系统数据流图 如图2-10所示公布的信息总店管理员账号,密码3.1登陆3.2发布要公布的信息公布的信息3.3在主页显示D1 新闻表员工,客户,分店管理员图2-10信息发布子系统数据流图衣物设置数据流图 如图2-11所示衣物信息分店管理员账号,密码5.1登陆5.2设置处理衣物设置信息衣物信息D1 衣物表员工图2-11衣物设置数据流图,会员管理数据流图 如图2-12所示会员ID会员ID会员修改类目会员详细信息分店管理员/店员账号,密码6.1登陆6.2验证数据合法性会员信息6.3会员添加6.4会员信息修改6.56.6删除会员会员查询D2 会员表D2 会员表D2 会员表D2 会员表6.5显示会员会员信息图2-12 会员管理数据流图洗衣品管理数据流图 如图2-13所示分店管理员账号,密码7.1登陆7.2查询洗衣品信息洗衣品信息7.4洗衣品消耗删除洗衣品信息D1 洗衣品表分店数据7.3洗衣品入库新洗衣品信息D1 洗衣品表新信息7.5打印变更信息新信息员工删除信息图2-13 洗衣品管理数据流图统计数据流图 如图2-14所示。
分店管理员账号,密码8.1登陆8.2统计计算查询条件统计信息8.3显示总店管理员图2-14 统计数据流图订单数据流图 如图2-15所示订单信息店员账号,密码9.1登陆9.2入单记录添加入单信息D1 订单表9.4订单修改用户名D1 订单表订单信息9.3结单删除结单信息D1 订单表单号9.5打印显示订单信息结单信息订单信息店员,客户变更清单图2-15订单数据流图会员查询数据流图 如图2-16所示会员账号,密码2.1登陆2.2查询查询条件查询信息2.3显示会员图2-16会员查询数据流图2.3系统性能需求2.3.1精度本系统对该软件的输入、输出数据精度的要求不是很严格,但是在会员ID,管理员ID和店员ID上只能输入数字,因为本系统是用自增列自动生成的2.3.2灵活性系统能在Windows 95/98/NT//XP,UNIX操作系统平台环境下正常运行,需要SQLSERVER TOMCAT的支持,当需求发生某些变化时,此系统操作方式、数据结构、运行环境基本不会发生变化,变化只是将对应的数据库文件内的记录改变,或将过滤条件改变即可2.3.3输入输出要求输入输出数据类型都是文本型、字符型和数值型。
其格式都是表格报表形式2.3.4故障处理要求(1)如果发现运行异常现象,应当具有报警信息提示2)当输入不正确时,会弹出错误提示窗口3)如果操作不合理,可以进行重启操作2.4系统其他需求(1)安全性本系统采用二级安全保障:第一级:依赖于网络本身对用户使用权限的规定第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制2)可靠性连锁干洗店资源的高可用性对管理工作来说是至关重要的,系统要求采用性能优越的数据库系统这样有利于提高大批量数据的吞吐时间,使整个系统管理规范化;而且随着数据库的增大和操作扩展到一天 24 小时、一周 7 天,能够执行备份操作而不影响系统的正常运转,现在的设备能够满足上述要求此外,在灾难性故障发生后能够还原数据库,能在最短时间内还原它,使数据的完整性、安全性得到保障为了确保整个系统运行的可靠性,系统应具有强大的容错能力3)可扩展性 系统要求能够封装实现策略,把能够解决同一类应用的程序代码封装在类中,对外只提供公有的接口,从而提高今后修改数据结构或算法的自由度精心确定公有方法,在开发出的系统的基础上能够很好地添加新的功能系统网络结构应易于扩充,以满足今后不断增加的用户端的需求和可能出现的大任务负载。
4)可维护性系统维护需要的工作量比较大,因此要求系统的设计能够让软件维护人员很容易地理解、改正、改动和改进系统减少软件维护所需的工作量,降低软件系统的总成本而文档是影响软件可维护性的决定因素,要求有描述系统功能和使用方法的用户文档和描述系统设计、实现和测试的系统文档5)可交互性系统的建立就是为了给管理员以及客户带来方便,给干洗店管理提供一个方便简易的操作平台因此系统要求采用Web界面的形式,客户机中只要安装普通浏览器即可模块之间具有很强的独立性,用户可以在不同的客户端对不同模块并行操作,具有简单易用、使用方便的特点因此要求用户界面友好,操作方便第3章 连锁干洗店管理系统的设计3.1实现技术及工具的选取3.1.1系统设计模式的选取根据目前信息系统的实际需要有两种模式设计方案:C/S模式和B/S模式随着Internet的日益普及以及相关技术的发展,B/S(浏览器/服务器)结构模式逐渐成为现代MIS的首选方案B/S结构模式是一种从传统的二层C/S(客户机/服务器)结构发展起来的新的网络结构模式在这种结构模式中,用户端是浏览器,它能提供一致的用户界面,而且能实现客户端零配置和客户端平台无关性;服务器端是系统开发、维护和升级的所在,能够较容易地升级、扩展和集成系统。
此外,这种结构模式使用的是开放的TCP/IP协议,能使在其基础上开发出的系统具有良好的开放性和扩展性B/S结构模式的出现克服了C/S模式下MIS系统的种种缺陷(客户端软件过于庞大,维护困难;客户端应用系统依赖于其应用平台;系统相对封闭,同一应用系统需要多种操作系统版本;各个企业或部门的MIS没有标准的用户界面和操作流程,使用前需要专门培训,不利于推广和普及等等),极大地改变了基于C/S结构模式的MIS的结构设计、开发环境和应用环境,成为具有良好经济效益且易于推广的结构模式综上所诉,根据连锁干洗店系统的实际需要,采用B/S模式更适合实际的需要所以本系统采用B/S模式3.1.2 JSP技术的选取1.JSP与ASP,PHP的比较:微软公司提出的Active Server Pages(ASP)技术,利用“插件”和API简化了Web应用程序的开发ASP的优点是可以包含HTML标签,可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上更富有灵活性但该技术基本上是局限于微软的操作系统平台之上,主要工作环境是微软的IIS应用程序结构,所以ASP技术不能很容易地实现跨平台的Web服务器程序开发。
PHP动态网站开发技术与ASP相似,也是一种嵌入HTML文档的服务器端脚本语言其语法大部分与C、Java、Perl等语言相似,并形成了自己的独有风格,利用该语言Web程序员可以快速地开发出动态网页PHP在大多数Unix平台、GUN/Linux和微软Windows平台上均可以运行PHP的优点主要有:安装方便,学习过程简单;数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程等但PHP也存在一些弱点,主要是PHP是一种解释型语言,不支持多线程结构,支持平台和连接的数据库都有限,特别是在支持的标准方面存在先天不足,对于某些电子商务应用来说,PHP是不适合的 作为一种成熟的动态网页开发技术,JSP (Java Server Pages)是由Sun公司倡导、多家公司一起参与建立的在传统的HTML网页文件(*. htm, *. html)中加人Java程序片段和JSP标记,就构成了JSP网页(. jsp) Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式来完成整个请求2.JSP技术的主要优点:(1) 适应平台的广泛性JSP采用JAVA语言作为其默认的脚本语言,从而秉承了JAVA“一次编写,各处运行(Write Once, Run Anywhere)"跨平台的优越性从一个平台移植到另一个平台,JSP甚至不用重新编译,因为JSP文件最终生成的Java字节码都是标准的且与平台无关的这种与服务器硬件和操作系统平台的无关相也是JSP相对于另一动态网页开发技术ASP最显著的特点2) 良好的安全性JSP在要先编译成字节码,再由JAVA虚拟机执行,源码不易被下载,尤其在用了JavaBeans等技术将源代码封装后使得安全性更高开发人员甚至可以把JavaBeans放置于不对外的服务器目录中3) 方便的组件开发方式绝大多数JSP页面都可以依赖于可重用的跨平台的组件(JavaBeans)来执行应用程序所要求的更为复杂的处理JavaBeans是一种Java类(Class),通过封装属性和方法成为具有某种功能或者处理某个业务的对象.如果熟悉Java语言,则编写JavaBeans/EJB非常简单,并且JavaBeans/EJB是不需要在服务器上注册的,这对没有完全访问服务器权限的开发者来说要方便得多。
基于组件的方法加速了总体开发过程[4,5](4) 程序开发维护的方便性JSP的设计主要是创建交互的基于WEB的应用程序,即页面的内容是基于用户的请求或者是系统的状态,而不是预先定义的文字采用可重用组件(JavaBeans)开发系统,便于系统建成后的管理和维护,因为多数情况下,作者们只需要修改可重用组件的相应内容而不是所有的页面[4,5](5) 数据库连接Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如SQLSERVER、Oracle、Sybase、MS SQL Server和MS Access等数据库基于以上的这些比较及JSP的优点,本系统采用了JSP技术3.1.3 SQLSERVER数据库的选取管理网站的开发几乎离不开数据库,如果没有数据库,很多事情都会变得非常棘手,也许根本无法做得到银行、大学和图书馆就是几个严重依赖数据库系统的地方在现在流行的数据库之中作者们最终选择了SQLSERVER,是基于以下考虑的:SQLSERVER简单易用,用户界面友好,可伸缩性好,适用于大、中、小各种级别的应用场合。
作者所选的毕业设计的题目——连锁干洗店系统,在实际使用的时候是面向企业的,这就对数据库的要求较高SQLSERVER相对于其它的一些小型数据库来说,稳定性、安全性、可扩展性都要好得多就目前情况来说,机器配置也完全不成问题且SQLSERVER是目前比较主流的数据库,选取它来进行毕业设计,相信对以后的实际应用也有比较大的帮助,因此,最终决定用此数据库[6]3.1.4 TOMCAT的选取Tomcat有自己的一些优点:它占用内存少,Tomcat只需9 MB以下的内存,同类产品则需要大约200 MB 内存;它是 100% 的纯 JavaTomcat 能在任何支持JDK(1.1.x或1.2及更高版本)的系统上运行;它开放源代码,并且免费Tomcat 的开放源代码特点使得它便于调试,且有助于人们了解servlet容器引擎的工作原理;它是正式的,由于Tomcat是正式的J2EE参考实现,因此用Tomcat开发的应用程序应该能用于任何商业servlet容器某些商业servlet容器事实上将 Tomcat 代码库作为了其实现的一部分;它能处理HTTP请求在开发servlet的过程中,Tomcat不需要Web服务器。
这就省去了对诸如Apache等的Web服务器的需要 — 这对于内存有限的工作站和服务器来说是个很好的特性此外,工作中有了Tomcat,就无需编写自己的HTTP请求和响应代码了但是请注意,在生产环境中仍强烈推荐使用一个 Web 服务器Tomcat对HTTP传输的支持是针对开发环境而非生产环境的它的兼容性良好Tomcat通过为Apache、Netscape和IIS提供连接器,可与更为流行的Web服务器相结合这意味着能方便地在NT上完成工作,然后将它转移到运行Netscape的Solaris上,或者运行Apache的Linux因此,本系统选择了Tomcat作为服务器3.1.5 程序开发工具的选取在计算机开发语言的历史中,Java语言受到了众多厂商的支持,有很多的开发工具编程工具只是工具,为了方便人们工作而开发的,各有特点,因此,选工具主要的依据自己将要从事的领域是什么,而不是盲目的认为哪种工具好,哪种工具不好下面将JDK、JBuilder和Eclipse的优点和缺点作了个比较,并根据本系统的实际需要选择了合适自己的java 开发工具——Eclipse1.JDK (Java Development Kit)SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK)。
开发人员和最终用户可以利用这个工具来开发java程序JDK简单易学,可以通过任何文本编辑器(如:Windows 记事本、UltrEdit、Editplus、FrontPage以及dreamweaver等)编写Java源文件,然后在DOS状况下通过javac命令将Java源程序编译成字节码,通过Java命令来执行编译后的Java文件,这能带给DOS时代程序员美好的回忆Java 初学者一般都采用这种开发工具2.JBuilder JBuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服务器方以及EJB开发者们来说下面简单介绍一下JBuilder的特点: (1) JBuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的应用2) 用户可以自动地生成基于后端数据库表的EJB Java类,JBuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。
3) JBuilder支持各种应用服务器JBuilder与Inprise Application Server紧密集成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务应用4) JBuilder能用Servlet和JSP开发和调试动态Web 应用5) 利用JBuilder可创建(没有专有代码和标记)纯Java2应用由于JBuilder是用纯Java语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准6) JBuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE3.EclipseEclipse是一种可扩展的开放源代码IDE集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的缺点就是较复杂,对初学者来说,理解起来比较困难从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想JDK的另一个显著特点是随着Java (J2EE、J2SE以及J2ME)版本的升级而升级但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发虽然JBuilder环境开发程序方便,是纯的Java 开发环境,适合企业的J2EE开发;但一开始人们难于把握整个程序各部分之间的关系,且对机器的硬件要求较高,比较吃内存,运行速度显得较慢因此,根据本系统的需要,选择了程序开发工具EclipseEclipse是一种可扩展的开放源代码IDE允许在同一IDE中集成来自不同供应商的工具,实现了工具之间的互操作性,从而显著改变了项目工作流程,使作者们可以专注在实际的嵌入式目标上利用Eclipse,可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
3.2系统设计方案通过对连锁干洗店的具体分析,可以设计两种设计方案:用JSP+JAVABEAN技术;用JSP+JAVABEAN+SERVLET技术3.2.1 JSP+JAVABEAN设计方案用JSP+JAVABEAN技术来实现,JSP作为视图,同时也有部分控制器的功能,JAVABEAN组件作为模型和控制器,当HTTP请求到达JSP时,它首先设置JAVABEAN组件的属性,然后调用JAVABEAN组件的方法,JAVABEAN组件通过连接数据库来执行业务逻辑,最后JAVABEAN组件把执行的结果返回给JSP页面,数据传递关系如图3-1所示方案1优点:程序编码简单,客户端传送的参数将在另一个页面进行处理,复杂的逻辑处理都在JAVABEAN中进行方案1缺点:维护性差,扩展性差,所有的页面控制都将在页面进行,导致页面中的JAVA代码过多,使用效率降低HTTP请求JSPJAVABEANJDBC数据库设置读取客户ViewM/C图3-1 方案1数据传递关系图3.2.2 JSP+JAVABEAN+SERVLET设计方案 用JSP+JAVABEAN+SERVLET技术,主要是通过客户端请求首先发送到SERVLET,SERVLET执行一些必要的操作处理,然后调用JAVAEBAN组件,通过JAVABEAN组件来连接数据库并执行逻辑处理,操作完成后用JAVABEAN来封装执行的结果,然后把结果保存到请求的对象中,最后把视图发送到显示的JSP页面,JSP页面读取SERVLET的执行结果进行显示。
数据传递关系如图3.2所示forward 客户http请求JSP页面JAVABEAN值对象JDBC数据库SERVLET读取设置controlView图3-2 方案2数据传递关系图方案2优点:各组件分工很明确,层次关系清楚,开发页面易于维护,在此模式中,JSP用于显示,它充当视图的角色,SERVLET用于传递参数等,它充当控制器的角色,JAVABEAN组件用于执行业务逻辑,相当于模型角色方案2缺点:与方案1相比较,模式2程序编码相对来说比较复杂,它的逻辑处理以及控制都在JAVABEAN和SERVLET中完成3.2.3方案选择鉴于以上两种设计方案的优缺点,作者决定采用以下设计思想:系统采用跨平台性能较好的Java编程语言,对复杂的后台处理采用SERVLET和JAVABEAN来进行后台处理,简化一些重复操作代码的编写简单的处理不采用SERVLET和JAVABEAN,因为SERVLET编写比较复杂,没有必要为一个单一处理来编写对数据库的连接语句放在JAVABEAN中,这样实现对某一数据库表的操作只需通过相应SERVLET来进行调用就能实现在JSP页面中能用JavaScript实现的功能尽量不使用Java语言来实现,虽然JSP实现了动态页面,但是在服务器端执行,而JavaScript不需要Java编译器,是直接运行在Web浏览器中,使得信息和用户之间不仅是一种显示和浏览的关系,而且实现了一种实时的、动态的、可交互式的表达。
如交给JSP来完成将给服务器增加不必要的负担所以有很多客户端的判断、操作(如用户输人内容是否符合要求)等都需要用JavaScript来实现采用身份验证实现用户登录,保证了系统的安全性在前台为了不让用户感觉页面单调,根据实际情况而定,尽量在一个页面中完成信息显示、信息添加或者修改在errorPage中设置容错页面,一旦Web服务器出现错误时,可以自动转向errorPage所指定的页面进行JSP页面编码都要严格按照JAVA和JSP编码规范来进行3.3总体设计方案基于以上大量的分析,系统采用Browser/Server(B/S)浏览器/服务器结构为软件体系结构B/S是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript, JavaScript...)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
这种结构最大的优点是:客户机统一采用浏览器,这不仅让用户使用方便,而且使得客户机端不存在维护的问题当然,软件开发和维护的工作不是自动消失了,而是转移到了Web 服务器端在Web 服务器端,需要编写响应页面例如用JSP语言查询数据库,将结果保存在Web 页面中,再由浏览器显示出来工作原理图如图3.3所示JSP服务服务器客户端浏览器数据库请求页面返回以HTML方式交WWW服务器脚本交JSP处理查询返回执行数据查询图3-3 系统工作原理图3.4运行环境规定(1)软件环境客户端:Windows NT/WINDOWS,IE5.0以上版本服务器端:Windows NT/WINDOWS,IE5.0以上版本数据库:采用SQLSERVER,运行于服务器端2)硬件环境:服务器:奔腾CPU的主频2.0GH以上或AMD2500+以上,内存256MB以上客户机:CPU要求1.0GH以上,内存128MB以上3)支持软件 操作系统:系统可在Windows NT/操作系统平台环境下正常运行软件环境:操作系统+TOMCAT 5.0以上+SQLSERVER技术资料要求:Win2k、SQLSERVER、JSP4)控制 该系统展示界面由框架构成,点击左边框架菜单信息,在主框架弹出相应信息。
通过不同的窗口,不同的按钮,进行不同的操作实现不同的功能3.5连锁干洗店系统概要设计3.5.1系统总体功能流程图连锁干洗店系统针对管理员和用户的身份不同,进入不同的管理页面进行功能操作,系统的总体功能业务流程图如图3-4所示对于管理员可以对各种信息进行添加、修改、删除、查询,而用户只能对于自己的信息进行修改,对于所有信息进行查询具体描述在后面的详细设计中将有更进一步的叙述3.5.2系统功能模块图连锁干洗店系统根据具体需求,系统共分为两个功能模块:干洗店模块和分店管理模块通过管理员登录和权限的认证分别进入相应的模块系统功能分析在进行系统需求分析时已经描述的很清楚了,现将系统功能模块图描述如图3.4所示登录管理员普通用户功能界面功能界面增加信息查询信息修改信息删除信息修改个人信息查询信息登录界面退出界面图3-4 连锁干洗店系统业务流程图由图4-5可知,系统主要涉及处理的事务都是会员信息,订单信息,管理员信息,分店信息,以及公告,衣物设置,洗涤品库存信息的增删改查,以及统计3.6连锁干洗店系统详细设计3.6.1系统模块详细设计下面将对实现系统功能的各个子模块进行详细设计说明,并通过IPO图来描述各模块功能的实现。
连锁干洗店洗衣店模块总店管理模块订单管理客户信息查询会员管理数据统计连锁分店管理模块总店人事管理加盟费用管理分店加盟管理发布会员模块查询信息员工管理添加会员删除会员修改会员信息新增员工删除员工设置衣服信息洗衣品管理入单结单图3-5 连锁干洗店系统功能模块图3.6.2 IPO表1.人事管理系统IPO表如表3-1所示表3-1人事管理系统IPO表系统:模块:被调用:调用:输入:输出:处理:对店员,分店管理员的信息进行注册连锁干洗店人事管理系统总店管理人员管理信息注册/修改信息员工信息2.分店管理IPO表如表3-2所示表3-2分店管理IPO表系统:模块:被调用:调用:输入:输出:处理:对分店信息进行注册,对费用的清缴情况管理连锁干洗店分店管理总店管理分店加盟管理,费用管理注册信息分店信息3.衣物设置IPO表如表3-3所示表3-3衣物设置IPO表系统:模块:被调用:调用:输入:输出:处理:对衣物的属性进行预先设置连锁干洗店衣物设置洗衣店衣物设置信息衣物的设置信息4.洗涤品管理IPO表如表3-4所示表3-4洗涤品管理IPO表系统:模块:被调用:调用:输入:输出:处理:对洗涤品的入库,使用进行管理连锁干洗店洗涤品管理干洗店洗涤品使用情况洗涤品剩余情况5.订单IPO表如表3-5所示。
表3-5订单IPO表系统:模块:被调用:调用:输入:输出:处理:对订单的入单和结单进行处理连锁干洗店订单洗衣店入单,结单订单信息/处理信息订单6.会员IPO表如表3-6所示表3-6会员IPO表系统:模块:被调用:调用:输入:输出:处理:会员注册,注销,充值等处理连锁干洗店会员干洗店会员添加,删除,修改会员修改信息会员信息7.客户信息查询IPO表如表3-7所示表3-7客户信息查询IPO表系统:模块:被调用:调用:输入:输出:处理:对各种要查询的问题进行处理连锁干洗店客户信息查询干洗店会员查询,员工查询,订单查询查询条件查询信息8.统计IPO表如表3-8所示表3-8统计IPO表系统:模块:被调用:调用:输入:输出:处理:对各种信息进行统计计算连锁干洗店统计干洗店统计条件统计信息9.会员IPO表如表3-9所示表3-9会员IPO表系统:模块:被调用:调用:输入:输出:处理:会员对自己的信息进行查询连锁干洗店会员会员会员信息查询查询条件查询结果3.6.2数据库概念结构设计描述概念模型的常用工具就是实体——联系方法(Entity—Relationship Approach) 即E-R模型为了看起来简单明了,层次清晰,作者将对象实例属性图,与实例——关系图分开来描述。
其中,对象实例关系如图3-18所示,本图中没有给出各实体的属性,具体属性可以参照前面得数据字典工作人员会员订单权限分店新闻洗衣品交易单管理拥有查看拥有拥有/管理管理管理发布管理设置衣物设置图3-6 连锁干洗店系统对象——关系图3.6.3数据库物理结构设计物理结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构本系统选用的DBMS产品是SQLSERVER,关于数据库表结构设计如下所示表3-10 员工信息单据单据名称员工信息单据用途存放员工的基本资料使用人员总店管理员,分店管理员制作人员总店管理员,分店管理员各数据项的详细说明如表3-11所示: 员工信息单据详细说明表3-11属性中文名属性英文名属性类型、长度、精度属性的值域员工编号EmployeeIDChar(10)0~9数字串姓名NameChar(10)中文或英文性别Sex。