资源描述
软件需求分析报告题目名称: 医药管理系统 学 院: 计算机科学技术 专业年级: 计算机科学与技术1班 2008 级 软件开发小组组长: 洪小沿(0825111014) 软件开发小组成员: 洪小娇(0825111013) 林翠萍(0825111030) 指导教师: 洪欣 目录第一章 系统概述31.1 前言31.2 开发语言简介31.3 本系统简介4第二章 系统可行性分析52.1 可行性分析52.1.1 技术可行性52.1.2.经济可行性52.1.3 管理上的可行性6第三章 系统需求分析63.1系统主要功能63.2 E-R图73.2 系统数据流图83.3 数据字典8第四章 系统设计104.1系统总体设计104.1.1系统目标104.1.2系统功能描述104.1.3系统软件结构图124.1.4系统流程图134.2 数据库设计144.2.1数据库分析14第五章 系统实现145.1 系统运行环境145.2 系统实现关键技术145.3 系统采用的设计模式15第一章 系统概述1.1 前言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。医药进销存管理的信息化程度体现在将计算机和网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。医药进销存管理统是典型的信息管理系统的一部份,而且是必不可少的一部份。其开发主要包括后台数据库的建立和维护以和前端应用程序的开发两个方面。对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。医药管理系统是医药管理工作中不可缺少的部分,面对众多的药品和众多不同需求的顾客,每天都会产生大量的数据信息,以传统的手工方式来处理这些信息,操纵比较繁琐,且效率低下。而一个成功的医药管理系统应提供快速的药品查询功能,能够快速地攻击药品信息,销量信息等,从而对药品进行高效的管理以满足消费者的需求。作为计算机和网络应用的一部分,使用计算机对医药信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高医药经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。且办事效率也是决定收入的一个关键因素。1.2 开发语言简介经过分析,我们小组使用Myeclipse作为开发工具和MySQL作为后台数据库管理,利用Myeclipse提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以和应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C+语言的“形式和感觉”,但它要比C+语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。 1.3 本系统简介医药管理系统具有以下的特点:界面设计简洁,友好,美观大方。操作简单,快捷方便。较高的处理效率,便于使用和维护。对销售信息进行统计排行。系统尽可能地简化医药超市工作人员的重复工作,提高工作效率本系统针对用户和客户以和客房的管理采用了当今常用的C/S结构而设计。这样只需要一台计算机作为服务器即可。前台应用只需有一台可连入局域网的计算机,这样就可省去C/S结构中的每台客户机都要安装客户端程序的麻烦。第二章 系统可行性分析2.1 可行性分析在医药超市的管理中经常出现以下情况:l 由于信息量较大,经常出现售出药品统计结果与金额不匹配的情况。l 完全以传统的手工方式管理,浪费大量的纸张,且不能对药品进行快速查询。l 只能通过现场清点药品了解库存信息。l 很难对销售信息、销售排行等信息进行统计。因此,在医药超市的管理中,无论是从消费者的角度还是从经营者的角度来看,采用计算机管理系统都具有一定的必要性,以少量的人力资源、高效的工作效率、最低的误差进行管理,将使医药超市的经营更上一层楼。采用现代化统一的计算机信息网站系统,能够有效优化医药管理系统,使其高效的发挥最大作用,能够迅捷的为相关工作和管理人员提供相应的服务。开发本系统的可行性研究如下:2.1.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。2.1.2.经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以和开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高超市工作人员的工作效率,也是医药管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。2.1.3 管理上的可行性由于本系统功能比较简单,对于工作人员不存在太大难度。对于系统管理员来说,因为系统管理员拥有维护数据库系统的技能,对数据库中的数据进行添加、删除、更新等操作是没有问题的。因此,开本系统在管理上是可行的。在本系统的运营阶段,使用系统的工作人员,除了需要具备在Windows平台上使用个人电脑的知识,并不需要特别的技术能力。系统技术维护工作,由本小组支持。综上所述,开发本系统,在经济上、技术上、管理上都是可行的。第三章 系统需求分析3.1系统主要功能系统功能分析在系统开发的总体任务的基础上完成。主要功能是: 有关药品类型的制定:包括药品的类别名称,类别描述,类别的创建时间。 药品类别信息的添加、修改、查询,统计等。 药品基本信息制定:包括药品名称,编码,出厂地址,描述,价格,数量等。 药品基本信息的添加、查询、修改,删除。 进货/需求录入:进货数量,需求数量,进货药品名称等。 药品销售信息记录,包括名称,价格,数量,操作人员,药品,时间,总额等。 系统管理,管理员添加,删除,密码修改等。3.2 E-R图3.2 系统数据流图分析调查医药超市业务流程和根据系统功能分析得出本系统的数据流图如下:3.3 数据字典表3.3.1药品信息存储表 数 据 存 储条目名: 药品信息记录数:记录所有药品信息主关键字: 药品编号 记录组成:项目: 编号+名称+编码+出厂地址+描述+价格+数量+图片+时间+类别表3.3.2药品类别信息存储表 数 据 存 储条目名:药品类别信息 记录数:记录所有药品类别信息主关键字:类别编号记录组成:项目: 类别编号+描述+类别名称+类别创建时间 表3.3.3销售明细信息存储表 数 据 存 储条目名: 销售明细信息记录数:记录销售明细主关键字:编号 记录组成:项目: 编号+药品名称+价格+数量+操作人员+药品+时间+总额 表3.3.4管理员信息存储表 数 据 存 储条目名:管理员记录数:记录管理员信息主关键字:管理员编号 记录组成:项目: 管理员编号+管理员姓名+联系电话+密码第四章 系统设计4.1系统总体设计4.1.1系统目标根据医药管理系统的管理要求,制定医药管理系统目标如下:l 灵活的人机交互界面l 系统提供中、英文语言,实现国际化l 药品分类管理,并提供类别统计功能l 实现各种查询,如多条件查询、模糊查询l 提供创建管理员账户和修改口令功能l 管理员设置角色分配,权限分配l 体统运行稳定、安全可靠4.1.2系统功能描述基础信息管理模块:1添加药品:当需求添加后需要购进新的药品时候要新添药品操作。2查询药品:需要对某种药品信息进行查询确认时,可以按条件查询药品或者模糊查询出该药品的相关信息。3修改药品:当发现药品信息有错时或者某些信息没有即使更新时,可对该药品信息进行修改保存。4. 删除药品:当购进的药品过期或者销量甚微,或者客户反映毫无效果时,可以停止购进该类药品,这时就要删除药品信息。5. 添加类别:当购入新的药品并且还未找到该药品可以归入的类别时,可以添加新的类别。将药品类别信息写入数据库的操作。6. 查询类别:对所用类别进行按条件查询或者模糊查询。7. 修改类别:通过指定的药品类别ID删除药品类别对象。8. 类别统计:为方便查看药品统计信息,我们对药品类别进行了统计。进货管理模块:1. 新增需求:当库存数量不多或者需要购入新的药品时,更新药品需求的数量或者添加需求。2删除需求:需求不再需要时可在进货前将其删除。3修改需求:修改需求信息。4. 查询进货:查询进货情况。5库存修改:对库存信息进行修改。销售管理模块:1查询销售明细:查询每一笔销售单信息详情。2. 当日明细统计:每日进行销售统计结算。3. 销售排行统计:为了了解销售情况以和药品的需求信息,我们对药品的销售进行了统计,将销售量排列在前十名的药品列出。系统管理模块:1. 添加管理员:高级管理员可以添加普通管理员。2. 查询管理员:高级管理员可以对管理员进行账户信息和业绩进行查询。3. 修改密码:管理员可以登录后修改自己的密码。4. 修改参数:高级管理员可以对某些参数进行添加修改。5. 系统初始化4.1.3系统软件结构图根据上述系统功能分析,能得出下面系统软件结构图:医药管理系统进货管理销售管理系统管理库存查看进货管理需求管理销售明细管理销售排行统计销售时间统计账户管理系统初始化基础信息管理药品信息管理药品类别管理 图4.1.3 系统软件结构图4.1.4系统流程图图4.1.4 系统流程图4.2 数据库设计数据库是医药管理系统的信息基地,其中包含药品信息、药品类别信息、销售明细信息、用户信息等。4.2.1数据库分析为了防止数据访问量增加使系统资源不足而导致的系统崩溃,医药管理系统的数据库采用了独立的MySOL数据服务器,将数据库单独放置一个服务器中。这样即使服务器系统崩溃了,数据库服务器也不会受到影响;另外,还有一个好处是能够更快、更好地处理更多的数据。第五章 系统实现5.1 系统运行环境机型:PC台式机处理器:奔三1.0G或更高 内存:128M或更高硬盘:4G或更高输入输出设备:键盘、扫描仪、打印机、显示器等。数据库软件:MySql编程语言: Java编译软件:MyEclipse操作系统:Microsoft Windows XP, Microsoft Windows 75.2 系统实现关键技术struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。 struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工作更加简单,这些类包括: a. 控制程序流程的类 b. 实现和执行程序事务逻辑的类 c. 自定义的标记库使得创建和验证HTML表单更加容易Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。5.3 系统采用的设计模式在设计的Web层应用了著名的MVC模式,V有JSP来实现,为了业务逻辑和表示的分离.它是基于Web应用系统,它的客户端使用Broswer,然后是Web层的应用,业务逻辑层(有EJB实现),资源管理层。客户请求浏览页面,一般Web层的View有JSP组成,并且使用了大量Taglib。把每个请求映射到某个HTMLAction类来响应它。HTML Action类是一个标准的类,执行选择的HTML Action。使用MVC模式减少了代码的复制,即减少了代码的维护,由于模型返回的格式不带任何显示格式,因而模型可以直接应用于接口的使用,还因为MVC模型把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说包含了用户请求权限的概念。在设计中还因应用了Struts框架,Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。医药管理系统由4层结构组成,并遵循MVC结构进行设计。4层结构分别为表示层、业务逻辑层、持久层与数据库层,如下图:其中表示层与业务逻辑层均由Struts框架组成,表示层用于提供程序与用户之间交互的界面,项目中主要通过JSP、ActionForm和Struts标签库进行展现;业务逻辑层用于处理程序中的各种业务逻辑,项目中通过Struts框架的中央控制器和Action对象对业务请求进行处理;持久层由Hibernate框架组成,它负责应用程序与关系型数据库之间的操作;数据库层为应用程序所使用的数据库,本项目为MySQL数据库。对于4层结构的具体实现如下图:21 / 21
展开阅读全文