软件体系结构论文
软件开发技术论文

软件开发技术分析与探究摘要:从编程语言的发展和使用、代码风格的演变、软件体系结构、用户界面、群件和多媒体等方面进行了分析,对软件开发技术进行了回顾和展望。
关键词:软件开发;编程语言;用户界面;代码风格中图分类号:tp311 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-01the analysis and study of software development technology wang ningzhen1,feng feng2(1.ningxia university affiliated high school,yinchuan 750021,china;2.school of mathematics and computer,ningxia university,yinchuan 750021,china)abstract:the development and use of programming languages,code-style evolution,software architecture,user interface,groupware and multimedia aspects of the analysis of software development technology is reviewed and prospects.keywords:software development;programming language;user interface;code style20世纪50年代后软件开发工具和开发技术发生了巨大的变化,并且还会随着硬件工艺的改进以及新技术所带来的新处理方法和通信方法而不断地变化着,本文涉及到编程语言的发展历程,代码风格和软件体系结构方面的演进,介绍了不断递增的应用程序复杂性,用户界面的重要性,指出了软件开发技术的未来发展趋势。
系分论文:论软件三层结构的设计(范文一)

所谓的远期结售汇就是企业在取得中国外汇管理局的批准后,根据对外贸易的合同等凭证与银行制定合约,银行根据制定合约当天的外汇汇率,通过远期汇率公式,计算出交割当天的外汇汇率,并在那天以该汇率进行成交的外汇买卖业务。远期结售汇系统是我行综合业务系统XX2000的一个子系统,它主要包括了联机部分﹑批量部分﹑清算部分和通兑部分,具有协议管理﹑合约管理﹑报价管理﹑外汇敞口管理﹑帐务管理﹑数据拆分管理﹑报表管理﹑业务缩微和事后监督等功能。
我作为单位的主要技术骨干之一,主持并参与了远期结售汇系统的项目计划﹑需求分析﹑设计﹑编码和测试阶段的工作。由于银行系统对安全性,可靠性,可用性和响应速度要求很高,我选择了三层C/S结构作为该系统的软件体系结构,下面,我将分层次详细介绍三层C/S软件体系结构的设计过程。:
1﹑表示层为字符终端。我行以前一直使用IBM的VISUALGEN 2.0附带的图形用户终端来开发终端程序,但在使用的过程中,分行的业务人员反映响应速度比较慢,特别是业务量比较大的时候,速度更是难以忍受。为此,我行最近自行开发了一套字符终端CITE,它采用VISUAL BASIC作为开发语言,具有响应速度快,交互能力强,易学,编码快和功能强大的特点,在权衡了两者的优点和缺点之后,我决定选择字符终端CITE作为表示层。
2﹑中间层为CICS TRANSATION SERVER(CTS)。首先,我行与IBM公司一直保持着良好的合作关系,而我行的大部分技术和设备都采用了IBM公司的产品,其中包括了大型机,由于CICS在IBM的大型机上得到了广泛的应用,并在我行取得了很大的成功,为了保证与原来系统的兼容和互用性,我采用了IBM的CTS作为中间层,连接表示层和数据库层,简化系统的设计,使开发人员可以专注于表示逻辑和业务逻辑的开发工作,缩短了开发周期,减少开发费用和维护费用,提高了开发的成功率;其次,对于中间层的业务逻辑,我采用了我行一直使用的VISUALAGE FOR JAVA作为开发平台,它具有简单易用的特点,特别适合开发业务逻辑,可以使开发人员快速而准确地开发出业务逻辑,确保了远期结售汇系统的顺利完成。最后,由于采用了CTS,确保了系统的开放性和互操作性,保证了与我行原来的联机系统和其他系统的兼容,保护了我行的原有投资。
eclipse软件体系结构论文

