欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    办公事务管理系统的设计与实现(共22页).doc

    • 资源ID:14030716       资源大小:409KB        全文页数:22页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    办公事务管理系统的设计与实现(共22页).doc

    精选优质文档-倾情为你奉上摘要:随着网络的发展,现在一切办公都信息化,办公室事务管理系统是一款规范办公、提高工作效率、便于管理的软件。本软件分培训管理、会议管理、资料管理、用户管理这四个功能模块。系统采用Oracle 11g做数据库、Visual stdio2010做开发工具,用C#语言实现。最后实现了一套完整的办公管理方案。从而提高企业的工作效率。关键词:办公事务管理系统,C#,数据库、PL/SQL。 专心-专注-专业绪 论31需求分析41.1Oracle 11g简介41.2PL/SQL简介:41.3Visual Stdio 201041.4C#41.5功能性需求分类51.5.1主要功能51.5.2功能新需求分类61.5.3数据流图71.5.3.1会议管理81.5.3.2资料管理91.5.3.3用户管理101.6开发工具101.7本章小结102总体设计112.1数据库设计112.2设计项目框架122.3本章小结123详细设计133.1语言133.2界面设计133.2.1设计登录窗体133.2.2设计主窗体143.3模块的详细设计153.3.1数据库的连接153.3.2登陆163.3.3培训报名信息183.4本章小结204重难点分析及解决方案204.1登陆出错204.2序列问题214.3资料审核问题214.4格式问题21参考文献21绪 论研究背景现阶段,随着互联网的普及流行,全球信息化的迅猛发展,传统的办公方式已落后于信息化改革的要求,必将被全新的办公方式取代。在这信息技术突飞猛进的时代,每个企业也必须紧跟时代步伐,加强企业竞争力和提升现代化企业的管理功能。针对企业的办公、管理信息化的需求,很多软件厂商纷纷推出自己的办公事务管理系统,并赢得了市场的认同。1需求分析本章会针对性地介绍与本设计相关的分布式机构相关的前沿技术,由于本论文是电子商务系统的设计与实现,所以不会太详细的介绍分布式架构的理论。另外,本章将着重介绍本设计的详细需求,以及可行性分析等。Oracle 11g简介Oracle 11g是甲骨文公司在2007年7月21日推出的最新数据库软件,Oracle 11g有400多项功能,经过1500万个小时的测试,开发工作量达到了3.6万人/月。相对于过往版本而言,Oracle 11g具有了与众不同的特性。PL/SQL简介:PL/SQL Developer是一个继承开发环境,专门开发面向Oracle数据库应用。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语言的扩展。在普通SQL语句使用上增加了编程语言的特点,所以PL/SQL把数据库操作和查询语句组织在PL/SQl代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL只有Oracle数据库有,MySQL目前不支持PL/SQL。Visual Stdio 2010Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。C#C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。功能性需求分类1.1.1 主要功能培训管理查询最新培训信息,报名参加培训。添加、修改、删除和查看培训信息确认删除和批量删除培训报名系统信息。添加、修改、删除和查看培训课程类型。会议管理添加、修改、删除、查看和发布会议信息。添加、修改、删除和查看会议室信息。查看会议室日程安排信息。资料管理添加、修改、删除、查看和借阅资料信息。添加、修改、删除、查看和审核资料入库信息。添加、修改、删除、查看和确认资料入库信息。用户管理修改密码切换用户1.1.2 功能新需求分类整个系统主要五个功能模块,每个功能模块又分为了多个子功能,具体的模块以及功能需求分类请参见表1.1。 办公事务管理系统 会议室安排 会议安排 会议室管理 资料信息资料入库 资料借阅 退出系统 培训管理 培训报名管理 培训信息设置 最新培训管理 资料管理 会议管理 系统管理 用户管理 修改密码 图1.1 办公事务管理系统功能模块示意图在本系统中,用户管理的功能比较简单,在系统初始化时,有一个默认的“系统管理员”admin,由程序设计员手动添加到数据库中,Admin用户可以创建用户,修改用户信息以及删除用户,普通用户则只能修改自己的用户名和密码。用户管理功能模块的关系图如图1.2所示。Admin用户修改Admin用户的密码系统用户信息管理 创建、修改、删除普通用户信息普通用户修改自己的用户名和密码图1.2用户管理功能模块关系图1.1.3 数据流图时间地点培训类型培训设置:培训主题培训信息设置添加具体培训信息编号状态最新培训发布报名到培训时间姓名填写报名报名确认报名管理结束培训到结束时间开始培训1.1.3.1 会议管理资源人数房间号名称会议室具体会议室创建安排主题查询安排会议室安排时间会议信息主持人到期发布添加结束会议开始会议会议管理1.1.3.2 资料管理归还确认归还资料信息管理资料借阅添加借阅入库审核资料资料入库通过分类名称编号姓名1.1.3.3 用户管理真实姓名用户添加用户管理用户类型普通系统修改密码增、删、改用户开发工具开发工具: Visual Stdio2010、Oracle 11g、PL/SQL。本章小结本章简单地介绍了用到的框架和工具,着重描述了本设计实现的最终目标与需求,列出了需要实现的模块以及每个模块所需要实现的功能,同时画出了整个系统操作的流程图,通过流程图可以简单直观的理解整个功能的流程。2 总体设计本章会在需求分析的基础上给出数据库的具体创建过程,实现的一些细节,以及整个系统的大体架构的情况,加深读者对项目的理解,同时也理清思路,保证后面的开发编码工作可以顺利的进行。数据库设计在设计数据库表结构前,首先要创建一个数据库管理员用户,这里定义为OFFICESYS,此用户对本系统所涉及的所有数据库表有管理权限。创建用户:创建用户设置角色权限设置系统权限数据库表结构设计:培训信息表:Training培训报名信息表:TrainingSign会议信息表:Meeting会议室信息表:MeetingRooms资料系信息表:Infprmation资料入库表:InfoIn资料借阅表:InfoLend用户信息表:Users创建序列:Training表的序列:S_TRAININGIDTrainingSign表的序列:S_TRAININGSIGNIDMeeting表的序列:S_MEETINGIDInfoIn表的序列:S_INFOINIDInfoLend表的序列:S_INFOLENDID设计项目框架表2.1 模块命名表需求模块模块名称连接数据库CADOConn管理培训表CTraining管理培训报名信息表CTrainingSign管理会议表CMeeting管理会议室表CMeetingRooms管理资料信息表CInformation管理资料入库表CInfoIn管理资料借阅表CInfoLend管理用户表CUsers本章小结本章主要介绍了系统设计的模块划分,以及模块的命名,详细的介绍了系统的层次架构,系统的包层次结构设计,以及类和方法的命名规范,有本章的设计为后面的详细设计提供了基础,同时,也可以帮助读者更好地理解需求的编码的规则。3 详细设计本章在概要设计的基础上更加详细的明确的每个模块的实现细节,同时介绍了数据库的设计,以及部分前台展示页面的设计,目的是为了读者对整个项目结构了然于胸,在接下来的开发编码中,保证业务逻辑的正确性,与编码风格的一致性。语言采用了C#语言,因为C#是多种语言的混合体,因此它像Java一样语法简洁,像VB6一样使用简单,像C+一样功能强大和灵活(C#没有像C+那样麻烦的位操作)。以下是C#核心特征的一部分,其中大部分特点也是其他支持.NET的程序语言所共有的特征。不需要指针!C#程序通常不需要直接对指针进行操作(尽管在绝对必要时也能自由地进行底层操作)。垃圾收集器能够自动管理内存。因此,C#不支持delete关键字。类、接口枚举、结构和委托都有正式的语法结构。具有与C+类似的功能,可以简单地重载运算符为自定义类型(例如,不需要操心确保"返回*this以能够链接")。支持基于特性的编程。这种方式的开发允许我们注释类型及其成员来进一步限定其行为。 界面设计3.1.1 设计登录窗体 用户使用本系统,必须通过身份验证,这个过程叫做登陆,成功登陆后的用户才能够进入系统的主界面。在主窗体中定义一个CUsers对象: Public CUsers curUsers;/保存当前登陆的用户;添加一个windows窗体名称为Frmlogin,设置窗体属性;双击击确定按钮,添加如下代码: if (txtUserName.Text.Trim() = "") MessageBox.Show("请输入用户名"); txtUserName.Focus(); return; if (txtUserPwd.Text.Trim() = "") MessageBox.Show("请输入密码"); txtUserPwd.Focus(); return; / 获取用户信息 FrmMain.curUser.GetData(txtUserName.Text.Trim(); / 如果3次登录失败,则退出系统 if (logincount >= 3) Application.Exit(); if (FrmMain.curUser.UserPwd != txtUserPwd.Text.Trim() logincount+; MessageBox.Show("用户名不存在或密码不正确"); return; 3.1.2 设计主窗体 制作一个背景图片,并在窗体FrmMain中设置backgroundimage属性,应用背景图片;在主窗体中添加一个MenuScrip控件,用于定义主窗体的菜单项,如图3.1所示:为菜单项mi_exit添加代码如下:Private void mi_exit_Click(Object sender,EventArgs e) Application.Exit(); 图3.1主窗体 模块的详细设计概要设计已经设计好了模块的命名,模块类、模块方法的命名规范,下面将详细的设计出模块类中的方法的URL映射,方法的入参,只剩下具体的实现细节留到编码阶段实施。3.1.3 数据库的连接 public class CADOConn public OracleConnection conn; / 用于连接Oracle数据库 OracleCommand command; / 用于执行SQL语句 / 连接字符串,HOST:主机IP(这里为本机),PORT:端口号,数据库为ORACLE,用户为OFFICESYS String ConnString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=ORCL);User Id=OFFICESYS;Password=OFFICESYS;" / 构造函数 public CADOConn() conn = new OracleConnection(ConnString); / 执行查询语句 public OracleDataReader GetDataReader(String sql) / 执行INSERT、UPDATE或DELETE语句 public bool ExecuteSQL(String sql) 3.1.4 登陆用户分为系统用户与普通用户,最开始在数据库里手动添加了一个Admin用户,该用户可添加普通用户,系统用户。添加一个Windows窗体,属性表3.2.属性设置值具体说明Text登陆设置窗体的标题MaximizeBoxFalse取消最大化按钮MinmizeBoxFalse取消最小化按钮StartPositionCenterScreen初始窗体位置为屏幕中央表3.2 会员登陆模块设计表登陆窗体的布局如图3.3所示。图3.3实现的功能代码:FrmLoginnamespace Office public partial class FrmLogin : Form int logincount = 0; public FrmLogin() InitializeComponent(); private void btnCancel_Click(object sender, EventArgs e) Application.Exit(); private void btnOK_Click(object sender, EventArgs e) if (txtUserName.Text.Trim() = "") MessageBox.Show("请输入用户名"); txtUserName.Focus(); return; if (txtUserPwd.Text.Trim() = "") MessageBox.Show("请输入密码"); txtUserPwd.Focus(); return; / 获取用户信息 FrmMain.curUser.GetData(txtUserName.Text.Trim(); / 如果3次登录失败,则退出系统 if (logincount >= 3) Application.Exit(); if (FrmMain.curUser.UserPwd != txtUserPwd.Text.Trim() logincount+; MessageBox.Show("用户名不存在或密码不正确"); return; Close(); private void pictureBox1_Click(object sender, EventArgs e) private void FrmLogin_Load(object sender, EventArgs e) 3.1.5 培训报名信息CTrainningSign类。该类用来管理表TrainningSign的数据库操作;CTrainningSign类的成员函数如下表3.4所示:函数名具体说明Public CTrainningSign()初始化成员变量Public void GetData(String cId)读取指定的记录Public sql_delete(String cId)删除指定记录,参数cId表示删除的记录编号Public void sql_deletebatch(String cCnd)批量删除报名信息,参数Cnd表示删除条件Public void sql_insert()插入新报名记录Public void sql_updateStatus(String cId)修改指定报名记录的状态,参数TMpId表示要修改的记录编号表3.4 CTrainningSign类的成员函数表namespace Office public class CTrainingSign 各种声明 / 初始化参数 public void Init() 初始化 / 构造函数 public CTrainingSign() Init(); / 读取指定的记录,参数cId表括示要读取的记录编括号 public void GetData(String cId) CADOConn m_ado = new CADOConn(); OracleDataReader reader; String sql; sql = "SELECT * FROM TrainingSign WHERE Id=" + cId; / 执行DSELECT语?句? reader = m_ado.GetDataReader(sql); if (reader = null) Init(); else Id = int.Parse(reader"Id".ToString(); TrId = int.Parse(reader"TrId".ToString(); SignDate = reader"SignDate".ToString(); EmpName = reader"EmpName".ToString(); Status = reader"Status".ToString(); / 批量删除报名信息,参数cCnd表括示删除条件 public void sql_batchDelete(String cCnd) CADOConn m_ado = new CADOConn(); String sql = "DELETE FROM TrainingSign " + cCnd; m_ado.ExecuteSQL(sql); / 删除指定的记录,参数cId表括示要删除的记录编括号 public void sql_delete(String cId) CADOConn m_ado = new CADOConn(); String sql = "DELETE FROM TrainingSign WHERE Id=" + cId; m_ado.ExecuteSQL(sql); / 插入新的报名记录 public void sql_insert() CADOConn m_ado = new CADOConn(); / 获取当前时间 System.DateTime now = new System.DateTime(); now = System.DateTime.Now; SignDate = now.ToString(); String sql = "INSERT INTO TrainingSign VALUES(OFFICESYS.S_TRAININGSIGNID.NEXTVAL, " + TrId.ToString() + ",'" + SignDate + "','" + EmpName + "','" + Status + "')" m_ado.ExecuteSQL(sql); / 修改指定报名记录的状态。参数TmpId表示要修改的报名记录编号 public void sql_updateStatus(String cId) CADOConn m_ado = new CADOConn(); String sql = "UPDATE TrainingSign SET Status='" + Status + "' Where Id=" + cId; m_ado.ExecuteSQL(sql); 本章小结本章主要具体分析了三个功能的实现,以及界面设计。4 重难点分析及解决方案登陆出错在登陆界面输入用户名和密码点击确定后,系统出错,截图如下:原因是我安装的Oracle数据库是32位的,而VS2010是64位的,点击运行,他是以64位运行,所以出错。解决方案:将运行方式改为X86运行。在解决方案里面,右击,点击配置管理,将改为:序列问题登录系统不能添加培训信息解决方案:查看代码,发现VS里面的序列和数据库的序列不匹配,VS里面是S_TRAININGID,而数据库里面是TRAININGID,更改一致后就正常了资料审核问题在添加的资料里面点击通过审核时程序抛出异常。解决方案:查看代码,发现ICount没有定义,检查中发现在更新表Information的数量值那里,sql = "UPDATE Information SET InCount=InCount+" + InCount.ToString() + " WHERE InfoNo='" + InfoNo + "'"应该为:sql = "UPDATE Information SET ICount=ICount+" + InCount.ToString() + " WHERE InfoNo='" + InfoNo + "'"格式问题发布了会议信息之后,在查看会议室安排里面没有当天的安排情况。查看代码发现这里年月日的格式和数据库里的格式不一样,修改VS里的代码格式如下:String curDate = dtMeetingDate.Value.Date.ToString("u").Substring(0,10);参考文献1 张凤荔,王瑛,李晓黎等.Oracle 11g数据库基础教程(第2版).2 唐友,郭鑫,陈秀玲等.Oracle数据库使用教程.3 唐燕.C#面向对象程序设计及实践教程.

    注意事项

    本文(办公事务管理系统的设计与实现(共22页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开