任务分发监控系统的设计与实现毕业设计.doc

上传人:laozhun 文档编号:3934749 上传时间:2023-03-28 格式:DOC 页数:65 大小:4.07MB
返回 下载 相关 举报
任务分发监控系统的设计与实现毕业设计.doc_第1页
第1页 / 共65页
任务分发监控系统的设计与实现毕业设计.doc_第2页
第2页 / 共65页
任务分发监控系统的设计与实现毕业设计.doc_第3页
第3页 / 共65页
任务分发监控系统的设计与实现毕业设计.doc_第4页
第4页 / 共65页
任务分发监控系统的设计与实现毕业设计.doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《任务分发监控系统的设计与实现毕业设计.doc》由会员分享,可在线阅读,更多相关《任务分发监控系统的设计与实现毕业设计.doc(65页珍藏版)》请在三一办公上搜索。

1、毕 业 设 计 说 明 书课题名称任务分发监控系统的设计与实现院 系计算机与软件学院专 业软件技术班 级软件1011学 号1002343127学生姓名 指导教师: 2013 年 5月30日计算机与软件学院毕业设计(论文)诚信承诺 我谨在此承诺:本人所写的毕业论文任务分发监控系统的设计与实现,是本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果由本人承担。承诺人(签名): 2013年 5月 30 日摘 要社会在不断的进步,科技在不断的发展,人民的生活水平在不断的提高,尤其是随着网技术和计算机技术的快速发展,以及数据库技术在网络中的应用,致使更多企业和公司都会

2、选择通过网络来管理员工之间的任务分配,更好的提高的任务效率以及实现任务分发的便捷,为此我们用着课题作为毕业设计的研究。本课题的任务分发系统主要实现了产品管理,任务管理,管理员维护,权限管理,消息中心,任务清单等6大模块。本系统是基于Spring的MVC框架技术,以此来达到任务监控的管理。本篇着重论述了任务监控的可行性、网上任务管理的优势、系统功能与实现、数据流程及存储,包括任务清单,用户登陆、设置任务与任务分发、任务查询、后台管理员管理等。 关键词:任务分发; Spring;任务监控AbstractSociety continues to progress, science and techn

3、ology in the unceasing development, peoples living standard continuously improved, especially with the rapid development of network technology and computer technology, and the application of database technology in the network, resulting in more and more enterprises choose through online task assignm

4、ent system to science between employees, improve work efficiency and better and the distribution of tasks and convenient, so we use a subject as the graduation design.The task distribution system mainly realizes the product management, task management, the administrator for the maintenance, manageme

5、nt, message center, task list, 6 big modules. This system is the MVC framework technology based on spring, in order to achieve the task of monitoring and management. This article discussed the feasibility, task monitoring online task management advantages, system function and the realization, the da

6、ta flow and storage, including the task list, the user login, set the task and task distribution, query task, the administrator management etc.KeyWords: task management; spring; The task of monitoring; database目 录摘 要IAbstractII1 绪论11.1任务分发监控系统的背景和意义11.2任务分发系统的研究现状11.2.1选择任务分发系统的原因11.2.2任务分发存在的问题22 系

7、统开发技术与工具32.1开发工具与环境32.1.1 JDK32.1.2 Eclipse32.1.3 Oracle32.1.4 Tomcat32.1.5 SVN42.2网站开发的技术与语言42.2.1 CSS242.2.2 JavaScript42.2.3 JQuery52.2.4 JQuery EasyUI52.2.5 Java52.2.6 Spring62.2.7 Spring MVC72.2.8 SQL、PL/SQL73系统需求分析83.1系统概述83.2系统设计要求83.3用例图93.4系统界面要求133.5系统功能要求133.6系统性能要求134概要设计144.1概要设计144.2模块

8、设计144.2.1前台各模块设计154.2.2后台各模块设计164.3数据库设计174.3.1数据库E-R图174.3.2数据库逻辑结构设计.194.3.3数据库物理设计204.4项目组织结构图285详细设计305.1系统流程图305.2 用户登录315.3今日任务325.4管理员登录335.5统一用户权限管理UUPM服务345.5.1 UUPM设计目标345.5.2UUPM设计思路345.5.3UUPM架构图345.5.4UUPM模块366系统实现406.1登录界面406.2前台首页界面406.3任务清单界面416.4单个任务浏览界面416.5设置任务界面426.6分布任务界面436.7产品

