目 录
引 言.......................................................................................................................... 1 1 系统分析.................................................................................................................... 3 1.1 1.2 1.3
需求分析.......................................................................................................... 3 功能分析.......................................................................................................... 3 可行性分析...................................................................................................... 3
1.3.1 操作可行性................................................................................................... 3 1.3.2 经济可行性................................................................................................... 3 1.3.3 技术可行性................................................................................................... 4 1.4 开发工具简介 ................................................................................................... 4 1.4.1 C#概述......................................................................................................... 4 1.4.2 SQL Server 概述....................................................................................... 5 1.5 架构简介 ............................................................................................................. 6 2 系统总体设计.......................................................................................................... 7 2.1 系统功能结构设计 ............................................................................................. 7 2.2 数据库设计 ....................................................................................................... 8 2.2.1 数据表设计................................................................................................... 8 2.2.2 存储过程设计............................................................................................... 8 3 系统详细设计与实现............................................................................................ 12 3.1 登陆模块 ........................................................................................................... 12 3.2 接收消息总览模块 ........................................................................................... 12 3.3 查看接收消息模块 ........................................................................................... 13 3.4 转发短消息模块 ............................................................................................... 14 3.5 发送消息模块 ................................................................................................... 15 3.6 部门群发模块 ................................................................................................... 15 3.7 已发信息总览模块 ........................................................................................... 16
I
3.8查看已发信息模块 ............................................................................................ 17 结 论...................................................................................................................... 18 参 考 文 献................................................................................................................ 19
II
引 言
在科技迅猛发展的今天 Internet/Intranet被广泛的使用在各个行业中,企业的管理也随之发展,信息化的程度也随之增长,同时以往的办公管理模式已经无法适应企业的需求,企业对办公的效率要求越来越高,因此就需要一个现代化的办公管理方案来解决企业的这个问题。企业办公正在逐步迈向管理信息现代化。企业办公信息化基础设施建设的逐渐完备,改革传统办公模式开展电子政务,使业务办公、公文流转和管理过程电子化、信息化,让文职人员从长期繁杂的办公事务中解放出来,通过统一办公规范,提高工作效率,降低管理成本,实现办公自动化已势在必行。
办公自动化管理系统是将现代办公和计算机网络功能结合起来的一种新型的办公方式,是信息化社会的产物。办公自动化系统可以将一个机构的办公用的计算机和其他办公设备连接成网络,这样可以为办公室工作人员和企事业负责干部提供各种现代化手段,从而改进办公条件,提高办公业务的效率和质量,及时向有关部门和领导提供有用的信息。OA起源于政府办公系统,当初的作用主要是公文收发,如今核心内容是提高办公效率、提高团队的整体作战能力以及有效的提供应用信息与素材,从而提高管理水平。广义而言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。它面向不同层次的使用者,有不同的功能表现。通过网络,组织机构内部的人员可跨越时间、地点协同办公。建立一个安全、可靠、开放、高效的办公自动化、信息管理电子化系统。为管理部门提供现代的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事物处理自动化,实现企业各内部日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公,使信息的传递更加快捷和方便,从而极大的扩展了办公手段,实现了办公的高效率。
NetOA网络办公系统市场定位对外承接项目的公司的需求,协助企业员工进行日常办公管理和项目管理,提高管理效率,降低运作成本,增强长期竞争力。本系统功能模块将覆盖所有企业级用户的业务应用,提供客户管理、短消息、考勤管理、邮件管理、联系人管理等功能。通过短消息系统,各员工能方便的向同事发送短消息或群发消息,也能查看、删除、回复别人发给自己的消息。收到的
1
消息不允许被篡改,以保证消息的权威性。员工还可以查看和处理自己发送过的短消息。收到的短消息,可以像邮件一样,设为“已阅”。
本文分为三章来介绍OA办公管理系统的设计与实现。第一章系统分析,在系统分析中主要是系统的需求分析、系统的功能分析、可行性分析、开发工具简介、架构简介等;第二章系统总体设计,提出系统功能模块的细分和数据库的详细设计等;第三章系统详细设计与实现,主要包括系统功能子模块的设计与实现、设计理念、实现功能和最终得到的结果等。
2
1 系统分析
1.1 需求分析
即时通讯(IM)可提高系统的信息传递效率和整体沟通效率,是传统电话的有益补充,也是日常办公过程中的重要沟通工具。“短消息”就是一种用于工作沟通的即时通讯工具。
目前,各单位使用的即时通讯工具主要有两种:MSN和QQ,但由于这两种工具均采用集中服务器管理方式,使用者只能使用客户端的沟通功能和文件传送。用户的信息记录全部保存在客户端机器里,难于备份,另外,记录以文本形式保存,也易被篡改,无法作为权威的历史记录。目前的备份工作一般靠手工完成,比较繁琐。从安全角度而言,单位内部一般都会部署一个“内网”用于日常的办公,而MSN和QQ的服务器均处于“外网”——Internet上,所以为了使用MSN和QQ,整个办公系统需要从内网移到外网,从而大大降低了业务数据的安全性。
1.2 功能分析
本模块主要功能是方便各员工向同事发送短消息或群发消息,也能查看、删除、回复别人发给自己的消息。收到的消息不允许被篡改,以保证消息的权威性。员工还可以查看和处理自己发送过的短消息。收到的短消息,可以像邮件一样,设为“已阅”。
1.3 可行性分析
1.3.1 操作可行性
本系统性能稳定,简单易用易懂、功能完善,有利于公司管理人员的使用,大大提高管理的效率。 1.3.2 经济可行性
本次系统所用到的只是计算机上所安装时的软件来完成这次的开发,无需要经济上的投入,因此在经济上是可行的。
3
1.3.3 技术可行性
NetOA采用微软的最新技术,微软.Net技术为多层应用体系结构的实现提供良好的基础。.Net Framework框架简化了在Internet环境中的应用程序开发。所以系统在操作上是可行的。
1.4 开发工具简介
.Net Framework又称.Net框架。是由微软开发,一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。.Net是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。
NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言的开发。.NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.Net设计得足够通用化从而使许多不同高级语言都得以被汇集。 1.4.1 C#概述
C#是微软公司在2000年六月发布的一种新的变成语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.Net Windows网络框架的主角。
C# 的特点
动态查阅:C#4.0新增dynamic关键字,提供动态编程(dynamic programming),把既有的静态对象标记为动态对象,类似javascript,Python或Ruby。
中间代码:微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地。微软公司声称MSIL不是解释性的,而是被编译成了机器码。而这种实现方式决定了基于MSIL的程序(指的是用C#,Microsoft Visual Studio C#,”
4
Managed C++”,C++的一个符合CLS的版本等语言编写的程序)将在性能上超过”解释性的”Java代码。
命名空间中的申明:当创建一个程序的时候,在一个命名空间里创建了一个或多个类。同在这个命名空间里(在类的外面)还有可能声明界面,枚举类型和结构体。必须使用using关键字来引用别的命名空间的内容[3]。
两个基本类:一个名叫object的类是所有别的类的基类。而一个名叫string的类也像object一样是这个语言的一部分。
参数传递:方法可以被声明接受可变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out关键字也能声明引用传递过程,与ref不同的地方是,out关键字指明这个参数并不需要初始值。
与COM的集成:C#对Windows程序最大的卖点可能就是它对COM的无缝继承了,COM就是微软的Win32组件技术。实际上,最终有可能在任何.Net语言里编写COM客户和服务器端。C#编写的类可以子类化一个已存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,Jscript语言子类化它从而得到第三个COM组件。这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用任何。Net语言子类化。 1.4.2 SQL Server 概述
SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种结合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、
5
DB2、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言。
SQL Server2005是一个全面的数据库平台,使用集成的商业智能(BI)功能提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
1.5 架构简介
NetOA成典型的多层架构,将系统划分成多个层次,其好处之一就是使系统的架构更加清晰,这样每个层次完成的功能比较单一,代码更加有规律可循。
NetOA的基本结构主要划分为表现、业务和数据3层。3个层次中,系统主要功能和业务逻辑在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
1. 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2. 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3. 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
6
2 系统总体设计
2.1 系统功能结构设计
短消息管理的主要功能是对短消息的接收、发送和已发管理。接收消息包括短消息的查看、删除、转发;发送消息包括消息的发送和群发;已发消息包括短消息的查看、删除和转发。功能模块图如图2.1所示:
短消息管理接收消息发送消息已发消息查看短消息删除短消息转发短消息发送消息群发消息查看短消息删除短消息转发短消息
图2.1短消息管理
1、接收消息管理
用户登陆后在左侧选择短消息管理,点击接收消息按钮,进入此模块。显示该用户接收到的所有短消息。可查看、删除、转发接收到的短消息。 1)查看短消息:显示此条消息的标题、内容和发表人等信息。 2)删除短消息:删除一条或多条收到的短消息。
3)转发短消息:将接收到的短消息转发给其他人或部门。系统自动注明短消息的出处和内容。 2、发送消息管理
用户登陆系统后,在左侧选择短消息管理选项,点击发送消息按钮,进入此模块。用户通过下拉列表框选择要发送的部门和接收人,填写发送人姓名,标题和内容,点击发送,系统提示发送成功则短消息发送成功。 3、部门群发管理
用户登陆系统后在左侧选择短消息管理,点击部门群发按钮,进入此模块。用户通过下拉列表框选择要发送的部门,填写标题和内容,点击发送,系统提示发送成功则短消息发送成功。
7
4、已发消息管理
用户登陆后在左侧选择短消息管理,点击发送记录按钮,显示此模块。显示该用户已发的所有短消息。可查看、删除、转发已发的短消息。 1)查看短消息:显示此条消息的标题、内容和发表人等信息。 2)删除短消息:删除一条或多条已发的短消息。
3)转发短消息:将已发的短消息转发给其他人或部门。系统自动注明短消息的出处和内容。
2.2 数据库设计
2.2.1 数据表设计
所做的模块主要涉及到短消息信息,短消息接收表两个表,本模块应该能够将表中信息导出并显示出来,用户应对相应信息进行查询,添加,删除,修改都涉及到这两个表,对应删除,修改添加能改变表里面的信息,并将其存到数据库中。
1、短消息信息表:用于存放短消息的信息,包含短消息标识,发送者姓名,内容,发送时间,是否显示等。如表2.1所示。
表2.1 短消息信息表
名称 短消息标识 发送者姓名 内容 发送时间 是否显示
字段
MessageMsgId Sender Content SendTime IsDisplay
数据类型 bigint
varchar(50) varchar(255) datetime bit
是否主键 是 否 否 否 否
2、短消息接收表:用于存放接收到得短消息的相关信息。包含短消息接收标识,短消息标识,接收人,是否阅读,是否显示等。如表2.2所示。
表2.2短消息接收表
名称
短消息接收标识 短消息标识 接收人 是否阅读 是否显示
字段
MessageReceiverId MessageMsgId Receiver IsRead IsDisplay
数据类型 bigint bigint
varchar(50) bit bit
是否主键 是 否 否 否 否
2.2.2 存储过程设计
短消息管理模块共包含13个存储过程,其中主要的存储过程有
8
sp_Message_GetMsg、sp_Message_DeleteReceivedMsgs、sp_Message_SendMsg、sp_Message_SetMsgReceiver、 sp_Message_GetSentMsgs。
存储过程sp_Message_DeleteReceivedMsgs删除接收到的消息。如下表2.3所示。
2.3存储过程sp_Message_DeleteReceivedMsgs
存储过程名
sp_Message_DeleteReceivedMsgs
功能描述 输入参数
删除接收到的消息
@msgIds varchar(2000), ——短讯标识组成的短讯标识
字符串,以逗号分隔
@userName varchar(50) ——已经登录的用户名
输出参数 返回值
无
0:操作失败 1:操作成功
结果集 涉及到的表
无
1.短消息接收表:ReceivedMsgs
存储过程sp_Message_GetMsg功能主要是通过短讯标识获取短讯的完整信息,存储过程表结构设计如下表2.4所示。
表2.4存储过程sp_Message_GetMsg
存储过程名
sp_Message_GetMsg
功能描述 输入参数 输出参数 返回值 结果集 涉及到的表
通过短讯标识获取短讯的完整信息 @msgId bigint ——短讯标识 无 默认
短讯完整信息记录 1.短消息信息表:Message
9
存储过程sp_Message_GetSentMsgs主要功能是获取发送的所有短讯,存储过程的表结构设计如下图2.5所示。
表2.5存储过程sp_Message_GetSentMsgs
存储过程名 功能描述 输入参数 输出参数 返回值 结果集 涉及到的表
sp_Message_GetSentMsgs 获取发送的所有短讯
@userName varchar(50) ——用户名 无 默认
短讯详细信息记录 1.短消息信息表:Message
存储过程sp_Message_SendMsg主要功能发送短讯,存储过程的表结构设计如下图2.6所示。
表2.6存储过程sp_Message_SendMsg
存储过程名 功能描述 输入参数
sp_Message_SendMsg 发送短讯
@sender varchar(50) ——发送用户名 @content varchar(5000) ——短讯内容 @sendTime datetime ——发送时间
输出参数 返回值 结果集 涉及到的表
@newmsgid int output ——短讯记录标识 默认 无
1.短消息信息表:Message
存储过程sp_Message_SetMsgReceiver主要功能是将短消息和接收人关联,存储过程的表结构设计如下图2.7所示。
10
表2.7存储过程sp_Message_SetMsgReceiver
程名 功能描述 输入参数
sp_Message_SetMsgReceiver 将短消息和接收人关联
@msgId int ——短讯标识 @receivers varchar(2000) ——接收人字符串
输出参数 返回值
无
0:执行失败 1:执行成功
结果集 涉及到的表
无
1.短消息接收表:ReceivedMsgs
11
3 系统详细设计与实现
3.1 登陆模块
输入账号和密码点击登陆进入系统。根据账号不同,进入不同用户界面。界面如图3.1所示。
图3.1登陆
实现过程:
在本界面中只放置了TextBox控件、Button控件、Label控件等.利用Textbox控件进行接收用户输入帐号和密码,利用Button控件的触发事件进行登陆账号和密码检查程序的编写。帐号和密码不能为空。实现了用户登陆功能。
3.2 接收消息总览模块
接收消息总览模块实现用户对所有接收消息的查看功能。用户登陆后在左侧选择短消息管理,点击接收消息按钮,显示此页面。根据登陆用户的不同显示不同。在左侧复选框中打钩点击删除可删除信息,在全选框中打钩,选中本页面中所有信息。点击转发进入转发界面,点击信息名称进入查看接收消息界面。界面如图3.2所示。
12
图3.2接收消息总览
实现过程:
在本界面中放置了CheckBox控件、GridView控件、Button控件、和Label控件等。调用存储过程sp_Message_GetMsg实现了用户总览接收到的所有消息的功能。Button控件的触发事件调用存储过程sp_Message_DeleteReceivedMsgs删除CheckBox选中的消息记录。点击短消息标题超链接进入短消息查看界面。点击转发超链接进入转发消息界面。
3.3 查看接收消息模块
查看接收消息模块实现用户对收到消息的查看功能。用户在接收消息总览页面中点击要查看消息的名称,则跳转到此页面。显示消息的标题、内容和发表人等信息。点击取消返回接收消息总览页面。界面如图3.3所示。
图3.3查看接收消息
13
实现过程:
本页面使用了TextBox控件、Button控件和GridView控件等。调用存储过程sp_Message_GetMsg在TextBox文本框连接数据库显示此条短消息的全部信息。Button按钮触发事件跳转到接收消息总览页面。
3.4 转发短消息模块
转发短消息模块实现了短消息的转发功能。用户在接收消息总览和已发消息总览页面中点击转发进入该页面。用户通过下拉列表框选择要发送的部门和接收人,填写发送人姓名, 系统自动注明短消息的出处和内容。点击发送,系统提示发送成功,则接收人收到接到新的短消息的提示。点击部门群发跳转到部门群发页面。界面如图3.4所示。
图3.4短消息转发
实现过程:
在本界面中放置了DropDownList控件、Button控件、TextBox控件、用户自定义控件FreeTextBox控件和Label控件等。DropDownList绑定数据,在数据库中获取联系人列表。TextBox发送人接收用户输入的信息。Button清除触发事件清空TextBox中内容。Button对部门群发触发事件跳转到部门群发页面。TextBox绑定数据,获取转发消息的标题,发表人,发表时间。Button发送触发事件发送,调用存储过程sp_Message_SendMsg实现了短消息的转发功能。
14
3.5 发送消息模块
发送消息模块实现短消息的发送功能。用户登陆系统后,在左侧选择短消息管理选项,点击发送消息按钮,进入此页面。用户通过下拉列表框选择要发送的部门和接收人,填写发送人姓名,标题和内容,点击发送,系统提示发送成功,则接收人收到接到新的短消息的提示。点击部门群发跳转到部门群发页面。点击重写清空短消息内容。界面如图3.5所示。
图3.5发送消息
实现过程:
在本界面中放置了DropDownList控件、Button控件、TextBox控件、用户自定义控件FreeTextBox控件和Label控件等。DropDownList绑定数据,在数据库中获取联系人列表。TextBox发送人接收用户输入的信息。Button清除触发事件清空TextBox中内容。Button对部门群发触发事件跳转到部门群发页面。Button发送触发事件发送,调用存储过程sp_Message_SendMsg实现了短消息发送的功能。
3.6 部门群发模块
部门群发模块实现短消息的群发功能。用户登陆系统后在左侧选择短消息管理,点击部门群发按钮,进入此页面。用户通过下拉列表框选择要发送的部门,填写标题和内容,点击发送,系统提示发送成功,则接收人收到接到新的短消息
15
的提示。点击重写清空短消息内容。界面如图3.6所示。
图3.6部门群发
实现过程:
在本界面中放置了DropDownList控件、Button控件、TextBox控件、用户自定义控件FreeTextBox控件和Label控件等。DropDownList绑定数据,在数据库中获取联系人列表。TextBox标题接收用户输入的信息。Button重写触发事件清空用户自定义控件FreeTextBox中内容。Button对部门群发触发事件跳转到部门群发页面。Button发送触发事件发送,调用存储过程sp_Message_SendMsg实现了短消息发送的群发功能。
3.7 已发信息总览模块
已发消息总览模块实现用户对所有已发消息的查看功能。用户登陆后在左侧选择短消息管理,点击发送记录按钮,显示此页面。根据登陆用户的不同显示不同。在左侧复选框中打钩点击删除可删除信息,在全选框中打钩,选中本页面中所有信息。点击转发进入转发界面,点击信息名称进入查看已发消息界面。界面如图3.7所示。
实现过程:
本页面使用了CheckBox控件、TextBox控件、Button控件和GridView控件等,调用存储过程sp_Message_GetSentMsgs显示所有已发信息。Button控件的触发事件删除数据库中CheckBox选中的消息记录。点击短消息标题超链接进入短消息查看界面。点击转发超链接进入转发消息界面。
16
图3.7已发消息总览
3.8查看已发信息模块
查看已发消息模块实现用户对已发消息的查看功能。用户在已发消息总览页面中点击要查看消息的名称,则跳转到此页面。显示消息的标题、内容和发表人等信息。点击取消返回接收消息总览页面。界面如图3.7所示。
图3.7查看已发消息
实现过程:
在本界面中放置了TextBox控件、Button控件和GridView控件,调用存储过程sp_Message_GetMsg在TextBox文本框连接数据库显示此条短消息的全部信息。Button按钮触发事件跳转到接收消息总览页面。
17
结 论
在本次实训,在.NET平台下构建了基于B/S三层架构模式的OA办公自动化系统。系统使用ASP.NET程序,在一个页面实现类和数据库的操作,很好地实现了B/S三层架构模式所应具备的分布式服务功能和其他各种基本需求。
短消息管理的主要功能是方便各员工向同事发送短消息或群发消息,也能查看、删除、回复别人发给自己的消息。收到的消息不允许被篡改,以保证消息的权威性。员工还可以查看和处理自己发送过的短消息。收到的短消息,可以像邮件一样,设为“已阅”。方便员工之间的沟通,提高办公效率,增加商业信息的安全性。
OA系统是一种复杂的企业办公系统,它要求开发者对企业办公模式有较深了解,但由于自身企业办公知识的认识水平和时间的问题,使设计中的一些功能相对于实际企业办公还不够合理,这些地方仍需要通过学习继续进行改进和完善。
18
参 考 文 献
[1] 微软院校课程系列教材.Web应用程序设计.高等教育出版社。 [2] 周良忠.C# Primer Plus.[M].人民邮电出版社。
[3] 微软院校课程系列教材..NET Framerwork 2.0程序设计语言.高等教育出版社.
[4] Karli Watson Christian Nagel.C#入门经典(第3版).[M].清华大学出版社。
[5] Microsoft.C#程序设计语言.[M]高等教育出版社。 [6] 萨师煊,王珊.数据库系统概论.[M].高等教育出版社。
19
因篇幅问题不能全部显示,请点此查看更多更全内容