软件工程课程设计项目管理系统

上传人:无*** 文档编号:41938100 上传时间:2021-11-23 格式:DOC 页数:39 大小:1.81MB
收藏 版权申诉 举报 下载
软件工程课程设计项目管理系统_第1页
第1页 / 共39页
软件工程课程设计项目管理系统_第2页
第2页 / 共39页
软件工程课程设计项目管理系统_第3页
第3页 / 共39页
资源描述:

《软件工程课程设计项目管理系统》由会员分享,可在线阅读,更多相关《软件工程课程设计项目管理系统(39页珍藏版)》请在装配图网上搜索。

1、 软件工程课程设计报告软件工程课程设计报告( 2014 - 2015 学年 第二学期)课程名称: 软件工程课程设计 题 目: 软件项目管理系统 院 系: 班 级: 组 号: 组 长: 组 员: 指导教师: 设计周数: 两周 小组成绩: 日期:2015 年 7月 17日软件工程课程设计任 务 书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 熟悉自动化的软件开发工具Rational R

2、ose,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、主要内容1 运用面向对象方法进行软件项目管理系统的需求分析与设计;2 建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模;3 利用对象模型自动生成数据模型,自动建立数据库;4 使用Java语言对系统的主要模块进行界面层的设计并给出实现;5 撰写课程设计报告。三、任务分配任务负责人参与人备注系统分析类图系统分析用例图系统分析顺序图系统分析系统需求分析系统设计体系结构设计系统设计问题域子系统设计系统设计数据管理子系统界面设计程序设计登录程序设计

3、首页程序设计项目管理程序设计任务管理程序设计联系人管理程序设计日程表程序设计用户管理程序设计系统管理课程设计报告四、进度计划序号设计内容名称完成时间备注1分组及确定题目1个工作日2初步的需求分析与设计建模, 确定实现平台,并搭建环境2个工作日3详细的需求分析与设计建模2个工作日进行中期检查4关键模块的实现与测试3个工作日5编写课程设计报告1个工作日6验收检查及评定成绩1个工作日五、设计成果要求1 建立系统分析模型与设计模型;2 初步建立系统原型,实现关键的功能;3 编写课程设计报告。六、考核方式1 系统演示及讲解占50%。2 设计报告占50%。指导教师: 日 期: 2015 年 7 月 2 日

4、软件工程课程设计 成 绩 评定一、指导教师评语二、成绩学号姓名成绩备注 指导教师: 日 期: 2015 年 7 月 17 日摘要:“按时、保质地完成项目”大概是每一位项目经理最希望做到的。但工期托延的情况却时常发生。因而合理地安排项目时间是项目管理中一项关键内容,它的目的是保证按时完成项目、合理分配资源、发挥最佳工作效率。它的主要工作包括定义项目活动、任务、活动排序、每项活动的合理工期估算、制定项目完整的进度计划、资源共享分配、监控项目进度等内容。时间管理工作开始以前应该先完成项目管理工作中的范围管理部分。如果只图节省时间,把这些前期工作省略,后面的工作必然会走弯路,反而会耽误时间。项目一开始

5、首先要有明确项目目标、可交付产品的范围定义文档和项目的工作分解结构(WBS)。由于一些是明显的、项目所必须的工作,而另一些则具有一定的隐蔽性,所以要以经验为基础,列出完整的完成项目所必需的工作,同时要有专家审定过程,以此为基础才能制定出可行的项目时间计划,进行合理的时间管理。通过项目实际进度与预计时间花费对比,进而分析进度快慢,标注项目开发进度,及时地对时间延误的事件做出记录,反馈。开发人员可以随时关注自己的开发进度,管理人员可以得到项目宏观上的进度分析,对于严重延误时间的某个具体过程做出及时处理,不至于堆积最后严重延误进度。以此努力尽可能达到按照预计时间完成软件项目开发。关键词:软件项目,资

6、源,任务,进度,UML,Java EE一、课程设计的目的与要求1.1 课程设计的目的通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1) 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2) 熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;3) 进一步加强和提高软件工程文档的编写能力;4) 培养协作能力和团队精神。1.2 课程设计的要求1) 综合运用软件工程方法、技术和工具完成软件项目管理系统的分析与设计任务;2) 使用R