基于OSGi的Eclipse插件体系结构的研究马晟,张渊,刘德钢(清华大学,软件学院,北京 100084)摘要:Eclipse是一个开放源代码的是基于插件机制开发的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
Eclipse 3.0选择OSGi服务平台规范为运行时架构。
本文以研究Eclipse体系结构为目的背景,介绍了插件技术原理,阐述了OSGi规范,分析了Eclipse的插件体系结构,并对基于OSGi和Eclipse RCP对Eclipse的插件扩展开发进行了研究。
最后我们对比介绍了Firefox的插件机制。
研究表明Eclipse平台的体系结构是一个成熟的、精心设计的并且可以很容易扩展的体系结构。
关键词:OSGi,Eclipse,插件,体系结构Abstract:Eclipse is an open source software development project based on the plug in developing mechanism. It concentrates on supporting a full featured commercial industry platform to build highly integrated tools. Eclipse 3.0 uses OSGi Service Platform Standard as the run time architecture. After learning the architecture of Eclipse, this paper instructs the plug in technology theory, shows the OSGi standard, analysis the architecture of Eclipse based on plug-in mechanism and makes a study on the development of Eclipse plug-ins based on OSGi or RCP. Finally, we introduce the plug-in mechanism of Firefox according to the comparison. The Study presents that the architecture of Eclipse platform is a mature, well designed architecture that is easily extended.Key words:OSGi,Eclipse,Plug in,Architecture目录1. Eclipse体系结构 (3)1.1. 插件技术原理 (3)1.1.1. 插件概念说明 (3)1.1.2. 插件接口的认识 (4)1.1.3. 程序结构及其运行机制 (4)1.2. OSGi体系结构 (4)1.2.1. OSGi概述 (4)1.2.2. OSGi框架 (5)1.2.3. OSGi小结 (9)1.3. Eclipse的插件机制体系结构 (9)1.3.1. Eclipse发展历程 (9)1.3.2. Eclipse体系结构 (9)1.3.3. Eclipse平台运行时与OSGi容器 (10)1.3.4. 插件扩展机制 (11)1.3.5. 插件的生命周期 (13)1.3.6. 插件的依赖性 (14)1.3.7. 插件间通信 (14)2. Eclipse插件机制应用 (18)2.1. 常用的Eclipse插件 (18)2.2. 基于OSGi的插件体系结构设计与实现 (19)演示的功能 (19)体系结构设计 (20)实现原理 (21)运行示意 (21)2.3. Eclipse插件机制扩展——RCP应用 (22)3. Eclipse体系结构与其他插件结构比较 (23)3.1. Mozilla Firefox体系结构 (23)3.2. Mozilla Firefox 扩展分析 (24)install.rdf (25)chrome目录 (25)chrome.manifest文件 (25)4. 结束语 (25)5. 附录 (26)1.Eclipse体系结构1.1.插件技术原理1.1.1.插件概念说明插件是一种遵循统一的预定义接口规范编写出来的程序,应用程序在运行时通过接口规范对插件进行调用,以扩展应用程序的功能。
浅谈软件体系结构

建立或拆除通信通道或计算的过程 。 过稃模型 : 研究构造系统的步骤和
过程。因而结构是遵循某些过程脚本的 软件体系结构是软件设计过程中的一个 基 础上 。 2 2软件体系结构的形式化方法研 结果 。 . 层次 ,这一层次超越计算过程中的算法
设计和数据结构设计。
( )l 9 3 9 4年 Ha e Ro h则 认 ys t
维普资讯
中国科技信 息 20 年第 2 07 期
C I CEC N EH OO Y I OM TO a . 0 H A S I EA D TCN LG N R A IN Jn2 7 N N F 0
浅谈软件体系结构
秦建超 杜友福 孟珍伟 长江大学计算机科 学学院 442 303
系 。
这 5种模型各有所长 ,也许将 5 种
( 4)l 9 5年 Ga l n和 P r y在 9 ra er
最终用户 :功能需求 编程人Байду номын сангаас:软件营理
扩充l 生、吞吐量等
拓扑 、安装、通信等
图 1 ”+ ” 型 4 1模
图 2 软件体系结构的生命周期模型
l6 2
维普资讯
模型有机地统 一在一起 ,形成一 个完
整 的模 型 来 刻 画软 件 体 系结 构 更 合 适 。
D C从 功能 上 看 , J C也 已 DB 当今软件 系统的规 模变得越 来越 率 高 。J B
大 ,结 构也越 来越 复 杂 ,同时 从头 开始
经逐步得到广泛的支持 , B J C为 了访I D b J
结 构 、它 仃之 间的相 互 关 系以及进 行设 J
需要 有使 用工程化 的方 法和 管理 . 为避 免软 件开 发的盲 耐 ,提 高软件的质 量 ,在 软件 性
软件体系结构论文

软件体系结构论文年级院系:专业班级:姓名:学号:指导老师:2014年12月28日目录:一、软件体系结构概论 (1)二、体系结构风格 (3)三、UML语言 (5)四、XML语言 (8)五、动态软件体系结构 (10)六、基于体系结构的软件开发 (12)七、软件体系结构的评估 (12)八、软件产品线体系结构 (12)九、软件体系结构的发展方向 (13)十、参考书籍 (14)软件体系结构概论:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
1、软件体系结构的定义:虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。
许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典型的定义有:(1)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。
体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。
软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等(2)软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。
(3)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。
(4)一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
软件体系结构结课论文