9、管理436.8权限管理页面446.9管理员维护446.10消息中心456.11用户管理457测试与运行467.1系统测试概述467.2系统功能测试467.2.1测试内容467.2.2测试用例467.3系统部暑及运行说明488总结51致 谢52参考文献53附 录541 绪论1.1任务分发监控系统的背景和意义随着现代公司的规模的不断扩大以及公司制度的不断完善,作为经营者,为了更加管理公司内部人员的每天的工作进度以及工作内容,任务制度慢慢的成为必不可少的一部分,同时每位员工每天的任务质量以及数量也成为公司作为考核的标准,也是衡量公司员工的能力的表现,所以任务分发监控的系统慢慢逐渐形成。任务分发监控系

10、统主要是由任务清单,任务管理,产品管理,消息中心,用户管理以及管理员管理等部门组成,它是通过邮件以及消息的方式将每个任务发送给接收人,然后接收人进入系统时可以查看本人近日任务以及本周任务,任务完成后,接收人再提交任务给分发人,然后分发人审核任务,审核完成后系统会自动的发送消息以及邮件给完成该任务的人。这样就省掉了各位员工之间的当面告知的麻烦,无论员工在哪里,只要你进入该系统就知道你今天需要做什么,这样大大提高了任务的进度以及完善了公司任务制度。1.2任务分发系统的研究现状由于公司业务规模的扩大,作为每一位研发中心的人员,任务都将增加,因此,任务分发监控系统将成为必不可少的一部分,这不仅可以减少

11、许多繁琐的流程,同时也方便了组长对组员任务的管理,这将大大提高工作的效率。1.2.1选择任务分发系统的原因图1.1选择任务分发系统的原因1.2.2任务分发存在的问题图1.2 用户认为任务分发存在的最大问题从以上两张图不难发现,任务管理系统的主要作用就是方便企业对员工任务的分发与管理,而现存的任务管理模式最大的问题就是不够人性化,因此开发一套人性化的任务分发与监控系统是十分必要的。2 系统开发技术与工具2.1开发工具与环境2.1.1 JDKJDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的

12、Java SDK(Software development kit)。JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发 的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比S

13、un JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。2.1.2 EclipseEclipse是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。2.1.3 OracleOracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目

14、前仍在数据库市场上占有主要份额。劳伦斯埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories2.1.4 TomcatTomcat是Apache 软件基 金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2

