医药销售管理系统软件说明书样本.docx
《医药销售管理系统软件说明书样本.docx》由会员分享,可在线阅读,更多相关《医药销售管理系统软件说明书样本.docx(36页珍藏版)》请在冰豆网上搜索。
医药销售管理系统软件说明书样本
医药销售管理系统
1系统分析
随着计计算机技术不断发展,应用软件迅速普及,大到厂矿校企,小到图书、餐饮、医药管理等,随处都可看到它身影。
在以往依托人工为主医药销售管理方面,计算机和计算机系统逐渐唱起了主角,凭借省时、省力、低误差等长处,从主线上变化了医药管理老式模式,节约了物理资源,提高了工作效率。
1.1开发背景
XX医药抄手坐落于XX社区内,近年来本着经济、实惠、高质量服务宗旨,赢得了社区百姓信赖,药物供应量非常大。
面对庞大信息量,经常浮现记录失误、药量供应局限性状况,医药超市经理决定使用一套合理、有效、使用管理系统,对医药超市进行统一管理。
笔者受医药超市经理委托,开发一种医药销售管理系统,其宗旨是实现医药超市管理系统化、规范化、实用化,对药物进行统一管理。
1.2需求分析
在寻常医药管理中,面对众多药物和众多不同需求顾客,每天都会产生大量数据信息。
以老式手工方式来解决这些信息,操作比较繁琐,且效率低下。
此时,一套合理、有效、实用医药销售管理系统就显得十分必要。
运用其提供药物查询、记录功能,可以进行高效管理,更好地为顾客服务。
笔者通过对医药超市实地考察,从经营者和消费者角度出发,以高效管理、迅速满足消费者为原则,规定本系统具备如下特点。
★具备良好系统性能、和谐顾客界面。
★较高解决效率,便于顾客使用。
★采用成熟技术开发,全系统具备较高技术水平和较长生命周期。
★对销售信息进行记录排行
★尽量地简化药物管理员重复工作,提高工作效率。
2系统设计
2.1系统目的
依照医药超市管理规定,指定医药销售管理系统目的如下。
★灵活人机交互界面,操作简朴以便、界面简洁美观。
★系统提供中、英文语言,实现国际化
★药物分类管理,并提供类别记录功能。
★实现各种查询,如多条件查询、模糊查询等。
★提供创立管理员账户及修改口令功能。
★可对系统销售信息进行记录分析。
★系统运营稳定、安全可靠。
2.2系统功能构造
医药销售管理系统提供了四大功能,分别为“基本信息管理”、“进货/需求管理”、“药物管理”、“系统管理”,详细构造如图1.1所示
图1.1医药销售管理系统功能构造图
2.3系统流程图
医药销售管理系统流程如图1.2所示。
管理员登录
图1.2医药销售管理系统流程图
3软件架构
在开发项当前,一方面要对软件构造进行设计,也称之为软件架构。
此过程是对软件整体构造设计,如软件逻辑分层构造、构造实现、数据库等,特别是在Java大型项目中,还需要设计出程序中包构造及接口等,非常复杂,需要程序员进行全面考虑。
对于医药销售管理系统整体涉及如下:
3.1逻辑分层构造设计
医药销售管理系统由4层构造构成,并遵循MVC构造进行设计。
4层构造分别为表达层、业务逻辑层、持久层与数据库层,如图1.3所示。
图1.3逻辑分层
其中,表达层与业务逻辑层均由Struts框架构成,表达层用于提供程序与顾客交互界面,项目中重要通过JSP、ActionForm及Struts标签库进行呈现;业务逻辑层用于解决程序中各种业务逻辑,项目中通过Struts框架中央控制器及Action对象对业务祈求进行解决;持久层由Hibernate框架构成,负责应用程序与关系型数据库之间操作;数据库层为应用程序所使用数据库,本实例中为MySQL数据库。
对于4层构造详细实现如图1.4所示。
图1.4逻辑分层实现
3.2系统文献夹组织构造
规范系统整体架构是一种项目开发原则,特别是在团队开发项目中,在编写代码之前,必要定制好项目系统文献夹组织构造,以使程序条理清晰,利于后期项目整合。
在Java项目中可以将不同作用、功能相类似文献放置于同一种包中,这样既可以保证团队开发一致性,又可以将系统整体构造规范化。
创立完系统中也许用到文献夹或Java包之后,在开发时只需将所创立类文献或资源文献保存到相应文献夹即可。
医药销售管理系统文献夹组织构造如图1.5所示。
图1.5医药销售管理系统文献夹组织构造
3.3实体对象设计
在应用Hibernate框架项目中,实体对象确立是其中核心。
实体对象与数据库中数据表相相应,并通过O/R映射建立实体与数据库联系,Hibernate完全通过操作实体来操作数据库,因此一方面要拟定项目中实体对象。
在医药销售管理系统中,实体对象及关系如图1.6所示。
图1.6医药销售管理系统中实体对象及其关系
从图1.6中可以看到,药物实体对象为Medicine类,药物类别实体对象为Category类,销售明细实体为SellDetail类,操作顾客实体为User类,这4个实体对象为医药销售管理系统核心实体对象,它们所相应映射文献均为“类名+hbm.xml”文献。
其中,药物信息与药物类别为多对一关联关系,一种类别中包括各种药物对象;药物信息与销售明细为一对多关联关系,各种销售明细相应一种药物对象;销售明细与顾客之间为多对多关联关系,各种销售明细信息相应各种操作顾客。
3.4定义ActionForm
ActionForm是简朴JavaBean,重要用来保存顾客所输入表单数据,Action要获取这些数据需要通过ActionForm对象进行传递。
ActionForm对表单数据进行了封装,在JSP页面与Action对象中提供了交互访问办法。
在使用过程中,可通过继承org.apache.struts.action.ActionForm对象来创立需要ActionForm对象,项目中所涉及到ActionForm对象如图1.7所示。
图1.7项目中所涉及到ActionForm对象
3.5持久层构造设计
持久层构造通过Hibernate框架进行设计。
由于Hibernate对不同对象增、删、改、查等操作具备一定共性,如添加数据使用save()办法、删除数据使用delete()办法等,项目中将这些具备共性操作抽取出来,封装成一种类,其她数据库操作对象可继承此类来拥有这些办法,从而减少程序中多余代码,如图1.8所示。
图1.8持久层构造
SupperDao类为所有数据库操作对象父类,在此类中定义了对数据库进行操作惯用办法,详细办法及阐明如表1.1所示。
表1.1SupperDao办法及阐明
办法
阐明
save()
用于保存一种对象
saveOrUpdate()
用于保存或更新一种对象
delete(Objectobj)
用于删除一种对象,入口参数为Object类型
findByHQL()
通过HQL语句查询数据,入口参数为String类型HQL语句
deleteByHQL()
通过HQL语句删除数据,入口参数为String类型HQL语句
uniqueResult()
单值检索数据,入口参数hql为HQL查询语句、where为查询条件
findPaging()
分页查询数据,入口参数hql为HQL查询语句、offset为成果集起始位置、length为返回成果集条目数、where为查询条件
这些办法均为数据库操作惯用办法,因此将其封装在单独一种类中,对于各个对象数据库有关操作,可通过继承此类来获取这些惯用办法。
其子类对象有CategoryDao类、MedicineDao类、SellDao类、UserDao类,其功能分别简介如下。
CategoryDao类:
药物类别数据库操作对象,用于封装与药物类别有关数据库操作办法。
MedicineDao类:
药物信息数据库操作对象,用于封装与药物信息有关数据库操作办法。
SellDao类:
药物销售数据库操作对象,用于封装与药物销售有关数据库操作办法。
UserDao类:
顾客数据库操作对象,用于封装与管理员及系统有关数据库操作办法。
3.6业务层构造设计
业务层构造重要通过Struts框架进行设计,由Struts中央控制器对各种操作祈求进行控制,并通过相应Action对其进行业务解决,项目中所用到Action对象及关系如图1.9所示。
图1.9Action对象及关系
Action、DispatchAction与LookUpDispatchAction为Struts封装Action对象,具备不同特点及作用,项目中通过继承这几种对象实现对不同业务祈求解决。
除这3个对象外,图1.9中别的Action对象均为自定义Action对象。
在这些自定义Action对象中,LanguageAction与LoginAction用于解决国际化语言及顾客登录操作。
由于两者不涉及过多业务逻辑,它们都直接继承于Action对象。
BaseAction对象与DeleteAction对象为重要Action对象,两者都继承了DispatchAction对象。
项目中封装这两个对象目在于简化程序中业务逻辑、提高程序安全性。
在这两个对象中均对顾客登录身份做出了严格验证,其子类对象通过继承不必再考虑顾客登录安全问题,而更专注于业务逻辑,同步通过继承还可以减少程序代码量。
其中BaseAction对象子类及作用如表1.2所示。
表1.2BaseAction对象子类及其作用
子类
作用
SellAction
封装药物销售有关操作,解决封装药物销售祈求
SystemAction
封装系统有关操作,解决系统级祈求
CategoryAction
封装药物类别有关操作,解决药物类别有关操作
MedicineAction
封装药物信息有关操作,解决封装药物信息有关祈求
RequireAction
封装药物需求及库存有关操作,解决药物需求有关祈求
DeleteAction对象继承了LookUpDispatchAction对象,此类通过重写getKeyMethodMap()办法对数据进行批量删除操作,其子类对象及其作用如表1.3所示。
表1.3DeleteAction对象子类及其作用
子类
作用
DeleteMedicineAction
封装药物信息删除操作,用于批量删除药物信息
DeleteReqMedAction
封装药物需求信息删除操作,用于批量删除药物需求信息
3.7页面构造设计
医药销售管理系统页面构造采用框架进行设计,通过HTML语言中