软件体系结构结课论文姓名:学号:班级:指导老师:中国矿业大学计算机科学与技术学院软件体系结构风格简析对于软件体系结构,到目前为止一直没有一个标准的、统一的定义。
随着软件体系结构研究的发展,许多专家学者从不同角度和不同侧面对软件体系结构下了多种定义。
我们可以根据这些定义把软件体系结构的定义抽总结概括为:体系结构=构件+连接件+约束。
构件是相关对象的集合,运行后实现某计算逻辑。
连接件是构件的粘合剂,它也是一组对象。
它把不同的构件连接起来,形成体系结构的一部分。
约束一般为对象连接时的规则,或指明构件连接的条件。
所以可以说,软件体系结构是软件需求和软件设计之间的一座桥梁,使得软件设计能够很真实地反映并满足软件的需求,从而提高了软件需求和软件设计的质量。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
它反映了领域中众多系统所共有的结构和语义特性,并指导着如何将各个子系统有效地组织成一个完整的系统。
软件体系结构风格一般性地定义了具体领域系列软件的软件体系结构基础和核心组织框架,是软件体系结构的结构理论,比软件体系结构更概括、更具一般性。
但抽象层次又比软件体系结构模式低。
软件体系结构风格包括对组成系统结构的主要构件元素的描述和能力、行为的约束,构件元素间组织关系(即连接方式)的描述和构件元素间动态交互的约束;也包括对体系结构所具备的特性的描述和解释,以及各特性对所创建的系统可能产生的影响的描述;还包括对其自身优缺点的分析,以及对在系统进化和演化过程中体系结构中可变成分和不可变成分的约束。
下面对几种常见的软件体系结构风格进行简单的分析。
1、管道过滤器风格管道过滤器风格是由称作过滤器的构件和称作管道的连接件组成的体系结构。
其中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,产生输出数据流。
连接件用于将一个过滤器的输出传到另一个过滤器的输入。
管道过滤器风格的软件体系结构的优点:①使得软构件具有良好的隐蔽性和高内聚、低耦合的特点。
软件架构论文-(2)

湖南农业大学课程论文学院:班级:姓名:学号:课程论文题目:软件架构综述课程名称:高级软件架构评阅成绩:评阅意见:成绩评定教师签名:日期:年月日软件架构综述学生:黄鸿江(信科院学院10级计算机软件2班班级,学号201041842322)摘要:软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。
特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
关键词:软件架构、架构风格、目标1.什么是软件架构?1.1软件架构的定义软件架构(software architecture)是一个系统的草图,是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
软件架构描述的对象是直接构成系统的抽象组件。
在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。
软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难。
特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。
在“软件构架简介”一书中,David GArlan 和 Mary Shaw 认为软件构架是有关如下问题的设计层次:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。
结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
”1.2研究背景在经历60年代的软件危机之后,使人们开始重视软件工程的研究。
来自不同应用领域的软件专家总结了大量的有价值的知识. 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法=程序. 但是随着软件系统规模越来越大、越来越复杂,使软件系统的架构越来越重要。
软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。
对于大规模的复杂软件系统来说,软件体系架构比起对程序的算法和数据结构的选择已经变得明显重要得多。
软件工程毕业论文27212

