C#毕业设计——基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码)——进销存管理系统

基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#+asp.net+sqlserver药店进销存管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

文章目录:

1、项目简介

  1. 使用本系统,可以使管理人员从大量繁琐的手工操作中解放出来,方便药品店管理者对药品进销存的实际情况进行集中的查询与管理工作,改进药品店的工作,提高工作效率和服务质量,同时可以适应药品店与社会医保综合管理的需求,减少资源的浪费和流失。
      
    2.经过实际调查和综合分析,本系统使用功能强大的Microsoft VS.NET作为开发环境,使用编程语言C # 对整个系统进行设计与开发,后台数据库使用Microsoft SQL Server 。本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:11952个字37页
包含内容:整套源码+完整毕业论文


3、关键词:

管理系统,药品,.NET ,C#

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

绪 论
1.1 课题研究背景及意义
省略

药店进销存管理系统就是为了解决传统药品管理过程中的进销存人工处理混乱、账目管理困难等问题,可以使管理人员从大量繁琐的手工操作中解放出来,方便地完成药品信息管理、药品入库出库等操作,方便灵活地完成各项药品属性、销售状况、供需状态的统计,使得各个工作环节的组织更加规范,提高工作效率与服务质量;同时可以适应药品店与社会医保综合管理的需求。从而可以改变药品店药库药品管理的传统模式,加强药库管理,减少资源浪费和流失。

