网络办公助理——毕业论文 (2)_第1页
网络办公助理——毕业论文 (2)_第2页
网络办公助理——毕业论文 (2)_第3页
网络办公助理——毕业论文 (2)_第4页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要本次毕业设计的题目是网络办公助理的网络办公自动化系统,是采用C#作为平台开发的系统。C#是一种专门用于.NET Framework的新的软件开发语言。C#在与网络相关的软件开发中越来越显示它的优越性,而且它还提供了一种编写Windows平台上几乎任何类型的软件或组件的方式网络办公助理是一种在计算机前即可发送消息,公告还可以进行网络会议的一款软件。本软件采用TCP/UDP协议与多点广播,还采用了多线程技术。UDP协议是一个功能较少的简单协议,是一个无连接的协议,所以开销也较少。所以该软件是一个既经济又实惠的工具。关键字:网络办公助理 C# 协议 ABSTRACTThe topic of this graduation design is the Network Operation Assistant, is adopt the C# be the terrace development of system.C# is a kind of to used for the new software development language of the .NET Framework exclusively.C# show its superiority more and more in with related software development of network, and it still provides a kind of plait to write the terrace of Windows up the way of almost any software of type or modulesThe Network Operation Assistant is on sowing in the calculator, the front can immediately send out the news, announce can also carry on a software of the network meeting.This software adopts the DUP agreement with order broadcast more, still adopted the multi-threading technique.The agreement of DUP is the simple agreement of a function less, is a has no copular agreement, so expense also less.So that software is 1 since the economy is again the tool of the real benefit.Key word:The Network Operation Assistant C# Negotiate 绪 论C#简介C# 是一种新的面向对象编程语言,C#重要性替现在两个方面:(1) 它是专门为Microsoft与.Nnet Framework的一起使用而设计的(功能全面的平台,用于分布式应用程序的开发,部署和执行).(2) 它是一种基于现代面向对象设计方法的语言,在设计时,Microsoft还研究了其他类似语言的经验,这些语言是近20年来面向对象规则得到广泛应用以来开发出来的.C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分.一些特性由.NET支持,但C#不支持.而另一些特性C#语言支持, .NET却不支持!C#的优点:(1)完全支持类和面向对象编程,包括接口和继承,虚函数和运算符重载的处理.(2)定义完整,一致的基类集合.(3)对自动生成XML文档说明的内置支持.(4)自动清理动态分配的内存.(5)可以用用户定义的属性标记类或方法.着可以用于文档说明,对编译有一定的影响(例如,把方法标记为只在调试时编译).(6)对.NET基类库的完全访问权,并易于访问Windows API(有时确实需要访问,但这是不常出现的).(7)可以使用指针和直接内存访问,但该语言可以在没有他们的条件下工作.(8)改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件可以用ActiveX控件(COM组件)相同的方式由其他代码调用.(9)C#可以用于编写ASP.NETWeb页面.NET简介.NET是一种在Windows上编程的新构架- 一种新API.它的优点:(1) 它是一个库,且是对Windows API的扩展,使用它可以调用Windows操作系统中的传统特性:显示窗口和对话框,验证安全证书,调用基本操作系统服务,创建线程等;还可以使用一些新特性,例如访问数据库或接Internet,或提供Web服务.(2) .NET提供了程序的运行环境(.NET运行时).NET的改进特性:(1) 面向对象的编程:.NET和C#从一开始就完全是基于面向对象的.(2) 优秀的设计:一个基类库,这是从一种非常直观的方式设计出来的.(3) 语言的无关性:有了.NET,VB.NET和C#和Managed C+等所有语言都可以编译为通用的中间语言(Intermediate Languege).这说明,语言可以用以前没有的方式交互操作.(4) 对动态Web页面的支持:ASP具有很大的灵活性,但效率不是很高,这是因为他使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致ASP代码比较凌乱.NET使用一种新技术ASP.NET为Web页面提供了一种集成式的支持.使用ASP.NET,可以编译页面中的代码,这些代码还可以使用.NET高级语言来编写,例如C#或VB.NET(5) 高效的数据访问:一组.NET组件总称为ADO.NET,提供了对关系数据库和各种数据源的高效访问.这些组件也可以访问文件系统和目录.NET内置了XML支持,可以处理从非Windows平台导入的数据.(6) 代码共享:.NET引入了程序集的概念,代替了传统的DLL,可以完美无暇地修补代码在应用程序之间的共享方式。程序集有解决版本冲突的正式系统,程序集的不同版本可以同时存在.(7) 增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准确地指出谁或哪种类型的用户或进程可以调用什么类的哪些方法.这样就可以非常准确地控制程序集使用的方式.(8) 对安装没有任何影响:有两种类型的程序集,共享程序集和私有程序集.共享程序集是可以用语所有软件的公共库,私有程序集只是用于某个软件.私有程序集功能完备,所以安装的过程非常简单,没有注册表项目,只需把相应的文件放在文件系统的相应文件夹中即可.Web服务的支持:.NET集成了对开发Web服务的完全支持,用户可以开发出任何类型的应用程序.(9) Visual Studio.NET:.NET附带了一个新的开发环境Visual Studio.NET,它还可以很好地与C+,C#,VB.NET和ASP.NET代码合并使用. Visual Studio.NET集成了Visual Studio 6环境中各种语言专用的所有最佳功能.(10) C#:是使用.NET的一种面向对象的新语言.网络办公助理简介基于诸多方便条件,我们将其用于我们的生活中,让我们的生活更适应现代化的发展.在现在科技在不断更新,技术日新月异的情况下,我们的生活中很多办公模式还停留在原始阶段:l 当同一办公室的两位员工有问题探讨时,还得离开自己的位置交谈,这就会对其他人员造成影响。l 当有资源共享时,只是简单的共享,有着很大的安全隐患。有些甚至还在使用纸介质。l 当要召开会议时。既需要专人通知,浪费了人力资源,又需要会议室。 为了方便办公,解决以上问题,我们开发了一款软件-网络办公助理(NOA)! 此软件主要有以下优点: 网络设置 发送短信 发布通知 网上会议 文件传输 .NET是MS新推出的一种面向网络,支持各种用户终端的开发平台环境。它将会带来一种软件革命。 NET实现“3A”(AnyTime,AnyWhere,AnyDevice”); 即使用不同的开发语言,在不同的目标设备上作.它是一种能够横亘于整个网络,跨越各种操作系统和终端设备之上的操作与平台. 随着.NET推出的一种新兴的开发语言C#,C#是 MS将C和C+改良的产物,他继承了 C和C+的优点,去掉的繁琐的东西,如指针(若使用,需指定unsafe关键字),模板,宏等,以及继承了 VB的RAD特性,使得开发应用程序的周期大大缩短。 与JAVA语言相比,C#是MS的产物,它与MS自己的操作系统windows有着更好的亲和能力。 C#和.NET整个构架更适合客户端和服务端工作的混合。 JAVA体系主要面向服务器端应用和企业级的应用,而在广泛使用Windows平台的中低端应用上,不如.NET有优势。 正是因为DOTNET平台和C#开发语言的特点(安全性,兼容性等), 因此我们选择用C#语言进行开发。 这就是-网络办公助理(NOA)网络办公助理实现细节 本软件采用了UDP协议与多点广播,其中多点广播用于发送短信功能;UDP协议用于发布通知,网上会议和文件传输功能。此外,本软件还采用了多线程技术,使各个功能都能够并发执行。网络办公助理的示意图如下:主 页 面启 动 文件传输网上会友发布通知发送短信网络设置 版本信息办公助理的功能特色: 本软件设计是从用户的角度进行开发,处处为用户着想 。而且我们充分考虑到了用户可能在操作中出现的各种错误,本软件对一定错误都对用户进行友善的提示。 由于C#可以支持多国语言,所以本软件可以支持中文,英文,日文,韩文,俄文等多种语言。 同时本软件已经打包成为一个安装文件,安装十分简便,只需按照所给的提示,就可以进行安装,简单易行。 一般的网络通信软件,都采用C/S或B/S 模式。本软件则省去了专用服务器;将服务器所具有的功能嵌入到软件中,使软件本身不仅具有客户端的功能,而且具有服务器的功能。 传统的通信都采用对等网的形式进行通信.而本软件不仅有点对点的通信,还有发广播的特点。传统的通用软件如QQ,MSN等都需要登陆其服务器后,才能进行双方通信,不能保证信息的安全性。而本软件只是在本局域网内流通,无需登陆服务器,有利于信息的保护。 该软件还有很强的扩展性,可以将很多功能加入进去。l 此软件我们在将来还将如一些语音交流,视频会议等功能添加进来。l 以及还有发送通知的权限,可以设置权限来管理办公人员是否能够发送通知等等。l 在网络会议室内显示在线人员等。办公助理的用途 办公助理的用途主要用在办公楼局域网内的计算机上。 发送短信功能,是用于办公人员在不干扰别人的情况下,与另一个人进行交流。 发布通知功能,能让主管人员不用在奔波于各个部门之间,只要使用发布通知功能,就可以通知到各个人,十分方便。 网上会议功能,可以让大家能够随时地在网上进行开会,免除了开会要到会议室开会的麻烦,节约了时间. 文件传输功能,可以使相邻计算机之间的文件交换变得十分简单,不必在用U 盘等来拷贝,极大了方便了办公人员。 由于DOTNET是MS新推出的战略平台,用C#进行Socket类的编程,难度较高;而且时间比较仓促,所以本软件还存在不少不足,一些扩展性的功能还没有实现。以下是部分代码的实现using System.Reflection;using System.Runtime.CompilerServices;/ 有关程序集的常规信息是通过下列 /属性集控制的。更改这些属性值可修改与程序集/关联的信息。 assembly: AssemblyTitle()assembly: AssemblyDescription()assembly: AssemblyConfiguration()assembly: AssemblyCompany()assembly: AssemblyProduct()assembly: AssemblyCopyright()assembly: AssemblyTrademark()assembly: AssemblyCulture()/ 程序集的版本信息包含下列 4 个值:/ 主版本/ 次版本/ 内部版本号/ 修订号/ 您可以指定所有值,或使用“修订号”和“内部版本号”的默认值,方法为按如下方式 / 使用“*”:assembly: AssemblyVersion(1.0.*)/ 要对程序集进行签名,必须指定要使用的密钥。有关程序集签名的更多信息,请参考 / Microsoft .NET 框架文档。/ 使用下面的属性控制用于签名的密钥。/ 注意:/ (*) 如果未指定密钥,则程序集不会被签名。/ (*) KeyName 是指已经安装在计算机上的/ 加密服务提供程序 (CSP) 中的密钥。KeyFile 是指包含/ 密钥的文件。/ (*) 如果 KeyFile 和 KeyName 值都已指定,则 / 发生下列处理:/ (1) 如果在 CSP 中可以找到 KeyName,则使用该密钥。/ (2) 如果 KeyName 不存在而 KeyFile 存在,则 / KeyFile 中的密钥安装到 CSP 中并且使用该密钥。/ (*) 要创建 KeyFile,可以使用 sn.exe(强名称)实用工具。/ 在指定 KeyFile 时,KeyFile 的位置应该相对于/ 项目输出目录,即/ %Project Directory%obj。例如,如果 KeyFile 位于/ 该项目目录,应将 AssemblyKeyFile / 属性指定为 assembly: AssemblyKeyFile(.mykey.snk)/ (*) “延迟签名”是一个高级选项 - 有关它的更多信息,请参阅 Microsoft .NET 框架/ 文档。assembly: AssemblyDelaySign(false)assembly: AssemblyKeyFile()assembly: AssemblyKeyName()IP的设定:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;namespace NetStar/ / UserIPDlg 的摘要说明。/ public class UserIPDlg : System.Windows.Forms.Formprivate System.Windows.Forms.Button btnOK;private System.Windows.Forms.Button btnCancel;private System.Windows.Forms.TextBox txtUserID;private System.Windows.Forms.TextBox txtIPAddress;private System.Windows.Forms.Label label1;private System.Windows.Forms.Label label2;/ / 必需的设计器变量。/ private System.ComponentModel.Container components = null;public UserIPDlg()/ Windows 窗体设计器支持所必需的InitializeComponent();/ TODO: 在 InitializeComponent 调用后添加任何构造函数代码/ / 清理所有正在使用的资源。/ protected override void Dispose( bool disposing )if( disposing )if(components != null)components.Dispose();base.Dispose( disposing );#region Windows Form Designer generated code/ / 设计器支持所需的方法 - 不要使用代码编辑器修改/ 此方法的内容。/ private void InitializeComponent()this.btnOK = new System.Windows.Forms.Button();this.btnCancel = new System.Windows.Forms.Button();this.txtUserID = new System.Windows.Forms.TextBox();this.txtIPAddress = new System.Windows.Forms.TextBox();this.label1 = new System.Windows.Forms.Label();this.label2 = new System.Windows.Forms.Label();this.SuspendLayout();/ btnOKthis.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;this.btnOK.Location = new System.Drawing.Point(64, 112);this.btnOK.Name = btnOK;this.btnOK.TabIndex = 4;this.btnOK.Text = 确认;/ btnCancelthis.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;this.btnCancel.Location = new System.Drawing.Point(200, 112);this.btnCancel.Name = btnCancel;this.btnCancel.TabIndex = 5;this.btnCancel.Text = 放弃;/ txtUserIDthis.txtUserID.AcceptsReturn = true;this.txtUserID.AcceptsTab = true;this.txtUserID.Location = new System.Drawing.Point(88, 24);this.txtUserID.Name = txtUserID;this.txtUserID.Size = new System.Drawing.Size(200, 21);this.txtUserID.TabIndex = 1;this.txtUserID.Text = ;this.txtUserID.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtUserID_KeyDown);/ txtIPAddressthis.txtIPAddress.AcceptsReturn = true;this.txtIPAddress.AcceptsTab = true;this.txtIPAddress.Location = new System.Drawing.Point(88, 56);this.txtIPAddress.Name = txtIPAddress;this.txtIPAddress.Size = new System.Drawing.Size(200, 21);this.txtIPAddress.TabIndex = 3;this.txtIPAddress.Text = ;this.txtIPAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtIPAddress_KeyDown);/ label1 this.label1.AutoSize = true;this.label1.Location = new System.Drawing.Point(8, 24);this.label1.Name = label1;this.label1.Size = new System.Drawing.Size(66, 17);this.label1.TabIndex = 0;this.label1.Text = 用户标识符;this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; / label2 this.label2.AutoSize = true;this.label2.Location = new System.Drawing.Point(32, 56);this.label2.Name = label2;this.label2.Size = new System.Drawing.Size(42, 17);this.label2.TabIndex = 2;this.label2.Text = IP地址; / UserIPDlg this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.CancelButton = this.btnCancel;this.ClientSize = new System.Drawing.Size(306, 151);this.Controls.Add(this.label2);this.Controls.Add(this.label1);this.Controls.Add(this.txtIPAddress);this.Controls.Add(this.txtUserID);this.Controls.Add(this.btnCancel);this.Controls.Add(this.btnOK);this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;this.MaximizeBox = false;this.MinimizeBox = false;this.Name = UserIPDlg;this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;this.Text = 输入用户标识符和IP地址对话框;this.ResumeLayout(false);#endregionprivate void txtUserID_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)if (e.KeyCode=Keys.Enter)this.txtIPAddress.Focus();Private void txtIPAddress_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)if(e.KeyCode=Keys.Enter)this.btnOK.PerformClick();public string GetUserIDget return this.txtUserID.Text;public string GetIPAddressget return this.txtIPAddress.Text;using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;namespace NetStar/ / ProgressDlg 的摘要说明。/ public class ProgressDlg : System.Windows.Forms.Form/ / 必需的设计器变量。/ private System.ComponentModel.Container components = null;public ProgressDlg()/ Windows 窗体设计器支持所必需的InitializeComponent();/ TODO: 在 InitializeComponent 调用后添加任何构造函数代码/ / 清理所有正在使用的资源。/ protected override voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论