![cover](https://img-blog.csdnimg.cn/direct/ae9cc0e39617415ab83837f37a7689c0.png)
【精品毕设】基于JavaEE的企业采购部门管理系统(包含源码和论文)
摘 要本系统是基于为轴承企业采购部门开发的系统。课题主要采用自上而下的结构化程序设计方法与面向对象方法相结合的方法,致力于达到标准的现代化物流管理要求。帮助轴承企业采购部门全面实现电子化、自动化、标准化的现代化先进管理模式。该系统使用Visualbasic.net编程语言进行界面设计和代码设计,主要使用Visualbasic.net中的ADO.NET来对数据库进行各种操作,数据库设计使用SQL S
摘 要
本系统是基于为轴承企业采购部门开发的系统。课题主要采用自上而下的结构化程序设计方法与面向对象方法相结合的方法,致力于达到标准的现代化物流管理要求。帮助轴承企业采购部门全面实现电子化、自动化、标准化的现代化先进管理模式。
该系统使用Visualbasic.net编程语言进行界面设计和代码设计,主要使用Visualbasic.net中的ADO.NET来对数据库进行各种操作,数据库设计使用SQL Server 2000创建 。
该系统主要实现对货品信息和采购信息的管理,以采购管理系统为模型,以单据查询、采购管理、基本信息管理以及系统维护等为主要功能。
正文分八章:第一章是绪论,主要涉及系统的开发背景和开发目的;第二章至第七章讲述软件生命周期各阶段的任务、过程、结构化方法和工具;第八章是对整个文章的总结。
关键词:采购;查询;数据库设计;客户端/服务器模式
Anshun bearing purchase management system is developed for purchasing department of bearing enterprise. This article discusses the development of the system by combining the up-to-down method of structure program design and object-oriented method,trying to meet the requirement of management of standard and modern physical distribution, and enable the purchasing department of axletree enterprises electronic, automatic, standard and modern management mode.
The system adopted the Visual Basic.net language to develop the UI and main codes. ADO.net technology was used to complete various database operations. The database system is SQL Server 2000.
This system mainly implements the function of management of goods information and purchase information,drawing up the management system of purchase as the mode, with the function such as: query of bill, purchasing management, basic information management and system maintenance.
The paper encompasses eight chapters: Chapter One introduces the background and objective of the development of the system. Chapter Two to Chapter Seven focus on the task, process, structure method and tools at every stage of the software development life cycle. Chapter Eight is the conclusion of the whole paper.
Keywords: purchase; query; database design;C/S mode
目 录
随着人类社会的发展,在高节奏生活方式的今天,人们追求的是高效率。所以无纸化、自动化管理越来越受到管理者的青睐。在市场经济中,采购是企业运作的重要环节,在信息化时代借助信息系统辅助管理是必然趋势。
作为计算机应用的一部分,使用计算机对公司的采购信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高采购管理的效率。
因此,开发一套完善的采购管理系统就必不可少了。
本系统是基于为轴承企业采购部门开发的系统。本系统致力达到标准的现代化物流管理要求。帮助轴承企业采购部门全面实现电子化、自动化、标准化的现代化先进管理模式。它分工明确,对于采购部门实现的功能进行了全面的定义,便于操作和管理。本轴承采购管理子系统帮助采购人员控制并完成采购物料从采购收货、退货以及采购单据查询等的全部过程。可有效地监控采购计划的实施,采购成本的变动及供应商交货履约情况,从而帮助采购人员选择最佳的供应商和采购策略,确保采购工作高质量、高效率及低成本地执行,使企业具有最佳的供货状态。采购物品在采购完成后生成财务记账凭证,并根据供货厂家的供货情况对其进行优先等级划分,以方便采购员快速的选择厂家。此系统将要实现的基本功能如下:
采购管理:此功能对采购时的各个环节进行了全面的定义。如:采购收货、退货、优先级别,在采购时根据以往的采购记录进行优先级别划分,采购时作为参考,并对所采购货物是否付款及款额进行记录;
基本信息管理:此功能主要是记录公司基本资料、供应商资料、货品资料的信息以便日后查询。
单据查询:对采购的商品进行统计以及对每次采购、退货、供应商的信息进行记录保存,类似账本的功能。
系统维护功能:由操作权限、数据备份两部分组成。操作权限设置了管理员与操作员两种登录方式,管理员可完成所有信息的添加、修改、删除以及设置操作员权限等功能;操作员仅可对采购信息进行录入、修改以及对采购货品和厂商信息进行查询,其操作权限由管理员设置。
该系统运用Visual Basic.NET进行界面设计和功能的实现,以SQL Server 2000为后台支持进行数据库的设计。
VB.NET全称是Visual Basic.NET,也称Visual Basic7.0,起源于BASIC语言。BASIC是国际上广泛使用的计算机高级语言。BASIC是一种易学易用的高级语言,目前仍是计算机入门的学习语言之一。
Visual Basic.NET是Visual Studio.NET开发平台中的核心语言之一,是最新版本的Visual Basic。它对原版本进行了重大的升级和增强,成为了一个完全面向对象的语言,大大提高了日常开发的效率,这在使用数据库和Internet创建方案时尤其显得明显。Visual Basic是当前最流行的软件开发工具之一,由于它具有简单易学、开发效率高和开发周期短等特性,使得它深受广大软件开发人员的喜爱。但是由于以前的版本中,由于不完全支持面向对象的特性,使得它有点美中不足。在Visual Basic.NET中这一切都已得到完全改变,它已经成为一个真正的面向对象的语言,具有了支持继承、派生、重载等一切面向对象的特征。
Visual Basic.NET支持许多新的或改进的面向对象语言功能,如继承、重载、重写关键字、接口、共享成员和函数构造,同时还包括结构化异常处理、委托以及自定义属性和符合公共语言规范(CLS)。
Visual Basic.NET包含了增强版的ADO,称之为ADO.NET。ADO.NET的目标是操作离线数据,同时,对ADO的分布应用提供了强大的支持。ADO.NET提供了绑定数据库到Windows窗体控件和Web窗体的功能。
Visual Basic.NET现在完全与其他的Visual Studio.NET语言集成在一起,不仅可以通过不同的语言开发组件,而且通过交叉语言继承,可以从同一种语言编写的类中派生出用另一种语言编写的类。其调试功能也大大增强,同一程序的不同部分使用不同语言时,也可以进行调试,并且可以远程调试。
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL Server作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,它区别于FoxPro、Access小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。
SQL SERVER 2000往往成为数据库的首选。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。由于SQL Server与Windows界面风格完全一致,且有许多"向导(Wizard)"帮助,因此易于安装和学习,从另一个角度来讲,学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。Microsoft SQL Server 2000还增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据及执行快速、高级的分析工作。
1.Internet集成
SQL Server2000数据库引擎提供完整的XML支持。它还具有构成最大Web站点的数据库存储组件所需的可伸缩性、可用性和安全功能。SQL Server2000程序设计模型Windows构架集成,用以开发Web应用程序,并且SQL Server2000支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.伸缩性和可用性
一个数据引擎可以在不同的平台上使用,从运行Microsoft Windows 98的便携式电脑,到运行Microsoft Windows2000数据中心版的大型多处理器服务器。SQL Server2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能
SQL Server2000关系数据库引擎支持当今苛刻的数据库处理环境所需的功能。数据引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户开销减到最小。SQL Server2000分布式查询使用户得以引用来自不同数据源的数据,就像这些数据是SQL Server2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使用户得以多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱节用户,使这些用户自主的工作,然后将他们所做的修改合并返回服务器。
4.易于安装、部署和使用
SQL Server2000中包含一系列管理和开发工具,这些工具可改性在多个站点上安装、部署、管理和使用SQL Server2000的过程。SQL Server2000还支持基于标准的、与Windows集成的程序设计模型,使SQL Server2000数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使得用户得以快速交付SQL Server2000应用程序,是用户只需最少的安装和管理开销即可实现应用这些程序。
SQL是一种介于关系代数与关系演算之间的结构化查询语句,其功能不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又间接易学的语言。SQL语言及数据查询、数据操纵、数据定义和数据控制功能于一体。
SQL语言功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词:数据查询、数据定义、数据操纵、数据控制。语言接近英语口语,容易学习,容易使用。SQL语言采用基和操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
在VB.NET中将接触到全新的ADO.NET,它用一种全新的方式来处理数据,不再支持空间对DAO和RDO的数据绑定,而是转向大力发展ADO.NET的应用。ADO.NET是Microsoft最新引进的数据访问方法,它提供程序代码访问数据库的方式。
ADO.NET是.NET框架中的数据访问模型,主要涉及到System.Data、System.Data.SqlClient和System.Data.OleDb三个命名空间中的类。
ADO.NET可以自动连接网络,并让Web数据访问变得更加简单高效。ADO.NET提供两个功能:脱机记录集和对XML的支持。同时,ADO.NET还提供了许多新的功能。ADO.NET能够使用连接的或者非连接的记录集,具体将由用户选择的游标类型和游标位置决定。Dataset对象代表了一个在内存中有丰富功能的数据缓冲区。它也通过表组织数据,这些表与原始的数据源之间不存在连接。
在ADO.NET中,可以断开一个记录集集合的连接,通过一个默认的但允许更改的XML模式再现记录集集合。
ADO.NET还需要有OLE DB提供者的支持。在 OLE DBODB提供者的支持下,ADO.NET可以访问已有的ODBC数据源。ADO.NET中OLEDB包含四个对象,它们是:
OLEDBconnection,OLEDBCommand,OLEDBDataReader和OLEDBDataAdapter.
OLEDBconnection 对象用来与ADO.NET中的数据建立连接,这样其他的数据集控件可以共享OLEDBconnection控件建立连接,从而能够执行命令,返回并操纵元数据。
OLEDBCommand对象是向数据库中发送命令的中介,通过该对象,用户可以对数据库进行读取、修改和添加等操作。
OLEDBDataReader对象类似于“只能向前、只读”的记录集,但它是一个高度专用化的对象,无论在体积和开销上它都要比记录集小。
OLEDBDataAdapter类表示一组数据命令和一个数据库连接,它们用于填充DataSet和更新数据源。它是向数据库中发送命令的中介,通过该对象,用户可以对数据库进行读取、修改和添加等操作。
需要解决的问题是用最小的代价在尽可能短的时间内完成在轴承采购的管理。需要从技术可行性、经济可行性、操作可行性和法律可行性这几个方面着手进行分析。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。在这个阶段,信息单位必须就时间、人力、物力、财力、效益、技术等要素来评估他们是否有足够的资源支持使用单位的需要。要从技术可行性、经济可行性、操作可行性三个方面来进行研究。
VB.NET全称是VisualBasic.NET,也称VisualBasic7.0,起源于BASIC语言。BASIC是国际上广泛使用的计算机高级语言。BASIC是一种易学易用的高级语言,目前仍是计算机入门的学习语言之一。
Visual Basic.NET是Visual Studio.NET开发平台中的核心语言之一,是最新版本的Visual Basic。它对原版本进行了重大的升级和增强,成为了一个完全面向对象的语言,大大提高了日常开发的效率,这在使用数据库和Internet创建方案时尤其显得明显。Visual Basic是当前最流行的软件开发工具之一,由于它具有简单易学、开发效率高和开发周期短等特性,使得它深受广大软件开发人员的喜爱。但是由于以前的版本中,由于不完全支持面向对象的特性,使得它有点美中不足。在VisualBasic.NET中这一切都已得到完全改变,它已经成为一个真正的面向对象的语言,具有了支持继承、派生、重载等一切面向对象的特征。
因此该系统前台采用Visual Basic.NET作为界面设计的基础,后台采用SQL SERVER 2000数据库开发工具作为处理用户提交表单和连接数据库的设计方法进行开发建设。是目前比较成熟的技术,而且,有成熟的开发示例做导航,所以在技术上是可行的。
轴承企业采购部门总是面对大量货品信息,采购信息以及两者相互作用生成的财务记账凭证单据。本轴承采购管理子系统可有效地监控采购计划的实施,采购成本的变动及供应商交货履约情况,从而帮助采购人员选择最佳的供应商和采购策略,确保采购工作高质量、高效率及低成本地执行,使企业具有最佳的供货状态。采购物品在采购完成后生成财务记账凭证,并根据供货厂家的供货情况对其进行优先等级划分,以方便采购员快速的选择厂家。计算机技术在这些方面的应用有着美好的经济前景。
开发本软件的成本由下面几部分组成:
(1)硬件购置费,如计算机及相关设备的购置,不间断电源、空调器等的购置费。(2)软件购置费,如操作系统软件、数据库系统软件和其它应用软件的购置费。(3)人工费,主要是开发人员、操作人员、管理人员、的工资福利费等。
(4)专有技术购置费。
-
-
- 操作可行性
-
对于用户来说,合理方便的功能设计和快揭的操作才是最为重要的。同时也方便了企业的管理。
该系统的开发就是本着方便管理、方便用户。对于用户来说,设计合理、容易理解和操作的系统是非常必要的。一个简洁、明朗的界面和完整的功能设计足以满足用户的不同需求。所以该系统在进行设计时考虑到用户的心理,以方便用户使用和提高工作效率作为系统开发的根本。界面设计十分亲切,功能标题醒目,各种功能的实现简单容易上手是本系统最注重的特点,所以操作方面可行。
-
-
- 法律可行性
-
这个系统是在导师帮助下由我自己开发的,所以不涉及到任何侵权行为。而本系统主要为轴承采购部门开发的一个小型采购系统,由本人亲自开发,其主要用于采购操作,参考部分资料有详细说明,不涉及任何违法行为。因此本系统的开发在法律上是可行的。
需求分析就是分析并且满足用户的要求。需求分析是涉及数据库的起点,需求分析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。
需求分析是软件定义时期的最后一个阶段,主要任务是准确了解用户的需求,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,它做得是否透彻、完整、正确是软件项目成败的关键。
-
- 功能需求
通过采购管理系统下的基本信息管理、采购管理、单据查询、系统维护等,以及其子功能采购收货管理、退货管理,供应商信息、业务员信息、货品信息、公司基本信息,采购查询、退货查询、供应商查询、业务员查询、货品查询,操作权限设置、数据备份等。用户可以更加方便快捷的提高工作效率,实现更加层次化、系统化的管理采购。
-
- 需求建模
系统调查是系统设计者认识系统、以及同采购管理人员交流的过程,是设计系统的必要准备、在整个软件开发过程中占有非常重要的地位。有关人员进行调查,收集资料,并对系统开发的投入与可能的效益进行了分析和比较,结果收益远大于投入,于是建立计算机为基础的系统。
数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
其实,软件系统归根到底是一个信息处理系统,其最基本的功能就是接收输入的信息,对输入的信息按照规定的方法归类、处理、存储,转变为所需要的信息,最后通过输出系统向用户输出所需求的信息。其中最核心的部分就是对信息(或者称作数据)的处理,因此不同的数据也就不决定了所需要的不同的处理方法和算法。数据流图也就是以图形的方式将系统中数据传递、转化的过程以直观的方式表述出来。
数据流图的特点是:它是逻辑系统的图形表示,容易理解,是极好的通信工具,设计数据流图只需要考虑系统必须完成的基本逻辑功能,不需要考虑如何实现这些功能,是软件设计很好的出发点。
数据流图由以下四种基本符号组成:
1. 数据流名称:每个数据流都要有唯一的名称,箭头表示方
向。也有双箭头,表示双向流动。
绘制数据流图采用自顶向下、逐层分解的方法。下面是根据分析绘制出的轴承采购管理系统的顶层数据流图:
数据流图
上面较抽象的系统流图,接下来将介绍该系统的几个功能模块的数据流图,来说明相关部分具体实现的功能:
货品采购数据流图:
图3.4 单据查询功能数据流图
数据字典是结构化分析方法中的另一个重要分析工具。数据流图对信息处理逻辑模型的描述具有直观、全面、容易理解的优点,但没有准确、完整的定义图中的所有数据流,文件和底层加工进行准确、完整定义。这些图元定义条款汇集在一起即组成数据字典。总体说数据字典(Data Dictionary)对数据流程的各种成分起注释、说明的作用,给这些成分赋以实际的内容。
数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块做出相应的改变。
数据字典描述的主要内容:数据流、数据元素、数据存储、外部实体和数据处理。在系统分析中,数据字典起着重要的作用。
下面是采购管理的部分数据字典:
1、采购收货信息维护:
表3.5 数据元素—采购收货信息的定义
6、优先等级定义:
7、查询信息维护:
表3.11 数据元素—查询信息的定义
8、货品单价定义:
表3.12 数据元素—货品单价的定义
|
9、供货单位信息维护:
表3.13 数据元素—供货单位信息的定义
经过了前段时间的分析阶段工作,我们对于该系统应该实现哪些功能已经很清楚了,至此开始进入下一步的工作,该如何实现这些功能,也就是总体设计的工作。总体设计的基本目的就是概括的说,系统应该如何实现。因此总体设计又称为概要设计。总体设计的主要任务是根据需求规格说明导出系统的实现方案。而最终目标是用比较抽象、概括的方式确定系统如何完成预定的任务,也就是说要取得实现该系统的最佳方案。而另一项任务是设计软件的结构,也就是要确定系统中每个程序都是由哪些模块组成的,以及模块相互间的关系。
一般来讲,好的软件表现三个特点:其一是能够按照指定的要求进行工作,功能、性能都符合指定的要求;其二是软件是可维护的,可方便地进行修改;三是软件不只是代码,还有一套配置齐全的文档。而好的软件来自于最佳的设计方案。
所谓“模块”,又称“构件”,一般指用程序中的数据说明、可执行语句等程序对象的集合,还可以是单独命名和编址的元素。
在软件的体系结构中,模块是可组合、分解和更换的单元。在设计中可以选择其他程序已编写好的模块,其本身也可供其他程序使用。
模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。模块化就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,可以完成指定的功能满足问题的要求。
模块化就是对一个复杂问题,自顶向下,逐层的把软件划分成若干模块的过程。每个模块完成一个子功能,再按照某种方法把这些模块组装起来,成为一个整体,即可以完成指定的系统功能,满足问题的要求过程如果把整个软件看做一个模块,是很难被人理解的。但是把大的程序分为许多的模块,即把一个很复杂的问题划分为许多的小问题,解决也就容易多了。一个小的问题作为一个模块,不仅容易为人理解,而且能够单独地进行设计、测试和维护。从而可以提高软件的生产效率及可靠性和维护性。
下面是系统功能模块图:
图4.1功能模块图
数据库在一个信息管理系统中占有非常重要的地位,数据库设计的好坏将直接影响系统的效率以及实现效果。合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。
数据库除了用户的需求分析外,还包括概念、逻辑和物理设计三个阶段。
对于轴承采购管理系统,随时都会有采购信息的更改,因此,要满足这些数据的更新并且对已有的数据进行在线管理。有必要对后台数据库进行合理设计。数据库设计的质量直接影响到系统开发的速度,应用的效果和系统的生命力。
软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题,一个是数据,另一个是数据的处理。
为了把用户的数据要求清晰的表达出来,需要建立系统的概念性数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据进行建模。它描述了从用户角度看到的数据,反映了用户的实现环境。ER模型中包含“实体” 、“联系” 和“属性”等三个基本成分。
通常,软件系统中有许多数据是需要长期保存的,为减少数据冗余,简化修改数据的过程,应该对数据进行规范化。
实体联系的三种类型:
一对一:即一个实体在此种联系下只能对应一个实体。
一对多:即一个实体在此种联系下可对应其他一个以上的实体。
多对多:即一个实体类型中的多个实体与另一个实体类型中的多个实体想联系。
关系模式:
下面将安顺轴承采购管理系统的E—R模型转化为关系模型,关系主码用下划线标出。
货品(货品编号,货品名称,货品单价,供应商编号,生产日期,货品型号)
供应商(供应商编号,供应商名称,供应商地址,供应货品类型,联系电话,银行帐号)
用户(用户名称,密码,用户权限)
采购员(员工编号,员工姓名,工龄,联系电话,年龄,性别,工作单位,家庭住址,工作部门,职务)
根据对数据流图和数据字典的分析,各 E—R图如下所示:
货品实体E-R图:
图4.2 货品实体E-R图
供应商实体E-R图:
图4.3 供应商实体E-R图
.4业务员实体E-R图
采购实体E-R图:
实体E-R图
退货实体E-R图:
图 |
业务员实体E-R图:
业务员实体E-R图
实体间关系E-R图:
图4.8 实体关系E-R图
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。数据库重要用于保存销售商品的信息和其他一些相关的信息,并且都用不同的表存储。所以需要一个单独数据表来存放。因此,管理员信息要单独保存在一个数据表中。
该系统根据功能模块设计后台数据库,分为以下几个表:班级信息表、学生信息表、课程信息表等。
数据库的物理设计通常分为两步:
-
- 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
- 对物理结构进行评价,评价的重点是时间和空间效率。
具体结构如下:
表4.1 所有列表
字段 | 类型 | 长度 | NULL | 备注 |
用户名 | Varchar | 50 | 否 | 无 |
密码 | Varchar | 50 | 否 | 无 |
权限 | Int | 4 | 否 | 无 |
表4.2 货品列表
字段 | 类型 | 长度 | NULL | 备注 |
货品名称 | Varchar | 100 | 否 | 无 |
货品编号 | Char | 10 | 否 | 无 |
货品单价 | Char | 10 | 否 | 无 |
供应商编号 | Char | 10 | 否 | 无 |
生产日期 | Datetime | 8 | 否 | 无 |
货品型号 | Varchar | 50 | 否 | 无 |
表4.3 公司基本信息列表
字段 | 类型 | 长度 | NULL | 备注 |
业务员编号 | Char | 10 | 否 | 无 |
业务员姓名 | Varchar | 50 | 否 | 无 |
工作单位 | Varchar | 100 | 否 | 无 |
性别 | Varchar | 10 | 否 | 无 |
年龄 | Char | 10 | 否 | 无 |
联系电话 | Char | 20 | 否 | 无 |
家庭住址 | Varchar | 50 | 否 | 无 |
表4.4 供应商列表
字段 | 类型 | 长度 | NULL | 备注 |
供应商编号 | Char | 10 | 否 | 无 |
供应商名称 | Varchar | 100 | 否 | 无 |
联系电话 | Char | 20 | 否 | 无 |
邮编 | char | 10 | 否 | 无 |
供应商地址 | Varchar | 100 | 否 | 无 |
联系人 | Varchar | 100 | 否 | 无 |
银行帐号 | Char | 50 | 否 | 无 |
逻辑结构设计的任务是把概念结构设计阶段设计好的基本E—R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,是数据库设计中重要的一步。
E—R模型和关系模型是两种对数据库不同的描述,在E—R模型中用实体集和联系表示现实世界中的事物及其相互之间的关系;而在关系模型中则用单一的结构(二维表)来组织数据。
详细设计阶段的根本目的是确定应该怎样具体的实现所要求的系统,也就是说这个阶段的设计工作,应该得出目标系统的精确描述。从而在编码阶段可以把这个描述工作直接翻译成用某种程序设计语言书写的程序。
详细设计阶段的任务还不是具体的编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。所以说,详细设计的结果基本上是决定了最终的程序代码的质量。衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要是看它是否容易阅读和理解。详细设计更重要的是设计出的处理过程应该尽可能简明易懂。
接下来对系统中涉及的部分模块的流程、界面以及功能实现进行详细介绍。
结构设计本质上并不是无GO TO语句的编程方法,而是一种使程序代码容易阅读、容易理解的编程方法。在多数情况下,为了达到容易阅读和容易理解的目的,反而需要使用GO TO语句。结构程序设计是尽可能少用GO TO 语句的程序设计方法。
结构程序设计可以概括为:如果一个程序的代码块仅仅通过顺序、选择和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。
结构图如下:
图5.1 顺序结构图 图5.2 选择结构图
轴承采购管理系统包括两个子系统的设计,分别包括管理功能子系统和采购功能子系统。在登陆的时候可以根据用户的不同的权限登陆到不同的子系统。如果权限为管理员就登陆到管理功能子系统,如果权限为操作员和采购员则登陆到采购功能子系统。
把一个完整的系统划分为几个小的子系统,在无论在设计上还是在完成上都是一个好的选择。
该子系统是管理员进行操作的系统。它主要包括系统设置、货品信息维护、用户管理、采购信息记录等功能。用户管理设置了两种用户权限,管理员和操作员,其中操作员权限由管理员设置。
如下图所示:
能图
该子系统是为了方便企业采购货品方面的有擅管理的。该子系统是操作员进行操作的系统。该系统的功能主要是采购管理、单据查询、信息录入的功能。单据查询中可以查询货品信息、采购信息、供应商信息、业务员信息等。
如下图所示:
图
对于习惯了Windows操作系统的用户来说,利用菜单操作可以算是最自然的方法了。菜单中集成了用户在程序窗口中所完成的绝大部分操作,是程序开发中的核心元素。为了更好地组织信息,使显示的信息分类明确、层次清晰,制作者往往费尽心机。常用的方法有用树型结构显示信息,用框架(frame)组织页面等等。但对于习惯了Windows操作系统的用户来说,利用菜单操作可以算是最自然的方法了。菜单中集成了用户在程序窗口中所完成的绝大部分操作,是程序开发中的核心元素。VisualBasic.NET是面向对象的应用程序开发平台,菜单是用户界面设计中一个非常重要的内容。除了用户熟知的各种窗口菜单外,应用程序还可以拥有多个在运行时改变的菜单,不同的局部菜单,甚至是用户自行定义的系统菜单等。可以把菜单看作为一个用户命令集,它把诸多需要提供给用户的命令按照类别合理组织,并直接展现出来,由此使用户可以很方便地操作命令。
菜单的分类:
根据用户的习惯以及所应用场合的不同,窗口中的菜单可以具有不同的表现形式。在应用程序中,下拉菜单是最直观、最普遍的菜单类型,除此之外,菜单类型还有级联子菜单和弹出菜单等。
1.下拉菜单
下拉式菜单由若干个显示在窗口顶部的主菜单条和各个菜单条下面的子菜单组成。每个子菜单往往还包含几个子菜单项。通常,只有菜单条显示在窗口中,并且当鼠标指针指向菜单条时,菜单条的子菜单才显示出来。当鼠标指针离开菜单时,子菜单则隐藏起来,回到只显示主菜单条的状态。菜单中集成了用户在程序窗口中所完成的绝大部分下拉菜单的各菜单标题并排排列在应用程序顶部的菜单栏里,每一个菜单标题都分别对应一个含有多个不同菜单项的下拉菜单。用户可以在当前窗口中选中所需的菜单标题执行相应的操作,当用户对某个菜单标题进行操作时,该菜单标题就会以特殊的颜色高亮度显示,为用具体是当前操作对象。
2.弹出菜单
弹出式菜单(popmenu)大家都熟悉,在win98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单。通常情况下,弹出式菜单在鼠标右键单击时弹出,当然,也可以根据需要随时弹出。弹出菜单只是在某一个程序指定事件被触发的同时打开,它没有被附加到应用程序顶部固定的菜单栏里,只需要用户在程序代码中通过popupmenu属性和弹出菜单关联,指定该触发事件及弹出菜单在屏幕上所显示的打开位置。弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单。在弹出式菜单上显示的项目取决于按下鼠标右键时指针所处的位置;因而,弹出式菜单也被称为上下文菜单。
弹出菜单与下拉菜单实现机理有所不同,下拉菜单及下拉菜单中所执行的相应操作不需要编写程序代码实现。相比之下,弹出菜单的使用更加随意、更具有灵活性。
3.级联子菜单
在菜单控件中,缩进到第三列以后的菜单控件,叫做子菜单。一般说来,子菜单控件可以包括子菜单项、分隔符条和子菜单标题。在Visual Basic.NET中,最多可以有四级子菜单。
尽管有许多理由要用到子菜单,但仍然提倡少用,并严格限制子菜单级数。因为过多的子菜单将会增加用户操作的负担。
双击工具箱中“Windows窗体选项卡”下的MainMenu(主菜单)控件,在窗体设计窗口的下面出现一个显示不可见控件的窗格,里面显示一个名为MainMenu1的菜单控件。选中窗体,设置窗体的Menu属性值为“MainMenu1”。在可以加入新菜单项的地方都标有“请在此输入”的提示文字,单击提示文字后输入该菜单项上文字为“系统维护”,这个空菜单项就会变成新的菜单项。用同样的方法添加其他同一级菜单和下一级菜单。
启动VB.NET,利用默认的设置新建一个工程,并将其保存为“采购管理.vbproj”。在Application选项卡中修改工程的Text属性为“采购管理系统”,并为项目选择一个.exe程序的图标。
- 在添加的login的窗体中添加必要的控件,来设计登录窗体,用来完成系统登录功能。其具体步骤如下:
-
- 在窗体中添加需要的控件,将两个TextBox控件、两个Button控件、二个Label控件[工具箱]拖放到窗体中,并调整他们在窗体上的大小和相对位置。
- 在[属性]设置窗体中设置这些控件及查的相关属性,窗体和各控件的属性。
-
图5.5 登录主界面
2. 设计系统登录界面
(1)在窗体中添加控件,将2个Label控件、2个Button控件和2个TextBox控件从[工具箱]中拖放到窗体中或者组件面板中,并调整控件的大小和位置。
(2)设置窗体个各控件的属性,在[属性]设置穿体中分别对这些控件和窗体设置相应的属性。
图5.6系统主界面
- 添加用户界面:
在窗体中添加需要的控件,将一个GroupBox控件,三个TextBox控件、两个Button控件、四个Label控件[工具箱]拖放到窗体中,并调整他们在窗体上的大小和相对位置。
在[属性]设置窗体中设置这些控件及查的相关属性,窗体和各控件的属性。
图5.7 添加用户界面
- 货品信息维护界面:
在项目中添加新的Windows窗体,命名为“添加供货单位.vb”。窗体中添加控件,将2个Button控件、6个TextBox控件、1个DataGrid控件和6个Label控件从[工具箱]中拖放到窗体或者组件板中。并调整控件的大小和位置。设置窗体和各控件的属性,在[属性]设置窗体中分别对这些控件和窗体设置相应的属性。
图5.4货品信息维护窗体
图5.5添加供货单位窗体
2. 采购信息维护界面:
在项目中添加新的Windows窗体,命名为“添加退货.vb”。
窗体中添加控件,将2个Button控件、4个TextBox控件、1个DataGrid控件和4个Label控件从[工具箱]中拖放到窗体或者组件板中。并调整控件的大小和位置。设置窗体和各控件的属性,在[属性]设置窗体中分别对这些控件和窗体设置相应的属性。
图5.6采购信息维护窗体
图5.7 添加退货窗体
3. 基本信息维护界面:
在项目中添加新的Windows窗体,命名为“修改业务员.vb”。其中业务员添加步骤如下:窗体中添加控件,将2个Button控件、5个TextBox控件、1个GroupBox控件和5个Label控件从[工具箱]中拖放到窗体或者组件板中。并调整控件的大小和位置。设置窗体和各控件的属性,在[属性]设置窗体中分别对这些控件和窗体设置相应的属性。
图5.8基本信息维护界面
图5.9业务员修改界面
选择工具箱中“Windows窗体选项卡”下的MainMenu(主菜单)控件,显示一个名为MainMenu1的菜单控件。选中窗体,设置窗体的Menu属性值为“MainMenu1”。在可以加入新菜单项的地方都标有“请在此输入”的提示文字,单击提示文字后输入该菜单项上文字为“采购管理”,这个空菜单项就会变成新的菜单项。同样方法继续添加新的菜单。向该窗体中添加如图5.9所示。
图5.10采购管理窗体
1.单据查询界面设计
在项目中添加新的Windows窗体,命名为“frmSearcher.vb”。
(1)窗体中添加控件,将3个Button控件、5个TextBox控件、1个DataGrid控件、2个GroupBox控件、6个ComboBox控件和5个Label控件从[工具箱]中拖放到窗体或者组件板中。并调整控件的大小和位置。
(2)设置窗体和各控件的属性,在[属性]设置窗体中分别对这些控件和窗体设置相应的属性。
(3)给ComboBox1控件添加三项,添加的项是:“货品查询”,“采购查询”、“退货查询”、“供货单位查询”、“货品查询”和“业务员查询”。
图5.11单据查询窗体
2.采购货品信息添加界面:
(1)在项目中添加新的Windows窗体,命名为“收货管理.vb”.
(2)在窗体中添加控件,将1个ComboBox控件、1个DataGrid控件、2个Button控件、4个TextBox控件和4个Label控件从[工具箱]中拖放到窗体中或者组件板中。并调整控件的大小和位置。
(3)设置窗体和各控件的属性,在[属性]设置窗体中分别对这些控件和窗体设置相应的属性。
(4)给Combobox1控件添加项,即通过ComboBox控件的“字符串集和编辑器”来进行添加。
图5.11采购货品添加窗体
在窗体中添加需要的控件,将两个TextBox控件、两个Button控件、二个Label控件[工具箱]拖放到窗体中,并调整他们在窗体上的大小和相对位置向该窗体中添加。在[属性]设置窗体中设置这些控件及查的相关属性,窗体和各控件的属性。
如图5.8所示控件。
图5.12操作员登录窗体
-
- 模块的设计
安顺轴承采购管理系统模块的详细介绍:
1. 管理功能模块
该子系统是管理员进行操作的系统。它主要包括系统设置、货品信息维护、用户管理、采购信息记录等功能。货品信息维护包括货品信息的添加、修改、删除;用户管理设置了两种用户权限,管理员和操作员,其中操作员权限由管理员设置;系统设置包括管理员和操作员登录两种方式,并设置了数据库备份功能;采购信息记录包括货品采购和货品退货信息的记录。
2. 采购管理模块
系该子系统是为了方便企业采购货品方面的有擅管理的。该子系统是操作员进行操作的系统。该系统的功能主要是采购管理、单据查询、信息录入的功能。单据查询中可以查询货品信息、采购信息、供应商信息、业务员信息等。
系统流程图基本图例采用以下几种方法:
图5.13 采购管理操作流程图
测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免的会产生差错。
所以说,测试是软件开发过程中最艰巨最烦琐的任务,无论怎么样强调它的重要性都不为过。尤其是它对软件可靠性的影响更为重要。
总体说,测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。
为了能够达到有效的测试方案,软件工作人员都需要深入理解并正确掌握软件测试的基本准则。
(1)所有测试都应该能追溯到用户需求。从用户的角度出发,最严重的错误是导致程序不能满足用户需求的那些错误。
(2)应该远在测试开始之前就制定出测试计划。在建立设计模型之后可以立即开始设计详细的测试方案。所以,在编码之前就可以对所有测试工作进行计划和设计。
(3)把pareto原理应用到软件测试中。
(4)应该从“小规模”测试开始,并逐步进行“大规模”测试。通常,首先重点测试单个程序模块,然后把测试重点转向在集成的模块中寻找错误,最后在整个系统中寻找错误。
(5)穷举测试是不可能的。所谓穷举测试就是把程序所有可能执行的路径都检查一遍的测试。
(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。所谓“最佳效果”是指有最大可能性发现错误的测试。由于前面已经讲过的原因,开发软件的软件工作人员并不是完成全部测试工作的最佳人选。
通常测试方法有两种:黑盒测试和白盒测试。
黑盒测试:就是在不要求了解系统内部构造的前提下,通过用户的输入来对系统进行功能上的测试,也可以说成功能测试。如果已经知道了产品应该具有的功能,可以通过测试来检查是否每个功能都能正常使用。
白盒测试:如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否能按预定的要求正确工作,白盒测试也称为结构测试。
测试过程也需要分步骤进行,后一个步骤是前一个步骤的继续。因此,软件系统的测试过程基本上由以下几个步骤组成:
在这个系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其他模块的功能之间没有互相依赖的关系。因此,可以把每个模块作为一个独立的实体来测试,比较容易设计检验模块正确性的测试方案。这个测试的目的就是为了保证每个模块作为一个单元能正确运行。
发现的错误:在做模块测试过程中,我发现部分编码的编写有错误。
子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块接口。
发现的错误:在这个模块测试过程中我发现几个模块的连接出现了问题。
系统测试是把已经通过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和的错误,还应该验证系统确实能提供需求说明书中的所要求的功能。
发现错误:在这个模块测试过程中我发现了一些软件设计中的错误。
验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发展的往往是系统需求说明书中的错误。因此,验收测试也称为确认测试。
未有错误发现。
单元测试集中检测软件设计的最小单元—模块。单元测试的主要使用白盒测试技术,而且对多个模块的测试可以并行的进行。
测试重点有:模块测试、局部数据结构、重要的执行通路、出错处理通路、边界条件。
在代码审查过程中,我发现很多代码的书写格式出现了错误,比如说,有些地方需要用花括号括起来,但是由于疏忽忘掉了;定义一些字段的长度也出现了问题,改成统一的长度后就可以运行了。操作员密码在修改后出现数据库连接错误的问题,但是在对代码进行修改后解决了此问题。
确认测试也称为验收测试,它的目标是验证软件的有效性。确认测试必须有用户积极参与,或者以用户为主进行。确认测试通常使用黑盒测试法。确认测试可能出现的两种可能结果是:功能和性能与用户要求一致,软件是可以接受的;功能和性能与用户要求有差距。
下面采用黑盒测试法对教务管理系统进行测试,看系统是否达到预期目的。
(1)查询窗体的测试
选择“管理系统的采购管理”菜单命令,即可进入“采购管理”功能窗体,在其中输入与货品相关的信息,需要新增或修改货品信息,单击相应的按扭,输入新信息后单击“确定”按钮即可。需要删除信息,单击“删除”按钮。
选择“管理系统”“单据查询”菜单命令,进入“单据查询”功能窗体,在此输入货品相关的信息。其中“货品编号”“供应商编号”“业务员编号”和“采购员编号”列表框都是通过和数据库中相应的代码表关联出列表框的选择项,选择下拉的一个列表项目后,保存的是该项目的编号信息。
选择“系统维护”“管理员登录”菜单命令,进入“管理员登录”功能窗体,在其中设置操作员帐号,操作员只能使用管理员设置的操作员帐号登录这个系统,否则没有登录权限。使用管理员登录后可以实现对各类信息的添加、删除、修改、查询等操作,操作员登录后只能对信息进行修改、添加、查询功能,不能对信息进行删除,此权限由管理员设置。
选择“采购管理”“采购货品”菜单命令,进入“采购收货”功能窗体。首先在编辑框中输入所采购货品的信息并回车,系统显示出对应的货品信息和货品采购的数量、价格、供应商、业务员和采购员等信息;然后在“采购查询”中输入采购货品查询条件,查询并选择希望查询的货品,单击“查询”按扭,系统将会检查该货品是否被采购,以及数量是否是采购员所要采购的货品。
采购完成后,选择“采购管理”“货品查询”菜单命令,进入“货品查询”功能窗体,这里可以查询对应货品。在窗体口中利用单击菜单命令生成的货品查询窗体可以通过输入编号然后查询货品的信息。
(2)数据库的连接测试
数据库的连接要实现数据控件显示数据库中的数据,必须先用数据连接控件将数据库连接上,然后用查询组件或表组件实现与数据表的连接。再用数据源与查询组件或表组件进行连接,最后将数据控件与数据源连接。在进行数据库连接时,由于没有将查询组件或表组件的Active属性设置为True,数据控件中不显示数据。由于没有将连接组件的ConnectionString属性连接上数据库,就设置查询组件或表组件的Active属性设置为True,因此出现连接错误。
通过测试完之后,该系统的各界面的功能基本达到本次设计的要求,能够满足一般用户的需求,能够对采购管理系统起到方便、快捷以及准确等等。
该系统从结构上来讲不同于以往我们所见的采购管理系统的界面风格,但实现的功能基本相同。
在软件产品被开发出来并交付用户使用之后,就进入了软件的运行维护阶段。这个阶段是软件生命周期最后一个阶段,其基本任务是保证软件在一个相当长的时间能够正常运行。
软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
软件维护通常包括四类活动:为了纠正在使用过程中暴露出来的错误而进行的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;以及为了改进将来的可维护性和可靠性而进行的预防性维护,本程序主要采用的是改正性维护与完善性维护。
在程序的设计过程中,我不断地采用可改正性维护,使程序逐步的减少错误的发生。在程序设计完成后,我继续进行完善性维护,不断增加系统的功能,完善系统的功能,使系统能够更好的运行。
本系统的维护措施有数据备份,管理员可以经常对数据库信息进行备份,以防止数据库被破坏。同时还包括对用户权限的管理,通过对不同用户设置不同的权限,防止用户对无权操作的数据进行修改。当操作员进入系统后,系统会根据操作员的权限,对其权限进行设置,如不可使用删除按钮,以防止操作员进行非法操作。
软件维护是软件使用中的重要部分。软件的维护会一直持续到软件报废为止,也就是软件再也没有维护的价值了,必须报废再开发新的软件来替代它。只有到此时,软件的生命周期结束了,也就不用再进行维护了,软件的维护也就到此终止了。所以说,我们不能忽略软件维护这个问题。
本系统各模块功能均已得到较好的实现,符合设计标准,达到了用户要求,具有较好的即时交互性和并发性。我负责开发了并实现了系统维护、采购管理、单据查询、退出系统。
在数据方面,采用SQL Server2000,其具有备份、恢复功能,并具有较好的并发控制。
[1] 东方人华、吕伟趁臣、霍言编著. VisualBasic.NET入门与提高. 北京:清华大学出版社, 2004:23-45
[2] 苏国彬编著. Visual Basic.NET程序设计基础教程.北京:机械工业出版社, 2006:47-90
[3] 王晟,万科编著. Visual Basic.NET数据库开发经典案例解析. 北京:清华大学出版社 2005:124-134
[4] 宋坤,邹天思编著. Visual Basic.NET数据库系统开发完全手册.北京:人民邮电出版社 2006:89-100
[5] 黄志超,李婷婷编著.Visual Basic.NET项目开发实践.北京: 中国铁道出版社,2005:45-67
[6] 章立民.SQL中文版完全实战入门篇. 北京:中国铁道出版社,2001:78-90
[7] 刘晓华.SQLServer2000数据库应用开发.北京:电子工业出版社,2001:45-67
[8] 朱如龙.SQLServer数据库应用系统开发技术.北京:机械工业出版社, 2004:78-90
[9] 彭东.SQLServer2000应用开发技术指南.北京:清华大学出版社,2001:90-123
[10] 张欣.SQL的发展前景.计算机研究与发展,2004年10期
[11] [美]Jeffrey Hoffer. Modern Database Management.北京:电子工业出版社,2003:90-122
[12] 尹萍.SQLServer数据库性能优化.计算机应用与软件,2005年8期
[13] 余金山.SQLServer 2000Programming Guide编程指南.北京:北京希望电子出版社,2001:66-78
[14] 王良元.SQL连接、嵌套与混合查询,电脑学习. 2005年1期
[15] [美] Michael Orey,Paul Conte,SQL Server 2000开发指南.北京:清华大学出版社,2002:90-133
更多推荐
所有评论(0)