嘉兴学院
毕业论文
课题名称: 销售管理系统—内务咨讯
学生姓名:晓厉
学号:7
学院:信息工程学院
专业、班级:经济信息管理与计算机应用011
指导老师:孙伟民
完成期:2004年5月7
摘要
本课题是采用Winsock控件,利用其提供的TCP网络服务功能编写的类似BQQ功能的局域网通信程序。通过设置Winsock的属性并调用其方法连接到一台远程计算机中,并且还可以双向交换数据。
系统主要包括服务器(SERVER)和客户(CLIENT)端两部分。如客户端注册有客户登录后与服务器连接,连接成功后,即可进入聊天环境;服务器则负责维护与每一个客户的连接和数据交换,并且记录下所有的聊天内容。
经过分析,采用Access作为创建数据库平台,MICROSOFT公司的Viual Basic 6.0作为编程语言平台。前者是建立起的数据一致性和完整性强、数据安全性好的库,后者提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。
关键字:Winsock、CommonDialog、Server/Client、Tcp、Msgbox、ActiveX
目录
目录………………………………………………………………………………………(3)
1.绪论……………………………………………………………………………………(4)
2.内务咨讯系统的总体设计………………………………………………………(5)
2.1总体规划………………………………………………………………………………(5)
2.2系统设计………………………………………………………………………………(5)
2.2.1组织模块图………………………………………………………………………(5)
2.2.2系统流程图………………………………………………………………………(6)
2.2.3开发平台…………………………………………………………………………(7)
3.系统功能具体实现………………………………………………………………………(8)
3.1服务器端功能模块设计………………………………………………………………(8)
3.2客户端功能模块的设计………………………………………………………………(9)
3.4硬件配置………………………………………………………………………………(10)
3.5数据库设计方案……………………………………………………………………(10)
4系统详细设计……………………………………………………………………………(10)
4.1服务器系统详细设计…………………………………………………………(11)
4.2客户端系统详细设计…………………………………………………………(16)
5.结论………………………………………………………………………………………(25)
致谢………………………………………………………………………………(26)
参考文献……………………………………………………………………………………(27)
第1章:绪论
在信息革命的浪潮中,人们普遍使用计算机来提高个人工作效率,但是在需要许多人一起协同工作的现代工作环境中,我们更需要提高我们的整体工作效率。
因此,即时通信软件是必不可少的。即时通信软件有多种多样的,各家公
司可以根据自己的情况来具体使用。比如ICQ和MSN可用于做国际贸易的公司,而对于国内联系频频的公司来说。BQQ是一个很不错的选择!从其功能来看,有即时通信、短讯中心、网络会议、分组讨论及与外网QQ通信功能。
以上提到的即时通信软件都需要上Internet网,适合于每天都有大量业务进出的大规模企业或跨国公司。并且其功能繁多、复杂,这就要求公司的员工都有较高的文化素质,才能懂得如何作这类软件。
但是对于那些规模小、资金不足、员工不多且文化素质不高,不需要与外网连接的企业、小公司来说,只需要一套成本低廉、通讯效率高、便于管理、安全可靠、作简单,可以方便的进行数据交换的适用于办公室内部局域网的小型软件即可。
本课题是销售管理系统的其中一个“内务咨讯”模块。通过客户端-普通员工访问服务器端-管理员来实现内务咨询、任务下达及普通员工的注册等实用功能。
只要普通员工或业务员登录正确的服务器,就可以通过网络与管理员进行即时的通信。而不必跑来跑进行沟通,省时又省力。大大提高了企业的工作效率。
第2章:内务咨讯的总体设计
2.1总体规划
本系统是作为销售管理系统的“内务咨讯”平台。
2. 2系统设计
2.2.1组织模块图
2.2.2系统流程图:
否
是
服务器端部分:程序启动时,先设置自己的本地服务器地址和服务器端口,因为有些端口有其 固 定 的 作 用, 如80 是WWW 端 口, 故 尽 可 能 选 择 不 可 能 使 用 的 端 口, 这 里 我 选 择 了55000。 将 连 接 状 态 设 置 为 假, 然 后 开 始 进 行 侦 听。 当 侦 听 到 有 计 算 机 要 求与 服 务 器 进 行 对 话, 就 接 受, 并 记 录 下 客 户 机 的 地 址、 端 口、 客 户 起 的 匿 名, 将 连 接 状 态 设 置 为 真,将 上 述 内 容 存 入 一 个 用 户 自 定 义 的 数 组 中, 进 行 动 态 维 护。 做 完 这 些 工 作 后, 服 务 器 再 调 入 一 个 新 控 件, 进 行 新 的 侦 听, 如 此 反 复 不 断。 如果 有 客 户 退 出 , 则 关 闭 相 应 的 连 接。 注 意 不 能 在 客 户 端 关 闭 连 接, 否 则 会 产 生 错 误, 只 能 由 服 务器 关 闭 连 接。
客户端部分:客 户端 程 序 启 动 后,已有的客户登录确认后。设 置 服 务 器 的 地 址 及端 口, 这 里 直 接 使 用 了“127.0.0.1”, 这 是 本地 的 服 务 器 地 址, 可 以 在Form_load 过程 中 设 置 自 己 的 服 务 器 地 址, 也 可 在 程 序 开 始 时 让 用 户 输 入 服 务 器 地 址 以 增 加 灵 活 性。 之后,向服务器请求连接,服务器确认后,客户端收到连接成功信息,即可与服务器进行即时通讯。还可保存当天重要的的消息。
2.1.3开发平台:
1、Winsock
本系统主要通过Winsock控件来实现点对点的通讯。Winsock控件是VB5.0的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计算机上,而且只用两个命令就可以实现数据交换。
使用TCP协议时,如果需要创建一个客户应用程序,就必须识别服务器的名称或IP地址。应用程序的通信端口随时都将仔细监测对方发出的消息,这是系统进行可靠连接的保证。一旦连接发生,任何一方都可以通过SendData发送和接收数据,并借助GetData把自己的数据分离出来。
传送数据时,需要先设定客户机的LocalPort属性,服务器则只需要把RemoteHost属性设定为客户机以太网的地址,并设定与客户机LocalPort属性相同的端口地址,借助SendData方法开始发送消息。客户机则在GetData事件中通过DataArrival事件分离出发送的信息。
一个Winsock控件可以让本地计算机连接到远程的计算机上,同时使用UDP或TCP协议,两个协议都能创建客户机和服务器应用。
使用Winsock控件时,通信的双方需要选定相同的协议。TCP协议适用于传送大容量、需要安全性保证的数据文件;而UDP协议适用于需要分别与很多下属通信,或者建立的连接比较多且为时变的情况,特别是在数据量很小的时候。设定时可以使用Winsock1.Protocol = sckTCPProtocol方法,首先要找到的计算机的名称,并把它添入Winsock的LocalHost属性中。
创建一个应用程序时,首先要确定建立的是客户方应用还是服务器服务,只有建立的服务器应用开始工作,并进入监听状态时,客户应用程序才开始建立连接,进入正常的通信状态。
使用UDP协议建立对等通信和通过TCP建立客户/服务器通信的方法略有不同,它不需要建立客户和服务器,而是建立对等通信。
Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。
2、编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。 Visual Basic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器碘些对象和控件都可在许多应用中重复使用。
关系型数据库的实现
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
第3章 系统功能具体实现
3.1服务器端功能模块设计:
3.1.1.“系统”:
1.“断开连接”的功能:
所有在客户端请求过连接的用户都还与服务器处于正常连接的前提下,服务器对第一个请求连接成功到最后一个请求连接成功的用户发出“you can quit”
的信息。状态栏中会相应显示还剩下几个在线的客户端用户。“连接的客户端”列表和服务器信息文本框中会提示“全部下线”及下线时间。
2.“退出”的功能:
所有在客户端请求过连接的用户都还与服务器处于正常连接的前提下,服务器对第一个请求连接成功到最后一个请求连接成功的用户发出“*you can quit”的信息。状态栏中会相应显示还剩下几个在线的客户端用户。“连接的客户端”列表和服务器信息文本框中会提示“全部下线”及下线时间。服务器并提示消息框“要保存文件后再退出吗?”如果选择“是”,则服务器通过CommonDialog(完成选择字体、打开文件之类的作,只要将此控件放在窗体上,并调用相应方法即可。在运行时他部显示在窗体上,而像定时控件一样,向应用程序提供服务,但未必显示出来。)控件保存当天与客户端交流的数据信息以备后查询用,然后服务器端退出。否则,服务器端直接退出。
3.1.2.“消息”:
1.“发送消息”的功能:
如选择“消息”主菜单的下一级子菜单的“发送消息”项,即可在txtsend文本框中输入消息,按回车键后,即可在服务器的rtbsave及客户端的rtbin两个richtextbox中看到消息,而txtsend中的消息将清空。
2.“客户列表”的功能:
如选择“消息”主菜单的下一级子菜单“客户列表”项,同时工具栏上的“客户列表”按纽呈按下状态。在服务器端的lstclient列表中显示与服务器连接成功的客户端的登录名。
3.1.3“文件”:
1.“打开”的功能:
如选择“文件”主菜单的下一级子菜单项“打开”,则会启动CommonDialog控件打开文件对话框的功能,并打开frmInspect(服务器端志文件窗口),在此窗口中显示CommonDialog选择的以前保存的聊天内容。
2.“保存”功能:
如选择“文件”主菜单的下一级子菜单“保存”,则会启动CommonDialong控件保存文件对话框的功能,把在服务器端rtbsave中的与客户端当天交流的数据消息保存到计算机硬盘中,以背后查询。
3.2客户端功能模块的设计:
3.2.1 欢迎使用办公QQ系统界面的功能:
如果是已注册的管理员、业务员、或普通员工,则可直接进入“更改用户登录窗口”输入.用户权限及注册密码进入聊天客户器端准备与服务器端进行连接。如果是新用户,则进入“雇员信息”窗口进行用户相关信息的注册才能进入“更改用户登录窗口”。
3.2.2 雇员信息窗口的功能:
对于新用户想使用办公QQ系统,必须先注册,填写有关个人信息,并与数据库sell_manage中的表“雇员”绑定,一旦有新的用户注册,则表“雇员”就新增一条记录。填写的个人信息有“雇员ID”(此项由系统根据数据库的记录个数自动提供个新用户)、姓名、密码、分机、电话、权限等。如放弃注册则回到欢迎界面。
3.2.3 更改用户登录窗口功能:
无论新用户或是老用户都必须在该窗口中输入用户权限、密码才能进入聊天客户端。该窗口与数据库sell_manage中表“雇员绑定”。
3.2.4 客户端志窗口的功能:
对当天与服务器端管理员交流的消息觉得重要的,可利用此窗口通过CommonDialog控件进行保存,以备后查阅。
3.2.5 聊天客户端登录的功能:
无论新用户还是老用户在登录更改用户窗口后,都必须在“聊天客户端登录窗口”中输入要登录服务器的地址和端口号,只有输入正确才能进入聊天客户端准备与服务器进行连接。
3.2.6 标准模块的功能:
模块是相对独立的程序单元。在Visual Basical中主要有3中模块,即窗体模块、标准模块和类模块。标准模块也称全局模块,由全局变量声明、模块层声明及通用过程等几个部分组成。一个过程可能用来响应几个不同对象中的事件,应该将这个过程放在标准模块中,而不应在每一个对象的事件过程中重复相同的代码。
3.2.7 聊天客户窗口的功能:
客 户端 程 序 启 动 后,已有的客户登录确认后。 首 先 设 置 服 务 器 的 地 址 及 端口, 这 里 我 直 接 使 用 了“127.0.0.1”, 这 是 我 的 服 务 器 地 址, 可 以 在Form_load 过程 中 设 置 自 己 的 服 务 器 地 址, 也 可 在 程 序 开 始 时 让 用 户 输 入 服 务 器 地 址 以 增 加 灵 活 性。 之后,向服务器请求连接,服务器确认后,客户端收到连接成功信息,即可与服务器进行即时通讯。
3.3 硬件配置
1. PC机配置:服务器机子与客户端机子PentiumIV内存128M 硬盘40G以上,推荐内存256M
2. 软件:Win98/Win2000/Winxp Ms-Office2000以上
3.4 数据库设计方案
3.4.1数据库概念
数据库是按一定方式组织、存储、处理相互关联的数据的集合。数据库中的数据的组织形式有多种。其中用表格形式组织数据的方式称为关系数据库。实际上现在普遍使用的手术关系数据库。
在关系数据库中,实际保存数据的数据结构是一个后多个表,每个表定义了某种特定的结构。Visual Basic包含一个完整的数据库系统。
本课题采用的是Acess作为数据库。本课题定义的数据库名为:sell_manage;表为“雇员”表。
表:雇员
|
雇员ID |
姓名 |
密码 |
权限 |
分机 |
工作电话 |
|
1 |
张金丹 |
123 |
3 |
2 |
05733642013 |
|
2 |
陈琴香 |
123 |
2 |
1 |
05733642013 |
|
3 |
晓厉 |
123456 |
1 |
3 |
05733642013 |
(1)“雇员ID”:为字符串型,由系统自动产生编号,每一个新用户都给定一个ID,不能修改。
(2)“姓名”:为字符串型,由用户在注册时填写。
(3)“密码”:为字符串型,由用户在注册时定义。
(4)“权限”:为字符串型,3-管理员
2-业务员
1- |