(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf_第1页
(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf_第2页
(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf_第3页
(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf_第4页
(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)设计模式在web选众传媒系统中的应用研究.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 在软件开发过程中,面对不断变化的性能需求,软件系统往往过于僵硬 和脆弱,不易复用,很难维护。软件业众多精英一直在不断总结实践经验, 逐步形成了设计过程中的一种指导思想一设计模式。设计模式提升了人们进 行面向对象软件设计的抽象层次,为在更高的层次更大规模地重用提供了可 能,从而大大减少了设计的复杂度,同时也提高了软件设计的质量和效率。 从上世纪9 0 年代中期以来,设计模式已经成为软件工程研究领域的一大热 点。 本文在选众传媒系统在设计开发期间,大量地借鉴了设计模式所提供的 优秀的方案来解决所遇到的实际问题。从选众传媒系统的需求和功能特点出 发,讨论了软件设计模式的基本理论,指出选众传媒系统对设计模式的需求。 文中所指的设计模式都是面向对象设计模式,且采用大量的u m l 图形描述了 各种设计模式。 本文首先对面向对象设计模式等相关技术进行了深入的研究,通过比较 设计模式与框架技术、软件体系结构的关系,提出了基于设计模式的软件开 发的可行性;其次采用u m l 面向对象建模方法,通过静态建模和动态建模两 个方面,实现了从需求分析到详细设计的全程建模,从而更紧密的将需求分 析过程与系统开发过程结合在一起,进而提高了系统的可扩展性和可复用性; 最后根据建立的需求模型,阐述了设计模式在系统开发中的具体应用过程, 通过分析该选众传媒系统,给出了设计模式的具体应用方法和具体设计方案, 尤其是抽象工厂模式、观察者模式、命令模式、模版方法模式、合成模式、 责任链模式和装饰者模式。从实践的角度证明了软件开发中运用设计模式的 优势,同时指出了系统的不足和有待提高的地方。 关键词:设计模式;u m l 建模;选众传媒系统 西南交通大学硕士研究生学位论文第h 页 a b s tr a c t f a c i n gaw i d ev a r i e t yo ft h er e q u i r e m e n t si nt h ep r o c e s so f s o f t w a r e d e v e l o p m e n t ,t h es o f t w a r es y s t e m sa r ea l w a y st o of r a i l ,d i f f i c u l tt or e u s ea n d h a r d t om a i n t a i n al o to fp e o p l es l ( i 1 1 f i l li nt h es o f t w a r ed e v e l o p m e n th a v ea l r e a d y p u t f o r w a r dak i n do fg o o di d e an a m e dd e s i g np a t t e r n sb ys u m m a r i z i n gm u c h e x p e r i e n c e d e s i g np a t t e r n sh a v ef u r t h e ra d v a n c e dt h ea b s t r a c tl e v e l si nt h eo o d ( o b j e c to r i e n t e dd e s i g n ) ,m a d ei tv e r y e a s yt or e u s et h ec o d e s ,m u c h r e d u c e dt h e d e s i g nc o m p l e x i t ya n dp r o m o t e dt h eq u a l i t yo fs o f t w a r ed e s i g n i n g d e s i g n + p a t t e r n sh a v eb e c o m ev e r yp o p u l a rs i n c e t h em i d d l eo f19 9 0 s d u r i n gt h ep r o c e s so fd e s i g na n dd e v e l o p m e n to fs e l e c tm e d i as y s t e m , m a n yd e s i g np a t t e r n sa r ei m p l e m e n t e dt os o l v ep r o b l e m s f r o mt h er e q u i r e m e n t s a n df u n c t i o nc h a r a c t e r i s t i co fs e l e c tm e d i as y s t e m ,t h i sp a p e rd i s c u s s e dt h eb a s i c t h e o r yo fs o f t w a r ed e s i g np a t t e r na n dp u tf o r w a r dt h er e q u i r e m e n tf o rd e s i g n p a t t e r n t h ed e s i g np a t t e r nr e f e r r e db yt h i sa r t i c l ei so b j e c t o r i e n t e dd e s i g np a t t e r n t h ep a p e ru s e sag r e a td e a lu m l f i g u r e st od e s c r i b em o s tp a t t e r n s s t r u c t u r e f i r s t l y , t h i sp a p e rg i v e si n - d e p t hi n f o r m a t i o na b o u ta p p l y i n gd e s i g np a t t e r n b a s e do i la n a l y z i n gr e l a t i o n s h i pa m o n g d e s i g np a n e ma n dc o m p o n e n tf r a m e w o r k a n ds t r u c t u r e ,a na p p l i c a b i l i t yp r o p o s a li sb e i n gp r e s e n t e d ;s e c o n d l y , i tu s e st h e u m l o b j e c t - o r i e n t e dm o d e l i n gm e t h o d st oc o m p l e t et h ee n t i r em o d e l i n gb yt h e s t a t i ca n dd y n a m i cm o d e l i n gf r o md e m a n da n a l y s i st od e t a i l e dd e s i g n ,a n de n a b l e t h ep r o c e s so fd e m a n da n a l y s i sa n dt h ed e v e l o p m e n tp r o c e s sm o r ec l o s e l y t o g e t h e r ;f i n a l l y ,t h i sp a p e re l a b o r a t e s c o n c r e t er e a l i z a t i o no fs y s t e mm e d i a s y s t e ma c c o r d i n gt ot h ep r e v i o u sd e m a n d sm o d e ld u r i n gt h ec o u r s eo fw h i c h m a n yd e s i g np a t t e r n s a r ei m p e n e t r a t e de s p e c i a l l ya b s t r a t c tf a c t o r yp a t t e r n , o b s e r v e rp a t t e r n ,c o m m a n dp a t t e r n ,t e m p l a t em e t h o dp a t t e r n ,c o m p o s i t ep a t t e r n , c h a i no fr e s p o n s i b i l i t yp a t t e r na n dd e c o r a t o rp a t t e r n b ya n a l y z i n gt h es y s t e m , t h ec o n c r e t em e t h o da n dd e s i g ns o l u t i o n sa r eg i v e n t h ed i s a d v a n t a g ea n d p o s s i b l ei m p r o v e m e n to ft h es y s t e ma r ep o i n t e do u t k e yw o r d s :d e s i g np a t t e r n ,u m lm o d e l i n g ,s e l e c tm e d i as y s t e m 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位 论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密留,使用本授权书。 ( 请在以上方框内打“”) 学位论文作者签名:巷也。闩 指导老师签名:夏仃丁 日期:瑚皇e , r g 日期:丑咋。f 黟 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 西南交通大学硕士研究生学位论文第l 页 第1 章绪论 1 1 网络广告定向传播概述 互联网的迅速崛起,以及互联网媒介的快速发展,逐渐影响和改变着人 们的生活方式,也带动了网络广告业的成长。近年来,网络广告以其表现方 式多样、互动性强、信息容量大、覆盖面广、投入成本低等独特的优势,普 遍地出现在网站上指定的栏目或频道中固定的位置,网络广告已成为继报纸、 广播、电视、期刊和户外广告后的又一支新生力量,网络广告也拥有了越来 越大的市场份额和影响力。越来越多的企业选择网络进行产品推广和企业宣 传,网络广告从而理所当然地成为互联网的主要赢利模式之一。据资料显示, 网络广告经营额年增长幅度己超过传统媒体,一些行业也加大了网络广告的 投入。由于广告主把大量的广告费用投放在这一新兴媒体上,中国网络广告 的前景被持续看好。 尽管传统网络广告仍旧是互联网最主要的赢利方式之一,然而传统的互 联网广告由于其投放行为和受众的兴趣并不相符,大部分的网络用户对“地 毯式轰炸”的广告普遍持反感的态度,绝大多数的广告展示在所有用户的眼 前,广告投放虽然数量多但有效性却难以提高。网络广告的强势使得网民在 浏览网上信息时,往往被动地接受一些自己并不感兴趣的广告内容,甚至这 些网络广告有时还干扰了网民正常的访问和浏览,因此很多网民对这些广告 非但不感兴趣,而且十分反感。 因此,锁定目标受众群体,进行网络广告定向传播,成了开拓网络广告 的潜在力量、使网络广告主获取最大收益的有效方式。在当前正在不断发展 的网络广告市场中,广告主日益成熟和理性,对媒介价值有了更加全面、更 加清晰的认识,对目标受众和营销目的也有了更为精准的界定。在这种形势 下,商业网站的运作正逐渐向两极分化:一级是迎合大众口味的大众化路线, 另一级是细分目标人群,从而真正满足特定受众群体有效需求的个性化路线。 因此,广告主对广告的投放越来越成为一种理性而科学的选择,通过对广告 活动进行预测、策划和监控等各种手段,运用各种先进的网络定向技术,千 方百计地锁定目标受众群体,提高广告投放的效益,从而使广告信息更加有 西南交通大学硕士研究生学位论文第2 页 效的传播。 网络广告定向传播的诞生和发展,依赖于先进的网络媒介技术和广告主 对广告低成本和高效率的追求动力,在广告业界已经逐渐显示出其强大的生 命力和竞争力。尽管网络广告定向传播的发展还面临诸多的制约因素,但由 于它可以有效克服普通网络广告传播模式的缺陷和不足,更能吸引广告客户, 不久的将来必定成为中国网络广告发展的主流方向。 1 2 论文的研究背景、内容及意义 1 2 1 论文的研究背景 本课题来源于四川结盟科技有限公司的项目。笔者所参与开发的选众传 媒系统是以自身百万级消费者数据一数据库平台的强大资源支持下,整合了 手机短信,电子邮件,商业信函,电话传真等多种媒体方式为广告主及消费 个体服务。广告主可以在这个商务平台上实现潜在客户分析、锁定目标客户, 从而通过整合的多种发送媒体营销模式与目标客户沟通,并且获得每次沟通 结果的追踪反馈,有利于下一次营销活动。 系统功能齐全、比较复杂,而且随着系统的扩展和应用的不断深入,其 规模性和复杂性也会日益增加。因此,必须制定合理j 有效的开发策略和计 划,统筹开发的全过程。此过程不仅需要考虑软件系统的功能问题,还有考 虑解决更高要求的扩展性、可靠性和重用性等非功能性问题。传统的面向功 能的开发方法在研制此类系统时,显得效率低下且通用性差,而面向对象的 开发方法在提高软件可复用性和可扩展性的同时,有效地解决了上述问题。 所以本文采用基于设计模式的方法对选众传媒系统进行设计和研究。在设计 过程当中,设计模式有助于开发人员解决开发过程中重复碰到的问题,使得 系统中相同的部分得到复用,有利于系统后期扩展。 1 2 - 2 论文的研究内容 本论文所开发的选众传媒系统是基于设计模式开发的,引入设计模式确 保了系统设计的高效性、可扩展性、可复用性。在这个方向的探索中,论文 完成了一下几项工作: 1 、研究了当前网络广告系统的发展状况,结合当前网络广告系统的发 展形势与特点,构建了选众传媒系统; 西南交通大学硕士研究生学位论文第3 页 2 、对设计模式的基本理论进行了研究,尤其是面向对象的基本设计原 则; 3 、通过面向对象的方法把系统分割成一系列的层次和对象,并使用设 计模式解决应用设计开发中存在的许多问题,实现多层系统结构,从真正意 义上实现了表示层与业务层的分离。出于业务需要,又将业务层分为三个子 层:业务代理层封装业务逻辑的流程,业务实现层包含领域中的实体对象, 数据访问层提供数据访问的抽象。以上设计使得基于此框架的系统有利于不 断扩充、维护; 4 、针对选众传媒系统的特点,采用u m l 面向对象建模方法,通过静态 建模和动态建模两个方面,实现了从需求分析到详细设计的全程建模,并在 此基础上整体设计了选众传媒系统,为系统的开发奠定了基础; 5 、充分利用设计模式技术来开发系统,以提高软件系统的可复用性、可 扩展性,并分析了抽象工厂( a b s t r a c tf a c t o r y ) 模式、观察者( o b s e r v e r ) 模式、 命令( c o m m a n d ) 模式、模版方法( t e m p l a t em e t h o d ) 模式、合成( c o m p o s i t e ) 模 式、责任链( c h a i no fr e s p o n s i b i l i t y ) 模式以及装饰者( d e c o r a t o r ) 模式在系统中 的应用。从实践的角度证明了软件开发中运用设计模式的优势,同时指出了 系统的不足和有待提高的地方。 1 2 3 论文研究意义 伴随着互联网的发展,各种技术的创新,在市场被细化成粉末状的当今 环境下,精准营销成为了近几年的一个热点话题,同时广告也正蕴藏着一场 从撒网式的传播模式到以用户需求为导向的精准传播模式变革。精准的网络 广告营销系统降低了广告主的营销沟通成本,大大提高了营销效率。因此对 精准营销模式的广告系统的研究有着重要的意义。 但是,网络广告系统是面向网络客户的,会有新的需求不断提出,因此 网络广告系统的软件需求极其复杂,而且变化频繁,需要不断扩展满足客户 需求,给系统的开发工作带来了极大的不便。如何避免在软件开发中出现大 量的重复工作,提高软件的可扩展性、可维护性,使软件走向标准化生产, 显得越来越重要。因此本文对基于设计模式的选众传媒系统进行研究,并对 其需求分析进行建模,利用面向对象技术及设计模式的方法进行开发系统, 实现软件的可复用性和可扩展性。 西南交通大学硕士研究生学位论文第4 页 1 3 论文组织结构 本论文共分四章,内容如下: 第一章介绍了网络广告定向传播的产生及其发展,同时介绍了论文研究 背景、研究内容及意义。 第二章比较系统地阐述了设计模式的定义、面向对象设计的基本原则、 通用责任分配原则( g r a s p ) 、设计模式的选择步骤等与设计模式相关的基本 理论知识。 第三章对选众传媒系统的主要业务流程进行分析,并用u m l 对象建模方 法通过建立系统静态模型和动态模型来完成选众传媒系统的需求建模,使选 众传媒系统的整个业务流程更加清晰和完整,为系统的开发奠定了基础。 第四章根据所建立的需求模型,系统的设计及实现中大量借鉴了软件设 计模式思想,其中重点分析了抽象工厂( a b s t r a c tf a c t o r y ) 、观察者( o b s e r v e r ) 模式、命令( c o m m a n d ) 模式、模版方法( t e m p l a t em e t h o d ) 模式、合成 ( c o m p o s i t e ) 模式、责任链( c h a i no f r e s p o n s i b i l i t y ) 模式以及装饰者( d e c o r a t o r ) 模式在系统开发中的应用,并体现了良好的效果。 最后总结全文的工作,并提出今后的研究方向。 西南交通大学硕士研究生学位论文第5 页 第2 章设计模式相关理论研究 2 1 设计模式及其相关概念 2 1 1 设计模式的定义 关于设计模式的定义有很多种,我们在这里列出了几个有代表性、权威 性的定义: 定义l :a l e x a n d e r 给出的经典定义是:每个模式都描述了一个在我们的 环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方 式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。 定义2 :模式是在某种特定的场景( c o n t e x t ) 下某个不断重复出现的问题 的解决方案。模式本身并没有任何的创新性,它仅仅是对于一些已经被证明 为优秀的解决方法的归类、总结,目的是为了重用该解决方案而又不用做重 复的劳动。其中,“特定场景 和“重复两个限定词非常关键,“特定场景 给出了什么时候以及为什么使用一个模式,“重复 说明了模式的可重复性从 而可以被重用。 定义3 :j a m e so c 在文献中定义模式为:“模式是一种描述特定环境下 的设计问题和对这个问题的通用解决方案。 软件中的模式分为:分析模式 ( a n a l y s i sp a t t e r n ) ,体系结构模式( a r c h i t e c t u r a lp a t t e r n ) ,设计模式( d e s i g n p a t t e r n ) ,代码模式( c o d i n gp a t t e r n ) ,测试模式( t e s tp a t t e r n ) ,进程模式 ( p r o c e s sp a t t e r n ) ,组织模式( o r g a n i z a t i o np a t t e r n ) 。 定义4 :j a m e so c 和d o u g l a sc s 给出的设计模式定义:“设计模式捕 获的是在特定环境下建造应用时重复出现的静态和动态结构的解决方案。” 定义5 :由于目前设计模式的研究主要集中在对象技术领域,所以现有 的大多数设计模式都是面向对象的设计模式。e r i c hg a m m a 等“四人组”给 出了面向对象的设计模式的定义:“设计模式是对一些通过互相通讯以解决在 特定环境下的通用设计问题的对象和类的描述。” 西南交通大学硕士研究生学位论文第6 页 2 1 2 面向对象设计的基本原则 一个好的软件设计应该具有可扩展性、灵活性以及可插入性。对于面向 对象的软件设计来说,在支持可维护性的同时,提高系统的可复用性是软件 设计中需要考虑的一个重要方面。软件的复用率高可以产生较高的生产效率, 提高软件质量,而且适当的使用复用可以改善系统的可维护性1 。 通过学习和应用设计模式,可以更加深入的理解面向对象的设计理念, 帮助设计人员改善系统设计,提高软件系统的可维护性和可复用性。但设计 模式不能提供具有普遍性的设计指导原则。设计模式的背后有更为深层的、 更具有普遍性的、共同的思想原则,这就是面向对象设计的基本原则。本文 总结和分析了以下几种设计原则:开闭原则、里氏代换原则、依赖倒置原则、 接口隔离原则、组合聚合复用原则、迪米特法则“3 。 1 ) 开闭原则 “开闭原则”是面向对象设计最基本的原则。所谓“开闭原则”就是一 个软件实体应当对扩展开放,对修改关闭,也就是说软件设计的时候,在不 修改的情况下就可以扩展。 2 ) 里氏代换原则 子类应当可以替换父类并出现在父类能够出现的任何地方。里氏代换原 则是对开闭原则的补充,是保证开闭原则的重要原则。 3 ) 依赖倒转原则 依赖倒转原则就是抽象不应该依赖于细节,而细节应该依赖于抽象。依 赖倒转原则是面向对象设计的主要机制,它的核心思想就是要针对接口编程, 而不要针对实现编程。 4 ) 接口隔离原则 接口隔离原则就是不应该强迫客户依赖于它们不使用的方法。使用多个 专门的接口比使用单一的总接口要好。从客户类的角度讲,一个类对另外一 个类的依赖性应该是建立在最小的接口上。 5 ) 单一职责原则 单一职责原则就一个类而言,应该仅有一个引起它变化的原因。也就是 一个类的功能要单一,只做与它相关的事情。在单一职责原则中,我们把职 责定义为“变化的原因。 6 ) 合成聚合复用原则 合成和聚合都是关联的特殊种类。聚合用来表示拥有关系或者整体与部 西南交通大学硕士研究生学位论文第7 页 分的关系,而合成是一种更强的拥有关系。使用合成或聚合,可以使已有的 对象组成新的对象,新对象可以调用已有对象的功能。 7 ) 迪米特法则 迪米特法则也称之为最少知识原则,即一个对象应当对其他对象有尽可 能少的了解。也就是说在系统中各个对象之间应尽量减少直接调用,如果一 定要发生调用关系,应尽量通过第二方进行通信,这样可以有效地降低系统 中对象之间的耦合程度,这样就不会出现修改某一个类却对其它类产生不良 的影响。例如门面模式就是为了把各个层之间解耦,符合该原则。 2 1 3 通用责任分配原贝, , j ( g r a s p ) 通用责任分配软件模式g r a s p ( g e n e r a lr e s p o n s i b i l i t ya s s i g n m e n t s o f t w a r ep a t t e r n s ) 是面向对象系统分析和设计的理论基础,指导我们做好对 象责任分配。责任是类间的一种合约,责任包括行为、数据、对象创建等。 要做好对象责任分配,首先,我们要明确对象责任的含义。面向对象设计过 程就是将责任分配给对象的过程。理解通用责任分配原则是理解设计模式的 基础。 1 ) i n f o r m a t i o ne x p e r t ( 信息专家) 信息专家模式是面向对象设计的最基本原则,是我们平时使用最多,应 该跟我们的思想融为一体的原则。也就是说,我们设计对象( 类) 的时候,如 果某个类拥有完成某个职责所需要的所有信息,那么这个职责就应该分配给 这个类来实现。这时,这个类就是相对于这个职责的信息专家。这也是跟面 向对象里的单一职责原则相吻合。 2 ) c r e a t o r ( 创造者) 实际应用中,符合下列任一条件的时候,都应该由类a 来创建类b ,这 时a 是b 的创建者: a 是b 的聚合 a 是b 的容器 a 持有初始化b 的信息( 数据) a 记录b 的实例 a 频繁使用b 3 ) l o wc o u p l i n g ( 低耦合) 低耦合模式的意思就是要我们尽可能地减少类之间的连接。其作用非常 重要: 西南交通大学硕士研究生学位论文第8 页 低耦合降低了因一个类的变化而影响其它类的范围。 低耦合使类更容易理解,因为类会变得简单,更内聚。 4 ) h i g hc o h e s i o n ( 高内聚) 高内聚的意思是给类尽量分配内聚的职责,也可以说成是功能性内聚的 职责。即功能性紧密相关的职责应该放在一个类里,并共同完成有限的功能, 那么就是高内聚合。这样有利于类的理解和重用,也便于类的维护。 5 ) c o n t r o l l e r ( 控制器) 用来接收和处理系统事件的职责,一般应该分配给一个能够代表整个系 统的类,这样的类通常被命名为“x x 处理器”、“x x 协调器”或者“x x 会 话 。 6 ) p o l y m o r p h i s m ( 多态) 多态是面向对象的基本特征。在面向对象设计中,我们首先定义一个接 口或者抽象类,然后具体的类实现,这时候,客户端调用的时候就要用多态 了。多态可以使设计的内聚程度提高。 7 ) p u r ef a b r i c a t i o n ( 纯虚构) 这里的纯虚构跟我们常说的纯虚构函数意思相近。高内聚低耦合,是系 统设计的终极目标,但是内聚和耦合永远都是矛盾对立的。高内聚以为这拆 分出更多数量的类,但是对象之间需要协作来完成任务,这又造成了高耦合, 反过来也是。该如何解决这个矛盾呢? 这个时候就需要纯虚构模式,由一个 纯虚构的类来协调内聚和耦合,可以在一定程度上解决上述问题。 8 ) i n d i r e c t i o n ( 间接) 要避免对象间直接耦合,可以将协调组件或服务的职责分配给中间对 象,这个中间对象称之为间接或中介对象。就像低耦合模式里说的一样,“两 个不同模块的内部类之间不能直接连接”,但是我们可以通过中间类来间接连 接两个不同的模块,这样对于这两个模块来说,他们之间仍然是没有耦合 。依赖关系的。 9 ) 受保护变化 预先找出不稳定的变化点,使用统一的接口封装起来,如果未来发生变 化的时候,可以通过接口扩展新的功能,而不需要去修改原来旧的实现。也 可以把这个模式理解为o c p ( 开闭原则) 原则,就是说一个软件实体应当对扩 。展开放,对修改关闭。在设计一个模块的时候,要保证这个模块可以在不需 要被修改的前提下得到扩展。这样做的好处就是通过扩展给系统提供了新的 职责,以满足新的需求,同时又没有改变系统原来的功能。 西南交通大学硕士研究生学位论文第9 页 2 1 4 设计模式的选择步骤 选择模式1 的方法很多,特别是随着对设计模式研究的广泛开展,越来 越多的模式被发现,人们也开始寻找自动获取模式的方法,但还不成熟。在 目前的实际工作当中,人们仍然采用传统的模式选择方法,主要凭借对设计 模式功能的理解和自身的设计经验。这要求设计人员对所有设计模式都有较 深的理解和掌握。然而,目前对于模式选择方法的介绍,大多是基于单个方 法的,并没有对方法间的联系加以阐述,容易导致人们孤立地看待问题,不 便于使用。我们通过对己有的模式选择方法加以总结、归纳、简化并把它们 联系起来,发现在选择模式时基本可以遵循以下的步骤: 1 ) 理解问题需求:需求是模式选择的基础,通过对需求的分析可以找到 多个模式,形成模式组; 2 ) 研究组内模式:需求分析得出的组内模式有一些共性,但是每种模式 都有其特殊的意图、使用动机和使用条件,因此需要对组内模式进行研究; 3 ) 考虑设计模式如何解决设计问题:在此过程中,主要考虑设计模式在 设计中所支持的可变化因素,即确定改变什么而不需重新设计,根据这一点 可以找到所需的设计模式。此外考虑与其相关的设计模式。 以上是对设计模式在设计过程中的原则及步骤进行总结,这可以给设计 人员在在选择设计模式时提供一种参照依据。 2 1 5 设计模式的分类 g o f 模式在类度和抽象层次上各不相同,分类很明显。这些分类有助于 更快地学习各种模式,对于发现新的模式也有指导作用。对g o f 模式可以基 于两种准则进行分类。 第一是目的准则。目的准则的划分依据是模式完成的工作,它可分为创 建型( c r e a t i o n a l ) 、结构型( s t r u c t u r a l ) 和行为型( b e h a v i o r a l ) 三种。创建型模式 与对象的创建有关,结构型模式处理类或对象的组合,行为型模式对类或对 象怎样交互和怎样分配职责进行描述。 第二是范围准则。模式应用范围可以分为:类模式和对象模式。类模式 处理类和子类的关系,这些关系通过继承建立,在编译时刻就确定下来,是 静态的。对象模式处理对象间的关系,这些关系在运行时是可变的,具有动 态性。 依据这两条分类标准,可以把g o f 模式进行类别划分,如表2 1 所示。 西南交通大学硕士研究生学位论文第l o 页 表2 - 1g o f 设计模式分类n 1 目的 创建型结构型行为型 类 f a c t o r ym e t h o da d a p t e r ( 类)i n t e r p r e t e r t e m p l a t em e t h o d 对a b s t r a c tf a c t o r y a d a p t e r ( 对象1 c h a i no f r e s p o n s i b i l i t y 象 b u i l d e r b r i d g e c o m m a n d p r o t o t y p ec o m p o s i t e i t e r a t o r s i n g l e t o n d e c o r a t o rm e d i a t o r f a g a d e m e m e n t o f l y w e i g h t o b s e r v e r p r o x y s t a t e s t r a t e g y v i s i t o r 2 2 设计模式与软件体系结构 2 2 1 软件体系结构介绍 软件体系结构是一个软件系统构件的组织结构,是它们之间的关联关系 以及支配系统设计和演化原则和方针。一般来讲,一个系统的软件体系结构 是由一组计算构件、构件之间的交互连接件以及构件和连接件如何结合在一 起的约束限制的描述组成的。一个特定的系统是用一些构件的集合和构件之 间的交互来定义的,而这样的系统又可以在大型的系统设计中作为一个复杂 的元素。客户和服务器、数据库、层次系统中的层都是构件的实例。软件体 系结构不仅指定了系统的组织结构和拓扑结构,而且还显示了系统需求和构 成系统元素之间的对应关系,提供一些设计决策的基本原理。一般来说,体 系结构模型辨明了构件和构件交互中结构和语义的差异。这些体系模型通常 又被组合起来定义更大的系统。理想情况下不同的体系结构描述的元素是独 立定义的,因此它们可以在不同的上下文中重复使用。这样体系结构建立的 这些单独的元素规格说明就可以被建造成体系机构级的子系统砖1 。 软件体系结构描述了子系统、以及子系统间的关联,并按功能与非功能 西南交通大学硕士研究生学位论文第1 1 页 的属性进行归类,体现出软件设计活动的成果。 2 2 2 设计模式与软件体系结构的关系 软件体系结构必须明确标识不同的构件类型和它们的交互关系。构件通 常对应程序设计语言中的编译单元,连接通常为动态数据结构、初始化参数 等等。每种体系结构风格都定义了特定的构件类型、连接类型以及全局的控 制结构。而设计模式所提供的解是基本的结构,并不是详细、完整的解阳1 。 一个设计模式提供了对于一组设计问题的一般的解的框架,而不是预定义的 可拿来就用的模块。必须根据应用的具体需求实现设计模式。设计模式与软 件体系结构的区别在于: 1 、软件体系结构描述了各种各样的系统设计,并不限于面向对象系统, 设计模式目前主要研究面向对象系统。 2 、体系结构主要集中于系统全局的构造( 构件类型、连接类型、规则和 约束) ,设计模式着重解决类度更小的、更为具体的设计问题们。 3 、体系结构提供了更为精确的描述语言,而设计模式的形式化研究刚 刚起步。 它们都强调设计的重用,有时把设计模式看成是小类度的软件体系结 构。 2 3 设计模式与软件框架 2 3 1 软件框架介绍 框架是一个可复用的、“半成品 的应用程序,通过对框架的定制可以 产生满足客户具体需求的应用程序1 。从用户使用的角度:用户通过定制框 架形成满足他们具体需求的软件,这个过程是简单的,复杂的内部结构必须 对用户隐藏。从设计复用角度:框架完整地描述了一个领域内的设计概念, 可以适合该领域内用户不同的需求。从实现复用的角度:可以通过继承或者 代理的方法来使用框架中的抽象类达到实现复用。其优点有:模块化、可复 用性、可扩展性、反向控制。 2 3 2 设计模式与软件框架的关系 目前,相当多的人把软件框架与设计模式混为一谈。其实,框架与模式 西南交通大学硕士研究生学位论文第1 2 页 都是来自多个解决相关问题的应用,来自多个应用的实践经验,但软件框架 与设计模式是一组不同的概念,具有不同的含义。 软件框架是设计模式的特例化,它总是针对一个特定的应用领域1 。软 件框架是用某种程序语言来书写。设计模式代表了在软件开发过程中特定场 景下解决重复发生的问题的方案。每一个设计模式都集中于一个特定的面向 对象设计问题或设计要点,描述了什么时候使用它,以及使用的效果和如何 取舍。一个使用设计模式的框架比不用设计模式的框架更可能获得高层次的 设计复用和代码复用。它们最主要的不同在于如下三个方面: 1 、设计模式比框架更抽象。框架能够用代码表示,而设计模式只是其 实例才能表示为代码。框架的威力在于它们能够用程序设计语言编写,不仅 可以被学习,还能被直接执行和复用。从这个意义上说,框架是个物理实体, 而设计模式是个逻辑实体。框架可以看成是一个或多个设计模式解决方案的 物理实现,而模式则指导如何实现这些方案。 2 、设计模式是比框架更小的体系结构元素。一个典型的框架都包含多 个设计模式,而反之绝非如此。 3 、。框架比设计模式更加特例化。框架总是针对一个特定的应用领域, 而设计模式基本可以被用于任何应用。 西南交通大学硕士研究生学位论文第1 3 页 第3 章选众传媒系统分析与设计 3 1 选众传媒系统简介 笔者参与开发的选众传媒系统,定位于专业数据库精准营销模式,在以 自身百万级消费者数据一数据库平台的强大资源支持下,整合了手机短信、 电子邮件、商业信函和电话传真等多种传媒方式为广告主及消费个体服务。 作为广告主,通过注册并与广告服务提供商签订合同,取得选众传媒系统的 会员资格之后,便可以轻松在这个平台上实现潜在客户分析、锁定目标客户, 从而通过手机短信、电子邮件、商业信函和电话传真等整合营销模式与目标 客户沟通,每次沟通的结果都会生成一个很详细的后期发送报告,广告主可 以通过这个报告对本次营销活动进行客观评估与分析,通过i t 技术与在线营 销模式大大降低企业的营销沟通成本,从而大大提高了营销效果。 3 2 系统需求建模 软件建模是在对系统需求分析基础上来进行的。从实际软件开发的角度 考虑,采用面向对象技术开发软件系统的建模主要分静态建模和动态建模。 其中静态模型包括用例图、类图、对象图、组件图和部署图。动态模型或者 是可执行的,或者表示执行时的时序状态或者交互关系,包括状态图、活动 图、顺序图以及协作图,是动态建模机制n 铂n 3 1 。 由于篇幅所限,在这里不可能对所有的功能子系统都进行分析设计,我 们仅选择了广告合同审核、广告促销活动和广告订阅取消订阅这三方面业务 进行具体分析,分别从静态模型和动态模型两方面进行分析建模,并以用例 图和流程活动图进行描述。 3 - 2 1 广告合同审核流程分析及建模 为了明确广告主和广告经营者的权利和义务,并使这些权利和义务得到 法律保障,广告主和广告经营者要签订广告合同。广告合同经过相关部门审 西南交通大学硕士研究生学位论文第1 4 页 核而生效,广告主就可以依照合同参与广告活动。 广告合同审核流程如下: ( 1 ) 广告主向广告经营者( 这里以广告业务员身份代理) 申请打广告业 务。 ( 2 ) 广告主和业务员洽谈有关事项,在合同法的框架下就广告合同 达成一致,明确双方的权利和义务,由业务员起草合同方案。 ( 3 ) 广告主要对合同方案进行确认,审核通过,则广告主和广告经营者 签订合同,审核未通过,则双方就合同需要重新洽谈搭成一致。 ( 4 ) 合同签订后,交由部门经理审核,审核通过后,若是一般合同,则 直接交财务部门审核;若是特殊合同还需提交给总经理审核,通过后再交由 财务部门审核。 ( 5 ) 财务部门对合同上关于合同款项的条款进行审核,并扣除费用,将 合同交由业务员备案生效。 从以上业务分析,我们可以抽象出广告合同审核的主要参与者有:广告 主、业务员、部门经理、总经理和财务员j 广告合同审核流程活动图如图3 1 所示。 业务员总经理财务员 l 墟笄斟 一 甲 【通过且 :一般合同1 ,囝 _ 】 f 井 型 丫 瑚l 过且是特殊合隔 厂= l k 7 丁陬 ”7 = = := ,盐;t 、 兰 【来通过1 【未通过 义 【通过】 弓 厂= 氐,庀 矽、 : 图3 1 广告合同审核活动图 在广告合同审核业务中,参与者有广告主、业务员、财务员、部门经理 和总经理。主要用例有合同方案起草、合同签订、合同审核、财务审核等。 西南交通大学硕士研究生学位论文第1 5 页 广告合同审核用例图如图3 - 2 所示。 图3 - 2 广告合同审核用例图 3 2 2 广告促销活动分析及建模 广告促销活动是广告和促销相结合的商品营销模式,广告主通过打广告 与目标客户进行有效的沟通,从而引导消费者试用或再购买产品的目的。促 销效果的好坏直接关系到广告主以及消费者的利益,因此,必须制定有效的 广告促销策略,设计合理的广告促销流程。 伴随着互联网的发展,各种技术的创新,在市场被细化成粉末状的当今 环境下,广告促销活动应体现营销对象的精准性、广告内容的个性化和传播 方式的多样化,使广告促销活动达到不错的效果。 广告主在查询合同有效后方可进行广告促销,广告主根据自己此次广告 促销的产品、针对的目标受众以及当前的市场环境等因素,制定出广告促销 方案;在广告制作中,为确保广告内容的真实、有效、可靠,业务人员要对 广告内容审核;一次广告促销完成后,要由受众客户反馈信息,由业务员整 理统计,然后反馈给广告主作此次广告促销的客观评估分析。这样,有利于 广告主进行下一次的广告促销。广告促销活动的业务流程活动图如图3 3 所 不。 西南交通大学硕士研究生学位论文第1 6 页 广告主业务人员受众客户 、仁= = = 、 , 7 与一 f 有效】 卤 :散1 7 r 一o 、 【过】 山【 司( 一告) _文审哆 【下带:意】 失v o 析目标受众群体信d _ 一丫 _ 【满意】 崮 、 【投放成功j 7 【投放失败】 尚 :二: t 醚,l 。:;。:。;、, ( 统计信息) f ,反馈信息、 矽、弋1 ”、 图3 - 3 广告促销活动图 通过以上活动图来抽取出了广告促销活动的用例模型,如图3 4 所示。 在选择受众群体时,广告主自己积累的受众客户信息和其它广告经营商 的受众信息均是受众信息的主要来源,所以选择受众群体用例与导入受众客 户信息用例、租用受众客户信息用例之间采用了扩展关系;一次目标受众名 单的生成过程可能包含多次受众名单的组合操作;定制受众名单选取条件在 受众名单的查询中也会存在。因此,可以将这些相同的或重复的动作提取出 来单独构成用例,生成目标受众名单用例与这两个用例之间采用包含关系; 广告主在促销活动过程中,可以制作手机短信广告、电子邮件广告、电话传 真广告和商业信函广告,制作广告用例表示了通用的行为序列,针对不同的 广告类型,通过插入额外的步骤或定义步骤完成具体类型的广告制作,因此, 把四种不同的广告制作看作单独的用例,作为制作广告用例的子用例,它们 西南交通大学硕士研究生学位论文第1 7 页 之间是泛化关系。 查q 性6 节琴售岔 墨 差多= 戮瀛信f 制敝矧牛 慕 i 制制定广告促销方案 一 、乏7 一 图3 - 4 广告促销活动用例图 3 2 - 3 广告订阅流程分析及建模 受众客户作为广告传播的对象,企业发起广告的目的是要它的广告受众 对企业的产品或企业本体有所认知、认同、偏爱,直至忠诚,最终成为企业 产品的购买者。像传统的做法,广告主或广告经营者不考虑消费者的感受而 随意性地向消费者塞广告,起不到好的营销效果,反而还会使消费者产生厌 恶感。因此,要让消费者主动性地订阅广告,关注他们感兴趣的广告信息, 西南交通大学硕士研究生学位论文第1 8 页 则效果会更好。 为了扩大广告订阅的数量,让更多人享受到广告营销的服务。广告订阅 中,我们采用会员提成制度。已订阅了广告的会员,推荐其他人订阅广告, 会得到一定的提成回扣。 受众客户填写订阅申

温馨提示

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

评论

0/150

提交评论