jsp药品销售管理系统 论文

更新时间:2024-05-26 06:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计论文

题 目

起讫日期 年 月 日 至 年 月 日

学生姓名 专业班级

所在院系

指导教师 职称 讲师

所在单位

年 月 日

摘 要

在市场经济中,销售是企业运作的重要环节。为了更好的推动销售,不少企业建立分公司或代理机制,通过分公司或代理把产品推向最终用户,这些分公司或代理商大部分分布在不同的地理位置,跨空间、跨时间的频繁业务交流是这些企业业务活动的主要特点。在这种形式下,传统地依靠管理人员人工工作传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。

本系统即为一个基本的药品销售管理系统就是利用信息化手段把企业先进的管理方法引入企业的实践,为企业的管理改革提供切实易行的途径。系统对企业中常见的采购、库存、销售等商业活动以及相关的供应商和客户等基本的信息进行管理。本系统采用目前流行的JSP进行开发,后台数据库使用功能强大、操作便捷的SQL 2005数据库。

关键词:管理系统、销售、药品、JSP、信息技术

目 录

第一章 引言 ............................................................................................................................................. 1

1.1课题的来源及意义 .......................................................................................................................... 1 1.2发展状况 .......................................................................................................................................... 1 1.3开发技术介绍 .................................................................................................................................. 2 1.4本论文的研究内容及结构 .............................................................................................................. 2 第二章 开发环境 ........................................................................................................................................... 4

2.1软件工程介绍 .................................................................................................................................. 4 2.2开发环境及工具 .............................................................................................................................. 4

2.2.1选择JSP2.0作为开发语言 ................................................................................................ 4 2.2.2选择SQL2005作为后台数据库 .......................................................................................... 5 2.3JSP数据库开发技术 ........................................................................................................................ 5

2.3.1.JDBC开发数据库 ................................................................................................................ 5 2.3.2BDE开发数据库 .................................................................................................................... 6 2.4开发方法整体选择 .......................................................................................................................... 7 第三章 系统分析 ........................................................................................................................................... 9

3.1可行性分析 ..................................................................................................................................... 9

3.1.1技术可行性分析 ................................................................................................................ 9 3.1.2管理可行性分析 ................................................................................................................ 9 3.1.3经济可行性分析 ................................................................................................................ 9 3.2需求分析 ........................................................................................................................................ 10

3.2.2功能需求分析 .................................................................................................................... 10 3.2.3系统功能模块图 ................................................................................................................ 11 3.3数据库设计概述 ............................................................................................................................ 11 3.4数据库设计周期 ............................................................................................................................ 11 3.5SQL查询语言及使用 ...................................................................................................................... 12 3.6系统数据库设计 ............................................................................................................................ 13

3.6.1 实体描述 ......................................................................................................................... 13 3.6.2 联系描述 ......................................................................................................................... 13 3.6.2 E-R图 .............................................................................................................................. 14 3.6.3 数据库的逻辑设计 ......................................................................................................... 15 3.6.4 数据库的实现 ................................................................................................................... 16

第四章 系统的详细设计与实现 ................................................................................................................. 19

4.1登录界面设计 ................................................................................................................................ 19 4.2 JDBC连接 ...................................................................................................................................... 20 4.3 系统基本信界面设计 ................................................................................................................... 21 4.4 库存添加界面 ............................................................................................................................... 21 4.5 客户管理 ....................................................................................................................................... 23 4.6 药品信息界面 ............................................................................................................................... 23 4.7 供应商管理 ................................................................................................................................... 25 4.8 数据备份 ....................................................................................................................................... 26 第五章 系统的调试与测试 ......................................................................................................................... 27

5.1程序调试 ........................................................................................................................................ 27

5.2程序的测试 .................................................................................................................................... 27

5.2.1测试的重要性及目的 ........................................................................................................ 27 5.2.2测试的步骤 ........................................................................................................................ 28 5.2.3测试的主要内容 ................................................................................................................ 28

第六章 结论 ................................................................................................................................................. 30 谢 辞 ....................................................................................................................................................... 32 参考文献 ....................................................................................................................................................... 33

第一章 引言

1.1课题的来源及意义

