(计算机应用技术专业论文)设计模式在软件项目中的应用.pdf_第1页
(计算机应用技术专业论文)设计模式在软件项目中的应用.pdf_第2页
(计算机应用技术专业论文)设计模式在软件项目中的应用.pdf_第3页
(计算机应用技术专业论文)设计模式在软件项目中的应用.pdf_第4页
(计算机应用技术专业论文)设计模式在软件项目中的应用.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

内蒙古人学l :程硕+ 学位论文 设计模式在软件项目中的应用 摘要 本文从笔者对信息管理系统软件开发的经验和认识出发,以面向 对象和设计模式理论为基础,结合具体开发项目实例,论述了设计模 式在m i s 系统中分析、设计、开发的应用过程,目标是为信息管理 系统软件开发在设计和实现方式上建立一种可复用,易扩展的开发模 式。 信息管理包括两个核心的概念,一是先进的管理理念,二是先进 的管理工具。管理理念与具体行业和业务相关,管理工具则侧重于计 算机对信息的存储、处理和分析的能力。如何积极适应用户的需求, 进行合理设计,快速开发,灵活部署并能保证系统具有良好的稳定性 和扩充性是软件开发项目成功的关键冈素。 软件开发项目的成功实施既需要理论知识,也需要应用经验。在 实际应用中,针对某类开发项目模式化方法的讨论还不多见,开发人 员难以将抽象的理论应用在具体的项目当中。 因此,本文论述的设计模式是要探讨建立一种通用性设计模式流 程,以使开发团队能在类似项目的开发过程中模式化,进一步提高开 发工作的效率和产品质量,并使系统具有良好的稳定性和扩充性。 关键词:设计模式、面向对象分析、面向对象设计、接口、委托、事 件 没计模式在软件项目中的廊朋 t h ea p p l i c a t i o no fd e s i g np a t t e r n si ns o f t w a r ed e v e l o p i n gp r o j e c t s a b s t r a c t t h i st h e s i sd e s c r i b e sad e c i c a t e dd e v e l o p i n gp r o c e s so fam i s ( m a n a g e m e n ti n f o r m a t i o ns y s t e m ) ,f r o ma n a l y s ist od e s i g n i n g w h i c h b a s e do nd e s i g np a t t e m sa n do b j e c t so r i e n t e dd e s i g nt h e o r y ,s ot h a ti t c a ne s t a b l i s ha d e s i g na n di m p l e m e n tp a t t e r no fm i s t h ei n f o r m a t i o nm a n a g e m e n ti n c l u d e st w oc o r e c o n c e p t ,o n e i s a d v a n c e dm a n a g e m e n tt h e o r y , a n o t h e ri sa d v a n c e dt o o l s t h ef i r s ti s a s s o c i a t e dw i t ht h ed e d i c a t ef i e l d sa n db u s i n e s s ,t h es e c o n di sc o r r e l a t e d w i t ht h ec a p a b i l i t yo fi n f o r m a t i o ns t o r a g e ,p r o c e s s i n ga n da n a l y z i n gw i t h t h ec o m p u t e r h o wt oa c tt ot h er e q u i r e m e n tf r o mc u s t o m e r s ,t od e s i g i n r e a s o n a b l y , t od e v e l o pr a p i d l ya n dd e l o p yf l e x i b i l y , a n dt oa s s u r et h e s t a b i l i t ya n de x t e n s i b i l i t y ,i st h ek e yo fs o f t w a r ed e v e l o p i n g t h ep r o je c to fs o f t w a r ed e v e l o p m e n tn e e d sb o t ht h e o r ya st h eb a s e o fa n a l y s ep r o b l e m sa n dt h es k i l l sf o rd e v e l o p e rt ou s ed e v e l o pt o o l s ,a t t h es a m et i m e ,p r a c t i c ei sa n o t h e ru n l e s sp o i n t t h e r eh a sb e e ns om u c h e x p r e s s a b o u ta b o v e ,b u tt h e r eh a sl e s st od e s c r i b et h ed e d i c a t e c a s e ,w h i c ha s s o c i a t e dt h et h e o r yw i t ht h ep r a c t i c e ,a n dh a sl e s sa r t i c l et o d e s c r i b eh o wu s ead e d i c a t ed e s i g np a t t e mt oad e d i c a t ep r o j e c t ,s ot h e d e v e l o p e ri sh a r dt oa p p l yt h ea b s t r a c tt h e o r yi n t ot h e i rp r o j e c t s t h er e s u l to ft h i st h e s i si st oe s t a b l i s hau n i v e r s a la n dg e n e r a ld e s i g n a n di m p l e m e n tp r o c e d u r e ,s ot h a tt h ed e v e l o pg r o u pc a nr e u s et h ep a t t e r n t od e v e l o pt h es a m et y p ep r o j e c t s r a p i d l y , e f f e c t i v e l y , a n dl e a dt o a f l e x i b l e ,e x t e n d b l ea n ds t a b l es y s t e m k e y w o r d s :d e s i g np a t t e r n s ,0 b j e e t so r i e n t e da n a l y s e ,o b j e c t s o r i e n t e dd e s i g n ,i n t e r f a c e ,d e l i g a t e ,e v e n t 内蒙占人学l :程硕十学位论文 图表目录 表2 1 缴费报表7 图4 1 系统部署图10 图4 2 n e tf r a m e w o r k 组成l2 图4 3 n e t 平台架构1 3 图4 4 用a s p n e t 部署三层架构1 4 图5 1 静态模型示例1 6 图5 2 业务实体的静态模型、数据库实体的静态模型17 图5 3 业务实体接 、操作、静态数据关系图1 8 图5 4 数据库逻辑模型1 9 图5 5d a t a s e t 对象模型2 1 图5 - 6 单件模式静态模犁图2 5 图5 7 基于s q i 。s e r v e r 数据访问类的静态模型2 5 图5 - 8 业务逻辑层的静态模型举例2 7 图5 - 9 接口实例的静态模型举例2 8 图5 1 0 接 实现的静态模型举例2 9 图5 一l l 抽象工厂模式静态模型图3 0 图5 1 2 抽象工厂模式实例化数据实体接口静态模型图3 1 图5 1 3 业务逻辑层与数据层关系图3 2 图5 1 4 数据层数据实体与表示层业务实体的对应关系3 3 图5 15 组件设计界面实例3 4 图5 1 6 外观模式示意图3 6 图6 1 基于角色的权限管理界面一3 9 图6 2 基础信息维护界面4 0 图6 3 业务管理一缴费界面4 0 图6 4 业务管理一收费界面4 l 图6 5 短信发送界面4 l v 原创性声明 本人声明:所呈交的学位论文是本人在导师的指导下进行的研究工作及取得的研究成 果。除本文已经注明引用的内- 容# 1 - ,论文中不包含其他人已经发表或撰写过的研究成果,也 一:? 不包含为获得凼墓直塞堂及其他教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:割姥指导教师签名:邋 e l 期:显:,纽 e l 期:3 翻咝:正: 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权将 j 学位论文的全部内容或部分保留并向国家有关机构、部门送交学位论文的复印件和磁盘,允 许编入有关数据库进行检索,也可以采用影印、缩印或其他复制手段保存、汇编学位论文。 为保护学院和导师的知识产权,作者在学期间取得的研究成果属于内蒙古大学。作者今后 使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若用 于发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 学位论文作者签名:素l 宝塞 e l 期:区筵:丝 指导教师签名: 内蒙占人学i :样硕十学位论文 1 1 选题研究方向 第一章引言 1 1 1 问题的提出 笔者从事软件设计和丌发工作,在不同软件项目设计和丌发的过程中,发 现在处理不同项目的相似问题时,解决问题的方法也是相似的,区别在于不同项 目中的处理对象不同。在数据存储处理、数据表示的实现过程中,经常通过对代 码的拷贝、对象的更名来将已有项目中解决问题的方法应用到新的项目中;在解 决用户需求变更和功能扩展问题时,不可避免地要破坏最初的设计架构和模块间 的耦合关系,使原本清晰的系统架构和功能层次变得混乱,基于解决这两个问题 为出发点,本人丌始考虑是否能有种方法解决以上问题。通过对相关资料的学 习和在网络上寻求解决方案,最终找到了答案,即:在软件设计和实现的过程中 采用“设计模式”,其目的就是解决软件的“可复用性”和软件的“可维护性。 本文以笔者开发的一个物业系统为案例,说明在具体m i s ( m a n a g e m e n t i n f o r m a t i o ns y s t e m 管理信息系统) 丌发过程中如何应用设计模式的方法以及基于 这种开发思路设计和实现软件系统的好处。 1 1 2 模式的定义 模式( p a t t e r n ) 的概念最早由建筑大师c h r i s t o p h e ra l e x a n d e r 于二十世纪七 十年代提出,应用于建筑领域,八十年代中期由w a r dc u n n i n g h a m 和k e n tb e c k 将其思想引入到软件领域,c h r i s t o p h e ra l e x a n d e r 将模式分为三个部分:首先是 周境( c o n t e x t ,也可以称为上下文) ,指模式在何种状况下发生作用;其二是动 机( s y s t e mo ff o r c e s ) ,意指问题或预期的目标;其三是解决方案( s o l u t i o n ) , 指平衡各动机或解决所阐述问题的一个构造或配置( c o n f i g u r a t i o n ) 。他提出,模 式是表示周境、动机、解决方案三个方面关系的一个规则,每个模式描述了一个 在某种周境下不断重复发生的问题,以及该问题解决方案的核心所在,模式即是 一个事物( t h i n g ) 又是一个过程( p r o c e s s ) ,不仅描述该事物本身,而且提出了通 过怎样的过程来产生该事物。这定义已被软件界广为接受。 1 9 9 4 年“设计模式”概念在软件界被提出,随后在面向对象设计技术应用 设计模式住软件项目中的廊川 同臻成熟的驱动下,设计模式的应用在软件丌发可复用性方面的表现非常突出。 应用设计模式前提是面向对象设计o o d ( o b j e c t so r i e n t e dd e s i g n ) 。o o d 方法是 0 0 ( o b j e c t so r i e n t e d 面向对象) 方法中的一个中间过渡环节。其主要作用是对 o o a ( o b j e c t so r i e n t e da n a l y s e 面向对象分析) 的结果作进一步的规范化整理,以 便能够被o o p ( o b j e c t so r i e n t e dp r o g r a m 面向对象编程) 直接接受。o o d 的目标 是管理程序内部各部分的相互依赖。为了达到这个目标,o o d 要求将程序分成 块,每个块的规模应该小到呵以管理的程度,然后分别将各个块隐减在接口 ( i n t e r f a c e ) 的后面,让它们只通过接口相瓦交流。 软件工程百科全书中所提“编程并不是软件开发问题的主要根源。需 求分析与设计问题更为普遍并且更值得解决。因此面向对象丌发技术的焦点不应 该只对准编程阶段,而应更全面地对准软件工程的其它阶段。面向对象方法真证 意义深远的目标是它适合于解决分析与设计问的复杂性并实现分析与设计的复 用。”因为软件是变化的,所以在软件设计过程中引入“软件开闭原则”( o c p : c l o s ef o rm o d i f i c a t i o n ;o p e nf o re x t e n s i o n ) 的设计思路,使软件的组件可以互换, 为满足这一要求,需要把对实体的依赖变为对抽象的依赖。为了实现这一目标, 软件界经过了k 期的探索和经验总结,其结果就是目前被、l k 界认可的2 3 种经典 设计模式,这些设计模式适用于针对不同需求所需的解决方案,有经验的设计者 的确能做出良好的设计,而新手则面对众多选择无从下手,总是求助于以前使用 过的非面向对象技术,设计出的软件模块独力性差,可复用程度低,缺乏灵活性, 给软件变更和功能扩展都带来困难。 模式的目标是:把共同i u j 题中的不变部分和变化部分分离出来。不变的部 分,就构成了模式,因此,模式是一个经验提取的“准则”,并且在一次一次的 实践中得到验证,在不同的层次有不同的模式,小到语音实现( 如s i n g l e t o n ) 大到 架构。 经典的设计模式定义为:通过o o d ,在对物理实体到系统实体映射的不断抽 象和归纳的过程中,总结出一套被反复使用、多数人知晓的、经过分类编目的代 码、设计经验的总结,即设计模式( d e s i g np a t t e r n s ) 。 1 1 3 应用价值 本文所引项目应用到的设计模式有系统架构层面的分层模式( l a y e r 2 内蒙占人学,i :程硕十学位论文 p a t t e r n ) ,领域( 功能) 层面的抽象工厂模式( a b s t r a c tf a c t o r yp a t t e r n ) 、单件模式 ( s i n g l e t o np a t t e r n ) 和外观模式( f a q a d ep a t t e r n ) 。 使用设计模式可以提高系统模块的独立性,降低耦合性,使代码的复用性 得到提高,软件功能易于扩充、移植、维护和管理,也让代码更容易被他人理解。 因此,在许多面向对象系统中会看到类和相互通信的对象的重复模式。这些模式 解决特定的设计问题,使而向对象设计更灵活、优雅,最终复用性更好。它们帮 助设计者将新的设计建立在以往工作的基础上,复用以往成功的设计方案。一个 熟悉这些模式的设计者不需要再去发现它们,而能够立即将它们应用于设计问题 中。 成功应用设计模式可以使开发的软件系统实现以下目标: 可靠性( r e l i a b l e ) :软件系统对于用户的商业经营和管理来说极为重要,因 此软件系统必须非常可靠。 安全性( s e c u r e ) :软件系统所承担的交易的商业价值极高,系统的安全性 非常重要。 灵活性( s c a l a b l e ) :软件必须能够在用户的使用率、用户的数目增加很快 的情况下,保持合理的性能。 可定制化( c u s t o m i z a b l e ) :同样的一套软件,可以根据客户群的不同和市 场需求的变化进行调整。 可扩展性( e x t e n s i b l e ) :在新技术出现的时候,一个软件系统应当允许导入 新技术,从而对现有系统进行功能和性能的扩展。 可维护性( m a i n t a i n a b l e ) :软件系统的维护包括两方面,一是排除现有的错 误,二是将新的软件需求反映剑现有系统中去。一个易于维护的系统可以有效地 降低技术支持的花费。 同样,在对新的m i s 丌发项目进行设计和实施时,架构设计,开发工具选 择,运行平台构建,设计实现过程也可以借助同类项目的经验,或者说以相同的 模式来完成。 设计模式在软件项目中的戍川 1 2 各章节内容提要 第一章引言部分,介绍本篇论文的研究方向,目标和应用价值。 第二章引用案例介绍。介绍引用案例项目背景,功能要求和实现目标。 第三章归纳同类项目需求的共性,引出针对同类项目面临解决的问题。 第四章系统架构设计,介绍系统架构设计的方法和依据以及系统丌发采用的丌 发工具。 第五章具体的设计和实现过程,阐述了系统构建自下而上,由罩及表的解决过 程和各模块的联系。同时在必要处论述了经典设计模式的应用实例,针 对第三章提出的技术问题,逐层深入介绍具体的解决思路和实现方法, 从一个具体项目的架构设计出发到最终实现,阐述了解决问题的过程。 第六章系统运行效果,截取了部分系统运行界面,阐述设计模式的应用在表示 层体现出的效果和与设计思路的联系。最后,针对本文论述的内容予以 总结,阐述本文论述内容的意义以及尚存在的不足和尚需改进之处。 4 内蒙占人学l :拌硕十学何论文 2 1 案例选取原因 第二章引用案例介绍 作为本文引用案例的项目是笔者开发完成的一个物业管理信息系统软 件。物业管理信息系统软件属信息管理系统软件的范畴,该项目分析、设计、 实现过程对m i s 系统丌发项目具有通用性。因此,采用该项目作为论述本论文 的引用案例,在系统设计,平台选型,模式实现匕给出具体的实现方法,同时以 该案例的丌发和维护过程说明模式化方法的优越性。 2 2 案例项目背景 随着房地产行业的快速发展,良好的物业管理已经成为楼盘销售的重要因 素,也成为业主或租户选择物业的重要考虑因素。所以,为业主提供更加完善和 便捷的服务成了物业行业的生命线,为了确保给业主提供更加优质的服务,物业 公司把物业作为一个品牌来经营。x x 物业公司目前管理x x 市及其它城市十几 个小区的物业,并且所管辖的物业在地域上比较分散,有些还是跨地区管理,在 缺乏集中式应用的解决方案的情况下,容易形成多个信息孤岛,信息和数据无法 共享。 应该公司的要求,由笔者所在单位承担丌发一套m i s 系统,该系统以收费 管理、客户服务为业务核心,根据“集中管理、分权运作”的管理模式,集中总 公司、区域公司及各地管理处于统一工作平台,实现信息资源共享、各部门协同 工作。 2 3 案例系统的基本功能 【f i 常事务管理】 按用户r 常工作内容,将r 常工作整理为几个方面,分别为: 1 设备管理:维护小区设备运行信息,采用人工维护录入方式,包括设备安置, 设计模式在软f i ,l :项目中的廊刚 检修记录,需要查询和统计功能; 2 保安管理:体现保安档案、保安排班、交接班管理、来访登记、保安巡逻、重 大事件记录等; 3 员l :档案:物业公司员工的详细资料; 4 停车场管理:车辆出入登记、停车位登记等: 5 社区文化:社区的活动记录; 6 投诉管理:投诉登记、投诉处理; 7 报修管理:报修琶记以及派单、回访等记录,客户服务部为报修臀记部门,然 后将报修的详细情况提交给工程部门,工程部门负责派工以及过程 跟踪。能统计出每个部件的重复维修情况; 8 收费设置:收费项目设置、收费标准设置以及维修基会记录等; 9 费用录入:应收款录入; 1 0 财务收款:可查看和操作客户应缴费用、预收费用、押会记录和客户交费的 信息。可收取应收款、预交费用以及补交费用,对收取应收款、预 交费用和押金可做退费处理; 1 1 票据管理:业主在交费之后形成缴费凭证。 【财务管理】 欠款催收:可通过短信平台手机催费,也可以直接打印出催费单; 月结处理:考虑到有预交的物业费和欠交的费用,所以每月需要一次月结处理, 处理结束后发, 三数据将计入新的月份; 缴款通知:l 】丁通过短信平台以短信的形式通知业丰缴费,也可以直接打印出缴费 单: 缴费报表:由收入明细表、实收明细表、费用汇总表等组成,主要分为三级报表, 一级按每个项目汇总,二级按每个业主统计,三级按费用类别统计。 如房产缴费欠费情况报表,详见“表2 1 报表” 【基础资料管理】 小区资料管理:维护小区属性信息,包括名称,位置,建设时间,面积等; 楼宇资料管理:维护楼宇信息,包括楼号,位置,建设时1 8 j ,结构,面积等; 房产资料管理:包括房产信息,位置,归属小区,结构等信息; 6 内蒙占人学i :榉硕十学伉论文 业主资料管理:以房产为单位建立业主资料档案。 【系统管理】 机构部门维护:提供物业公司的组织机构信息的分级维护功能; 操作员维护:与员:1 :信息映射,提供系统操作员人员信息维护功能; 用户权限:设置操作员的权限,提供角色管理以实现对操作员权限的分配; 数据备份恢复:数据备份恢复,防止在意外情况下数据资料的丢失; 系统r 志功能:记录系统的出错情况记录所有登陆系统的人员姓名以及时间,记 录系统臀陆情况,信息变更情况; 系统参数:对系统功能中枚举类型属性提供参数配置功能,便于属性的扩充,同 时存储系统控制类信息。 【外部接l - j 】 短信平台接口:系统管理流程信息通过短信接口实现流程流转通知。通过短信接 口使物业公司与业主建立互动沟通的渠道,在实现管理信息提醒的 同时,能与用户交互并接收来自业主的反馈。 表2 1 缴费报表 t a b l e2 1t h es y s t e mf u n c t i o nt a b l e 设计模式在软件项目中的戍用 第三章m i s 系统的特性 3 1m i s 系统的建设目标 通过对第二i 章引用案例背景和功能要求的归纳,结合以前类似m i s 系统的 开发经验,通常m i s 系统的建设目标要符合以下要求: l 、通过系统的实施和应用,能够降低企业经营成本、人力成本、管理成本,提 高经济效益: 2 、在面向客户提供服务的m i s 系统中,对客户可实现个性化服务; 3 、通过系统的应用,能够提高工作效率、降低劳动强度; 4 、通过系统的应用,能够规范企业内部管理制度,实现信息数字化管理; 5 、可灵活地进行系统功能的定制和扩展,以满足业务发展的需要; 6 、通过与外围系统的衔接,增强系统功能,扩大系统的应用范围。 3 2m i s 系统的功能特性 参照第二章引用案例的功能要求,可概括出m i s 系统功能特性涵盖几个方 面: 1 、信息维护功能:提供信息的持久化存储,以信息管理的准确性为基础,建立 业务数据的关联关系,提供数据录入,更新,查询、分析的基本功能; 2 、业务实现:系统提供处理h 常事务的能力,满足具体业务实现要求,为适应 业务扩展的要求,在原有功能不受影响的情况f ,能方便扩充新的业务功能; 3 、工作流功能:提供j i :作流程流转、协作办公的功能; 4 、系统提供数据统计和分析的功能,为管理者提供决策支持; 5 、系统提供权限管理,组织机构管理等辅助功能; 6 、参数管理功能:参考数据( 或称基础数据) 扩充频繁,要求系统的适应性强, 易于功能扩充和维护: 7 、系统外挂:需要考虑与外挂系统的衔接,预留与外系统的接口,能够为其他 内蒙古人学i :程硕十学何论文 系统提供服务或调用其它系统服务以扩充业务功能; 8 、系统用户多样化:要求不仅能为企业不同角色的人员提供服务,也包括企业 的客户。 3 3m i s 系统的技术特性 针对m i s 系统的j l k 务特性和功能特性,需要从技术层面解决以下问题: 1 、使用单位机构分级管理,跨地域,用户使用不受终端和地域的限制; 2 、系统易于部署,便于升级,且对正常使用不会带来影响; 3 、数据共享,并发访问; 4 、业务逻辑复杂,关联关系较多,对数据一致性要求高; 5 、系统提供规范的一致的接口,系统易于扩展和变更,如本文介绍的项目中会 增加短信接 j 部分的扩展,新功能的加入和原有功能的变更; 6 、抽象,共性问题的抽象,如数据操作; 7 、复用,如控件的复用,静态模型的复用; 8 、耦合性,独立性:利用接口技术和n e t 中委托和代理,实现对象行为的动态 绑定,从而提高设计的灵活性; 9 、信息管理系统要解决各层次实体的对应关系,即业务实体到系统实体的映射, 系统实体到数据结构的映射,以及数据结构到数据存储实体的映射。 3 4m i s 系统的用户特性 l 、管理规范不健全,原有管理模式不适合电子化管理; 2 、系统建设目标模糊,需求不确定,灵活性较大; 3 、根据使用情况或受原型系统的启发町能提出新的要求; 4 、用户希望操作简单,实用,符合通用系统的操作习惯。 9 设计模式在软f ,| :项目中的廊用 4 1 系统架构 第四章系统架构设计及开发工具 针对系统的功能特性和技术特性,目前m i s 系统多采用3 层体系结构b s 模式进行系统丌发。三层体系结构将系统定义为数据层,业务逻辑层和表示层。 三层体系架构的设计对系统模块的相对独立性和扩展性有良好的支持,任 何一层的变更刁、= 会对其它层产生影向。b s 模式的设计实现了客户端的零维护, 对系统维护和部署具有极好的可实施性。 从字面看,三层结构相互独立,但在具体实现上,三层体系的耦合程度, 决定了系统的可扩展性和灵活性。因此总体设计以“面向接口”编程为基线,这 样设计的目的也足提高模块的独立性,在应用扩展,程序部署和产品发布及维护 方面都具有灵活,简单,成本低等特点。所以从系统结构上将系统分为3 个包( 见 图4 1 ) : 圈圈国 图4 1 系统部署图 t a b l e4 1s y s t e md e p l o y e ed i a g r a m 根据“第三章”中对m i s 系统共性特点的分析,在系统开发平台和应用平 台的选择上要考虑到即能满足“功能要求”,又能在技术上予以实现,同时还要 考虑对用,1 的易用性。 基于目前w i n d o w s 操作系统被全球9 5 的个人电腩所使用( 引白2 0 0 7 年3 月2 2 同欧盟委员会反垄断专员尼莉克罗斯在欧洲议会举行的会议中的发言) , 系统应以主要针对w i n d o w s 系列 - y - 台使用为前提。 在应用服务平台的选型方面,考虑到三层体系架构设计的要求,需要有前 端的用户界面,后端的w e b 服务和数据库,m i c o r o s o f t 在这三个方面都提供了较 好的产品支持。 l o 内蒙占人学l :样硕+ 学位论文 m i c r o s o f t 将自己的应用服务器产品,数据库产品和开发工具产品进行了无 缝集成,在系统丌发效率和运行效率方面表现卓越。 对于w i n d o w s 平台下的m i s 系统丌发,系统架构采用以下方案: 1 、应用系统采用b s 模式3 层体系架构; 2 、使用w i n d o w s2 0 0 0 2 0 0 3 x p 作为应用服务器操作系统,使用n e tf r a m e w o r k 作为应用程序运行平台: 3 、i i s 作为w e b 服务引擎: 4 、使用c # + a s p n e t 作为开发工具; 5 、采用s q ls e r v e r2 0 0 0 2 0 0 5 作为数据库管理系统,数据集中存储、管理, 支持事务控制。 4 。2 n e t f r a m e w o r k 介绍 从系统功z 丹- , 匕l - , 和和访问渠道的扩展方面考虑: n e t 是微软公司推出的下代分布式网络计算平台,扩展了通过任何设备 随时随地操作数据和进行通讯的能力,系统的可扩展性强,执行效率高,丌发快 捷,部署方便灵活。按微软公司自己的观点来看,“n e t 代表了一个集合、一个 环境、一个可作为平台支持下一代i n t e r a c t 的可编程结构y ) o n e t 战略将i n t e r n e t 本身作为构建新一代操作系统的基础,它包括一系列覆盖各方面的产品,这些产 品符合x m l 和i n t e r n e t 产业标准,为用户提供w e b 服务的开发管理和应用。 在系统接口扩展方面,n e t 是微软公司的x m lw | e bs e r v i c e s 平台。w e b s e r v i c e s 允许应用程序通过i n t e r a c t 进行通讯和共享数据,而不管采用的是哪种 操作系统,设备或编程语言。m i c r o s o f t n e t 平台提供x m lw e bs e r v i c e s 并将这 些服务集成在一起,其最重要的革新就属于w e bs e r v i c e s ,w e bs e r v i c e s 构架在 w e bs e r v e rj 二,能够通过s o a p ( s i m p l eo b j e c t sa c c e s sp r o t o c o l 简单对象访问协议) 与用户端联系,并帮助用厂1 端完成其提供的服务。在n e t 中,程序员设计编写 的是x m lw e b 服务,而不冉是服务器或客户端的独立应用程序。把这些服务组 合成松散耦合、相互协作的软件群,x m lw e b 服务之间使用x m lm e s s a g e 进行 通信。在n e tf r a m e w o r k 中,w e bs e r v i c e s 就是架构在w i n d o w s2 0 0 0s e r v e r s 中 的i i s 之e 。 改计模式住软什项目中的虑川 n e t 的核心产品包括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 以及基于n e t f r a m e w o r k 的a s p n e t ( 详见图4 2 ) 。v i s u a ls t u d i o n e t 是微软公司为实现 其n e t 技术而丌发的一整套工具组件,n e tf r a m e w o r k 是n e t 平台的核心, 用于简化在高度分布式i n t e r n e t 环境下进行应用程序,r 发的新型计算平台,涵盖 了在操作系统上进行软件丌发的所有层次,并对不同层次f b j 的集成提供了功能丰 富的级别。n e tf r a m e w o r k 包含一个通用语言运行环境和通用类库,如 a d o n e t ,a s p n e t 和w i n d o w s 表单,来提供可以被集成到各种计算机系统的 先进的标准服务。a s e n e t 是一种w e b 服务端技术,提供了创建动态w e b 应用 的全新手段。 从技术的角度,一个n e t 应用是一个运行。- 】:n e tf r a m e w o r k 之上的应用程 序。更精确的说,一个n e t 应用是一个使用n e tf r a m e w o r k 类库来编写,并运 行于公共语言+ 运行时c o m m o nl a n g u a g er u n t i m e 之卜的应用程序( 详见图4 - 3 ) 。 匝儿互叵。i p e r l 叵 曰 二_ 基础类库 公共语占运 一一。_ 。_ 。_ _ _ _ _ _ _ _ _ _ _ _ - _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 。 _ 。 _ 。_ 够时一一一二 j 三三二1 匮兰二 图4 2 n e tf r a m e w o r k 组成 f i g u r e4 - 2 n e tf r a m e w o r kc o n p o n e n t 内蒙占人学i :样硕十学何论文 二二三三二一 图4 3 n e t 平台架构 f i g u r e4 - 3 n e tp l a t f o r ms t r u c t u r e 因此,构建与n e t f r a m e w o r k 平台的应用满足了业务逻辑灵活部署,易于扩 展,运行稳定的要求。 4 3 开发工具 a s e n e t 是一种基于m s n e t 平台的令新的w e b 应用程序开发技术, a s p n e t 可以使用n e t 平台快速方便的部署三层架构。a s p n e t 是一种服务端 技术,可以用来制作动态w 曲页内容。a s e n e t 构建在公共语言运行时c l r ( c o m m o nl a n g u a g ei n nt i m e ) 之上,可以使用n e tf r a m e w o r k 所提供的全部功 能,用它丌发的程序可以支持异常控制、类型安全、继承和动态编译。 a s p n e t 技术可以完全采用面向对象的设计思路和编程方法来高效地开发 w e b 应用程序。与a s p 相比,a s e n e t 革命性的变化是在网页中使用基于事件 的处理,可以指定处理的后台代码文件,页面和后台代码分离,而且编译执行速 度更快。前端为h t m l 、a s p 、a s p x ,中间层为由v b 、c 撑等文件编译而成的d l l 控件,后端为数据库表现的关系型数据或x m l 表现的层次结构的数据。可以使 用c 捍,v b ,j j f j 作为后台代码的语言。n e t 中可以方便的实现组件的装配,后台代 码通过命名控件可以方便的使用自己定义的组件。显示层放在a s p 页面中,数 设计模式在软件项目中的应川 据库操作和逻辑层用组件来实现,这样就很方便地实现了三层架构( 详见图 4 4 ) 。 图4 - 4 用a s p n e t 部署三层架构 f i g u r e4 - 4t h e3 - t i r e sd e p l o y m e n tu s i n ga s r n e t 1 4 内蒙占人学i :样硕士q - 位论文 第五章m i s 系统开发的实现模式 5 1 架构设计( 分层模式l a y e r sp a t t e r n ) 三层体系架构是架构模式中的分层架构模式( l a y e r sp a t t e r n ) ,这种划分是 对系统的一种纵向划分的方法。 三层体系结构开发的三个层次: l 、数据层:实现信息的持久化和到数据库模式的映射; 2 、业务层:在业务层实现功能域具体业务的业务逻辑; 3 、表示层:接收用户请求,提供前端展现,根据用户的业务请求实现业务 逻辑调用,并将凋用结果反馈给用户。 在物业管理信息系统案例中,各机构业务人员与系统的交瓦界面被定 义为表示层,表示层中系统对用户的数据展现和用户对系统的请求在客户端通过 浏览器承载,不需要安装定制客户端程序;在服务端通过a s p n e t 进行请求响 应动态数据转换,建立用户和后台业务逻辑的交互通道。位于中间层用c # 丌发 的业务逻辑组件和数掘层的数掘操作组件负责业务逻辑的处理和与数据库的交 互。 分层架构设计的优点在于: 第一、任何一层的变化都可以很好地局限于这一层,而不会影响到其他各 层。例如:表示层不同界面的组合或功能的组合不会涉及到业务逻辑处理组件的 变化,对数据存储和提取的优化也不会连带其他层的程序变更。 第二、更容易容纳新的技术和变化。l a y e r s 架构模式容许任何一层变更所 使用的技术。例如:物业管理信息系统业务逻辑层既可以通过以d l l 动态链 接库形式提供的组件调用,也可以通过w e bs e r v i c e s 接口实现跨平台的服务调用。 5 2 抽象系统静态模型 5 2 1 建立静态模型 m i s 系统开发是将信息持久化和业务逻辑的处理体现在静态模型的表示和 1 5 设计模式在软1 i ,l :项目中的应川 实体的消息通信机制上,因此,丌发m i s 系统的第一个工作就是从用户需求中 确定功能域,并在各个功能域中建立系统的静态模型。 以本文源引案例物业管理信息系统为例,确定系统的功能域为:同常 事务管理,财务管理,基础资料管理,短信接口和系统管理等。 针对每个功能域的具体业务用例,提炼出该用例中相关的系统对象的抽象 模型,即业务类,如“基础资料管理”中的“小区”是相关于该功能域的一个类, 每个类具有“字段”,“属性”,“方法”等属性( 见5 1 静态模型举例) 。 c 1 墨卫is t r i e r。袭 c l a s z - 6c i n t a 伽e r d e f + :f 段 + 属性 一+ 方法 + 嵌套类型 、。,。 一。, 图5 。1 静态模型示例 f i g u r e5 一it h ee x a m p l eo f s t a t i cm o d u a l 图5 1 表示了物j l k 管理信息系统小区实体的静态模型,字段是静态实体 属性的内部表示;属性是静态实体的外部特征,如小区的名称,面积,归属机构 等属性;方法是该实体的行为集合,如“创建小区“,“查询小区信息”等;为 了完整描述静态实体的属性,有时需要提供“嵌套数据类型”以表示相对复杂的 数据结构。 类: 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的 具体化就是对象,也可以说类的实例足对象。 属性: 它是对象的状态的抽象,用数据结构米描述类的属性。 方法: 它是对象的行为的抽象,用操作名和实现该操作的方法来描述 通过静态模型的建立,明确了系统业务实体的集合以及各实体的关系及分 1 6 内蒙占人学i 。挫硬十学位论文 工。在针对业务实体设i t 类时,从三层体系架构模型的角度出发应考虑在不同 层的实现方式,如:在表示层与该业务实体的实例设计业务逻辑层的实例设计 和数掘层的实例设计,如本文后续部分所提“小区”实体在表示层的d i s t r i c t ,业 务逻辑层的d i s t r i c t 和数据层的d i s t r i c t 具有不同分工。 后续部分分别在不同层对业务实体的实现进彳亍阐述。 522 数据静态模型到数据库逻辑模型的映射 系统静态模型建正后在程序中体现的是系统实体的静态模型,即从系统 中抽象出的静态实体一类,类是对现实系统的抽象描述,在m i s 管理系统类的实 现中,类实例的属性通常要被持久化,持久化的形式可以是文件或数据库。 d b m s ( d a t a b a s em a n a g e m e n ts y s t e m ) l 拘最大优势使持久化的实例之间具有关系, 便于查嘲,统计和分析。所以多数m i s 使用d b m s 作为持久化类实例的载体。 系统中抽象出的类在程序巾以数据结构的形式存在,每个属性代表的类的 不同特性,每个方法对应于类的个操作。在类的实例和数据库存储模式问存在 一种对应关系,即属性宁段的映射。通常先定义出业务实体中的类的属性,类 日j 的关系,根据以r 结果注计数据库模式并作二者的映射( 见图5 - 2 ) ,类的实 例和数据库史体的相互转换通过类的方法实现。 6 w d ol i “x t e nr r l p 7 p r 6 c 扣1 醇- a oj 口* x 印! 一- :? 一= 。:。“【:。:# f 尹。 7 0 h jv f h i irr 0 口h e2 d0 e 1 5 _ 1 8 日rr 5 s q h m n 4 ”e 一q 1 8 2 1 r rf 6i 0 酬d e 洲e 1 1 & 2 】rrp 7 e * 6 州h 自 自u i s 州d 一i rr p eh d 口d 1 1 b a rr p 9 川出4 瞄q m w 日1 1 岫rr

温馨提示

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

评论

0/150

提交评论