《基于.NET平台而开发的小型办公自动化系统毕业论文.doc》由会员分享,可在线阅读,更多相关《基于.NET平台而开发的小型办公自动化系统毕业论文.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要OA(Office Automation)又称办公自动化或自动化办公,是信息技术在组织管理中最典型的应用,它基于网络技术,可以将跨地区的各个部门紧密的联系在一起,从而达到信息实时共享,最大程度地发挥各级人员的工作效率,使办公完全摆脱时间与空间的限制,完全实现信息自动化,有利于企业员工的办公效率与公司综合管理效率的提高。办公自动化系统利用计算机技术和网络技术使办公室部分工作逐步信息化,从而形成办公室人员与办公设备共同构成服务于某种目标的人机信息处理系统,是信息技术在企业管理中的典型应用。不同的OA系统针对不同的组织业务在设计上会有不同,但一般的办公自动化系统都包括对企业的员工与部门的管理、
2、考勤制度、文件的传递、公告的发布、网上交流及活动的设置等基本管理业务,该小型OA系统就是针对这些基本的业务设计实现的。关键词:Office Automation 办公自动化 信息实时共享 在线考勤 目 录1引言11.1办公自动化的历史演变21.2办公自动化的发展方向31.3办公自动化的研究目的与意义32系统总体设计42.1系统业务流程42.2系统功能模块介绍52.3开发工具介绍72.4小组分工情况73数据库设计83.1数据库需求分析83.2数据库概念结构设计83.3数据库逻辑结构设计123.4数据库物理结构设计144系统设计与实现174.1实现登录功能174.2实现文件传送功能194.3实现在
3、线考勤功能204.4实现新员工注册功能224.5实现发布公告功能245遇到的问题及解决方法255.1问题一255.2问题二255.3问题三26总 结 27致 谢 28参 考 文 献291 引言随着全球经济一体化进程的加快,世界经济已由工业化经济逐步进入网络信息化时代,办公自动化就是信息革命的产物,也是社会信息化的重要技术保证。在信息时代来临之季,各种先进的办公设备如雨后春笋般出现,为适应瞬息万变、竞争激烈的时代要求,各企业都紧跟时代的脚步,转变着企业的经营模式、管理模式,从传统的人工管理体制,向信息自动化管理体制过渡,与此同时,企业的传统式的办公管理模式也在逐步向自动化办公管理模式转变,这就体
4、现在办公自动化系统的引入。办公自动化作为当前国际上飞速发展的一门综合性新学科,已经越来越受到人们的重视。信息时代的到来让人们尝到了“信息爆炸”的滋味,信息的大量拥入让企业在信息处理方便应接不暇,传统的办公模式、对信息的处理方法,早已不能满足企业对信息快速、准确的处理的要求。一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向。从传统的办公模式向自动化办公管理模式转变,提高企业的信息处理能力,以增强企业的市场竞争力,成了企业发展过程中的首要问题。办公自动化是信息化社会最重要的标志之一,它将人、计算机和信息三者结合为一个办公体系,构成
5、一个服务于办公业务的人机信息处理系统。通过提高办公效率,使用先进的机器设备和技术,办公人员可以充分利用各种办公信息资源,从而提高办公效率,使办公业务从事务层次进入管理层,甚至辅助决策层,将办公和管理提高到一个崭新的水平。1.1 办公自动化的历史演变1.1.1 起步阶段(1985年1993年):是以结构化数据处理为中心,基于文件系统或关系型数据库系统,使日常办公也开始运用IT技术,提高了文件等资料管理水平。这一阶段实现了基本的办公数据管理(如文件管理、档案管理等),但普遍缺乏办公过程中最需要的沟通协作支持、文档资料的综合处理等,导致应用效果不佳。1.1.2 应用阶段(1993年2002年):随着
6、组织规模的不断扩大,组织越来越希望能够打破时间、地域的限制,提高整个组织的运营效率,同时网络技术的迅速发展也促进了软件技术发生巨大变化,为OA的应用提供了基础保证,这个阶段OA的主要特点是以网络为基础、以工作流为中心,提供了文档管理、电子邮件、目录服务、群组协同等基础支持,实现了公文流转、流程审批、会议管理、制度管理等众多实用的功能,极大地方便了员工工作,规范了组织管理、提高了运营效率。1.1.3 发展阶段(2002年至今 ):OA应用软件经过多年的发展已经趋向成熟,功能也由原先的行政办公信息服务,逐步扩大延伸到组织内部的各项管理活动环节,成为组织运营信息化的一个重要组织部分。同时市场和竞争环
7、境的快速变化,使得办公应用软件应具有更高更多的内涵,客户将更关注如何方便、快捷地实现内部各级组织、各部门以及人员之间的协同、内外部各种资源的有效组合、为员工提供高效的协作工作平台。1.2 办公自动化的发展方向办公自动化的发展方向应该是数字化办公。所谓数字化办公即几乎所有的办公业务都在网络环境下实现。从技术发展角度来看,特别是互连网技术的发展,安全技术的发展和软件理论的发展,实现数字化办公是可能的。从管理体制和工作习惯的角度来看,全面的数字化办公还有一段距离,首先数字化办公必然冲击现有的管理体制,使现有管理体制发生变革,而管理体制的变革意味着权利和利益的重新分配;另外管理人员原有的工作习惯、工作
8、方式和法律体系有很强的惯性,短时间内改变尚需时日。尽管如此,全面实现数字化办公是办公自动化发展的必然趋势。1.3 办公自动化的研究目的与意义Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和办公自动化、信息管理电子化系统,为管理部门提供现代化的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现企业各部门日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、科技档案、
9、财务档案等档案的可管理性,实现信息的在线查询、传送。最终实现“无纸”办公,从而彻底解决传统工作方式中的种种弊端。企业建设自己的网站和网络办公系统已经成为开展业务、方便企业管理以及扩大企业知名度的不可或缺的手段。办公自动化系统是信息技术在公司管理中最典型的应用。传统的办公模式基于纸张,效率低下,无法适用于当前分布办公的要求。OA系统基于网络技术,可以将跨地区的各个部门紧米的连接在一起,从而达到信息共享,可以最大程度地发挥各级人员的工作效率。因此实现此系统的意义在于能够最大力度的增加企业的工作效率。办公自动化可以和一个企业的业务结合的非常紧密,甚至是定制的。因而可以将诸如信息采集、查询、统计等功能
10、与具体业务密切关联。操作人员只须点击一个按钮就可以得到想要的结果,从而极大得方便了企业领导的管理和决策。办公自动化还是一个企业与整个世界联系的渠道,企业的Intranet网络可以和Internet相联。一方面,企业的员工可以在Internet上查找有关的技术资料、市场行情,与现有或潜在的客户、合作伙伴联系;另一方面,其他企业可以通过Internet访问你对外发布的企业信息,如企业介绍、生产经营业绩、业务范围、产品/服务等信息。从而起到宣传介绍的作用。随着办公自动化的推广,越来越多的企业将通过自己的Intranet网络联接到Internet上,所以这种网上交流的潜力将非常巨大。 办公自动化已经成
11、为企业界的共识。众多企业认识到尽快进行办公自动化建设,并占据领先地位,将有助于保持竞争优势,使企业的发展形成良性循环。2 系统总体设计OA(Office Automation)即办公自动化,它是指利用计算机技术和网络技术,使办公室部分工作逐步自动化,从而形成由办公室人员与办公设备共同构成服务于某种目标的人机信息处理系统。随着网络的发展,办公自动化系统已经成为公司、企业以及政府机关办公信息化管理的一个重要工具。通过企业办公自动化管理系统对企业日常办公进行管理,满足了企业日常办公管理各方面的需求,实现了企业员工之间的交流与管理,大大的方便了企业内部人员沟通。网站提供的前后台的公告与公文信息的管理方
12、便员工及时的了解公司的动态,部门与员工管理也方便了管理者的管理,其他功能模块的设置使企业的日常管理步入了科学系统管理的轨道上。2.1 系统业务流程一个系统是由50%的业务和50%的程序组成,可见对业务的分析好坏是系统成败的关键。该系统根据一般企业的基本业务流程设计而成,其中包括企业部门与员工的管理、在线考勤、员工之间传送文件以及浏览公告等功能。具体的业务流程如下图:浏览公告/浏览规章制度/活动投票员工员工上下班考勤发送短消息传/接文件统计迟到/早退次数 是否迟到/早退优秀员工评比图2.1.1 系统业务流程图2.2 系统功能模块介绍在日常办公中,通常会遇到许多常用的数据,比如邮件地址、日程助手、
13、日常记事等,这些数据通常凌乱不堪,在需要时不知道存放在何处,从而影响工作效率。因此,我们设计了能满足这种需求的系统小型OA(办公自动化)系统。办公自动化系统是一个完整的网络办公平台,在该系统中主要包括用户登录用户和角色管理模块、用户考勤及其设置模块、我的文档管理模块、交流管理平台以及公文流转模块等。系统的登录分为管理员和普通员工两个级别,因此不同的登录对应的功能模块不同,具体的模块如下图:OA(办公自动化)系统普通员工登录系统主页桌面查看规章制度修改登录密码查看公告文件管理传送文件接收文件删除文件交流管理发送短消息活动投票考勤管理上班签到下班签退行政管理部门及职责员工联系方式管理员登录系统管理
14、主页公告管理查看公告发布公告文件管理传送文件接收文件删除文件交流管理发送短消息设置活动投票查看投票结果考勤管理考勤时间设置上班签到下班签退部门管理新建部门编辑部门信息员工管理添加员工信息编辑员工信息规章制度管理更新规章制度预览规章制度系统管理个人密码设置操作权限设置图2.2.1 系统功能模块图2.3 开发工具介绍2.3.1 SQL Server 2000的特点与作用SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能,还包括存储过程及触发器等特征。其特点有:1)Internet 集成。SQL Server 200
15、0 数据库引擎提供完整的XML 支持,它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。2)可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows 98的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。3)企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。4)易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,
16、这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。2.3.2 Visual Studio.NET 2005的功能及特点Visual Studio.NET 2005是 Microsoft 的第二代开发工具,用于构建和部署功能强大而安全的连接 Microsoft.NET 的软件。Visual Studio.NET 2005包含Windows .NET Framework 的一个增强版本。Windows .NET Framework 1.1 版在前一版本的基础上增添了新的能力、功能增强和文档改进。通过对.NET Compact Framework 的集成支持,Visua
17、l Studio.NET 2005将移动和嵌入式设备,如Pocket PC 和其他采用Microsoft Windows CE .NET 操作系统的设备,带入.NET。如今,开发人员能够使用同样的编程模型、开发工具及编程技能,来构建应用范围广泛、从小设备到最大的数据中心的应用程序。包含了:Microsoft Visual Basic .NET、Microsoft Visual C+ .NET、Microsoft Visual C# .NET。2.4 小组分工情况本系统由我和李婷合作开发,李婷的主要工作是前台界面设计,在需求分析阶段确定系统的整个色调,搜集、制作相关素材(包括图片、Logo、Fl
18、ash等),初步设计系统各个页面的排版样式,确定命名规范以方便后面编写代码。我的主要工作是后台数据库设计,在需求分析阶段完成后建立初步的数据库,主要包括数据表及其关系的创建。后期工作主要是和李婷的分析讨论,实现数据库与前台界面的绑定,测试运行系统,完善其功能。3 数据库设计3.1 数据库需求分析公司为了扩大规模,增强企业的竞争力,必须向多元化发展,而传统的办公模式对信息的处理方法早已不能满足企业对信息快速、准确处理的要求,一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向,从传统的办公模式向自动化办公管理模式转变,提高企业的管理
19、协作能力,以增强企业的市场竞争力,成为企业发展过程中的首要问题。对于企业办公自动化管理系统来说,提高企业的管理效率、方便企业职员的协作是至关重要的,根据企业的一般办公需求及流程,我们总结出要开发的办公自动化系统的主要需求如下:1、公司公告及规章制度的发布与查看。2、员工之间收发文件及短消息。3、员工上下班考勤。4、公司活动安排及员工投票。5、公司部门及员工的管理。6、用户个人信息设置。7、系统分为两个用户级别管理员与普通员工,不同级别的用户对应的管理权限也不同。3.2 数据库概念结构设计根据前面的需求分析可以抽象出一系列的人、物、事,即各种实体、属性及实体关系,具体设计如下:系统用户员工信息文
20、件记事本公告部门信息记录属于收发属于发布考勤考勤情况11n1n1nmnn11图3.2.1 实体间E-R图1、员工信息:员工编号姓名性别员工信息出生年月学历职位所属部门级别联系电话地址电子邮箱状态照片路径图3.2.2. 员工信息实体E-R图2、部门信息:部门编号部门名称职责描述部门信息图3.2.3 部门信息实体E-R图3、记事本:流水号标题内容记事本时间记事者图3.2.4 记事本实体E-R图4、文件信息:文件编号发送者接受者文件信息文件标题发送时间文件内容文件存放路径文件名图3.2.5 文件信息实体E-R图5、公告信息:流水号标题内容公告发出时间发布者图3.2.6 公告信息实体E-R图6、规章制
21、度:编号内容规章制度图3.2.7 规章制度实体E-R图7、考勤设置:流水号描述时间考勤设置图3.2.8 考勤设置实体E-R图8、考勤情况:流水号时间被考勤者考勤情况是否迟到是否早退图3.2.9 考勤情况实体E-R图9、活动投票:活动内容流水号活动标题活动投票票数图3.2.10 活动投票实体E-R图10、系统用户信息:用户编号用户名密码系统用户登录时间是否是管理员是否在线图3.2.11 系统用户实体E-R图3.3 数据库逻辑结构设计员工信息(员工编号、员工姓名、性别、出生年月、学历、级别、所属部门、职位、联系电话、地址、电子邮箱、在职状态、照片路径)部门信息(部门编号、部门名称、职责描述)记事本
22、(流水号、标题、内容、时间、记事者)文件信息(流水号、发送者、接收者、文件标题、发送时间、文件内容、存储路径、接收状态、文件名)公告(流水号、公告标题、发布者、发布时间、公告内容)规章制度(流水号、内容)考勤设置(流水号、考勤描述、时间设置)考勤情况(流水号、考勤时间、被考勤者、是否迟到、是否早退)活动投票(流水号、活动标题、活动内容、票数)系统用户(用户编号、用户名、密码、登录时间、是否是管理员、是否在线)表3.3.1 员工信息表列名数据类型长度允许空是否为主键IDint4Namevarchar20是Sexvarchar6Birthdaysmalldatetime4Learnvarchar2
23、0Postvarchar10Deptvarchar50Jobvarchar50Telvarchar20Addressvarchar100Emailvarchar50是Statevarchar20photePathtext16是表3.3.2 部门信息表列名数据类型长度允许空是否为主键IDint4Namevarchar20是memotext16是表3.3.3 记事本表列名数据类型长度允许空是否为主键IDint4是noticeTitlevarchar50是noticePersontext16是noticeTimedatetime8是noticeContentvarchar20是表3.3.4 文件信息
24、表列名数据类型长度允许空是否为主键fileIDint4fileSendervarchar20是fileAcceptervarchar20fileTitlevarchar50fileTimedatetime8fileContenttext16Pathvarchar100Examinevarchar10fileNamevarchar50表3.3.5 公告表列名数据类型长度允许空是否为主键noticeIDint4是noticeTitlevarchar40noticePersonvarchar20noticeTimedatetime8noticeContenttext16表3.3.6 规章制度表列名数
25、据类型长度允许空是否为主键IDint4是Contenttext16是表3.3.7 考勤设置表列名数据类型长度允许空是否为主键signstateIDint4是Describestatevarchar20timedatetime8表3.3.8 考勤情况表列名数据类型长度允许空是否为主键singIDint4是Datetimedatetime8employeeNamevarchar20latebit1quitbit1表3.3.9 活动投票表列名数据类型长度允许空是否为主键IDint4是voteTitlevarchar20是voteContenttext16是voteQtyfloat8是表3.3.10
26、系统用户表列名数据类型长度允许空是否为主键userIDint4是userNamevarchar20userPwdvarchar20loginTimedatetime8是systembit1是signbit1是3.4 数据库物理结构设计数据库在实现时是通过手动建表的形式,生成的建库脚本位置:OAApp_Data建库脚本.sql。3.4.1 自定义基础类ExecSQL方法ExecSQL方法用来执行SQL语句,返回值为Boolean型,主要是对数据库中数据进行添加、修改、删除等操作,相应功能执行成功后返回true,否则返回false。ExecSQL方法实现代码如下:#region 执行SQL语句 /
27、 / 用来执行SQL语句 / / sQueryString SQL字符串 / 操作是否成功(TrueFalse) public Boolean ExecSQL(string sQueryString) SqlConnection con = new SqlConnection(ConfigurationManager.AppSettingsconStr); con.Open(); SqlCommand dbCommand = new SqlCommand(sQueryString, con); if (dbCommand.ExecuteNonQuery() 0) con.Close(); re
28、turn true; else con.Close(); return false; 3.4.2 自定义基础类ExecProcNotice方法由于公告信息需要显示特殊的效果,难免要存储一些危险字符。为了安全起见,通过存储过程来实现公告信息的添加。ExecProcNotice方法通过参数向存储过程中传值,最终实现公告信息的添加。公告信息添加存储过程实现代码如下:CREATE PROCEDURE inset_tb_notice(noticeTitle varchar(40), noticePerson varchar(20), noticeContent text)AS INSERT INTO d
29、b_OA.dbo.tb_notice(noticeTitle,noticePerson,noticeContent)VALUES(noticeTitle,noticePerson,noticeContent)GOExecProcNotice方法实现代码如下:/ / 公告信息添加 / / 标题 / 公告内容 / 发布公告人 / public Boolean ExecProcNotice(string title, string content, string person) SqlConnection con = new SqlConnection(ConfigurationManager.Ap
30、pSettingsconStr); con.Open(); SqlCommand cmd = new SqlCommand(insert_tb_notice, con); cmd.CommandType = CommandType.StoredProcedure; /公告标题 SqlParameter pTitle = new SqlParameter(noticeTitle, SqlDbType.VarChar, 40); pTitle.Value = title; cmd.Parameters.Add(pTitle); /公告内容 SqlParameter pContent = new S
31、qlParameter(noticeContent, SqlDbType.Text, 0); /0为Text默认存储的最大值 pContent.Value = content; cmd.Parameters.Add(pContent); /公告人 SqlParameter pPerson = new SqlParameter(noticePerson, SqlDbType.VarChar, 20); pPerson.Value = person; cmd.Parameters.Add(pPerson); /判断运行结果 if (cmd.ExecuteNonQuery() 0) con.Clos
32、e(); return true; else con.Close(); return false; #endregion3.4.3 自定义基础类GetDataSet方法GetDataSet方法用来执行SQL语句并且返回数据集,返回值为数据集DataSet型,主要是对数据库中数据进行查询,执行成功后返回数据集。GetDataSet方法实现代码如下:#region 查询SQL语句 / /执行查询语句 / / sQueryString SQL字符串 / TableName 数据表名称 / public System.Data.DataSet GetDataSet(string sQueryStrin
33、g, string TableName) SqlConnection con = new SqlConnection(ConfigurationManager.AppSettingsconStr); /初始化数据适配器 SqlDataAdapter dbAdapter = new SqlDataAdapter(sQueryString, con); DataSet dataset = new DataSet(); dbAdapter.Fill(dataset, TableName); /填充DataSet数据集 return dataset; #endregion4 系统设计与实现4.1 实现
34、登录功能4.1.1 前台界面图4.1.1 用户登录界面4.1.2 后台代码protected void btnLogin_Click(object sender, EventArgs e) if (txtPwd.Text = & txtName.Text = ) Response.Write(bc.MessageBox(用户名称和密码不能为空!); return; if (rdoBtnAdmin.Checked) /系统管理员登录 DataSet ds = bc.GetDataSet(select count(*) from tb_sysUser where userName= + txtNa
35、me.Text + and userPwd= + txtPwd.Text + and system=1, tb_sysUser); if (ds.Tables0.Rows.Count 0) /登录成功后,设置登录时间和标识 bc.ExecSQL(update tb_sysUser set logintime= + DateTime.Now + ,sign=1 where userName= + txtName.Text + ); /存储登录用户名称 SessionloginName = txtName.Text; /登录成功后,进入系统主页 Response.Redirect(/SystemD
36、efault.aspx); else Response.Write(bc.MessageBox(用户名或密码错误!); else/普通操作职员 DataSet ds = bc.GetDataSet(select count(*) from tb_sysUser where userName= + txtName.Text + and userPwd= + txtPwd.Text + and system=0, tb_sysUser); if (ds.Tables0.Rows.Count 0) /登录成功后,设置登录时间和标识 bc.ExecSQL(update tb_sysUser set l
37、ogintime= + DateTime.Now + ,sign=1 where userName= + txtName.Text + ); SessionloginName = txtName.Text; Response.Redirect(/SystemDefault.aspx); else Response.Write(bc.MessageBox(用户名或密码错误!); 4.2 实现文件传送功能4.2.1 前台界面图4.2.1 文件传送界面4.2.2 后台代码protected void Page_Load(object sender, EventArgs e) if (Sessionl
38、oginName = null) /判断是否非法登录 /如果非法登录,直接跳转到主页。 Response.Write(this.parent.location.href=./Default.aspx); return; if (!IsPostBack) /绑定文件接收人,均为企业员工 ddlName.DataSource = bc.GetDataSet(select * from tb_employee, tb_employee); ddlName.DataTextField = name; ddlName.DataValueField = name; ddlName.DataBind(); protected void btnSend_Click(object sender, EventArgs e) /将附件路径 string str = this.FileUpload1.PostedFile.FileName; /判断附件不能为空! if (str = string.Empty) Response.Write(bc.MessageBox(上传文件不能为空!); return;