




已阅读5页,还剩113页未读, 继续免费阅读
(计算机软件与理论专业论文)基于struts架构的缺陷跟踪系统(dts)的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东 北大学 硕士学 位论文摘要 摘要 由于m v c 模式在开发中表现的强大优势, m v c 模式被逐渐引入j 2 e e 体系中, 成为j 2 e e 进行交互式应用开发 ( 特别是w e b 应用开发)时的一个非常重要的 模式。m v c是一种设计模式,它定义 “ 预订”或 “ 通知”协议,分离视图与模 型,使系统开发变得非常灵活,同时又提高了系统设计的可复用性。视图要保 证反映模型状态,一旦模型的数据发生变化,模型将通知有关的视图,每个视 图相应的得到刷新自己的机会。 这种方法可以为一个模型提供不同的多个视图 表现形式,也能够为一个模型创建新的视图而无需重写模型。 s t r u t s 为w e b 应用提供了 一个通用的 框架, 使得开发人员可以 把精力集中 在如何解决实际业务问题上, 来更好地适应用户的实际需求。 s t r u t s 实质上就 是在j s p m o d e 1 2 的基础上实现的一个pc 框架,在s t r u t s 框架中,模型由实 现业务逻辑的j a v a b e a n 或e j b 组件构成,视图由一组 j s p文件构成,控制器 由a c t i o n s e r v l e t 和a c t i o n 来实现。 缺陷跟踪系统可以发现、记录和跟踪产品缺陷,对产品质量控制有直接贡 献,是软件质量控制的关键工具。因为缺陷报告提供了产品问题实实在在的证 据,不仅对开发者可见,而且各级管理层都可以了解和把握。缺陷跟踪系统在 功能上,提供让我们报告和管理特定错误的表格、一套让我们分析控制并以各 种形式输出该错误数据的存储报告和图表,以及提供一个有序错误管理的专用 工作流或者生命周期。 本文针对缺陷跟踪系统对灵活性、 稳定性和可扩展性的要求, 采用遵循m v c 设计模式的面向对象的设计方法,对缺陷跟踪系统的核心功能进行抽取,推导 出以缺陷状态为标识的缺陷生命周期, 它对缺陷在项目中所处的各种可能进行 了表述;根据缺陷系统对角色权限的高度限定,又对缺陷跟踪系统进行了不同 级别的权限检查;基于 s t r u t s架构设计出了三层的系统架构,为了降低各层 之间祸合度,层与层之间的数据传递、接口调用等都有相应的规定,并且针对 比 较复杂的业务层又进行了 分层, 对系统的性能带来了 很大的提高;最后使用 了s t r u t s 组件, 在较短的时间内 成功的实 现了 系统功能。 关键词:软件架构, q c , m v c , s t r u t s , o o d , d t s , f i l t e r 东北犬学硕士学位论文 a b s t r a c t b e c a u s e t h e s t r o n g a d v a n t a g e b e h a v i n g i n d e v e l o p i n g o f m v c m o d e , m v c m o d e i s g r a d u a l l y i n t r o d u c e d i n j 2 e e s y s t e m , a n d w h e n j 2 e e c a r r i e s o n t h e i n t e r a c t i v e a p p l i c a t i o n d e v e l o p m e n t ( e s p e c i a l l y w e b a p p l i c a t i o n d e v e l o p m e n t ) , m v c m o d e h a s b e c o m e e d a v e r y i m p o r t a n t m o d e . m v c i s a k i n d o f d e s i g n m o d e , i t d e f i n e s a n d b o o k o r “ n o t i c e a g r e e m e n t , s e p a r a t e t h e v i e w a n d m o d e l , m a k e s y s t e m v e r y f l e x i b l e t o d e v e l o p,a t t h e s a m e t i m e r a i s e t h e r e u s a g e o f s y s t e m d e s i g n . t h e v i e w s h o u l d g u a r a n t e e t o r e f l e c t t h e s t a t e o f m o d e l s , o n c e t h e d a t a s o f t h e m o d e l c h a n g e , t h e m o d e l w i l l n o t i f y r e l e v a n t v i e w s , t h e n e a c h v i e w c o r r e s p o n d i n g l y g e t s o n e s o w n c h a n c e t o r e f r e s h o n e s e l f . t h i s k i n d o f m e t h o d c a n o f f e r a l o t o f d i f f e r e n t f o r m o f e x p r e s s i o n f o r a m o d e l , a n d c a n e s t a b l i s h a n e w v i e w i n a m o d e n o t n e e d i n g t o r e w r i t e m o d e l s . s t r u t s o f f e r s a c o m m o n a r c h i t e c t u r e f o r w e b a p p l i c a t i o n , e n a b l e d e v e l o p e r s t o c o n c e n t r a t e e n e r g y o n h o w t o s o l v e t h e r e a l b u s i n e s s p r o b l e m t o b e t t e r a d a p t t o u s e r s a c t u a l d e m a n d . i n f a c t s t r u t s i s a m v c a r c h i t e c t u r e r e a l i z i n g o n t h e b a s i s o f j s p m o d e 1 2 . i n s t r u t s a r c h i t e c t u r e , t h e m o d e l i s f o r m e d b y r e a l i z i n g l o g i c b u s i n e s s j a v a b e a n o r e j b p a c k a g e , t h e v i e w i s f o r m e d b y a g r o u p o f j s p f i l e s , t h e c o n t r o l l e r i s r e a l i z e d b y a c t i o n s e r v l e t a n d a c t i o n . t h e d e f e c t t r a c e s y s t e m c a n f i n d , w r i t e d o w n a n d f o l l o w t h e d e f e c t o f t h e p r o d u c t s , m a k e a c o n t r i b u t i o n t o p r o d u c t q u a l i t y c o n t r o l . b e c a u s e t h e d e f e c t r e p o r t o f f e r s t h e t r u e e v i d e n c e o f a q u e s t i o n o f t h e p r o d u c t s , t h e d e v e l o p e r n o t o n l y c a n s e e , b u t a l s o a t a l l l e v e l s a d m i n i s t r a t i o n c a n u n d e r s t a n d a n d h o l d . o n t h e f u n c t i o n , d e f e c t t r a c e s y s t e m c a n o f f e r t a b l e s t h a t l e t u s r e p o r t a n d m a n a g e s p e c i f i c a l w r o n g , a s e t o f m e m o r y r e p o r t s a n d c h a r t s t h a t l e t s u s a n a l y s e , c o n t r o l a n d i n v a r i o u s f o r m s o u t p u t w r o n g d a t a , a n d f o r i n o r d e r w r o n g m a n a g e m e n t , o f f e r a s p e c i a l - p u r p o s e w o r k f l o w i n g o r l i f e c y c l e t h i s t e x t d i r e c t s a g a i n s t t h e r e q u i s i t i o n f o r f l e x i b i l i t y s t a b i l i t y a n d e x p a n s i b i l i t y o f d e f e c t t r a c e s y s t e m,a d o p t a n d f o l l o w t h e o b j e c t - o r i e n t e d d e s i g n m e t h o d t h a t m v c d e s i g n p a t t e r n , c o l l e c t t h e k e y f u n c t i o n o f t h e d e f e c t t r a c e s y s t e m,d e r i v e o u t t h e l a b e l l e d b y d e f e c t s t a t e d e f e c t l i f e c y c l e t h a t i s a l l d e f e c t c o n d i t i o n i n t h e p r o j e c t ; a c c o r d i n g t o t h e h e i g h t l i m i t t o r o l e s a u t h o r i t y o f t h e d e f e c t t r a c e s y s t e m,d i f f e r e n t a u t h o r i t y i n s p e c t i o n h a s c a r r i e d o n t h e d e f e c t t r a c e s y s t e m ; b a s e d o n t h e s t r u t s f r a m e w o r k , h a v e d e s i g n e d t h r e e l a y e r s o f s y s t e m s a r c h i t e c t u r e , i n o r d e r t o r e d u c e h a v e a c o r r e s p o n d i n g r e g u l a t i o n t o t h e c a l l t h e c o u p l i n g l a y e r s,l a y e r o f i n t e r f a c e a n d t h e t r a s f e r - i v - 毛 北大学硕士学位论文 ab s t r a c t o f d a t a t r a n s m i s s i o n , a n d c o m p l i c a t e d b u s i n e s s b r i n g h i g h i m p r o v e m e n t o n s y s t e m p e r f o r m a n c e ; l a y e r i s d i v i d e e d , s o p a c k a g e,s u c c e s s f u l l y i m p l e m e n t s y s t e m f u n c t i o n f i n a l l y , u s i n g s t r u t s w i t h i n s h o r t e r t i m e . k e y w o r d s : s o f t w a r e a r c h i t e c t u r e , q c , m v c , o o d , s t r u t s , d t s , f i l t e r - i v - 力北大学硕十论文 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中取 得的研究成果除加以标志和致谢的地方外,不包含其它人已经发表或 编写过的研究成果,也不包括本人使用过的其它材料。与我一同工作 的同志对本研究所作的任何贡献均已在论文中作了明确的说明并标示 致谢。 木人签名 日期 : k +辛 : - t - - ( f 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、 使用学位 论文的规定:即学校有权保留并向国家有关部门或机构送交论 文的复 印件和磁盘,允许论文被查阅和借阅。本人授权东北大学可以将学位 论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流, 请在下方签名; 否则视为不同意。 ) 学 位 论 文 作 者 签 名 : 封辛导 师 签 名 : 加龟 - 签字日 期: 7 - o 卜1 1 签 字 日 期 , 加毕 、 之 北大学硕士学位论文概述 第一章 概述 1 . 1 软件构架 在 “ 软件构架简介”中,d a v i d c a r l a 。和 m a r y s h a w认为软件构架是有 关如下问题的设计层次: “ 在计算的算法和数据结构之外,设计并确定系统整 体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、 同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成: 定标与性能;备选设计的选择” 文献1 0 但构架不仅是结构;在 r a t i o n a l u n i f i e d p r o c e s s中,软件系统的构架 ( 在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与 不断减小的构件与接口所组成的构件进行交互 文献2 a 1 . 1 . 1典型的构架视图集 构架由许多不同的构架视图来表示。这些视图本质上是以图形方式来摘要 说明“ 在构架方面具有重要意义” 的模型元素。 典型的构架视图集又称为 “ 4 + 1 视图模型” 文献2 。它包括: 令 用例视图:包括用例和场景,阐述了 那些对于构架很重要的行为、类或技 术风险的用例和场景。在 “ 需求”工作流程中处理。 , 逻辑视图: 包括最重要的设计类、 从这些设计类到包和子系统的组织形式, 以及从这些包和子系统到层的组织形式。它还包括一些用例实现。 , 实施视图: 包括实施模型及其从模块到包和层的组织形式的概览. 同时还 描述了 将逻辑视图中的包和类向实施视图中的包和模块分配的情况。 , 进程视图:包括所涉及任务 ( 进程和线程)的描述,它们的交互和配置, 以及将设计对象和类向任务的分配情况。 只有在系统具有很高程度的并行 时,才需要该视图。 . 配置视图: 包括对最典型的平台配置的各种物理节点的描述以及将任务( 来 1 . 1 . 2 自 进程视图) 向物理节点分配的情况。 构架模式 只有在分布式系统中才 一 需要该视图。 构架模式是一个特定范围的模式( 即解决方案模板) , 并且也是具体软件构 架的模板。它涉及整个系统范围内的特征,并且通常涉及子系统范围内 ( 而非 类级别)的关系。 根据构架模式最适用的系统的特征将其分类,其中一个类别处理更普遍的 结构问 题, 表1 . 1 显示了 类别和这些类别所包含的模式: 之 北大学硕士学位论文概述 第一章 概述 1 . 1 软件构架 在 “ 软件构架简介”中,d a v i d c a r l a 。和 m a r y s h a w认为软件构架是有 关如下问题的设计层次: “ 在计算的算法和数据结构之外,设计并确定系统整 体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、 同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成: 定标与性能;备选设计的选择” 文献1 0 但构架不仅是结构;在 r a t i o n a l u n i f i e d p r o c e s s中,软件系统的构架 ( 在某一给定点)是指系统重要构件的组织或结构,这些重要构件通过接口与 不断减小的构件与接口所组成的构件进行交互 文献2 a 1 . 1 . 1典型的构架视图集 构架由许多不同的构架视图来表示。这些视图本质上是以图形方式来摘要 说明“ 在构架方面具有重要意义” 的模型元素。 典型的构架视图集又称为 “ 4 + 1 视图模型” 文献2 。它包括: 令 用例视图:包括用例和场景,阐述了 那些对于构架很重要的行为、类或技 术风险的用例和场景。在 “ 需求”工作流程中处理。 , 逻辑视图: 包括最重要的设计类、 从这些设计类到包和子系统的组织形式, 以及从这些包和子系统到层的组织形式。它还包括一些用例实现。 , 实施视图: 包括实施模型及其从模块到包和层的组织形式的概览. 同时还 描述了 将逻辑视图中的包和类向实施视图中的包和模块分配的情况。 , 进程视图:包括所涉及任务 ( 进程和线程)的描述,它们的交互和配置, 以及将设计对象和类向任务的分配情况。 只有在系统具有很高程度的并行 时,才需要该视图。 . 配置视图: 包括对最典型的平台配置的各种物理节点的描述以及将任务( 来 1 . 1 . 2 自 进程视图) 向物理节点分配的情况。 构架模式 只有在分布式系统中才 一 需要该视图。 构架模式是一个特定范围的模式( 即解决方案模板) , 并且也是具体软件构 架的模板。它涉及整个系统范围内的特征,并且通常涉及子系统范围内 ( 而非 类级别)的关系。 根据构架模式最适用的系统的特征将其分类,其中一个类别处理更普遍的 结构问 题, 表1 . 1 显示了 类别和这些类别所包含的模式: 东北大学硕士学位论文概述 表 1 . 1模式分类 t a b l e 1 . 1 t y p e o f p a tt e r n 类别 结构层 管道和过滤器 黑板 代理 模式 分布式系统 交互系统 模型一 视图一 控制器 自适应系统 表示一 抽象一 控制 反射 微核 1 . 2 软件质量控制( 5 qc) 所谓软件质量, 可以用软件中的错误密度表示。 质量越高, 错误密度越小; 质量越低, 错误密度越大。软件质量控制( s o f t w a r e q u a l i t y c o n t r o l ,简称 s q c ) 是软件工程领域中的一部分,为了确保软件开发过程和结果符合预期的要 求而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价 文献3 。 由于软件开发过程中随时可能引入软件错误,软件质量控制的目的就是要 排除软件中的错误。传统上,评审和铡试是进行软件质量控制的基本方法。评 审是对软件的中间产品如软件需求规格说明、软件设计说明、软件测试设计进 行错误检查和规范遵从性检查的主要手段;而测试主要是查找软件的最终产 品,即软件运行代码中的错误 文献4 1 . 软件开发过程以软件质量控制为核心, 紧紧抓住软件生产方法、 需求分析、 软件设计、软件生产工具、测试、验证与 确认、评审和管理等8 个主要环节, 图1 说明了软件质量控制的重要性: 东北大学硕士学位论文概述 表 1 . 1模式分类 t a b l e 1 . 1 t y p e o f p a tt e r n 类别 结构层 管道和过滤器 黑板 代理 模式 分布式系统 交互系统 模型一 视图一 控制器 自适应系统 表示一 抽象一 控制 反射 微核 1 . 2 软件质量控制( 5 qc) 所谓软件质量, 可以用软件中的错误密度表示。 质量越高, 错误密度越小; 质量越低, 错误密度越大。软件质量控制( s o f t w a r e q u a l i t y c o n t r o l ,简称 s q c ) 是软件工程领域中的一部分,为了确保软件开发过程和结果符合预期的要 求而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价 文献3 。 由于软件开发过程中随时可能引入软件错误,软件质量控制的目的就是要 排除软件中的错误。传统上,评审和铡试是进行软件质量控制的基本方法。评 审是对软件的中间产品如软件需求规格说明、软件设计说明、软件测试设计进 行错误检查和规范遵从性检查的主要手段;而测试主要是查找软件的最终产 品,即软件运行代码中的错误 文献4 1 . 软件开发过程以软件质量控制为核心, 紧紧抓住软件生产方法、 需求分析、 软件设计、软件生产工具、测试、验证与 确认、评审和管理等8 个主要环节, 图1 说明了软件质量控制的重要性: : 4 匕 大学硕士学位论文 概述 ; 李 之科- 气 、 公理 /冷 七 i . 忠 产 方涤 _ 厂 卜 盛 常 求 分 折 宋 分 下 办 u f fi4 w 御 叫 减 _ - 才 七 a 7 又 r 乒 、梦 一/ 了 卜卜 材训石 耳沪分 绪 乏件 侧t 人 图 1 . 1软件质量的重要性 f i g . 1 . 1 t h e i m p o rt a n c e o f s q c 对软件质量进行控制需要对软件过程作更加严格的控制,项目 各开发阶段 是透明的,在各阶段内部过程中使用多种方法如同行评审、检查、审计等方法 查 找 软 件 缺陷 , 对 软 件 质 量 进 行 监 控。 缺陷跟踪系统是缺陷管理工具,在软件开发的整个生命周期管理缺陷,使 缺陷不被遗漏,并根据缺陷优先级将注意力集中在那些需要尽快修复的缺陷 上,对软件质量控制有很大贡献,是软件质量控制的关键工具。 1 . 3 研究开发课题的意义 缺陷跟踪系统 d e f e c t t r a c e s y s t e m ,简称 d t s )又称作软件错误报告 ( s o f t w a r e p r o b l e m r e p o r t , 简 称s p r ) 系 统, 用 于 集中 管 理 软 件 测 试过 程中 发现的错误,是添加、修改、排序、查询、 存储软件测试错误的数据库程序。 由于大型本地化软件测试项目一般测试周期较长,测试范围广,存在较多软件 缺陷,对测试质量要求较高,多语言本地化同时测试,所以缺陷跟踪系统特别 适用于大型本地化软件测试项目的管理测试缺陷的要求 文献6 1 . 缺陷管理贯穿于整个软件开发生命周期中,是不可缺少的环节。目 前市场 已 经出现了一些通用缺陷跟踪管理软件, 踪系统在工程项目中的作用归纳如下: 这些软件在功能上各有特点。缺陷跟 . 便于查找和跟踪。对于大型本地化软件的测试,报告的缺陷总数可能成 百上千个,如果在没有缺陷跟踪系统的情况下,要查找某个缺陷,简直 是搜索者的恶梦,其难度和效率可想而知。 . 便于跟踪和监控缺陷的处理过程和方法。 正确,可以确定处理者的姓名和处理时间 的参考。 可以方便地检查处理方法是否 ,作为工作质量的统计和考核 : 4 匕 大学硕士学位论文 概述 ; 李 之科- 气 、 公理 /冷 七 i . 忠 产 方涤 _ 厂 卜 盛 常 求 分 折 宋 分 下 办 u f fi4 w 御 叫 减 _ - 才 七 a 7 又 r 乒 、梦 一/ 了 卜卜 材训石 耳沪分 绪 乏件 侧t 人 图 1 . 1软件质量的重要性 f i g . 1 . 1 t h e i m p o rt a n c e o f s q c 对软件质量进行控制需要对软件过程作更加严格的控制,项目 各开发阶段 是透明的,在各阶段内部过程中使用多种方法如同行评审、检查、审计等方法 查 找 软 件 缺陷 , 对 软 件 质 量 进 行 监 控。 缺陷跟踪系统是缺陷管理工具,在软件开发的整个生命周期管理缺陷,使 缺陷不被遗漏,并根据缺陷优先级将注意力集中在那些需要尽快修复的缺陷 上,对软件质量控制有很大贡献,是软件质量控制的关键工具。 1 . 3 研究开发课题的意义 缺陷跟踪系统 d e f e c t t r a c e s y s t e m ,简称 d t s )又称作软件错误报告 ( s o f t w a r e p r o b l e m r e p o r t , 简 称s p r ) 系 统, 用 于 集中 管 理 软 件 测 试过 程中 发现的错误,是添加、修改、排序、查询、 存储软件测试错误的数据库程序。 由于大型本地化软件测试项目一般测试周期较长,测试范围广,存在较多软件 缺陷,对测试质量要求较高,多语言本地化同时测试,所以缺陷跟踪系统特别 适用于大型本地化软件测试项目的管理测试缺陷的要求 文献6 1 . 缺陷管理贯穿于整个软件开发生命周期中,是不可缺少的环节。目 前市场 已 经出现了一些通用缺陷跟踪管理软件, 踪系统在工程项目中的作用归纳如下: 这些软件在功能上各有特点。缺陷跟 . 便于查找和跟踪。对于大型本地化软件的测试,报告的缺陷总数可能成 百上千个,如果在没有缺陷跟踪系统的情况下,要查找某个缺陷,简直 是搜索者的恶梦,其难度和效率可想而知。 . 便于跟踪和监控缺陷的处理过程和方法。 正确,可以确定处理者的姓名和处理时间 的参考。 可以方便地检查处理方法是否 ,作为工作质量的统计和考核 a t 大学硕士学位论文概述 . 便于集中管理,提高效率。本地化服务商和软件供应商共享同一个缺陷 跟踪系统数据库,各自负责处理己方需要处理的软件缺陷。对于需要对 方提供更多信息的缺陷,可以 通过改变缺陷的当前信息 ( 状态、处理者、 处理建议等)使对方尽快处理。 今 安全性高。通过权限设置,不同权限的用户执行不同的操作,保证只有 适当的人员才能执行正确的处理。例如,测试工程师只能报告和验证缺 陷,开发工程师能够修复缺陷。 . 保证处理顺序的正确性。根据当前缺陷的状态,决定当前缺陷的处理方 - 法。例如,如果是新打开的缺陷,需要开发工程师修复。如果是已经修 复的缺陷,需要测试者验证是否完全修复。 今 便于项目结束后的存档。缺陷跟踪系统具有方便存储的特点,可以随时 或在项目 结束后存储,以备将来参考。 根据缺陷跟踪系统在软件开发过程中的作用来看,d t s可以在整个生命周 期中管理缺陷。从初始报告到最终解决问题,这样不仅确保缺陷不会被遗漏, 而且让开发小组可以根据问题对项目 小组、项目 管理部门、客户以及用户的重 要性来修复问题。所以缺陷跟踪系统在某一程度上保证了软件的质量,是软件 质量保证的一个应用工具。 1 . 4 论文文档结构 框架结构在近阶段的程序开发中被越来越多的运用,这种框架结构对于程 序结构的规范化和后期修改都有很大的好处,本文作者期望通过对 s t r u t s架 构的分析研究, 从一个侧面体现出m v c 设计模式对于w e b 应用程序开发的重要 意义。 整个s t r u t s 主要包括一 个框架和可扩展的自 定义标签库, 保证了 数据和处 理的分离. 框架很简单,用户只要继承 a c t i o n类和使用定义好的其他类 ( 比 如a c t i o n e r r o r s )就可以了。本文在对s t r u t s 应用框架进行详细分析后, 将 其具体应用于缺陷跟踪系统的开发设计之中,开发中应用的i d e 主要是集成了 s t r u t s 的e c l i p s e 开源环境。 本文总体上分为三大部分。第一部分简单介绍了pc 模式的架构:第二部 分主 要介绍实 现m v c 模式的s t r u t s 框架的技术特点,为实际应用的开发打下 理论基础; 第三部分是s t r u t s 的实际应用开发 缺陷跟踪系统的研究开发, 还包括系统中的认证与授权部分的设计实现。 今 第二章:该章对j 2 e e 模式中的m v c 设计模式进行介绍说明, 对本文中 所涉及的一些基本概念进行阐述口 今 第三章: 该章详细阐述了s t r u t s 体系框架结构及s t r u t s 框架中的组件 应用。 今 第四章:该章基于 m v c设计模式对缺陷跟踪系统进行了详细地分析设 _ 6- a t 大学硕士学位论文概述 . 便于集中管理,提高效率。本地化服务商和软件供应商共享同一个缺陷 跟踪系统数据库,各自负责处理己方需要处理的软件缺陷。对于需要对 方提供更多信息的缺陷,可以 通过改变缺陷的当前信息 ( 状态、处理者、 处理建议等)使对方尽快处理。 今 安全性高。通过权限设置,不同权限的用户执行不同的操作,保证只有 适当的人员才能执行正确的处理。例如,测试工程师只能报告和验证缺 陷,开发工程师能够修复缺陷。 . 保证处理顺序的正确性。根据当前缺陷的状态,决定当前缺陷的处理方 - 法。例如,如果是新打开的缺陷,需要开发工程师修复。如果是已经修 复的缺陷,需要测试者验证是否完全修复。 今 便于项目结束后的存档。缺陷跟踪系统具有方便存储的特点,可以随时 或在项目 结束后存储,以备将来参考。 根据缺陷跟踪系统在软件开发过程中的作用来看,d t s可以在整个生命周 期中管理缺陷。从初始报告到最终解决问题,这样不仅确保缺陷不会被遗漏, 而且让开发小组可以根据问题对项目 小组、项目 管理部门、客户以及用户的重 要性来修复问题。所以缺陷跟踪系统在某一程度上保证了软件的质量,是软件 质量保证的一个应用工具。 1 . 4 论文文档结构 框架结构在近阶段的程序开发中被越来越多的运用,这种框架结构对于程 序结构的规范化和后期修改都有很大的好处,本文作者期望通过对 s t r u t s架 构的分析研究, 从一个侧面体现出m v c 设计模式对于w e b 应用程序开发的重要 意义。 整个s t r u t s 主要包括一 个框架和可扩展的自 定义标签库, 保证了 数据和处 理的分离. 框架很简单,用户只要继承 a c t i o n类和使用定义好的其他类 ( 比 如a c t i o n e r r o r s )就可以了。本文在对s t r u t s 应用框架进行详细分析后, 将 其具体应用于缺陷跟踪系统的开发设计之中,开发中应用的i d e 主要是集成了 s t r u t s 的e c l i p s e 开源环境。 本文总体上分为三大部分。第一部分简单介绍了pc 模式的架构:第二部 分主 要介绍实 现m v c 模式的s t r u t s 框架的技术特点,为实际应用的开发打下 理论基础; 第三部分是s t r u t s 的实际应用开发 缺陷跟踪系统的研究开发, 还包括系统中的认证与授权部分的设计实现。 今 第二章:该章对j 2 e e 模式中的m v c 设计模式进行介绍说明, 对本文中 所涉及的一些基本概念进行阐述口 今 第三章: 该章详细阐述了s t r u t s 体系框架结构及s t r u t s 框架中的组件 应用。 今 第四章:该章基于 m v c设计模式对缺陷跟踪系统进行了详细地分析设 _ 6- : a t 大学硕士学位论文概述 计,以及结合s t r u t s 框架实现了缺陷跟踪系统,特别针对缺陷跟踪系 统的访问控制部分进行了设计与实现。 东 北大学 硕士学 位论文第 二幸 m v c 设计棋式 第二章 mvc 设计模式 近些年来, 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 层次模型化,为开发人员提供了基于多层的 最佳实践经验的总结。 m v c模式对表示逻辑与业务逻辑的分离, 使系统开发变得非常灵活,同时 又提高了系统设计的可复用性。正是 m v c模式在开发中表现的强大优势,m v c 模式被逐渐引入j 2 e e 体系中,成为j 2 e e 进行交互式应用开发 ( 特别是w e b 应 用开发) 时的一个非常重要的模式。 2 . 1 j 2 e e 设计模式 如前所述, j 2 e e 确实是一个很好的应用开发平台,提供非常优秀的技术标 准,但是在 j 2 e e所能提供的功能、服务与开发人员最终需要实现的应用之间 仍然存在很大的 距离, j 2 e e 模式正是缩小这种差距的解决方案。 s he设计模式来源于开发人员长期以来对于 j 2 e e平台和技术的实践经验 积累,其覆盖了分布于 j 2 e e所有层的不同需求,将五个层次 ( 客户层、表示 层、 业务层、 集成层和资源层) 统一模型化。 j 2 e e 设计模式主要集中于五个层 次中的三个: 表示层、业务层和集成层。在j 2 e e 模式中,与s e r v l e t , j s p 相 关的模式为表示层模式;与企业 b e a n s 和 j n d i 相关的模式,以及与连接表示 层和业务层组件相关的模式为业务层模式;与j d b c和 j m s技术相关的连接业 务层和资源层模式为集成层模式 文献7 1 0 表2 . 1 描述了j 2 e e平台中各个层次所有的一些基本模式 : 表2 . 1基本模式 t a b l e 2 . 1 b a s i c p a t t e r n 层 模式名称 截取过滤器 前端控制器 视图助手 复合试图 工作者服务 东 北大学 硕士学 位论文第 二幸 m v c 设计棋式 第二章 mvc 设计模式 近些年来, 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 层次模型化,为开发人员提供了基于多层的 最佳实践经验的总结。 m v c模式对表示逻辑与业务逻辑的分离, 使系统开发变得非常灵活,同时 又提高了系统设计的可复用性。正是 m v c模式在开发中表现的强大优势,m v c 模式被逐渐引入j 2 e e 体系中,成为j 2 e e 进行交互式应用开发 ( 特别是w e b 应 用开发) 时的一个非常重要的模式。 2 . 1 j 2 e e 设计模式 如前所述, j 2 e e 确实是一个很好的应用开发平台,提供非常优秀的技术标 准,但是在 j 2 e e所能提供的功能、服务与开发人员最终需要实现的应用之间 仍然存在很大的 距离, j 2 e e 模式正是缩小这种差距的解决方案。 s he设计模式来源于开发人员长期以来对于 j 2 e e平台和技术的实践经验 积累,其覆盖了分布于 j 2 e e所有层的不同需求,将五个层次 ( 客户层、表示 层、 业务层、 集成层和资源层) 统一模型化。 j 2 e e 设计模式主要集中于五个层 次中的三个: 表示层、业务层和集成层。在j 2 e e 模式中,与s e r v l e t , j s p 相 关的模式为表示层模式;与企业 b e a n s 和 j n d i 相关的模式,以及与连接表示 层和业务层组件相关的模式为业务层模式;与j d b c和 j m s技术相关的连接业 务层和资源层模式为集成层模式 文献7 1 0 表2 . 1 描述了j 2 e e平台中各个层次所有的一些基本模式 : 表2 . 1基本模式 t a b l e 2 . 1 b a s i c p a t t e r n 层 模式名称 截取过滤器 前端控制器 视图助手 复合试图 工作者服务 东 北大 学 硕士学 位论文第 二章m v c 设计模式 2 . 2 m v c 模式架构 模型一 视图一 控制( m o d e l - v i e w - c o n t r o l ,简称m v c ) 是 x e r o x p a r c 在 2 0 世 纪8 0 年代为编程语言s m a l l t a l k - 8 0 发明的一种软件设计模式, 至今已被广泛 使用,目 前是最常见的j 2 e e 应用所基于的体系结构, m v c 主要适用于交互式的 w e b应用,尤其是存在大量页面及多次客户访问及数据显示;相比较而言,一 个工作流体系结构更多应用于过程控制和较少交互的情况下。 m v c是一种设计模式,它强制性地把应用程序的输入、处理和输出分开, 它是第一个分开表示逻辑与业务逻辑的设计模式。在出现m v c 模式之前,用户 界面设计通常把这些层和并在一起,而m v c 模式则把它们分离开来,提高灵活 性与复用性 文献8 . m v c把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负 不同的任务。图2 . 1 展示了 模块各自 的功能以 及他们的相互关系图; 壅韭盔兰塑堂堡造塞 星兰重丛竖选兰土搓氢 分发者服务 业务代表 值对象 会话外观 业务层 复合实体 值对象组装器 值对象处理器 服务定位器 数据访问对象 集成层 服务激发器 2 2m v c 模式架构 模型一视图一控制( m o d e l v i e w c o n t r o l ,简称m v c ) 是x e r o xp a r c 在2 0 世 纪8 0 年代为编程语言s m a l l t a l k 一8 0 发明的一种软件设计模式,至今已被广泛 使用,目前是最常见的j 2 e e 应用所基于的体系结构,g v c 主要适用于交互式的 w e b 应用,尤其是存在大量页面及多次客户访问及数据显示;相比较而言, 个工作流体系结构更多应用于过程控制和较少交互的情况下。 m v c 是一种设计模式,它强制性地把应用程序的输入、处理和输出分开, 它是第一个分开表示逻辑与业务逻辑的设计模式。在出现m v c 模式之前,用户 界面设计通常把这些层和并在一起,而m v c 模式则把它们分离开来,提高灵活 性与复用性 文献8 。 m v c 把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负 不同的任务。图2 1 展示了模块各自的功能以及他们的相互关系图: 9 盎韭盘生塑芏焦逢查 蔓三童! 竖堡盐搓盘 图2 1m v c 模式架构 模型( m o d e l ) :是应用程序的主体部分。封装的是数据源和所有基于 对这些数据的操作。在一个组件中,m o d e l 往往表示组件的状态和操作 状态的方法。 视图( v i e w ) :是用户看到并与之交互的界面。封装的是对数据源m o d e l 的种显示。一个模型可以由多个视图,而一个视图理论上也可以同 不同的模型关联起来。 控制器( c o n t r 0 1 ) :封装的是外界作用于模型的操作。通常,这些操 作会转发到模型上,并调用模型中相应的一个或者多个方法。一般 c o n t r o l l e r 在m o d e l 和v i e w 之间起到了沟通的作用,处理用户在v i e w 上的输入,并转发给m o d e l 。这样m o d e l 和v i e w 两者之间可以做到松 散耦合,甚至可以彼此不知道对方,而由c o n t r o l l e r 连接起这两个部 分。 m v c 定义“预订”或“通知”协议,分离视图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2313-2025多参数在线激光粒度仪校准规范
- 2025年福州东盟海产品交易所有限公司总经理职位职业经理人市场化选聘考前自测高频考点模拟试题及参考答案详解一套
- 2025福建三明大田县公开招聘紧缺急需专业教师7人考前自测高频考点模拟试题及1套完整答案详解
- 小学安全培训收费标准表课件
- 2025年临沂兰陵县教育系统部分事业单位公开招聘教师(5人)考前自测高频考点模拟试题有答案详解
- 2025江苏连云港市海州湾发展集团有限公司及子公司招聘20人考前自测高频考点模拟试题及完整答案详解
- 2025广东广州市中山大学孙逸仙纪念医院超声科医教研岗位招聘模拟试卷及答案详解(历年真题)
- 安全培训教学课件制作
- 2025江西吉安市直三家公立医院编外招聘33人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025福建省高速公路集团有限公司招聘43人考前自测高频考点模拟试题及参考答案详解
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- GB/T 222-1984钢的化学分析用试样取样法及成品化学成分允许偏差
- 国家开放大学电大《课程与教学论》形考任务3试题及答案
- 商务英语口语900句
- 培训师的核心技能-讲义课件
- 苏教版四年级(上)科学第二单元测试题(无答案)
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- 《霜降-二十四节气》 课件
- 药敏试验结果的解读
- 冶金行业应用产品介绍(应用)
评论
0/150
提交评论