随着我国市场经济的蓬勃发展,医药行业正处于一个高速发展的时期。目前市场上的药品销售软件比较多,应用价值也挺高,但是大部分的重点都放在了药品信息管理和员工信息管理方面,对于客户,供货商信息的管理做得都不完善,有的根本没这部分内容。而这些信息也是很重要的,有利于公司上层高级管理人员从各个方面对公司状况进行分析,管理和决策。因此,开发一个集处理药品、客户、供货商信息于一体的,兼有员工管理的药品销售管理系统,是符合市场发展需要的。

药品销售管理系统是一个基于Internet的应用系统,它是一个面对当前的进销存管理工作基本还处于手工和半信息自动化处理状态应运而生的一个基于Internet的完全自动化的系统,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。

企业单位只需要具备访问Internet的条件,即可在系统发布的站点上进行进销存的管理,在图形化的人机界面中完成日常的进销存管理工作,一方面摆脱了时间和空间的界限,另一方面也能有效地解决数据可共享的问题。

经过实际使用证明,这里所设计的企业进销存管理系统可以满足企业进货、销售管理等方面的需求。

将计算机这一信息处理利器应用于药品销售的日常管理已是势必所然,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。极大提高了仓库工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。基于仓库管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。

1.2发展状况

随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段,而随着全球经济信息化进程加快和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,越来越多企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性。因此建立科学,规范,高效的管理制度和秉承富有

1

竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、存货、销售等诸多环节也已成为趋势必然。

在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,实现了进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。

1.3开发技术介绍

SQL Server 2005 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的

数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。

数据库SQL Server2005管理器提供了一个强大的任务安排引擎、管理警告能力、以及内建的复制管理界面。因此可以通过SQL Server管理器可用来管理登录和用户权限,创建脚本,管理SQL SERVER对象的备份,备份数据库和事务日志,管理表、视图、存储过程、触发器、索引、规则、缺省设定和自定义数据类型等来进行不同的数据管理任务。

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持Struts,JSP,Dss, Spring,SQL,Hibernate。Genuitec发布了MyEclipse Enterprise Workbench 56.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的数据库开发,MyEclipse 6.0.1继续为业界提供全面的产品。

1.4本论文的研究内容及结构

本次课题主要研究对象是监狱管理系统。主要是针对解决目前监狱管理中存在的问题。系统采用目前管理系统开发主流技术JSP技术,基于Windows 7操作系统开发,并采用了SQL Server 2005 数据库。

本次开发按照软件工程的瀑布模型进行,与之相应的,论文结构如下:

第一章 :引言。包含内容有,介绍课题来源、外发展情况、开发环境介绍以及论文结构。 第二章 :系统的需求分析。包括系统的可行性分析,大致的功能模块。

2

第三章 :系统的概要设计。包括系统的总体结构,主要功能模块设计以及数据库设计。 第四章 :系统的详细设计与实现。包括系统的总体流程,以及主要功能模块的详细设计。 第五章 :系统的测试与维护。 第六章:结论。

3

第二章 开发环境

2.1软件工程介绍

软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位,一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、开发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。

“监狱值班与监所排帐管理系统”虽然只是一个比较小的项目,但是为了做的更规范,也尽量按照软件工程的指导来做,事实上,不管一个多小的工程,都是离不开软件工程的指导思想的。

2.2开发环境及工具

2.2.1选择JSP2.0作为开发语言

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

JSP技术的强势:

1.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数

4

台服务器,Java显示了一个巨大的生命力。

4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.2.2选择SQL2005作为后台数据库

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

2.3JSP数据库开发技术 2.3.1.JDBC开发数据库

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。

JDBC扩展了Java的功能。例如,用Java和JDBC API可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各

5

种不同的操作系统)。随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。

MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。

2.3.2BDE开发数据库

BDE是负责用户和数据库交流的中间媒介。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库,完成对数据库的操作,而并非直接操作BDE。这样用户只需关心JSP中的数据组件即可,不用直接和BDE打交道。

数据库组件主要分为两类:“数据访问组件”和“数据控制组件”,它们和数据库的关系如图2-1所示:

图2-1 数据库组件与数据库关系图

其中,数据访问组件在JSP组件面板的Data SQL组件页上。其中的Table、Query和Storedproc三个控件,它们称为“数据集组件”,用于和数据库连接。

