

已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南交通工程职业技术学院 毕业设计(论文)( 2010 届)题 目: 大唐电信管理 系(部): 计算机系 专业班级: 计网专0701 姓 名: 指导老师: 2010 年 6 月 23 日湖南交通工程职业技术学院计算机系毕业设计任务书设计题目大唐电信管理系统学生姓名专业班级联系电话电子信箱/qq计网专0701指导教师教研室联系电话电子信箱/qq设计内容和目标技术是提高管理水平的前提;管理是实现技术提高的基础。同时公用事业单位为适应新的经济环境,从而进一步提高服务意识,改善服务水平,缔造与客户的良好关系的要求也越来越强烈。 本系统分为三个子模块:人员管理,任务管理,计划管理。系统用户以主管和普通职员不同的身份登陆,主管登陆任务管理管理界面执行,下达、修改、删除任务,查看完成情况等。一般员工则登陆计划管理界面,“大唐电信管理系统”支持三层体系结构的管理系统, 应汇集j2ee 架构先进的设计理念 ,是集先进性、灵活性和适应性于一体的全 b/s 模式的管理系统。 系统从设计到编码都应严格按照软件工程的规范实施,采用国内外先进的软件开发技术和管理经验,以现代化管理理念为基础,构建全新的统一的系统模式。它不再是一个机械的、固化的系统,而是一个参数化的系统平台。通过灵活的参数配置,可以任意定义出二级子系统,为适应机构变革、消费政策变动提供了保证。设计要求本系统包含人员管理、任务管理、计划管理。综合运用hibernate、struts、ajax、javascript、负载均衡与内容,持久化层采用轻量级的orm解决方案,实现技术为:jsp+struts+mysql,应用mvc和抽象工厂模式设计开发。进度安排进度安排(1)第1天,根据学生的选题布置毕业设计任务,明确分组负责人和联系办法,讲解毕业设计的方法和步骤,如何查找相关的资料,如果编写开题与毕业设计论文;(2)第1周,每组提交一份毕业设计开题报告,汇报对网站设计的设想,明确每人负责的具体任务,并进入实质性操作阶段。(3)第24周,设计过程的完成并进行运行测试。每天组长汇总情况、问题和进度一次,随时可通过电话、qq或e-mail与老师联系。(4)第5周,进行毕业设计报告的撰写和修改。(5)最后一天,全部完成,并将整个网站刻录光盘和毕业设计报告上交指导老师。注:对少数不能按时完成毕业设计的组,在顶岗实习的第一个月必须完成。教研室审核 室主任签名: 年 月 日 说明:此表一式两份,指导教师和学生各留存一份目录第一章 概 述31.1 开发背景31.2 开发环境4第二章 系统安装手册82.1 系统运行环境的搭建82.2 mysql的安装及数据文件的导入92.3 系统的部署及相关配置102.4 项目说明11第三章 数据库的概念123.1 数据库的选择123.2 数据库表的描述13第四章 设计方案164.1域模型(示例)164.2业务接口设计(示例)164.3控制层设计(示例)174.4过程模型17第五章 系统实现185.1术语解释185.2用例图195.3用例描述20参 考 文 献35致 谢36中 文 摘 要随着计算机技术的不断发展与应用,internet的高速发展,网上论坛已成为人们交流的主要场所。它开辟了一块“公共”空间供所有用户读取和讨论其中信息,具有形式灵活,应用方便适用性非常强等特点.一方面它把人们想要的发表的信息以一种文件的形式展现出来,需要者还可以与发表者以一种交流研讨的方式,进行交流,拉近了人们的关系,使有用的信息得以快速的传达。java是sun公司推出的一种编程语言。它是一种通过解释方式来执行的语言,语法规则和c+类似。同时,java也是一种跨平台的程序设计语言。java非常适合于企业网络和internet环境,现在已成为internet中最受欢迎、最有影响的编程语言之一。java摈弃了c+中各种弊大于利的功能和许多很少用到的功能。 java可以运行与任何微处理器,用java开发的程序可以在网络上传输,并运行于任何客户机上。本系统基于c/s模式设计,利用java作为程序开发语言,mysql作为数据库开发工具,实现具体的论坛系统操作。从而创建一个更为稳定,高效,安全的运行环境。本文简介了本系统的项目背景了意义,阐述了jsp的基础知识和技术、数据库基础知识。并描述了本系统的需求分析、数据库设计、架构设计、功能模块设计和系统主界面设计、系统编码和系统的实现过程。关键词:大唐 java c/s 数据库 mysql第一章 概 述1.1 开发背景当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异。 由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展强大动力,其地位越来越重要。目前,大多数论坛系统都是基于b/s模式,由于b/s架构管理软件只安装在服务器端(server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(server)端完全通过www浏览器实现,极少部分事务逻辑在前端(browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,本系统采用c/s结构。c/s(client/server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到client端和server端来实现,降低了系统的通讯开销。由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。同时采用c/s架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 因此本系统主要适用于中小企业,学校,社区等局域网范围内使用,以便于网络维护与管理。1.2 开发环境1.2.1 sql serversql server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的sql语言对数据库进行管理,所以如果是标准sql语言,两者基本上都可以通用的。非过程化语言、统一的语言、是所有关系数据库的公共语言。sql server还有更多的扩展,可以用存储过程,数据库大小无极限限制。1.2.2 java虚拟机(1.5)1.2.3 什么是java虚拟机java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。java语言的一个非常重要的特点就是与平台的无关性。而使用java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行, 至少需要编译成不同的目标代码。而引入java语言虚拟机后,java语言在不同平台上运行时不需要重新编译.。java虚拟机屏蔽了与具体平台相关的信息,使得java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。1.2.4 java虚拟机体系结构java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(garbage-collected-heap)、一个方法区域。这五部分是java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。1、java指令集java虚拟机支持大约248个字节码。每个字节码执行一种基本c运算,例如,把一个整数加到寄存器,子程序转移等。java指令集相当于java程序的汇编语言。java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。虚拟机的内层循环的执行过程如下:do 取一个操作符字节; 根据操作符的值执行一个动作; while(程序未结束)由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。字节码指令流一般只是字节对齐的。指令tableswitch和lookup是例外,在这两条指令内部 要求强制的4字节边界对齐。2、寄存器java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似。java虚拟机的寄存器有四种:(1)pc:java程序计数器;(2)optop:指向操作数栈顶端的指针;(3)frame:指向当前执行方法的执行环境的指针;(4)vars:指向当前执行方法的局部变量区第一个变量的指针。java虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保证指令集的简洁性和实现时的高效性(特别是对于寄存器数目不多的处理器)。所有寄存器都是32位的。3、栈java虚拟机的栈有三个区域:局部变量区、运行环境区、操作数区。(1)局部变量区每个java方法使用一个固定大小的局部变量集。它们按照与vars寄存器的字偏移量来寻址。局部变量都是32位的。长整数和双精度浮点数占据了两个局部变量的空间,却按照第一个局部变量的索引来寻址,虚拟机提供了把局部变量中的值装载到操作数栈的指令,也提供把操作数栈中的值写入局部变量的令。(2)运行环境区在运行环境中包含的信息用于动态链接,正常的方法返回以及异常传播。1)动态链接运行环境包括对指向当前类和当前方法的解释器符号表的指针,用于支持方法代码的动态链接。方法的class文件代码在引用要调用的方法和要访问的变量时使用符号。动态链接把符号形式的方法调用翻译成实际方法调用,装载必要的类以解释还没有定义的符号,并把变量访问翻译成与这些变量运行时的存储结构相应的偏移地址。动态链接方法和变量使得方法中使用的其它类的变化不会影响到本程序的代码。2)正常的方法返回如果当前方法正常地结束了,在执行了一条具有正确类型的返回指令时,调用的方法会得到一个返回值。执行环境在正常返回的情况下用于恢复调用者的寄存器,并把调用者的程序计数器增加一个恰当的数值,以跳过已执行过的方法调用指令,然后在调用者的执行环境中继续执行下去。3)异常和错误传播异常情况在java中被称作error(错误)或exception(异常),是throwable类的子类,在程序中的原因是:a.动态链接错,如无法找到所需的class文件。b.运行时错,如对一个空指针的引用程序使用throw语句。当异常发生时,java虚拟机采取如下措施:检查与当前方法相联系的catch子句表。每个catch子句包含其有效指令范围,能够处理的异常类型,以及处理异常的代码块地址。与异常相匹配的catch子句应该符合下面的条件:造成异常的指令在其指令范围之内,发生的异常类型是其能处理的异常类型的子类型。如果找到了匹配的catch子句,那么系统转移到指定的异常处理块处执行;如果没有找到异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的catch子句都被检查过。由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。因为java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异常情况。如果找不到匹配的catch子句,那么当前方法得到一个未截获异常的结果并返回到当前方法的调用者,好像异常刚刚在其调用者中发生一样。如果在调用者中仍然没有找到相应的异常处理块,那么这种错误传播将被继续下去。如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块。(3)操作数栈区机器指令只从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中。选择栈结构的原因是:在只有少量寄存器或非通用寄存器的机器(如intel486)上,也能够高效地模拟虚拟机的行为。操作数栈是32位的。它用于给方法传递参数,并从方法接收结果,也用于支持操作的参数,并保存操作的结果。例如,iadd指令将两个整数相加。相加的两个整数应该是操作数栈顶的两个字。这两个字是由先前的指令压进堆栈的。这两个整数将从堆栈弹出、相加,并把结果压回到操作数栈中。每个原始数据类型都有专门的指令对它们进行必须的操作。每个操作数在栈中需要一个存储位置,除了long和double型,它们需要两个位置。操作数只能被适用于其类型的操作符所操作。例如,压入两个int类型的数,如果把它们当作是一个long类型的数则是非法的。在sun的虚拟机实现中,这个限制由字节码验证器强制实行。但是,有少数操作(操作符dupe和swap),用于对运行时数据区进行操作时是不考虑类型的。4、堆java的堆是一个运行时数据区,类的实例(对象)从中分配空间。java语言具有无用单元收集能力:它不给程序员显式释放对象的能力。java不规定具体使用的无用单元收集算法,可以根据系统的需求使用各种各样的算法。5、方法区方法区与传统语言中的编译后代码或是unix进程中的正文段类似。它保存方法代码(编译后的java代码)和符号表。每个类文件包含了一个java类或一个java界面的编译后的代码。可以说类文件是java语言的执行代码文件。为了保证类文件的平台无关性,java虚拟机规范中对类文件的格式也作了详细的说明。其具体细节请参考sun公司的java虚拟机规范。java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。1.2.5 java类文件(.class文件)每个类文件包含了一个java类或一个java界面的编译后的代码。可以说类文件是java语言的执行代码文件。为了保证类文件的平台无关性,java虚拟机规范中对类文件的格式作了详细的说明。其具体细节请参考sun公司的java虚拟机规范。第二章 系统分析本文当主要介绍在windows xp系统环境下如何安装部署服务应用。主要通过介绍java虚拟机、web服务器tomcat以及数据库mysql的安装及相关配置来搭建系统的运行环境,以实现大唐任务管理系统地顺利运行。2.1 系统运行环境的搭建2.1.1 jdk的版本要求使用jdk1.5(windows版)2.1.2 jdk的安装双击“jdk-1_5_0-windows-i586.exe”安装文件,开始安装jdk,安装步骤按默认即可。2.1.3系统环境变量配置右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“java_home”的变量,变量值为“c:program filesjavajdk1.5.0”(即安装jdk时所选的安装jdk的根目录);然后再在系统环境变量中选择“path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%java_home%bin”。2.1.4 tomcat的安装与配置双击“jakarta-tomcat-5.0.28.exe”安装文件,开始tomcat的安装;安装过程中要注意事项: jvm路径(安装jdk的根目录)与tomcat安装路径的选择;安装tomcat时有tomcat端口的选择,如果机器上有oracle数据库的话要更改,如果没有的话就可以按默认的“8080”端口即可。右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“tomcat_home”的变量,变量值为“c:program filesapache software foundationtomcat 5.0”(即安装tomcat时所选的安装tomcat的根目录);然后再在系统环境变量中选择“path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%tomcat_home%bin”2.2 mysql的安装及数据文件的导入2.2.1 mysql的版本要求使用mysql5.0.22版本2.2.2 mysql的安装解压“mysql-5.0.22-win32.zip”,双击“setup.exe”,开始mysql的安装;安装过程注意事项:mysql的端口(默认:3306);mysql字符集的设置,在字符集选择时选择“gb2312”;使用默认用户名“root”,密码设置为admin。2.2.3 mysql-front的安装解压“mysql-front.zip”,双击“mysql-front_setup.exe”,开始mysql-front的安装,全部按默认即可。2.2.4 mysql-front的设置运行安装完成的mysql-front程序,弹出“打开对话”对话框,单击“连接”标签,在服务器处输入:localhost或者(即本地主机);单击“注册”标签,在用户名处输入安装mysql时候的用户账号和密码(默认用户名:root,密码admin);在数据库栏选择字符集编码为:utf8,最后单击确定按钮。2.2.5 创建数据库导入数据库文件 打开mysql-front,右键单击服务器,选择输入sql文件选项,导入已给出的数据库文件。2.3 系统的部署及相关配置2.3.1数据库驱动的加载将mysql的jar包添加到tomcat根目录下的common/lib文件夹下。2.3.2系统文件的部署将taskmanage.war文件复制到tomcat的安装路径下的webapps文件夹中。2.3.3 系统的运行运行tomcat,打开ie浏览器,在地址栏中输入:http:/localhost:8080/datangtelecom(系统客户端)2.4 项目说明1. 登录操作-运行tomcat,打开ie浏览器,在地址栏中输入:http:/localhost:8080/datangtelecom(系统客户端) 首先登录时必须用正确的用户名和密码,第一版块管理员的相关操作,登录管 理员时用户名是a003,密码是123,第二版块主管的相关操作,登录主管的用 户名是a006,密码是123,第三版块员工的相关操作,登录员工的用户名是 a007,密码是123。2.管理员操作: 1)是用户管理,查询的是所有员工,可以增加,删除,查看详细信息,可以分页。 2)是员工管理,可以查询所有员工,增加-用户名(用了ajax 验证),删除,查看详细信息,可以更改主管,也可以分页。最后是退出系统。 注意:员工后对应主管的id号。3.主管操作: 1)查看任务,查看所有员工下的任务,可以查看任务详细信息和任务对应的实施计划,还可以查看计划详细信息。 2)制定任务-新建任务,时间用了日历框架,提交后可以在任务列表中查看。 3)调整任务,调整为实施的任务,可以对每个任务进行修改提交的任务列表,还可以删除任务。 4)跟踪任务-实施中的任务,可以查看任务详细信息,更改任务的状态,同时可以查询任务对应的计划,已反馈的可以查看反馈信息。 5)查看人员,可以查看人员详细信息。最后退出系统。 注意:任务表中的所属人对应员工表中的主键,任务表中的user_zhuguanid对应人员表中的zhuguan_id.用到了many-to-one.4.员工操作: 1)计划管理,可以查看计划对应的任务列表,可以制定计划,修改.新建 .删除计划,新建计划时间用了日历框架。 2)查询计划-模糊查询。最后退出系统。注意:计划表中的user_id 对应人员表中的某一人员的主键。第三章 数据库的概念 当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本网站将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如oracle,sql server 2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。3.1 数据库的选择本网站使用mysql 5.12实现关系型数据库。mysql是一个真正的多用户、多线程sql数据库服务器,它有较好的数据承载能力,一个环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,总数据大约有100gb的数据库系统可以很好的被mysql所支持,而mysql本身不会像oracle那样对系统及硬盘空间有很高的要求。这也是本网站选用mysql作为后台数据库系统的一个重要原因之一。3.2 数据库表的描述概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联系模型,即er模型,它是用er图来描述现实世界的概念模型。er图中用矩形表示实体;用椭圆表示属性;用菱形表示联系。表(2-1)系统数据模型定义注释:实体名备注user用于记录使用本系统的所有用户的信息plan用于记录员工所有实施的计划的全过程task用于记录主管的所有任务表(2-2)用户表:user字段内容字段名称数据类型长度主外键备注用户名name_idvarchar20姓名user_namevarchar50密码user_passwordvarchar20性别user_sexvarchar10出生年月日user_birthdaydate职位user_workvarchar50入职时间user_worktimedate角色user_jiaosevarchar50g代表管理员z代表主管y代表员工,默认的是y学历user_xuelivarchar50专业user_zhuanyevarchar50行业经历user_jinglivarchar255主管idzuguan_idvarchar20表格定义说明:user表格用于保存本系统的使用者的信息,name_id是用户名是所有用户的唯一标识,是表中的主键,在用户登录时使用。user_name用户的真实姓名在注册中应用,主要用于显示,user_password用户的密码,在登录本系统时使用,user_sex用户的性别,用于个人信息中显示,user_birthday用户的出生日期,user_work用户的职位,user_worktime用户的进入单位的时间, user_jiaose角色,这是进入本系统用户的标识,它判断了用户应该进入哪个页面,如果是操作员进入操作员页面,可以对使用本系统的所有人员进行增加、删除、修改等操作,如果是主管进入主管操作页面,对本系统的任务和计划进行处理,如果是员工进入员工操作页面,对本系统的计划进行处理。表(2-3)任务表:task字段内容字段名称数据类型长度主外键备注任务ididint11任务名称task_namevarchar50任务描述task_miaoshuvarchar50任务开始时间task_starttimedate任务结束时间task_endtimedate实施人task_shishipeoplevarchar50外键任务状态task_zhuangtaivarchar255任务实际结束时间task_shijiendtimedate任务实际开始时间task_shijistarttimedate任务制定的主管id号user_zhuguanidvarchar20表格定义说明: task表用于保存主管人员所制定的所有任务,id是任务的主键用于查询任务时使用,task_name任务的名称,用于显示时使用,task_miaoshu任务的描述,主要对所制定的任务进入进一步的描述,task_starttime是制定任务时主管制定的任务的开始时间, task_endtime是主管制定任务时制定的修我甲兵 结束时间, task_shishipeople做这次任务的员工编号是user表中的主键, task_zhuangtai任务的完成状态,可以有三种状为未实施,实施中,已实施, task_shijiendtime员工完成这项任务所用的真实的结束时间, task_shijistarttime员工完成这项所用的真实开始时间, user_zhuguanid某项任务是哪个主管制定的用户的主键表(2-4)计划表:plan字段内容字段名称数据类型长度主外键备注计划ididint11计划名称plan_namevarchar50计划描述plan_miaoshuvarchar255计划开始时间plan_starttimedate计划结束时间plan_endtimedate所属任务plan_suoshutaskvarchar50反馈信息plan_fankuixinxivarchar255计划状态plan_zhuangtaivarchar20用户idtask_idvarchar20反馈信息描述user_idvarchar255表格定义的说明:plan表用于保存员工所做的所有计划,id是计划的id号是表的主键,plan_name计划的名称主要用于显示,plan_miaoshu对计划的进一步描述,plan_starttime计划的开始时间, plan_endtime计划的结束时间, plan_suoshutask计划的所属任务,说明这个计划是为哪个任务所制定的,用于存放任务的主键id, plan_fankuixinxi对计划的反馈信息有两种状一种是已反馈另一种是未反馈,plan_zhuangtai计划的状态,有三种状态一种是未实施一种是实施中,另一种是已实施,user_id就员工的id,user表中的主键,说明这项计划是于谁设计完成的,task_id 对应任务表中的主键。第四章 设计方案4.1域模型(示例)图4-1(域模型)4.2业务接口设计(示例)表(4-1)业务接口设计方法名addtask参数列表task task返回值void说明将参数所表示的任务信息添加到数据库中抛出异常businessexception4.3控制层设计(示例)图4-2(控制层设计)4.4过程模型图4-3(过程模型)第五章 系统实现5.1术语解释1系统管理员是该系统的一种用户,其权限是添加其他用户并分配其角色(包括主管和员工)。2主管是该系统的一种用户,一个主管下属有一些员工。主管的主要权限是创建任务描述,并将该任务分配给其下属的员工。主管还可以跟踪任务的实施情况。3员工该系统的一种用户,其主要权限是将上级主管分配的任务分解为具体的实施计划。再必要的时候可以调整计划的内容。4任务任务是由主管创建并分配给员工的一项工作。一个任务有“待实施”、“实施中”和“已完成”三种状态。当主管建立一个新任务时,该任务的状态为“待实施”;当承担该任务的员工为该任务制定了计划后,可以将该任务的状态改为“实施中”;主管通过任务跟踪,当认为任务已经完成时,可以将该任务的状态改为“已完成”5计划是由员工创建,表示一个任务的具体实施过程。一个任务可以对应多个计划,计划有两种状态“未反馈”和“已反馈”。当计划刚刚建立时,其状态为“未反馈”,当计划已经完成时,员工可以填写反馈信息并将其状态改未“已反馈”。反馈是员工完成了计划后,为该计划填写的一些总结性信息。5.2用例图图5-1(管理员权限)图5-2(主管权限)图5-3(员工权限)5.3用例描述表5-1(制定任务)用例名称制定任务功能简述主管建立一项任务的描述,并将该任务分配给其下属的员工,一项任务只可以分配给一名员工。后置条件任务建立成功并分配给了一名员工,该员工可以开始实施该任务。前置条件以主管角色登入系统。基本流1用户点击“制定任务”导航按钮。2系统显示“新建任务”界面(如图11所示),在“实施人”下拉列表中显示该主管下属的员工用户名。5用户输入任务的名称、描述、起始时间和“实施人”等信息并点击“提交”按钮。6系统建立该任务并将该任务分配给具体的实施人,该任务的初始状态为“未实施”。扩展流无图5-4(新建任务信息)部分代码 string id = request.getparameter(id); string planzhuangtai = request.getparameter(planzhuangtai); string plansuoshutask = request.getparameter(plansuoshutask); string planfankuixinxi = request.getparameter(planfankuixinxi); int newsid = integer.parseint(id);/转型planservice.updateplan(newsid, planzhuangtai,plansuoshutask,planfankuixinxi); actionforward forward = new actionforward(/plansee.do);forward.setredirect(true); return forward;5-2查看任务用例名称查看任务功能简述主管可以查看其所建立任务列表,并可以根据“实施人”和“任务状态”进行排序。后置条件无前置条件以主管角色登入系统。基本流1. 用户点击“查看任务”导航按钮。2系统显示“任务信息”界面(如图12所示),列出该主管下达过的所有任务。3用户可以次点击任务列表的“任务名称”、“实施人”开始时间、“结束时间”或“任务状态”等链接4系统显示交替按这些字段的升序和降序排列任务信息。5用户选择某一任务后的单选框,并点击“详细信息”按钮。6系统在“任务详细信息(如图13所示)”界面显示该任务的详细信息。7用户可以在该任务的计划信息中选择某一计划后的单选按钮,然后点击“详细信息”按钮。8系统在 “计划详细信息”界面中(如图14所示)显示该计划的详细信息,包括反馈信息。扩展流无图5-5(查看任务信息)部分代码:任务详细信息任务名称 :$seenewsplanlist.taskname任务描述 :$seenewsplanlist.taskmiaoshu开始时间 :$seenewsplanlist.taskstarttime结束时间 :$seenewsplanlist.taskendtime实施人 :$seenewsplanlid任务状态 :$seenewsplanlist.taskzhuangtai计划列表计划名称完成状态是否反馈开始时间结束时间 $list.planname 图5-6(任务详细)代码部分:planservice planservice = servicefactory.getplanservice();public actionforward execute(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) string nameid = (string) request.getsession().getattribute(nameid);user user = new user();user.setnameid(nameid);list list =planservice.seeplanall(user);request.setattribute(seeplanlist,list);actionforward forward = new actionforward(seeplanview);return forward;“任务详细信息”界面图5-7(任务详细信息”界面)调整任务用例名称调整任务功能简述主管可以修改所建任务的详细信息,具体修改的逻辑为:1对于状态为“未实施”的任务,可以改变其任务名称、开始和结束时间、任务描述、实施人等全部信息。2对于状态为“实施中”和“已完成”的任务不能更改其状态。后置条件对任务的修改生效。前置条件以主管角色登入系统。基本流1. 用户点击“调整任务”导航按钮。2系统在“未实施任务”界面中(如图15所示)显示状态为“未实施”的所有任务。3用户可以次点击任务列表的“任务名称”、“实施人”开始时间、“结束时间”等链接。4系统显示交替按这些字段的升序和降序排列任务信息。5用户单击某一任务的“任务名称”链接。6系统在“调整任务信息”界面(如图16所示)中将该任务的详细信息显示为可编辑状态。7用户更改任务的信息,并点提交按钮。8系统保存用户的更改。9用户还可以在“未实施任务”界面中勾选某些任务后的复选框,然后点击“删除”按钮。10系统删除这些任务信息,并返回到“未实施任务”界面,显示更改生效。扩展流无图5-8(未实施任务信息)部分代码:pla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路局机务考试题及答案
- 2025年广西壮族自治区纪委监委公开遴选公务员笔试试题及答案解析
- 山西联合体考试题及答案
- 农业科研技术合作开发合同书
- 技士证考试题库及答案
- 鞍山中考模拟考试题及答案
- 岳阳二中考试题目及答案
- 信阳九中分班考试试卷及答案
- 日本驾考笔试题库及答案
- 人事管理人员笔试试题及答案
- 二手车股东合作合同协议
- 公司生产线管理制度
- 《民航重大安全隐患判定标准(2024 年修订版)》知识培训
- 土方内倒合同(2025年版)
- 初中数学教师职称评审中的教学反思
- 储能站施工组织设计施工技术方案(技术标)
- 2025年上半年农牧民技术培训工作总结(2篇)
- 基于深度学习的车辆重识别研究进展
- 【培训课件】《统计法》宣传课件 建立健全法律制度依法保障数据质量
- 罐车充装管理制度及操作规程
- 救护车驾驶员培训
评论
0/150
提交评论