基于B/S结构的物资进出口管理系统
[摘 要] 本文阐述了一个实际应用的物资进出口管理系统的开发过程。在本项目的开发过程中,注重使用新技术、新工具,本系统采用Microsoft Visual Studio 2008环境进行开发,目标为.net Framework 3.5,开发语言主要为C#、Java Script、XHTML 1.0,数据库为Microsoft SQL Server 2005,使得软件的结构更趋合理、方便及实用,并大大提高了整个软件系统的性能。
[关键字] 物资管理 进出口 B/SJava Script
一、系统概述
目前,市场上的物资管理软件林林总总,有单机版的也有网络版的,有基于C/S的,也有基于B/S的。总体来说,有不少公司开发了针对于我国建筑行业的许多应用软件。但是由于中国建筑企业走出国门,推向世界的脚步越来越快,越来越多的企业在海外承揽建设工程项目,涉及到海外进出口业务的软件却不多。
正是出于对上述问题的考虑,我们参考某建筑公司对于物资进出口管理方面的需求,制作了基于B/S的物资进出口管理系统,解决海外工程物资进出口管理中的问题[1]。
本系统可以为集团提供一套完整的物资进出口管理环境,降低物资管理中因人为因素产生的风险,并可以将数据进行实时的分析和汇总,掌握物资的库存情况,合理的使用资金,降低投资风险,保证工程进度。
二、需求分析
软件需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的和软件同其它系统元素的接口细节,定义软件的其它有效性需求。通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。在软件完成后,制定的软件规格说明还要为评价软件质量提供依据[2-3]。做好需求分析工作,是做好一个成功软件系统的第一步。在此,我们将通过使用面向对象的软件工程对物资进出口管理系统进行详细的需求分析。
1、功能性需求分析
功能性需求描述了系统与其于系统环境之间的交互,包括用户和任何其他据与该系统进行交互的外部系统。该部分主要是要搞清楚用户对于业务上的要求有哪些,通过与客户的沟通,确定系统提供的业务功能。
物资进出口管理主要涉及到采购、运输、付款、退税等方面。考虑到集团本身已经使用ERP系统,我们在设计本系统的时候,所开发的资源尽可能的以集团ERP为中心(比如材料编码、供应商编码等),系统预留ERP的接口,其数据可以从ERP导入,亦可以为ERP提供数据。我们通过分析物资进出口管理的特点,结合与集团内部物资进出口管理人员的沟通,最终设计了下图所示五个功能模块[4]:
2、用例模型分析
用例图就是由主角、用例以及它们之间的关系构成的图。该图说明了用例模型中的关系。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
本系统主要面向公司中的各个层次的不同部门,因此就角色划分来说比较复杂,概括起来主要有以下几种角色:超级管理员、综合管理员、物资部、合约部、采购部、财务部、运输部。我们对物资进出口管理进行了系统用例分析,该系统的用例分析图如下:
三、系统概要设计
1、系统功能结构
一般来说,物资进出口管理主要涉及各种材料的采购、运输、付款退税管理等许多方面。通过这么多年的发展,物资进出口管理涉及的范围和内容也越来越广泛,因此我们在设计本系统的时候,对企业的发展和系统的扩展也预留了足够空间,在业务和材料单位等方面都可以进行扩充。我们通过分析物资进出口管理的特点,结合集团物资进出口管理人员的沟通,设计了以下公共信息管理、采购管理、运输管理、付款退税管理、系统管理五个功能模块。根据企业提出的要求,我们设计了基于Web的物资进出口管理系统。
2、数据库设计
数据库是信息系统的核心和基础。一个信息系统的各个部分能否紧密结合在一起以及如何结合,关键在数据库。因此只有对数据库进行合理的逻辑设计和有效的物理设计才能开发出完善而高效的信息系统。本系统采用B/S三层体系结构和SQL Server数据库,在结构中第三层为数据库服务器,它的功能是接收Web服务器对数据库的操纵请求,因此数据库的设计尤为重要。
(1) 数据库开发工具的选择
物资进出口管理信息系统主要应用于建筑业物资进出口管理各个环节,提升集团在物资进出口管理中的效率,并为企业综合配置资源提供数据支持。
系统开发平台:
服务器端
系统:windows2003 server 操作系统
数据库:SQL Server 2005
开发环境:Microsoft Visual Studio .net 2008
客户端:
系统:win98/xp/vista 操作系统
数据库:SQL Server 2005[5]
为充分利用该公司的现有计算机设备和网络资源,降低开发和使用成本,本系统采用瘦客户端B/S结构,配置一台服务器,普通客户端可直接通过浏览器与服务器连接,管理相关业务。
(2) 数据表设计
物资进出口管理系统的数据库通过SQL Server 2005建立,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。在充分了解系统功能需求基础上,业务办理时需要涉及到五个方面的数据表:公共信息模块的数据表、采购管理模块的数据表、运输管理模块的数据表、付款退税管理模块的数据表、系统管理模块的数据表。
四、系统详细设计与实现
1、系统建模
统一建模语言(Unified Modeling Language,UML) 是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化、详述、构造和文档化。从企业信息系统到基于web的分布式应用,甚至严格的实时嵌入式系统都适合于用UML来建模。它是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础装配系统。
本系统共分为五个活动模块,在进入每个模块前,首先进行系统模块权限判断。如果登录用户不具备该子模块的最低操作权限,则禁止进入该子模块,此模块会自动隐藏。当用户进入对应权限的模块后,系统会根据用户对应角色和权限,生成对应的操作页面。系统5个子模块在操作上是互相平行的,它们的内在关系通过数据库和程序来控制。UML活动关系图如下:
2、数据库连接驱动
本系统采用Microsoft Visual Studio 2008环境进行开发,目标Framework为.net Framework 3.5,开发语言主要为C#、Java Script、XHTML 1.0,数据库为Microsoft SQL Server 2005。
系统在设计中采用工厂模式三层结构进行开发,系统共设计使用到如下7个类库:
类库名称 功能
BandWay.Web 存放页面文件
BandWay.Logic 逻辑代码
BandWay.Common 公共方法
BandWay.Cache 缓存的操作
BandWay.Data 数据库的访问与操作
BandWay.Config 配置文件的操作
BandWay.Entity 数据库实体类
类库之间的继承关系如下:
本系统采取编写统一驱动的方法连接数据库,数据库连接的配置信息在Sys.config中。
server=127.0.0.1;uid=sa;pwd=kk6;database=tradedatabase
读取数据库链接配置的代码写在Config类库中,部分类代码如下:
namespace BandWay.Trade.Config {
/// 基本设置描述类, 加[Serializable]标记为可序列化
[Serializable]
public class BaseConfigInfo : IConfigInfo {
private string m_connectionString = ““;
//获得数据库连接字符串
public string Connectionstring {
get { return m_connectionString; }
set { m_connectionString = value; }
3、系统登录设计
本系统对登录系统管理模块的用户采用基于验证码及密码的认证方式。认证的流程:
通过这种方式可以有效的保证对系统管理模块的授权和安全访问。系统登录模块的主要功能,是在用户输入登录信息并提交后,验证用户登录信息的正确性。在用户的登录信息进行验证后,若得到正确的返回结果则进行下一步的后续操作,也就是根据用户的登录信息初始化用户的权限列表;反之,若得到错误的返回结果则使系统的界面跳转到登录界面,并提示用户登录信息错误信息。
登录界面在Web类库中的aspx\\common\\login.aspx页面实现,该页面也是整个应用程序的起始页面,用户都是从该页面登录进入应用系统中的。用户登录系统之后,进入系统平台的主页面。效果图如下:
五、总结
本系统着眼于目前我国建筑行业走出国门承接海外工程中对于物资进出口管理环节中出现的问题,通过采用面向对象的分析和设计方法,对物资进出口管理系统的分析、设计和实现进行了详细的论述。
经过一段时间的运行,系统基本上达到了一开始的设计目的,从很大程度上提高了物资进出口各个环节的管理效率,起到了一定的示范作用。虽然目前系统
中还有一些不足,如系统的个别界面操作不方便,与ERP系统接口需要进一步完善等。这些都将通过与用户的继续沟通,不断的进行修改。
物资进出口管理系统作为建筑行业ERP系统的一个补充环节,将会被越来越多的企业所重视,随着大家的不断使用和改进,该系统的功能一定会不断的完善。
参考文献:
[1][美] Joe Celko,SQL沉思录,北京:人民邮电出版社,2009.
[2]牛振东,软件体系结构,北京:清华大学出版社,2007.
[3]施平安译,软件项目管理实践,北京:清华大学出版社,2003.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文