(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机软件与理论专业论文)软件项目问题管理系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文 摘要 目前,能否有效解决在软件项目开发及维护过程中出现的各种各样的问题已成为影 响软件项目成败的重要因素,因此,有必要结合现代项目管理知识和企业问题管理模式 对软件项目问题进行管理,帮助项目开发人员和技术人员累积经验,快速提高识别问题、 分析问题、解决问题的能力。基于此,本论文设计并实现了基于五层b s 架构的软件项 目问题管理系统。 本系统的总体研发思路如下:首先研究并设计软件项目问题管理的方法及流程,之 后根据用户需求确定系统功能、架构以及数据库模式,最后着手系统开发。 本论文中将软件项目问题管理分为两个阶段:开发过程中的问题管理和维护过程中 的问题管理。在仔细研究了两个阶段问题管理的需求及特点基础上,分别设计了问题管 理流程。本系统在设计开发上充分考虑了这两个阶段的问题管理的需要,基于不同的管 理流程,实现了整个软件项目周期中出现的问题的全面管理。 本系统采用五层b s 架构,结合m v c 设计模式及提供m v c 服务的s t r u t s 框架, 以e c l i p s e 为平台开发。在系统功能上实现了登录管理、项目管理、客户管理、用户及 权限管理、问题管理、信息浏览、信息查询、信息统计、日志管理及数据库维护。 本论文基于软件工程思想,从系统需求分析、概要设计、详细设计、编码、软件测 试等方面阐述了问题管理系统的设计和实现过程。 关键词:软件项目;问题管理;流程;m v c 模式 软件项目问题管理系统的设计与实现 t h e d e s i g na n di m p l e m e n t a t i o no f s o f t w a r ep r o j e c tq u e s t i o nm a n a g e rs y s t e m a b s t r a c t a tp r e s e n t ,w h e t h e rt h ee f f e c t i v ea d d r e s s i n gv a r i o u sq u e s t i o n sw h i c ha p p e a r si nt h e s o f t w a r ep r o j e c td e v e l o p m e n ta n dt h em a i n t e n a n c ep r o c e s sh a sb e c o m et h ei n f l u e n c es o f t w a r e p r o j e c ts u c c e s s so rf a i l u r e si m p o r t a n ta t t r i b u t e ,t h e r e f o r e ,i ti sn e c e s s a r yt ou n i f ym o d e m p r o j e c tm a n a g e m e n tk n o w l e d g ea n dt h ee n t e r p r i s ei s s u e sm a n a g e m e n tp a t t e r nc a r r i e so nt h e m a n a g e m e n tt ot h es o f t w a r ep r o j e c tq u e s t i o n ,h e l p st h ep r o j e c td e v e l o p m e n tp e r s o n n e la n d t h et e c h n i c a lp e r s o n n e la c c u m u l a t e st h ee x p e r i e n c e ,e n h a n c e st h er e c o g n i t i o nq u e s t i o n ,t h e a n a l y s i sq u e s t i o n ,t os o l v et h eq u e s t i o na b i l i t yf a s t b a s e do r lt h i s ,t h ep r e s e n tp a p e rd e s i g n e d a n dh a sr e a l i z e db a s e do nf i v eb sc o n s t r u c t i o ns o f t w a r ep r o j e c ti s s u e sm a n a g e m e n ts y s t e m t h i ss y s t e m so v e r a l lm s e a r c ha n dd e v e l o p m e n tm e n t a l i t yi sa sf o l l o w s :f i r s ts t u d i e sa n d d e s i g n st h es o f t w a r ep r o j e c ti s s u e sm a n a g e m e n tt h em e t h o da n dt h ef l o w ,a f t e r w a r da c t s a c c o r d i n gt ot h eu s e r sn e e d sd e t e r m i n a t i o ns y s t e mf u n c t i o n ,t h ec o n s t r u c t i o na sw e l la st h e d a t a b a s ep a t t e m ,f i n a l l yb e g i n st h es y s t e md e v e l o p m e n t i nt h ep r e s e n tp a p e r , d i v i d e si n t ot h es o f t w a r ep r o j e c ti s s u e sm a n a g e m e n tt w os t a g e s :i n p e r f o r m a n c eh i s t o r yi s s u e sm a n a g e m e n ta n dm a i n t e n a n c ep r o c e s si s s u e sm a n a g e m e n t i nt h e d w e l lu p o nt w os t a g ei s s u e sm a n a g e m e n t sd e m a n da n dt h ec h a r a c t e r i s t i cf o u n d a t i o n ,h a s d e s i g n e di s s u e sm a n a g e m e n tf l o ws e p a r a t e l y t h i ss y s t e mh a dc o n s i d e r e df u l l yi nt h ed e s i g n d e v e l o p m e n tt h e s et w os t a g e si s s u e sm a n a g e m e n t sn e e d ,b a s e do nt h ed i f f e r e n tm a n a g e m e n t f l o w ,h a sr e a l i z e dt h eq u e s t i o nt o t a lm a n a g e m e n tw h i c hi nt h ee n t i r es o f t w a r ep r o j e c tc y c l e a p p e a r s t h i ss y s t e mu s e sf i v eb sc o n s t r u c t i o n s ,u n i f i e st h em v cd e s i g np a t t e ma n dp r o v i d e s m v ct h es e r v i c et h es t r u t sf r a m e t a k ee c l i p s ea st h ep l a t f o r md e v e l o p m e n t r e a l i z e di nt h e s y s t e mf u n c t i o n h a s r e g i s t e r e d t h e m a n a g e m e n t ,t h ep r o j e c tm a n a g e m e n t ,t h e c l i e n t m a n a g e m e n t ,t h eu s e ra n dt h ej u r i s d i c t i o nm a n a g e m e n t ,i s s u e sm a n a g e m e n t ,t h ei n f o r m a t i o n b r o w s i n g ,t h ei n f o r m a t i o ni n q u i r y ,t h ei n f o r m a t i o ns t a t i s t i c s ,t h ed i a r ym a n a g e m e n ta n dt h e d a t a b a s em a i n t e n a n c e t h ep r e s e n tp a p e rb a s e do nt h es o f t w a r ee n g i n e e r i n gt h o u g h tt h a tf r o ma s p e c t sa n ds oo n s y s t e mr e q u i r e m e n t sa n a l ) ,s i s ,p r e l i m i n a r yd e s i g n ,d e t a i l e dd e s i g n ,c o d e ,s o f t w a r et e s t i n g e l a b o r a t e di s s u e sm a n a g e m e n ts y s t e m sd e s i g na n dr e a l i z e st h ep r o c e s s k e yw o r d s :s o f t w a r ep r o j e c t ;q u e s t i o nm a n a g e m e n t ;f l o w ;m v cp a t t e r n i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目: 作者签名: 荔1 ,宙 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题 作者签名: 导师签名: 大连理工大学硕士学位论文 1 绪论 1 1 课题研究背景 在软件项目开发过程中,软件项目管理日益受到人们的关注。软件项目管理是为了 使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、 风险等进行分析和管理的活动【1 】。人们已经认识到软件项目开发的成功不仅取决于软件 设计者、开发者水平的高低,而且也很大程度上取决于项目开发过程中的管理【2 j 。 在软件项目开发过程中,由于资源、人员、管理、方法学等等各方面的因素,不可 避免地要遇到大量的由于各种原因所引发的问题,如需求不明确、项目管理失败、沟通 问题等等。关键是如何及时地处理这些问题,找出问题的原因并及时解决,如果得不到 及时的解决,对一个项目的影响可能将是巨大的。另外,基于问题及时总结经验,并能 够将这些经验长久地保存和有效地传递下去,作为其它软件项目开发和维护人员的技术 支持也是十分必要的。 在软件项目开发及维护过程中出现问题之后,传统的沟通方式是发邮件、打电话等, 这些都属于点对点的随机沟通模式,这种模式导致很难有效地管理问题,在时间和效果 上也不容乐观,更对以后查看问题记录造成困难。要改变这种状况,必须建立新的沟通 机制和问题管理机制。有必要借鉴企业管理中的问题管理模式,建立软件项目管理中问 题管理的新机制和新模式。若要建立良好的问题管理模式,需要问题管理服务平台的支 持,为此开发一个项目问题管理系统软件来提供问题服务功能是必要的。 1 2 课题研究意义 在软件项目开发过程中,项目开发人员总是会遇到各种各样的困难和问题。例如, 因某些技术问题无法有效解决,项目进度受到严重影响;开发环境管理不善,造成项目 前期资料和工作成果遗失;业务需求在项目实施过程中发生重大变更,需要慎重决策等。 这些问题产生的原因不一,严重程度也不同,但都需要得到及时、有效地控制和处理。 如果问题久拖不决,轻则项目延期、超额开支;重则“千里之堤、溃于蚁穴,因问题 解决不善而导致整个项目的失败【3 1 。随着项目规模越来越大,项目复杂度和管理难度越 来越高,项目开发人员能否有效解决项目开发过程中出现的各种问题已成为影响项目成 败的重要因素。因此,有必要结合现代项目管理知识和企业问题管理模式对软件项目问 题管理作迸一步的研究和分析,通过制定一套行之有效的解决问题的方法和问题管理机 制,快速提高项目开发人员识别、分析、解决问题的能力。 另外,软件项目开发完毕,通过业务部门验收测试后,将投入到实际环境中应用。 软件项目问题管理系统的没计与实现 在软件项目的应用过程中,由于面对的客户不一样,对软件产品熟悉的程度不一样,会 出现各种各样的问题【4 1 。出现问题是难免的,关键是如何找出问题的原因并及时处理这 些问题,这将直接关系到软件公司的声誉和效益。问题管理是i t 服务管理中的一项重要 内容,通过对软件项目投入使用过程中出现的问题进行管理,从而找出引起问题的根本 原因,帮助防止问题的再次发生。问题管理对提高i t 部门的服务质量和管理水平,提高 用户的满意度和使用效率,提高i t 技术人员处理问题的能力都是十分有助益的。 为了帮助软件公司进行行之有效的问题管理,开发软件项目问题管理系统是十分必 要的。软件项目问题管理系统是一个企业信息系统,这个系统结合w e b 、j s p 、数据库 技术,采用易于扩展维护的m v c 设计模式及提供m v c 服务的s t r u t s 框架来协同实现。 通过使用软件项目问题管理系统,实现对项目开发过程中出现的问题以及项目投入使用 后出现的问题进行统一管理,不仅能够提高软件开发过程中的沟通效率,也使这些有价 值的数据得以保存,可以提供给其它的项目作为参考,帮助避免同类问题的再次发生, 同时也可以为公司高层提供决策支持【5 】。更为重要的意义是,使用软件项目问题管理系 统,也打破了传统的以电话、传真、见面为主的问题沟通模式,不仅在时间、效率、效 果上弥补了其不足,同时极大地节省了参与者的时间和金钱,使软件项目管理水平又有 了极大提高。 1 3 国内外研究现状 对于社会各行业用户来说,需要信息技术服务;而对i t 服务提供商来说,有必要 采取一定的信息技术服务管理( i n f o r m a t i o nt e c h n o l o g ys e r v i c em a n a g e - m e n t ,i t s m ) 措施,以便更好地为用户提供服务。最著名的i t 服务理论就是i t i l ,而根据i t i l 理论 设定的各种服务功能汇总到起,形成了一个面向客户的统一服务平台,这就是 h e l p d e s k 帮助台。 对于一个大型的软件公司,软件项目数量会非常多,自然就会出现这样那样的问题, 如果依靠手工来管理是不可能做好问题管理这项工作的,因此需要一个专门的管理工 具。现在国际上比较流行的是使用h e l p d e s k 帮助台。h e l p d e s k 管理工具可以延伸到软 件项目涉及的每一个相关人员那里,给他们使用的权限,这样他们可以把在软件开发和 使用过程中出现的问题及时地录入到h e l p d e s k 系统中,及时地反馈到问题管理人员那 里并得到及时地处理。对于已经发生的问题,在h e l p d e s k 中登记并提供了解决方案, 经过一段时间就可以积累成一个问题知识库,通过对以往出现问题的分析研究,可以总 结出经常出现的问题是哪些方面的、重复出现问题的原因是什么等,帮助管理者发现问 题处理流程过程中存在的不足之处,以便于及时进行纠正。 一2 一 大连理工大学硕士学位论文 但是,目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成 适合自己公司特点的软件开发管理模式,虽然有一些公司根据软件工程理论建立了一些 软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题,这样导致软件产 品质量不稳定、软件后期的维护升级出现麻烦,同时最终也会损害用户的利益【6 】。软件 项目问题管理作为软件项目管理的一个组成部分,当然也处于较自由的状态。现在大部 分的中小规模软件公司对于软件项目问题管理采用一些简单的e x c e l 、w o r d 等办公软 件。随着开发项目数目及开发过程中问题的增加,就会凸现出问题管理落后,各方面人 员的工作及意见得不到沟通和协调,具体体现在以下几点: ( 1 ) 研发项目多,对项目开发过程中的问题不能有效的管理和监控; ( 2 ) 项目参与人多是跨部门、跨机构的合作,不能很好的协同问题的解决; ( 3 ) 没有统一执行项目问题管理的工具,缺乏对问题的分析与统计; ( 4 ) 企业和员工间知识经验无法共享、积累,基于问题的项目经验的重用性不高; ( 5 ) 项目信息分散,项目参与人员不能快速获取项目问题信息。 因此,一个中小型软件公司应及时开发并实施企业级项目问题管理系统。 1 4 论文研究内容 本文从当前软件项目问题管理系统的产生背景和主要目标出发,对问题管理系统的 开发环境、技术架构以及整个系统的设计和实施进行了详尽的描述。 本系统采用b s 五层体系结构构建,运用软件工程思想,基于当前比较流行m v c ( m o d e l v i e w c o n t r o l l e r ,模型一视图控制) 1 7 j 设计模式及提供m v c 服务的s t r u t s 框架, 以e c l i p s e 为开发平台,采用j s p 设计模式i i ( j s p + s e r v l e t + j a v a b e a r l ) 进行设计。其中 j s p 对应m v c 中的v i e w ,s e r v l e t 对应m v c 中的c o n t r o l l e r ,j a v a b e a n 对应m v c 中的 m o d e l ,此模式清晰地划分了应用层的不同职责,提高了应用程序的灵活性和可配置性。 m v c 模式的目的就是最大限度地降低系统各部分之间的耦合性,提高系统的可扩展性, 提高代码的重用率瑙j 。 本系统要实现两个方面的问题管理:一是能够对软件项目开发过程中出现的问题进 行管理,简称“开发阶段问题管理”;二是能够对软件系统投入运行后,客户在使用过 程中出现的问题进行管理,简称“运行阶段问题管理 。除了系统管理员外,开发阶段 问题管理涉及的人员有项目经理和项目组成员,运行阶段问题管理涉及的人员有问题管 理人和问题责任人( 包括项目经理、项目组成员、公司各部门的技术人员) 。所以本系 统在权限设置上采用五级授权方式:系统管理员、项目经理、项目组成员、问题管理人、 软件项目问题管理系统的设计与实现 问题责任人。所有人的权限均由系统管理员来授予,任何人都要在登陆后才能进入本系 统。具有不同操作权限的人员通过登录进入本系统后,就会进入相应的处理页面。 本系统具体实现功能如下: ( 1 ) 系统管理员 系统管理员具有本系统所有使用者的全部权限,登录后进入系统管理员页面,能够 进行登录管理、项目管理、客户管理、用户及权限管理、问题管理、信息浏览、信息查 询、信息统计、日志管理、数据库维护等。系统管理员能够对所有正在解决中的问题的 状态进行监控和跟踪,对所有项目的已归档问题和所有问题责任人的工作情况进行统计 分析,为公司管理层提供项目管理和人员管理方面的决策支持。 ( 2 ) 项目经理 项目经理登录后进入项目经理页面,在开发阶段问题管理过程中,他拥有项目级数 据权限,进行所负责的项目的基本信息维护、项目组成员任务分配、该项目问题管理( 包 括问题确认、指派问题责任人、问题跟踪、问题终止、本项目问题查询及统计、项目组 成员解决问题情况统计等) 。另外,他还可以进行自己的日志信息维护及各种信息的浏 览、查询、统计,如其它项目已归档问题的查询及统计等。在运行阶段问题管理过程中, 他作为问题责任人,行使问题责任人权限。 ( 3 ) 项目组成员 项目组成员登录后进入项目组成员页面,在开发阶段问题管理过程中,他拥有项目 级数据的局部权限,进行所参与项目有关问题的跟踪解决。另外,他还可以进行自己的 日志信息维护及各种信息的浏览、查询、统计,如其它项目已归档问题的查询及统计等。 在运行阶段问题管理过程中,他作为问题责任人,行使问题责任人权限。 ( 4 ) 问题管理人 问题管理人登录后进入问题管理人页面,负责项目投入运行后来自于客户的问题的 管理,包括问题整理、问题录入、问题分发( 指派问题责任部门或人员) 、问题跟踪、 问题终止。另外,他还可以进行自己的目志信息维护及各种信息的浏览、查询及统计, 如问题查询及统计、技术人员解决问题情况查询及统计等。 ( 5 ) 问题责任人 问题责任人即为问题所属项目团队的所有人员( 包括项目经理及项目组所有人员) 以及公司各部门的技术人员,登录后进入问题责任人页面,对他所负责的问题进行跟踪 解决。另外,他还可以进行自己的日志信息维护及各种信息的浏览、查询及统计。 一4 一 大连理工大学硕十学位论文 2 理论基础及相关技术 软件项目问题管理系统采用b s 三层体系结构构建,运用软件工程思想,基于当前 比较流行m v c ( m o d e l v i e w c o n t r o l l e r ,模型视图控制) 设计模式及提供m v c 服务 的s t r u t s 框架,以m y e c l i p s e 为开发平台,采用j s p 设计模式i i ( j s p + s e r v l e t + j a v a b e a n ) 进行设计。下面简单介绍一下相关理论与技术。 2 1软件体系结构 在信息系统的发展历程中,其体系结构依次经历了主机终端模式、单机模式、文 件服务器模式、客户机服务器( c s ) 模式、浏览器服务器( b s ) 模式、p 2 p 对等 网络模式等【9 】。其中,主机终端模式、文件服务器模式因其固有的缺点及计算机软硬 件技术的发展逐步退出了历史的舞台;单机模式难以实现整个系统业务数据共享,仅限 于业务逻辑简单、不需要信息交互的应用系统;基于p 2 p 模式的应用还有待于相关技术 和开发平台的成熟;c s 模式广泛地采用了网络技术,将较复杂的计算和管理任务交给 服务器,把一些频繁与用户打交道的任务交给前端的客户机,通过这种结构实现了网络 上信息资源的共享,是近几年非常受欢迎的一种分布式计算模式。然而,随着应用系统 大型化和网络的迅速发展及普及,c s 模式的缺点和不足越来越明显,种改进的c s 模式即b s 模式应运而生,并获得飞速发展,被广泛应用。 2 1 1 b s 模式简介 b s 模式是一种改进的c s 模式,是在传统的两层c s 应用结构中的客户端与服务 器端之间插入一层或几层中间件( m i d w a r e ) 或称为应用服务器( a p p l i c a t i o ns e r v e r ) , 由中问件处理应用系统的业务逻辑。所以b s 模式按功能将信息系统划分为表示层、业 务逻辑层和数据层,分别部署在不同或相同的硬件平台上,体系结构如图2 1 所示。 ( 1 ) 表示层 表示层是用户与系统间交互信息的窗口,w e b 浏览器在表示层中包含系统的显示逻 辑,位于客户端。它的任务是由w e b 浏览器向网络上的某一w e b 服务器提出服务请求, w e b 服务器对用户身份进行验证后,用h t t p 协议把所需的数据传送给客户端,客户机 接收传来的数据,并把它显示在w e b 浏览器上【i 引。 ( 2 ) 业务逻辑层 业务逻辑层是应用的主体,具有应用程序扩展功能的w e b 服务器在业务逻辑层中 包含系统的事务处理逻辑,位于w e b 服务器端。它的功能是接受用户的请求,然后执 行相应的扩展应用程序与数据库进行连接,通过s q l 等方式向数据库服务器提出数据 软件项目问题管理系统的设计与实现 处理申请,等数据库将数据处理的结果提交给w e b 服务器后,再由w e b 服务器传送回 客户端。 ( 3 ) 数据层 数据库服务层为应用提供数据来源,位于数据库服务器端。和两层c s 体系结构不 同,数据库不再和每个客户请求保持一个连接,而是若干个客户通过应用逻辑组件共享 数据库连接,减少了连接次数,提高了数据库服务器的性能和安全性。数据层可以根据 需要选择任何兼容的数据源,它的任务是存储应用中的数据,接收w e b 服务器对数据 操作的请求,实现对数据库的查询、修改、更新等功能,把运行结果提交给w e b 服务 器j 。它一般采用关系数据库或面向对象数据库,如m i c r o s o f ts q ls e r v e r 、o r a c l e 等。 数据库和应用服务层共同完成业务规则、验证和持续存储的实现。 图2 1b s 模式体系结构 f i g 2 1 t h ec o n s t i t u t i o no f b sp a a e m 表 不 层 业 务 逻 辑 层 数 据 层 2 1 2b s 模式工作原理 基于b s 模式的系统客户端借助于j a v aa p p l e t 、v b s c r i p t 、j a v a s c r i p t 、a c t i v e x 技 一6 一 人连理i :人学硕十学何论文 术处理。止与简译的客户端处理逻辑,显示用广,界面和w e b 服务器端的运行结果,它向 u r l 所指的w e b 服务器提出服务申请1 1 2 j 。w e b 服务器接收客户端的h 丌p 服务请求, 并对用户进行身份验证后,用t c p i p 协议把所请求的文件资料传送给用户,或借助于 c g i 、a d o 、a p i 、j d b c 等中间部件把数掘请求发送到数据库服务器,获取相关数据, 再将结果翻译成h t m l 和各种s c r i p t 语吉传回提出请求的浏览器。客户端浏览器接收文 件资料或请求结果,并显示在浏览器j 二。而数据库服务器负责管理数据库,处理数据更 新及完成查询要求、运行存储过程等。 在b s 模式下,每次浏览器提出的请求不同,w e b 服务器就根据不同的请求重新生 成h t m l ,这样客户端就问接获得了数据库服务器的数据【1 3 】。同样,用户如果要修改、 添加、删除数据,浏览器就会把更新数据的清求包含在h t m l 请求中,服务器转告数 据库服务器,完成相应的修改工作。 2 1 3b s 模式优点 b s 模式将业务逻辑与用户界面相分离,表示层放在客户端,业务逻辑层放在应用 服务器上,数据层放在数据库服务器上,极大地简化了客户端的工作,客户端只需要安 装浏览器即可,而将数据库访问和应用程序等放在服务器上完成,克服了传统的c s 模 式存在的缺陷,是一种多层次的c s 结构,它具有如下优剧1 4 】: ( 1 ) 可重用性和可扩展性好 把业务逻辑封装在组件中,并且部署在应用服务器上以供多个客户端调用,这种组 件式开发大大提高了应用系统的可重用性和可扩展性,任何业务逻辑的变动只需修改应 用服务器上的组件,而无需重新升级客户端的程序,并且具有某些通用处理功能的组件 可以复用到其他的应用系统中,提高了开发效率。 ( 2 ) 分布式数据处理 应用服务器可以有多个并且可以安装在不同的计算机上,实现将一个应用系统的处 理工作分散,j f :来,形成分布式计算,通过提供负载平衡改善了系统的性能,同时可以使 用备用的机器去替代发生故障的机器。 ( 3 ) “瘦”的客户端 客户端程序只处理界面的显示,它不需要了解数据是如何被存储及维护的,由中问 件与数据库通信,所以客户端不需要安装数据库的客户端程序和数据库驱动程序,可以 使客户端程序变得更小、更快,同时也更易于发布。 ( 4 ) 安全性好 b s 模式的系统在客户机与数据库服务器之间增加了一层w e b 服务器,使两者不再 软什项日问题管理系统的设计j j 实现 直接相连,通过中i 、日j 层可实现更加健全、灵活的安全机制。客,、机无法直接对数据库进 行操纵,加上适当的防火墙技术等就能有效地防止用户的非法入侵。 ( 5 ) 便于事务管理 由于组件问可共享数据库的连接,从而降低了数据库服务器的负担。另外,组件功 能的独立,有利于丌发团队的分工与合作。 2 2m v c 设计模式 2 2 1m v c 模式简介 m v c 是m o d e l v i e w c o n t r o l l e r 的简称,即模型一视图一控制器。m v c 是2 0 世纪8 0 年代x e r o xp a r c 为编程语言s m a l l t a l k 8 0 发明的一种软件设计模式,迄今已经成为一 种成熟的优秀的设计模式。最近几年被推荐为s u n 公司j 2 e e 平台的设计模式,受到越 来越多的w e b 开发者的欢迎。 m v c 设计模式强制性地把应用程序的输入、处理和输出分开 1 5 l ,从而把应用程序 分成三个核心模块,分别是模型( m o d e l ) 、视图( v i e w ) 、控制器( c o n t r o l l e r ) 。模 型代表应用的业务逻辑;视图代表应用的表示,用于与用户交互;控制器是模型与视图 之问沟通的桥梁,提供应用的处理过程控制,即它可以分派用户的请求并选择恰当的视 图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。通 过这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件实现,这些组件可以 进行交互和重用。模型、视图、控制器各自的功能以及它们之间的关系如图2 2 所示。 撬整 解襄禳垂 辏型簧蠹谲束 筮避嘲户鬈入臻拧翻纛 盘侮按镬嚣选择醒隧 曩曩i歙密改变 封麓墩角籀序袄荔 确斑捩瘩蠢调 应用 料功慧 运蟹揽圈蕴受 覆霉遗彝 用户请襄 控辑 定义艘用穗序行为 同户动信璇辩鹰曩堑受新 麓捧畴魔的覆霹 一韩 图2 2m v c 组件功能及关系 f i g 2 2 f u n c t i o n sa n dr e l a t i o n s h i po fm v c p a r t s 一8 一 大连理工大学硕士学位论文 ( 1 ) 模型 模型是应用程序的主体部分,表示业务数据和业务逻辑。模型组件保存由视图显示、 由控制器控制的数据,它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具 体的界面表达和v o 操作。所以一个模型能为多个视图提供业务数据,同一个模型可以 被多个视图重用。 ( 2 ) 视图 视图是用户看到并与之交互的界面。视图组件从模型获得用户感兴趣的业务数据并 进行显示,对于相同的信息可以有多个不同的显示形式,但是视图并不进行任何实际的 业务处理。视图可以向模型查询业务数据,但不能直接改变模型中的业务数据。视图还 能接收模型发出的业务数据更新事件,从而对用户界面进行同步更新。 ( 3 ) 控制器 控制器接收用户的输入,将输入反馈给模型,进而实现对模型的计算控制,使模型 和视图协调工作。控制层不做任何的数据处理,它只把用户的信息传递给模型,告诉模 型做什么,并选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一 个视图可能对应多个模型。 通过上述分析可知m v c 模式的处理流程是【1 6 】:首先控制器接收用户的请求,并决 定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并 返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用 户。 2 2 2m v c 模式的优点与不足 ( 1 ) m v c 模式的优点 m v c 设计模式主要有以下优点: 可重用性 在m v c 中,多个视图能共享一个模型。模型响应用户请求并返回响应数据,视图 负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同 的视图重用,所以大大提高了代码的可重用性。 松散的耦合 模型、视图、控制器三者相互独立,改变其中一个,其它两部分不会受到影响,进 而构造出良好的松耦合构件。这样当数据或者业务逻辑需要改变时,可以方便地改变应 用程序的数据层和业务规则,视图都会正确显示它们。 控制器提高了应用程序的灵活性和可配置性 一9 一 软件项目问题管理系统的设计与实现 所有的模型和视图都是由控制器连接和调用的,控制器可以根据用户的需求选择适 当的模型进行处理,然后选择适当的视图将处理结果显示给用户,很好地提高了系统的 灵活性。 可扩展性 m v c 模式很好地解决了软件工程中如何使软件系统各模块之间最大限度地降低其 复杂的耦合关系,以及系统显示逻辑和业务逻辑之间的矛盾( 即用户界面的多变性和业 务逻辑的相对不变性) ,可以尽可能地提高系统的可维护性和可扩展性。 可移楫| 生 模型的相对独立性使得它很容易被独立地移植到新的平台工作,需要做的只是在新 平台上对视图和控制器进行新的修改。 视图与控制器的可按插性 允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期 间进行对象替换。 潜在的框架结构 可以基于m v c 设计模式建立应用程序框架,不仅仅是用在设计界面的设计中。 ( 2 ) m v c 模式的不足 m v c 设计模式主要有以下不足之处: 增加了系统结构和实现的复杂性【1 7 1 【1 8 1 对于简单的界面,严格遵循m v c ,使模型、视图与控制器分离,会增加结构的复 杂性,并可能产生过多的更新操作,降低运行效率。 视图对模型数据的低效率访问 依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未 变化数据的不必要的频繁访问,也将损害操作性能。 视图与控制器间的过于紧密的连接 视图与控制器是相互分离、但确实联系紧密的部件,视图没有控制器的存在,其应 用是很有限的,反之亦然,这样就妨碍了它们的独立重用。 一般高级的界面工具或构造器目前不支持m v c 模式 改造这些工具以适应m v c 需要和建立分离的部件的代价是很高的,从而造成使用 m v c 的困难。 2 2 3m v c 模式的适用范围 通常用于分布式应用系统的设计和分析,如大型商业网站、企业信息系统、管理信 大连理工大学硕士学位论文 息系统、决策支持系统等,但它本身并不局限于某一个特定的领域。 使用m v c 需要精心的设计,由于它的内部原理比较复杂,所以需要花费一些时间 去理解它。将m v c 运用到应用程序中,会带来额外的工作量,增加应用的复杂性,所 以m v c 不适合小型应用程序。但对于开发存在大量用户界面,并且业务逻辑复杂的大 型应用程序,m v c 将会使软件在健壮性、代码重用和结构方面上一个新的台阶。尽管 在最初构建m v c 框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软 件开发的效率【l 训。 2 3 开发语言及开发平台 2 3 1 j 2 e e 平台 ( 1 ) j 2 e e 简介 j 2 e e ( j a v a 2p l a t f o r l t le n t e r p r i s ee d i t i o n ) 由s u n 公司推出,是一种利用j a v a2 平台 来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构【1 9 1 。j 2 e e 技术的 基础就是核心j a v a 平台或j a v a2 平台的标准版。j 2 e e 是使用j a v a 技术开发企业级应用 的一种事实上的工业标准,它是j a v a 技术不断适应和促进企业级应用过程中的产物。其 目的是为了克服传统c s 模式的弊病,迎合b s 架构的潮流,为使用j a v a 技术开发服 务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平 台。 j 2 e e 只是一个标准,不是一个现成的产品,各个平台开发商按照j 2 e e 规范分别开 发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的部署平台。由于 这些平台都遵循j 2 e e 规范,因此使用j 2 e e 技术开发的企业级应用可以部署在各种j 2 e e 应用服务器上。 j 2 e e 平台提供了一个多层结构的分布式应用程序模型,这表明应用程序的各个部 分能够运行在不同的设备上。j 2 e e 结构中分别定义了客户层、中间层( 由一个或多个 子层组成) 和用来提供现存信息系统的各种服务的后端系统层。客户层可以支持各种客 户类型,包括公司防火墙内部和外部的用户。中间层通过w e b 层的w e b 容器来支持客 户服务,并通过e j b ( e n t e r p r i s ej a v a b e a n s ) 层的e j b 容器支持商务逻辑组件服务。企 业信息系统( e i s ) 层能够通过标准a p i 的方法来支持对现存信息系统的访问。总之, j 2 e e 平台包括建立企业应用系统的各个方面,使用j 2 e e 技术能够快速建立一个可伸缩 性企业应用系统。 j 2 e e 平台由一整套服务、应用程序接口和协议构成,它为开发基于w e b 的多层应 软件项目问题管理系统的设计与实现 用提供了功能支持。j 2 e e 的核心技术主要包括j d b c 、d i 、e j b 、r m i 、j s p 、s e r v l e t s 、 x m l 、j a v a l d l 、j t s 、j t a 、j a v a m a i l 和j a f 。 ( 2 ) j s pm o d e ll 和j s pm o d e l 2 应用j 2 e e 平台技术开发w e b 应用程序,有两种常用的设计模式:j s pm o d e l l 和 j s pm o d e l 2 。 j s pm o d e l l j s p 作为j 2 e e 平台的一个主要组成部分,在应用程序的开发过程之中占有非常重 要的地位。因为在j s p 页面中可以同时实现客户端显示、业务逻辑和流程控制,从而快 速地完成应用开发,很多的w e b 应用就是由一组j s p 页面构成的。这种以j s p 为中心 的开发模型就称之为m o d e l l 。其结构如图2 3 所示。 慨b 厦务器应用缀务器韶敛掘痒 图2 3j s pa l o d e l l 体系结构 f i g 2 3 t h ea r c h i t e c t u r eo fj s pm o d e ll 在j s pm o d e l l 体系中,用户通过浏览器向j s p 发送请求,j s p 负责业务流程控制和 提供表示层数据,同时充当视图和控制器。j a v a b e a n s 负责实现业务逻辑。在m o d e l l 中, 未能实现视图与控制器之间的独立和分离,会导致角色定义不清或者职责分配不明,给 项目管理带来很多麻烦,因此这种模式不适合开发复杂的大型应用程序。 j s pm o d e l 2 m o d e l 2 表示的是基于m v c 模式的框架。在j s pm o d e l 2 模式中,引入了s e r v l e t , 它来充当控制器的角色,负责处理用户请求,创建j s p 需要使用的j a v a b e a n 对象,根 据用户请求选择合适的j s p 页面返回给用户。视图角色由j s p 充当,它没有处理逻辑, 仅负责生成表示层的内容,检索由s e r v l e t 创建的j a v a b e a n 对象,从s e r v l e t 中提取动态 大连理工大学硕士学位论文 内容插入到静态模板。因此这种设计模式把应用逻辑、处理过程和显示逻辑通过不同的 组件实现,明确了角色定义以及开发者与网页设计者的分工,从而解决了m o d e l l 结构 中存在的问题。m o d e l 2 不仅实现了系统功能模块、显示模块和数据层的分离,而且还 提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。m o d e l 2 体系结 构如图2 4 所示。 虢b 疆务器废用魔务器和蘩据摩 图2 4j s pm o d e l 2 体系结构 f i g 2 4 t h ea r c h i t e c t u r eo f j s pm o d e l 2 2 3 2 $ t r u t s 框架 m v c 只是一种理论,s t r u t s 则是这种理论的一种具体实现。 s t r u t s 作为一个设想是c r a i g r m c c l a n a h a n 在2 0 0 0 年提出来的,并成为a p a c h e 组 织一个叫做j a k a r t a 项目的产物。该设想的目标是为利用j a v a 技术开发基

温馨提示

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

最新文档

评论

0/150

提交评论