基于JAVA EE平台的项目管理系统

上传人:仙*** 文档编号:29903101 上传时间:2021-10-08 格式:DOC 页数:31 大小:1.91MB
返回 下载 相关 举报
基于JAVA EE平台的项目管理系统_第1页
第1页 / 共31页
基于JAVA EE平台的项目管理系统_第2页
第2页 / 共31页
基于JAVA EE平台的项目管理系统_第3页
第3页 / 共31页
点击查看更多>>
资源描述
目 录1 绪论11.1 课题研究的背景11.2 课题意义12 可行性分析32.1 技术可行性32.2 经济可行性32.3 时间可行性32.4 操作可行性43 系统设计53.1 系统综合要求53.2 系统管理员功能模块53.3 项目经理功能模块63.4 数据库设计73.4.1 系统E-R图83.4.2 数据库表设计83.4.3 数据库逻辑模型123.4.4 数据库表结构124 系统实现154.1 系统页面的设计与实现154.2 系统管理员功能的实现154.2.1 登录页面154.2.2 项目管理页面164.2.3 人员分配页面184.3 项目经理功能的实现194.3.1 提交需求文档页面204.3.2 项目报价页面214.3.3 开发任务分配页面224.3.4 源代码客户确认页面235 系统的调试与测试255.1 软件测试的目的25第I页 共II页 5.2 测试计划255.3 测试方法255.4 测试的重要性266 结论27参 考 文 献28致 谢29 第II页 共II页 1 绪论1.1 课题研究的背景在现今众多的软件系统中,软件项目管理系统的用户是软件项目团队的成员和领导。这是对我国现今大多数软件公司管理软件项目而设计的,随着软件公司的发展,管理好公司现有的软件系统是一项很重要的事情,本课题就是为迎合这种需要而设计的项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用1。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。项目管理,英文Office Automation,简称OA,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人、机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的2。然而在网络还没有得到广泛应用的时期,各个企业部门之间的交流、办公、统计等等都是有手工来完成的。但是随着企业部门的增多、人员的不断增加,这种传统的办公模式就显示力不从心了。工作人员每天都有很大的工作量,并且容易忙中出错,延时处理,信息不准确等问题的产生,然而一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向3。没有有效的办公模式是万万不行的。1.2 课题意义项目管理是信息时代的一种新型的省力的办公模式。它是将现代化办公和计算机网络功能相结合开发的适用于企业内部人员之间的办公软件。随着信息技术的发展,网络化的普及,项目管理系统在行政企事业单位的管理、经营活动等处都发挥着日益重要的作用4。通过网络,组织机构内部的员工可跨越时间、地点协同工作。通过项目管理系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了管理手段,实现了运营的高效。从这个意义上讲,在市场竞争日趋白热化的今天,项目管理己经不再是一种手段、一种工具,而成为决定企业生存发展的命脉。构建基于J2EE的项目管理信息系统有着非常重要的意义,主要体现在以下几个方面:(1)实现了网络化管理,提高了工作效率。软件项目管理信息系统所以使信息能够快速、及时地传递。一方面实现了网络化管理,能够从多角度、多方位的了解项目的相关信息,便于进行决策;另一方面由于实现了网络化管理,对项目的管理和控制是双向的5。在数据的管理上,可以直接将数据传送至数据库,从而快速地提高了工作效率。(2)实现了资源共享。在基于权限访问的情况下,可以获得更多的所要完成项目的管理信息,有利于项目的进行和实施。(3)适应现代化的管理、办公工作的需要。建立一个完善的软件项目信息管理系统是实现现代化管理的标志,也是提高项目管理科学化的手段。(4)规范化的管理。采用规范化的系统设计,结合相关的软件项目管理流程、制度来实现,并易于操作,获取信息也更方便。即使不熟悉软件项目流程的使用者,也能够很快地获得自己所要的信息5。2 可行性分析可行性分析是在全面调查的基础上,针对系统的开发是否具备必要性和可能性,对系统的开发从运行、经济、技术的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术 、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的分析方法6。这部分将从以下四个方面进行研究:技术可行性、经济可行性、时间可行性、操作可行性。2.1 技术可行性因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个企业来说并不是问题。网络化的办公管理,使企业管理更加规范,实现了通过网络对信息进行发布、传递、接收等一系列功能7。系统中的各个办公管理模块,为个人办公提供了一个更为方便的管理平台,大大提高个人办公的工作效率,进而提高整个企业的办公效率。而且系统方便操作,技术可行。2.2 经济可行性 通过网站对企业内部信息进行全面的自动化的管理,大大提高了项目管理的效率。通过系统对项目设计、开发过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化8。硬件方面主要是计算机,我们的实际情况可以满足开发任务,所需资料书籍可以到图书馆翻阅或者个人购买,因此整个系统的所需投资符合我们的支付状况,经济可行性良好。2.3 时间可行性本次网站开发为期三个月时间,在大学几年多学习了相关的网站开发技术,编写代码不会花费太多的时间,同时,自己也有相关的建站经验,能合理的安排开发流程,因此开发时间足够。2.4 操作可行性从操作可行性的角度说,该系统得操作方式很简单,对于用户(系统管理员、项目经理、开发人员、测试人员)来说都是简单方便的。因此,通过上面的分析,可以看出,项目管理统计是完全可行的。3 系统设计3.1 系统综合要求1.应具有方便,强大的资料管理和良好的人机界面,使用户易于操作,便于浏览。2.系统的健壮性,扩展性良好。3.系统的安全性好,通过密码和权限的管理是用户的数据不受到侵害。4.系统的动态信息交互功能强,系统根据不同的用户的权限开放不同的处理权限;不同的用户可以通过软件进行信息的沟通。5.系统尽量给用户提供一个良好的操作环境。层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性9。本系统主要分系统管理员、项目经理、开发人员、测试人员四种用户权限。3.2 系统管理员功能模块系统管理员主要功能有项目管理、人员分配、系统用户管理、修改个人信息、修改登录密码等功能。主要功能如下介绍:项目管理:系统管理员在此可以添加新的项目,如项目名称、客户,添加后可以按照相关信息进行项目的搜索查看,同时 可以做出修改或是删除的操作。人员分配:在此系统管理员对项目可以分配开发、测试的人员,也可以按照相关信息进行搜索。系统用户管理:系统管理员可以添加系统用户,如用户名、密码、用户类别、姓名、性别、电话等信息,添加后可以根据相关信息进行搜索查看,修改或是删除。修改个人信息:在系统中可以修改自己的个人信息。修改登录密码:系统管理员登录后可以修改自己的登录密码。系统管理员的功能图如图3.1所示:系统管理员功能模块系统用户管理修改个人信息修改登录密码人员分配项目管理 图3.1 系统管理员功能图3.3 项目经理功能模块项目经理功能包括需求文档的管理、设计书的管理、源代码的管理、测试任务分配、项目交付等功能的管理,具体功能如下介绍:提交需求文档:项目经理登录系统后可以看到系统管理员添加的项目,这时项目经理可以提交上传项目的需求文档。项目报价:项目经理可以按照工作量、开发周期、技术难度、软硬件成本进行项目的最终报价。业务检讨设计书:项目经理可以添加项目的业务机能说明书,添加后可以按照项目进行搜索或修改。设计书内部确认:此处是添加公司的内部人员对设计书的确认,确认结果为通过或是不通过,添加后可以修改确认结果。设计书客户确认:此处是添加客户对设计书的确认,确认结果为通过或是不通过,添加后可以修改确认结果。开发任务分配:项目经理在此分配项目的开发人员并设定完成时间。源代码管理:项目经理在此上传项目的源代码,并可以按照相关信息进行搜索。源代码内部确认:此处是添加公司的内部人员对源代码的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。源代码客户确认:此处是添加客户对源代码的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。测试任务分配:项目开发好后项目经理在此分配项目的测试人员并设定完成时间。项目测试内部确认:此处是添加公司内部人员对项目的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。项目测试客户确认:此处是添加客户对项目的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。项目交付:项目经理在此处对项目进行交付。项目报表:在此处查看项目的报表。如客户、开发人员、需求文档、交付状态、项目报价等信息。修改个人信息:项目经理在系统中可以修改自己的个人信息。修改登录密码:项目经理登录后可以修改自己的登录密码。项目经理的功能图如图3.2所示:项目经理功能模块项目测试内部确认设计书客户确认开发任务分配测试任务分配源代码管理项目测试客户确认项目报表项目交付源代码客户确认源代码内部确认设计书内部确认业务检讨设计书项目报价提交需求文档修改登录密码修改个人信息 图3.2 项目经理的功能图3.4 数据库设计数据库设计主要是进行数据库逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型10。数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:(1)根据会员需求,确定数据库中要保存的数据信息。对会员需求进行分析时数据库设计的第一个阶段。不断的调查与研究会员需求,了解企业运作流程等系统需求,使设计概念模型的基础。(2)设计数据库的概念模型。概念模型是按会员的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。(3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。(4)数据库的实施和维护。创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1标识需要的数据;2收集被标识的字段到表中;3标识主关键字字段;4绘制一个简单的数据图表;5规范数据;6标识指定字段的信息;3.4.1 系统E-R图为了描述数据库结构的概念模式,这里采用E-R图来描述数据库的实体关系。我们采用了自底向上的策略进行了概念结构的设计,即先定义各局部应用的概念模型,然后把它们集合起来,形成全局的概念结构。系统中主要E-R图如下所示:(1)csbugs测试bug实体图:图3.3 测试bug实体图(2)probjs项目报价实体图 图3.4 项目报价实体图(3)projs 项目介绍实体图图3.5 项目介绍实体图(4)sjsqr设计书确认实体图图3.6 设计书确认实体图(5)sysuser用户实体图图3.7 用户实体图(6)ywjt业务机能实体图 图3.8 业务机能实体图3.4.2 数据库表设计表的设计是这次设计的一个核心内容。根据前面对网站各个权限用户模块的功能分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:测试bug、项目报价、项目介绍、用户等功能。设计原则如下:(1)进行规范化设计,尽可能地减少数据冗余和重复。(2)结构设计与操作设计相结合。(3)数据结构具有相对的稳定性。3.4.3 数据库逻辑模型部门表(主键、是否删除标志、部门名称、部门联系方式、部门简介)工作日志表(主键、工作内容、是否删除标志、添加时间、工作概述、管理的用户)考勤表(主键、备注、添加时间、是否删除标志、考勤类型、审核结果、审核状态、关联的用户ID)任务表(主键、工作内容、是否删除标志、完成时间、工作概述、完成汇报、完成评估、完成情况、发布任务的用户、接收任务的用户)通讯录表(主键、联系电话、真实姓名、地址、关联的用户ID)文档表(主键、备注、添加时间、文档路径、文档标题、是否删除标志、关联的部门ID、关联的用户ID)信息表(主键、信息内容、添加时间、是否删除标志、信息类型、标题、关联的部门、添加的用户)用户表(主键、添加时间、简介、联系电话、密码、用户角色、入职时间、身份证、真实姓名、是否删除标志、用户名、性别、住址、关联的部门ID、是否是项目经理)邮件表(主键、邮件内容、添加时间、是否阅读、邮件标题、是否删除、发件人ID、收件人ID)3.4.4 数据库表结构基于以上设计原则,本系统中关于数据库表结构设计如下:(1)csbugs 测试bug表主要存储主键、bug信息、机能名称、是否完成信息,如表3.1所示:表3.1 测试bug表名称数据类型长度备注Idint10主键buginfovarchar245bug信息Ywidvarchar45机能名称statesvarchar45是否完成(2)probjs 项目报价表主要存储主键、项目名、工作量、开发周期、技术难度、软硬件成本、最终成本、最终报价、客户回应、备注等信息,具体如表3.2所示:表3.2 项目报价表名称数据类型长度备注Idint10主键Proidvarchar255项目名gongzlvarchar255工作量kaifzqvarchar255开发周期Jisldvarchar255技术难度ruanycbvarchar255软硬件成本zuizbjvarchar255最终报价khistyvarchar45客户回应btyyyvarchar255备注Tyrvarchar255承认人tytimevarchar255承认时间Btyrvarchar255被承认人(3)projs 项目介绍表主要存储项目名称、客户、项目经理、开发人员、测试人员、需求文档、源代码等信息,具体如表3.3所示:表3.3 项目介绍表名称数据类型长度备注Idint10主键pronamevarchar145项目名prokhvarchar145客户Projlvarchar255项目经理Prokfvarchar255开发人员Procsvarchar255测试人员Xqwdvarchar45需求文档ydmurlvarchar45源代码jfstatevarchar45交付状态yhscurlvarchar45用户手册(4)sjsqr 设计书确认表主要存储确认人员类型、提出人、是否通过、备注、项目id信息,具体如表3.4所示:表3.4 设计书确认表名称数据类型长度备注Idint10主键qrtypevarchar45确认人员类型authorvarchar45提出人Istgvarchar45是否通过Beivarchar255备注Proidvarchar45项目id(5)sysuser用户表主要存储主键、用户名、密码、用户类型、姓名、性别、电话信息, 具体如表3.5所示:表3.5 用户表名称数据类型长度备注Idint10主键unamevarchar45用户名upassvarchar45密码Utypevarchar45用户类别truenamevarchar45姓名Sexvarchar45性别Telvarchar45电话(6)ywjt 业务机能表机能名称、备注、机能说明书、项目id、负责人、规定时间、完成状态、完成时间等信息,具体如表3.6所示:表3.6 业务机能表名称数据类型长度备注Idint10主键ywnamevarchar255机能名称ywbeivarchar255备注Jturlvarchar255机能说明书Proidvarchar45项目idFzrvarchar245负责人finitimevarchar245规定时间Isfinivarchar245是否完成finistatevarchar255完成状态fzrfinitimevarchar245完成时间Csfzrvarchar245测试负责人csfinitimevarchar245规定测试时间csisfinivarchar245是否完成csfzrfinitimevarchar245完成时间4 系统实现本系统采用目前比较成熟的java作为开发技术,采用mysql作为数据存储的实体,在网络安全上比较成熟,由于该系统只是对项目进行管理,所以只在项目管理的时候在公司的局域网上发布和运行,这样可以有效的阻止恶意访问,同时节省网络资源。本系统应用服务器端JSP动态网页技术,结合端动态网页技术Javascript从而方便系统的实现。4.1 系统页面的设计与实现一个网站就好比一个人,而服务器就像大脑,数据库就像五脏六腑,其内嵌的Java和JavaScript组合起来就像是细胞与神经,而网页就是这个人的皮肉。网页将网站的各个组成部分包裹起来,形成易懂并且美观的外表展示给大家。浏览者登陆网站后看到的就是一个个网页的组合。所以设计和实现每一个网页也是非常重要的工作。随着科技的高速发展,众多网页制作的应用软件应运而生。相对于传统的动态网页开发工具而言,由于继承了Java语言的许多优点,用JSP开发动态网站十分方便,开发效率较高11。此外,JSP还具有强大的组件支持功能,可以方便地实现组件复用,进一步提高了开发效率。4.2 系统管理员功能的实现(1)项目管理:系统管理员在此可以添加新的项目,如项目名称、客户,添加后可以按照相关信息进行项目的搜索查看,同时 可以做出修改或是删除的操作。(2)人员分配:在此系统管理员对项目可以分配开发、测试的人员,也可以按照相关信息进行搜索。(3)系统用户管理:系统管理员可以添加系统用户,如用户名、密码、用户类别、姓名、性别、电话等信息,添加后可以根据相关信息进行搜索查看,修改或是删除。(4)修改个人信息:在系统中可以修改自己的个人信息。(5)修改登录密码:系统管理员登录后可以修改自己的登录密码。4.2.1 登录页面系统分为4个用户权限,登录时输入不同账号密码即可,如图4.1所示: 图4.1 系统登录页面登陆代码:public ActionForward login(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) String uname = request.getParameter(username);String upass = request.getParameter(password);SysuerDao dao = new SysuerDao();List list = dao.query(from Sysuser where uname=+uname+ and upass=+upass+);if(list.size()=1)request.getSession().setAttribute(admin, list.get(0);return mapping.findForward(default);elsereturn mapping.findForward(index);4.2.2 项目管理页面系统管理员在此可以添加新的项目,如项目名称、客户,添加后可以按照相关信息进行项目的搜索查看,同时可以做出修改或是删除的操作,如图4.2所示:图4.2 项目管理页面代码如下:% String hql = from Projs where 1=1 ; String url = /progl/admin/projs.jsp?1=1; String key = request.getParameter(key)=null?:request.getParameter(key); if(!key.equals() hql+= and (proname like%+key+% or prokh like%+key+% ; url+=&key=+key; hql+= order by id desc; String did = request.getParameter(did); if(did!=null) new ProjsDao().delete(Integer.parseInt(did); PageManager pageManager = PageManager.getPage(url,10, request); pageManager.doList(hql); PageManager bean= (PageManager)request.getAttribute(page); ArrayList nlist=(ArrayList)bean.getCollection(); for(Projs bm :nlist) %4.2.3 人员分配页面在此系统管理员对项目可以分配开发、测试的人员,也可以按照相关信息进行搜索,如图4.3所示: 图4.3 人员分配工页面代码如下:public ActionForward updaterwfp(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) YwjtDao dao = new YwjtDao();String id = request.getParameter(id);Ywjt s = (Ywjt)dao.load(id);s.setFzr(request.getParameter(fzr);s.setIsfini(未完成);s.setFinitime(request.getParameter(finitime) );s.setFinistate();s.setFzrfinitime();dao.update(s);request.setAttribute(suc, );return mapping.findForward(rwfp);4.3 项目经理功能的实现项目经理功能包括需求文档的管理、设计书的管理、源代码的管理、测试任务分配、项目交付等功能的管理,具体功能如下介绍:(1)提交需求文档:项目经理登录系统后可以看到系统管理员添加的项目,这时项目经理可以提交上传项目的需求文档。(2)项目报价:项目经理可以按照工作量、开发周期、技术难度、软硬件成本进行项目的最终报价。(3)业务检讨设计书:项目经理可以添加项目的业务机能说明书,添加后可以按照项目进行搜索或修改。(4)设计书内部确认:此处是添加公司的内部人员对设计书的确认,确认结果为通过或是不通过,添加后可以修改确认结果。(5)设计书客户确认:此处是添加客户对设计书的确认,确认结果为通过或是不通过,添加后可以修改确认结果。(6)开发任务分配:项目经理在此分配项目的开发人员并设定完成时间。(7)源代码管理:项目经理在此上传项目的源代码,并可以按照相关信息进行搜索。(8)源代码内部确认:此处是添加公司的内部人员对源代码的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。(9)源代码客户确认:此处是添加客户对源代码的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。(10)测试任务分配:项目开发好后项目经理在此分配项目的测试人员并设定完成时间。(11)项目测试内部确认:此处是添加公司内部人员对项目的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。(12)项目测试客户确认:此处是添加客户对项目的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。(13)项目交付:项目经理在此处对项目进行交付。(14)项目报表:在此处查看项目的报表。如客户、开发人员、需求文档、交付状态、项目报价等信息。(15)修改个人信息:项目经理在系统中可以修改自己的个人信息。(16)修改登录密码:项目经理登录后可以修改自己的登录密码。4.3.1 提交需求文档页面项目经理登录系统后可以看到系统管理员添加的项目,这时项目经理可以提交上传项目的需求文档。如图4.4所示:图4.4 提交需求文档页面主要代码如下:% String hql = from Projs where projl=+user.getUname()+ ; String url = /progl/admin/xqwd.jsp?1=1; String key = request.getParameter(key)=null?:request.getParameter(key); if(!key.equals() hql+= and (proname like%+key+% or prokh like%+key+% ); url+=&key=+key; PageManager pageManager = PageManager.getPage(url,10, request); pageManager.doList(hql); PageManager bean= (PageManager)request.getAttribute(page); ArrayList nlist=(ArrayList)bean.getCollection(); for(Projs bm :nlist) %4.3.2 项目报价页面项目经理可以按照工作量、开发周期、技术难度、软硬件成本进行项目的最终报价,客户可以对报价进行回应,下图4.5所示:图4.5 项目报价页面代码如下:public ActionForward baoj(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ProbjsDao dao = new ProbjsDao();Probjs j = new Probjs();String id = request.getParameter(id);String gongzl = request.getParameter(gongzl);String kaifzq = request.getParameter(kaifzq);String jisld = request.getParameter(jisld);String ruanycb = request.getParameter(ruanycb);String zuizbj = request.getParameter(zuizbj);j.setProid(id);j.setGongzl(gongzl);j.setKaifzq(kaifzq);j.setRuanycb(ruanycb);j.setZuizbj(zuizbj);j.setJisld(jisld);dao.insert(j);request.setAttribute(suc, );return mapping.findForward(bjx);4.3.3 开发任务分配页面项目经理在此分配项目的开发人员并设定完成时间,下图4.6所示:图4.6 开发任务分配页面代码如下:public ActionForward updaterwfp(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) YwjtDao dao = new YwjtDao();String id = request.getParameter(id);Ywjt s = (Ywjt)dao.load(id);s.setFzr(request.getParameter(fzr);s.setIsfini(未完成);s.setFinitime(request.getParameter(finitime) );s.setFinistate();s.setFzrfinitime();dao.update(s);request.setAttribute(suc, );return mapping.findForward(rwfp);4.3.4 源代码客户确认页面此处是添加客户对源代码的确认意见,确认结果为通过或是不通过,添加后可以修改确认结果。具体如图4.7所示:图4.7源代码客户确认页面代码如下: public ActionForward addydmkhqr(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) SjsqrDao dao = new SjsqrDao();Sjsqr s = new Sjsqr();s.setAuthor(request.getParameter(author);s.setProid(request.getParameter(id);s.setBei(request.getParameter(bei);s.setIstg(request.getParameter(istg) );s.setQrtype(源代码客户);dao.insert(s);request.setAttribute(suc, );return mapping.findForward(addydmkhqr);5 系统的调试与测试5.1 软件测试的目的软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。5.2 测试计划Java语言是一种支持面向对象的语言,通常情况下,我们可以将程序的一个单元看成一个独立的类。因此进行单元测试的重点就是针对这些类进行测试。最佳的方法就是测试类中定义的方法。如果父类为抽象类,为进行测试可以简单定义一个具体子类,它只用父类的抽象方法,而无其他行为。然而,这样做可能会忽略建立的子类将随着父类结构变化而变化,以及编译器或者其他测试过程中不能捕获的信息,从而导致一些遗漏,我们需要遵循一些基本的原则来进行测试:不需要测试get和set这样的行为;一个方法至少要测试一次;各种访问、修改也对测试产生影响。5.3 测试方法本课题所采用的测试方法是黑盒测试,及实在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误12。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。5.4 测试的重要性软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难13。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分14。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40。而在软件开发的总成本中,用在测试上的开销要占30到5015。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但维护工作相当于二次开发,其中必定还包含有许多测试工作。6 结论2014年3月,我正式开始做毕业设计,到如今已经将近3个月了。基本上已经完成了其功能,能够完成项目管理信息的存储和相关资料的查询以及各类相关功能的实现。并提供部分系统维护功能,使用户方便操作数据的备份和恢复以及删除。但是由于毕业设计时间较短,肯定还是存在很多问题,也希望大家的指正。这次的毕设对我个人的学习能力有一定的提高,也是对我大学四年来学习的检验和锻炼。为了这次设计,我在图书馆和网上查阅了不少的资料,思考了不少的问题,碰到问题的时候先通过查书或上机自己先试着解决,如果还不能解决的话,在请教导师。这样的过程锻炼可自己的独立解决问题的能力。但本系统的功规模其实很大,需要的人力、物力、时间都是相当大的。第一,所用的开发工具动态网页制作有大部分不熟悉,需要边学边做,有因在技术上有一定困难,所以需要不断大量的学习;第二,学校安排上机时间有限,更增加一定的困难,所以系统的设计难免有不周全之处。通过本次毕业设计,我感到我的设计能力和对一个系统的独立思考能力都得到了极大的锻炼,基本掌握了按照生命周期法进行软件开发和设计。同时我也认识到了自身的不足,这些也激励自己不断的学习和实践。参 考 文 献1 邓杰超.软件项目管理探析J.华南金融电脑, 2007,(01):7.2 窦燕.影响软件项目管理关键因素的探讨N.燕山大学学报,2012-04-02(2). 3 陈丽杰.浅析软件项目管理中的需求管理J.科技资讯,2007,(14):22-24.4 J.D.弗雷姆.新项目管理M. 北京:世界图书出版公司,2002.12-17.5 张立科.java信息系统管理开发M.北京:人民邮电出版社,2005.44-50.6 魏善沛.Web 数据库技术实用教程M.北京:清华大学出版社,2008.12-18.7 沈应逵,曾凌.Java Web 数据库系统应用开发与实例M北京:人民邮电出版社,2008.20-31.8 周亚辉.Java 数据库系统项目开发实践M.北京:科学出版社,2011.175-190.9 张新曼.精通JSP-WEB开发技术与典型应用M.北京:人民邮电出版社, 2007.25-55.10 郎锐.MYSQL数据库开发基础及实例解析M.北京:机械工业出社,2010.35-40.11 刘斌,王忠.面向对象程序设计-VisualC+M.北京:清华大学出版社,2013.14-25.12 谭明金.JAVAWEB编程技巧与实例M.北京:人民邮电出版社,2012.23-35.13 刘青松,胡方霞,刘杰,陈发吉.java案例开发M.北京:中国水利水电出版社,2012.33-56.14 李凌.软件项目管理中的进度控制问题研究J.中国科技信息,2011,(17):11-15.15 伊立民,王兰车.JSP软件项目开发实例M.北京:电子工业出版社,2011.65-90.第 29 页 共 29 页 致 谢
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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