企业库存管理系统的设计与实现
面能够提供更佳的用户感受,.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 分析方法
为了适应开发过程多方面的挑战,不同的组织和不同的应用领域需要采取不同的开发过程才能提高开发效率。我在系统的设计开发中,使用了“快速应用工程指导原则”(Guidelines for Rapid APPLication Engineering),简称GRAPPLE。GRAPPLE的思想并没有脱离以往的UML分析方法——RUP(Rational Unified Process, 统一开发过程)。它是一组可以自适应的,灵活的开发思想,可以适应与许多不同组织的软件开发过程,让开发者发挥自己的创造力和好的思想来构建自己的组织。
GRAPPLE由5个段组成,即需求收集,分析,设计,开发,部署。本次的论文,便是以GRAPPLE方法的基本结构、步骤来构架的,由于在软件的构建阶段,设计和分析都可以往返进行直到设计完成,所以在论文中,我将分析与设计合并为一个章节来叙述。之后在设计的基础上使用微软的Visual C#完成系统的实现。
3 / 26
企业库存管理系统的设计与实现
2.需求收集
2.1 业务过程分析
开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。
“企业库存管理系统”需要实现的功能有主要有:基本数据、入库管理、出库管理、退货管理、系统维护等,可以用下面的业务流程图来表示它们之间的关系:
图2-1 系统业务流程
此次设计的库存管理系统需要完成的主要功能有:入库管理、出库管理、退货管理、等一系列与业务流程相配套的完整功能。
在系统中,主要的业务流通领域词汇有以下几大类:采购计划、入库管理、财务验收、付款处理、出库管理、调价处理、退货管理、查询、商品信息管理的总体活动可以由下图来描述:
4 / 26
企业库存管理系统的设计与实现
图2-2 企业库存管理的活动图
2.2 研究领域分析
现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。
2.2.1 初步用例模型开发
用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。 用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。
参与者、用例和互连线共同组成了用例模型(use case model).
5 / 26
企业库存管理系统的设计与实现
下图说明了这些符号:
图2-3 用例模型示例
图2-4 系统UML用例图 2.2.1.1 开发系统业务角色
首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。
2.2.2 开发初步类图
2.2.2.1 系统中的类
类图(Class Diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。
6 / 26
企业库存管理系统的设计与实现
对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。
类描述一类对象的属性(Attribute)和行为(Behavior)。在UML中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略)。图1中,\运动员\就是一个典型的类。
类的获取和命名:最顶部的格子包含类的名字。类的命名应尽量用应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。类的获取是一个依赖于人的创造力的过程,必须与领域专家合作,对研究领域仔细地分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。一般而言,类的名字是名词。
图2-5 运动员类图示例
系统中包含的类: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept)
商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse)、入库单表头(ShBill)、入库单表体(ShBillList)、出库单表头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、退货单表体(ShBillList)
2.2.2.2 类之间的关系
在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。
人组成的一组: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept) 物品组成的一组:商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse) 生成的单据组成的一组:入库单表头(ShBill)、入库单表体(ShBillList)、出库单表
头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、
退货单表体(ShBillList)
2.2.2.3 构建系统类图
在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。
7 / 26