这些组件功能如下:

1.DataSource控件是数据集组件和数据控制组件的连接媒介。数据控制组件是用户操作数据库中数据的界面,只有通过DataSource控件才能和数据集组件连接,从而对数据进行显示、修改、维护等操作。

2.Table控件是通过数据库引擎——BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作(如添加、删除、修改等)传递给数据库。

3.Query控件是利用SQL(Structured Query Language,结构化查询语言)通过BDE来操作数据库的,和Table控件完成的功能相似,它只是采用了SQL来实现。

4.Storedproc控件是通过BDE对服务器数据库进行操作的,常用于客户/服务器(C/S)结构的数据库应用程序。

5.DataBase控件一般用于建立远程的数据库服务器——客户/服务器结构的数据库应用程序和数据库之间的连接。

6.Session控件是用于控制数据库应用程序和数据库连接的,主要用于复杂功能的实现,

6

例如:多线程数据库程序设计。

而数据控制组件也可以称为数据显示组件或数据浏览组件。它们的主要功能是与数据访问组件相配合,提供给用户一个对数据进行浏览、编辑等操作的界面。数据控制组件在组件板上的DataControl页上。

从上图可以看出,BDE负责与具体的数据库相连,通过BDE,几乎可以操作目前所有类型的数据库。但是BDE也有很大的缺点,当然,在对于一些比较简单的数据库,例如ASCII,BDE可以直接访问。另外它也可以通过一些相应的驱动,访问特定的数据库,例如通过DAO访问SQL数据库。不同类型的驱动程序都具有不同的特征,主要是表现在:数据库的安全性,事务,数据字典和完整性验证,存储过程和触发器。对于不能直接支持的数据库,BDE还可以连接到ODBC,通过ODBC进行访问,所以BDE有时效率很低。

在JSP提供的所有数据库访问方式中,BDE的历史最长,因此提供的功能也最多,包括大量的和数据库交互的API。使用它访问PARJDBCX和DBASE时效率最高。同时,针对Oracle的访问也有专门的优化,效率也最高。JSP目前正逐步放弃BDE,已经不再为BDE增加新的功能,只是对现有的功能进行维护,排除BUG。

BDE包含如下组件:

TDATABASE,TTABLE,TQUERY,TSTOREDPROC,TSESSION,TBATCHMOVE,TUPDATESQL,TNESTEDTABLE。

2.4开发方法整体选择

根据用户的实际情况和需要,最终决定采用在Windows 7下使用JSP+SQL开发,采用B/S结构,使用JDBC连接数据库。

这样的好处是:

1.使用JSP+SQL灵活方便,可扩充性、可移植性较好。

2.JDBC与SQL同为微软开发,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用这种方式。

3.采用 B/S结构是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。

JDBC是Microsoft主要数据存储技术,JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。JDBC封装了OLE-DB复杂的接口,以极为简单的COM接口存储数据,简化了程序员数据存取的工作。JDBC架构图如图2-2所示:

7

Application/Browser JDBC OLE DB JDBC SQL DATA

图2-2 JDBC架构图

8

第三章 系统分析

随着信息技术集成化和网络化的不断发展,互联网在人们政治、经济、生活等各个方面都发挥着重要的作用。需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂的过程。简言之,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。需求分析之所以重要,就因为它具有决策性,方向性,策略性的作用,它在软件开发的过程中具有举足轻重的地位。

3.1可行性分析 3.1.1技术可行性分析

JSP+Servlet在技术上已经成熟,SQL Servers数据库易于连接,采用MVC模式,使得视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。

3.1.2管理可行性分析

本管理系统设有后台管理,方便数据维护,可确保系统在管理层面上可行,过本系统进行信息管理工作,可以提高工作效率,管理科学,数据处理准确性高。

3.1.3经济可行性分析

JSP+Tomcat+SQL Server是免费开源的框架或者软件,使得开发成本大大下降。可重用性高,经过修改后,可用于其他类型的博览会管理服务。采用MVC模式是的开本成本降低和易于维护用户接口。界面简洁、易懂、操作方便,电脑初学者无需经过学习就可以轻松得操作本系统的所有功能。本系统的开发在经济上是可行的。

9

3.2需求分析

