1、范本工程实践医药零售电子商务进销存系统设计与实施96资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。北京航空航天大学软件学院工程实践结题报告课题名称: 医药零售电子商务进销存系统设计与实施姓 名: 朱凌涛、 成功、 李茜、 许德笙、 宋学磊组 别: 第十五组学 号: 朱凌涛GS1121211成 功GS1121268李 茜GS1121222许德笙GS1121208宋学磊GS1121384专业方向: IT项目管理与产业信息化所属院系: 北京航空航天大学软件学院 指导老师: 谷卫平实践起止时间: 6月 至 2月摘 要随着互联网电子商务业务的迅猛发展, 以及国内医药电子商务政策的不断开放,
2、 传统医药行业已不断介入到电子商务领域, 传统医药零售迎来了客户快速发展的时期, 在网上交易的客户快速增加的情况下, 传统企业的运营模式以无法支撑客户的爆炸式增长, 特别是在网站后端的进销存环节出现了严重滞后, 账目混乱, 库存不准, 信息反馈不及时等问题接踵而至。这些问题成为制约企业转型发展的瓶颈, 严重制约了传统医药零售企业向电子商务领域转型的发展壮大。如何借助IT手段、 如何经过信息化, 加强核心竞争力, 实现持续发展已成为企业亟待解决的关键问题。因此, 医药零售进销存系统在药品企业的管理中有着广泛的应用前景。本文经过研究分析医药零售进销存系统所存在的问题, 综合国内外医药零售进销存管理
3、的先进经验与不足之处, 基于”进货、 销售、 库存、 退货、 盘点、 结算”等主要业务的需求, 在”灵活性、 扩展性、 实用性、 及时性”等方便进行了全面研究。一方面, 研究了系统从平台选择、 结构搭建、 关联关系等方面, 为企业制定了一套切实可行的解决方案; 另一方面, 在需求分析、 流程整合、 系统设计等方面做了许多有益的尝试与改进, 建立了一套全面易用的业务信息管理系统。该系统打通了”基础信息运作、 门店零售业务、 电商网站销售”之间的壁垒, 建立了完整的信息共享机制, 让”门店店员、 网站运营、 采购人员、 仓储人员、 结算人员”之间建立起有效的沟通, 提高了企业管理效率, 保证了业务
4、运作的工作规范性、 透明性和时效性。关键词: 医药, 零售, 网店, 运营管理, 进销存目 录第一章 绪论11.1 课题背景及意义11.2 国内外现状及对比分析11.3 目标及研究内容31.3.1 论文目标31.3.2 论文研究内容31.4 系统的创新性4第二章 需求分析52.1 总体需求52.2 业务流程梳理及优化62.3 功能性需求102.4 非功能性需求142.4.1 性能指标152.4.2 安全性152.4.3 稳定性152.4.4 可维护性152.4.5 可扩展性152.4.6 易用性162.4.7 规范性16第三章 系统总体设计173.1 系统技术架构173.2 系统功能架构203
5、.2.1 供应商管理203.2.2 商品信息管理203.2.3 商品进货管理213.2.4 商品退货管理213.2.5 商品价格管理213.2.6 商品销售管理213.2.7 商品盘点管理223.3 系统网络拓扑图23第四章 系统详细设计254.1 功能模块详细设计254.1.1 供应商管理254.1.2 商品信息管理274.1.3 采购计划管理304.2 数据库的设计目标334.3 数据库的设计原则334.4 数据库的逻辑设计354.4.1 数据字典分析354.4.2 整体E-R图354.5 数据库的物理设计374.5.1 采购计划表374.5.2 验收单表374.5.3 入库单表384.5
6、.4 配送单表384.5.5 销售退回单表394.5.6 退货申请单表394.5.7退货调整单404.5.8 退货调整单表404.5.9 地区汇总表414.5.10 仓库汇总表424.5.11商品信息表434.5.12 供应商表454.6 系统权限设计464.7 系统安全性设计48第五章 系统测试505.1测试概述505.2测试目的505.3测试方法、 工具及测试环境515.3.1测试方法515.3.2测试工具515.3.3测试环境525.4典型的测试用例及测试结果535.5系统性能测试545.6测试结果分析555.7小结56第六章 系统实施576.1 系统实施组织576.2 实施进度计划57
7、6.3 系统实施准备576.3.1 接口准备576.3.2 运行环境准备586.3.3 数据准备596.4 系统界面展示596.5 系统评估606.6 小结61总结与展望62参考文献64第一章 绪论1.1 课题背景及意义随着现代科学技术的迅猛发展, 计算机技术已渗透到各个领域, 成为各行业必不可少的工具, 特别是Internet技术的推广和信息高速公路的建立, 使IT产业在市场竞争中越发显示出其独特的优势, 步入数字化时代, 有巨大的数据信息等待着加工处理和传输, 这使得对数据库的进一步开发和利用显得尤为迫切。进销存系统作为一种企业管理软件能够帮助企业快速有效地管理企业货物的流动,提高企业管理
8、水平和工作效率, 同时也能够减少手工操作带来的失误。当前国内医药电子商务政策的不断开放, 传统医药行业对电子商务的不断介入, 将会大大加快企业的发展, 在客户快速增加的情况下, 企业账目混乱, 库存不准, 信息反馈不及时等问题也接踵而至。这些问题会成为制约企业发展的瓶颈, 严重制约了企业的发展壮大。谁利用信息资源的效率越高, 谁就会在各方面的竞争中占有一席之地, 谁就会有更多的优势。中国医药企业经营涉及进、 销、 存多个环节, 涉及商品种类繁多, 业务量大, 库存管理复杂, 使用手工管理已无法胜任。如何借助IT手段、 如何经过信息化, 加强核心竞争力, 实现持续发展已成为企业亟待解决的关键问题
9、。因此, 医药零售进销存系统在药品企业的管理中有着广泛的应用前景。医药零售进销存系统将是电子商务医药企业经营管理中的重要环节, 是一个企业能够取得效益的关键; 如果能够做到合理进货, 及时销售, 库存量最小的同时又不至于缺货; 大大降低运作成本与风险, 加快实施的效率, 增加投资的回报, 为企业决策提供数据, 确保企业在庞大的组织范围内健康的运行, 那么企业就能获得最好的效益。1.2 国内外现状及对比分析随着互联网的迅猛发展, 为医药电子商务的发展提供了无限商机。医药电子商务作为一种现代商品流通模式, 集信息化、 自动化、 标准化为一体, 极大地提高了现代商品流通效率, 同时, 也大大减少了药
10、品流通领域中的流通层次和交易环节, 以降低药品流通成本和流通费用, 从而降低了药品价格, 对医药行业具有重大意义。当前, 中国医药电子商务发展还很缓慢, 借鉴发达国家的成功经验对中国医药行业具有重大现实意义。国内外医药行业电商发展现状, 对比数据如下: 欧盟: 药剂师协会下属的药店, 90%以上都开展了网上药品预订业务。北美: 网上OTC药品销售占销售总额的30%以上。美国医药流通的90%以上由电子信息实现。法国: 84.7%的药品经过药店销售, 15.3%的药品由厂家直接销售给医院。中国: 整个医药零售市场约1800亿, 网上药店销售额4亿左右, 占零售市场的0.2%左右1。中国医药电子商务
11、发展的现状: 中国医药电子商务的发展大致经历了以下三个阶段, 第一阶段从1996年开始, 中国药品电子商务的起步和探索阶段。河南省率先运用电子商务改造传统药品流通行业, 并初步探索了药品电子商务的政策框架、 商业模式和技术方案, 提供了初步的经验。第二阶段从 开始, 中国药品电子商务的试点和规范阶段。第三阶段始于”十一五”初期, 中国药品电子商务的全面发展和推广应用阶段。可是, 以上三个阶段仅是对政策与模式的探索, 至今还未出现一款为医药电子商务而开发的进销存系统。历年发放医药B2C牌照数量, 数据如下: : 1个 : 2个 : 1个 : 6个 : 8个 : 15个 : 16个1国外医药电子商
12、务发展的现状( 以美国为例) : 美国是最早在医药商业领域广泛采用计算机技术的国家, 它在上世纪90年代完成了普及。在此期间, 各大医药批发公司投入巨资构建了独立的计算机局域网和广域网, 把分布全国的客户经过计算机连接起来。大大提高了业务处理能力和处理效率; 在完整意义上, 美国的医药电子商务是伴随着互联网的兴起而发展起来的。当前, 各医药经营企业发现了多种有效的电子商务开展方式, 实现了制药企业、 批发企业、 零售终端的广泛数据有效的交换和信息整合; 现阶段适用于不同”企业类型、 商务模式”的医药电子商务进销存系统已经成为”医药电子商务”发展不可或缺的软件。国外医药电子商务发展对中国的启示:
13、 中国医药电子商务得到了迅速的发展, 但依然存在一些问题, 由于医药产业信息化发展水平低且参差不齐, 真正意义的医药电子商务是集物流、 信息流和资金流为一体的药品流通模式, 这要求参与电子商务的企业具有较高的信息化水平, 才能保证不同的医药电子商务主体建立直接、 有效和电子化的沟通。由于中国医药行业信息建设时间较短, 当前国内很多医药企业只是部分实现了信息化, 企业内部难以实现计算机的统一管理。可是, 医药电子商务的主体是企业, 企业信息化的程度必将影响医药电子商务的发展。中国必须采取措施, 促进企业利用网络参与竞争来开拓市场。同时, 应努力推进医院和医药零售业的信息化进程, 使电子商务的前台
14、处理与企业、 医院的后台信息处理相结合, 真正实现交易的及时化和自动化。1.3 目标及研究内容1.3.1 论文目标1针对当前医药电子商务企业现状进行市场调研, 充分考虑整个应用的灵活性和可扩展性原则要求, 经过合理的模块划分, 实现系统在业务变更或软件技术发展时的灵活性适应能力; 2覆盖整个企业的物流, 资金流和信息流的全过程, 对业务流程的全过程跟踪, 及时便捷的统计查询, 友好的程序界面方便用户操作, 实现”物流、 资金流、 信息流、 业务流”的动态监控与管理; 3解决以往进销存信息管理系统功能不完善、 不稳定、 远程通信能力差以及企业进、 销、 存信息脱节等问题; 集合多种管理一体化,
15、致力于帮助企业快速有效的管理”进货、 销售、 库存、 退货、 盘点、 应收/应付资金”等各项业务, 旨在为企业建立起一个”简捷、 高效”的实时运营管理平台; 4为企业大大降低运作成本与风险, 加快实施的效率, 增加投资的回报, 还会为企业决策提供数据与速度, 确保企业在庞大的组织范围内健康的运行。1.3.2 论文研究内容1经过对医药电子商务企业现状进行市场调查, 研究了物资产品经营过程中进、 销、 存等重要环节, 对系统进行规划, 分析了系统将要实现的基本信息管理、 商品到货入库管理、 商品销售管理、 库存管理等、 报表打印功能, 绘制各种图例, 确定其基本结构及实现策略。2采用了模块结构化设
16、计方法, 自顶向下, 逐层分解, 画图后进行数据库的设计。研究了公司销售、 库存、 供应商、 客户的数据, 根据数据之间的联系, 建立数据库的输入、 输出、 管理等模式。3分析制药企业、 批发企业、 零售终端的广泛数据有效的交换方式及存在问题, 思考长远发展的优化方向; 研究医院和医药零售业的信息化的模式, 使电子商务的前台处理与企业、 医院的后台信息处理相结合, 真正实现交易的及时化和自动化。1.4 系统的创新性经过对医药行业实体零售进销存系统分析, 总结以下几个创新点: 1实体零售进销存系统的操作易用性、 设置灵活性和功能扩展性较弱, 本系统充分考虑整个应用的灵活性和可扩展性原则要求, 经
17、过合理的模块划分, 实现系统在业务变更或软件技术发展时的灵活性适应能力。2实体零售进销存系统对物流、 资金流和信息流的全过程跟踪及统计存在断点, 本系统将实现”物流、 资金流、 信息流、 业务流”的动态监控与管理; 集合多种管理一体化, 帮助企业快速有效的管理”进货、 销售、 库存、 退货、 盘点、 应收/应付资金”等各项业务, 为企业建立起一个”简捷、 高效”的实时运营管理平台。3实体零售进销存系统仅支持”基础信息运作、 门店零售业务”的结合, 将”电子商务网站”的销售业务排除在外; 本系统将实现”基础信息运作、 门店零售业务、 网站销售业务”的良好结合, 为企业建立起一个”全面、 协同”的
18、集合运营管理平台。第二章 需求分析2.1 总体需求本系统是某实体连锁药房的网上药店打造的后台进销存系统, 该网上药店致力于建立”中国健康商品第一服务平台”, 为消费者提供优质、 价廉、 物美、 诚信的健康类商品。经营的品种主要涉及”营养保健品、 母婴用品、 护理美容品、 成人用品、 医疗器械、 药膳礼品”等。千余家供应商,数万个品牌, 品种繁多。开展”医药零售电子商务”业务的企业或公司, 都需要”医药零售电子商务网站”与”医药零售电子商务进销存”两个系统的支撑。医药零售电子商务网站系统是对客户展示医药商品信息并提供网上购物的功能系统; 医药零售电子商务进销存系统是为了配合”医药零售电子商务网站
19、”业务而建设的系统, 对网站销售药品的实体仓库与门店”进货、 销售、 存储”等进行管理的应用系统; ”医药零售电子商务网站”与”医药零售电子商务进销存”将进行对接, 完成药品数据的实时传输与处理, 以保证”医药零售电子商务”业务的顺利实施与执行。医药零售电子商务进销存系统要想符合行业要求, 前期的需求分析在系统开发过程中有非常重要的地位, 它的好坏直接关系到系统开发成本、 系统开发周期及系统质量。它是系统设计的第一步, 是整个系统成开发成功的基础。详细周全的需求分析, 能够减少系统开发中的错误, 又可降低修复错误的费用, 从而大大减少系统开发成本, 缩短系统开发周期。需求分析的结果是系统开发的
20、基础, 关系到系统的成败和软件产品的质量。首先, 此系统需要实现商品”进货、 销售、 存储、 退货、 配货、 盘点”等基础流程与功能; 以保证对”实体仓库或门店”商品库存的管理、 与”医药零售电子商务系统”的紧密配合。其次, 此系统还需实现”商品信息的登记、 供货渠道的登记、 商品库存异常纠正、 商品零售价格设置与维护、 商品有效期报警监控、 商品在仓库或门店摆放货位参数设置与维护”等功能; 这些都是此系统的辅助功能, 能更好的提升”医药零售电子商务进销存”系统的易用性、 适应商品错综复杂的异常业务情况的解决与监管。最后, 实现此系统与”医药零售电子商务网站”的良好结合, 才能达到一个”全面、
21、 协同”的运营管理平台标准, 才能实现”操作易用性、 设置灵活性和功能扩展性”的充分保证。医药零售电子商务进销存系统的业务模式: 实现对商品”进货、 存储、 退货、 盘点”的管理; 将商品库存数据传输给”医药零售电子商务网站”, 由其完成商品基础信息及库存的展示, 在客户网上购物后将购买商品信息传输给本系统; 本系统根据”医药零售电子商务网站”传输的购买商品信息进行配货处理, 并将处理结果反馈给”医药零售电子商务网站”系统, 由其完成后续的网站售后服务工作。2.2 业务流程梳理及优化经过医药行业实体零售进销存系统的市场调研, 对本系统的业务流程进行了梳理及优化, 具体如下: 1本系统的商品”进
22、货”业务流程图1 商品”进货”业务流程图商品”进货”业务流程描述: 将供货渠道、 商品信息维护到系统; 采购人员制定采购计划, 向供货渠道采购商品; 质检人员在商品到达仓库后, 进行质量核验; 仓储人员在质检核验经过后, 进行商品入库及摆放。2本系统的商品”退货”业务流程图2 商品”退货”业务流程图商品”退货”业务流程描述: 将供货渠道、 商品信息维护到系统; 业务人员提交退货申请; 采购人员与供货渠道核准退货信息; 仓储人员根据采购人员核准退货信息进行商品下架、 打包、 配送操作。3本系统的商品”销售”业务流程图3 网站零售商品业务流程图图4 门店零售商品业务流程图商品”销售”业务流程描述:
23、 涉及”网站销售、 门店销售”两个流程。网站销售流程: 客户在网站购买下单后; 网站会生成一个销售订单; 同时, 会生成一个商品配送单据; 仓储根据订单商品进行商品打包、 快递操作。门店销售流程: 仓库人员将商品配送到门店展示; 客户在门店购买付款; 门店会生成一个零售订单。4本系统的商品”盘点”业务流程图5 商品”盘点”业务流程图商品”盘点”业务流程描述: 仓储人员进行盘点工作登记, 设定盘点时间周期; 系统自动获取系统库存数据; 仓储人员登记盘点的实际库存数据; 系统自动将系统库存数据与盘点库存数据进行对比, 筛选不一致库存数据; 财务人员核查不一致库存数据, 进行报损或报溢操作。2.3
24、功能性需求经过医药行业实体零售进销存系统的市场调研, 以及对本系统的业务流程进行了梳理及优化, 分析了以下功能需求: 1对商品信息与售价的维护功能: 第一步, 将商品详细信息在系统中进行登记, 便于采购人员制定采购计划中选定, 使网站能够详细、 清楚的展示商品信息; 数据涉及”便于采购计划选定的商品名称、 规格、 单位、 生产企业”等信息, 还涉及”便于网站信息展示的化学名称、 商品分类、 批准文号、 储存条件、 功能疗效、 说明书、 重量”等信息; 需要具备”添加、 修改、 查看”等功能。第二步, 分别对”网站售价、 门店售价”进行维护, 为客户在”网站、 门店”购买环节不可缺少的数据; 数
25、据涉及”市场价、 限制零售价、 零售价、 会员价、 贵宾价”等信息, 需要具备”修改、 查看”等功能。图6 商品信息与售价维护的用例图2对商品入库的功能: 包括”采购计划、 货物质检、 验收入库”三大部分。第一步, 将采购人员与供货渠道确定的采购数据在系统中进行登记, 便于商品到货后, 质检人员进行核验与处理; 数据涉及”供货渠道信息、 采购商品信息、 商品最近入库进价、 本次采购计划进价/数量”等信息, 需要具备”添加、 修改、 查看”等功能。第二步, 根据采购数据对实际到货商品进行质量与数量核验, 在系统中进行登记, 便于商品质检完毕后, 仓储人员进行入库与摆放操作; 数据涉及”采购计划信
26、息、 验收商品进价/数量、 验收商品批号/有效期”等信息, 需要具备”登记、 查看”等功能。第三步, 根据质检验收数据对实际入库商品进行质量与数量确认, 在系统中进行登记, 便于商品库存的更新存储操作; 数据涉及”验收单据信息、 入库商品进价/数量、 入库商品批号/有效期、 商品预期货位号”等信息, 需要具备”登记、 查看”等功能。入库登记生效以后, 系统根据入库数据自动完成商品库存的变更存储。图7 商品入库的用例图3对商品退货的功能: 包括”计划申请、 计划核准、 质检出库”三大部分。第一步, 业务人员根据商品有效期与积压情况, 对商品提出退货申请, 便于对库存资金的合理控制; 数据涉及”供
27、货渠道信息、 商品基础信息、 商品库存信息、 预期退货数量”等信息, 需要具备”添加、 修改、 查看”等功能。第二步, 采购人员根据商品退货申请数据与供货渠道进行洽谈与确认, 将最终能够退货数据登记到系统, 便于仓库人员对商品进行下架、 打包、 配送操作; 数据涉及”供货渠道信息、 商品基础信息、 商品库存信息、 核准退货数量、 核准退货价格”等信息, 需要具备”查看、 修改”等功能。第三步, 仓储人员根据商品核准退货数据进行商品下架、 打包、 配送操作; 数据涉及”供货渠道信息、 商品基础信息、 商品库存信息、 核准退货数量、 核准退货价格、 实际退货数量”等信息, 需要具备”查看、 生效”
28、等功能。图8 商品退货的用例图4对客户网站购买信息的记录功能: 第一步, 客户在网站购买商品后, 系统自动生成一个购买订单, 记录客户的购买信息, 便于后续的售后服务工作延续; 数据涉及”客户联系方式、 客户收货地址、 客户付款信息、 客户收货方式、 客户购买商品、 客户优惠数据”等信息, 需要具备”查看、 修改、 删除、 状态跳转”等功能。第二步, 客户网站购买订单生成后, 系统自动生成一个精确到商品批号的配送单, 同时更新商品库存数据并保证准确性; 数据涉及”商品配送单位、 商品基础信息、 商品入库信息、 商品配送数量、 商品配送进价”等信息, 需要具备”查看、 删除、 修改、 生效、 状
29、态跳转”等功能。5对门店销售商品的零售管理功能: 第一步, 仓储人员根据门店零售需求, 将商品提前配送到门店进行展示, 便于吸引客户购买, 配送的商品信息在此进行登记; 数据涉及”商品配送单位、 商品接收单位、 商品基础信息、 商品库存信息、 商品配货数量、 商品配货价格、 商品接收货位”等信息; 需要具备”添加、 修改、 删除、 查看、 生效、 验收、 状态跳转”等功能。第二步, 客户在门店购买商品后, 系统自动生成一个购买订单, 记录客户的购买信息, 便于后续的售后服务工作延续; 数据涉及”客户联系方式、 客户付款信息、 客户购买商品、 客户优惠数据”等信息, 需要具备”查看、 修改、 删
30、除、 添加”等功能。6对商品盘点的功能: 第一步, 仓储人员在进行盘点前, 在系统登记盘点需求, 明确盘点开始时间以获取系统库存数据, 便于与盘点的库存数据进行对比分析; 数据涉及”盘点范围、 盘点方式、 盘点周期”等信息, 需要具备”添加、 修改、 删除、 查看、 授权”等功能。第二步, 仓储人员在盘点开始后, 经过手持设备对实际商品库存数据进行登记, 便于与系统库存数据进行对比分析; 数据涉及”商品基础信息、 商品库存数量、 商品货位编码、 商品损坏数量”等信息; 需要具备”添加、 修改、 查看、 删除”等功能。第三步, 系统自动系统与盘点库存数据不一致的信息进行报警提示, 以保证系统商品
31、库存数据与实际商品库存数据的一致性; 数据涉及”商品基础信息、 系统商品库存数量、 盘点商品库存数据、 商品货位编码、 商品损坏数量、 商品库存差异数量”等信息; 需要具备”查看、 处理”等功能。第四步, 财务人员根据库存差异数据进行核准, 对出现的库存差异进行损溢登记, 以实现系统商品库存数据与实际商品库存数据的一致性; 数据涉及”商品基础信息、 商品库存信息、 损溢类型、 损溢数量”等信息; 需要具备”添加、 修改、 查看、 删除、 审核”等功能。7对商品进行停止采购的功能: 当商品出现积压, 或者与供货渠道出现分歧时, 对商品进行停止采购操作, 禁止采购人员继续购进此商品; 数据涉及”商
32、品基础信息、 商品库存信息”等信息; 需要具备”添加、 修改、 删除、 查看、 审核”等功能。8对商品进行停止销售的功能: 当商品出现质量问题需要厂家召回, 或者运营决定不再销售此商品时, 对商品进行停止销售操作, 禁止”网站、 门店”在继续销售此商品; 数据涉及”商品基础信息、 商品库存信息”等信息; 需要具备”添加、 修改、 删除、 查看、 审核”等功能。9对供货渠道的管理功能: 将商品供货渠道在系统中进行登记, 便于采购人员制定采购计划中选定; 数据涉及”供货渠道名称、 地址、 联系人、 营业执照、 药品资质”等信息; 需要具备”添加、 删除、 修改、 查看、 审核”等功能。10对在库商
33、品的有效期监控报警功能: 根据”企业运营、 供货渠道”的要求, 对商品有效期报警参数进行设置, 便于及时发现达到有效期警戒线的商品, 及时进行供货渠道退货、 运营清仓等工作; 数据涉及”商品信息、 报警类型( 按供货渠道、 按企业运营) 、 报警范围( 单一供货渠道、 全部供货渠道) 、 初-中-高报警天数”等信息, 需要具备”添加、 修改、 查看”报警参数的功能, 需要具备”查看、 处理”报警商品的功能。2.4 非功能性需求医药零售电子商务进销存系统满足用户业务需求而必须具有且除功能需求以外的特性。非功能性需求包括系统的性能、 可靠性、 可维护性、 可扩充性和对技术和对业务的适应性等等。2.
34、4.1 性能指标性能需求部分, 主要有两个方面的指标要求, 即响应时间要求和并发能力要求。并发性: 因本系统主要是内部运营人员使用, 因此在访问指标上要求能够满足千兆以太网环境中, 可支持系统用户数1万人, 日活跃用户数1千人, 平均在线使用时间以2小时为基准, 平均并发用户数为80人。响应时间: 此用例以多用户并发查询为主, 以平均并发用户数80人为例, 并发查询的平均响应时间不能超过3秒, 考虑到峰值的浪涌情况, 峰值并发人数为100人时, 并发查询的平均响应时间不能超过4秒。2.4.2 安全性业务安全性方面, 保证系统不会由于自身的故障或失效导致应用系统的其它成份相继失效甚至崩溃的特性。
35、数据安全性方面, 防止外界或内部用户的非法或恶意访问本系统。即系统本身应有完善的权限管理功能, 经过对权限的配置管理, 可实现对于不同操作角色的访问控制, 同时在关键业务数据的更新与删除操作上, 应具备操作审核功能以及操作日志。便于追踪数据操作轨迹, 保证数据层面的安全。2.4.3 稳定性本系统的运行要为7*24小时的不间断自动运行, 即除必要的少量配置文件的修改之外, 日常的业务均由系统自动运行、 勿需人工干预。运行操作人员仅在系统报警提示的情况下, 进行非正常情况下的人工干预或通知技术人员进行故障维修。2.4.4 可维护性系统一旦投入运行就不能间断。除了要求系统具有良好的维护性外, 还应当
36、拥有离线的维护环境以便在不影响正常业务的情况下进行软件的维护工作。2.4.5 可扩展性随着业务的不断发展, 新的系统也将不断建设, 因此, 本项目应具有较好的可扩展性, 为应用系统的进一步扩充和升级提供方便。系统应适应业务部门的需求变更及扩展, 多采用配置方法功能调整, 而不需要对程序做大的修改。系统应能适应后续应用的添加, 系统整体框架保持稳定, 不需要做大量的程序修改。随着用户数的增长及功能应用的增长, 软件系统经过硬件性能的调整而保持相正确稳定性。2.4.6 易用性为便于操作人员的人工干预, 有关系统配置、 运行参数、 节目表的修改等, 应提供直观、 方便的修改界面, 系统可按照配置的参
37、数自动运行, 减少操作人员的劳动强度。2.4.7 规范性本系统的设计需要采用标准的通信、 网络等协议, 严格遵循软件工程规范化的设计原则, 不同的设计阶段进行严格的设计评审及完成相应的设计文档等, 对整个设计过程进行规范化的管理和控制。收集与分发的所有资料应具有规范的文件命名和数据格式。第三章 系统总体设计3.1 系统技术架构进销存是一个功能复杂, 系统庞大的系统, 在进销存系统里管理着多个操作用户和多年商业信息的数据。因此技术架构时必须重点考虑整个系统的跨平台、 安全性、 稳定性、 实用性及可伸缩性, 同时技术架构应该有非常好的可扩展能力, 采用模块化、 构件化以及面向对象的设计方法, 并符
38、合整个项目的建设原则和技术要求。结构选型恰当与否, 直接关系到系统的成败。在结构选型中主要考虑先进性和实用性并重原则、 标准化和规范化原则、 开放性和兼容性原则、 松耦合和粗粒度集成原则、 可扩展性和可维护性原则、 可扩展性和可维护性原则。基于以上原则, 并结合当前业内的成功案例, 本系统技术体系上选用J2EE技术, 采用B/S/D三层结构进行应用系统的开发。开发采用Srping+webwork2+ibatis+Freemarker+MySQL该系统的技术架构划分三个层次: 展示层/业务逻辑层/数据访问层。图9 系统技术架构图展现层英文是Presentation Layer, 是实现显示功能的
39、, 在进销存系统里就是展示给用户的UI部分, 使用户直接操作的界面, 用户经过展示层获取信息, 并对信息进行管理。系统经过展示层也能获取用户的行为信息。这部分一般使用B/S结构来完成, 当然你也能够使用专门远程客户端来实现;业务逻辑层因为是由大量组件(Components)组成的, 也可称为组件层, 组件从不同角度又可分为各种类型, 然后又有不同的流派, 当前占主要位置的是Model+Service, 模型加服务, 因此这一层又称为业务服务层Business Service; 也有称为Model业务层; 持久层是负责对象持久化也就是数据库操作的层次,英文Persistence Layer, 主
40、要负责把用户的操作数据, 经过分析整理转化成数据库语言, 最终存储到数据库里, 在用户需要使用的时候再读取使用, 例如: 用户增加一个供应商信息, 用户在系统里, 填入供应商的名称, 供应商地址, 供应商营业执照, 联系人, 开户银行等信息, 在持久层把这些信息存储导数据库中的相应的供应商表里。展现层框架在进销存系统中用户操作比较频繁, 访问量也会比较大, 因此选择一个效率高、 速度快的展示层是很重要, 能够给用户带来良好的用户体验。用户在使用系统时, 就是在和展示层进行交互, 用户的使用体验全部来自展示层, 展示层的选择最终影响到用户的体验。因此进过调研测试最终选择了FreeMarker,
41、FreeMarker是一个用Java语言编写的模板引擎, 它基于模板来生成文本输出。FreeMarker与Web容器无关, 即在Web运行时, 它并不知道Servlet或HTTP。它不但能够用作表现层的实现技术, 而且还能够用于生成XML, JSP或Java 等。FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离, 这是经过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的, 编译器速度快, 输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力, 但一般由Java程序准备要显示的数据, 由F
42、reeMarker生成页面, 经过模板显示准备的数据。FreeMarker与容器无关, 因为它并不知道HTTP或Servlet; FreeMarker同样能够应用于非Web应用程序环境, FreeMarker更适合作为Model2框架( 如Struts) 的视图组件, 能够在模板中使用JSP标记库, FreeMarker是免费的。业务逻辑层框架进销存系统是一个复杂而庞大的系统, 里面包含非常多而复杂的业务逻辑, 例如一个供应商的操作就包括, 供应商增加, 供应商修改, 供应商3级审核, 供应商标志等, 而且以上每一个操作又对应相应的一系列相关操作, 因此为了能尽量降低开发成本和开发过程中的复杂
43、度, 就必须选择一个功能强大, 使用方便, 学习成本低的框架去实现逻辑层, 在经过业内调研和内部的讨论后, webwork非常适合我们的进销存系统的开发, 具体分析如下: 1.因为webwork简洁、 灵活功能强大, 它是一个标准的Command模式框架实现, 而且完全从web层脱离出来。2.Xwork提供了很多核心功能: 前端拦截机( interceptor) , 运行时表单属性验证, 类型转换, 强大的表示式语言( OGNL the Object Graph Notation Language) , IoC( Inversion of Control依赖倒转控制) 容器等。WebWork建
44、立在Xwork之上, 处理HTTP的请求和响应。所有的请求都会被它的前端控制器( ServletDispatcher, 最新版本是FilterDispatcher) 截获。前端控制器对请求的数据进行包装, 初始化上下文数据, 根据配置文件查找请求URL对应的Action类, 执行Action, 将执行结果转发到相应的展现页面。3. WebWork2支持多视图表示, 视图部分能够使用JSP, Velocity, FreeMarker, JasperReports, XML等。 数据访问层框架持久层框架当前有Hibernate和各种JDO产品, 当然还有直接写SQL语句的JDBC。因为进销存系统本
45、身的复杂程度, 就决定持久层的复杂性, 只有选择一个功能强大, 使用方便、 透明的框架才能给开发人员带来方便, 无论在开发过程和调试过程使用一个能对SQL透明的的框架是非常有好处的! 我们选择iBatis, 因为Ibatis的灵活性和透明度的的综合性要比hibernate和其它的JDO产品要好。持久层框架质量好与坏区分就是是否是O/R Mapping, 也就是对象和关系数据库映射, 关系数据库需要实现定义好Schema结构; 对象因为字段而变的也有一个自己的结构, 如何将对象数据自动持久化到数据库中, 首先我们得定义两者结构的对应, 这实际是数据的元数据定义。因为Hiberante/iBati
46、s这样O/R Mapping工具帮助你实现对象和数据库转换, 克服了对象和数据库阻抗现象, O/R Mapping总结 , 因此才使得我们更多的能够对象方式( 从模型Model对象) 来考虑Java EE/J2EE系统, 能够完全放弃以前那种以数据库为中心的思维方式。因此, 是否选用好的持久层框架, 取决于你整个团队思维是否彻底OO了, 是否需要真正OO, 当然, 对于一些小型项目, 有时我们觉得直接使用JDBC模板反而更加轻松快捷一点, 这也是Spring的JDBC模板/iBatis的Jdbc模板存在的理由了。从以上能够看出, 灵活性/快速性/简单性/可伸缩性是我们进行架构选择的主要几个依据
47、, 架构选择实际就是在这几个策略之间做一个平衡。当然, 还有一个非常重要的因素, 因为它不属于某个层次的技术, 性能/缓存是必须和上面因素综合考虑的因素。3.2 系统功能架构根据对进销存系统目标和业务流程的分析, 确定了本系统的七大模块: 供应商管理、 商品信息管理、 商品进货管理、 商品退货管理、 商品价格管理、 商品销售管理、 商品盘点管理。图10 系统功能架构图3.2.1 供应商管理供应商管理: 是系统运作的基础, 要实现对供应商信息的动态管理; 供应商信息要先于其它信息录入系统, 才能保证正常运行。包括: 供应商维护、 供应商标志、 结算方式维护三个模块; 供应商维护是对供货渠道基础信息进行登记与动态管理, 供应商标志是根据供货渠道对企业的重要程度进行分类, 结算方式是将供货渠道存在的各种结算模式进行登记, 便于本系统财务资金核算。3