(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf_第1页
(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf_第2页
(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf_第3页
(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf_第4页
(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)基于形式化uml的关系数据库实现策略.pdf.pdf 免费下载

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

文档简介

学位论文数据集 中图分类号 w 弓| i 学科分类号 垫? d 。o 0 论文编号 刀口f 0 2 0 d - 7 0 志i r 密级 学位授予单位代码 l0 0 1 0 学位授予单位名称北京化工大学 作者姓名 c 翘丑豸 学号 知d d o 。 获学位专业名称 z 鸺翰旋f 硼末 获学位专业代码 0 8 fz 哆 课题来源 章噶亳亭i 1 商塑脯j 研究方向 网赘塾蠕宦 论文题目 芝专形式幽m i 嗡弼积摭罄章瑚臻豳 1 关键词 而确对象,长象基孓请雏形立溉洲l i 评审髯、巯 论文答辩日期 血口7 、3 事论文类型 它用碲嚷 学位论文评阅及答辩委员会情况 姓名职称工作单位学科专长 指导教师 易i 础吐曷暾鞭出觚1 - t 使虱砖乌措魄 评阅人1 硎9 0 气 评阅人2 药组瀚i 听纯i 觯渊度亏 1 评阕人3 评阅人4 评阅人5 答辩委员会主席 孔辞伟百叛摇尘,泉碑丁一叠i 博翱自习 答辩委员1 蹴 - 一 臌札囱霸晷稻娩j l :赢溉工太肇 答辩委员2 刺睥囿嘏转业嚅化丁t 哽潴胺鼋 i 答辩委员3 答辩委员4 答辩委员5 注:一论文类型:1 基础研究2 应用研究3 开发研究4 其它 二中图分类号在中国图书资料分类法查询。 三学科分类号在中华人民共和国国家标准( g b t13 7 4 5 - 9 ) 学科分类与代码中 查询。 四论文编号由单位代码和年份及学号的后四位组成。 摘要 基于形式化u m l 的关系数据库实现策略 摘要 现在的开发环境多数是面向对象的,而存储机制往往是基于功 能分解的关系型数据库,同时在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 ) 支持的数据库模型中,关系型数据库是最普遍的,因而就存在将面向 对象的思想和关系数据库模型相统一的问题。 统一建模语言( u m l ) 已经成为一种有效普遍的而向对象软件开 发的建模语言,所以有必要把u m l 模型和数据库的设计统一起来, 这样可以使得数据库模型的扩展性、健壮性得到了大大地提高。 u m l 模型采用了大量的图形符号,虽然仔细地使用分析、设计 方法并结合彻底的评审确实导致了高质量的软件开发,但这些方法应 用的偏差可能产生各种问题,一个系统规约中可能包含矛盾、二义性、 含糊性、以及抽象层次的混乱。形式化方法提供了高层确认的手段, 可以使用数学证明来展示设计和规约匹配以及某些程序代码是某设 计的正确反映,同时形式化方法利于实现机器的自动检验。 本文结合中国石油和化学工业协会评审系统,利用统一建模语言 ( u m l ) ,系统介绍了系统模型向关系数据库数据模式的转换及系统实 现的面向对象的软件工程设计方法。首先,用u m l 的用例图、序列 图、类图、状态图对其进行了建模。然后,在类的设计过程中,借助 了形式化u m l 的表达框架,检测了类模式的设计错误,对类模式进 行了优化。最后,运用类图中类问的几种关系在关系数据库中的实现 北京化工大学硕士学位论文 策略,建立了中国石油和化学工业协会评审系统数据库中的表,并实 现了整个系统的开发。 关键词:面向对象,关系数据库,形式化u m l ,评审系统 摘要 f o r m a i 。u m l b a s e dr e l a t i o n a ld a t f 姐a s e t h e e x i s t i n gd e v e l o p m e n te n v i r o n m e n ti sm o s t l yo b j e c t - o r i e n t e d ,b u t d a t aa r eo f t e ns t o r e di nr e l a t i o n a ld a t a b a s ew h i c hi sb a s e do nd e c o m p o s i n - gf u n c t i o n s a m o n g t h o s ed a t a b a s e s u p p o r t e db yd b m s ( d a t a b a s e m a n a g e m e n ts y s t e m ) ,r e l a t i o n a ld a t a b a s ei st h em o s tp o p u l a ro n e ,s ot h e p r o b l e m t h a th o wt ou n i f yo b j e c t o r i e n t e dt h o u g h t sa n dr e l a t i o n a ld a t a b a s em o d e sc o m e si n t ob e i n g u n i f i e dm o d e l i n gl a n g u a g e ( u m l ) h a sb e e no n eo ft h ee f f e c t i v e a n d p o p u l a rm o d e l i n g l a n g u a g e s f o r o b j e c t o r i e n t e d s o f t w a r e d e v e l o p m e n t ,s ot h e r ei san e c e s s i t yf o ru n i f i c a t i o no fu m l m o d ea n d d a t a b a s ed e s i g nw h i c hw i l li m p r o v et h ee x t e n d a b i l i t ya n dr o b u s t n e s so f d a t a b a s em o d e l al a r g en u m b e ro f g r a p h i c a ls y m b o l s h a v e b e e n a p p l i e d t o u m l m o d e as o f t w a r ed e v e l o p m e n to fh i g hq u a l i t yr e l i e so nac a r e f u l a n dc o m p r e h e n s i v ea p p l i c a t i o no fa n a l y s i s ,d e s i g na n dt h o r o u g ha u d i t , b u ta ni n a p p r o p r i a t ea p p li c a t i o no ft h e s em e t h o d sm i g h tb r i n ga b o u t v a r i o u sp r o b l e m s ,s u c ha sc o n t r a d i c t i o n ,a m b i g u i t y , v a g u e n e s s a n d c o n f u s i o no fa b s t r a c t l e v e l f o r m a lm e t h o d p r o v i d e s am e a n so f c o n f i r m a t i o no nt o pl e v e l ,w h i c hc a nn o to n l yp r o v ew h e t h e rt h ed e s i g n , 1 1 i 北京化1 = 大学硕士学位论文 s p e c i f i c a t i o nm a t c h i n ga n dp r o g r a mc o d e sa r e c o r r e c to rn o tt h r o u g h m a t h e m a t i c a lm e t h o d ,b u ta l s oc r e a t ec o n v e n i e n c ef o rt h er e a l i z a t i o no f a u t o m a t e da u d i ti nf u t u r e t h i sp a p e rs y s t e m a t i c a l l yi n t r o d u c e st h ed e s i g no fo b j e c t o r i e n t e d s o f t w a r et h a ti n c l u d e sh o wt ot r a n s f o n nc l a s sm o d et ot h ed a t am o d eo f r e l a t i o n a ld a t a b a s ew i t hu m la n dh o wt oi m p l e m e n ts y s t e m f i r s t l y , a m o d eo fe v a l u a t i o n s y s t e mo fc h i n ap e t r o l e u ma n dc h e m i c a li n d u s t r y a s s o c i a t i o ni sb u i l tw i t hu s e - c a s e ,s e q u e n c e ,c l a s sd i a g r a m sa n ds t a t e d i a g r a m s t h e n ,m i s t a k e s i nc l a s sm o d ea r ec h e c k e dw i t haf o r m a l f r a m e w o r ko fr e p r e s e n t a t i o nf o ru m la n dt h ec l a s sm o d ei so p t i m i z e d f i n a l l y , t h i sp a p e re s t a b l i s h e st a b l e si nt h ee v a l u a t i o n s y s t e md a t a b a s ef o r c h i n ap e t r o l e u ma n dc h e m i c a li n d u s t r ya s s o c i a t i o na n di m p l e m e n t st h e s y s t e mw i t hj s p ,w i t ht h ea p p r o a c hw h i c ht r a n s f o r m s r e l a t i o n sa m o n g c l a s s e st ot h a to fr e l a t i o n a ld a t a b a s e k e y w o r d s :o b j e c t - o r i e n t e d ,r e l a t i o n a ld a t a b a s e ,f o r m a l i z a t i o n u m l ,e v a l u a t i o n s y s t e m i v 2 2 1 什么是o o a 2 2 2o o a 过程 2 3 面向对象的设计( o o d ) : 2 4 设计模式 2 5u m l 语言 2 5 1u m l 概述 2 5 2u m l 的内容和主要特点 第三章u m l 形式化框架及类一关系数据库映射原理1 7 3 1u m l 形式化框架的作用1 7 3 2u m l 形式化框架理论1 7 3 3 类映射成表2 0 3 3 1 一般化关系的映射2 0 3 3 2 关联关系的映射2 l 3 3 3 聚合关系的映射:2 1 第四章基于形式化框架的评审系统数据库实现2 3 、 l 1 l 3 3 4 4 5 6 7 7 7 8 1 2 2 3il 北京化- 1 i 火学坝 :学位论文 4 1 系统开发背景2 3 4 2 系统网络拓扑2 3 4 3 系统功能需求分析2 4 4 4 系统用例图的建立2 6 4 5 系统类图的建立2 7 4 5 1 系统的u m l 类图2 7 4 5 2 系统类图的形式化2 9 4 5 3 系统类图中类的定义2 9 4 6 系统序列图的建立4 7 4 6 1 系统u m l 序列图的建立4 7 4 6 2 系统序列图的形式化4 8 4 7 系统状态图的建立:5 0 4 8 利用形式化框架检验u m l 设计上的错误并改进5 l 4 9 类图向关系数据库的转化j :5 l 4 1 0 系统采用的设计模式5 4 第五章总结与展望5 7 致谢一5 8 参考文献5 9 研究成果及发表的学术论文6 2 作者简介6 3 目录 c o n t e n t s c h a p t e r1i n t r o d u c t i o n 1 1 1r e l a t i v ef i e l d sh i s t o r yo fm yt o p i c 1 1 1h i s t o r yo f s o f t w a r ed e s i g nm e t h o d 1 1 2h i s t o r yo fd a t a b a s ed e s i g nm e t h o d 1 2r e l a t i v ef i e l d sp r e s e n ts i t u a t i o no fm y t o p i c 1 3r e l a t i v ef i e l d sf r o n t i e r so fm yt o p i c 1 4i n n o v a t i o no f m y t o p i c 1 5t h es y s t e m sd e v e l o p m e n te n v i r o n m e n t 1 6s t r u c t u r eo f m yp a p e r c h a p t e r 2s o f t w a r ee n g i n e e r i n ga n du m l 6 2 1w h a t so b j e c t o r i e n t e da n do b j e c t o r i e n t e dm e t h o d 6 2 2o b i e c t o r i e n t e da n a l y s i s ( o o a ) 7 2 2 1w h a t so o a , 2 2 2p r o c e s so fo o a 。7 2 3o b j e c t o r i e n t e dd e s i g n 8 2 4d e s i g np a t t e r n 1 l 2 5u m l 1 2 2 5 1s u m m a r yo nu m l 1 2 2 5 2c o n t e n ta n dm a i na d v a n t a g e so fu m l 1 3 c h a p t e r3f o r m a lf r a m e w o r ko fu m la n dm a p p i n gp r i n c i p l e b e t w e e nc l a s sa n dr e l a t i o n 1 7 3 1t h ef o r m a lf r a m e w o r ko fu m l sf u n c t i o n 1 7 3 2t h ef o r m a lf r a m e w o r kf o ru m l st h e o r y 1 7 3 3t r a n s f o n t lc l a s si n t ot a b l e 2 0 3 3 1m a p p i n go f g e n e r a l i z a t i o nr e l a t i o n s 2 0 3 3 2m a p p i n go f a s s o c i a t i o nr e l a t i o n s 2 l 3 3 3m a p p i n go f p a r a d i g m a t i cr e l a t i o n s ,2 1 c h a p t e r 4t h e i m p l e m e n t a t i o no fe v a l u a t i n gs y s t e m sd a t a b a s eb a s e d v l l 1 l 1 3 3 4 4 5 北京化t 人学硕l 掌论文 o nf o r m a lf r a m e w o r k 2 3 4 1d e v e l o p m e n tb a c k g r o u n do fs y s t e m 2 3 4 2n e t w o r kt o p o l o g yo fs y s t e m 2 3 4 3d e m a n d sa n a l y s i so fs y s t e mf u n c t i o n 2 4 4 4u s ec a s ed i a g r a mo fs y s t e m 2 6 4 5c l a s sd i a g r a mo f s y s t e m 2 7 4 5 1c l a s sd i a g r a mo f u m l f o r s y s t e m 2 7 4 5 2f o r m a l i z a t i o no f c l a s sd i a g r a mf o rs y s t e m 2 9 4 5 3d e f m a t i o no f c l a s sa m o n gc l a s sd i a g r a m sc l a s s e s 2 9 4 6s e q u e n c ed i a g r a mf o rt h es y s t e m 4 7 4 6 1s e q u e n c ed i a g r a mo fu m l f o rt h es y s t e m 4 7 4 6 2f o r m a l i z a t i o no f s e q u e n c ed i a g r a mf o rs y s t e m 4 8 4 7s t a t ed i a g r a mo fs y s t e m 5 0 4 8u s ef o r m a lf r a m e w o r kt oc h e c ka n di m p r o v eu m l d e s i g n 5 l 4 9t r a n s f o r mc l a s sd i a g r a mi n t or e l a t i o n a ld a t a b a s e ,5 1 4 1 0p a t t e r nd e s i g ns y s t e mu s e d 。5 4 c h a p t e r 5c o n c l u s i o na n d p r o s p e c t 5 7 a c k n o w l e d g e m e n t s 5 8 r e f e r e n c e s 5 9 r e s e a r c hf i n d i n g sa n dr e s e a r c hp a p e r s 6 2 a b o u ta u t h o r 6 3 v i l l 第一章绪论 第一章绪论 1 1 本课题相关领域的历史 1 1 1 软件设计方法的历史 在软件开发的历史上,早先出现的是结构化的开发方法,结构化软件开发方 法大多使用自顶向下,逐层分解的系统分析方法来定义系统需求,并建立一个自 顶向下的任务分析模型。结构化分析的核心是数据流i 药( d f d ) ,即将软件系统抽 象为一系列的逻辑加工单元,各个单元问以数据流发生关联。一个大型的软件工 程项目,它可能复杂地使人无法下手,传统策略通过把复杂的问题“化整为零, 各个击破 ,即人们常说的分解。最普遍使用的结构化分析和设计方法是由美国 y o u r d o n 公司提出的结构化分析和设计方法,简称s 郴d 方法。s a 方法也是通 过分解策略,把复杂庞大的系统分解成人们容易理解和实现的小的子系统。在分 解中,逐层分解中的上一层是下一层的抽象。数据流图仅仅描述了系统的“分解, 但并未表达出各个数据流和加工的具体含义,s a 方法通过使用数据字典来描述 数据流和加工的具体含义。结构化分析得到了一个分层的数据流图,紧接着是结 构化设计,即在结构分析的基础上,把软件设计为结构相对独立、功能单一的各 个模块,建立成软件系统结构和模块结构图。以s a ,s d 为代表的结构化分析和 设计方法在项目管理、项目进度和资源控制上有一定的优势,适用于应用稳定、 需求定义很好的场合,可实际中的软件需求很少一次就能定义得很完备,也很少 不变动的,瀑布型方法难于应付需求的动态变化,这样以来开发完成的软件适应 性及可维护性都比较差【。 1 1 2 数据库设计方法的历史 一般而言,传统数据库的设计过程如下图1 - 1 所示1 2 】:首先对现实世界进行 需求分析形成需求分析说明书,然后进行概念数据库的设计形成概念数据库模 式,其次进行逻辑数据库的设计形成逻辑数据库模式,最后进行物理数据库的设 计形成物理数据库模式。 北京化工大学硕士学位论支 独立于数 据库管理 系统 与数据库 管理系统 相关 物理数据库模式 ( 特定的物理存储结构和存取模式) 图1 - 1 数据厍设计过程 f i g 1 1d e s i g np r o c e s so fd a t a b a s e 实际中使用较多的是关系数据库,关系数据库设计的核心是建立实体关系 模型,设计数据库大该由下列几步完成: ( 1 ) 信息的收集:研究和考虑所要建立的数据库的信息环境,对数据库应用 领域中各种信息要求和操作要求进行详细地分析,了解应用领域中数据项、数据 项之间的关系和所有的数据操作的详细要求,了解哪些因素对响应时间、可用性 和可靠性有较大的影响等各方面的因素。这些就需要设计人员与相关人员进行各 种交流,了解数据库需要完成的功能,数据项的定义等。只有完成这些必要的信 息收集后,数据库的设计才能顺利地进行下去。 ( 2 ) 确定数据:这是数据库设计最基本而且最重要的工作,在收集到所需的 全部相关信息后,将所有找到的数据的类型和这些类型的属性进行明确的定义, 同时需要仔细地考虑属性与数据类型的关系,应该放置于哪个数据类型中。 第一章绪论 ( 3 ) 建立实体关系模型:按照定义的数据类型和属性创建实体和实体属性列 表。在定义完实体和属性后,就要确保每个实体都由一个或一组属性惟一地标识 表中的任何记录,即确定每个表的主键。接下来就应该确定实体之间的关系,确 定是一对一、一对多还是多对多的关系。一般来说是根据现实中的情况来确定实 体之间的关系,从而形成实体关系模型。 ( 4 ) 进行规范化:按照规范化准则对数据进行整体分析,以找到逻辑上的错 误,更正任何违背了规范化形式的做法,使数据符合规范化的要求。 ( 5 ) 编写组建数据库的s q l 代码,同时使用查询等操作进行一些检测。 ( 6 ) 根据测试结果对己完成的数据库进行检查,在觉得有问题或需要完善的 地方进行必要修改和完善。 1 2 本课题相关领域的现状 面向对象的软件开发方法是现在用得比较普遍的方法,它主要包括面向对象 分析和面向对象设计。 面向对象分析的目标就是要完成对问题空间的分析和建立系统模型。 面向对象分析的具体任务是明确和描述系统中的对象、对象的静态属性和动 态特性以及对象间的关系和对象的行为约束等。 面向对象分析的主要内容包括静态结构分析和动态行为分析。 ( 1 ) 静态结构分析 静态结构描述对象、类以及类间的相互关系。静态结构分析先确定对象和对 象类。然后再确定对象类之间的关系。 ( 2 ) 动态行为分析 动态行为描述系统中对象的合法状态序列。对象的动态行为通常用动态模型 来表示,包括两方面内容:一是单个对象自身的生命周期演化;二是整个对象系 统中对象间的消息传递和协同工作。 面向对象的设计包括系统设计和对象设计两方面的内容。系统设计是为达到 需求目标而对软件的系统结构进行的总体设计。系统结构是系统的高层次结构形 式。对象设计是根据具体的实现策略,对分析模型进行扩充的过程1 2 1 。 1 3 本课题相关领域的前沿 工业化革命的伟大创新在于,功能再复杂的产品也可以由大量标准的零部件 组装而成,分工越细、专业生产程度越高,总体生产效率就越高。软件开发领域 的前沿就是仿照工业革命提出的构件技术。构件技术就是一种类似于“零部件组 3 北京化t 大学颂l j 学位论文 装”的集成组装式软件生产方式,它把零件、生产线和装配运行的概念运用在软 件产业中,彻底打破了手工作坊式的软件开发模式。 构件是软件的构成元素, 具有一定的功能和结构,并符合一定的标准,可以完成一个或多个特定的服务。 构件隐藏了具体的实现,通过接口对外提供服务。一般而言,构件是软件系统中 具有相对独立功能、可以明确辨识、接口由契约指定、和语境有明显依赖关系、 可独立部署、可组装的软件实体。广义上讲,构件可以是数据,也可以是被封装 的对象类、软件构架、文档、测试用例等【3 1 。构件技术与面向对象的开发方法不 同的是,面向对象的技术强调对个体的抽象,构件则更推广了对象封装的内涵, 侧重于复杂系统中组成部分的协调关系,强调实体在环境中的存在形式。 1 4 本课题的创新之处 无论是构件化的设计方法还是面向对象的设计方法,系统设计的关键是系统 的建模及数据库的设计,本课题的创新之处在于引入了面向度量的代数表达框架 1 4 - 1 s 】对评审系统的u m l 模型进行了检验和纠正,使得模型建立在正确的理论基 础之上,并引入了对象关系映射思想1 1 9 - 3 0 】进行了数据库设计,这样以来使得设计 的数据库利用了目前流行的面向对象的软件开发方法所带来的益处。采用对象 关系方法解决数据库应用问题,可以得到以下好处:能够以更快的速度和更少的 花费创建数据库:能够更简便地、以更少的花费维护数据库;设计出的系统也会 更有伸缩性,健壮性也加强了,所以随着软件需求的变化或事务中的改变,能够 更快地、并且用更少的代价去修改系统。在评审系统的实现上,采用了分层的技 术,使用了流行的j 2 e e 相关技术,发挥了i a v a 的跨平台优势、安全性较高的特 点,也使得申报评审系统可以使用于多种平台下,这也是网络技术天生所要求的。 总之,该系统使得项目评审工作更便捷,大大地减少了人的繁杂的事务工作,同 时便于系统的扩展。 1 5 系统开发环境 本选题的软件开发环境是: 操作系统:w i n d o w s2 0 0 0a d v a n c e ds e w e r w e b 服务器:t o m c a t 5 5 9 数据库:s q ls e r v e r2 0 0 0 j a v a 程序开发工具:j b u i l d e r 2 0 0 6 x m l 开发工具:x m l s p y 4 0 h t m l 开发工具:d r e a m w e a v e rm x 4 第一章绪论 建模工具:r o s e 系统分析时,用它来画用例图和序列图,便于捕捉需求。 1 6 本文结构 文章共分五部分。第一章引言,介绍了课题相关领域的历史、现状、前沿及 创新之处。第二章面向对象的软件工程与u m l , 主要介绍了面向对象的软件工程 的软件设计方法,其中包括面向对象的分析( o o a ) 、面向对象的设计( o o o ) 及 u m l 的一些基础知识。第三章u m l 形式化框架及类关系数据库映射原理,介绍 了u m l 中几种图的形式化理论,同时说明了类转化为关系数据库的映射方法。 第四章基于形式化框架的评审系统数据库实现,对石化协会奖励评审系统建立了 u m l 模型,并利用形式化u m l 的表达框架对u m l 模型进行了描述、检测及优 化,进一步建立了评审系统数据库,并最终完成了系统的代码实现。第五章总结 与展望,总结了基于形式化u m l 设计关系数据库的优缺点及有待进一步研究的 问题。 第二章面向对象的软件t 程与u m l 第二章面向对象的软件工程与u m l 一个系统在设计、编码和后期维护的过程中会遇到成千上万个问题,怎样减 少问题出现的概率,怎样提高系统的可靠性和稳定性,怎样提高系统的可维护性, 这都和系统设计阶段所做的工作密切相关。良好的设计方案才能带来良好的系 统,而且为维护提供了方便,w e b 数据库系统的设计也不例外。本章将介绍面向 对象的分析和设计这个先进的面向对象的软件工程方法。可以说,面向对象的分 析和设计的方法为构建完善的w e b 数据库系统给出了良好的开端,是一个重要 的步骤。 2 1 什么是面向对象和面向对象方法 面向对象的概念可以追朔到2 0 世纪7 0 年代程序设计方法学中的抽象类型, 以模块封装和内部信息隐藏为主要特征,但这一概念在软件工程中被广泛运用却 是在8 0 年代s m a l l t a l k 语言出现之后。应该指出,面向对象的软件开发并不依赖 于任何一个特别的实现语言,a d a 、m o d u l a 、c + + 、j a v a 等支持对象或数据类型 抽象的语言都能支持面向对象的软件开发。面向对象的最基本概念有对象 ( o b j e c t ) 、方法( m e t h o d ) 、消息( m e s s a g e ) 、类( c l a s s ) 、子类( s u b c l a s s ) 、实例( i n s t a n c e ) 、 封装( e n c a p s u l a t i o n ) 、抽象( a b s t r a c t ) 、聚合( i n t e g r a t i o n ) 、继承( i n h e r i t a n c e ) 、多态 | 生( p o l y m o r p h i s m ) 等等。 面向对象( o b j e c t o r i e n t e d 或o b j e c t o r i e n t a t i o n ) ,不但是一些具体的软件开发 技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,以什么观 点来研究问题并进行求解,以及如何进行系统构造的软件方法学1 3 1 1 。概括地讲, 面向对象方法的基本思想是,从现实世界中客观存在的事物( 即对象) 出发来构造 软件系统,并在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为 了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。面向对象方 法强调直接以问题域( 现实世界) 中的事物为中心来思考问题、认识问题,并根据 这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成 单位( 而不是用一些与现实世界中的事物相差较远,并且没有对应关系的其它概 念来构造系统) 。这可以使系统直接地映射问题域,保持问题域中事物及其相互 关系的本来面貌。另外,软件开发方法不应该是一种超脱人类日常的思维方式, 与人类在长期进化过程中形成的各种行之有效的思想方法迥然不同的思想理论 体系 3 2 - 3 7 。 6 的第一个环节。 0 0 a 是一种分析方法,包括一套符合软件工程要求的概念、原则、表示法、 过程策略及文档规范。同时0 0 a 又是一种新的分析方法,它的一切都充分的体 现了面向对象方法的概念及原则。 0 0 a 的基本任务是:确定和描述系统中的对象、对象的静态属性和动态特 性、对象间的关系及对象的行为约束等。运用面向对象方法,对问题域和系统责 任进行分析和理解。对其中的事物和它们之间的关系产生正确的认识,找出描述 问题域及系统责任所需的类及对象,定义这些类和对象的属性和方法,以及它们 之间所形成的结构、静态联系和动态联系。最终的目的是产生一个符合用户需求, 并能够直接反映问题域和系统责任的0 0 a 模型及其详细说明【3 9 4 2 1 。 2 2 2o o a 过程 0 0 a 过程从u s e c a s e ( 描述0 0 系统如何被使用的场景) 的定义开始,然后应 用类责任协作者( c r c ) 建模技术来为类和它们的属性与操作建立文档,它也提 供了发生在对象间的协作初始视图,0 0 a 过程的下一步是对象的分类和类层次 的创建,子系统( 包) 可应用于封装相关的对象,对象关系模型提供了对象间如何 相互连接的指示,而对象行为模型指明了个体对象的行为和0 0 系统的整体行 为旧。 1 u s e c a s e 在o o a 分析中,u s e c a s e 被作为分析模型的第一个元素的基础。在需求诱导 时被创建,要达到下列目标: 通过定义由终端用户和软件工程小组共同认可的使用场景,定义系 统( 产品) 的功能和运行需求。 第二章面向对象的软件l :ju m l 提供清楚而无二义性的终端用户和系统如何相互交互的描述。 提供确认测试的基础。 2 类责任协作者建模 一旦系统的基本使用场景已经被开发,则开始标识候选类,并指明它们的责 任和协作。在现实中,类责任协作者( c l a s s r e s p o n s i b i l i t y c o l l a b o r a t o r ) 模型可以 使用实际的或虚拟的索引卡片,其目的是开发一个有组织的类的表示。责任是和 该类相关的属性和操作,简单地说,一个责任是“类知道或做的任何事情 。协 作者是为一个类提供要完成责任所需要的信息的那些类。通常协作意味着或者对 信息的请求,或者对某种动作的请求。 3 定义结构和层次 一旦类和对象已经被使用c r c 模型标识,分析员开始关注类模型的结构以 及类和子类出现时产生的类层次。 4 定义主题和子系统 当所有类的某个子集相互协作以完成一组内聚的责任时,它们经常被称为子 系统或包。子系统或包都是一种抽象,可以被处理为黑盒,它包含了一组责任并 且有自己的( 外界) 协作者。子系统可以在c r c 建模的语境内通过创建一个子系 统索引卡片表示。子系统索引卡片指明子系统的名字,子系统必须提供的合约以 及支持合约的类或( 其他 子系统。 5 对象关系模型 前面使用的c r c 建模方法已经建立了类和对象关系的第一批要素。建立关 系的第一步是去理解每个类的责任,c r c 模型索引卡片包含了一组责任;第二 步是定义那些帮助完成每个责任的协作者类,这样建立了类间的“连接”。 在本质上,对象通过命名关系和其他对象连接,连接的基数被规定,并且整 体的关系网络被建立。 对象关系模型可以以三个步骤导出: 1 ) 使用c r c 索引卡片,可以画出协作者对象网络。 2 ) 评审c r c 模型索引卡片,评估责任和协作者,命名未标记的连接。 3 ) 一旦命名关系已经建立,每个端被评估以确定基数。 2 3 面向对象的设计( o o d ) 面向对象的设计( o b j e c t o r i e n t e dd e s i g n ,o o d ) 是将现实世界的o o a 模型映 射为可以用软件实现的特定实现的模型。o o d 过程可以被描述为四个层次构成 的金字塔,基础层着重于实现主要系统功能的子系统的设计,类层次刻画了实现 系统所需要的整体对象体系结构和类层次,消息层指明如何实现对象问的协作, 8 北京化- t 人学硕1 :学位论文 责任层标识刻画每个类的属性和操作1 4 3 4 6 1 。o o 设计金字塔如图2 1 f 4 7 】所示。 责任设计 图2 1o o 设计金字塔 f i g 2 - 1o od e s i g np y r a m i d 面向对象设计包括系统设计和对象设计两个方面的内容1 4 7 1 。u m l d p 的系统 设计和对象设计被扩展以考虑待建造系统的用户界面、数据管理的设计以及已经 被规约的子系统的任务管理的设计。设计的过程流如图2 2 所示1 4 7 l 。 图2 - 2o o d 过程流 9 第二章面向对象的软件t 程ju m l f i g 2 - 2o o dp r o c e s sf l o w ( 1 ) 系统设计 系统设计是为实现需求目标而对软件的系统结构进行的总体设计。系统结构 是系统的高层次结构形式。系统结构设计需要在时间和空间、简单化和一般化、 效率和可维护性之间做出权衡,其策略取决于具体的应用目标。系统设计主要包 括以下内容: 1 1 系统层次结构设计。 系统层次结构设计要完成系统总体结构在水平方向的层次划分和垂直方向 的条块划分。从水平方向来看,系统的层次反映了系统的各个不同的抽象级别。 北京化工人学硕:j :学位论文 中需要对这个模型进行扩展和重构。扩展和重构的过程不能丢失初始信息,但可 以加入冗余信息和补充信息,可以重新调整实现算法。在对象设计时,为了提高 复用度,尽量利用继承的优点,设计者可以对已定义的类结构做适当的调整。在 设计时还应该尽可能地考虑复用已有的对象类,以及尽可能使设计的结果可以被 复用。另外,还要设计人机交互支持的对象模型、对资源访问和数据存取支持的 对象模型及对网络访问支持的对象模型。这些模型和问题域模型一起构成了解题 域的完整静态结构。 劲动态行为模型设计。 根据对象设计时获得的静态结构,设计者需对动态行为分析模型进行相应扩 展,得到完整的动态行为模型。然后,设计者必须按照设计策略将动态行为模型 的内容,用对象模型中的操作来实现。设计人员还必须在计算复杂度、代码清晰 度以及性能效率方面做出综合考虑,按照系统设计阶段所选择的优化目标使用有 效的算法加以实现。必要

温馨提示

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

评论

0/150

提交评论