通过对药品进销存等业务过程的了解和分析,本系统的主要功能模块可以分为系统登录模块、药品查询管理模块、药品采购管理模块、药品库存管理模块、药品销售管理模块、用户管理模块、系统设置模块、统计分析模块这七个大模块。

3.2.2功能需求分析

(1)系统登录模块

本模块主要实现登录身份验证功能,即当用户登录系统时,需要验证个人详细信息,只有系统注册用户才能登录到系统中。

(2) 药品查询管理模块

本模块主要完成药品信息的添加、修改、删除,查看详细信息,按不同关键字进行搜索等,以及药品类别信息的添加、修改、删除、检索功能。

(3) 药品采购管理模块

本模块主要功能是完成药品采购全过程的信息化管理。要向不同的供应商采购所需要的药品,就要有采购单管理、付款管理、统计打印等。

(4) 药品库存管理模块

本模块功能主要是完成药品入库和出库管理。药品采购回来后要进行入库操作,药品售出后要进行出库操作,库存中的药品还要进行调价、盘点、缺货处理等操作。

(5) 药品销售管理模块

本模块功能主要完成是对药品售出过程相关信息的管理。药品售出时要统计金额、打印清单、从库存中减去相关药品的数量,还要对销售情况进行统计等。

(6) 系统管理模块

本模块主要功能是系统用户的管理,如添加用户、删除用户、用户信息查看、编辑、打印,用户权限设置等。管理员密码修改、系统数据库的备份和还原等功能。

(7) 统计分析模块

主要功能是对药品进销存情况进行全面统计,分析经营活动中的获利情况等。实现药品采购支出情况的统计,已采购付款但还未到货或还未入库情况的统计,库存药品情况的统计、药品销售收入情况的统计等[15]。

10

3.2.3系统功能模块图

根据需求分析,设计出药品销售管理系统的总体结构。系统功能模块图如图3-1所示。

药品销售管理系统

系 统 用 户 管 理

客 户 管 理

商 品 信 息 管 理

供 应 商 管 理

购 管 理

库 存 管 理 销 售 管 理 统 计 管 理 数 据 备 份

图3-1 系统功能模块图

3.3数据库设计概述

计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。

对于数据库应用开发人员来说,为使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。

3.4数据库设计周期

根据软件工程的思想,数据库设计的周期可以划分为六个阶段:

规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。

需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果能够提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。

设计阶段:把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶

11

1 2 3 4 5 6 7 8 9 10 ID bianhao gongsimingcheng dianhua chuanzhen youxiang dizhi zhuyingchanpin beizhu addtime Int VarChar VarChar VarChar VarChar VarChar VarChar VarChar VarChar DateTime 4 50 50 50 50 50 50 50 50 8 自增编号 是 是 是 是 是 是 是 是 是 是 否 否 否 否 否 否 否 否 否 10 255 255 255 255 255 255 255 255 23 客户信息表:表中记载的是客户的详细信息。

表5-4 客户信息表

序号 字段名称 1 2 3 4 5 6 7 8 9 10

ID bianhao xingming gongsimingcheng dianhua chuanzhen youxiang dizhi beizhu addtime 字段类型 Int VarChar VarChar VarChar VarChar VarChar VarChar VarChar VarChar DateTime 大小 4 50 50 50 50 50 50 50 50 8 允许为空 自增编号 是 是 是 是 是 是 是 是 是 是否是主最大长度 键 是 否 否 否 否 否 否 否 否 否 10 255 255 255 255 255 255 255 255 23 入库记录表:表中记载的是药品入库的全部信息,包括药品入库的数量、编号等信息。

表5-5 入库记录表

序号 字段名称 1 2 3 4 5 6 ID bianhao mingcheng kucun rukushuliang gongyingshang 字段类型 Int VarChar VarChar VarChar VarChar VarChar 大小 4 50 50 50 50 50 17

允许为空 自增编号 是 是 是 是 是 是否是主最大长度 键 是 否 否 否 否 否 10 255 255 255 255 255 7 8 9

beizhu caozuoyuan addtime VarChar VarChar DateTime 50 50 8 是 是 是 否 否 否 255 255 23 药品信息:表中记载的是药品的详细信息,包括药品的编号、名称、供应商等等。

表5-6 药品信息表