7、ational Rose作为需求分析与设计的建模工具,要求进行静态建模和动态建模,并利用对象模型自动生成数据模型,自动建立数据库;3) 对软件项目管理系统中关键的模块进行界面层的设计并给出实现,选择Java EE平台;4) 撰写课程设计报告。二、设计正文1 概述1.1 系统开发的目的和意义1) 目的:本软件旨在帮助软件开发团队更好地规划,细化软件开发的每一步,在规定的时间内做好项目,合理分配资源,发挥最佳工作效率。2) 意义:使开发人员可以随时关注自己的开发进度,使管理人员可以得到项目宏观上的进度分析,尽可能按照预计时间完成软件项目开发。1.2 系统开发环境及运行环境1) 操作系统:Windo

8、ws 7及以上。2) 建模工具:IBM Rational Rose(Enterprise Edition).3) 数据库系统:MySQL和Navicat.4) 编程工具:Eclipse Java EE IDE for Web Developers.5) 开发语言:Java, JavaScript, JSP, HTML2 系统需求分析2.1 系统需求概述2.1.1 功能需求软件项目时间管理系统旨在为软件项目开发人员提供合理安排项目时间的功能,主要分为系统管理、用户管理、联系人管理、项目管理和任务管理。a) 系统管理1) 系统参数设定。管理员设定工作日天数和单个工作日的工作小时数,设置用户日志、用

9、户日志路径和问题跟踪单存储路径。2) 添加角色及设置权限。在角色管理部分,添加角色并设置其相应的管理权限。3) 删除角色。当系统不需要某角色时,可以对该角色进行删除。b) 用户管理1) 添加用户。创建新用户时,同时需要选定用户类型、设置用户密码、设定用户状态、填写联系方式和Email以及添加个人简介。2) 启用用户。当用户状态为“暂停”时,对于项目中存在该用户的情况下,可以将其用户状态开启为“启用”。3) 暂停用户。与启用用户功能相对应,当用户状态为“启用”时,对于项目中不存在该用户的情况下,可以将其用户状态开启为“暂停”。4) 删除用户。从用户管理的用户列表里删除某用户的信息。5) 搜索用户

10、。在用户管理的用户列表中搜索相关用户,可以查找到相关用户的所有信息。6) 用户日志。c) 联系人管理1) 添加联系人。在联系人管理内,可以实现添加联系人的功能,联系人的信息有姓名、用户ID、联系方式、邮箱和用户角色。2) 删除联系人。3) 编辑联系人信息。4) 搜索联系人。输入联系人的姓名查找相关联系人,可以得到相关联系人的信息。d) 项目管理1) 查看项目。查看所有项目的开始时间、预期结束时间、项目进度、项目经理和项目状态。2) 新建项目。新建一个项目,需要设定项目名称、项目开始时间、项目预期结束时间、项目预算、项目优先级、计划耗时(小时)和项目概述并选择项目经理。3) 搜索项目。用户可以搜

11、索并查看某个项目的信息。e) 任务管理1) 查看任务。查看所有任务的开始时间、预期结束时间、任务进度、所属项目、任务状态及对应的问题跟踪单。2) 查看问题跟踪单。查看所有问题跟踪单的问题单号、所属任务、创建时间、创建人和对应的状态。3) 查看日志。4) 创建任务及对应的日志。新建一个任务,需要设定任务名称、任务状态、任务优先级、任务进度并选择所属项目和判断是否是里程碑。另外,任务的详细信息包括任务开始时间、任务结束时间、任务预期结束时间、预算指标(万元)、分配人力资源和任务概述。5) 创建问题跟踪单。新建一个问题跟踪单,需要设定创建人、选择问题处理人以及添加问题概述。6) 处理问题跟踪单。管理

12、界面内包括所有问题跟踪单,每个问题跟踪单包括问题单号、所属任务、创建时间、创建人和对应的处理状态。2.1.2 性能需求系统的用户访问量、系统处理能力、业务处理能力、系统响应时间、容灾需求性能指标和网络流量等主要性能指标均满足小型软件项目团队的需要。2.2 用例图系统的外部角色有:管理员(ADMIN)、项目经理和项目成员。主要用例有:系统管理,用户管理,项目管理,任务管理和联系人管理。2.2.1 系统管理图 1 “系统管理”用例图1)“系统管理”用例:用于设置系统的参数和管理角色。前置条件:显示系统管理界面。主事件流:用户点击界面功能按钮,系统获取用户点击按钮的操作类型。辅事件流:用户未点击任何