15、.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。2.1.5 SVNSVN(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。SVN服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊,用户自行选择。SVN存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点

16、。2.2网站开发的技术与语言2.2.1 CSS2级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立 样式表,可以统一地控制HMTL中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以 及创建特殊效果的能力。CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现HTML或 XML 等文件式样的计

17、算机语言。 CSS目前最新版本为CSS3,能够真正做到网页表现与内容分离的一种样式设计语言。相对于传 统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象盒模型的能力,并能够进行 初步交互设计,是目前基于文本展示最优秀的表现设计语言。2.2.2 JavaScriptJavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观性

18、。2.2.3 JQueryJQuery是继prototype之后又一个优秀的JavaScript框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。JQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。JQuery还有一个比较大的优势是,它的文档说明很全,而且各种 应用也说得很详细,同时还有许多成熟的插件可供选择。JQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插

19、入一堆js来调用命令了,只需定义id即可。JQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。JQuery是继prototype之后又一个优秀的JavaScript框架。其宗旨是WRITE LESS,DO MORE,写更少的代码,做更多的事情。2.2.4 JQuery EasyUIJQuery EasyUI是一组基于JQuery的UI插件集合,而JQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。

20、开发者不需要编写复杂的JavaScript,也不需要对css样式 有深入的了解,开发者需要了解的只有一些简单的html标签。 JQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,tree,validatebox,window等等。2.2.5 JavaJava是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即 JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植

21、性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的 开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java 编程语言的风格十分接近C、C+语 言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理 而担忧。在 Java SE 1.5

22、版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。2.2.6 SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然 而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 1. 目的:解决企业应用开发的复杂性 2. 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 3. 范围:任何Ja

23、va应用 4. 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 5. 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring 框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型 地,Spring应用中的对象不依赖于Spring的特定类。 6. 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦 合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不 是对象从容

24、器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 7. 面向切面Spring提供了面向切面编程的 丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只 实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 8. 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例

25、以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 9. 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.2.7 Spring MVCSpring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插

26、入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。2.2.8 SQL、PL/SQLPL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/

27、SQL. PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在 PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言. PL/SQL具有明显的一些优点:1. 能够使一组SQL语句的功能更具模块化程序特点2. 采用了过程性语言控制程序的结构3. 可对程序中的错误进行自动处理,使程序能在遇到错误的时候不会被中断4. 具有较好的可移植性,可以移植到另一个Oracle数据库中5. 集成在数据库中,调用更快6. 减少了网络的交互,有助于提高程序性能3系统需求分析3.1系统概述随

28、着现代企业规模的不断跨大以及公司制度的不断完善,作为经营者,为了更加管理公司内部人员的每天的工作进度以及工作内容,任务制度慢慢的成为必不可少的一部分,同时每位员工每天的任务质量以及数量也成为公司作为考核的标准,也是衡量公司员工的能力的表现,所以任务分发监控的系统慢慢逐渐形成。对于我们公司来说,作为每一位研发中心的人员,任务都将增加,因此,任务分发监控系统将成为必不可少的一部分,这不仅可以减少许多流程的,同时也方便了组长对组员任务的管理,这将大大提高工作效率。本课题从实际出发,主要根据我们研发中心的需求而定,在技术方面:后台主要是运用我们公司的设计模式Spring中MVC;前台方面主要是Easy

29、UI。以Eclipse作为运行环境,该系统功能包括任务管理,产品管理,消息中心,管理员管理等几个大的方面。任务管理中包括,任务清单设置任务,发布任务,审核任务等子功能;产品管理主要是添加产品,修改产品;消息中心主要是系统会根据你的操作而发送一些消息,如你有一个审核任务,然后你将收到一个审核的任务 的消息;后台方面主要是管理员管理,其中包括管理的维护以及用户管理,用户管理中主要是权限的设置,就是不同用户扮演不同的角色,然后每个角色有不同的权限等等。这样主要是为了提高任务管理的效率,最大化的提高每个人的工作效率。3.2系统设计要求本系统需要有以下设计要求:系统前台:1. 用户首先能够进行登录,无法

30、进行注册,因为用户都是本公司的人员,非公司人无法进入。2. 用户其次能够修改、查询、浏览用户自己的基本信息;3. 用户可以查看自己的今天的任务,以及昨天未完成和延期任务4. 用户能够可以再任务清单里面查看所以人的任务。5. 用户可以提交任务,申请任务延期6. 用户可以查看个人消息7. 用户可以查看所以任务的进度8. 作为组长级或者经理级的用户还具备设置任务,分发任务,审核任务的功能,监控任务的进度以及统计任务。系统后台:1. 管理员维护管理员的信息(增加管理员基本信息、删除管理员基本信息、修改管理员基本信息、查询管理员基本信息)2. 管理员维护用户信息,可以添加新的用户以及赋予一些用户不同角色

31、的权限3. 管理员维护机构管理信息4. 管理员设置权限以及角色的不同用户5. 管理员对产品进行添加,修改。6. 管理员设置总的任务。3.3用例图用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些

32、元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。普通员工的用例图如图3.1所示。图3.1 普通员工用例图说明:普通员工可以通过个人员工工号作为登陆名以及登陆密码进入系统,然后员工就可以看到今天自己的任务,以及原本未完成的任务。同时当员工完成当天任务的时候,可以提交任务清单,然后交由上级领导进行审核,当任务审核以后,只有通过审核以后,员工才可以进行接下来的任务;当员工完成不了任务的时候就可以申请任务延迟,然后交由上级领导审批,上级审批成功了,组员才可以延期任务完成时间

33、。普通管理员的用例图如图3.2所示。图3.2普通管理员说明:普通管理员一般指的是组长,普通管理员可以登陆系统,然后查看经理分配的任务,然后将任务重新设置分配给小组成员;当小组成员完成任务并且提交任务的时候,组长会受到审核任务的消息,然后就可以查看审核的任务详细情况,然后审核任务,当审核不通过的时候,可以讲任务重新打回,说明审核不通过的原因,然后小组成功通过组长审核的情况进行任务修改。高级管理员的用例图如图3.3所示。图3.3高级管理员用例图说明:高级管理员主要是指部门经理,主要的功能是产品管理即开始一个新的项目,然后当项目不合理的时候,或者有其他原因的可以暂时关闭项目。经理可以设置按不同的阶段

34、设置不同的任务给小组组长,然后让组长重新分配任务给小组员工。经理可以对不同的员工设置不同权限,也就是不同的用户登录以后,显示的系统界面内容是不一样的。只有已经设置权限的人,才可以有那设置后的功能操作。经理也可以作为超级管理对后台进行维护。3.4系统界面要求1 前台系统的初始界面,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面2 后台系统在初使化时管理员登录的用户名和密码是在tomcat运行时在控制台将管理员的密码和帐号手动输入,然后登录进行操作(这是初使的管理员,其他普通管理员是在后台进行添加后才会有)3.5系统功能要求开发一个网上任务管理系统,能够使公司员工进入本系统查

35、看今日要做的任务,同时也可以查看本周任务,以及未完成的任务和以前原有的任务清单;作为公司普通管理员即组长可以设置任务本组成员任务,给每位成员分布任务以及审核小组成员的任务情况;作为系统管理员如部门经理除了能够任务管理以外还有产品设置,管理员维护以及设置不同角色。3.6系统性能要求对于本系统任务数据搜索、浏览任务情况和设置权限等这类频繁发生的系统操作,还有在系加载很多图片或数据时,要采取适当的技术优化这类数据操作,以提高数据存取效率,尽量做到5s以内的响应速度。4概要设计4.1概要设计在系统需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么

36、”的逻辑模型变换为“怎么做”的物理模型,即着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的

37、概要设计中采用结构化设计以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。首先将整个系统化分为几个小问题,小模块,在系统中,设计了产品管理,任务管理,任务清单,消息中心,管理员维护,权限管理等管理模块。然后,进一步细分模块,添加细节。4.2模块设计此任务分发系统中我根据我公司研发中心的需求中所要实现的基本功能的设定,将所有功能分解为如下几个主要的功能模块来加以实现,公司员工或者管理员以正确的工号及密码登陆,系统即可按该登陆者的权限进入前台或后台进行不同的操作。前后台功能模块总图如图4.1所示:图4.1功能模块总图4.2.1前台各模块设计任务分发系统前台模块用于建立本公司固定的员工

38、,通过一些对任务的查看,查看个人消息,分发任务,审核任务等模块的操作和管理。该功能模块实现了以下几个子功能。1. 用户首先能够进行登录,无法进行注册,因为用户都是本公司的人员,非公司人无法进入2. 用户可以查看自己的今天的任务,以及昨天未完成和延期任务3. 用户能够可以再任务清单里面查看所以个人的任务4. 用户可以提交任务,申请任务延期5. 用户可以查看个人消息6. 用户可以查看个人当天任务的进度7. 作为组长级或者经理级的用户还具备设置任务,分发任务,审核任务的功能,监控任务的进度以及统计任务由于任务分发系统是用于本公司的,所以只有本公司的员工才有权限进入本系统,并且本系统没有注册用户,用户

39、都是本公司内部人员,而且登陆名称一致是公司工号,密码可以自行设置。公司员工进入系统后可以查看本人今天所要完成任务,以及未完成的任务,同时也可以进入任务清单查询所以任务以及历史任务情况。当员工完成任务的时候可以提交任务清单,等待组长的审核。当组长分发任务给组员的时候,系统会默认发送任务消息,到该组员的消息中心;同样当组员完成任务,并且提交任务后,组长也会受到审核消息的通知。作为本公司组长及以上的经理都可以分发任务给组员以及下级员工,但是只有部门经理才有权限管理产品,设置任务等功能。4.2.2后台各模块设计任务分发系统后台各模块用于来对任务系统前台各模块进行管理。该功能模块实现了以下几个子功能。1

40、. 管理员维护管理员的信息(增加管理员基本信息、删除管理员基本信息、修改管理员基本信息、查询管理员基本信息)2. 管理员维护用户信息,可以添加新的用户以及赋予一些用户不同角色的权限3. 管理员维护机构管理信息4. 管理员设置权限以及角色的不同用户5. 管理员对产品进行添加,修改6. 管理员设置总的任务只有先进行登录并通过身份验证的管理员,才可以在任务系统后台中进行各种管理维护。该模块实现新普通管理员及登录验证功能。其中,添加新的管理员时会对管理员输入的增加信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如:管理员权限的一个验证,是高级管理员呢还是就是普通的管理员。 管理员在后台还

41、可以进行产品管理,如添加产品,修改产品,延迟产品,而且当一个项目在开始进行的时候是不能删除的,只能关闭任务。管理员可以设置任务,任务主要是分为需求阶段,设计阶段,编码阶段,测试阶段,文档等几大块,这些阶段主要是系统跟着流程走的,只有每个阶段完成以后才会进入下一个阶段的。管理员管理可以进行管理员维护以及权限管理。管理员维护主要是用户管理各个节点进行修改;权限管理主要包括用户管理,组织机构,角色管理,资源信息,资源功能,资源实例。其中用户管理主要是用于对本公司员工的管理如添加,删除,修改,查询;组织机构主要也是对公司部门内部的机构组织的管理,其中包括添加组织,删除组织,修改组织信息;角色管理主要用

42、于设置不同角色,如不同用户可以有不同角色,当他们进入系统后,对于设置并且添加的功能是可以使用的,对于没有设置的功能是无法查看以及修改,添加的;资源信息主要是用户添加不同的权限以及对权限信息的修改和删除;而资源功能主要是对资源信息进行详细的功能进行划分;资源实例主要是对资源功能进行实例化,使得资源功能能够具体实现,并且实例以后,当管理员进入权限设置的时候就可以看到实例后的资源功能各个模块了。4.3数据库设计数据访问层负责对业务层提供数据操作,也就是它负责和底层的数据库打交道。业务层或者通用层中所有的对象都通过数据访问层的对象访问数据库。数据访问层中的类是按业务对象来组织的,每个业务对象中包含的数

43、据可能存在不同的几种数据表中,它由数据访问类统一组织成一个概念中的对象,它相当于是一个面向对象的数据库层,负责映射面向对象与关系数据库间的关系。4.3.1数据库E-R图E-R图为实体-联系图,它提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。分组具有父分组、排序、备注等属性,产品具有状态

44、、开始时间、描述、名称等属性,如图4.2所示。 图4.2数据库E-R图(产品-分组)任务具有排序、标题、状态等属性,任务阶段具有审核人、状态、提醒人等属性,如图4.3所示。图4.3数据库E-R图(任务-任务阶段)用户具有姓名、职位、工号等属性,消息具有内容、链接、时间等属性,如图4.4所示。图4.4数据库E-R图(任务-消息)4.3.2数据库逻辑结构设计.根据需求分析的功能模块划分的结果可知,本系统的用户有3种类型:领导(经理或总监等)、组长和普通员工。领导、组长和普通员工的权限和操作功能通过UUPM(统一权限管理系统)中的权限表统一赋予,以提高应用的灵活性,所以我们只要一张用户表就可以了。一

45、个产品可以有多个分组去协同开发完成,而一个分组下还可以有子分组,一个大任务可以属于任何一个分组,同时,在几个流程阶段中的开发阶段里,还可以由组长自由分配成多个小任务到一个或几个人身上,从需求分析,到最后的测试完成产品开发这些阶段中,所有阶段信息都将记录在流程记录中,流程节点表是规定流程节点的表,比如,UI设计节点等。当然,还有提醒人以及审核人(用户)之间通信用的消息表。数据库表之间关系如图4.5所示:图4.5数据库关系图4.3.3数据库物理设计根据以上分析,创建数据库PROJECT并在该数据库中创建表:1、 产品表包括产品主键、产品名称、状态、产品描述、开始时间、结束时间、排序,具体设置如表4

46、.1所示:表4.1产品表产品表列名注解字段类型长度默认植可空备注PRODUCT_ID产品主键NUMBER(18,0)18FNAME产品名称VARCHAR2(60,BYTE)60FSTATE状态NUMBER(2,0)20F0:未开始1:进行中2:完成。DESCRIPTION产品描述VARCHAR2(2000,BYTE)2000TSTART_DATE开始时间TIMESTAMP6F产品立项时间END_DATE结束时间TIMESTAMP6F预期结束时间ORDER_SEQ排序NUMBER(10,2)10T创建产品表的sql语句为:CREATE TABLE project_product( PRODUCT_ID NUMBER(18, 0) NOT NULL, NAME NVARCHAR2(60), STATE NUMBER(2, 0) NOT NULL, DESCRIPTION NVARCHAR2(2000), START_DATE TIMESTAMP(6),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号