序号 字段名称 1 2 3 4 5 6 7 8 9 ID bianhao mingcheng leibie tupian beizhu addtime jiage kucun 字段类型 Int VarChar VarChar VarChar VarChar VarChar DateTime VarChar Int 大小 4 50 50 50 50 50 8 50 4 允许为空 自增编号 是 是 是 是 是 是 是 是 是否是主键 是 否 否 否 否 否 否 否 否 最大长度 10 255 255 255 255 255 23 255 10 18

第四章 系统的详细设计与实现

详细设计的主要任务是设计每个模块的详细功能、实现算法、所需的局部数据结构等。基于前面的系统总体设计和数据库设计,在此章进入详细设计与实现阶段的任务。在这个阶段需要对总体设计阶段所阐述的基本功能进行一一具体描述并实现。

4.1登录界面设计

为了保证系统的安全性,进入系统之前必须经过必要的安全性检验,输入相应的用户名和密码,只有合法用户方可登陆。简洁、清晰、友好是此模块的设计风格,如图6-1所示:

图6-1 用户登录界面

如果输入的用户名或者密码错误,就会弹出下面的窗口,见图4.1所示:

图6-2 错误信息

本模块是系统登陆界面,实现的功能是检测合法用户,验证其用户名和密码,以杜绝非法用户侵入系统,对系统所存储的信息构成威胁。

本模块界面非常简单,就一用户名和密码两个文本框和一个登陆按钮,但实现的方法比较复杂,因为系统要自动判断其输入的用户名及密码的正误,还要自动识别其权限(超级管理员与普通管理员之分),如果登陆正常后,系统要将当前用户名和权限记录下来以便之后其他操作给予适当的权限分配。

19

4.2 JDBC连接

要想让本系统运行成功需要将此设计与数据库连接起来,用户在页面进行的操作在数据库中得以保存,新进的药品、新来的管理员、仓库内清除的药品等这样方便以后的正常的记录。而如果想让这些操作都被记录下来操作成功就离不开页面与数据库的交互,JDBC部分代码就是要将数据库和页面操作连接起来,通过代码控制并将数据库连接所需要的东西配置好就将数据库连接成功了。在程序中JDBC连接部分的代码如下:

package db; import java.sql.*; public class db {

private String sConnStr = \; public Connection connect = null; public ResultSet rs=null; public db() { try {

Class.forName(dbDriver).newInstance();

connect = DriverManager.getConnection(sConnStr,\,\); }

catch (Exception ex) { System.out.println(\); } }

public ResultSet executeQuery(String sql) {

}

try{ } return rs;

connect=DriverManager.getConnection(sConnStr,\,\); Statement stmt=connect.createStatement(); rs=stmt.executeQuery(sql); System.err.println(ex.getMessage());

private String dbDriver=\;

}catch(SQLException ex){

public void executeUpdate(String sql) {

Statement stmt=null; rs=null; try

20

}

{ connect=DriverManager.getConnection(sConnStr,\,\); }

catch(SQLException ex) {

System.err.println(ex.getMessage());

} }

stmt=connect.createStatement(); stmt.executeUpdate(sql); stmt.close(); connect.close();

4.3 系统基本信界面设计

输入正确的用户名和密码后,即进入系统的主界面。系统的基本操作界面如图4-1所示:

图4-1 系统基本操作界面

该界面是系统登陆后的第一个界面,也是系统操作的主界面,除了登录模块之外,其他后台操作均在本平台上进行,再次页面可以找到所想要做的操作所在的模块,可以对药品、客户、供应商进行操作。

本界面是由一个框架组成,包括上左右三大块。左边是一个菜单列表,包括该系统所能进行的所有操作,单击菜单时右边显示主模块页,显示出所能进行的操作,非常简单明了。

4.4 库存添加界面

(1)入库记录添加,和入库记录查询界面如下:

21

图4-4入库记录添加界面

图4-5入库记录查询界面

当有新的产品进入到仓库中被保存的时候进入入库添加界面,药品入库的时候需要录入药品的详细信息,药品的编号、名称、入库数量、供应商等等详细的信息,这样方便以后的管理,输入结束之后点击提交,这样药品的信息会被放到数据库中保存。