13、功能按钮,系统无响应操作。后置条件:系统进入相应的功能界面。2)“系统参数设定”用例:设定系统某人的工时数据。前置条件:显示系统管理参数设定界面。主事件流:管理员输入工作日天数、日工作小时数、用户日志、用户日志路径和问题跟踪单存储路径,系统获取并进行系统参数设置。提示参数设置成功,返回系统管理界面。辅事件流1:管理员未输入工作天数或工作小时数等参数。系统显示信息:输入参数为空将采用默认参数。辅事件流2:管理员输入不合法的工作天数或工作小时数等参数。系统显示错误信息:输入参数不合法。后置条件:设定工作日天数和日工作小时数等参数成功。3)“添加角色”用例:管理员用户可以添加本系统用户的角色。4)“

14、删除角色”用例:管理员用户可以删除本系统用户的角色。5)“设置权限”用例:给添加的角色设置对系统访问的权限。前置条件:显示系统管理的用户角色管理界面。主事件流:用户点击角色后面的设置权限按钮,系统获取用户的点击操作,进行响应,用户对角色权限进行选择设置,系统对用户操作进行监听并保存设置。辅事件流:用户未点击角色后面的设置权限按钮,系统无响应。后置条件:角色权限设置成功。2.2.2 用户管理图 2 “用户管理”和“项目管理”用例图1)“用户管理”用例:可以对用户进行添加、删除、启用、暂停和搜索等一系列操作。前置条件:显示用户管理界面。主事件流:用户点击界面功能按钮,系统获取用户点击按钮的操作类型

15、。辅事件流:用户未点击任何功能按钮,系统无响应操作。后置条件:系统进入相应的功能界面。2)“添加用户”用例:用户可以添加项目用户成员。3)“设定角色”用例:给添加的用户设定用户角色。前置条件:用户进行添加用户,要对用户角色进行选择。主事件流:用户点击设定角色的下拉列表,系统从系统参数中获取角色列表并显示在下拉列表中,用户选择要设定的角色,系统获取用户选择的角色并显示在界面中。辅事件流:用户未选择角色,提交时系统显示消息:用户角色不能为空。后置条件:根据用户角色赋予给用户相应的权限。4)“搜索用户”用例:在用户管理的用户列表中搜索相关用户,可以查找到相关用户的所有信息。5)“启用用户”用例:将用

16、户属性的状态由false改为true,表示用户参与某项目。6)“暂停用户”用例:将某用户的状态从true设置回false。7)“删除用户”用例:从员工信息的用户列表里删除某用户的信息。8)“查看用户日志”用例:查看某用户对系统的操作的日志文件。2.2.3 项目管理1)“项目管理”用例:用户可以对项目进行创建,查看等一系列操作。前置条件:显示项目管理的界面。主事件流:用户点击界面功能按钮,系统获取用户点击按钮的操作类型。辅事件流:用户未点击任何功能按钮,系统无响应操作。后置条件:系统进入相应的功能界面。2)“创建项目”用例:用户可以新建一个项目。前置条件:用户在项目管理界面点击创建项目按钮,进入

17、创建项目界面。主事件流:用户按提示输入项目信息,系统获取用户输入的信息,进行校验。辅事件流:用户未输入必须的项目信息,系统显示信息:*不能为空。后置条件:新建的项目放入项目管理的项目列表。3)“查看项目”用例:用户可以查看所有项目的信息。4)“查看任务”用例:用户可以查看项目的任务的信息。5)“搜索项目”用例:用户可以搜索并查看某个项目的信息。图 3 “任务管理”和“联系人管理”用例图2.2.4 联系人管理1)“联系人管理”用例:用户可以查看到联系人列表,还可以进行添加,删除,编辑联系人等操作。前置条件:显示联系人界面。主事件流:用户点击界面功能按钮,系统获取用户点击按钮的操作类型。辅事件流:

