产品销售管理系统的设计和实现Word文档格式.docx
《产品销售管理系统的设计和实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《产品销售管理系统的设计和实现Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
![产品销售管理系统的设计和实现Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/8/9f69a299-b3b7-4e97-ad45-b814ec62c542/9f69a299-b3b7-4e97-ad45-b814ec62c5421.gif)
有的人认为将产品销售管理软件买来即可,对实施的重要性理解不够,有的甚至说只要提供说明书即可,还有的急于求成,要求在短时间见到成效,这些做法是不切实际的。
(2)企业与产品销售管理软件提供商配合不够
企业在实施过程中配合不够,认为买产品销售管理软件出了钱,其它的事情都是软件公司的,企业被动地等着使用。
应该说企业通过反复考查和选型,一旦选定了软件,企业应该与产品销售管理软件提供商建立一种长期合作的关系,更准确地说应是建立合作伙伴关系,二者应密切配合,以使所购的产品销售管理软件在企业能充分用好,为企业解决实际问题,带来直接的经济效益。
(3)企业的标准太老或没有标准
企业现有的标准太老,不太适合计算机处理。
随着制造业信息化的发展,标准化落后于新技术的发展,满足不了企业需求的矛盾逐步显现。
这些新技术很快就被利用为企业信息化管理平台,以及新的企业与客户、企业与企业、个人之间的沟通渠道。
最为重要的是无沦信息来自哪项技术、哪个渠道,它都去更改同一个数据库,而保证了不同渠道看到的信息是同步的。
这包括客户、供应链和其他各种企业信息。
(4)企业的需求超前
企业提出一些超前或不切实际的功能要求,而产品销售管理软件暂时不能满足。
有的企业认为越先进的功能越好,在选型过程中一味追求先进,而没有考虑是否实用、是否可靠、是否有局限性等等问题。
(5)企业推行的力度不够
有人说:
企业信息化的决心和态度,问题不在技术,关键在于企业领导人对信息化的参与和掌控。
企业信息化实际上并不只是钱的问题,还涉及到企业的管理和运作是否能够配合改变。
其实企业实施信息化不仅要求产品销售管理软件提供商有丰富的经验和完善的产品,而且需要企业产品销售管理者参与到整个产品销售管理系统的设计和实施中去,否则管理思想就不能与产品销售管理软件技术相结合,从而功亏一篑,所以,企业信息化应该是“一把手”工程,企业决策者一定要坚定信心,贯彻到底,支持到底,这才是企业信息化成功的法宝。
在企业信息化建设过程中涉及的各方面如产品销售管理系统的应用上与整个企业信息化的发展是同步前进的。
1.2项目开发意义
本课题的工作就是在企业CIMS和MIS建设中开发的一个产品销售信息管理软件--东洋贸易产品销售管理系统。
东洋贸易产品销售管理系统是基于ASP.NET和SQLServer数据库开发的应用系统。
使用ASP.NET技术可以动态生成管理页面,可以使产品的销售和管理变得很轻松。
管理员登陆后只需添加或修改相应产品信息元素就可以了,系统将自动生成对应的信息。
而使用SQLServer数据库将减轻维护人员的工作量,使系统便于维护和管理。
本系统的研究目的在于:
1.3软硬件需求
本系统的软硬件需求如下:
(1)在Windows平台上运行
(2)后台数据库:
SQLServer2008Express
(3)运行环境:
InternetExplorer、IIS7.5
(4)个人计算机,AMDCPU,1G存
2项目需求分析
随着经济的不断发展和完善,企业的经营行为正迅速地由以生产为中心转向以营销为中心,通过强化销售来指导生产,从而创造更多的利润。
目前,许多企业在销售管理环节上存在着大量的问题,如产品结构不合理、产品库存积压严重等等,这些因素严重制约着企业的发展,影响企业的生存。
为了解决这些问题,决定开发商品销售管理系统。
该系统从企业管理的实际需求出发,以市场为导向,通过对客户、商品库存、销售行为、销售过程等环节的记录、管理,建立弹性和灵活的销售业务流程及制度,从而使企业销售管理工作从经验走向科学。
2.1系统的功能需求
东洋贸易产品销售管理系统是一个实用的产品销售管理系统,可以实现该公司产品信息、销售信息管理及信息检索;
(1).客户信息管理
实现客户信息的增删改查等功能,并且能查看客户的购买记录,有效提高企业对客户信息管理的力度和效率。
(2).产品信息管理
产品信息查询查看:
以表格形式呈现数据库中的产品信息,并且允许查找功能。
产品信息的增删改管理,以表格形式呈现产品信息,并且有增添新产品的,表格上有修改和删除选项直接导入修改页面修改产品信息,或者删除该行。
进货入库管理:
输入产品编号后可以快速添加该产品的库存数量。
退货出库管理:
输入产品编号后可以快速减少该产品的库存数量。
(3).销售信息管理
订单管理:
可以显示订单状况,并且打上处理标志,表格方式呈现利于管理。
显示销售年份信息:
选择销售年份后,即可显示该年份的月供销信息。
修改销售年份信息,增加新的销售年份,或者修改原有销售年份中某个年份中的信息,将该年份以表格形式展示12个月份的信息,支持直接在表格上进行修改,
查询统计功能:
可以显示某年的年供销额,支持自动计算,支持显示图表。
(4).库存管理
库存统计:
以表格形式呈现数据库中的产品库存情况,并且允许查找功能。
库存预警:
以表格形式呈现数据库中的产品库存情况,只显示库存不足的产品。
(5).信息管理模块
修改当前用户的密码:
允许用户修改当前用户的管理员登陆密码。
(6).用户管理
用户查询查看:
允许总经理级别管理员查看所有后台管理员的账号,同样以表格方式呈现,显示出用户的,地址,等信息。
用户的增删改:
以表格形式呈现用户信息,并且有增添新用户的,表格上有修改和删除选项直接导入修改页面修改用户信息,或者删除该行。
(7).数据维护
该功能可实现对数据的备份和还原,保证数据的可恢复性和安全性。
(8).退出系统:
离开本系统。
本系统功能图如下:
图2-1销售管理系统功能图
2.2数据流图分析
数据流图是结构化分析方法中用于表示系统逻辑模型的一种工具。
它以直观的图形清晰地描述了系统数据的流动和处理过程,图中没有任何具体的物理元素,主要强调的是数据流和处理过程。
即使不是计算机专业技术人员也很容易理解,数据流图是软件开发人员和用户之间很好的通信工具。
图2-2为本此毕业设计系统的数据流图顶层图,它体现了系统名称:
F=f1客户信息+f2产品信息+f3销售信息+f4库存信息
F1=f2产品信息+f3销售信息
图2-2商品销售管理系统数据流图顶层图
数据流0层图体现了系统的主要功能框架,本系统的0层图如图2-3所示:
图2-3商品销售管理系统数据流图0层图
0层图中的每个逻辑功能都需要细化,直到足够简单具体为止。
图2-4对处理订单功能进行了细化:
图2-4商品销售管理系统数据流图-处理订单功能细化
图2-5是对添加订单功能的细化,通过输入要添加的订单信息点击确认以后,即可把新的订单信息保存到数据库中:
图2-5商品销售管理系统数据流图-添加订单功能细化
图2-6是对处理订单功能的细化,首先也进行用户信息的匹配验证,进入系统后,点击修改按钮即可对订单信息进行修改操作,确认后系统进行信息保存:
图2-6商品销售管理系统数据流图-修改订单功能细化
3项目概要设计
3.1设计原则
为了使本系统功能完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵守了如下原则:
(1)合法性原则:
依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。
(2)实用性原则:
适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,一边扩充功能。
(3)易操作原则:
要求设计的系统功能齐全,界面友好,操纵方便,必要的地方进行提示。
(4)源程序可读性原则:
为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,尽可能做好代码注释工作。
(5)安全性原则:
可以为该系统的用户设置用户权限。
3.2系统开发平台
依开题报告中的各种平台的对比分析,比较权衡后确定开发平台为:
表3-1系统开发平台
开发工具
MicrosoftVisualStudio2008Express
使用语言
C#.NET
数据库
开发模式
B/S
开发环境
MicrosoftVisualStudio2008Express、SQLServer2008Express、InternetExplorer、IIS7.5
根据销售管理系统的特性,从程序入口(登陆窗口)开始,以各个部门将项目分块进行设计,做到分类清楚,一目了然,在系统界面,以及物理文件的路径结构上都进行分类规划,有利于日后进行容的更新和扩充。
由分块的性质,采用适宜的树状结构划分整个系统,依照系统的需求将系统分为:
用户登陆,客户信息管理,产品信息管理,销售信息管理,库存信息管理,用户信息管理,信息管理(修改密码)几大类。
并在各类下按照需求进行小类的划分。
用户信息管理模块包括登陆验证,用户类别检查两个功能模块。
客户信息管理模块下包括客户信息查询查看,客户交易信息管理,客户信息的增删改管理。
产品信息管理包括产品信息查询查看,产品信息的增删改管理,进货入库管理,退货出库管理。
销售信息管理模块包括订单管理,显示销售年份信息,修改销售年份信息,查询统计功能。
库存管理包括库存统计和库存预警模块,信息管理包括修改当前用户的密码。
用户管理包括用户查询查看,用户的增删改。
以及系统的各种功能,例如退出系统。
3.3系统架构设计--B/S模式
随着网络规模的日益扩大,应用程序的复杂程度不断提高,传统的数据库应用架构已经不能胜任。
为了充分利用网络资源,越来越多的信息需要在
(WoridWideWeb)上发布,实现信息最大程度的共享。
Browser/Serve结构伴随着Intemet的发展而很快地发展起来。
Browser/Serve体系结构是一种三层结构,其三级结构组成如图1-2所示:
图3-1B/S结构示意图
B/S系统体系结构的特点:
(1).友好、统一的图形用户界面
在Browser/Server系统中,由于遵循了统一的标准协议,而且使用浏览器作为统一的客户软件,用户无须再花费大量的时间与精力去学习和熟悉不同的系统的使用方法,用户可以把大部分的精力集中在系统的容上,而不是去记住系统的使用说明书。
(2).减少网络中的数据流量
在Browser/server系统中,由于数据的处理工作是由服务器来执行的,因此在读取数据和保存数据时,这些数据只在几台服务器之间传输,不需要通过浏览器与服务器之间的网络。
一般来说,浏览器与服务器之间的网络大都是距离较长而且速度较低的,而服务器与服务器之间的网络则是距离较短而且速度较高的,因此采用Browser/Server后,可以充分地利用服务器之间的高速连接通路,而减少在浏览器与服务器之间的长距离低速网络中的数据流量。
(3).更好的开放性
开放性是发挥分布式系统优势的基本保障,它为不同厂商生产的产品协同工作创造了条件,但是这些产品还应当遵循统一的标准。
在Browser/server系统中,采用了一致的HTTP协议以及其他一些共同的规则,不同系统之间的冲突将会大大减少。
(4).平台无关性
在Browser/Server系统中,程序的主体分布在Mid-Server上,客户机上只有一个标准的浏览器,它与服务器之间采用标准的TCP/IP及HTTP等协议进行,因此客户端的平台是相对独立的,它不依赖于服务器方所采用的软硬平台。
用户可以自由地选择自己熟悉的平台进行工作。
(5).有效地解决异种数据库联合使用的问题
在Browser/Serve系统中,由于采用了Browser/Mid-Server/Server的三层体系结构,只需在中间层服务器上安装数据库的驱动程序,或者使用专门的服务器用作与数据库连接的桥梁。
因为程序的主体是运行在中间服务器上的,客户端只是一个浏览器,避免了在客户端重复安装数据库驱动程序的问题,从而可以有效地解决异种数据库联合使用的问题。
(6).客户端的维护工作简单
Brower/Serve系统中,由于采用了通用的客户软件,维护工作主要集中在服务器端,而服务器是由专门的管理人员集中管理的,对系统的维护相对简单得多。
所以本系统采用B/S架构设计系统。
3.4开发工具简介
3.4.1MicrosoftSQLServer2008
选择MicrosoftSQLServer2008开发工具是由于其本身的巨大优势,具体如下:
(1).性能和可伸缩性
行业标准测试结果表明,SQLServer可以承受世界上最强的负载。
诸如Unilever,Citi,BarclaysCapital,以及MediterraneanShipping这些使用SQLServer支持最关键应用程序的客户以及运行SQLServer2008的客户都体验到了可伸缩性的增强。
最终,诸如Siemens以及RedPrairie这样的大型ISV厂商也历史性的从推广Oracle转变为推广SQLServer.
(2).更加安全(漏洞更少)
NationalVulnerabilityDatabase(NIST)报告显示了在过去四年时间里,Oracle的数据库产品中有超过250个致命的安全漏洞。
而同一时期SQLServer却一个漏洞都没有。
微软所取得的成功来自于可靠性计算项目中的安全引擎进程,全方位的安全特性,以及强大的更新系统,它们都可以降低安全风险并减少客户由于打补丁所造成的停机时间。
专家表示在补丁管理方面的技术,Oracle比微软要落后五年,并且只有三分之一的Oracle数据库管理员会进行打补丁的操作。
(3).开发效率
SQLServer可以同VisualStudio团队协同工作,提供集成化的开发体验,并让开发人员在统一的环境中跨越客户端、中间层以及数据层进行开发。
SQLServer2008在新的开发功能方面领先了一步。
而反观Oracle通过附加的方式提供较为混乱的工具集和SDK,使得开发人员需要不断学习并跨越多个接口进行工作。
事实上,IDC的报告表明,微软在提供应用程序平台的厂商中排名首位。
(4).商业智能(BI)
SQLServer作为微软集成化BI平台的组成部分,可以提供数据仓库、分析报表、绩效考核以及规划预算等功能。
在Gartner的MagicQuadrantforBI报告和MagicQuadrantforDataWarehousing报告中,SQLServer都处于领先地位。
SQLServer2008在数据仓库和商务智能方面都有很多创新功能。
(5).与Office的集成
SQLServer通过与大家所熟知的MicrosoftOffice用户界面紧密集成(例如DataMining结合Excel这样的免费管理单元),可以帮助客户实现更好的商业洞察力并快速做出商业决策。
正因如此,IDC认为微软是发展速度最快的BI厂商。
(6).总体拥有成本(TCO)
和Oracle相比,SQLServer最强的优势在于能够以很低的TCO来提供上述好处。
其主要原因是:
1)业界领先的自我调优及自动管理功能可以降低人力成本。
2)高效、集成的环境可以加快解决方案制定的时间从而快速实现商业洞察力。
3)与Oracle有所不同,SQLServer并不需要额外付费就可以使用很多重要的功能,例如压缩、加密以及获取产品更新和安全补丁。
所以本系统采用MicrosoftSQLServer2008作为后台数据库的开发工具。
3.4.2ASP.NET
ASP.NET是一种建立在通用语言上的程序构架。
一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。
将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。
微软公司发布了包括VisualBasic.NET、C#.NET、VisualC++.NET等与.NET兼容的语言来创作应用程序。
ASP.NET是在服务器上运行的编译好的公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。
这相当于在编写代码行之前便显著提高了性能。
(1)世界级的工具支持
ASP.NET框架补充了VisualStudio集成开发环境中的大量工具箱和设计器。
编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
(2)灵活性
由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。
Microsoft.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。
ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。
另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。
(3)简易性
ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。
例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似VisualBasic的简单窗体处理模型中处理事件并不相同。
另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
(4)可管理性
ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。
由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。
只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。
不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
(5)可缩放性和可用性
ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。
另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
(6)自定义性和扩展性
ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。
实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。
(7)安全性
借助置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
3.4.3ADO.NET对象模型
ADO.NET对象模型中有五个主要的组件,分别是Connection对象、Command对象、DataAdapter、DataSet以及DataReader。
这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(ManagedProviders)分别由Connection对象、Command对象、DataAdapter对象以及DataReader对象所组成。
数据操作组件最主要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。
图3-2ADO.NET对象模型
Connection组件
Connection对象主要是开启程序和数据库之间的连结。
没有利用连结对象将数据库打开,是无法从数据库中取得数据的。
这个物件在ADO.NET的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。
Command组件
Command对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。
这个对象是架构在Connection对象上,也就是Command对象是透过连结到数据源的Connection对象来下命令的。
所以Connection连结到哪个数据库,Command对象的命令就下到哪里。
DataAdapter组件
DataAdapter对象主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中。
这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。
DataSet组件
DataSet这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。
DataSet的能力不只是可以储存多个Table而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。
DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力,也就是说我们是将DataAdapter对象当做DataSe