当需要查询仓库内现有的药品或者查找某一个药品时进入该页面,在此页面可以根据药品的编号查找所要找的药品以及药品的详细信息,省去了在大量药品中查找的时间,快捷方便,只需要知道编号和名称即可找到所想要查找的药品。

(2)销售记录添加,销售记录查询界面如下:

图4-6销售记录添加界面

当从该仓库出库药品时需要经过该页面,需要记录一下本次出库药品的详细信息,药品编号、药品名称库存等等,每一次出库药品的时候都需要记录这些信息以方便之后的药品管理,见信息填写完毕提交之后信息就会在数据库中完整保存,这样方便以后的查找。

需要查询每次药品出库的数量等信息时需要调用此出库记录查询界面,在此界面可以根据某以药品的编号以及名称查询到某一药品出库的详细信息,包括数量、出库时间等。方便对某一药品作具体查询。

库存查询界面

22

图6-8库存查询界面

此页面为库存查询页面,所提供的功能为查询当前库存的药品及数量,也可以根据编号和名称详细查询某一药品的详细库存数量信息。

4.5 客户管理

(1)客户添加

图4-9客户添加界面

随着企业壮大,出现的新客户会越来越多。当出现新客户的时候进入该客户添加界面对新出现的客户进行信息登记,输入客户的编号、姓名、联系方式等重要信息,以方便日后对客户的管理。

(2)客户查询

图6-10客户查询界面

当客户越来越多的时候难免要从众多的客户中寻找想要找的客户,本模块就是为了方便查找客户而设计的,根据客户添加信息时的编号、客户姓名等可以准确找找客户的详细信息,也可以查看现有的全部客户的信息。

4.6 药品信息界面

(1)药品类别

23

图4-11药品类别添加界面

仓库中不会一直只存放一种类别的药品,所以设计了药品类别添加界面,此界面的功能只是添加新类别的产品,以方便日后同种类别的药品的存放归类,以避免仓库内药品信息的过于杂乱。

(2)药品类别查询

图6-12药品类别查询界面

如若不确定莫以药品类别仓库内是否存在则可通过该功能查询仓库内的药品类别以及某一编号对应的药品类别,这样可以方便新建药品类别或者将某一药品归类,方便仓库内药品的管理。

(1)药品信息添加

有新药品入库的时候需要调用该页面,在本页面输入药品的库存编号、药品名称等将药品信息添加完成后点击提交将数据传到后台数据库保存,以后调用的时候根据编号就可以从数据库中将本次信息调用出来,方便操作员操作和库存的管理。

24

图6-13 药品信息添加界面

(4)药品信息查询

图6-14 药品信息查询界面

在众多的仓库锁储存的药品中找到所想要查找的药品就是本界面的设计理念,当库存药品越来越多药品越来越复杂的时候本模块就会显示出优越性,可以查询出本仓库锁存储的所有药品,也可以根据编号具体查找所想要的具体的药品的详细信息。

4.7 供应商管理

图4-15 供应商查询界面

仓库内所储存的药品都是由供应商供给的,所以有必要登记供应商信息,每出现一个新的供应商的时候都会登记该供应商的详细信息,然后保存到后台数据库中,当要查询某一个供应商的信息的时候根据编号和供应商的名称进行详细查询,查询该供应商的详细信息。

25

4.8 数据备份

系统有很强的不稳定性,该系统有可能会出现某些故障,电脑系统也有可能出现故障,所以当有新信息添加或者仓库的进、销、存相关操作进行过后要随时做好数据备份,以便突然出现问题的时候可以找到数据的备份,避免对企业造成很严重的损失。

26

第五章 系统的调试与测试

5.1程序调试

在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自

动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。

5.2程序的测试

5.2.1测试的重要性及目的

测试的重要性:

软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:

1.认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感; 2.以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;

3.测试工作枯燥无味,不能引起人们的兴趣; 4.测试工作是艰苦而细致的工作;

5.对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产

27

品的质量。

测试的目的:

如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。

1.软件测试是为了发现错误而执行程序的过程; 2.测试是为了证明程序有错,而不是证明程序无错误; 3.一个好的测试用例是在于它能发现至今未发现的错误; 4.一个成功的测试是发现了至今未发现的错误的测试。

这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