18、用户未点击任何功能按钮,系统无响应操作。后置条件:系统进入相应的功能界面。2)“添加联系人”用例:用户可以添加自己的联系人,用于合作项目时可以相互联系。3)“删除联系人”用例:用户可以删除一些联系人。4)“编辑联系人信息”用例:用户可以修改某些联系人的信息。2.2.5 任务管理1)“任务管理”用例:用户可以对任务进行创建任务,查看任务,创建任务日志,查看任务日志,创建问题跟踪单,处理问题跟踪单等一系列操作。前置条件:显示任务管理界面。主事件流:用户点击界面功能按钮,系统获取用户点击按钮的操作类型。辅事件流:用户未点击任何功能按钮,系统无响应操作。后置条件:系统进入相应的功能界面。2)“创建任务

19、”用例:对某项目创建一个新任务。前置条件:用户点击创建任务功能按钮,进入创建任务界面。主事件流:用户按提示输入任务信息,系统获取用户输入的信息,进行校验。辅事件流:用户未输入必须的任务信息,系统显示信息:*不能为空。后置条件:新建的任务放入相应项目的任务列表。3)“查看任务”用例:用户可以查看自己的所有任务,项目经理可以查看所有人的任务。4)“查看任务日志”用例:用户可以查看任务的任务日志。5)“创建问题跟踪单”用例:用户可以创建自己任务出现的问题的跟踪单。6)“处理问题跟踪单”用例:用户可以根据问题跟踪单的问题做出相应的处理。2.3 类图图 4 类图Project:项目类,主要属性有:项目I

20、D(pID),任务列表(tasklist),和项目持续时间(duration);主要方法有查看任务(displayTask),创建任务(createTask),查看任务日志(displayTasklog),创建问题日志(createProblemlog),处理问题日志(dealwithProblemlog)。ProjectManagement:项目管理类,主要属性有:项目列表(projectlist);主要方法有:创建项目(creatProject),查看项目(displayProject)和搜索项目(searchProject)。Task:任务类,主要属性有:任务ID(tID),日志路径(l

21、ogpath),问题日志列表(problemloglist)和员工列表(stafflist);主要方法有:创建任务日志(createTasklog),查看任务日志(displayTasklog),创建问题日志(createProblemlog),处理问题日志(dealwithProblemlog)。TaskManagement:任务管理类,主要方法有:创建任务(createTask),查看任务(displayTask),创建任务日志(createTasklog),查看任务日志(displayTasklog),创建问题日志(createProblemlog),处理问题日志(dealwithPro

22、blemlog)。ProblemLog:问题日志类,主要属性有:问题(problem)。Userpublic:用户公用信息类,主要属性有:用户ID(userid),姓名(name),电话(phone),邮件(E-mail)。Contacts:联系人类,主要属性有:联系人列表(stafflist);主要方法有:添加联系人(add),删除联系人(delete),编辑联系人(edit)。User:用户类,继承Userpublic,主要属性有:联系人(contacts),用户角色(userrole),密码(password),用户状态(userstate),用户日志路径(userlogpath);主要

23、方法有:获取角色列表(getRole)。MemberInformation:员工信息类,主要属性有:用户列表(userlist),员工人数(staffnum);主要方法有:添加用户(addUser),启用用户(startUser),删除用户(deleteUser),暂停用户(pauseUser),搜索用户日志(searchUserlog)。Role:角色类,主要属性有:角色名(rolename),权限名(powername)。SystemSetting:系统参数设置类,主要属性有:工作天数(duration-day),工作小时数(duration-hour),角色列表(rolelist);主要

24、方法有:获取角色(getRole),添加角色(addrole),删除角色(deleteRole)。2.4 顺序图1)设置系统参数的顺序图如图5所示。图 5 设置系统参数2)设置角色和权限的顺序图如图6所示。图 6 设置角色和权限3)创建项目的顺序图如图7所示。图 7 创建项目4)查看和搜索项目的顺序图如图8所示。图 8 查看和搜索项目5)创建任务的顺序图如图9所示。图 9 创建任务6)查看任务的顺序图如图10所示。图 10 查看任务7)创建任务日志的顺序图如图11所示。图 11 创建任务日志8)查看任务日志和创建问题跟踪单的顺序图如图12所示。图 12 查看任务日志和创建问题跟踪单9)添加用户

25、的顺序图如图13所示。图 13 添加用户10)添加联系人的顺序图如图14所示。图 14 添加联系人3 系统总体设计3.1 系统体系结构设计系统可分解成三层结构,分别是表示层、业务逻辑层和数据访问层,这样有利于系统的开发、维护、部署和扩展。系统体系结构图(使用包图的形式描述)如图15所示。分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味着只做与外观显示相关的工作。业务逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮性。如完成数据添

