《《黑龙江省烟草企业管理支撑系统》项目管理与实施》由会员分享,可在线阅读,更多相关《《黑龙江省烟草企业管理支撑系统》项目管理与实施(54页珍藏版)》请在金锄头文库上搜索。
1、山东大学硕士学位论文黑龙江省烟草企业管理支撑系统项目管理与实施姓名:张炯申请学位级别:硕士专业:软件工程指导教师:孙宇清20040312原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均己在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名:熟型1 1日期:3 。忆;t 、上关于学位论文使用授权的声明本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查
2、阅和借阅:本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。( 保密论文在解密后应遵守此规定)论文作者签名:雄导师签名:趸坌宴i 茎日期:皂:生:! !山东大学硕士学位论文摘要本文从项目管理和系统实施两个角度论述了黑龙江省烟草企业管理支撑系统的建设过程。系统主要是完成o A 、档案、内部网站和邮件四部分功能。项目的实施将实现黑龙江省烟草专卖局信息化管理,从而提高员工工作效率和企业竞争力。在黑龙江省烟草企业管理支撑系统的实施过程中存在一定困难。首先,系统结构复杂。系统包含四个模块,又使用W e b S p h e r
3、 e 和D o m i n o 两个平台,工作量较大,管理复杂,时间紧迫,技术人员有限。这样破坏项目管理中所要求的资源、进度和功能三方面的平衡。其次,系统之间的关系复杂,接口众多。对内要求o A 中的公文自动上网,办结的公文自动归档,网站的新闻也要归档。对外要求系统与国家烟草局的0 A 和省政府的O A 系统留出接口。系统将来还要与分销、专卖等系统在I B Mp o r t a l 5 1 的平台集成。再者,产品化问题。本项目定位于行业推广的产品。一方面,产品化要求对业务有透彻的了解;另一方面要求版本化,易于维护和升级。鉴于项目存在上述困难,从项目管理和系统实施两个角度进行规划和实施,具体包括
4、以下几个方面:一、选择M S F 作为该项目的管理方式,将项目的整个过程分成三次迭代:基础开发、省局机关版、全省运行版。通过分批交付来满足用户急需的功能。这样就使最困难的问题最先解决,减小项目的风险。二、采用W e bS e r v i c e 技术解决系统接口复杂的问题,为系统的每个模块定制接口。这样不仅使接口数量大大减少,而且提高了系统的可维护性。三、对于产品化问题,采用面向对象的方法分析和设计。面向对象方法学尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程,提高软件系统的稳定性、可维护性。系统目前按期处于第三次迭代的最后阶段,省局机关经过上
5、一迭代的工作已经正常运转,各地市都已处于试用阶段,其中哈尔滨和齐齐哈尔试用的最好。使山东大学硕士学位论文用系统的用户每天在3 0 0 5 0 0 之间,邮件的数据目前达到2 G 。用户对系统反映普遍良好。关键词:企业管理支撑系统项目管理W e bS e r v i c e 面向对象方法山东大学硕士学位论文A B S T R A C TI nt h i sp a p e r ,t h ec o n s t r u c t i n gp r o c e s so ft h eS u p p o r t i n gS y s t e mo nM a n a g e m e n to fT o b a
6、 c c oC o r p o r a t i o n si nH e i l o n g j i a n gP r o v i n c ei sd i s c u s s e df r o mt w oa s p e c t sw h i c ha r ep r o j e c tm a n a g e m e n ta n ds y s t e mi m p l e m e n t a t i o n T h es y s t e mh a sf o u rf u n c t i o n s :O A ,a r c h i v e s ,i n n e r w e b s i t ea n
7、 dm a i l T h ei m p l e m e n t a t i o no ft h i sp r o j e c tw i l le n a b l et h eT o b a c c oC o r p o r a t i o n si 1 3H e i l o n g j i a n gP r o v i n c et oa c h i e v ei n f o r m a t i o n a l i z e dm a n a g e m e n t ,s oa st oi n c r e a s et h es t a f f s w o r m n ge f f i c i
8、 e n c ya n dc o m p e t i t i o no ft h ec o r p o r a ti o n T h e r ea r es o m ed i f f i c u l t i e si nt h ei m p l e m e n t a t i o no ft h eS u p p o r t i n gS y s t e mo nM a n a g e m e n to fT o b a c c oC o r p o r a t i o n si nH e i l o n g j i a n gP r o v i n c e F i r s t l y ,t
9、h es y s t e ms t r u c t u r ei sc o m p l i c a t e d T h es y s t e mi sc o m p o s e do ff o u rm o d u l e s ,a n dt w op l a t f o r m sw h i c ha r eW e b S p h e r ea n dD o m i n oa sw e l l T h ew o r k l o a di sl a r g e ,t h em a n a g e m e n ti sc o m p l i c a t e d ,t h et i m ei sp
10、 r e s s i n ga n dt h et e c h n i c a ls t a f f sa r e1 i m i t e dw h i c hb r e a k st h eb a l a n c ea m o n gr e s o u r c e s ,r a t eo fp r o c e s sa n df u n c t i o n sw h i c ha r er e q u i r e dh yp r o j e c tm a n a g e m e n t S e c o n d l y ,t h er e l a t i o n sa m o n gt h es
11、 y s t e m sa r ec o m p l e xa n dt h ei n t e r f a c e sa r en u m e r o u s I n s i d ei t i sr e q u i r e dt h a tt h ed o c u m e n t si nO Ag e ta c c e s st oi n n e r w e b s i t ea u t o m a t i c a l l y t h ef i n i s h e dd o c u m e n t sf a l li n t ot h ea r c h i y e sa u t o m a t
12、 i c a l l Y ,s od ot h en e w so ni n n e r - w e b s i t e O u t s i d ei ti sr e q u i r e dt h a tt h ei n t e r f a c et h es y s t e ma n dt h e0 A o f b o t ht h eN a t i o n a lT o b a c c oB u r e a ua n dp r o v i n e i a lg o v e r n m e n t ss h o u l db es e ta s i d e I nt h ef u t u r
13、 e t h es y s t e ms h o u l da l s ob ei n t e g r a t e dw i t hr e s p e c t i v ev e n d i t i o na n dm o n o p o l i z a t i o ne t c o nt h ep l a t f o r mo fI B Mp o r t a l 5 1 T h i r d l y ,i ti st h ep r o b l e mo fp r o d u c t i z a t i o n T h i sp r o j e c to r i e n t a t e do nt
14、 h ep r o d u c t sw h i c hi sp o p u l a r i z e db yt r a d e O no n eh a n d ,t h ep r o d u c t i z a t i o na c q u i r e st h ef u l lu n d e r s t a n d i n go ft h eb u s i n e s s :o nt h eo t h e rh a n d ,t h ev e r s i o ni sa c q u i r e ds oa st ob ee a s yt ob em a i n t a i n e da n
15、 du p g r a d e d A sf o rt h ed i f f i c u l t i e sm e n t i o n e da b o v e ,w es h o u l dp l a na n di m p l e m e n tf r o mt w oa s p e c t sw h i c ha r ep r o j e c tm a n a g e m e n ta n ds y s t e mi m p l e m e n t a t i o n I nd e t a i l s ,t h ef o l l o w i n gs e v e r a lp o i n
16、 t sa r ei n c l u d e d F i r s t l y ,t oc h o o s eM S Fa st h ew a yo fi m p l e m e n t a t i o nf o rt h i sp r o j e c t a n dd i v i d et h ew h o l ep r o c e s so ft h ep r o j e c ti n t ot h r e ei t e r a t e s :t h eb a s i ce x p l o i t a t i o n ,t h ep r o v i n c i a ld e p a r t
17、m e n tv e r s i o na n d t h ev e r s i o no p e r a t e di nt h ew h o l ep r o v i n c e S e v e r a ld e l i v e r i e sm e e tt h eu s e r s u r g e n tn e e d 。w h i c he n a b l et h em o s t l yh a r dp r o b l e m st ob es o l v e df i r s t l ys oa st or e d u c et h er i s k S e c o n d l
18、 Y t h ec o m p l e x i t vo ft h ei n t e r f a c eo ft h es y s t e mC O U l db es o l r e db yW e bS e r v i c ew h i c hi st os e ta ni n t e r f a c ef o r 。e a c hm o d u l ei nt h es y s t e m T h e r e f o r e ,n o to n l Yd o e si tr e d u c et h en u m b e ro ft h ei n t e r f a c e s ,b u
19、 ta l s oi n c r e a s et h em a i n t a i n a b i l i t yo ft h es y s t e m T h i r d l Y ,a sf o r t h e3山东大学硕士学位论文p r o d u c t i z a t i o n ,o b j e c t o r i e n t e dm e t h o di st a k e nt oa n a l y z ea n dd e s i g n T h es u b j e c to fo b j e c t o r i e n t e dm e t h o di st oi m i
20、 t a r et h ew a yo ft h i n k i n gt h a to u rh u m a nb e i n g sa r eu s e d ,s oa st o1 e tt h ew a ya n dp r o c e s so fd e v e l o p i n gs o f t w a r eg e ta sm u c ha sc l o s et ot h ew a ya n dp r o c e s so fk n o w i n gt h ew o r l da n ds o l v i n gt h ep r o b l e mo fh u m a nb e
21、 i n g s ,a n di n c r e a s et h es t a b i l i t ya n dm a i n t a i n a b i l i t yo ft h es o f t w a r es y s t e m A tp r e s e n t ,t h es y s t e mi sa tt h e1 a s ts t a g eo ft h et h i r dp e r i o di t e r a t i v e ,t h ep r o v i n c i a ld e p a r t m e n th a sb e e ni n g o o do r d
22、 e rt h r o u g h1 a s tp e r i o di t e r a t i v e ,a 1 1t h es u b a r e a sh a v eb e e nn o wi nt h es t a g eo fp r o b a t i o na m o n gw h i c hH a r b i na n dQ i q i h a rd ot h eb e s t T h en u m b e ro ft h es y s t e mu s e r si sf r o m3 0 0t o5 0 0p e rd a ya n dt h ed a t ao fm a i
23、 i si su pt o2 G G e n e r a l l ys p e a k in g t h eu s e r sh a v eag o o dc o m m e n to nt h es y s t e m K e y w o r d s :T h eS u p p o r t i n gS y s t e mo nM a n a g e m e n tP r o j e c t M a n a g e m e n tW e bS e r v i c eO b j e c t O r i e n t e dM e t h o d4山东大学硕士学位论文第一章项目的背景和特点1 1
24、项目背景随着多年的信息化建设,政府企业中业务系统的信息化已经比较成熟,形成了业务支撑系统,但管理工作却缺乏信息系统的有力支撑,无法实现信息流、工作流在企业内全面的自动化,无法实现信息化投资收益的最大化,削弱了企业的竞争力。办公自动化系统是烟草行业金叶四条主线之一。烟草行业办公自动化系统目前也有不少,但省级的包括各地市的集中式的办公自动化系统还十分少见。1 2 项目功能简介黑龙江省烟草企业管理支撑系统是山东浪潮齐鲁软件产业股份有限公司为黑龙江省烟草专卖局( 公司) 开发的大项目的一个组成部分。黑龙江省烟草大项目包括全省的分销、专卖、财务、烟厂E R P 系统、办公自动化和辅助决策六个子项目。黑龙
25、江省姻草企业管理支撑系统是完成其中办公自动化的部分。如图1 1 所示。山东大学硕士学位论文图1 1 黑龙江大项目总体结构图黑龙江省烟草企业管理支撑系统主要目标是建立覆盖全省的集中式办公系统的建设,包括O A 、邮件、档案管理、内部网站四个模块。系统的功能如图1 2 。山东大学硕士学位论文图1 - 2 系统功能图1 3 项目特点1 3 1 系统本身结构复杂系统的结构复杂,整体的软件架构是:O A 和邮件系统运行在I B M R S 6 0 0 系列的M 8 5 小型机上,操作系统是A I X 5 1 。档案和网站运行在浪潮N F 4 2 0 服务器上,操作系统是W i n 2 0 0 0 。关系
26、型数据库采用D B 27 2 位于M 8 5 。文档型数据库采用D o m i n 0 6 0 。架构的应用平台采用W e b S p h e r e 4 0 和D o m i n 0 6 0 。如图卜3 所示。山东大学硕士学位论文图I - 3 系统软件结构图在W e b S p h e r e 上实现档案管理和内部网,在D o m i n o 上实现办公和邮件,并在L D A P 上实现办公、邮件、档案和内部网的单点登陆。一般的项目的平台是一种。而这个项目中根据实际需要使用W e b s p h e r e 和D o m i n o 两个平台,工作量较大,管理复杂,时间紧迫,而项目又肩负着产
27、品开发的任务。技术人员又是固定的。这样项目管理中的“均衡三角型”( 资源、进度和功能) 陷入矛盾。1 3 2 系统之间的关系复杂在黑龙江省烟草企业管理支撑系统项目模块之间的联系非常密切,系统要求O A 中的公文办结后自动上网,办结的公文自动归档,邮件本身也是O A 中的一部分,内部网站的新闻可以进行归档处理。此外,系统还集成了书生印章系统。在内部系统实现了各模块的单点登陆。在外部,系统要求和国家烟草局的O A 进行接口,还要对省政府的O A 系统留出接口。系统将来还要与分销、专卖等系统在I B Mp o r t a l 5 1 的平台集成。山东大学硕士学位论文图卜4 复杂连接示意图系统内外接口
28、众多,点对点的连接并制作接口可能会使系统变得异常复杂,一个模块的变动可能会导致其他模块的连锁反映。导致系统的可维护性降低。见图1 - 4 。1 3 3 产品化黑龙江省烟草企业管理支撑系统从一开始就定位于公司在行业内推广的产品。产品化一方面要求对业务有更深入的了解,这样做出的软件才能应用面广;另一方面要求的结构好,有利于以后产品升级的工作顺利开展。这就要求我们在分析和设计的时候多考虑一些情况,使系统更加灵活,易于修改。山东大学硕士学位论文第二章相关理论和技术2 1 前沿软件工程技术当前,软件是朝着规模更大更复杂的方向发展。一方面是因为计算机的处理能力在增大,导致用户产生更多的期望;另一方面,这种
29、趋势也受到为交流各种信息( 从纯文本、格式化文本、图像、图表到目前多媒体) 而不断扩大互联网的使用的影响。我们需要更好的软件,但是,这种需要反过来又使得软件越来越复杂。而现在大多数企业还是采用2 5 年前的开发方法,导致企业不能满足所需的软件复杂要求。下面介绍几种现代软件开发方法。2 1 1 统一过程( R U P )R U P ( R a t i o n a lU n i f i e dP r o c e s s ) 是R a t i o n a l 公司推出的基于面向对象建模技术的软件方法学。R U P 定义了一系列的过程元素,如角色、活动和产物,通过适当的组合,能帮助组织有效地管理软件项
30、目。特点是用例驱动,以体系结构为中心,迭代、增量的开发过程。R U P 又是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模对R U P 进行裁剪和修改,以制定出合乎需要的软件工程过程。用例模型是需求分析的结果。它从用户的角度描述该系统应该实现的功能。利用U s eC a s eM o d e 可以有效地界定系统范围及其行为,并为用户及开发人员认同。U s eC a s eM o d e l 主要由U s eC a s e s 和A c t o r s 构成。U s eC a s e 是系统执行的一系列行为。并为A c t o r 生成一些有意义的结果。A c t o r 是
31、所有与本系统有交互的外部系统,可以是人、其他软件系统等。U s eC a s e 作为分析与设计工作流的输入,是实现分析与设计模型的基础。设计模型作为实现工作流的规格说明书,它自然要实现U s eC a s e 模型所定义的功能。同样在测试工作流中,U s eC a s eM o d e l 组成测试实例,用来有效地校验整个系统的正确性。“统一过程”是以基本架构为中心的,软件系统的基本架构也被描述要创建山东大学硕士学位论文的系统的各种不同视图。软件基本架构这个概念体现了系统最为静态和动态的方面。基本架构可以根据企业的需求来设计,而这种需求则是由用户和其他利益关联人所感知,并反映在用例之中。基本
32、架构是一个关于整体设计的视图,在这个视图中,省略了一些细节,以使软件的更为重要的特征体现得更为明显。由于什么东西是重要的部分取决于主观判断,而这种判断又来自于经验,因此,基本架构的价值取决于被指派完成这一任务的人员。面向实践的迭代是软件建造的基本特性。R U P 规定了创意、求精、构造和移交可迭代重复的4 个阶段且每个阶段内也可不断重复和修改。每次迭代都对系统产生新的增量,使技术人员可以首先完成系统的核心部分,对初步的系统进行评估是否满足系统原先的设计要求,如果出现严重问题,可以及时进行调整。2 1 2 极限编程0 【P )极端编程( e X t r e m eP r o g r a m m
33、i n g ) 是一种开发纪律,以简单性、交流、反馈和勇气为基本宗旨。它的做法是以有效的实践规则将整个团队紧密联系起来,通过充分的反馈使团队能随时知道自己目前的状况和恰当的调节规则以适应自己的特殊情况。极限编程是一套软件开发方法,由一系列与开发相关的规则、规范和惯例组成。其规则和文档较少,易于小型团队的开发使用。X P 认为有效的软件开发活动是:需求、设计、编程和测试。其核心实践有:整体团队、规划策略、小发行版、客户测试、简单设计、成对编程、测试优先开发、设计改进、持续集成、集体代码所有权、编码标准、系统比喻和可接受的步伐。在极端编程中,每一个项目组成员都是“团队”完整的一部分。团队是围绕着一
34、个每天和团队坐在一起共同工作的商业代表“客户”建立起来的。团队采用一种相对简单的方式来进行计划和跟踪,决定下一步要做什么和预计项目什么时候完成。团队都聚焦于商业价值,通过一系列的测试和完全集成的小的发布来开发软件。团队通过结对和小组的方式共同工作,通过简单设计和强制测试的代码,不断的提升设计以保证设计总是适合当前的需求,团队总是保持系统能够集成并且在所有的时间运行。程序员以结对的方式编写所有的产品代码,并且在所有时间内都共同工作。他们以相似的形式编码以保证所有成山东大学硕士学位论文员都可以按需要理解和改进所有的代码。团队分享一个公共并且简单的系统蓝图。所有项目组成员可以按照一种不时保持同步的节
35、奏进行工作。X P 采用原型法。将一个软件开发项目分为多个迭代周期,每个周期实现部分软件功能。在每个周期都进行提出需求、设计软件架构、编码、测试、发布等软件开发的全过程。每个周期都进行充分的测试和集成。这样的好处是可以不断从客户方面得到反馈,更逼近实际的软件需求。通过频繁的重新编码的过程,可以非常快速地适应功能更改的需求,同时增加软件的易维护性。在不断的迭代中,避免架构设计的重大失误造成的软件不能如期交工,避免了软件设计的风险。2 1 3 微软软件开发解决方案框架( M S F )微软解决方案框架结构( M S F ) 是一组建立、开发和实现分布式企业系统应用的工作模型、开发准则和应用指南,包
36、含三个基础模型:风险模型,组队模型和过程模型。M S F 的风险管理是一种主动的风险管理。它覆盖整个软件开发周期,涉及所有的关键人和过程。具有一定的正式性,要求项目决策必须考虑风险。组队模型是平等的小组模型,由产品管理、程序管理、开发、测试、用户体验和发布管理6 个平等的角色组成。这六个角色分别对应项目成功的六个指标:客户满意:在项目的限定条件下交付:工作产品应符合用户需求;处理完已知问题发布;提高用户的易用性;平滑部署和不断管理。过程模型是基于阶段的、里程碑驱动的迭代模型。它吸取了瀑布模型和螺旋模型的优点。2 1 4 前沿软件工程技术的比较R U P 的优点是定义了U M L 建模技术、阶段
37、化开发,缺点是不支持特征驱动进度安排和重整活动。定义最严格,一个小的项目也要上百个文档。X P 的优点是详细定义了项目的标准及迭代设计、编码和测试的工程方法,缺点是忽略了业务建模、体系结构和部署工作。M S F 的优点是细致地定义了业务建模技术、小组模型和测试地工程方法。缺山东大学硕士学位论文点是没有说明详细的软件过程步骤。根据上述优缺点,一般小型的项目如时间1 个月,2 3 个开发者的情况,X P 最适合。对于中型的项目,如1 0 个月,1 5 人的项目采用M S F 最好。对于大型项目R U P 最为合适。这样根据黑龙江省烟草企业管理支撑系统的实际情况,在项目里采用了M S F 。2 2
38、面向对象的分析与设计从事软件开发的人常常有这样的体会:在软件开发过程中,使用者会不断地提出各种更改要求,即使在软件投入使用后,也常常需要对其做出修改。在以前用结构化开发的程序中,这种修改往往是很困难的,而且还会因为计划或考虑不周,不但旧错误没有得到彻底改正,又引入了新的错误;另一方面,在过去的程序开发中,代码的重用率很低,使得程序员的效率并不高,为提高软件系统的稳定性、可修改性和可重用性,人们在实践中逐渐创造出软件工程的一种新途径一一面向对象方法学。2 2 1 基本原理面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与
39、过程。由于客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的,因此我们把客观世界中的实体抽象为对象( O b j e c t ) 。面向对象的观点认为计算机程序的结构应该与所要解决的问题一致,而不是与某种分析或开发方法保持一致,他们的经验表明,对任何软件系统而言,其中最稳定的成分往往是其相应问题论域( p r o b l e m d o m a i n ) 中的成分。面向对象方法具有下述四个要点:1 、认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可山东大学硕士学位论文以由比较简单的对象以某种方式组合而成。按照这种观点,可以认为整个世界就是一个最复杂的对象。因此,面向对
40、象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。2 、把所有对象都划分成各种对象类( 简称为类C l a s s ) ,每个对象类都定义了一组数据和组方法,数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。3 、按照子类( 或称为派生类) 与父类( 或称为基类) 的关系,把若干个对象类组成一个层次结构的系统( 也称为类等级) 。4
41、、对象彼此之间仅能通过传递消息互相联系。2 2 2 面向对象分析( O O A )面向对象软件开发方法采用面向对蒙分析( O b j e c t O r i e n t e dA n a l y s i s ,简称O O A ) 技术对问题进行分析建模,它将问题表述为“对象+ 关联”的形式,其中。对象描述问题空间中的事物。关联描述问题空间中事物和事物之间的关系。因此,面向对象分析工作主要包括对问题空间中对象的确定和对对象和对象之间的关联的确定,对对象的确定包括对对象属性和行为的确定,对关联的确定包括对对象结构关系、实例关联关系和消息关联关系的确定。首先,根据对问题的调查了解编写描述问题的剧本,
42、从剧本中找出问题空间中存在的事物,将事物抽象成对象:接着通过寻找和确定结构进一步扩展问题空间中的对象,根据需要按照主题将问题分解为不同的子问题,确定对象属性、对象和对象之间的实例关联:然后,从剧本中找出问题空间中存在的行为,通过分析行为和事物之间的关系确定对象的行为,通过分析对象行为之间关系确定建立对象之间的消息关联;最后对对象规格进行详细说明,按照有关规范编写软件需求规格说明书和进行复审,完成对问题的面向对象分析建模。山东大学硕士学位论文2 2 3 面向对象设计( O O D )面向对象软件开发方法采用面向对象设计( O b j e c t O r i e n t e dD e s i g
43、n ,简称O O D ) 技术进行问题解决方案的设计工作,它将问题的解决方案表述为类+ 关联的形式,其中,类包括问题空间类、用户界面类、任务管理类和数据管理类,是从设计的角度出发对问题解决方案中的对象的抽象和描述,关联则用于描述这些类和类之间的关系。因此,面向对象设计工作主要包括问题空间类、用户界面类、任务管理类和数据管理类的设计。首先,根据在分析阶段建立起来的问题的面向对象分析模型的基础上设计建立问题解空间中的问题空间类;然后通过分析用户的具体使用要求,在问题空间类的基础上设计建立用户界面类、任务管理类和数据管理类:最后,对类的设计进行详细说明,按照有关规范编写设计说明书和进行复审,完成对问
44、题的面向对象设计建模。2 3W e bS e r v i c e 技术W e bS e r v i c e 本质上是一套应用组件,可以通过W e b 协议和数据编码机制,对组件进行访问,实现企业级的应用集成。现有企业级的系统都会遇到与原有系统集成的问题,原来的系统一般都是在不同的时期开发的,可能在各种平台并且用不同语言开发,集成起来非常困难。W e bS e r v i c e 技术基于一系列开放的I n t e r n e t 标准:W e bS e r v i c e 描述语言( W S D L ,用于服务描述) ,统一描述、发现和集成规范( U D D I ,用于服务的发布和集成) ,简
45、单对象访问协议( S O A P ,用于服务调用) 。通过w 曲S e r v i c e ,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。W e bS e r v i c e 、注册表以及服务消费者之间的交互见图2 - 1 。山东大学硕士学位论文图2 1W e bS e r v i c e 、注册表以及服务消费者之间的交互X M L可扩展的标记语言( ) ( M L ) 是W e bS e r v i c e 平台中表示数据的基本格式。除了易于建立和易于分析外,X M L 主要的优点在于它既与平台无关,又与厂商无关。无关性是比技术优越性更重要的:软件厂商是不会选择一个
46、由竞争对手所发明的技术的。X M L 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。W 3 C 制定的X M LS c h e m a ( X S D ) 就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。W e bS e r v i c e 平台就是用X S O 来作为其数据类型系统的。当你用某种语言来构造一个W e bS e r v i c e 时,为了符合W e bS e r v i c e 标准,所有你使用的数据类型都必须被转换为X S D 类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会
47、根据你的需要修改一下转换过程。S O A PW e bS e r v i c e 建好以后,你或者其他人就会去调用它。简单对象访问协议( S O A P )提供了标准的R P C 方法来调用W e bS e r v i c e 。S O A P 规范定义了S O A P 消息的格式,以及怎样通过H T T P 协议来使用S O A P 。S O A P 也是基于X M L 和X S O 的,X M L 是S O A P的数据编码方式。W S D LW e bS e r v i c e 描述语言( W S D L ) 基于X M L 的语言,描述W e bS e r v i c e 及其函数、1
48、 6山东大学硕士学位论文参数和返回值。因为是基于X M L 的,所以W S D L 既是机器可阅读的,又是人可阅读的。山东大学硕士学位论文第三章项目管理本章主要论述项目管理的三个基础模型组队模型、过程模型和风险模型在项目中的应用。3 1 组队模型根据角色合并的原则,一个最小的项目组可以只有三个成员:项目组中的程序经理兼发布管理的角色,产品经理兼测试和用户体验的角色,再加上一个开发人员。根据黑龙江省烟草企业管理支撑系统项目的实际情况,设置四个角色,将测试角色兼用户体验角色,程序管理兼发布管理。安排程序管理角色还承担测试中的压力测试部分。合并后黑龙江省烟草企业管理支撑系统项目中的角色如图3 1 所
49、示。图3 - 1 项目角色合并图山东大学硕士学位论文各角色人力资源分配情况:组队角色角色合并分配人员程序管理发布管理张炯产品管理黄睿,黄磊开发张尧臣,赵鹏,周可,贾力,王治国,武蒙,迟钰沛测试用户体验周颖,朱宝军,杨蓓蓓,冯淑芸,张炯( 压力测试)用户体验周颖,朱宝军发布管理朱宝军开发和测试人员般不与客户打交道。对外,用户体验、产品管理和程序管理人员就业务问题分别和最终用户、客户和规划人员交流;用户体验、配置管理和程序管理就技术问题分别跟最终用户、营运和支持小组及指导委员会打交道。其中开发人员和测试人员的交流最为密切,在项目过程中,这两种角色始终在一个地点工作,保持密切的交流。在项目组内,小组
50、成员是平等的。项目的成功依赖于每个成员的工作小组成员必须互相信任对方的工作。同时,还推进了零缺陷意识,就是尽可能高质量的完成工作,尽可能早的发现并除去缺陷,这并不意味着追求产品没有缺陷。这样就便得整个产品的质量可以大大提高。为保证项目组的内部交流。还制定以下措施:建立一个文档库,所有的项目文档都放在里面,所有项目组成员都可以查阅。项目实施决策小组月例会:每月的最后一个星期五下午项目实施小组周例会:周五或周一上午。项目决策组周例每月最后一个星由项目决策小组主要成员参加了解项目的进展,并解决项会期五下午目中的问题,确定下一阶段工作计划项目实施组周例每周五上午项目实施组所有成员汇报项目进展,讨论下周
51、工作计划项目进展汇报会根据项目进度商由项目高层领导小组、项目实旄汇报项目的进展,听取领导定小组主要成员参加的指示山东大学硕士学位论文项目管理产品管理用户教育实旆维护最终用户在功能需求设计根据需要随时面对面在项目开发的前( 公司实际使用阶段互相交流。交流,产品管理负责期,负责向用户本系统的工作人人应向用户提供产品提供程序的运行员)在部署阶段,了解的开发进度并解释最界面,在项目开用户的要求。终用户的种种疑问,发完毕后负责为同时负责向产品开发用户演示程序的人员传达用户的改进各种功能和操作需求。方法,保证用户彻底地掌握本系统的操作,使系统能真正的运行客户在项目进行的整在项目进行的整个阶与客户进行交在项
52、目的开发接近( 公司信息中个阶段。进行面对段,进行直接的交流,流,制定培训计完成时,同最终用户心)面的交流,保证项了解客户对项目的看划,讨论培训教谈论系统部署过程目的顺利进展。法和要求。材的制作中的具体问题如:服务器的部署地点等。在功能设计阶段在设计阶段进行交在项目的试运行阶进行交流,确定功流确定功能需求段解决用户遇到的能需求各种问题。项目领导小组定期向领导小组定期向领导小组汇汇报,听取指示。报,听取指示,并在并在篱要时。请求需要对。请求领导小领导小组的支持组的支持3 2 过程模型为了减小项目的风险,使关系到系统成败的核心部分尽早生成,而将项目的整个过程分成三次迭代:基础开发、省局机关版、全省
53、运行版。第一次迭代:基础开发主要目标是根据从各方面采集的需求形成系统雏形。其中包括O A 系统、邮件系统、档案系统、网站的基础开发工作,形成可运行的系统。这样,通过一个可运行的简单系统,一方面可以通过该简单系统和用户更深入的交流;另一方面,可以通过这个简单系统对系统将来的性能进行评估,山东大学硕士学位论文看是否能达到设计要求。第二次迭代:省局机关版主要目标是根据从黑龙江省烟草专卖局( 公司) 办公室进行的需求调研,在上一版系统的基础上进行进一步开发。并在省局内部试运行。第三次迭代:全省运行版主要目标:产生可以让全省各地市也可使用的版本。其中包括o A 和邮件系统的各地市使用开发和部分性能调优的
54、措施。这三次迭代每次迭代又分为:构想、计划、开发、稳定、发布五个阶段,与之对应有五个里程碑:目标批准、项目计划批准、功能完成、发布。血下图3 2 ,图3 3 所示。_ ”誊剜瑟黧磐瓣纛二i ;j i j 蠹甏隧囊翻i 爱j - j 铡囔冁:慧鬻熬蟊i 穆燃熙;擎 重零赍疆名,I 二l曰第一次选代基础并蹙8 s 工作日2 0 0 3 年T 丑2 e E l2 0 0 3 年1 1 月2 1 日毛匣构想5 工作日2 3 年T 月舶日2 0 0 3 年畦i l 日3匦计划tO工作日即口3 年日月4 日2 0 0 3 年8 , q5 日2屋并麓如工作日2 0 0 癣0 , E 1 e E l2 0 0
55、 3 年z o , qo H3S _窭稳定工作日2 0 0 3 年o 月1 3 目2 Q Q 3 :E F l l 县! 月t邑盘布1 0 工作日2 0 0 3 年1 月l o 日2 0 0 3 年“月2 l 臼5T曰蕈= 砍选代省局机关震5 B 工作日? 2 0 0 3 年1L H 2 4 日2 0 0 4 年2 月l g 日lB构想3 工作日2 0 0 3 年饵2 4 E 2 0 0 3 年“月2 6 日g计划T 工作日2 0 0 3 年:月2 T 日2 0 0 3 年1 2 月5 R81 0开盐2 s 工作日2 0 0 3 年2 月8 日2 4 年1 月g 日9l I话定9 工作日? 2
56、 0 口4 每!月2 日2 0 0 4 年1 月z g E t1 01 2发布1 5 工作日2 0 0 4 年月3 0 日2 叩4 年2 月e 日儿i j曰第三谈迭代全省矗存重9 5 工传日2 0 0 4 年2 q 2 0 县2 年T 胄L 日Tl I,檄5 工柜日2 凸0 4 年2 男2 。日瑚4 年z 月强日i S计划1 0 工作日踟4 年2 月z 丁白4咖4 年3 月1日1 41 8并发“j o 士傩目2 4 年3 月2 日龃口4 年4 月经日1 5l T稳遣1 0 工作日2 0 0 q 年4 E J 2 3 H2 叩4 年5 月6 日1 6奠粤,爱希。4 0 工傩目2 4 年s 月T
57、目2 0 帆年T 月1 日l T图3 2 项目计划山东大学硕士学位论文1 1kl i r a、l 广吼I 图3 3 项目技术甘特图只所以将项目分成三次迭代,是因为系统较为复杂,无法在客户要求的时间完成全部功能。而且用户对需求无法一次提的很具体,所以在第一次迭代完成用户最关心的问题,做出来再和用户交流,再在这个基础上对系统细化,满足用户的特殊需要,如和书生印章继承,形成省局机关版。在从省局机关版的基础上征求各地市的需求,形成最终的版本。3 3 风险模型软件开发延期、超预算及低质量导致项目失败,开发出的软件达不到预期的功能和性能,这些可能的失败称之为风险。简单的说,风险就是软件潜在或许发生的问题。
58、风险还可以定义为损失或受伤害的可能性。每一个项目都会面临风险。因此,成功的管理风险对项目至关重要。在管理风险时需要主动地决策和行动,不断评估,不断处理。风险管理的策略是:降低、转移和避免。降低风险是减少风险发生的可能性或降低风险发生后的影响。转移风险可以把有风险的事件转包给有能力处理它的一方去解决。避免风险是采用风险小的做法。山东大学硕士学位论文在本项目中也存在不少风险,对于风险的处理分五个步骤:1 、标识风险。本项目可能有那些风险,什么性质,记入文档,以便小组能够在风险影响到项目之前处理风险。2 、分析风险。把风险的数据转化成信息,以便小组进行决策。3 、风险计划。把风险的信息变为决策和动作
59、,即打算如何处理风险。4 、追踪风险。专人监控风险状态,查看风险走势。5 、控制风险。在项目的日常管理中时刻考虑风险,并保证风险管理有较高的优先级别。这五个步骤都是围绕着风险评估文档完成的。风险模型如图3 - 4 。图3 - 4 风险模型项目风险表风险分类概率影响贵任人提前解决办法最终用户拒业务3 0 2项目管理培训绝系统系统过于复项目管理4 0 3程序管理加强管理杂系统接口过技术4 0 3程序管理W e bS e r v i c e 技术多员工缺乏经员工2 0 3用户教育培训山东大学硕士学位论文验产品化项目管理3 0 3项目管理面向对象分析和设计客户可能提产品管理8 0 2产品管理多和用户交
60、流,固定需求出修改需求变更流程,加强控制山东大学硕士学位论文第四章项目实施要点4 1W e bS e r v i c e 接口由于系统内外部接口众多,如果为系统内部每两个子系统单独建立连接是非常复杂的并且可能导致系统的不稳定,最重要的是不能对将来可能出现的新的系统提供支持,所以系统从一开始就将系统的接口技术选型定位在W e bS e r v i c e 技术上。根据系统之间互相调用的情况对采用了W e bS e r v i c e 制作接口。W 曲S e r v i c e ,是一种松散的服务捆绑集合形式( 也可以说是一个特别的解决方案) ,能够快速、低代价她开发、发布、发现和动态绑定应用。4
61、 1 1 解决思路解决思路,为每个模块根据其功能用W e bS e r v i c e 进行封装,其他系统只能够看到和利用的是该模块提供的接口其他系统不必关心其他交互模块内部的情况,这样一个模块内部的修改不会影响其他模块,提高了系统的可维护性。利用W e bS e r v i c e 技术同时实现了系统W e b S p h e r e 和D o m i n o 异构平台之间的交互。系统在内部主要的接口有:l 、办结的公文自动归档;2 、办结可上网的公文自动上网:3 、网站新闻的定期归档。4 1 2 技术实现在档案模块实现S a v e N e w s 来保存网站的新闻。实现S a v e N
62、 e w D o c 实现保存新的公文。在网站模块实现D i s p N e w D o c 。如图4 1 所示。山东大学硕士学位论文图4 - 1 系统主要的接口( t ) O A 应用程序向网站的W e bS e r v i c e 程序发送一个D i s p N e w D O C 的消息,将办结的公文发布到网站上,实现公文发布自动上网。( 2 ) 与此同时,O A 应用程序向档案的W e bS e r v i c e 程序发送一个S a v e N e w D O C 的消息,将办结的公文存储到档案系统中,实现公文的自动归档。( 3 ) 网站应用程序向档案的W e bS e r v i
63、c e 程序发送一个S a v e N e w s 的消息,实现网站新闻的归档工作。J a v a B e a n 的源代码:p u b li cc l a s sS a v e N e w D o c B e a n p u b l i ci n tS a v e N e w D o c ( S t r i n gA r ,i n tL o c ,S t r i n gh r P r o c e s s ) i n tf l a g = O :I l ls u c c e e d0f a i li f ( ! ( A r e q u a l s ( ) L o c = = O ) ) e r
64、 r o ri n p u t山东大学硕士学位论文s a v ean e wA r c h i c ei f ( A r s s a v e D o c ( A r ,L o c ,A r P r o c e s s ) 1 )c a l lf l a g = l :s u c c e e d)r e t u r nf l a g :r e t u r np u b li ci n tS a v e N e w S ( i S t r i n gN e w s ,i n tL o c ) fi n tf l a g = O :1s u c c e e d0f a i li f ( ! ( N
65、e w s e q u a l s ( ) L o c = = O ) ) e r r o ri n p u t(b e g i ns a v ean e wA r c h i c eif ( A r s s a v e D o c ( N e w s ,L o c ) )c a llf l a g = l :s u c c e e d)r e t u r nf l a g :r e t u r n)W S D L 文件内容: w s d l :p a r tn a m e = S a v e N e w S R e t u r n “t y p e = 。x s d :i n t 。n w
66、s d l :p a r tn a m e = N e w s t y p e = x s d :s t r i n g “h w s d l :p a r tn a m e = “S a v e N e w D o c R e t u r n 4t y p e = x s d :i n t “b2 S山东大学硕士学位论文 w s d l s o a p :o p e r a t i o ns o a p A c t i o n = n w s d l s o a p :b o d ye n c o d i n g S t y l e=”h t t p :s c h e m a s x m l
67、 s o a p o r g s o a p e n c o d i n g “n a m e s p a c e = h t t p :D e f a u l t N a m e s p a c e u s e = + e n c o d e d n2 0山东大学硕士学位论文验证代码:p u b l i cc l a s sS a v e N e w D o c B e a n S e r v i c e T e s t C a s ee x t e n d sj u n i t f r a m e w o r k T e s t C a s e p u b li cS a v e N e
68、w D o c B e a n S e r v i c e T e s t C a s e ( j a v a 1 a n g S t r i n gn a m e ) s u p e r ( n a m e ) :p u b l i cv o i dt e s t l S a v e N e w D o c B e a n S a v e N e w D o c 0t h r o w sE x c e p t i o n D e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B e a n S o a p
69、B i n d i n g S t u bb i n d i n g :t r y b i n d i n g=( D e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B e a n S o a p B i n d i n g S t u b )n e wD e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B e a n S e r v i c e L o c a t o r0 g e t S a v e N e w D
70、o c B e a n 0 :)c a t c h ( j a v a x x m l r p c S e r v i c e E x c e p t i o nj r e ) i f ( j r e g e t L i n k e d C a u s e 01 = n u l l )j r e g e t L i n k e d c a u s e0 p r i n t S t a c k T r a c e0 :t h r o wn e wj u n i t f r a m e w o r k A s s e r t i o n F a i l e d E r r o r ( ”J A x
71、 R P C山东大学硕士学位论文S e r v i c e E x c e p t i o nc a u g h t :4 + j r e ) :)a s s e r t N o t N u l l ( ”b i n d i n gi sn u l l ”,b i n d i n g )T i m eo u ta f t e ram i n u t eb i n d i n g s e t T i m e o u t ( 6 0 0 0 0 ) :T e s to p e r a t i o ni n tv a l u e = 一3 :v a l u e = b i n d i n g s a
72、 v e N e w D o c ( n e wj a v a 1 a n g S t r i n g0 ,0 ,n e wj a v a 1 a n g S t r i n g0 ) :T B D v a li d a t er e s u l t s)p u b li cv o i dt e s t 2 s a v e N e w D o c B e a n S a v e N e w S0t h r o w sE x c e p t i o n D e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B
73、e a n S o a p B i n d i n g S t u bb i n d i n g :t r y b i n d i n g = ( D e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B e a n S o a p B i n d i n g S t u b )n e wD e f a u l t N a m e s p a c e g e n e r a t e d S a v e N e w D o c B e a n S e r v i c e L o c a t o r0 g e t
74、 S a v e N e w D o c B e a n0 :)c a t c h ( j a v a x x m l r p c S e r v i c e E x c e p t i o nj r e ) i f ( j r e g e t L i n k e d C a u s e0 【= n u l l )i r e g e t L i n k e d C a u s e0 p r i n t S t a c k T r a c e0 :t h r o wn e wj u n i t f r a m e w o r k A s s e r t i o n F a i l e d E r
75、 r o r ( ”J A X R P CS e r v i c e E x c e p ti o nc a u g h t :。+ j r e ) :)a s s e r t N o t N u l l ( ”b i n d i n gi sn u l l ”,b i n d i n g ) :T i m eo u ta f t e ram i n u t e3 l4 2 档案面向对象分析面向对象分析( O b j e c tO r i e n t e dA n a l y s i s ,O O A ) 是关于面向对象模型的一个半格式化规格说明书。它只是规定要建造的目标产品,两个重要的方面是
76、数据和方法。分析描述的是这个系统要做什么而不是如何去做。面向对象分析由三个步骤组成:l 、用例建模。确定产品是怎样计算各种结果的,用一个用例图和相关情景形式表示这个信息,这个步骤有时称为功能建模。如用例图4 - 2 所示,系统有借阅用户、文书、档案管理员、O A 模块和内部网站模块5 个角色。其中0 A 模块和内部网站模块是系统,借阅用户、文书和档案管理员是真实用户。对普通用户提供借阅,对文书提供借阅、整理编目和档案著录,档案管理员可以进行所有操作。o A 模块和内部网站模块和归档交互。山东大学硕士学位论文系统o“一”,厂:= = :、1人“夕对叙Q借阅用户。f,Q 么多人彦筵,、O A 模块
77、= “竺! ) 亏人、 厶。档案管理员叹网站模块图4 - 2 用例图场景用户A 登陆档案,借阅文件1 ,文件1 等待管理员批准。管理员登陆档案,进入借阅管理。管理员批准用户A 借阅文件1 。管理员在借阅管理中查看超期的借阅,发现用户B 借阅的文件2 超期。管理员收回用户B 借阅的文件2 。管理员发现有新的档案加入管理员加入新的档案2 、类建模。确定类和他们的属性以及类之间的相互关系和交互作用。由类属性和相互关系组成。可以从用例判断几个主要的类,研究全部场景,得出档山东大学硕士学位论文鼍! ! 曼! 皇曼! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
78、! ! ! ! ! 苎! ! ! ! ! ! ! ! 詈! ! ! !案类( A r c h i v e s ) ,这个类在系统中使用的最多,然后是借阅类( B r o w ) ,还有档案管理类( A r c M n g ) ,最后是数据存取类( D A O ) 。这个步骤通常一次很难做好,必须重复几次。类图如4 2 所示。图4 3 类图3 、动态建模。确定每个类或子类发出的或对他们进行的行为。主要由状态图表示。目标是对每一个类产生状态图。如档案状态转换图,如图4 4 所示。山东大学硕士学位论文正式立档编辑图4 - 4 档案状态转换图档案的文件和流转记录进入档案后,一般经过档案管理员正式存档,
79、以后不再允许编辑。正式的档案可供借阅,可以根据需要设定相应的权限。借阅用户提出借阅申请,系统判断档案的性质是否公开。公开的档案不需管理员批准就可借阅,不公开的需要管理员批准才能借到。用户在利用完后可以主动归还,如果超期,系统自动进行收回。4 3 档案面向对象设计面向对象设计( O O D ) 的目标是按照对象设计产品,对象指的是在面向对象分析期间提取的类和子类的实例。面向对象设计有二个步骤:l 、为每个情景构建交互图。U M L 支持两类交互图顺序图和协作图。两个图都说明同样的事情、对象和他们之间传递的消息。顺序图如图4 5 所示。量山东大学硕士学位论文设计顺序图图4 - 5 顺序图这是一个一
80、般客户请求的处理顺序图,客户端发出请求,C o n t r o l l e r 负责处理客户端的请求。C o n t r o l l e r 创建并执行C o m m a n d s 。C o m m a n d s 调用B O( b u s i n e s so b j e c t ) 。B O 可以通过数据存取对象( D A O ) 读写数据库。从数据库返回的数据存放在值对象( V O ) 中。C o n t r o l l e r 进行分发,客户端从值对象中获取数据。2 、构建详细类图。O O A 阶段描述了类和他们的属性,但没有描述他们的方法,通过考察每个情景来发现方法。详细类图如图4
81、 - 6 所示。山东大学硕士学位论文图4 - 6 详细类图例U s e r B O 的部分代码:p u b li cc l a s sU s e r B O p r l v a t eD B 2 U s e r D A Ou s e r d a o :p r i v a t eS t r i n gS r h s q l :查询条件s q lp r z v a t eS t r i n gI n s e r t s q l :p r i 。v a t eS t r i n gU p d a t e s q l :p r i v a t eS t r i n gM e s s a g e = :
82、返回的出错信息p r l 。v a t el o gl o ;系统日志山东大学硕士学位论文 用户验证:p u b li cR e s u l t S e t 用户明细:p u b li nR e s u l t S e t 删除用户:U s e r C o n f i r m ( S t r i n gu s e r n a m e ,S t r i n gp a s s w o r d )U s e r D e t a il ( S t r i n gp r k n a m e ,S t r i n gp r k v a l u e )p u b l i cb o o l e a nU s
83、e r D e l e t e ( S t r i n gp r k n a m e ,S t r i n gp r k v a l u e ) 新增用户:p u b li cb o o l e a nU s e r l n s e r t0 用户修改p u b l i cb o o l e a nU s e r U p d a t e ( ) 用户列表p u b l i cR e s u l t S e tU s e r L i s t0p u b l i cv o i ds e t U p d a t e s q l ( H a s h t a b l et h e U p d i t e
84、 m ,S t r i n gp r k n a m e ,S t r i n gp r k v a l u e )p u b li cS t r i n gg e t U p d a t e s q l0p u b l i cb o o l e a nh a s S a m e U s e r ( S t r i n gi t e m ,S t r i n gv a l u e ,S t r i n gr o w i d )p u b l i cv o i ds e t S r h s q l0p u b l i ev o i ds e t S r h s q l ( S t r i n g
85、i t e m n a m e ,S t r i n gi t e m v a l u e )p u b l i cS t r i n gg e t S r h s q l0p u b li eR e s u l t S e ts e l e c t ( S t r i n gp u b l i eb o o l e a nd e l e t ep u b l i cb o o l e a ni n s e r tp u b l i cb o o l e a nu p d a t en gn gn gt h eh e s qh e s qh e s qq 1 )资源释放p u b l i cv
86、 o i dc l o s e ( )日志p u b l i cv o i ds e t L o g ( 1 0 9t h e l o )p u b l i cl o gg e t L 0 9 0p u b l i cs t a t i cv o i dm a i n ( S t r i n g a r g s )山东大学硕士学位论文4 4 压力测试在黑龙江省烟草企业管理支撑系统的测试中,测试工具的应用非常突出。主要采用了L o a d R u n n e r 做测试工具。由于系统要求产品化,而产品的定位是集团化大中型企业,对系统的性能要求较高,所以采用L o a d R u n n e r
87、作为性能评估的手段。4 4 1 压力测试的目标:确定登录、查看通知列表、查看一条详细通知事务在并发用户为1 0 1 0 0 时的响应时间确定O A 系统在特定硬件环境下的最大并发用户量。4 4 2 测试脚本事务的划分:序号事务名称事务功能描述和参数化描述lM a i n输入o a h i g o v t o m 后,出现输入用户名和密码的页面2L o g i n提交用户名和密码,出现待办事宜的页面3N o t e l i s t点击公司通知出现公司通知列表的页面4N O t e d e t a i l点击一条公司通知,出现通知详细信息的页面与本次压力测试场景相关的表:表名字段数记录条数表功能描
88、述备注N a m e s n s f3 04 6 6用户T z 9 1 n s f1 52 0公司通知4 4 3 测试场景描述:新系统场景设置:场景并发T l l i n k设置集中并发描述等待时数T i m e ( S )间限度2 0i g n o r e同上1 2 0 S四4 01 9 n o r e同上1 2 0 S3 9山东大学硕士学位论文6 0i g n o r e同上1 2 0 S、八8 0i g n o r 0同上1 2 0 S十1 0 0i g n o r e同上1 2 0 S+ 二1 2 0i g n c V e同上1 2 0 S4 4 4 测试环境:测试环境描述:应用服务器
89、端:硬件配置C P U 个数4C P U 类型P o w e r p c内存8 G硬盘S C S I1 8 2 G + 2网卡1 0 0 0 M b p s软件配置操作系统A I X5 1D o m i n 0 6 0 3测试主机:硬件配置C P U 个数1C P U 类型P 4 1 0 G内存2 5 6 M硬盘3 0 G网卡1 0 0 M b p s软件配置操作系统M i c r o s o f tW i n d o w s2 0 0 0S e r v e r网络带宽为1 0 0 M 。4 4 5 测试人与测试时间:测试人:张炯、周颖、朱宝军、肖雯、韦忠、姚楠测试时间:2 0 0 4 - 0
90、 3 1 8i 7 :0 0 2 1 :0 0lEo苫oN一垦鲁强嚣碹悴槲迎一靶翊骚卷。 籍磊、i誊篓球?墓攀水僻粪督虫橙赫鬻厘a营。娌倒昌壮理- 一警一、囊誓。善囊糍:害薯L萋萋蒸霉套=踊匡。强I E (璀菱鬟鬟杈NNNN甘嚣N一_ 一卜一粪鎏1 ;卜叁0 0卜。oNnn啦n嚣言旺。l ;卜皿句邑麓耋攀船己褂口i基罡_兰鎏旺僭舡之一一-| 暑瑶芑口星篝遴薹篓芝兰营警一量里碴譬蓊j蒸|;II爨螽耄*羔_ 。椰旺“鼹擞一j 赫i 蘑;鼗鬻峭“。碹i i 参* * 茸嚣兽,一蟊ll j 5譬一| n溢蒸豢誉豢制止牧旺辍煳谁嚣!;6 j 。喀啭寸鐾器篓蠡芒豁攀薅羹僻咪姆短器R蠼:oH稷账:。账姆韬器
91、器蕈帐罐器9寸叫嘞仪秘迥扑书匿扑K长r11山东大学硕士学位论文4 4 7 测试总结:系统的性能:1 、从响应时间看:当并发用户为1 0 0 时,其中M A I N 事务( 即出现登录页面) 、N O T E L I S T 事务( 即查看公司通知列表) 、N O T E D E T A I L 事务( 即查看通知详细内容) 的响应时间都比较快,分别为1 6 1 秒、1 4 7 4 秒、1 - 7 4 1 秒,只有L O G I N事务( 输入用户名和密码确定至出现待办事宜页面) 的响应时间为1 5 7 4 5 秒,响应时间稍长,而旧的系统在并发用户为2 0 时就达到了2 0 7 0 9 秒。2
92、 、处理并发用户的能力:在当前的硬件环境下,新的系统在并发用户数不大于1 2 0 时,一直比较稳定,因此系统所能处理的最大并发用户数为1 2 0 ,可推导出系统在应用比较频繁时,可处理的最大总用户为1 2 0 0 。3 、经后来更换机器测试,系统可以承受3 0 0 并发用户3 次迭代的考验。结果如图4 7 所示。图4 73 0 0 用户测试结果山东大学硕士学位论文第五章系统现状、应用环境和工具5 1 1 硬件环境5 1 应用环境整个系统都集中于省公司。系统主要用到两台服务器,一台是I B MR S 6 0 0 0系列的M 8 5 ,在上面运行邮件服务,办公服务,数据库服务;另一台是浪潮的N F
93、 4 2 0作为网站服务器和档案服务器。客户端机器配置,最低的机器P 38 0 06 4 M 内存,新采购的机器P 42 6 0 0 2 5 6 M内存。省局( 公司) 和市公司由2 M 的S D H 专线连接,市公司和省公司在一个内部网中。各地市的用户通过网络访问位于省局的服务器来完成工作。如图5 1 所示。山东大学硕士学位论文5 1 2 软件环境图5 - 1 网络结构软件的结构复杂,整体的软件架构是:最底层是操作系统。o A 和邮件系统运行在I B M R S 6 0 0 系列的M 8 5 小型机上,操作系统是A I X ,档案和网站运行在浪潮N F 4 2 0 服务器上。关系型数据库采用
94、D B 2 位于M 8 5 。文档型数据库采用D o m i n o 。山东大学硕士学位论文架构的应用平台采用W e b s p h e r e 和D o m i n o 。在W e b S p h e r e 上实现档案管理和内部网。在D o m i n o 上实现办公和邮件。客户端安装W I N 9 8 和W I N 2 0 0 0 ,浏览器是I E 6 0 。系统以D o m i n oS e r v e r 为基础,实现公文事物流转、流程定制、L D A P 实现单点登录( S S O ) 。5 2 工具在现代软件工程中,合适的软件开发环境包括过程和工具两方面。可见工具的使用在现代软件
95、工程中的重要作用。L G C N S 就有一套开发的方法论,在方法论中将工具提升到过程一样重要的地位。恰当的工具的使用可以大大提高我们的工作效率。下表列出了本项目实施过程中的主要工具。5 3 系统现状系统主要完成的功能如下:公文管理包括新建公文、待办公文、接收公文、办结公文、传阅公文、回执信息、定制表单、定制流程、撤销公文,还有定制表单、定制流程、撤销文件这4 5山东大学硕士学位论文三项高级功能。通知由兼职的通知管理员统一发布,部门和公司各有各自的通知管理员。通知有全省发布、公司内发布和部门内发布三种。这样可以节省发布时间,提高办公效率。为每个用户( 单位或个人) 开设一个电子邮箱,用于接收和
96、发送各类信息。每个用户拥有一个唯一的用户标识,规定其对邮箱及其他数据库进行操作的权限。档案管理提供公文流转的接1 2 1 和有权限的网上借阅( 限内部网) 。为提高办公效率。共享数据,可以对发文和办文产生的文件进行自动归档处理,而不必再重复录入。内部网站主要包括重要新闻、公司大事、员工论坛、政务信息、上网公文和办公室公告。系统目前按期处于第三次迭代的最后阶段,省局机关经过上一阶段的工作已经正常运转,各地市都已处于试用阶段使用,其中哈尔滨和齐齐哈尔试用的最好。每天发文在1 0 到2 0 个,使用系统的用户每天在3 0 0 5 0 0 之间,邮件的数据目前达到2 G 。用户对系统反映普遍良好,有的
97、用户感觉对工作带来的方便甚至认为系统应该提前一个月结束试用直接进入正式运行。系统目前发现错误较少,已经有刚上线的每天三四个中级和一个高级的B U G 到目前平均一个星期3 5 个B U G ,甚至有时三四天发现不了一个。已经出现过0 B u g 弹跳,标志着系统的B U G 很快会越来越少。系统已经承受了3 0 0 并发用户3 次迭代的考验,系统目前已经处于一种相对稳定的阶段。山东大学硕士学位论文第六章结束语本文结合实际课题黑龙江省烟草企业管理支撑系统的建设,试图从项目管理和系统实施两个角度进行了深入阐述。在这个项目的管理中使用了具有现代软件工程特征的M S F 过程。在实施中采用面向对象的分
98、析与设计;对模块问的接口复杂的情况采用了W e bS e r v i c e 技术;在测试过程中应用了L o a d R u n n e r 压力测试。通过这些技术和方法的有机组合,使黑龙江省烟草企业管理支撑系统项目按期优质完成。只有将这些技术方法合理使用使他们形成有机的整体,并在实践中不断发展,这样软件开发才可以做到优质高效。当然,系统还存在一些不足:一、M S F 组队模型中各种角色是平等的,每个角色有自己的分工。因为在模型中的组织结构是扁平化的,而这次实践整个公司的组织是严格的上下级关系,使项目在讨论的时候不够充分。二、W e bS e r v i c e目前是基于R P C 的,导致调
99、用端等待较长,希望将来采用基于消息的W e bS e r v i c e 。4 7山东大学硕士学位论文致谢衷心感谢我的导师孙字清副教授的悉心的教导。孙老师学识渊博、治学严谨、平易近人,不仅在作学问上给了我很多指点,而且在做人方面也给了我深刻的启示。同时感谢浪潮齐鲁软件公司的各位同事。他们在科研和论文上给了我很多指导和帮助。感谢我的家人,他们在精神和物质上给了我无私的支持。山东大学硕士学位论文参考文献: 1 R o n a l dJ N o r m a n ,O b j e c tO r j e n t e dS y s t e m sA n a l y s j sa n dD e s i g
100、n , 清华大学出版社,2 0 0 2 - 0 1 一O l 2 I v a rJ a c o b s o n 等著,周伯生等译,统一软件开发过程,机械工业出版社,2 0 0 2 年1 月 3 B r u c e E c k e l 著,候捷译,J A V A 编程思想,机械工业出版社,2 0 0 2 年9月 4 D a n i e lA u s t i n ,C h r i s t o p h e rF e r r i s ,A b b i eB a r b i r 。S h a r a dG a r g W e bS e r v i c e sA r c h i t e c t u r e
101、R e q u i r e m e n t h t t p :w 1 删w 3 c o r g T R w s a r e q s 2 0 0 2 8W 3 C 关于W e bS e r v i c e s 标准参考框架结构的需求。 5 R o n B e n - - N a t a n O r iS a s s o n 著,雄志辉译,I B Mw e b s p h e r eA p p l i c a t i o nS e r v e r 实用大全,清华大学出版社,2 0 0 3 年3 月 6 A b r a h a mK a n g 著,刘建华编译,使用J 2 E E 整合企业应用一学习
102、E A I 及用J a v a 整合你的应用2 0 0 2 一l 卜l 7 曹伟,基于R O S E 的W e bS e r v i c e 建模,来自软件工程专家网中国系统分析员协会( C S A I ) ,2 0 0 3 年0 1 月0 2 日 8 ( 美) S u b r a h m a n y a mA l l a m a r a j uC e d r i cB u e s tJ o h nD a v i e s ,译者:马树奇, J 2 E E 编程指南( 1 3 版) 。电子工业出版社,2 0 0 2 - 0 3 - 0 1 9 R o b e r tC M a r t i n 著
103、,邓辉译,敏捷软件开发原则、模式与实践,清华大学出版社,2 0 0 3 年9 月 1 0 w a l k e rR o y c e ,软件项目管理统一性框架( 影印版) ,高等教育出版社,2 0 0 2 1 0 一0 1C 1 1 h t t p :w 。r m i c r o s o f t c o m i t s 0 1 u t i o n s t e c h g u i d e m s f d e f a u l t m s p x山东大学硕士学位论文 1 2 h t t p :w l n r 一9 0 0 i b m c o m d e v e l o p e r W o r k s
104、1 3 麦中凡陶伟编著,微软软件开发解决方案框架( 第二版) ,北京航空航天大学出版社,2 0 0 3 年8 月 1 4 柴晓路, E A I 和W e b 服务一轻松进行企业应用集成,I B MD W 站点,2 0 0 1年1 0 月3 0 日 1 5 b 主主乜;! ! j 型:i 翌乜i 旦:呈鱼里 1 6 美J a s n o w s k i ,M ,译者:盖江南译等, J a v a ,) ( M L 和W e b 服务宝典,电子工业出版社,2 0 0 2 5 1 1 7 ( 美) M a c kH e n d r i c k sB e nG a l b r a i t h ,译者:
105、卢刚高春荣朱军等, J a v aW e b 服务编程指南。电子工业出版社,2 0 0 2 一i 0 一I 1 8 陈宏刚等,软件开发过程与案例,清华大学出版社,2 0 0 3 年9 月 1 9 W e bS e r v i c e sa n d E n t e r p r i s e7 n t e r g r a t i o n :F r i e n d s , N o tF o e sb yD a v i dP 1 e s k oa n dJ M i c h a e lL e eB u s i n e s sI n t e r g r a t i o nJ o u r n a lO c t
106、 o b e r2 0 0 3 2 0 ( 美) C TA r r i n g t o n 著,马波,李雄锋译, E n t e r p r i s eJ a v aW i t hU M L 中文版,机械工业出版社,2 0 0 3 年7 月5 0学位论文评阅及答辩情况表姓名专业技术职务所在单位对论文总体评价。论文评阅人姓名专业技术职务所在单位备注主席答辩委委员会成员员答辩委员会对论文的总体评价“答辩秘书答辩日期备注优秀为“A ”;良好为1 3 ;合格为C ;不合格为“D ”。黑龙江省烟草企业管理支撑系统项目管理与实施黑龙江省烟草企业管理支撑系统项目管理与实施作者:张炯学位授予单位:山东大学 本文链接:http:/