




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于acn的轻量级软件项目开发管理系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第l 页 于两芰 随着软件行业的不断繁荣,软件项目的开发管理越来越来受到软件开 发人员及软件企业的关注。虽然现在己出现了一些软件项目开发管理系统, 但这些系统要么是面向开源项目的管理平台,要么只具备项目开发管理的 部分功能。鉴于我国中小型软件企业有企业规模较小、开发过程较灵活、 项目开发管理水平不高等特点,本文设计实现了一个基于w e b 的轻量级软 件项目开发管理系统,其功能主要有文档管理、任务管理、缺陷跟踪、进 度管理、代码管理、沟通管理、项目管理、成员管理、权限分配、角色管 理等。 本文详细地阐述了以下几方面的研究工作: 1 根据系统的业务目标,对软件项目开发管理系统进行需求分析。 2 在功能需求的基础上,确定软件项目开发管理系统的功能框架和 开发架构。在开发架构中选用了a j a x 、c a s t l e 、n h i b e r n a t e 框架。在系统 的实现涉及到了版本控制、w i k i 等技术在本系统中的应用研究。 3 为了方便本系统与其他系统的集成,本文采用了基于w e bs e r v i c e 的统一认证方式来实现本系统的身份验证。 本文研究实现的软件项目开发管理系统能帮助项目组成员对项目开发 进行及时、有效地管理,方便开发人员的交流,使软件开发效率得到提高, 开发过程得以记录而且便于与软件企业内部其他系统集成,具有较好的应 用价值。 关键词:软件项目开发管理;轻量级;a j a x :c a s t l e ;n h i b e r n a t e a b s t r a c t w i t ht h ed e v e l o p m e n to ft h es o f t w a r ei n d u s t r y , s o f t w a r ed e v e l o p e r sa n d s o f t w a r ec o m p a n i e sp a ym o r ea t t e n t i o nt ot h em a n a g e m e n to fs o f t w a r e d e v e l o p i n g a l t h o u g h t h e r ea r es o m es o f t w a r e d e v e l o p i n gm a n a g e m e n t s y s t e m s ,b u tt h e s ee i t h e ra r em a n a g e m e n tp l a t f o r mf o ro p e n s o u r c ep r o j e c t ,o r o n l y h a v e p a r t f u n c t i o n s i n c h i n a ,s m a l l a n dm e d i u m - s i z e ds o f t w a r e c o m p a n i e sh a v em o r ef l e x i b l ed e v e l o p i n gp r o c e s sa n dl o w e rl e v e lp r o j e c t m a n a g e m e n t i n t h i s p a p e r , a w e b b a s e d l i g h t w e i g h t s o f t w a r e p r o j e c t m a n a g e m e n ts y s t e mi sd e s i g n e da n dr e a l i z e dw h o s ef u n c t i o n sh a v ed o c u m e n t m a n a g e m e n t ,t a s km a n a g e m e n t ,i s s u et r a c k i n g ,s c h e d u l em a n a g e m e n t ,c o d e m a n a g e m e n t ,c o m m u n i c a t i o nm a n a g e m e n t ,p r o j e c tm a n a g e m e n t ,m e m b e r s m a n a g e m e n t ,a u t h o r i t yd i s t r i b u t i o na n dr o l em a n a g e m e n t ,e t c t h i sp a p e re l a b o r a t e do nt h ef o l l o w i n ga s p e c t so ft h er e s e a r c hw o r k : 1 a c c o r d i n gt ob u s i n e s so b j e c t i v e so ft h es y s t e m ,t h i sp a p e rc a r r i e do n r e q u i r e m e n t sa n a l y s i so fs o f t w a r ep r o j e c td e v e l o p i n gm a n a g e m e n ts y s t e m 2 o nt h eb a s i so ff u n c t i o n a lr e q u i r e m e n t s ,t h i sp a p e rd e s i g n e df u n c t i o n f r a m e w o r ka n dd e v e l o p m e n ta r c h i t e c t u r e t h i sp a p e rs e l e c t e da ja x ,c a s t l e ,a n d n h i b e m a t ef r a m e w o r ka n da l s oi n v o l v e dt h er e s e a r c ho fv e r s i o nc o n t r o l ,w i k i , a n do t h e ra d v a n c e dt e c h n o l o g ya p p l y i n gt ot h es y s t e m 3 i no r d e rt of a c i l i t a t ei n t e g r a t i o nw i t ho t h e rs y s t e m s ,t h i ss y s t e m r e a l i z e da u t h e n t i c a t i o n b yc a l l i n g w e bs e r v i c e so fu n i f i e dc e r t i f i c a t i o n p l a t f o r m i nt h i sp a p e r , t h es o f t w a r ep r o je c td e v e l o p i n gm a n a g e m e n ts y s t e mc a n h e l pt e a mm e m b e r st oc o m m u n i c a t et i m e l ya n de f f e c t i v e l ym a n a g e ,i m p r o v e s o f t w a r ed e v e l o p m e n te f f i c i e n c y , r e c o r dd e v e l o p i n gp r o c e s sa n df a c i l i t a t e i n t e g r a t i o nw i t ho t h e rs y s t e m s t h i ss y s t e mh a sg o o dp r a c t i c a lv a l u e k e y w o r d s :s o f t w a r ep r o j e c tm a n a g e m e n t ;l i g h t w e i g h t ;a j a x ;c a s t l e ; n h i b e m a t e 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 1 a j a x 、c a s t l e 、n h i b e r n a t e 框架相结合的a c n 框架对软件项目开发管理系 统进行设计和实现,提高用户体验和系统的开发效率。 2 结合中小型企业特点,设计实现了基于a c n 框架的轻量级软件项目开发 管理系统,能帮助项目组成员对项目开发进行及时、有效地管理,方便开 发人员的交流。 学位论文作者签名:互满敬 日期:z 0 0 7 6 3 d 西南交通大学曲南交通大宇 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密西使用本授权书。 ( 请在以上方框内打“4 ) 学位论文作者签名:王游敬 指导老师签 日期:2 口0 9 ,3 口日期: l 衫 名: g 七 呻、6 巾 西南交通大学硕士研究生学位论文第1 页 1 1 研究背景 第1 章绪论 近年来,i t 行业迅猛发展,软件公司如雨后春笋般涌现出来。随着用 户对软件需求量的增加以及对软件品质要求的提高,软件行业面临着许多 亟待解决的问题。 2 0 世纪9 0 年代中期,美国共取消了8 1 0 亿美元的商业软件项目,其 中未做完就被取消的项目占3 1 ,进度要延长5 0 的时间的项目占5 3 , 只有9 的软件项目能够在预定的费用和进度计划内完成n 1 。这些都表明绝 大部分的软件项目都没能充分估计到软件开发过程中会遇到的问题,超出 了原定的费用计划和进度计划,从而造成了企业资源的浪费。 随着软件产品规模日益庞大,个人单打独斗的作坊式开发方式已经越 来越不能适应发展的需要,软件开发不再是像过去那样一两个开发人员即 可解决的事情心3 。大多数开发团队中都会出现同时开发多个版本、开发与 维护工作并存、多地点同时开发等情况,给软件开发带来了前所未有的困 难。i b m 的一份研究报告表明传统的软件开发人员花费在与项目组成员交 互上的时间大约占5 0 旧3 。 如果管理不善,项目组成员之间不能有效沟通,软件开发就会处于混 乱的状态。文档( 如:需求文档、设计文档、测试文档等) 不能实现一致 性管理,必将造成版本混乱。在项目的开发过程中,各项目组成员之间彼 此孤立,虽然有版本控制工具,但版本的更新并不能自动地通知到相关成 员。整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件 产品开发的进度和质量3 。而测试阶段虽有较成熟的测试工具,但功能单 一。这就使得用户在使用时要安装大量的工具,各工具之间又不能很好的 联系,从而出现了“1 + 1 :少二兰兰叭 、文档管理厂、 图2 - 1 文档管理用例图 员 西南交通大学硕士研究生学位论文第9 页 图2 2 未形成正式版本的文档管理活动图 2 任务管理与进度管理 任务管理对软件项目的工作进行细化,完成任务的计划、分配、查询和修 改,记录任务由计划、分配到完成的全过程。在任务的计划和分配阶段要确定 任务的类型。本系统内置的任务类型有一般任务、关键任务和里程碑活动。项 目负责人负责任务的计划和分配,并对任务进行修改。项目成员可以查看分配 给本人的任务,并完成相应的任务,记录任务的实际开始时间和实际完成时间。 西南交通大学硕士研究生学位论文第10 页 任务管理用例图如图2 - 3 所示。 勺 人 图2 - 3 任务管理用例图 任务尤其是关键任务和里程碑活动的完成情况反映了软件开发的进展情 况,因此本系统将对关键任务和里程碑活动的监控与进度管理联系起来。软件 开发能否按进度完成直接关系到企业的经济效益,因此进度管理对企业来讲十 分重要。本系统通过进度管理来帮助项目成员及时了解项目的进展情况,实现 对项目进度的及时控制,方便其对软件开发中风险的及时察觉和处理。其主要 功能包括进度查看、进度修改等。其中,项目成员都可以查看软件开发的进度 情况。而软件开发进度的修改需要通过质量保证人员的审核才能完成。 目前,进度管理的方法主要有网络计划和里程碑计划。网络计划是任务导 向,以工作分解结构w b s ( w o r kb r e a k d o w ns t r u c t u r e ) 为基础:里程碑计划是目 标导向,以目标分解结构o b s ( o b j e c t i v e sb r e a k d o w ns t r u c t u r e ) 为基础引。网 络计划将项目化为一系列的关联活动。在项目实施过程中,检查关键路径上关 键任务的完成情况。分析产生偏差的原因,给出纠偏措施和调整方法;里程碑 计划将项目目标划分为几个里程碑目标。项目就是完成这些里程碑的一系列活 动。里程碑式管理就是对里程碑阶段完成的情况进行检查,并对后续工作做出 调整。 关键路径是根据项目活动图中各活动的依赖关系及最早开始时间、最晚开 始时间、最早完成时间、最晚完成时间,找出的一条耗时最长的活动路径。关 键路径上的任务为关键任务n9 | 。任何一个关键任务的延时都会导致整个项目的 延时。所以,本文要对关键任务重点进行进度跟踪。另外,关键路径不是固定 的,是会在软件开发过程中发生变化的。在软件开发过程中要实时调整关键路 径及关键任务。 所谓的里程碑事件是指软件项目中的重大事件。它不占资源,是零时间的 任务。里程碑事件并不是一个实实在在的任务,而是一个结论性的标志。里程 碑事件未完成时一般不能启动后续阶段的任务。里程碑的设立可以协助进度监 西南交通大学硕士研究生学位论文第11 页 管心0 。只要里程碑事件能按时完成,项目的进度就可以得到保障。 本文采用网络计划和里程碑计划相结合的方式来进行进度管理。在软件开 发开始前,先要将软件项目中的工作任务细化,计划任务的开始时间及完成时 间,画出项目活动图。根据项目活动图找出项目完成的关键路径幢。将关键路 径上的任务设为关键任务,其他任务设为一般任务,分析设立里程碑活动。在 软件开发过程中,及时获取关键任务和里程碑活动的完成情况,将软件开发的 进度情况及时传达给项目成员,方便项目负责人及时作出相应的调整。 任务管理和进度的业务流程图,如图2 - 4 所示。 项目负责人 项目成员 质量保证人员 i - ( 目工细分) , ( 计划任务 ) ( 分配任务卜 一查看任务) 厂开始任务修改任务状态为开、 l始未完成状态 l 执行任务 )j 侥成任务修改任务、 l 状态为i f , 完成状态 嗲 c 修改任务 ) 嘧| | f t ( 调整进度安捧) +( 通知项目负责人 心一僵否为里程 茸。rd 7 t + e m 由一、1 甲1 雯 蠹溺 ( 进入下一阶段( 继续本阶段 ) 图2 - - 4 任务管理和进度管理的业务流程图 西南交通大学硕士研究生学位论文第12 页 3 代码管理 随着计算机技术的不断推新、软件规模的不断扩大,即使是中小型企业的 项目也不再是只由一个人就能完成的了。对代码的管理也越来越受到人们的重 视。代码管理是实现开发团队并行开发、提高开发效率的基础。它可以跟踪在 整个软件开发过程中代码文件的发展过程心引。代码管理的工具也层出不穷。目 前比较流行的代码管理工具有v s s ( v i s u a ls o u r c es a f e ) 、c v s ( c o n c u r r e n t v e r s i o n ss y s t e m ) 2 5 j 、s v n ( s u b v e r s i o n ) 。 ( 1 ) v s s v s s 是微软的版本控制工具。它操作简单,成本低,对硬件配置要求不 高,与n e t 平台无缝集成,有良好的可扩展性心引。但v s s 也有很多的缺陷。 v s s 以单个文件为视角,而不是现代流行的以整个项目为视角【24 | 。v s s 仅支 持w i n d o w s 操作系统,不能跨平台。只能在局域网中使用,不支持通过i n t e m e t 的访问。用于团队级还可以,企业级不好。 ( 2 ) c v s 并行版本系统( c v s ) 是一款为软件开发人员开发的并发版本系统它是 目前较流行的代码管理工具,大多数开源项目都是使用c v s 进行代码版本控 制卫引。它可以支持跨平台。它不但支持w i n d o w sn t 2 0 0 0 x p ,还支持l i n u x 和u n i x 等平台。c v s 支持并发版本控制,还支持远程管理。同样,c v s 也有 它的缺陷。比如:c v s 的技术及帮助文档较少,许多问题的解决需要花费大 量的时间来查找资料;c v s 只能对文件进行管理,不能对目录进行管理等。 ( 3 ) s v n s u b v e r s i o n 是一个开源版本控制系统,具有c v s 大部分的特性。使用s v n 构建一个开源软件系统的版本控制过程与c v s 类似。同时它弥补了c v s 的一 些缺陷和不足,如s v n 能实现对目录和文件的管理,对文字和二进制文件采 用一致的数据处理方式,配置较简单等。 根据上面的分析可知,s u b v e r s i o n 是目前较成熟且应用广泛的代码管理工 具。它可以较好地满足中小型企业的管理需求,并且s u b v e r s i o n 提供的接口可 以方便地与本系统集成。因此本系统主要配合代码管理工具对代码进行管理, 实现代码仓库目录的创建,代码更新的及时通知,代码浏览及代码更新信息的 查看等功能。代码仓库目录由系统在项目创建时统一创建。项目成员可以浏览 相关的代码,查看代码更新信息,并根据代码更新的通知及时更新代码。代码 修改的流程图,如图2 5 所示。 西南交通大学硕士研究生学位论文第13 页 否 图2 - 5 代码修改流程图 4 缺陷管理 缺陷管理主要负责对测试阶段的缺陷进行跟踪,记录缺陷的相关信息及状 态,其中包括缺陷的测试员、创建时间、修改人、是否复测、缺陷描述、缺陷 状态等信息。为了程序员能更好地理解检测出的缺陷,系统提供缺陷附件的添 加、下载和查看。测试员可以创建缺陷,查看缺陷信息,在一次软件测试完成 后提交缺陷报告单,并对已修改的缺陷进行复测。程序员可以查看缺陷,修改 缺陷等。程序员和测试员可以通过对相应缺陷的处理意见的添加、查看等来进 行交流。缺陷管理的业务流程图如图2 - 6 所示。缺陷管理的用例图如图2 7 所示。 芎 西南交通大学硕士研究生学位论文第14 页 图2 6 缺陷管理的业务流程图 一缺陷管理 厂 i j 图2 - 7 缺陷管理的用例图 5 沟通管理 针对中小型企业多通过口头和会议的形式进行交流的问题,本系统提供了 消息收发机制来实现人员之间及时地沟通。沟通管理与其他功能相结合,可以 使项目成员及时地掌握软件开发过程中的信息。例如,当创建项目、文档变更、 进度更改、代码更新、测试报告时,能够及时通知相关人员。用户可以向单个 用户发送消息,也可以进行消息群发。用户可以通过系统自动收取和手动收取 两种方式来收取消息。 西南交通大学硕士研究生学位论文第15 页 6 项目管理 项目管理主要包括项目的创建、修改、查看、查询等。项目成员都可以查 询、查看本人所属的项目的信息,包括项目名称、项目编号、项目描述、项目 负责人等信息。而系统管理员可以创建项目。对项目的修改只有系统管理员和 项目负责人才有权限。其中,项目创建的用例规格说明表如表2 1 所示,项目 管理的用例图如图2 - 8 所示。 表2 1 项目创建用例规格说明表 用例名称项目创建 描述系统管理员创建项目 角色系统管理员 用户已成功登陆本系统,有权限创建项目,且本系统中没有同名 前置条件 的项目。 1 用户录入新项目的基本信息; 2 用户录入新项目的项目负责人; 3 检查是否有项目名相同的项目,若有执行1 ,否则执行4 ; 基本事件流4 保存项目信息; 5 创建项目在代码仓库中的目录结构,并进行与项目创建相关的 活动; 6 系统发送消息通知项目负责人。 后置条件在项目列表中显示新项目 备选事件流无 项目编号生成规则为p r o j e c t + 年月目+ 项目名称,如 规则 p r o j e c t 2 0 0 9 0 5 0 1c m s 异常处理系统返回错误提示信息 约束无 备注无 西南交通大学硕士研究生学位论文第16 页 图2 - 8 项目管理的用例图 7 成员管理 成员管理主要对项目成员进行管理,其主要功能包括添加、删除、查看项 目成员,为项目成员指定相应的角色等。所有项目成员都可以查看项目成员信 息,但其他功能只有项目负责人有权限。 8 统一认证 为了与企业其他系统的集成,实现用户只需一次登录就可以访问多个系 统,本文采用与统一认证平台的交互来实现身份验证,方便以后与企业内其他 系统集成。统一认证平台将用户数据统一到一个数据库中,实现各系统间数据 共享,从而大大减少了系统所需的数据空间砼 。本文研究的软件项目开发管理 系统的用户信息就是通过统一认证平台来获取的。 统一认证的流程为:用户使用在统一认i i e h 艮务注册的用户名和密码进行登 陆;统一认证服务根据用户输入的信息进行检验;软件项目开发管理系统创建 一个会话( s e s s i o n ) ,同时将用户的信息记录在会话中;软件项目开发管理系 统根据存储的用户信息及用户选择的项目,进行权限检测,若有相应的权限, 则允许用户访问;若没有授权,则禁止用户访问。 9 系统管理 系统管理主要对系统基础数据、角色、权限、菜单进行管理。系统基础数 据有文档类型、任务类型、任务状态、缺陷状态、缺陷类型等。系统管理员通 过系统管理来添加配置角色、权限,将角色与权限相关联,并对菜单进行管理, 方便了系统的扩展与维护。为了实现系统的安全性,系统根据用户角色进行授 权。 西南交通大学硕士研究生学位论文第1 7 黄 第3 章软件项目开发管理系统设计 3 1 系统功能架构 在第二章中,根据我国中小型软件企业的特点及其在软件开发管理中 的不足,提出了本文研究的软件项目开发管理系统的主要功能性需求。本 节根据系统的功能需求给出了本系统的总体功能框架,如图3 - 2 所示。 3 2 系统物理架构 本文的软件项目开发管理系统采用如图3 - 1 所示的物理架构。由图3 - 1 可以看出,软件项目开发管理系统与统一认证平台交互,实现用户的统一 认证。软件项目开发管理系统主要进行文档管理、进度管理、任务管理、 代码管理、缺陷管理、沟通管理、项目管理、成员管理、系统管理等。系 统部署在软件项目开发管理应用服务器上来实现软件项且开发管理业务。 统一认证平台的w e b 服务部署在w e b 服务器上,它用于实现统一认证。 另外,企业中其他系统也可以通过调用统一认证w e b 服务器上的w e b 服 务完成身份验证。 胯 统一 酉卣画画 图3 - 1 系统物理架构图 西南交通大学硕士研究生学位论文第18 页 图3 - 2 系统功能架构图 西南交通大学硕士研究生学位论文第19 页 3 3 系统开发架构 现在较流行的开发模式有c s ( c l i e n t s e r v e r ) 、b s ( b r o w s e r s e r v e r ) 两 种模式。 c s 模式为客户机i n 务器模式,可以充分利用客户机和服务器两端的 资源。安装时,需要在客户端安装系统。系统的更新和维护都需要对每一 个客户机进行操作。安装、管理和维护的成本较高。 b s 模式是浏览器服务器模式,是随着i n t e m e t 技术的发展对c s 模 式改进的开发模式。主要业务在服务器端完成,在浏览器上显示结果。系 统维护人员只需要维护服务器端,维护成本较低。 考虑到b s 模式与c s 模式比较,更易于集中管理和维护,便于升级, 有更好的易用性和跨平台性,及较低的成本堙引。本文研究的系统采用b s 模式。 本文的软件项目开发管理系统采用三层模式,将应用功能分为了三层: 界面表示层、业务逻辑层、数据访问层他9 30 | 。界面表示层为用户提供界面 服务、获取用户请求、显示相关数据等;业务逻辑层位于界面表示层和数 据层之间,通过调用数据访问层的服务,实现系统业务的相关逻辑,向界 面表示层提供数据。数据访问层是三层模式中最底层,用来定义、维护、 访问和更新数据。 在本文中,界面表示层通过客户端浏览器来显示。业务逻辑层位于服 务器端,主要包括软件项目开发管理管理的业务逻辑,获取界面表示层的 用户请求,并将数据访问层的数据处理结果提交给应用服务器或w e b 服务 器,再由服务器传送回客户端。数据访问层用于接受业务逻辑层的数据请 求,连接数据库,对数据进行处理,并将结果返回给业务逻辑层。系统三 层架构如图3 3 所示。 西南交通大学硕士研究生学位论文第2 0 页 图3 3 三层框架图 本文在b s 三层结构设计中选用了a j a x 、c a s t l e 、n h i b e r n a t e 框架。在 界面表示层使用了a j a x 框架,它可以使客户端与服务器端通过异步方式通 信,提高用户体验。c a s t l e 框架贯穿于各层,主要用于实现对组件的管理 并对组件之间的依赖关系进行解耦;n h i b e m a t e 框架主要用于对象与关系 数据间的映射,实现关系型数据库的对象持久化,减少开发人员的编码工 作量。 1 a j a n 3 1 3 a j a x 全称为a s y n c h r o n o u sj a v a s c r i p ta n dx m l ( 异步j a v a s c r i p t 和 x m l ) 川。a j a x 并不是一种新的技术,而是融合了多种已有的技术,它充 分利用了不同技术的优势。a j a x 包含了x h t m l 、c s s 、j a v a s c r i p t 、文档 对象模型d o m ( d o c u m e n to b j e c tm o d e l ) 、e v e n t 机制x m l h t t p r e q u e s t 等 几种技术。 它主要包括以下几个优点: ( 1 ) a j a x 在加载数据时,无需刷新整个页面。这个是a j a x 最大的优点, 通过异步方式在更新页面时不会对整个页面刷新,降低了用户等待时间陋扪。 ( 2 ) a j a x 不需要额外的浏览器插件。a j a x 不像f l a s h 那样需要安装相应 的插件才可以运行。实际上a j a x 并不是新出现的技术,只是它充分利用了 原有的x m l 和j a v a s c r i p t 等技术。只要浏览器支持x m l 请求和j a v a s c r i p t , a j a x 技术就可以在浏览器中使用。 西南交通大学硕士研究生学位论文第2 1 页 ( 3 ) a j a x 增强了用户体验。a j a x 可以进行异步请求,尽可能减少客户 端与服务器之间的通信量,能够很快地对用户的操作进行相应,减少了等 待时间,交互性较强引。 ( 4 ) a j a x 具有较好的兼容性。a j a x 采用的都是一些标准化的技术,虽 然不同的浏览器对标准的支持并不统一,但是主流的浏览器对标准的支持 较好。 2 c a s t l e 框架阳们 c a s t l e 是一个基于n e t 平台的轻量级开源框架。它提供了一个支持整 个开发流程的框架集,c a s t l e 主要集成了m v c 框架m o n o r a i l 、基于 n h i b e r a t e 的o r m 框架a c t i v e r e c o r d 、基于m i c r o k e m e l 的轻量级i o c 框 架w i n d s o rc o n t a i n e r 以及面向方面编程a o p 框架a s p e c t # 。它提供的开发 框架可以单独使用,也可以配合其它的开发框架使用。 w i n d s o rc o n t a i n e r 是c a s t l e 的i o c 容器,它构建在m i c r o k e r n e l 之上。 引入w i n d s o rc o n t a i n e r 的好处就是可以使用它的i o c 功能;而且它比同样 具有i o c 功能的s p r i n g n e t 更加简洁,不需要很多的配置文件;它还能自 动检测各个组件的依赖关系,进行自动装配,不需要像s p r i n g n e t 那样通 过配置文件来设定。 控制反转i o c ( i n v e r s i o no fc o n t r 0 1 ) ,或称为依赖注入d e p e n d e n c y i n j e c t i o n 。它的主要目的是用于组件之间的解耦,把组件之间的依赖关系 从编译时绑定变为运行时绑定,组件的依赖关系由i o c 容器来管理,而不 再通过硬编码方式确定依赖关系。i o c 有三种注入方式:构造器注入 ( c o n s t r u c t o ri n j e c t i o n ) 、设值注入( s e t t e ri n j e c t i o n ) 以及接口注入( i n t e r f a c e i n j e c t i o n ) 。 w i n d s o rc o n t a i n e r 提供核心的i o c 容器的管理功能、扩展单元f a c i l i t y 的功能等。其中i o c 容器主要对组件进行管理,这些组件是可重用的程序 单元,它实现了某个接口,向用户提供服务。扩展单元f a c i l i t y 与核心的 i o c 容器不同,它是注入性的,也就是说它可以在不更改原有组件的基础 上注入所需要的功能代码。c a s t l e 提供有一系列的扩展单元( f a c i l i t i e s ) , 如对数据访问层的扩展单元n h i b e m a t e i n t e g r a t i o nf a c i l i t y 、 i b a t i s n e t i n t e g r a t i o nf a c i l i t y 、日志扩展单元l o g g i n g i n t e g r a t i o nf a c i l i t y 、缓 存扩展单元c a c h ef a c i l i t y 等。 3 n h i b e m a t e 3 司 n h i b e m a t e 是一种针对n e t 平台的对象关系映射o r m ( o b j e c t 西南交通大学硕士研究生学位论文第2 2 页 r e l a t i o n a lm a p p i n g ) 框架,是从j a v a 版h i b e r n a t e 移植而来的。n h i b e m a t e 提供了以面向对象的方式来操作数据库,不用写s q l 语句,就可以将对象 存储到数据库中。实际上,n h i b e m a t e 将n e t 中的对象映射到s q l 的关 系型数据结构,在执行操作时自动产生s q l 语句。另外,与利用a d o n e t 进行数据访问的方法相比,n h i b e m a t e 只需要很少的代码就可以完成相应 的操作,开发效率得到了提高。 n h i b e m a t e 的体系结构图,如图3 4 所示。 图3 4n h i b e m a t e 体系结构图旧鄙 在图3 4 中,s e s s i o nf a c t o r y 是会话工厂,它可以调用事务工厂 t r a n s a c t i o nf a c t o r y 和连接提供者c o n n e c t i o np r o v i d e r 的服务;s e s s i o n 是 n h i b e m a t e i s e s s i o n 实例化的一个对象,通过调用会话工厂的o p e n s e s s i o n 函数来建立,表示应用程序和持久化层的一次会话;p e r s i s t e n to b j e c t 为持 久化对象,实现业务功能并记录持久化状态,它是一个短暂存在的对象, 它属于且仅属于一个s e s s i o n ,随着s e s s i o n 的结束而结束;n h i b e m a t e 通 过配置文件来记录其配置信息,包括数据库方言设置、数据库的驱动设置、 数据库连接字符串等信息;x m lm a p p i n g 为映射文件,记录持久化类与关 系数据的映射关系。 3 4 各功能的详细设计 本节将根据前面给出的系统功能框架对系统的各功能进行详细设计。 西南交通大学硕士研究生学位论文 第2 3 页 3 4 1 文档管理设计 为了方便对文档进行管理,本软件项目开发管理系统要求用户只能对 自己所属项目的文档进行查看、创建和修改,且同一项目的相同文档类型 的文档名称是唯一的。同时,为了便于实现文档的一致性管理,本系统将 一个文档划分为若干个文档片段,可以在两个文档片段间建立关联。如: 可以在需求文档片段和设计文档片段之间建立关联。文档片段通过所属文 档及文档片段之间的结构关系组织成文档。文档模板与一般文档相似,也 是由文档片段组成。 文档管理的主要内容有以下几点。 1 文档的归类 每个文档都应该有自己的标签,这个标签包括所属的项目名称、文档 类型、文档名称、文档的版本号等。在查找时,只需输入文档标签就可迅 速查找到相应的文档。也可以根据文档标签进行文档的模糊查询。本文的 文档管理主要管理的文档类型有需求文档、设计文档、测试文档等引。 2 文档的创建 项目文档创建的前提是先有相应的项目。用户要创建文档先要选择创 建哪个项目的文档。在创建文档时,要选择文档类型,为文档命名并将这 些信息存入文档表中。需要注意的是,在创建文档之前,先要通过文档查 询,确认此文档并不存在,防止文档的重复创建。为了避免文档的重复创 建,在创建文档时,系统要判断在用户所选的项目和文档类型中,此名称 的文档是否已存在。若存在,则创建失败,否则创建成功。 在文档的基础上,创建文档片段,或引入文档模板。刚创建文档片段 时,文档片段的版本号为1 。以后随着对文档片段的修改,文档片段的版 本号也不断累加。根据用户的登录信息获得用户的编号,并记录用户提交 的时间( 以数据库服务器时间为准) 。另外,用户创建文档片段时要填写 更新描述。系统将这些信息保存到文档片段版本信息表中。 3 文档的查询 文档通过所属项目、文档类型和文档名称来对文档进行查询。也可以 通过所属项目或文档类型对文档进行模糊查询,系统可根据查询条件返回 在同一项目同一文档类型下的文档的基本信息,如文档名称、所属项目名 称、文档类型、创建人、创建时间等。在用户选定具体文档后,系统将从 西南交通大学硕士研究生学位论文第2 4 页 数据库中读取此文档最新版本的文档片段结构。系统根据用户对文档片段 的选择来显示相应版本的文档片段内容及历史修改记录。 4 文档的版本管理 针对中小型企业的软件开发混乱以及软件项目需求在开发过程中不断 更改等特点,本系统可以自动保留文档片段每一次更动的版本内容及版本 信息,如文档片段的修改时间、修改人、修改描述等旧6 。修改描述是用户 在修改文档时,在描述栏中标注的本次修改内容描述。这样,即使用户将 整个文档删掉,管理者也能很方便地从历史版本记录中恢复最适合的文档 版本。系统还可以进行任意两个版本之间的对比,帮助用户找出它们之间 的差别。 5 文档的审核 在软件的开发过程中必须严格按照要求完成各阶段的文档编写工作。 在软件开发的一个阶段结束时,及时对该阶段的文档进行审核,并在审核 通过后形成文档的正式版本,并设正式版本号。文档的编写与软件生命周 期各阶段的关系如表3 - 1 所示。 表3 - 1 文档的编写与软件生命周期各阶段的关系表。观 可行性研需求分析软件设计开发 究与计划与测试 ”,。鬻 可行性研究报告 项目开发计划 唆 ,。 软件需求说明书 b 测试计划 j 。一w4 嚆 , 散,“二:,一。 乞 概要设计说明书11 j 详细设计说明书 ,f 数据库设计说明书 b +。懈。, 2 测试分析报告 :一j 毒 项目开发总结 玉,裔 6 文档的一致性管理 由于软件开发过程的各阶段文档都是相互关联的。在对已形成正式版 本的文档进行修改时,需要保持各阶段文档的一致性。本文将一个文档分 为若干个文档片段来进行管理,并在相关联的文档片段间添加关联关系, 以实现文档的一致性管理。此关联关系不仅要记录相关联的文档片段的编 西南交通大学硕士研究生学位论文第2 5 页 号,还要记录相应的文档片段的版本号。在对已形成正式版本的文档进行 修改时,要保证已建立关联关系的文档片段的一致性。 7 文档的修改管理 文档的修改管理包括对未形成正式版本的文档的修改管理和对己形成 正式版本的文档的修改管理。 只有项目组成员才能对本项目的文档进行修改。在对未形成正式版本 的文档修改前,系统先要根据用户的登录信息和项目成员表,判断此用户 是否有权限修改此文档。在确定用户有修改权限后,用户可以根据文档的 标识查看到此文档的最新版本,不需要用户手动更新文档。为了防止文档 修改时发生冲突,可以通过加锁控制的方式,防止在用户修改的同时,其 他用户对同一文档片段进行修改。在用户修改文档片段时,系统判断此时 是否有人在修改此文档片段。若有,则不允许对此文档片段进行修改。否 则,标记次文档片段有人在修改,用户完成对文档片段的修改,对修改内 容进行描述。在用户确认修改完成之后,系统将文档的内容、修改者的信 息、修改时间、更新描述保存到文档片段版本信息表中,并标记此文档片 段没有人在修改。同时找出本文档片段的最高版本号加一,生成新的版本 号。 本系统要求在后续阶段要对已形成正式版本的文档进行修改时,需要 由修改者提出修改申请,说明修改的内容、修改的文档片段,以及修改理 由等。由质量保证人员根据修改带来的影响等来审核是否可以进行修改。 若可以,则由相关人员修改相关的文档片段,由系统记录修改信息。同时, 在修改正式版本文档后,将文档片段的修改信息以及与之关联的文档片段 信息发送给相关人员。质量保证人员根据建立在此文档片段与其他文档片 段的关联关系对文档片段的编号及版本号,检查与此文档片段相关联的文 档片段是否己修改,在确认修改完成后要在修改后的文档片段间建立新的 关联关系。文档的修改通过审核后,将此文档设为新的正式版本,并设立 正式版本号,保存到文档库中。在修改完成时,系统向项目组内成员发送 文档的更新消息。 8 文档模板的管理 软件项目开发管理系统为用户提供文档模板,指导用户正确编写文档。 用户可以在创建文档时,采用某个文档模板来创建。用户也可以根据自身 需要修改并保存文档模板。 西南交通大学硕士研究生学位论文第2 6 页 3 4 2 任务管理与进度管理设计 由于关键任务和里程碑活动的完成情况直接关系到软件项目的进展情 况,在这里将任务管理与进度管理一起设计。其中,任务管理包括任务的 计划、分配、查询、修改等,进度管理主要包括进度监控和进度修改。 本文采用网络计划与进度计划相结合的方式对进度进行管理。因此, 在软件项目开始前,项目负责人先要将软件项目开发工作细化,画出网络 活动图,并计算出改软件项目的关键路径引,并在关键路径上设立里程碑。 在确定了关键路径和里程碑后,项目负责人通过本系统计划并分配任务。 在此阶段,项目负责人要确定任务名称、任务描述、任务类型、任务的承 担者、计划开始时间、计划完成时间,并由系统根据登陆用户的信息记录 任务的分配者等相关信息。另外,项目负责人在计划、分配里程碑活动时, 需要设置此任务完成后软件项目的下一阶段。 在软件项目开发过程中,项目负责人可以根据任务的类型、任务状态、 承担者等查看所有的任务信息,项目组成员可以按任务的类型、任务状态 查询分配给自己的任务。其中,任务类型分为一般任务、关键任务、里程 碑活动三种。任务有未分配、分配未开始、开始未完成、已完成四个状态。 系统可以根据用户权限和查询条件得到符合条件的任务列表,其信息包括 任务名称、任务类型、任务状态、计划开始时间、计划结束时间、实际开 始时间、实际结束时间等。 项目成员在查看到分配给自己的任务后,可以根据任务的类型、计划 开始时间、计划完成时间等信息决定先要完成的任务,并将任务状态改为 已开始末完成。在任务状态变为“已开始未完成时,记录当前时间为任 务实际开始时间。此时,项目成员开始执行任务。在任务完成时,在任务 完成时,用户可以将任务状态改为“已完成 ,记录当前时间为实际完成 时间。 对进度的审查分为定期和不定期两种。本文采用不定期审查,即当关 键任务和里程碑活动完成时,审查进度。在任务状态更改为“已完成”时, 系统首先判断此任务的任务类型。若为关键任务或里程碑活动,系统会将 记录的实际完成时间与计划完成时间进行比较。若实际完成时间比计划完 成时间晚,则表明该任务未能按计划时间完成,系统自动从项目成员表中 获取项目负责人信息,为项目负责人发送消息。消息格式为:项目名+ 任 西南交通大学硕士研究生学位论文第2 7 页 务名+ 计划完成时间推延至实际完成时间完成。 项目的实施与计划是互动的。项目的关键路径也不是一成不变。在项 目的实施过程中,关键路径可能发生改变。项目负责人可以根据消息对软 件开发中可能存在的风险予以关注和解决,并及时调整后续的项目计划和 安排,其中包括对关键路径的调整。本文对关键路径的调整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025能源集团所属铁法能源公司招聘45人笔试参考题库附带答案详解
- 2025湖南高速养护工程有限公司招聘劳务派遣员工55人(长期)笔试参考题库附带答案详解
- 卸车人员安全培训记录课件
- 2025广东韶关市曲江区国有资产投资经营有限公司招聘驾驶员1人笔试参考题库附带答案详解
- 2025年江西省水投江河信息技术有限公司社会招聘2人笔试参考题库附带答案详解
- 2025年山西大地环境投资控股有限公司所属企业社会招聘79人笔试参考题库附带答案详解
- 2025年中国石油集团昆仑资本有限公司公开招聘正式启动笔试参考题库附带答案详解
- 2025年中国出口信用保险公司浙江分公司校园招聘1人笔试参考题库附带答案详解
- 2025国家电投福建公司招聘1人(总经理)笔试参考题库附带答案详解
- 2025四川华芯鼎泰精密电子有限公司招聘产品设计工程师等岗位34人笔试参考题库附带答案详解
- YC/Z 550-2016卷烟制造过程质量风险评估指南
- 工程水文第3章课件
- GB/T 4032-2013具有摆轮游丝振荡系统的精密手表
- GB/T 34875-2017离心泵和转子泵用轴封系统
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- GA/T 1081-2020安全防范系统维护保养规范
- 02药物不良反应adr课件
- 施工项目成本管理课件
- 文物建筑保护修缮专项方案
- 营销与2008欧锦赛ktv渠道方案
- 故障录波器课件
评论
0/150
提交评论