26、加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将操作继续向后传递,尽量保证程序的正常运行。数据访问层:顾名思义,就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,如System.Data.SqlClient等,除数据层之外的任何地方都不应该出现这样的引用。图 15系统体系结构图3.2 设计问题域子系统图 16 问题域子系统各个类对应的具体操作如下:ProjectManagement为项目管理类,其操作有创建项目,根据项目ID搜索项目,获

27、得所有项目,根据项目名称搜索项目,根据名字模糊搜索项目,更新项目状态,maxtime为辅助方法,获取参数最大值。TaskManager为任务管理类,其操作有对任务的创建,编辑,搜索,搜索全部,还有给任务创建问题跟踪单以及搜索全部问题跟踪单。MemberInformation类有初始化、获取系统参数、设置系统参数、添加用户,删除用户、搜索用户角色、搜索用户日志主要操作。WorktimeInfomation位系统管理类,其操作有初始化、添加用户角色、删除用户角色、获取系统参数、设置系统参数操作函数。FileOperation为对文件的读写类,其操作有对问题件的读和写。其他都是对象类,其本上没有变化

28、。各类中的关系如上图的类图所示。3.3 设计数据管理子系统图 17 数据库表1) myuser表:存储系统用户信息,具体表结构如表一所示。表一 myuser表结构字段名字段类型字段宽度备注登录IDbigint20主键姓名varchar20联系方式varchar15Emailvarchar50密码varchar50用户角色varchar30用户状态tinyint1用户日志路径varchar200用户概述varchar3002) contacts表:存储联系人信息,具体表结构如表二所示。表二 contacts表结构字段名字段类型字段宽度备注联系人IDbigint20主键用户IDbigint20主键

29、,外键姓名varchar20联系方式varchar15用户角色varchar30Emailvarchar503) userTask表:存储员工及对应的任务信息,具体表结构如表三所示。表三 userTask表结构字段名字段类型字段宽度备注员工IDbigint20主键,外键任务IDbigint20外键4) project表:存储项目信息,具体表结构如表四所示。表四 project表结构字段名字段类型字段宽度备注项目IDbigint20主键项目名称varchar50开始时间date预计结束时间date实际结束时间date预算float项目经理IDbigint20状态varchar10优先级int11

30、进度float20已工作小时数float20计划耗时float20项目耗时float20概述varchar3005) problemlog表:存储联系人信息,具体表结构如表五所示。表五 problemlog表结构字段名字段类型字段宽度备注问题单IDbigint20主键任务IDbigint20外键创建时间datetime0创建人IDbigint20处理者IDbigint20状态int11问题描述varchar300日志路径varchar1006) role表:存储角色信息,具体表结构如表六所示。表六 role表结构字段名字段类型字段宽度备注用户角色varchar30主键角色权限varchar20

31、07) task表:存储任务信息,具体表结构如表七所示。表七 task表结构字段名字段类型字段宽度备注任务IDbigint20主键任务名称varchar50状态varchar10进度float0优先级int11项目IDbigint20外键是否为里程碑tinyint1预算指标float20父任务IDbigint20概述varchar300开始时间date完成时间date计划完成时间date任务日志路径varchar1008) worktime表:存储工作时间信息,具体表结构如表八所示。表八 userTask表结构字段名字段类型字段宽度备注工作日天数bigint20主键日工作小时数bigint20

32、用户日志varchar200用户日志路径varchar200问题跟踪单路径varchar2003.4 设计人机交互子系统人机交互子系统包括系统登录界面、用户操作主界面和一般子功能界面。图 18 系统登录界面图 19 用户操作主界面图 20 一般子功能界面4. 详细设计4.1 系统参数设置部分1)设置系统参数图 21 设置系统参数2)设置角色和权限图 22 设置角色和权限4.2 用户管理部分1)添加用户图 23 添加用户2)添加联系人图 24 添加联系人4.3 项目管理部分1)创建项目图 25 创建项目2)查看和搜索项目图 26 查看和搜索项目4.4 任务管理部分1)创建任务图 27 创建任务2

