基于WPF的小型办公自动化系统的设计与实现外文翻译资料

 2022-11-22 10:26:01

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


基于WPF的小型办公自动化系统的设计与实现

王城,林知晓,郭唐方胜,郑立校,朱志刚

华侨大学计算机与技术学院,福建 厦门 361021

摘要:为了构建一个适用于中小型企业的实用迷你OA系统,了解Yardi Kooboo(厦门)科技有限公司的关键业务,整体需求,功能需求和非功能需求。在了解公司的具体工作流程和管理流程后进行分析。继软件工程之后,构建基于WPF的OA系统的全过程包括功能模块设计、数据库设计、三层架构实现、邮件缓存实现等。部署这个新的OA系统提高了信息管理的水平,并获得了良好的应用效果。开发过程对类似系统的开发和研究提供了很好的参考价值。

关键字:办公自动化系统,WPF,C/S,软件工程,系统模块化

一、引言

在信息时代,计算机有助于办公室人员处理信息,因为它大大提高了个人信息处理的效率。谈到现代办公自动化时代,办公自动化的目标不仅仅是减轻员工个人的工作量,而是让计算机处理繁琐的事情,使员工可以专注于最重要的事情,并同时提高团队工作效率,从而提高企业整体效率,增强整体竞争力。在这种工作模式下,一个人可以通过OA系统迅速将自己的思想传播给其他人,并且不同部门可以在共享信息的基础上进行协作。因此,每个部门甚至个人都将清楚地认识到自己的责任并迅速得到反馈,然后决策者可以快速整合来自各个方面的信息,并且公平、客观、准确地做出自己的决定。随着信息和网络技术的快速发展,每家公司都不可避免地需要合适的办公自动化(OA)系统来高效地管理信息。

根据OA的历史发展,OA系统的开发过程大致可分为三代:(1)OA系统的开始。上个世纪80年代,随着计算机和其他技术的发展,电子文件的撰写和统计工作逐渐从纸质文件转变为电子文件。(2)开发协作OA系统。其功能包括网络技术、协作工作和工作流程自动化。(3)协作和基于知识的OA系统。第三代OA系统将第二代OA系统升级为知识管理核心层。

但是,每家公司的OA系统要求是不同的。大公司需要大型的、全面的和高层次的OA系统。由于软件结构复杂的需求,以及高时间成本的开发和维护过程,他们倾向于选择大型软件公司来开发。由于其价格较高和功能较多,这种庞大而全面的OA系统并不适合小公司。他们需要一个小型且特殊的OA系统。为了满足中小企业的需求,本文研究了低成本中小企业办公自动化系统的设计和实现过程。

Kooboo(厦门)科技有限公司是一家软件公司,致力于研发高新技术软件,主营电子商务网站开发、搜索引擎优化、网站推广和外包服务等。拥有强大的研发能力和广泛的客户群体。该公司在中国拥有60名员工,20名员工海外员工。基于该公司实际的OA需求,构建基于WPF的中小企业OA系统具有更高的实用价值。该系统最终将满足Kooboo的需求。要求文件在系统权限限制下尽量保存完好,系统可以有序、及时地开展工作,切实提高中小企业的工作效率和质量。

二、OA系统需求分析

(一)关键业务分析

该系统的主要功能是通过登录模块登录后选择适当的模块处理信息。 系统运行流程图如图1所示

图1 系统操作流程图

(二)总体需求分析

在设计和开发软件系统之前,首先要清楚的了解需求。要提供的服务和描述是系统要求所关心的。发现服务的过程,分析和建立文档以及检查的过程都是需求工程。软件需求分析是软件生命中最关键的一步。

为了满足一般需求,以下功能必须包括在OA系统中:

1、漂亮的UI界面

界面(漂亮与否)与用户体验有关。良好的用户界面不仅能带来好心情,还能增强用户与系统的互动。

2、适用于Kooboo的权限控制

OA系统必须拥有对Kooboo的权限控制管理功能。由于该系统是专门为Kooboo开发的,所以权限控制管理系统必须符合Kooboo的实际情况,这将使得员工能够轻松使用它。

3、体现OA系统在任务管理和项目管理中的优势

任务管理和项目管理是该系统的重中之重,在系统的设计和开发中必须注意,体现OA系统和其他系统之间的差异。

4、良好的数据处理效率