一、绪论1.1系统开发背景随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。
用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。
针对这种现状开发了本系统。
一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。
在论坛里,人们之间的交流打破了空间,时间的限制。
在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。
这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。
论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。
而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。
我们当然可以利用它来解决机械学习中的一些疑惑。
二、需求分析2.1可行性分析可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。
信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。
信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。
信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。
由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。
可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。
2.2技术可行性该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构论文年级院系:专业班级:姓名:学号:指导老师:2014年12月28日目录:一、软件体系结构概论 (1)二、体系结构风格 (3)三、UML语言 (5)四、XML语言 (8)五、动态软件体系结构 (10)六、基于体系结构的软件开发 (12)七、软件体系结构的评估 (12)八、软件产品线体系结构 (12)九、软件体系结构的发展方向 (13)十、参考书籍 (14)软件体系结构概论:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。
1、软件体系结构的定义:虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。
许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典型的定义有:(1)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。
体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。
软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等(2)软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。
(3)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。
(4)一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
2、软件体系结构的发展历史:与最初的大型中央主机相适应,最初的软件结构体系也是Mainframe结构,该结构下客户、数据和程序被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。
随着PC的广泛应用,该结构逐渐在应用中被淘汰。
软件体系结构在80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户(PC机)和服务器(Mainframe或Server)之间分担;请求通常被关系型数据库处理,PC机在接受到被处理的数据后实现显示和业务逻辑;系统支持模块化开发,通常有GUI界面。
Client/Server 结构因为其灵活性得到了极其广泛的应用。
但对于大型软件系统而言,这种结构在系统的部署和扩展性方面还是存在着不足。
Internet的发展给传统应用软件的开发带来了深刻的影响。
基于Internet和Web的软件和应用系统无疑需要更为开放和灵活的体系结构。
随着越来越多的商业系统被搬上Internet,一种新的、更具生命力的体系结构被广泛采用,这就是为我们所知的“三层/多层计算”。
客户层(client tier)用户接口和用户请求的发出地,典型应用是网络浏览器和胖客户(如Java程序)。
服务器层(server tier)典型应用是Web服务器和运行业务代码的应用程序服务器。
数据层(data tier)典型应用是关系型数据库和其他后端(back-end)数据资源, 如Oracle和SAP、R/3等兴起六十年代的软件危机使得人们开始重视软件工程的研究。
起初,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。
软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。
对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要得多。
在此种背景下,人们认识到软件体系结构的重要性,并认为对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。
3、应用现状:自20世纪90年代后期以来,软件体系结构的研究成为一个热点。
广大软件工作者已经认识到软件体系结构研究的重大意义和它对软件系统设计开发的重要性,开展了很多研究和实践工作。
从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。
软件构架师仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。
在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。
难以被开发人员理解C2风格的体系结构,更不能用来分析其一致性和完整性等特性。
当一个软件系统中的构件之间几乎以一种非形式化的方法描述时,系统的重用性也会受到影响,在设计一个系统结构过程中的努力很难移植到另一个系统中去。
对系统构件和连接关系的结构化假设没有得到显式的、形式化的描述时,把这样的系统构件移植到另一个系统中去将是有风险的,甚至是不可能的。
体系结构风格:对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。
体系结构风格的不变部分使不同的系统可以共享同一个实现代码。
只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。
例如,如果某人把系统描述为"客户/服务器"模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。
通用体系结构风格的分类:(1)数据流风格:批处理序列;管道/过滤器(2)调用/返回风格:主程序/子程序;面向对象风格;层次结构(3)独立构件风格:进程通讯;事件系统(4)虚拟机风格:解释器;基于规则的系统(5)仓库风格:数据库系统;超文本系统;黑板系统C2体系C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。
C2风格中的系统组织规则如下:(1)系统中的构件和连接件都有一个顶部和一个底部;(2)构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;层次系统风格的体系结构(3)一个连接件可以和任意数目的其它构件和连接件连接;(4)当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。
上图是C2风格的示意图。
图中构件与连接件之间的连接体现了C2风格中构建系统的规则。
上图3C2风格的体系结构C2风格是最常用的一种软件体系结构风格。
从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点:(1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。
系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。
UML 语言:Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。
它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。
1、UML论述:UML是在Booch、OMT、OOSE等面向对象的方法及其它许多方法与资料的基础上发展起来的。
UML表示法集中了不同的图形表示方法,剔除了其中容易引起的混淆、冗余或者很少使用的符号,同时添加了一些新的符号。
其中的概念来自于面向对象技术领域中众多专家的思想。
UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。
这些图从不同的侧面对系统进行描述。
系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。
尽管UML和其它开发工具还会设计出许多派生的视图,但上述这些图和其它辅助性的文档是软件开发人员所见的最基本的构造。
其中:UML用例图与OOSE中的用例图类似。
UML的类图综合了OMT、Booch等面向对象方法中的类图。
UML状态图是对David Harel所提出状态图的改进。
UML活动图的基本语义和状态图大致相同,它类似于许多方法(包括面向对象技术之前的一些方法)中的工作流图。
UML的协作图是通过对Booch方法的对象图、Fusion方法的对象交互图以及其它一些方法中的相关图表改造而成的。
UML的构建图和部署图是在Booch方法中的模块和进程图(处理关系图、处理器图)的基础上发展起来的。
UML简化了建模方法,它扬弃了Booch、OMT或OOSE等方法中的糟粕,而代之以其它方法中的精华。
UML一般不引入新的概念和符号,只有在没有现有的解决方法可以借鉴时,UML的开发者们才考虑加入新的概念。
UML的开发者们是在设计一种语言(尽管只是一种图形化语言),因此必须在简明(所有元素一律用方框和文字表示)和繁琐(为每个元素设计单独的符号)之间权衡。
尽管如此,UML中还是增添了衍型和扩展机制等一些新的元素,因为这些元素在其它建模语言的实践中已经被证明是非常有用的。
[2]用例图主要用来描述用户、需求、系统功能单元之间的关系。
它展示了一个外部用户能够观察到的系统功能模型图。
【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。
[3]类图显示了一组类、接口、协作以及他们之间的关系。
在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。
类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。
[4]对象图(Object Diagram) 是显示了一组对象和他们之间的关系。
使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。
对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。
对象图显示某时刻对象和对象之间的关系。
一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。
对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。