33、)查看任务图 28 查看任务3)创建任务日志图 29 创建任务日志4)查看任务日志和创建问题跟踪单图 30 查看任务日志和创建问题跟踪单5. 系统实现5.1 登录登录界面如图18所示,用户输入自己的用户名和密码,系统获取用户输入的信息后,连接后台数据库中的Myuser表,对用户信息进行核实与验证,若吻合,则用户可以进入系统,否则给出报错信息,其算法的流程图,如图31所示。图 31 登录模块算法流程图开始输入用户基本信息 用户名为空?用密码为空?连接后台数据库Myuser表用户不存在或密码不正确?登录界面根据用户身份进入对应的主界面结束否否否是是是用户身份验证的主要代码如下:登录验证JavaSc

34、ript代码:eg.$ = function(id)return document.getElementById(id); function noDisplay()document.getElementById("notiseMy").style.display="none"function check()var account = eg.$("account");var password = eg.$("password");if(account.value = '' | password.val

35、ue='')document.getElementById("notiseMy").style.display=""return false; var jarge = /0-9*$/ ;if(!jarge.test(account.value)document.getElementById("notiseMy").style.display =""return false; if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); if (

36、window.ActiveXObject) try xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); catch (e) try xmlhttp = new ActiveXObject("msxml2.XMLHTTP"); catch (x) var url = "LogCheck?account="+account.value+"&password="+password.value;xmlhttp.open("GET",url,true

37、);xmlhttp.setRequestHeader("Content-Type", "text/html;charset=UTF-8");xmlhttp.onreadystatechange = function complate()if(xmlhttp.readyState = 4)var msg = xmlhttp.responseText;if(msg = '0')document.getElementById("notiseMy").style.display=""return false