OA系统供内部使用,数据库使用SQL SERVER 2008。在系统设计和开发过程中,必须对其进行优化处理,以使系统具有更好的处理效率,从而增强系统的用户体验。

(三)功能需求分析

1、任务管理功能

任务管理功能是系统的核心模块之一。当用户通过身份验证时,他或她可以看到所有相关的任务。任务模块中有几个小的独立但相互依赖的相互协作任务子模块。任务子模块的功能列表如下。

(1)开始、暂停和提交任务:用户可以根据分配给他们的任务执行上述操作。

(2)添加、删除和修改任务:用于任务的细节更改。具有指定权限的用户可以执行这些操作。

(3)任务活动:在开始、暂停、提交、更改和审核任务时,系统将自动记录用户对任务执行的活动。

(4)任务时间:系统会自动记录用户在任务上的时间。

(5)与任务相关的电子邮件:在此系统中,多个消息可以与任务相关联,这可以更方便地查看。

任务模块的用例图如图2所示。

图2 任务模块用例图

2、身份验证

主要功能是用户进入C/S或B/S平台时的认证,以及在平台上进行工作时的认证。认证可以有效地防止公司重要的信息泄露

3、项目管理功能

项目管理功能也是系统的核心模块之一。项目模块与任务密切相关。项目中有许多任务,分配新任务也需要选择项目和项目成员。该项目的主要功能是建设项目、修改项目和结束/启动项目。登录时的用户权限决定用户是否有权执行上述操作。项目模块的用例图如图3所示。

图3 任务模块用例图

4、每周功能

该模块的功能是显示登录用户的工作周时间和日常任务,以及相应周数的完成任务等。并允许用户确认每周工作时间的正确长度等。每周功能模块的用例图如图4所示。

图4 每周要素模块用例图

5、系统帮助功能

模块的作用是提供某种类型的任务作为参考标准。每个用户都可以发布自己的帮助文档,这可以极大地帮助新员工。系统帮助功能模块的用例图如图5所示。

图5 系统用例图帮助功能模块

(四)非功能性需求分析

1、性能要求

(1)响应速度:各种操作响应时间lt;1s。

(2)访问人数lt;200人。

(3)占用系统资源lt;200M。

2、安全要求

(1)用户登录密码采用不可逆转的MD5加密。

(2)系统权限管理。

(3)用户只能访问他们可以访问的信息。

三、功能模块设计和数据库设计

(一)功能模块设计

1、登录模块流程

登陆是企业OA系统所需的功能之一。登陆页面要求用户输入用户名和密码,然后客户端将输入用户名和密码进行验证。如果用户名和密码正确,客户端进入登录状态,登录后系统根据用户权限查询对应的数据库表。如果用户名或密码不正确,系统将显示一条错误消息。登录模块的流程图如图6所示。

图6 登录模块流程图

2、任务模块

任务模块是OA系统最重要的模块之一。当用户收到分配的任务时,他开始执行任务。在任务开始后,根据任务的复杂性,他可以暂停任务或提交任务。如果任务未完成,则可以暂停,直到下一次。如果已完成,则可以提交任务。之后,任务可以分配给其他人处理。例如,在由开发人员开发的模块之后,可以将其分配给测试人员进行测试。它也可以直接提交以等待其他用户与审核机构进行审核。如果用户具有审核权限,那么他可以执行审核任务。如果测试通过,则该任务结束; 如果不通过,他可以写下人们继续开发过程的理由。任务模块的流程图如图7所示。

图7 任务模块流程图

(二)数据库设计

1、数据库设计的逻辑结构

通常在设计数据库的过程中,首先是分析需求,使用基于需求的概念模型(ER模型或面向对象模型)设计模式,然后将概念模型转化为数据模型。

在ER模型的设计过程中有几个设计原则:忠诚度,避免冗余,简单,接触选择和选择正确的组件。

必须遵循上述数据库设计流程。在明确定义数据库需求之后,基于数据库的ER图需求设计。在设计ER概念模型的过程中,应遵循几个ER设计原则,使关系规范化,便于数据库操作。根据数据库需求的ER图如图8所示。

图8 任务模块流程图

2、数据库表关系图

根据图8中的ER图,实际的数据库设计模型表示每个表之间的关系应该实现,如图9所示。

图9 数据库表关系图

四、OA系统的实现

(一)实现三层架构

该系统的各个模块都采用经典的三层架构。以WPF实现数据库访问三层体系结构为例。

