(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf_第1页
(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf_第2页
(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf_第3页
(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf_第4页
(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(管理科学与工程专业论文)基于NET航标业务系统架构优化设计.pdf.pdf 免费下载

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

文档简介

o p t i m a ld e s i g n o fn a v i g a t i o n a lb u s i n e s ss y s t e ms t r u c t u r e b a s e do nt h e n e tf r a m e w o r k at h e s i ss u b m i t t e dt o d a l i a nm a r i t i m eu n i v e r s i t y i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g b y s u il i l i ( m a n a g e m e n t s c i e n c ea n de n g i n e e r i n g ) t h e s i ss u p e r v i s o r :p r o f e s s o rc h e nj i a m a y 2 0 1 1 唧1胂2肿4 6舯9删8jj-舢y 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文“基于n e t 航标业釜系统架构优化设让”j 除论文中已经注 明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确 方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或 未公开发表的成果。本声明的法律责任由本人承担。 学位论文作者签名: 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密母( 请在以上方框内打“) 论文作者签名:导师签名: 日期:2 , 0 ,7 年彦月埴e t 中文摘要 摘要 系统架构的构建是软件开发过程中的一项重要工作,也是一个软件系统中的 核心元素,同时也是构建软件系统中其他部分所依赖的基础,随着科技信息技术 的不断进步,信息系统的规模逐渐扩大,业务的复杂程度越来越高,在提高软件 系统的开发质量及可修改性方面,系统的结构就显得尤其重要,因此系统架构的 好坏会从根本上决定基于这个架构所构建的软件系统的质量。 软件产品最初开发出来,是经过精心的设计,具有良好架构的,但是随着时 间的发展,需求的变化,必须不断的修改原有的功能,追加新的功能,还免不了 有一些缺陷需要修改,在这种情况下,软件必须作出相应的改变,以保持自己的 生命力,为了实现变更,有时不可避免的要违反最初的设计构架。 论文首先分析和总结出国内外研究学者取得的主要理论研究成果,并在此基 础上进一步提出研究的内容和目标。接着是对相关概念和定义的论述,阐述了系 统架构的定义及系统架构设计的基本原则;介绍了常用的架构模式、设计模式, 并从软件需求变化的角度,详细阐述了如何在软件设计的过程中引入f a c t o r y m e t h o d 、a b s t r a c tf a c t o r y 、s t r a t e g y 、o b s e r v e r 等设计模式;并结合模式和多 层架构的设计理念构建出系统的架构体系。其次,论文是以航标业务系统为应用 背景,通过需求分析对航标业务系统进行建模,针对当前航标业务系统存在的问 题,重点阐述了系统架构优化的设计步骤,并依据面向对象和接口的设计、封装 以及隔离变化的原则,逐步演进式的引入架构模式和设计模式,将它们有机地集 成在一起并融入到航标业务系统中,借鉴构建出的系统架构体系,来重构航标业 务系统,给出航标业务系统架构优化图。最后,本文分别对航标业务系统架构中 数据访问层、业务逻辑层和表示层进行具体实现,并结合航标业务系统架构优化 前后,进行综合分析比较。 实践证明所提出的基于n e t 框架多层系统架构和多种设计模式的集成应用, 对应用系统的开发具有非常重要的指导意义和实用价值。 关键词:n e t ;系统架构;模式;多层架构 英文摘要 a b s t r a c t s y s t e ma r c h i t e c t u r ei sa ni m p o r t a n tw o r ki nt h ep r o c e s so fd e v e l o p i n gs o f t w a r e , b u ta l s oac o r ee l e m e n to ft h es o f t w a r es y s t e m ,b u ta l s ot h ef o u n d a t i o nw h i c ho t h e rp a r t s o f b u i l d i n gas o f t w a r es y s t e mb a s e do n ,a st e c h n o l o g yi n f o r m a t i o nc o n t i n u e st op r o g r e s s , t h es c a l eo ft h ei n f o r m a t i o ns y s t e m sg r a d u a l l ye x p a n d e s ,t h ec o m p l e x i t yo ft h eb u s i n e s s b e c o m e sm u c hm o r eh i g h e r , t h es y s t e mi s e s p e c i a l l yi m p o r t a n tt ot h es t r u c t u r ei n i m p r o v i n gt h ed e v e l o p m e n tq u a l i t yo fs o f t w a r es y s t e ma n di nt e r m so fm o d i f i a b i l i t y , s o t h a tw h i c ht h es y s t e ma r c h i t e c t u r ei sg o o do rb a dw i l lf u n d a m e n t a l l yd e c i d et h eq u a l i t y o fs o f t w a r es y s t e mw h i c hi sb a s e do nt h i sf r a m e w o r ka n dc o n s t r u c t e d s o f t w a r ep r o d u c tw h i c hi si n i t i a l l yd e v e l o p e di sc a r e f u l l yd e s i g n e dw i t hg o o d s t r u c t u r e ,b u ta st i m ep r o g r e s s e s ,a n da sd e m a n dv a r i e s ,t h eo r i g i n a lf u n c t i o nm u s t c o n s t a n t l yb em o d i f i e d ,a n dt h en e wf e a t u r e sw i l lb ea d d e d ,b u ti n e v i t a b l yt h e r ea r e s o m es h o r t c o m i n g sn e e dt ob ec h a n g e d i nt h i sc a s e ,t h es o f t w a r em u s tm a k et h e a p p r o p r i a t ec h a n g e st om a i n t a i nt h e i rv i t a l i t y s o m e t i m e si ti si n e v i t a b l et ov i o l a t et h e o r i g i n a ld e s i g nf r a m e w o r k 。 f i r s t l y , t h ea r t i c l ea n a l y z e sa n ds u m m a r i z e st h er e s u l t so fm a i nt h e o r e t i c a ls t u d i e s w h i c ht h ed o m e s t i ca n df o r e i g nr e s e a r c h e r so b t a i n ,a n do nt h eb a s i so ft h a t ,t h ec o n t e n t a n do b j e c t i v e so ft h es t u d y a r ep r e s e n t e d t h e nt h ea r t i c l ei sb a s e do nt h ed i s c u s s i o no f r e l e v a n tc o n c e p t sa n dd e f i n i t i o n s ,d e s c r i b e st h ed e f i n i t i o na n dt h eb a s i cp r i n c i p l e so f s y s t e ma r c h i t e c t u r ed e s i g n ;d e s c r i b e st h ec o m m o na r c h i t e c t u r ep a t t e r n s ,d e s i g np a t t e r n s , a n dd e s c r i b e si nd e t a i lh o wt oi m p o r tf a c t o r y , a b s t r a c tf a c t o r y , s t r a t e g y , o b s e r v e ra n d o t h e rd e s i g np a t t e m sf r o mt h ep e r s p e c t i v eo ft h es o f t w a r ec h a n g e si nd e m a n d ,a n dt h e a r c h i t e c t u r eo ft h es y s t e mi sd e s i g n e db yb i n d i n gm o d ea n dm u l t i - s t o r e yb u i l d i n g s t r u c t u r e s e c o n d l y , t h ep a p e rh a st h en a v i g a t i o n a lb u s i n e s ss y s t e ma sa l la p p l i c a t i o n b a c k g r o u n d ,a n dm o d e l st h en a v i g a t i o n a lb u s i n e s ss y s t e mt h r o u g ht h ea n a l y s i so fn e e d s i ti sf o c u s e do nt h eo p t i m i z a t i o no ft h es y s t e ma r c h i t e c t u r ed e s i g ns t e p so nt h ec u r r e n t p r o b l e m so fn a v i g a t i o n a lb u s i n e s ss y s t e m t h ed e s i g np a t t e r n sa r eg r a d u a l l ya n d e v o l u t i o n a r i l yi n t r o d u c e db yu s i n go b j e c t - o r i e n t e da n di n t e r f a c ed e s i g n ,t h ep r i n c i p l e so f p a c k a g i n ga n dt h ec h a n g e so fi s o l a t i o n ,a n dt h ep a p e rw i l lp u tt h e mt o g e t h e ra n dt h e y w i l lo r g a n i c a l l yb ei n t e g r a t e di n t ot h en a v i g a t i o n a lb u s i n e s ss y s t e m a n dt h ep a p e rw i l l 英文摘要 r e f e r e n c ea r c h i t e c t u r ec o n s t r u c t e dt or e c o n s t r u c tn a v i g a t i o n a lb u s i n e s s s y s t e m ,t h e d i a g r a mo fo p t i m i z a t i o no fn a v i g a t i o n a lb u s i n e s ss y s t e ma r c h i t e c t u r ei sg i v e n f i n a l l y , t h i s p a p e ri sac o n c r e t er e a l i z a t i o no ft h en a v i g a t i o n a lb u s i n e s ss y s t e mi nt h ed a t aa c c e s s l a y e r , b u s i n e s sl o g i ca n dp r e s e n t a t i o nl a y e rd e s i g n t h ea r c h i t e c t u r eo fn a v i g a t i o n a l b u s i n e s ss y s t e mb e f o r ea n da f t e ro p t i m i z a t i o ni sc o m p r e h e n s i v e l ya n a l y z e da n d c o m p a r e d p r a c t i c ep r o v e st h a tt h ep r o p o s e db a s e do nn e tf r a m e w o r km u l t i 1 a y e rs y s t e m a r c h i t e c t u r ea n di n t e g r a t e da p p l i c a t i o no fv a r i o u sd e s i g np a t t e r n sh a sa v e r yi m p o r t a n t g u i d i n gs i g n i f i c a n c ea n dp r a c t i c a lv a l u eo nt h ed e v e l o p m e n to ft h ea p p l i c a t i o ns y s t e m k e yw o r d s :n e t ;s y s t e ma r c h i t e c t u r e ;p a t t e r n :m u l t i l a y e rs t r u c t u r e 目录 目录 摘要1 第1 章绪论。1 1 1 课题背景及意义1 1 1 1 课题背景1 1 1 2 课题意义2 1 2 n e t 平台的系统架构国内外研究现状3 1 2 1 n e t 平台3 1 2 2 国内外研究现状4 1 3 本文的工作内容及组织结构5 1 3 1 工作内容5 1 3 2 组织结构5 第2 章系统架构优化方法及模式研究7 2 1 系统架构设计研究7 2 1 1 设计标准7 2 1 2 设计原则9 2 1 3 设计方法1o 2 2 常用的架构模式1 1 2 3 1m v c 模式1 1 2 3 2d a t am a p p e r 模式13 2 3 3d o m a i nm o d e l 模式1 4 2 3 主要的设计模式1 5 2 2 1f a c t o r ym e t h o d 模式1 9 2 2 2a b s t r a c tf a c t o r y 模式。2 l 2 2 3s t r a t e g y 模式。2 2 2 2 4o b s e r v e r 模式2 4 2 4 基于模式和多层架构建架构体系2 7 2 4 1 多层架构2 7 2 4 2 架构和模式2 8 2 4 3 构建架构体系2 9 第3 章航标业务系统架构优化设计3 l 3 1 航标业务系统概述3 1 目录 3 1 1 系统功能介绍3 l 3 1 2 系统需求分析3 2 3 1 3 系统架构存在的问题3 2 3 2 航标业务系统分析建模3 4 3 2 1 系统优化前的类分析模型3 4 3 2 2 系统优化后的类分析模型3 5 3 3 趋向模式的架构设计3 8 3 3 1 面向对象和接口设计3 8 3 3 2 引入架构模式_ 3 9 3 3 3 引入设计模式4 l 3 4 系统架构优化图4 8 第4 章航标业务系统架构实现5 0 4 1 数据访问层实现5 0 4 1 1 创建数据库对象5 0 4 1 2 依赖注入机制5 4 4 2 业务逻辑层实现5 5 4 3 表示层实现5 6 4 4 系统架构优化前后分析比较5 7 第5 章总结与展望。6 0 参考文献。6 2 攻读学位期间公开发表论文6 5 至殳 谢6 6 基于n e t 航标业务系统架构优化设计 1 1 课题背景及意义 第1 章绪论 1 1 1 课题背景 随着科技信息技术的不断进步,信息系统的规模逐渐扩大,业务的复杂程度 越来越高,系统的结构显得尤为重要,对于大规模的复杂系统来说,设计系统的 总体结构比选择计算的算法和数据结构显得更重要,在这种情况下,人们已经意 识到系统架构的重要性,于是设计选择并确定系统整体结构的质量,成为了重要 的讨论议题【。系统架构是一个软件系统中的核心部分,同时也是构建软件系统其 他部分所依赖的基础,是系统中最难改变的元素【2 】,系统架构对于系统开发时所涉 及到的成熟产品,与相关的组织整合问题,具有十分重要的作用,因此系统架构 所构建的软件系统的质量,会从根本上取决于这个架构的好坏。 在一个好的架构下编程,软件能够表现出一个良好的姿态,对于开发人员也 是一件愉悦的事情,但是如果架构设计的不合理,不仅给开发者带来很多麻烦, 而且也会严重影响软件本身的生命周期【3 】。对软件生命引起威胁的因素只有一个一 一需求的变更,当今时代在发展,信息在不断变化,客户的业务需求经常发生变 更,在这种情况下,一个软件就会为解决某种特定的需求而诞生;有的需求可能 会相对稳定一些,有的需求则可能变化的会比较频繁一些,还有的需求转化成了 别的需求,或许已经消失了,在这种情况下,软件必须做出相应的调整与改变, 以保持自身的生命力【4 铷】。 软件产品最初被开发出来,是具有良好架构的,但是随着需求的变化,要不 断地修改原有的功能,或者添加新的功能,对于修改缺陷是避免不了的,这种情 况最终导致代码维护起来比较费力也很麻烦,扩展性越来越糟糕,所需的费用犹 如滚雪球似的不断增多,代码呈现出浓重的坏味道( b a ds m e l l ) t 7 罐】。要解决变更的 问题,不可避免的要违反起初的设计架构,随着错误不断增多,软件的架构对新 的需求的适应,已经成为一种制约因素,最后新需求的开发成本往往会超过开发 一个新的软件的成本,最后在面向对象的领域中,出现了重构【5 】的说法。 第1 章绪论 1 1 2 课题意义 航标业务系统是在长江干线南京至九江段建设数字航道系统,完成对南京航 道局、九江航道管理处、安庆航道管理处和芜湖航道管理处的航标业务日常维护 管理的信息化、网络化管理,实现航标管理处、局两级及时、准确的信息交换, 并实现与南浏段数字航道系统的整合和提升,其结构如图1 1 所示。 南京航道局 图1 1 航标业务系统结构 f i g 1 1t h es t r u c t u r eo f n a v i g a t i o n a lb u s i n e s ss y s t e m 。 由于当前的航标业务系统对需求理解的不够清楚,并且随着用户对需求提出 新的要求、系统版本的不断升级,系统不能很好地满足客户的要求,促使开发人 员要不断修改原有的功能或者代码,并且由于系统架构设计的不合理,结构上不 够清晰,系统在逻辑的划分上,并没有使代码在物理上完全分离,导致系统代码 变得非常臃肿,修改起来比较繁琐和困难,可理解性和可维护性也越来越差,代 码所体现的设计变得越来越模糊,而目前首要的任务就是设计一个好的系统架构。 考虑到诸如上述所描述的问题,本文依据面向对象和接口的设计、封装以及 隔离变化的原则,逐步演进式的引入架构模式和设计模式,将它们有机地结合在 一起并融入到航标业务系统中,来重构航标业务系统,使优化后的航标业务系统 具有结构清晰、兼容性好、可移植性、维护方便等特点,实践证明所提出的基于n e t 框架和多种模式集成的航标业务系统架构设计研究,对应用系统的开发具有极其 重要的实用价值和指导意义。 基于n e t 航标业务系统架构优化设计 1 2 n e t 平台的系统架构国内外研究现状 1 2 1 n e t 平台 n e t 是微软( m i c r o s o f t ) 用以创建x m l w e b 服务( 下一代软件) 的平台,n e t 代表一个环境,一个集合,该平台以一种个性化、统一的方式把设备、信息、和 人紧密联系在一起,可以支持下一代网络( i n t e r n e t ) 的可编程结构,借助于n e t 平台,可以创建和使用进程和w e b 站点、服务以及基于x m l 的应用程序,让用 户在任何时间、任何地方、任何平台以及不管利用何种智能设备都能共享、访问 或者组合所需要的信息、功能、文件和程序,以便向个人和单位提供定制好的解 决方案,n e t 平台由w i n d o w s n e t ( 操作系统) 、n e t 企业服务器( e n t e r p r i s e s e r v e r s ) 、n e tw e b 服务构建、n e tf r a m e w o r k ( 框架) 和v i s u a ls t u d i o n e t ( 集 成开发工具) 5 个部分组成【l o 】,其结构图如图1 2 所示。其中w i n d o w s n e t 主要 包括w i n d o w sx p 、w i n d o w s2 0 0 0 、w i n d o w s 2 0 0 3 等操作系统和各种应用软件服务, 它是可以运行n e t 程序的操作系统的统称;n e te n t e r p r i s es e r v e r s ( 企业级服务 器) ,是微软公司推出的对所有基于w e b 的各种服务器应用进行企业集成和管理的 系列产品;n e tf r a m e w o r k 是n e t 的核心,主要包括公共语言运行库( c l r ) 和n e t 框架基础类库( f c l ) 两部分,n e t 框架提供了建立和运行n e t 应用程 序所需要的编辑、编译等核心业务,基于网络标准,可使用任何编程语言,提高 了应用程序的稳定性和可靠性,减少了代码的编写量【1 0 】;v i s u a ls t u d i o n e t 为建 立基于n e tf r a m e w o r k 应用程序而设计的一个可视化集成开发环境,在v i s u a l s t u d i o n e t 中可以用c + + 语言,c 语言,j 撑语言,b a s i c 语言开发,n e t 语言通 常会涉及到两个重要的概念:c t s ( 通用类型系统) 和c l s ( 通用语言规范) 】, 可以开发w e b 应用程序、桌面应用程序、智能设备应用程序;n e tw e b 服务构建 保证n e t 正常运行的公用性w 曲服务。 第1 章绪论 回圈团匝习口厂 二二二二受亟互二二二i 二a 巫s p n e t j 巫正 l a d o n e t :数据g l x m l i 宇i l j c l 二二二二至匠二二二二 吲 二二二至堕童叵二二二 ll 二二二二二匦亟二二二二u - 。_ 。_ _ _ _ _ _ _ _ _ - 。_ - - _ _ _ 。_ 。_ _ 。_ _ 。_ 。_ 。_ _ 。_ h _ _ _ 。- _ - _ - - _ - - - - 。_ _ _ _ 。- _ 。_ _ 。- _ - - h _ _ - ,- 。- h _ - - _ - 。_ - _ _ _ _ _ _ _ _ _ _ _ _ _ 。_ _ 。_ _ _ 。- 。- 。- 。_ 。_ _ _ _ 。_ 。_ 。_ 。_ 。- ,- 。 1 _ 。_ - - 。_ - _ - 。- _ - 。- 。_ - 。_ _ - 。- _ 。,- ,。- 。_ 一l _ _ _ _ _ _ _ _ _ _ _ 一 图1 2 n e t 框架 总之,n e t 平台简化了应用程序的开发和部署,主要是应用在分布式应用程 序的开发和i n t e r n e t 网络中,另外如果在构建w e bs e r v i c e 时会提供一个标准的平 台,完善应用系统和应用程序之间的集成性和交互性,使应用程序对任何智能设 备都能够进行访问或者共享。 1 2 2 国内外研究现状 m i c r o s o f t ( 微软) 公司的n e t 平台自诞生以来,其丰富的类库、领先的设计 思想、健全的i d e 、开发帮助文档以及强大的能力获得了诸多开发者的喜爱和重视, 特别是a s p n e t 利用w e b 开发平台,凭借其独具一格的控件式开发方式,以及健 全的面相对象模型,将w e b 开发这一技术领域,提升到一个史无前例的新阶段。 然而,迄今为止基于n e t 平台的分层架构体系仍然相对不够成熟,而j a v a 平 台,基于j 2 e e 平台的分层架构体系,可以作为参考典例,非常健全。基于n e t 平台的分层架构,通常情况下是借鉴微软官方提出的分层典例一一n e t p e t s h o p 1 2 】。虽然,n e tp e t s h o p 系统展示了基于n e t 平台引入m v c 模式的分层 基于n e t 航标业务系统架构优化设计 架构体系【2 7 1 ,但却存在许多不足之处,主要包括:结构上相对比较复杂,有点为 了达到分层而特意分层的感觉,有时候在实际项目的应用中给出的指导作用会欠 缺一些;业务逻辑层( 领域层) 不是面向接口编程,而是针对实现编程,最终会 导致表示层和业务逻辑层的强耦合;实现方法比较单调,应该通过进一步探讨数 据访问层的共性部分,从更高的抽象概念和层次上去考虑问题,而不仅仅是把数 据访问层当成一种具体的实现方式;表示层没有使用异步模型元素,而是使用的 同步模型,然而随着需求的不同要求以及技术的进步,会使用a j a x 等异步模型越 来越频繁,我们就会想如何运用一种方法或者设计理念来将异步模型,融入到分 层架构中,n e tp e t s h o p 并没有给我们提供准确的答案【1 2 1 。 鉴于以上阐述可以看出,想要不让基于n e t 平台的分层架构实现停留在其模 仿阶段,那么就需要形成一套新的理论,来指导和规划如何基于n e t 平台进行分 层架构开发。 1 3 本文的工作内容及组织结构 1 3 1 工作内容 本文利用n e t 平台、c j f j 语言构造的软件应用系统,对其进行架构设计优化, 并根据面向对象和接口的设计,隔离变化以及封装的原则,逐步的引入架构模式 和设计模式,并将这些模式有机地集成在一起,融入到航标业务系统中,提出新 的多层架构构建方案,通过一个完整的航标业务系统实例展现出来,使系统具有 结构清晰、松散耦合、兼容性好、可移植性、维护方便、高效等特点,在整个航 标业务系统架构优化的过程中,不断纠正错误和改进软件设计,让代码看起来更 容易被程序员所理解,这样能够帮助发现其中隐藏的代码缺陷,有助于提高开发 和运行效率。 1 3 2 组织结构 第1 章:主要说明了本文的课题背景以及课题意义,n e t 平台的系统架构, 以及国内外研究现状,在本章节的最后给出本文的组织结构。 第2 章:论述了系统架构优化方法及模式研究,介绍了系统架构、架构模式 第1 章绪论 和设计模式等一些相关的概念,并通过举例阐述了常用的一些架构模式和设计 式,最后针对描述的架构模式和设计模式,并运用n e t 平台下的分层架构,构 出一个整体的系统架构框架。 第3 章:简要介绍了本文的应用背景长江航道局的航标业务系统的功能 及架构优化前的体系结构,指出当前航标业务系统架构存在的一些问题,针对提 出的这些问题,对航标业务系统进行建模分析,同时将第二章阐述的相关理论知 识运用到航标业务系统架构优化中,总结出对系统架构设计优化的几个步骤,给 出系统的整体架构优化图。 第4 章:阐述优化后的航标业务管理系统的具体实现方式,给出航标业务系 统表示层、业务逻辑层和数据访问层的功能模块图。 第5 章:总结与展望。 基于n e t 航标业务系统架构优化设计 第2 章系统架构优化方法及模式研究 2 1 系统架构设计研究 系统架构一般特指系统的软件架构( s o f t w a r ea r c h i t e c t u r e ) ,通常也被称为软 件体系结构【1 5 1 。架构是从建筑学的概念引申而来,是有关软件系统的整体结构、 属性、行为与组件的高级抽象描述,指可以预先制定和可重构的软件框架结构, 用于指导大型软件系统各个方面的设计【1 3 】。现代信息系统的“架构 本质上包含 两个层次:个是物理的层次,一个是概念的层次,而物理的层次是指在一系列 的架构工作完成之后,产生的物理结构及其相互作用的结果,概念层次则主要包 括科学、艺术、方法以及建筑风格【1 3 】。另外架构有两个要素:对软件系统从整体 到部分的最高层次的划分,建造一个系统所做出的最高层次的、商业和技术决定 的、以及以后难以更改的划分【1 4 1 。 软件架构中定义和设计了软件高层对象操作( 方法) 、高层事物逻辑和流程, 模块和模块之间的交互,用户界面,对外接口等内容,简而言之,软件架构是一 个系统的草图,描述的内容主要包括构成系统的抽象组件和各个组件之间的大致 关系【17 1 。 软件系统架构不但显示了构成组件和系统需求之间的对照关系,包括设计决 策的基本原理和基本方法,而且指定了软件系统的拓扑结构和组织结构【1 4 】。 2 1 1 设计标准 架构是用于支撑更细节设计的框架,在软件开发过程中起着举足轻重的作用 【1 1 。在进行系统架构设计时,应该遵循一些设计标准,包括如下内容。 ( 1 ) 程序组织 系统架构必须分离出整个系统的各个功能模块,并且能够正确描述模块之间 的关系,在架构设计的文档中,这些内容应该属于l o g i c a lv i e w ( 逻辑视图) 的领 域( c a t e g o r y ) ,应基于客户需求与功能特征进行合理地划分子系统( 功能模块) 【1 6 1 。 如果要面向技术设计,可以以包或组件的形式对这些子系统( 功能模块) 进行封 装;在设计包或组件时通过判断哪些接口可以发布,并采用面向接口的设计方式, 第2 章系统架构优化方法及模式研究 来解除模块间的解耦问题;同时还可以引入分层的设计理念,根据层次决定子系 统( 模块) 的边界【1 6 1 。 ( 2 ) 数据设计 数据设计会成为制约项目成功的关键因素,这是因为软件系统很难摆脱数据 而单独存在;此外对于软件设计而言,软件系统的整体性能想要获得提高,必须 得有一个好的数据设计来支持;数据设计与程序组织也是息息相关的,很多情况 下功能模块的划分应与数据库( 数据表) 的划分保持一致;除了基于功能需求设 计数据,数据的查询性能、对象与数据的映射( o r m ) 、数据库未来的扩展以及数 据库的迁移,这些内容我们还必须考虑【1 6 】。 ( 3 ) 安全性 针对不同的领域,数据安全是最起码的要求;此外,用户的授权、加密以及 非法攻击的防御,也必须要充分考虑到;在进行架构设计时,不仅要考虑软件层 面上的安全,还需要从软件的部署环境、硬件系统的物理分布等多方面权衡一下 系统的安全性1 6 】。在w i n d o w sf o r m 系统中可以利用a p g c o n f i g 中对文件的安全性 进行设置,即使用户登录系统后,某些页面必须有特定权限的用户可以浏览。 ( 4 ) 性能 软件设计必须从架构的层面上考虑性能的优化,例如,我们可以考虑合理地 分层、优化数据库访问、以及引入缓存机制,而不是通过改善硬件系统,使系统 性能符合客户的意愿和要求【1 6 1 。 ( 5 ) 易用性 很多用户并非计算机相关专业开发人员,因此要求使用系统时要快捷而方便, 很多时候,对用户界面进行设计时,系统往往会要求用户的操作和界面的风格必 须统一,界面设计能够得到用户的认可,项目就预示着已经成功了一半,例如, 在数据输入时可能会遇到有多个输入框的情况,这时候就可以通过回车键在不同 的输入框之间跳转,方便了用户操作;同时还要考虑用户的体验,保证操作流程 符合业务规则。 ( 6 ) 可扩展性 基于n e t 航标业务系统架构优化设计 软件必须能够在用户的使用率和用户的数目增加很快的情况下,保持合理的 性能,以适应用户的市场扩展和需求变化。实现系统的可扩展性,需要设计思想 与设计方法来弥补,例如面向对象思想,在新技术出现的时候,一个软件系统应 当允许导入新技术,从而对现有系统进行功能和性能的扩展。 ( 7 ) 可靠性 可靠性包含很多方面:成熟( 没有导致系统失效的软件错误) 、错误处理、健 壮性( 容错性) 以及可复原性( 在失效之后继续运行) ,在设计时都尽量要考虑到 【3 3 】 o ( 8 ) 可维护性, 软件系统的维护包含两个方面,一方面是将新的软件需求反映到现有系统中 去;另一方面是排除现有的错误,一个易于维护的软件系统,可以有效地降低技 术支持的花费【1 8 】。 ( 9 ) 复杂性 本项目大,涉及的地域广,网络系统复杂,管理层次多,涉及的技术领域和 种类繁多。 ( 1 0 ) 先进性 采用当今先进的计算机及其网络技术、数据通讯技术、电子海图相关技术、 数据处理技术及互联网应用技术的新成果,建设一个符合长江航运实际情况,整 体上达到国内领先、国际先进水平的信息系统。 ( 1 1 ) 标准化和兼容性 遵循相关设计标准和技术标准,确保系统中的应用软件、设备及其接口、通 信方式及协议等符合国际、国家、行业的相关标准【1 9 】。 ( 1 2 ) 经济性 在坚持上述原则的同时,通过细致的设备选择和运行机制设计,尽可能降低 系统的造价、运行成本和维护成本。 2 1 2 设计原则 在软件开发过程中,其具体的实现方式,简单的分为面向过程与面向对象的 第2 章系统架构优化方法及模式研究 开发方式,目前更多的是面向对象的开发设计方式【2 2 1 ,本文也采用面向对象的设 计方式,在此基础上通过设计手段去分析功能点及设计分离点,如何在设计的过 程去满足设计规范与原则,设计原则如下。 ( 1 ) 单一职责原则( s r p ) 单一职责指一个操作类不能同时担负两种职责或属于多个层次( 实体类及辅 助类可以被多个层使用,但它们不属于任何一个层,而是独立存在) ,仅仅只表示 一种关键抽象【2 0 】,即应该有单一的职责,属于单独的一层:简单来说就是一个类, 只提供一种功能和仅有一个引起它变化的因素。 ( 2 ) 开发封闭原则( o c p ) 封装变化的原则定义为找出应用中可能需要变化之处,单独把它们分离 出来,目的是让它们和那些不需要变化的代码隔离开【2 3 1 。简单来说就是不能修改 现有的类,而需要在这个类的功能之上扩展新的功能,这时通过开放封闭原则【8 】 来实现这样的要求。 ( 3 ) 替换原则( l s p ) 简单的说就是扩展类,能够替换基类出现的地方,但是前提是我们不能修改 基类的行为【1 3 】。 ( 4 ) 依赖倒置原则( d i p ) 它的核心思想是:不能让高层组件依赖底层组件,而且,不管高层组件和底 层组件,两者都应依赖于抽象,简单来说就是依赖于抽象而不应该依赖于实现, 这样的目的就是降低耦合性【1 3 】。 ( 5 ) 接口隔离原则( i s p ) 简单地说就是客户只关心自己能够得到的服务,不关心细节的东西,而面向 对象的原则,通过接口的方式来提供服务【1 3 】。 2 1 3 设计方法 本文引入设计模式,利用面向对象和多层架构设计思想,来完成航标业务系 统架构的设计。在不改变软件现有功能的基础上,通过调整程序代码改善软件的 质量、性能,使其程序的设计模式和架构更趋合理,提高软件的可扩展性和可维 基于n e t 航标业务系统架构优化设计 护性。同时本文利用m a r t i nf o w l e r 总结的重构的基本手法中的其中几种方法,逐 步将当前的航标业务系统进行架构优化设计。 本文是一个兼具理论与应用的课题,所以,在研究过程中,两方面都要涉及 到,为此,论文的研究方法是:收集需求、提出方案、设计实现、验证效果。 首先,从整体到部分,对整个分层架构体系各个需求进行收集,明确各部件 的职责;然后,针对其职责,提出几种设计方案,并进行设计实现;最后,从耦 合度、可扩展性、可维护性和性能等多方面对方案进行验证,提出对解决方案的 评价。

温馨提示

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

评论

0/150

提交评论