(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf_第1页
(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf_第2页
(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf_第3页
(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf_第4页
(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(电路与系统专业论文)uml在网上教学系统建模中的应用.pdf.pdf 免费下载

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

文档简介

硕士学位论文 n a s i t r 、i i i r s h 程教育的特点和国内 远程教育的 现状后, 得出了系统的用例模型, 并在此基础 上分别建立了网上教学系统的静态结构模型和动态行为 模型, 以 规范面向 对象 的需求分析、 总体设计、 详细设计、 代码的生成以 及项目 的 管理和维护, 实现 系统的增量开发。 对于模型中的用例图、 类图、 包图、 顺序图、 合作图、状态 图 和活动图, 文中都详细地说明了生成过程和意义. 实现阶段的构件图和配置图描述了网上教学系统的物理模型系统源 代码的静态结构和运行时 刻的实 现结构。该系统运行于l i n u x 操作系统之上, 提供了一个完整的网上教学环境, 基本实现了在分析和设计阶段定义的用例模 型。 文中 详细介绍了 采 用p h p + m y s q l + a p a c h e 实 现的 功能 模块, 包括基于 数据库的动态消息管理、 t r e e v i e w形式的课件浏览、 多条件信息查询、 课件管 理、 个人信息维护、 讨论和答疑以 及在线作业。 最 后 , 本 文 对 论 文 所 做 的 工 作 进 行 了 总 结 , 并 提 出 了 今 后 的 工 作 方 向 ) : 乍 找a 关 键 词 : u m l . r u p 、 面 向 对 象 、 粼、 网 上 教 学 硕士学位论文 n 1 a s ( p r s t 1 1 l s 1 s a b s t r a c t s i n c e b o o c h b r o u g h t f o r w a r d o b j e c t o r i e n t e d t e c h n i q u e i n 1 9 8 6 , m o r e t h a n 5 0 k i n d s o f m e t h o d o l o g y h a v e a p p e a r e d . o b j e c t o r i e n t e d t e c h n i q u e h a s r e p l a c e d t r a d i t i o n a l a n a l y s i s a n d d e s i g n t e c h n i q u e a s t h e m a i n t e c h n i q u e i n s o f t w a r e e n g i n e e r i n g . f a m o u s s o f t w a r e e n g i n e e r i n g a c a d e m i c i a n g r a d y b o o c h , j i m r u m b a u g h a n d i v a r j a c o b s o n i s s u e d u n i f i e d m o d e l i n g l a n g u a g e a f t e r d e t a i l e d l y c o m p a r i n g d i f f e r e n t m o d e l i n g l a n g u a g e s a n d s u m m a r i z i n g o b j e c t o r i e n t e d t e c h n i q u e a p p l i c a t i o n e x p e r i e n c e . t h e u n i f i e d m o d e l i n g l a n g u a g e , p r o v i d e s s y s t e m a r c h i t e c t s w o r k i n g o n o b j e c t a n a l y s i s a n d d e s i g n w i t h o n e c o n s i s t e n t l a n g u a g e f o r s p e c i f y i n g , v i s u a l i z i n g , c o n s t r u c t i n g a n d d o c u m e n t i n g s o f t w a r e s y s t e m s u m l i s t h e c o n v e r g e n c e o f b e s t p r a c t i c e s i n t h e o b j e c t t e c h n o l o g y i n d u s t r y . a n d i t i s a r i c h , p r e c i s e , e x t e n s i b l e m o d e l i n g l a n g u a g e f o r o b j e c t o r i e n t e d s y s t e m d e v e l o p m e n t . u m l i s o n l y a s t a n d a r d m o d e l i n g l a n g u a g e a n d n o t a s t a n d a r d d e v e l o p m e n t p r o c e s s . r a t i o n a l u n i f i e d p r o c e s s i s r e l e a s e d b y r a t i o n a l s o f t w a r e c o r p o r a t i o n w h i c h p r o v i d e s a n a p p r o a c h t o a l l o c a t i n g t a s k s a n d r e s p o n s i b i l i t y i n s o f t w a r e d e v e l o p m e n t a n d d e s c r i b e s s o f t w a r e e n g i n e e r i n g p r o c e s s e s . i n t h i s t h e s i s , i d i s c a r d t h e t r a d i t i o n a l d e v e l o p i n g m e t h o d m o s t s y s t e m d e v e l o p e r s u s e . a p r o t o t y p e o f a w e b e d u c a t i o n s y s t e m i s v i s u a l m o d e l e d a n d d e v e l o p e d i n i n c r e m e n t i t e r a t i o n b y u s i n g u m l , r u p a n d r o s e , a s t o e n h a n c e r e l i a b i l i t y , r e u s a b i l i t y a n d m a i n t a i n a b i l i t y o f t h e s y s t e m r e s e a r c h o f u m l a n d w e b - b a s e d e d u c a t i o n i n c h i n a h a s j u s t s t a r t e d a n d t h e w e b - b a s e d e d u c a t i o n s y s t e m m o d e l i n g i n u m l i s a l s o r a r e . t h i s t h e s i s d i s c u s s e s t h e m o d e r n t e c h n i q u e o f o b j e c t o r i e n t e d m o d e l i n g , g i v e s a m o d e l a c c o r d i n g t o d i s t a n c e e d u c a t i o n m o d e a n d t h e s i t u a t i o n o f m y u n i v e r s i t y a n d s h o w s t h e w h o l e p r o c e s s o f t h e s y s t e m d e v e l o p m e n t , w h i c h i i i 硕士学位论文 i a s i 王 r s t i i i i 吧 毕 , 鑫萎卜一 一 , , ,一 一 毕 一 一 一 一 ,一 一一一毕 一 i s v a l u a b l e f o r d e v e l o p i n g s i m i l a r s y s t e m s . d e v e l o p i n g a l a r g e a n d c o m p l e x s o f t w a r e s y s t e m s u c h a s t h e w e b - b a s e d e d u c a t i o n s y s t e m i s a p r o j e c t w h i c h m u s t b e o r g a n i z e d b y e n g i n e e r i n g s c i e n c e a n d g o t h r o u g h t h e w h o l e s o f t w a r e e n g i n e e r i n g l i f e c y c l e i n c l u d i n g a n a l y s i s , d e s i g n , i m p l e m e n t a t i o n , t e s t a n d m a i n t e n a n c e . p r o g r a m i s i m p o r t a n t , b u t m o d e l i n g i s m o r e i m p o r t a n t . w e c a n e n s u r e t h e s m o o t h p r o j e c t i m p l e m e n t o n l y a f t e r e s t a b l i s h i n g e x a c t m o d e l i n a n a l y s i s a n d d e s i g n . t h i s i s a n i m p o r t a n t l e s s o n w e l e a r n f r o m s o f t w a r e c r i s i s . d u r i n g t h e c o u r s e o f s o f t w a r e d e v e l o p i n g , r e q u i r e m e n t a n a l y s i s i s a d e c i s i v e s t e p . i e d u c e t h e u s e c a s e m o d e l o f t h e s y s t e m a f t e r d e t a i l e d l y a n a l y s i s t h e d i s t a n c e e d u c a t i o n c h a r a c t e r i s t i c a n d s i t u a t i o n i n c h i n a . o n t h a t m o d e l , i e d u c e t h e s t a t i c s t r u c t u r e m o d e l a n d d y n a m i c a c t i o n m o d e l o f t h e s y s t e m , i n w h i c h t h e u s e c a s e d i a g r a m , c l a s s d i a g r a m , p a c k a g e d i a g r a m , s e q u e n c e d i a g r a m , c o l l a b o r a t i o n d i a g r a m , s t a t e d i a g r a m a n d a c t i v i t y d i a g r a m a r e d e t a i l e d l y d i s c u s s e d . c o m p o n e n t d i a g r a m a n d d e p l o y m e n t d i a g r a m s h o w t h e p h y s i c a l m o d e l o f t h e s y s t e m w h e n r e a l i z a t i o n . t h e w e b e d u c a t i o n s y s t e m r u n s o n l i n u x , w h i c h p r o v i d e s a w h o l e d i s t a n c e e d u c a t i o n e n v i r o n m e n t . i t s u p p o r t s m o s t a l l k i n d s o f u s e c a s e i d e f i n e i n r e q u i r e m e n t a n a l y s i s . t h i s t h e s i s i n t r o d u c e s i n d e t a i l t h e f u n c t i o n m o d u l e r e a l i z e d b y p h p , m y s q l a n d a p a c h e , i n c l u d i n g d y n a m i c n e w s m a n a g e m e n t b a s e d o n d a t a b a s e , t r e e v i e w c a i b r o w s e , m u l t i - c o n d i t i o n q u e r y , c a i m a n a g e m e n t , i n d i v i d u a l i n f o r m a t i o n m a n a g e m e n t , r e a l - t i m e d i s c u s s , q u e s t i o n - a n s w e r i n g a n d o n l i n e h o m e w o r k . f i n a l l y , t h e t h e s i s s u m m a r i z e s t h e w h o l e c o n t e n t a n d b r i n g s f o r w a r d t h e f u t u r e w o r k . k e y w o r d : u m l , r u p , o b j e c t o r i e n t e d , m o d e l i n g , w e b - b a s e d e d u c a t i o n i v 硕士学位论文 ma s t e r s t i i i s i s 绪论 随着人们对软件要求的提高和软件技术的发展, 传统的软件分析和设计方 法己经无法胜任快速高效地开发当今复杂并具有人性化的软件系统。 面向对象 的概念、 方法和技术, 使得人们在软件的分析、 设计和实现上有了 全新的认识。 由 于面向 对象技术的模块性、 封装性、 继承性、多态性能满足软件工程要求的 局部化、易维护、可重用、易扩充以 及当今分布式计算机的诸多要求,一时成 为计算机各领域争相采用的新技术。 众多面向对象分析设计方法先后出现, 它们有各自 的优缺点, 使得人们难 以 选择,同时它们细微的概念差别又阻碍了技术人员间的交流。 u ml的出现 结束了这种面向对象方法标准不统一的局面。 在面向 对象分析和设计文档表达 上, u m l引入了图符,体现了“ 可视化” 这一特点,并为面向 对象系统的分 析、 设计提供了丰富、无二义性、 扩充性强的表达方式,广泛地应用于系统的 分析、设计和维护,成为面向对象的标准建模语言。 与此同时,计算机技术、 通信技术和多媒体技术的进步也极大地动摇了传 统教育单向 输出的 基本模式, 传统意义上的学校、 教室已 经不再是什么必要的 因素, 网络轻而易举地超越了时间和空间的阻碍, 使教育得到了 最大限度的延 伸。 基于i n t e m e t 的网络远程教学作为教育技术的一个新的研究领域日 渐兴起. 网络远程教学充分利用了i n t e rn e t 的应用环境和资源,具有全球性、交互性、 共享性、实效性和个性化等其他远程教学形式所无可比 拟的优势. 根据我国 经济发展不平衡的 特点, 教育部已 经确定分三个层面推进教育信 息化, 第一是以多媒体计算机技术为核心的教育技术在学校的普及和运用: 第 二是网络的普及和应用,利用网上资源提高教学质量;第三是开办远程教育, 建设并提供大t的网络资源,不断满足社会日益增长的终身教育需求。 近年来, 我国在远程教育领域的研究和开发工作已迅速开展起来. 清华大 学、 上海交大、 北京邮电 大学等几所高 校相继成立了 远程教育学院。 本文所论述的网上教学系统正是以充分利用校园网络资源, 补益我校传统 硕士学位论文 ma s t e r s i i i s i s 教学方式为目 的, 在先期实现网络化教学最终实现远程教育的思想理念指导下 开始建设的. 在本项目 立项阶段和建设之初, 开发小组进行了充分的调查研究, 借鉴国内外远程教学的较成功解决方案,最终结合我校的实际情况和基础条 件,确定了系统需求和技术路线。 教学系统大而 庞杂, 各个环节错综相连, 而网 上教学几乎等同于把整个教 学系统迁移到网 络, 这就使得分析和设计工作非常繁重. 开发这样一个具有一 定规模和复杂性的 系统必须按工程学的方法加以 组织, 并经过分析、 设计、 实 现、 测试等一系列的软件生命周期阶段. 编程是重要的, 但更重要的是系统建 模。 在网上教学系统的研究和开发工作中,我采用了u ml和r a t i o n a l 公司的 统一过程进行分析和设计。 事实证明, 用模型指导分析和设计, 不仅改善了 系 统的开发效率和质量,还为系统的进一步扩展奠定了良 好的基础。 国内u m l和网 上教学的 研究都刚刚起步, 基于u m l建模的网上教学系 统更是少见, 本文论题立足于面向 对象可视化建模的前沿技术, 对开发其它类 似系统具有一定的 参考价值。各章的概要如下: 第一章 介绍面向对象方法的基本思想、面向对象的分析和设计过程以及 现有的面向对象方法. 第二章 介绍u m l 的概况,建模过程以及建模的工具。 第三章 介绍网上教学系统的建模过程,给出了系统的静态结构模型和动 态行为模型。 第四章 介绍网上教学系统的具体实现过程,包括系统的物理模型和各功 能模块的实现. 第五章 对网上教学系统开发工作的总结及展望。 硕士学位论文 n t mi e r sl ii i i s i s 第一章面向对象技术概述 面向 对象( o b j e c t o r i e n t e d ) 技术最先被使用在面向对象编程语言中, 随 着面向 对象语言的逐步完善, 面向 对象技术很快被应用于系统分析和系统设计 中, 成为目 前计算机软件工程学中的主流方法。 面向对象程序设计语言的出 现 以 6 0年代末挪威奥斯陆大学和挪威计算机中心共同研制的 s i m u l a语言为标 志,到8 0 年代中期,面向对象分析 ( o b j e c t - o r i e n t e d a n a l y s i s , o o a )的研 究 开 始 发 展 , 进 而 延 伸 到 面 向 对 象 设 计( o b j e c t - o r i e n t e d d e s i g n , o o d ) , 。 面向对象分析和设计的实质是一种系统建模的技术。 本章将阐述面向对象的基本概念,现有的面向对象方法及其特点。 1 . 1面向对象技术基本概念 面向 对象的基本思想是尽可能的运用人类自 然思维方式来构造软件系统, 它直接反映了人们对客观世界的认知模式从特殊到一般的归纳过程和从 一般到特殊的演绎过程。面向 对象的 基本观点如下: ( 1 ) 客观世界是由对象组成的,复杂的对象可以由简单的对象组成。 ( 2 )具有相同的数据和相同的操作的对象可以归并为一个类, 对象是类 的一个实例. ( 3 )类可以派生出子类, 子类继承父类的特性, 又可以 有自己的新特性. 子类与父类形成类的层次结构。 ( 4 )对象之间通过消息传递相互联系。 因此,软件工程学家c o d d 和y o u r d o n 认为: 面向 对象= 对象+ 类+继承+通信t 7 类的构成过程是人们对事物从特殊到一般的归纳抽象过程: 反之, 任何一 个具体的对象个体必然具有它同类的一般属性,即类属性,因此, 类继承性的 构成过程反映了个体之间从上到下,从一般到特殊的演绎过程. 硕士学位论丈 m a s h: r s川r .s u 1 . 1 . 1 对象和类 对象从不同的角度有不同的含义。 从面对的问题域角度而言, 对象是现实 世界中个体的数据抽象模型; 是事物状态和行为的数据抽象, 既是事物状态的 集合, 也是为改变状态而施加的操作方法或算法程序的集合。 对象将两者封装 在一起,既可以 存放状态也可以因受外部作用而改变状态。 从求解域而言, 对 象是系统中的基本运行实体, 是具有特殊属性 ( 数据) 和行为方式 ( 方法或称 服务)的实体. 从动态的 观点看, 对象的行为即发生在对象上的操作。 从静态 的观点看,对象的属性反映了对象的状态。 对象可以形式的定义为: o b j : :二 其中,i d 是对象的标识; m s 是对象的功能或受理的操作集合;d s 是对象 的状态或数据结构: m i 是对象的消息名集,也称对外接口或协议。 类是指具有相同或相似结构、 操作和约束规则的对象所组成的集合, 它是 一个共享属性和操作方法的集合。 任何一个对象都是某一类的实例, 每一个类 都是由 具有某些共同特征的对象组成。 类体现了人们认识事物的基本思维方法 分类 ( c l a s s i f i c a t i o n ) ,即把具有相同操作和属性的 对象划分为一类, 用类作为它们的抽象描述。 类的形式定义为: c l s : := 其中,i d 是类的 标识:d d 是数据结构描述:o p 是操作集合的具体实现, 即方法集:i n t 是统一的对外接口 ( 或协议) 。 此时,对象可以定义为一个三元组: o b j : := 其中o i d 是对象的标识; b o d y 是该对象的实例存储结构; c i d 是该对象所 依赖的类的标识. 1 . 1 . 2属性和消息 属性: 属性依附于类和对象, 描述其具体特征, 包括属性名和属性值 ( 或 4 硕士学位论文 h 1 a s i e r s i h f s i s 称属性状态) . 消息是指对象之间在交互中所传送的通信信息, 是从发送者到接受者的一 条执行服务的请求, 接受消息的对象响应该消息, 激发所要求的服务操作, 并 把操作的结果返回给请求服务的对象。 1 . 1 . 3封装、继承和多态 封装 ( e n c a p s u l 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 ) 是面向对象的三要素。 封装是指把对象的外部特征与内在实施细节分开, 使得一个对象的外部特 征对其他对象是可访问的, 而它的内在实施细节对其他对象来说则是隐藏的, 只能通过对象间的接口发生联系。 继承是指子类 ( 特化类、派生类)拥有父类 ( 基类、泛化类、超类)的全 部属性与服务. 继承用于描述类之间的共同性质, 它减少了相似类的重复说明。 继承使得程序员对共同的操作及属性只说明一次, 并且在具体的情况下可以扩 展细化这些属性及操作。 多态性是指在多个类中可以定义同一个操作或属性名, 并在每个类中可以 有不同的实现。 . 2面向对象的开发方法 软件开发的关键是理解并准确描述现实问题空间 ( 问题域) 、从问题空间 到解空间 ( 解题域)的转化以及软件系统解空间。面向对象的开发方法是软件 技术的一次革命, 在软件开发史上具有里程碑的意义. 面向对象方法追求的是 现实问题空间和软件系统解空间的直接模拟,其实质是个建立模型的过程。 面向对象的开发方法一般包含三个阶段:首先是面向对象分析 ( o o a ) , 它 的任务是了解问题域内该问题所涉及的对象和对象间的关系, 建立该问题的模 型.接着是面向对象的设计 ( o o d ) ,它的任务是充实,调整和完善先期建立的 模型。 最后是面向对象的程序设计 ( o o p ) , 它的任务是用面向 对象的语言实现 硕士学位论文 t a s l l代 s 1 1 1 l s i s o o d 提出的模型. 1 . 2 . 1面向对象的分析 面向对象的分析 ( o o a 一 一 o b j e c t o r i e n t e d a n a l y s i s )的主要任务是分 析问题域,确定和描述系统中的对象、对象的静态特征和动态特征、 对象间的 关系及对象的行为约束,建立系统的对象模型, 其基本过程如下: ( 1 ) 问 题域分析 分析应用领域的业务范围、业务规则和业务处理过程,确定系统的责任、 范围和边界. ( 2 ) 发现和定义对象 识别对象和类, 确定他们的内部特征: 属性和服务操作, 完成从现实世界 到概念模型的抽象过程, 同时需要识别对象与对象、 类与类之间的各种外部联 系,包括结构性的静态联系和行为性的动态联系。 ( 3 )编制系统的 静态结构文档 分析系统的静态结构, 在前面分析类、 对象以 及其联系的基础上, 将这些 信息以图表的形式表达出来,编制相应的说明文档. ( 4 ) 编制系统的动态行为文档 分析系统的动态行为, 包括系统中单个对象自 身的生命周期演化和对象间 的消息传递和协同工作, 将这些信息以图表的形式表达出来, 编制相应的说明 文档。 面向对象分析主要遵循以下几个原则: ( 1 )构造和分解相结合的原则 构造是指由 基本对象组装复杂对象的过程;分解是指对大粒度对象进行精 化从而完成系统模型的细化过程, 这两者的结合是软件工程中系统分析的基本 方法。 ( 2 )抽象化和具体化相结合的原则 抽象强调实体的本质和内在属性,而忽视与问题无关的属性,是在决定如 硕士学位论文 ma s t e r s 1 7 i e s i s 何实现对象之前确定对象的意义和行为。 使用抽象可以尽可能避免过早考虑一 些细节. 数据抽象将数据对象及作用在其上的操作抽象成对象, 是分析的核心, 是组织和建立系统规格说明和设计说明的基础。 过程抽象为对象的相互作用提 供了依据。 具体化是指在精化过程中,对对象的必要细节加以刻画,有助于确定系统 对象, 加强系统模型的稳定性. 抽象化和具体化使具体对象可以直接从抽象对 象的定义中获得已有的性质和特征, 而不必重复定义它们。 在分析中只需一次 性地指定公共属性和操作,然后具体化并扩充这些属性及操作成为具体情况。 ( 3 ) 封装的原则 封装是指将对象各种独立的外部特性与内部实现细节分开。 从外部只知道 它作什么,而不必知道它如何做, 也不必知道其内部数据是如何表示的。每个 对象和对象的每个操作都封装或隐藏一些设计决策; 对象接口 定义要尽可能地 与其内 部工作状态相分离. 封装有助于最大限度地减少由于需求的改变而对整 个系统所造成的影响. ( 4 )相关的原则 相关是指系统中的对象之间存在着各种关联。在分析中要考虑与问题相关 的对象间的各种关联。 这些关联是对象协作的基础. 相关包括静态结构的关联, 如整体和部分:也包括动态特征的关联,如消息传递等. ( 5 )行为约束的原则 对象的语义特征是通过行为约束来刻画的. 行为约束包括静态行为约束和 动态行为约束。 它表示了对象合法存在、 对象的操作合法执行应满足的约束条 件。 行为约束有助于深刻地理解对象和系统。 1 . 2 . 2面向对象的设计 面向对象的设计 ( o o d 一 一 -ob j e c t o r i e n t e d d e s i g n )的主要任务是根据 已 确立的系统对象模型, 运用面向 对象技术, 进行系统软件设计. 传统的功能分解的设计方法是面向任务的,将问题域分解成一系列任务来 完成, 这些任务形成了过程式软件的基本结构。 虽然在需求分析阶段形成的信 硕士学位论文 n i a s i i r s 川 i ; s 息输出可以作为设计阶段的输入, 但它们往往是用完全不同的术语表示的, 这 导致了分析和设计阶段之间的不必要的界限和信息转移的困难。 面向 对象的分析和设计与问题域的模型紧密相联。把问题域作为一系列相 互作用的对象实体构造出模型, 形成面向 对象软件系统结构。 在分析阶段形成 的信息输出成为设计阶段的主要输入, 两者的自 然过渡保证了对象模型的一致 性。 面向对象设计包括对象与类设计和系统设计两方面的内容。 ( 1 ) 对象与 类设计是根据具体的实现策略, 对分析模型进行扩充的过程。 对象与类设计在o o a 的对象模型基础上具体设计对象与类的数据结构和操作的 实现算法,设计对象与类的各种外部联系的实现结构以及消息与事件的内容、 格式等。 在设计时可以并且应当充分利用预定义的系统类库或其他来源的现有 库,并采用继承、复用、演化等方法设计新类。 ( 2 )系统设计是为实现需求目 标而对软件的系统结构进行的总体设计. 系统结构是系统的高层次结构形式。 系统结构设计需要在时间和空间之间、 硬 件和软件之间、 简单化和一般化之间、 效率和可维护性之间作出权衡, 其策略 取决于具体的应用目 标。 系统设计主要包括系统层次结构设计, 系统数据存储 设计,系统资源访问设计,网络与分布设计, 并发性设计, 对象互操作方式设 计,边界条件和例外处理等. 在o o a中, 注意力着重在分析问题论域和系统责任, 确定问题的解决方案, 建立独立于实现的系统的o o a 模型;而在o o d 中则着重研究系统的软件实现. 实际上o o a 与o o d 的工作应当是连续的、 无缝的,也允许相交和往复. 在o o a 中不仅考虑系统“ 做什么” 的问题, 也要适当 考虑系统“ 怎么做” 的问 题; 在 o o d 中 不仅要解决系统“ 怎么做”的问 题, 也要从软件实现的角度出发, 修改 细化和完善系统的分析模型。 1 . 2 . 3现有的面向对象方法及比较 面向 对象的基本概念随着几种主要面向对象语言日 益广泛的应用,逐步为 广大软件开发人员所接受。 但是, 随着应用软件开发规模的扩大和软件系统复 硕士学位论文 n 1 . l e r s t i i e s i s , 甲 ,三吮,一一一竺 , 竺 竺 竺竺 , 竺 竺, , 竺 竺, 竺 吧 , , 竺 , 竺 竺 杂度的增加,他们迫切需要与面向对象方法相一致的软件分析和设计方法。 面向对象方法的发展绝非偶然,它是计算机理论与实践的许多研究方向的 共同成果。 到八十年代末,面向对象方法已经逐步成熟, 面向对象的基本概念 都已确立, 并具有了一定的实际应用经验。 因此, 从八十年代末到九十年代初, 面向 对象分析、 设计方法开始迅速发展, 提出了一大批各具特色的面向对象方 法。 大致可以把面向对象的软件开发方法的发展历程分为如表 1 - 1 的几个阶段 lal 。 这些方法虽然源自 不同的 应用领域与背景, 并且其内 容与步骤也不尽相同, 但它们都认为 自己是面 向对象的,如 s h l a e r与 m e l l o r 的 o o s a ( o b j e c t - o r i e n t e d s y s t e m a n a l y s i s ) 是从信息系统领域的信息建模理论发展 而来, 而j a c o b o s o n 的 o o s e ( o b j e c t -o r i e n t e d s o f t w a r e e n g i n e e r i n g ) 则是 起源于通讯领域程控交换机软件系统的开发方法。 面向对象的软件开发方法的发展历程 阶段年代代表性方法 特点 初期6 0 7 0 年代无在程序设计语言中引入了00概念 第一代s o 年代p e t e r c o e d 和e d y o u r d o n 方法, s a l l y s h l a e r 和s t e p h e n m e l l o r 的方法,i d e f 方法, b o o c h 8 6 等 这些方法概念简单,容易 理解,但描 述系统模型的能力较弱,存在一定局 限性 第二代8 0 年代后期 . 9 0 年代初 j a m e s r u m b a u g h 的 o m t , d a v i d w . e m b l e y 的o s a , i . j a c o b s o n 的 o o s e 这些方法语义丰富,描述系统模型的 能力强,大t使用图形表述,比较直 观。但一些方法仅适用于 特定的领域 模型中还存在一些缺陷 第三代9 0 年代中期i b m 公司的v m tv m t 融合了o m t , o 0 s e , r d d 等方法的 特点,吸取了 各种方法的 优点,并有 可视化编程工具v i s u a l a g e 作为开发 环境 统一化 和标准 化 9 0 年代末期 u m l 结合了b o o c h , o m t , o o s e 的概念, 是一种标准的建模语言,不是软件开 发方法 表 卜1 己提出的许多面向对象分析与设计方法中,较有影响的有:o m t , b o o c h , c o a d - y o u r d o n , d o s e , s h l a e r 与m e l l o r的(o o s a , r d d , o b a , f i r e s m i t h , o s a , f u s i o n , h o o d 等。 这些面向 对象软件开发方法的一 般思路是:取得一组 需求,用各种文字说明、图形、表格、形式或非形式地构造对象模型,识别与 硕士学位论文 m入 5 1 i r s川p s i s 问题有关的类与类之间的关系, 加上与解决方案有关的类; 将经过设计的类与 联系进行调整后, 对类进行编码及测试, 得到结果. 下面介绍几种主要的面向 对象方法,至于u m l 则将在下一章作详细的介绍。 ( 1 ) b o o c h 方法 b o o c h是面向 对象方法的最早倡导者之一。 b o o c h方法的最大特点是将几 类不同的图表有机结合起来, 以反映系统的各个方面是如何相互联系又相互影 响的。b o o c h 方法的图表主要有四个主图和两个辅图。 在四个主图中, 类图和对象图描述了系统的逻辑设计, 定义类和对象及相 互联系; 模块图和进程图描述了系统的物理设计, 侧重于系统的程序构件和进 程分配. 两个辅图 主要描述系统的动态行为, 其中时序图描述对象之间的动态 交互,状态转换图描述某个类的状态空间和状态变化。 ( 2 ) c o a d - y o u r d o n 方法 c o a d - y o u r d o n 方法是在信息模型化技术、 面向 对象程序设计语言及知识 库系统的基础上发展起来的,分为o o a 和o o d 两个部分。 c o a d - y o u r d o n 方法在o o a 阶段, 通过发现类及对象, 识别结构,定义主 题, 定义属性和定义服务的顺序构造和评审o o a 概念模型; 在o o d 阶段继续了 上述的五个层次, 用于建立系统的四个组成成分问题论域 ( p d c ) 、 人机交 互 ( h i c ) 、任务管理 ( t m c ) 和数据管理 ( d m c ) , ( 3 ) o m t 方法 o m t ( o b j e c t m o d e l i n g t e c h n i q u e ) 方法是由j a m e s r u m b a u g h 等人提出 的一套系统开发方法。 它以 面向对象思想为基础, 通过构造三组模型 ( 对象模 型、动态模型和功能模型) 来获得问题域模型。 在o m t 方法中, 对象模型的主要任务是分析真实世界的问题域, 确定问题 域的类和相关的属性, 描述系统的静态结构与对象间的关系: 动态模型主要采 用状态转换图 来描述对象的动态行为;功能模型主要采用数据流图 ( d f d ) 描 述系统内部数据值之间的转换. ( 4 ) o o s e 方法 由j a c o b s o n 提出的基于用例 ( u s e c a s e )的面向对象软件工程 ( d o s e ) 开发方法将面向 对象的思 想贯穿整个软件生命周期, 包括需求分析、 设计、 实 t o 硕士学位论文 a i a s i e r s 7 l i t c 1 s 现和测试等四个阶段。 它既不是从数据模型开始, 也不是从建立实体对象联系 的模型着手,而是从组成系统的实际操作入手,从分析系统是如何使用开始, 强调系统使用时与各种不同用户交互时的状态 用例。 得到用例模型后, 提 出了 一套规范 化的方法寻找类、 对象等, 进行建模、设计等一系列工作. j a c o b s o n 将u s e c a s e 模型与其他五种系统模型相关联实现建模过程。这 五种系统模型分别是需求模型、 分析模型、设计模型、 实现模型和测试模型。 ( 5 ) v m t 方法 工 b m 公司的v m t 方法是 1 9 9 6 年提出的,它是o m t , o o s e , r d d 等方法相融 合后的一个产物。 v m t 以o m t 方法作为其构建的框架,并沿用了o m t 的表示方 法, 但抛弃了o m t 中的 采用数据流图 来描述的功能模型, 代之以r d d 方法中的 c r c ( 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 i o n ) 卡片. 用它来描述对象的 操作 和对象间跳一 ; . , r . 1、 v 0 ,_ . , j t7 y l l用来描述用户对系统 的需求,从而获得更准确的用户需求模型。 v m t 方法包括三个阶段:分析、设计与实现.分析阶段的主要工作是建立 模型,包括用例概念模型、分析阶段模型、对象模型、动态模型和c r c 卡片。 设计阶段包括系统设计、 对象设计、永久对象设计。 系统设计的主要任务是设 计系统的体系结构j , ; 划分子东拼 象设计的主翌汪务是细化分析阶段获得的 模型; 永久对象设计主要是考虑数据库设计的问 题。 实现阶段的主要任务是用 特定的语言实现系统。 总的来说,b o o c h 方法在系统设计和构造阶段有很强的表达能力,比较适 用于工程应用: c o a d - y o u r d o n 方法较为笼统, 理论性较强而使用不方便; o m t 在分析阶段的表现力十分丰富, 适于数据集中的 信息系统应用; o o s e 的 用例 是其优势. 对商业应用及需求分析较为 有效; v m t 则较为复杂,适合大型系统 的应用: u m l 则吸收了这些方法的优点, 是一种简单、 一致、 通用的建模语言, 表达力更强。 硕士学位论文 x 1 .4 5 i t r 、川 l s i j 第二章 基于统一建模语言u m l 的系统建模 统一建模语言 u m l ,是面向 对象建模语言,主要用于软件系统的面向对象 建模. 可以 说在软件工程发展过程中, 其中最重要的、 具有划时代重大意义的 成果之一就是统一建模语言u m l 的出 现 。在世界范围内, 至少在近1 0 年内, u m l 将是面向 对象技术领域内占 主导地位的标准建模语言。 u m l作为一种建模语言的 优点 在于: 定义良 好、易于表达、功能强大且普 遍适用5 1 . 它溶入了 软件工程领域的新思想、 新方法和新技术。 它的作用域不 限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过 程。 u m l的设计工具主要有: r a t i o n a l 公司的 r o s e系列, m i c r o s o f t公司的 v i s u a l m o d

温馨提示

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

评论

0/150

提交评论