1、数据访问层

数据访问层采用linq数据访问对象实例TaskDataContext获取数据。实例TaskDataContext.Current在图10所示的地方获取数据,并在线程中获得支持,以便整个程序可以使用此对象执行数据访问,并避免因过多引用导致数据库连接错误。

图10 TaskDatacontext.Current对象实例的代码

图11 linq对象代码生成任务表

图12 数据访问层部分代码

获取linq数据访问对象实例后,以linq为例,可以自动生成数据查询的表对象,并返回IQueryable列表。在生成SQL查询数据库语句时,Linq并不真正删除数据,而是在业务逻辑层分配中进行查询。

2、业务逻辑层

业务逻辑层主要用于对业务逻辑进行数据层操作和业务逻辑处理。以一个简单的业务逻辑处理为例。IssueMainPage在初始化时进行业务逻辑处理。如图13所示,初始化页面时,首先要读取资源并执行其实例化,例如XAML pageto旁边的所有控件。第二件事是调用InitCombobox方法来初始化所有的Combobox。接下来的事情是在页面完成读取之后调用loadingTaskService。在数据访问层中创建的静态方法称为数据访问,然后调用Binding将数据绑定到接口。使用Binding,新创建的线程用于加载数据,然后将获取的数据委托给UI更新的UI线程调度程序页面。具体过程如图14所示。

图13 发布代码MainPage初始化业务逻辑处理

图14 绑定方法的代码

3、表示层

在WPF中,表示层使用标记语言XAML编写。 一段XAML代码如图15所示。

这里DataGrid被用作任务列表。在DataGrid中,类似于所选红色的代码用于将数据绑定到接口,而黄色选定代码用作指定属性,绿色选定代码将事件绑定到后台代码。

图15任务列表XMAL的代码

图16 邮件本地缓存文件结构

图17 邮件头缓存截图

(二)实现邮件缓存

电子邮件模块的三层实现不会在这里重复。由于邮件模块与其他模块不同,邮件本身可能很大。没有本地缓存的电子邮件模块会大大影响用户体验,因此需要设计本地缓存电子邮件系统。电子邮件缓存的本地结构如图16所示。

在图16中,名为Mail address的文件夹是个人邮件文件夹缓存。 有两个文件夹被称为“inbox”和“outbox”,代表电子邮件的收件箱和发件箱缓存。文件夹内部是消息高速缓存的头部,文件名是数据库中消息的ID。加载邮件列表时,系统只加载消息头部,这大大减少了加载时间和内存,如图17所示。

在名为ID的缓存文件夹中包含所有本地邮件缓存,每个文件夹都包含邮件和邮件内容的附件。当系统需要获取特定的邮件内容时,它会根据ID加载相应文件夹的内容。邮件缓存截图如图18所示。

图18 邮件缓存截图

图19 内容文件夹结构

图20 邮件的初始结构

图21 全文文件的结构

邮件文本未经解析的邮件源代码放入Content文件夹中,如图19和20所示

全文搜索文件夹旨在提高搜索时的效率和速度,改善用户体验。可以用于搜索的原始文本消息模块一起放入Fulltext文件夹中,使搜索更加快速。全文文件的结构如图21所示。

五、结论与今后的研究方向

该系统是根据Yardi Kooboo(厦门)技术有限公司在了解其具体工作流程和管理流程后的具体需求而建立的。从设计界面到构建系统,考虑到实用、方便、美观、办公人员的便利性和提高工作效率的目的。开发过程对类似系统的开发和研究提供了很好的参考价值。系统的特点总结如下:

(1)该系统是根据Yardi Kooboo(厦门)科技有限公司的实际需要而设计开发的,在实际使用中取得了较好的效果。

(2)该系统运行在多个系统上(Windows 7 / Windows 8 / Window Server 2008)。 数据库是当前最稳定的SQL SERVER版本:SQL Server 2008。

(3)使日常工作流程有条不紊,记录每个人的工作,使管理决策更加公正合理。同时,日期,类型等使用下拉框显示时间,日期,类型等数据,以便用户只需点击鼠标进行输入,最大限度地减少不必要的输入错误。这不仅可以减少发生的错误,而且可以方便用户使用。

(4)发生异常时及时向用户报告。

(5)使用友好的界面。

但是,该系统还存在一些不足之处,包括:

lt;

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[22885],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版