1.2 本系统使用的方法和语言
1.2.1 统一建模语言UML
统一建模语言(Unified Modeling Language ,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同人之间有效的共享和交流涉及结果的机制。

UML包括了一些可以相互组合图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法规。UML提供了系统设计所需要的多种图,这些图是在用多个视图来展示一个系统,这组视图被称为一个模型(Model)。一个UML模型描述了一个系统需要做什么。同时,UML提供了组织和扩展这些图的方法。

关于标准建模语言UML的内容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。

省略

1.2.2 .NET和C#
.NET提供了windows窗体,它是一种使用.NET框架编写各种客户程序的新方法。 一个使用XML Web服务的专用客户端应用程序必须提供良好的用户界面。高质量的界面能够提供更佳的用户感受,.NET提供了一种新的软件包,它被称为.NET windows窗体.这使得程序员能够使用.NET框架轻易地编写出专用的windows客户应用程序。

C#是可用于创建要运行在.NET上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。

使用C#开发应用程序比使用C++简单,因为其语法比较简单。但是,C#是一种强大的语言,在C++中能完成的任务在C#中也能完成,C#中与C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。

C#代码常常比C++略长一些。这是因为C#是一种类型安全的语言(与C++不同),一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。所以,在类型之间转换时,必须遵守严格的规则。执行相向的任务时,用C#编写的代码通常比C++长。但C#代码更健壮,调试也比较简单,.NET总是可以随时跟踪数据的类型。在C#中,不能完成如“把4字节的内存放在数据中,并把它解释为x”等的任务。

C#只是.NET开发的一种语言,是目前最好的一种语言。C#的优点是,它是唯一为.NET Framework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言。C#能使用.NET Framework代码库提供的每种功能

省略

1.3系统描述
本系统运用面向对象的思想,基于UML进行药品管理系统的分析与设计。本文运用UML来分析和描述药品店药品管理所涉及的药品基本信息管理、药品入库、出库、调价、查询、统计、盘点等一系列功能。
系统维护包括:新建操作用户、修改用户信息、删除用户等。
商品管理包括:商品信息的添加、修改和删除和查询等。
客户管理包括:供应客户信息的添加修改和删除等。
采购管理包括:登记公司向供应客户采购商品的入库单等。
盘点管理包括:盘点库存药品、生成入库出库清单等。

1.4 分析方法
省略

2 需求收集
2.1 业务过程分析
开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。

“药店进销存管理系统”需要实现的功能有主要有:“系统维护” ,“入库管理 ”,“调价管理”,“出库管理”, “财务信息管理”,“药品信息管理”等,可以用下面的业务流程图来表示它们之间的关系:
在这里插入图片描述

图2-1 系统业务流程
此次设计的“药品进销存药品管理系统”需要完成的主要功能有:“系统维护”,“入库管理”,“调价管理”,“出库管理”,“财务信息管理”,“药品信息管理”等一系列与业务流程相配套的完整功能。
在系统中,主要的业务流通领域词汇有以下几大类:采购计划,入库,财务验收,付款处理,出库,调价处理,库存盘点,查询。药品信息管理的总体活动可以由以下的图来描述:
在这里插入图片描述

图2-2 药品信息管理的活动图
2.2 研究领域分析
现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。

2.2.1 初步用例模型开发
用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。

用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。
参与者、用例和互连线共同组成了用例模型(use case model).
下图说明了这些符号:
在这里插入图片描述

图2-4 用例模型示例
2.2.1.1 开发系统业务角色
首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。

2.2.1.2 开发初步用例图
接下来,需要对每个业务角色标识业务用例,这些业务用例包括:生产药品、购入药品、批发销售药品、输入药品相关信息、售出药品、管理整个系统流程等等。
这个阶段的任务,就是描述系统用例与系统业务角色之间的关系,如图2-6中所示。

在这里插入图片描述

图2-6 业务角色与系统用例

2.2.2 开发初步类图
2.2.2.1 系统中的类
类图(Class Diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。

对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。

类描述一类对象的属性(Attribute)和行为(Behavior)。在UML中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略)。图1中,"客户"就是一个典型的类。

类的获取和命名:最顶部的格子包含类的名字。类的命名应尽量用应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。类的获取是一个依赖于人的创造力的过程,必须与领域专家合作,对研究领域仔细地分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。一般而言,类的名字是名词。

下面分析领域一下类中的动词和名词,其中的一些名词将可能成为模型中的类,另一些名词成为类的属性。而动词或者动词短语则成为类的操作或类之间的关联标记。

系统中涉及到的名词有:
药品(drug),用户(user), 管理员(administrator), 普通用户(common user),信息录入员(information recorder),盘点员,调价员,采购员(buyer),仓库保管员(depository keeper),销售员(seller),账目(account), 发票(invoice), 账单(bill), 入库单(enter depository bill), 出库单(out depository bill), 调价单(change price bill), 客户(client),供应商(merchant),等等。

系统中涉及到的动词有:
入库(enter depository ),出库(out depository ),盘点(check)、调价(change price)、付账(pay)、信息录入(information enter),等等。

2.2.2.2 类之间的关系
在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。

人组成的一组: 用户(user), 管理员(administrator), 过期日期(Due date),普通用户(common user),客户(client),生产厂家(manufacturer),供应商(merchant),销售员(seller),采购员(Buyer)
物品组成的一组:药品(drug),药库(Depository)
生成的单据组成的一组:账目(account), 发票(invoice),Check(支票),账单(bill), 入库单(enter depository bill), 出库单(out depository bill), 调价单(change price bill)

2.2.2.3 构建系统类图
在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。

下面先介绍一下类之间常用的几种关系以及他们的概念:
关联关系:关联(Association)表示两个类之间存在某种语义上的联系。
角色:关联两头的类以某种角色参与关联。
关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。
聚集和组成:聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。聚集可以进一步划分成共享聚集(Shared Aggregation)和组成。

继承关系:人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。继承(Generalization)定义了一般元素和特殊元素之间的分类关系。在UML中,继承表示为一头为空心三角形的连线。如图2-8中,将User进一步分为common user, administrator和business user,使用的就是继承关系。

依赖关系: 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。

2.3 系统需求研究
2.3.1 收集系统需求
在对一个系统的开发中,必须集中考虑用户的需求,这个步骤需要开发出系统的功能包图,每个包应代表系统的一个功能模块。
包:将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合。UML中这种分组机制叫包(Package)。
任何模型元素都运用包的机制。如果没有任何启发性原则来指导类的分组,分组方法就是任意的。在UML中,最有用的和强调最多的启发性原则就是依赖。包图主要显示类的包以及这些包之间的依赖关系。有时还显示包和包之间的继承关系和组成关系。

2.3.2开发系统功能包图
现在可以开发出系统功能包图如图2-11。在图2-11中,“系统”包由“界面”包和“单据”包和“使用者”包组成。这里称它们为"系统"包的内容。当不需要显示包的内容时,包的名字放入主方框内,否则包的名字放入左上角的小方框中,而将内容放入主方框内。包的内容可以是类的列表,也可以是另一个包图,还可以是一个类图。
在这里插入图片描述

图2-11系统功能包图

3 系统分析与设计
3.1 开发系统用例模型
用例能够帮助系统开发者理解系统的预期行为,因而是一个强有力的工具,它能够帮助开发者从用户的观点收集需求。

用例是一个强有力的工具,当使用UML可视化的表达出这些概念后,用例甚至会变得更加强大。可视化可以向用户显示用例,他们可以提供更多的信息。实际生活中用户常常知道的比他们清楚表达出来的要多:用例能够帮助用户解决这个问题。另
外,可视化的表达形式允许将用例图和其他种类的图结合起来。
系统分析过程中的一个目标是产生一组用例。此想法是要对用例进行分类整理,以便于引用。这些用例代表着用户对系统的观点。当要对系统升级时,用例目录可以作为进一步收集升级需求的基础。

3.2 系统数据库设计
3.2.1 数据流分析
数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。

商品进销存管理系统的数据流程:对本系统操作的数据源的用户为管理员用户。管理员用户可以进行信息查询、添加、修改、删除等相关操作。通过对本系统的需求分析,系统的基本功能已经确定。
整个系统的数据流程图如2-2:

在这里插入图片描述

2.3 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。

2.3.1 商品进销存管理系统的数据字典
1.数据字典列表——数据流
数据存储名称:管理员信息
数据来源:管理员信息表
数据去向:管理员登陆模块
数据组成:管理员信息=管理信息唯一标识+管理员帐号+管理员密码+管理员权限+注册时间
描述:存储了管理员的基本信息
数据存储名称:商品类别信息
数据来源:商品类别信息表
数据去向:商品类别模块
数据组成:商品类别信息=商品类别信息唯一标识+商品类别+添加时间+经手人
描述:存储了商品类别的注册信息
数据存储名称:商品信息
数据来源:商品信息表
数据去向:商品信息模块
数据组成:商品信息=商品信息唯一标识+货物名称+供货编号+进价+售价+数量+厂商等
描述:存储了商品信息
数据存储名称:客户信息
数据来源:客户信息表
数据去向:客户信息模块
数据组成:客户信息=客户信息唯一ID+客户编号+姓名+地址+身份证+性别+电话等
描述:存储了客户信息
数据存储名称:库存信息
数据来源:库存信息表
数据去向:库存信息模块
数据组成:库存信息=库存信息唯一标识+商品名称+价格+数量+添加时间+单位+编号等
描述:存储了库存信息
数据存储名称:销售信息
数据来源:销售信息表
数据去向:销售信息模块
数据组成:销售信息=销售信息唯一标识+货物名称+数量+价格+时间等
描述:存储了销售详细信息

2.数据字典列表——数据处理

在这里插入图片描述

3.数据字典列表——数据存储
在这里插入图片描述

3.2.2 商品进销存管理系统的数据项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.3 数据库需求分析
用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
1)用户为管理员用户;
2)管理员用户登陆后可进行管理员信息、货物信息及厂商信息等的维护,以且货物入库、货物出库及统计信息的维护;
经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
1)管理员信息,包括数据项:帐号,密码,权限等。
2)职员信息,包括数据项:职员ID,职员姓名,性别,电话,所在部门等。
3)货物信息,包括数据项:俄编号,货物名称,计量单位,供货厂商等。
5)销售信息,包括数据项:系统编号,货物名称,货物数量,销售价格等。
6)库存信息,包括数据项:系统编号,货物名称,统计数据等。
7)厂商信息,包括数据项:系统编号,厂商名称,负责人,电话,厂商地址等。
3.2.4 数据库概念结构设计
得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
设计规划出的实体有:管理员信息实体、客户信息实体、货物信息实体、库存信息实体、销售信息实体和厂商信息实体。