5.2.2测试的步骤

与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:

1.模块测试:在这个测试步骤中所发现的往往是编码和详细设计的错误。

2.系统测试:在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。

3.验收测试:在这个测试步骤中发现的往往是系统需求说明书中的错误。

5.2.3测试的主要内容

为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。

1.单元测试

单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。

2.集成测试

集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程

28

数据结构可能有错误等。

3.确认测试

确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。

4.系统测试

软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。

单独对系统的测试主要从以下几方面入手:

1.功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。

2.强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。

3.安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。

经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。

29

第六章 结论

几个月来忙碌紧张而又有条不紊的毕业设计,使我有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我在四年中所学到的知识得到了系统和升华,真正达到了学以致用。

对管理信息系统的体会:

管理信息系统是一门融管理科学、信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。

在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。

设计实践上的体会:

在设计的过程中,我掌握了很多JSP的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。

以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的进销存系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计的过程中增加了于实际接触的机会,不仅培养了我的自学和编程能力,让我在即将离开学校进入社会之前有了一定的资本,提高了我与人沟通的能力。

程序设计中的体会:

在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中

30

发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。

31

谢 辞

此次毕业设计历时三个月,这充实而忙碌的三个月将成为我大学生活中浓墨重彩的一笔。在此论文完成之际,谨向我的指导老师****老师致以深深地感谢,在本次毕业设计过程中,得到了指导老师的指导与支持。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。这三个月中,从最初毕业论文的选题到最后论文的撰写,老师都一直耐心细致的指导我。尤其在系统的开发过程中,老师丰富的知识和经验都给我带来了极大的帮助。在我编程遇到瓶颈,几欲放弃的时候,也是老师安慰我,让我重新找回了信心。

感谢****院的诸位老师们,另外和我同组同学大家始终团结协作,努力拼搏,增强了我的团队意识,并且我们接下了深厚的友谊,我们自始至终在一种愉快的气氛中学习工作。此次毕业设计对提高我的编程技术、协调团队成员的关系等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。另外,向在工作之余还要抽出时间对我的论文进行评阅及考核并提出宝贵意见的各位教授、导师致以最诚挚的谢意!

感谢****大学对我的培养,这将是我人生中永远的财富。在这机年中,从最初的对软件学习的憧憬,到真正的接触软件,从老师们那里接受专业的学科知识,在学习各项技能的同时我也真正的点燃了自己对这个行业的热情。日常的学习生活,点滴的积累,都全面的提升了我的能力与素养。五年的时光让我收获了一个更加成熟、自信的自己,也让我能够在将来也以交大学子的身份,不断的走向前去!

32

参考文献

[1] 宋文官.电子商务教程[M].北京:清华大学出版社,2009.

[2] 万常选,刘云生.电子商务的技术及其应用[J].武汉:计算机工程与应用,2002(7):247-249. [3] 戴志诚,赵国峰. JSP 信息化系统建设案例[M].北京:人民邮电出版社,2006. [4] 周正寿. HIS系统中药品管理软件功能的探讨[J].郑州:医药论坛杂志, 2007(9):108-109. [5] 王钟.药品进销存管理系统的设计与实习[D].重庆:第三军医大学,2010. [6] 郭东强.现代管理信息系统[M].北京:清华大学出版社,2010. [7] 萨师煊, 王珊. 数据库系统概论[M].北京:高等教育出版社, 2000 [8] 刘亚宾,杨红等.精通MyEclipse[M].北京:电子工业出版社,2004. [9] 郝玉龙. Java EE 编程技术[M].北京:清华大学出版社, 2013. [10] 刘彬. JSP 数据库高级教程[M].北京:清华大学出版社, 2006.

[11] 孙卫琴. Tomcat 与 Java Web 开发技术详解[M].北京:电子工业出版社,2009. [12] 刘智勇.SQL Server2005宝典[M].北京:电子工业出版社, 2007. [13] 刘辉. 零基础学 SQL Server 2005[M].北京:DynoMedia Inc, 2008. [14] 于本海.管理系统开发案例[M].北京:高等教育出版社,2010. [15] 卢永清.九九医药进销存管理系统[D].成都:电子科技大学,2007.

33

本文来源:https://www.bwwdw.com/article/fu87.html

Top