38、;elsewindow.location.href="Login?account="+account.value+"&password="+password.value;return true;xmlhttp.send(null);return false;Servlet代码:HttpSession session = request.getSession(false);if(session = null )RequestDispatcher dispatch = request.getRequestDispatcher("signin

39、.jsp");dispatch.forward(request, response);return ; String account = request.getParameter("account"); String password = request.getParameter("password"); if(account=null| password=null ) RequestDispatcher dispatch = request.getRequestDispatcher("signin.jsp");dispat

40、ch.forward(request, response);return ; if(account.equals("")| password.equals("") ) RequestDispatcher dispatch = request.getRequestDispatcher("signin.jsp");dispatch.forward(request, response);return ; else Myuser res = Myuser.search(Integer.parseInt(account); if(res = n

41、ull) RequestDispatcher dispatch = request.getRequestDispatcher("signin.jsp"); dispatch.forward(request, response); return ; if(password.equals(res.getPassword() session.setAttribute("account", account); WorktimeInfomation.init(); MemberInformation.init(); ProjectManagement.init()

42、; String operation = (String)session.getAttribute("account"); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String datelogin = df.format(new Date(); User operationUser = MemberInformation.seachUser(Integer.parseInt(operation); FileOperation.saveAsFileWriter(o

43、perationUser.getUserLogpath(),"登录时间 "+datelogin+"rn"); response.sendRedirect("index.jsp"); return ; else RequestDispatcher dispatch =request.getRequestDispatcher("signin.jsp"); dispatch.forward(request, response); return ; 5.2 系统管理界面如图所示,管理员设定工作日天数和单个工作日的工作小时数

44、、设置用户日志、用户日志路径和问题跟踪单存储路径等参数,系统获取到这些参数后,连接后台数据库中的worktime表,并对网页中相应信息更改。同样,在角色管理中,管理员设定角色名称和权限描述,系统获取并连接后台数据库中的role表,并修改网页。图 32系统参数管理界面图 33角色管理界面系统管理的系统参数管理界面和角色管理界面如上图所示。实现其功能的主要代码如下:HttpSession session = request.getSession(false);if(session = null | session.getAttribute("account")=null | s

45、ession.getAttribute("account").equals("")RequestDispatcher dispatch = request.getRequestDispatcher("signin.jsp");dispatch.forward(request, response);return ; String operation = request.getParameter("operation");if(operation.equals("setworktime") int

46、workDays = Integer.parseInt(request.getParameter("workdays"); int workDayHours = Integer.parseInt(request.getParameter("workdayhours"); String userLog = new String(request.getParameter("userlog").getBytes("ISO-8859-1"),"utf-8"); String taskLogpath =

47、new String(request.getParameter("taskLogpath").getBytes("ISO-8859-1"),"utf-8"); String problemLogPath = new String(request.getParameter("problemlogpath").getBytes("ISO-8859-1"),"utf-8"); if(Worktime.updateworktime(workDays, workDayHours,use

48、rLog,taskLogpath,problemLogPath)=0) response.sendRedirect("error.jsp"); return ; else Myuser.updateLogpath(userLog); DataTask.updateLogpath(taskLogpath); DataProblemLog.updateLogpath(problemLogPath); WorktimeInfomation.init(); MemberInformation.init(); ProjectManagement.init(); response.se

49、ndRedirect("setworktime.jsp"); return ; 5.3 用户管理模块界面如图所示,管理员按要求添加、启用、暂停、删除、搜索用户,系统获取到这些操作后,连接后台数据库中的Myuser和Contacts表,并对网页中相应信息更改。图 34用户管理界面图 35创建新用户界面用户管理界面和对应的创建新用户界面如上图所示。实现其功能的主要代码如下:HttpSession session = request.getSession(false);if(session = null | session.getAttribute("account&q

50、uot;)=null | session.getAttribute("account").equals("")RequestDispatcher dispatch = request.getRequestDispatcher("signin.jsp");dispatch.forward(request, response);return ; String function = request.getParameter("functionMy");if(function.equals("deleteUser

51、")String userID = request.getParameter("accountID");String operation = (String)session.getAttribute("account");SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/设置日期格式String dateEdit = df.format(new Date();/ new Date()为获取当前系统时间User operationUser =

52、MemberInformation.seachUser(Integer.parseInt(operation);User editUser = MemberInformation.seachUser(Integer.parseInt(userID);String operationName = operationUser.getUserID()+" "+operationUser.getName();String path = editUser.getUserLogpath();if(MemberInformation.deleteUser(Integer.parseInt

53、(userID)=1) FileOperation.saveAsFileWriter(path,"用户删除时间 "+dateEdit+"rn"); FileOperation.saveAsFileWriter(path,"操作人 "+operationName+"rn"); response.sendRedirect("userManager.jsp"); return ; elseresponse.sendRedirect("error.jsp"); return ; if

54、(function.equals("purseUser")String userID = request.getParameter("accountID"); if(MemberInformation.pauseUser(Integer.parseInt(userID)=1) String operation = (String)session.getAttribute("account");SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&quo

55、t;);/设置日期格式String dateEdit = df.format(new Date();/ new Date()为获取当前系统时间User operationUser = MemberInformation.seachUser(Integer.parseInt(operation);User editUser = MemberInformation.seachUser(Integer.parseInt(userID);String operationName = operationUser.getUserID()+" "+operationUser.getNam

56、e();FileOperation.saveAsFileWriter(editUser.getUserLogpath(),"状态暂停时间 "+dateEdit+"rn"); FileOperation.saveAsFileWriter(editUser.getUserLogpath(),"状态编辑人 "+operationName+"rn");response.sendRedirect("userManager.jsp");return ; elseresponse.sendRedirect(&

57、quot;error.jsp"); return ; 5.4 项目管理模块界面如图所示,项目经理按要求查看、新建、搜索项目,系统获取到这些操作后,连接后台数据库中的project表,并对网页中相应信息更改。图 36查看项目界面图 37创建项目界面项目管理界面和对应的创建项目界面如上图所示。实现其功能的主要代码如下:String function = request.getParameter("function");if(function.equals("createProject")String pName = new String(reque

58、st.getParameter("pname").getBytes("ISO-8859-1"),"utf-8");String time1=request.getParameter("starttime");String time3=time1.split("/"); StringBuffer tb1=new StringBuffer(); String time5=new String(); tb1.append(time3time3.length-1); for(int i=0;i<t

59、ime3.length-1;i+) tb1.append(time3i); time5=tb1.toString(); String time2=request.getParameter("expectendtime"); String time4=time2.split("/"); StringBuffer tb2=new StringBuffer(); String time6=new String(); tb2.append(time4time4.length-1); for(int i=0;i<time4.length-1;i+) tb2.append(time4i); time6=tb2.toString(); float budget = Float.parseFloat(request.getParameter("budget"); String manager = request.getParameter(

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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