3.2.3 数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。
商品进销存管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。
表1为管理员信息表,存储系统中的管理员信息。
在这里插入图片描述

表1 管理员信息表(allusers)

表2为客户信息表,记录系统中客户的详细信息。
表2 客户信息表(kh)
在这里插入图片描述

表3为货物信息表,记录系统中已有货物的信息。
表3 货物信息表(allpro)
在这里插入图片描述

表4为库存信息表,记录货物库存的信息。
表4 货物入库信息表(kc)
在这里插入图片描述

表5为销售统计信息表,记录在销售统计的信息。
表5 销售统计信息表(xiaoshou)
在这里插入图片描述

4 开发系统
这是真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行。
4.1 编制代码
根据前阶段开发出来的类图、对象图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是Visual C#。

4.2 系统实现
VS.NET编程环境提供了一个统一的集成开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。

4.2.1 用户界面
用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。
下面以药品销售出库模块为例,来介绍程序的界面。如图4-1
在这里插入图片描述

图4-1药店进销存管理系统登录界面

系统界面设计十分简单,只有“用户名”、“密码”两个输入框及“登陆”一个按钮组成。此页面肩负着系统的安全,所以其安全性能要求很高。

4.3 部分系统界面及功能简介
4.3.1用户信息管理界面如图4-2
在这里插入图片描述
在这里插入图片描述

图4-2用户信息管理界面
此界面所完成的功能,为管理的系统用户信息,内容包括用户名、密码及再次确认密码。
4.3.2主界面 如图4-3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

图4-3 商品信息管理界面
此系列页面所实现的功能为管理商品(药品)信息,包括分类管理、添加、管理及查询等。
4.3.3客户信息管理界面 如图4-4
在这里插入图片描述
在这里插入图片描述

图4-4客户信息管理界面
此系列页面所实现的功能为管理客户信息,包括添加、管理及查询等。
4.3.4采购管理界面 如图4-5
在这里插入图片描述
在这里插入图片描述

图4-5采购管理界面
此系列页面所实现的功能为管理采购信息,包括支付、退货等。

结 束 语
经过这几个月的设计和开发,“基于.NET的药店进销存管理系统”已经完成了,其功能符合设计需求,能够完成入库、出库、调价、盘点、药品信息维护、查询等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。

此次设计中,我用SQL Server建立后台数据库,用VS.NET 的C#作为主要的应用程序开发工具,应用所学的UML知识进行了系统设计。运行环境是Windows

省略

致  谢
省略

参 考 文 献
1.(美) Wendy Boggs,Michael Boggs.UML与Rational Rose2002从入门到精通.北京: 电子工业出版社,2002.
2.(美)Joseph Schmuller.UML基础、案例与应用.北京:人民邮电出版社,2001.
3. 李满潮 .Visual C#.NET编程基础.北京:清华大学出版社,2002.
4. Meilir Page.JonesUML.面向对象设计基础.北京:科学出版社,2003.
5. 刘润东.UML对象设计与编程.北京:希望电子出版社2002.
6. Martin Flower,Kendall Sott.UML精粹——标准对象建模语言简明指南.北京: 清华大学出版社 ,1999.
7. Karli Watson Marco Bellinaso.康博译.C#入门经典.北京:清华大学出版社, 2002.
8. 孙三才 张智凯 许薰尹.C#与.NET技术平台实战演练.北京:中国青年出版社, 2002.
9. (美)普拉持(Platt,D.s.) .黄惠萍等译.Microsoft.NET精髓著.北京:机械工业出版社 ,2003.


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(源码+文档)C#_BS架构_药店进销存管理系统.zip
  • 2
    点赞
  • 21
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值