




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。特别是当计算机硬件有了飞速发展之后,各种应用领域对软件系统提出了更高的要求。而传统系统分析与设计方法一结构化分析法,它从系统的功能入手,用它开发的系统是实现模块功能的函数和过程的集合。由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。这样开发出来的模块可重用性不高。因而,结构化系统分析与设计已无法满足用户需求的变化。发展软件质量,缩短软件开发周期,发展软件可靠性、可扩充性和可重用性迫使软件界人士不断研究新方法、新技术,探索新途径。面向对象技术是目前流行的系统分析与设计技术。它的提出,主要是为了解决结构化系统分析与设计所不能解决的代码重用问题。它从所处理的数据入手,以数据为中心,把编程问题视为一个数据集合,数据相对于功能而言,更具稳定性。面向对象技术最初是从面向对象的程序设计开始的,它的出现以20世纪60年代Simula语言为标志。面向对象语言Smalltalk的出现,进一步发展和完善了面向对象的程序设计语言,从此面向对象也和开发方法开始结合,出现了面向对象的开发方法。20世纪80年代中后期,面向对象系统分析与设计逐渐成熟,被计算机界理解和接受。面向对象方法学基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。面向对象的方法具有四个基本特征:1)抽象:抽象就是忽略一个主题中与当前目标无关的方面,注意与当前目标有关的方面。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个实体。数据抽象定义了数据类型和施加于该类型对象上的操作。2)继承:继承是一种联结类的层次模型,并且允许和鼓励类重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生新类继承原始类的特性。派生类可以从它的基类继承方法和实例变量,并且新类可以修改或增加新的方法使之更适合特殊需要。继承性很好地解决了软件的可重用性问题。3)封装:是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。4)多态性:指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了函数同名问题。面向对象程序设计的四大特性,使得软件开发时间缩短,效率高,可靠性好,所开发的程序更强壮,应用程序更易于维护、更新和升级。分析是问题抽象(做什么),设计是问题求解(怎么做),实现是问题的解(结果)。在问题抽象阶段,结构化方法面向过程,按照数据变换的过程寻找问题的结点,对问题进行分解。由于不同人对过程的理解不同,故面向过程的功能,所分割出的功能模块会因人而异。对象是对现实世界实体的模拟,因而能更容易理解需求,即使用户和分析者之间具有不同的教育背景和工作特点,也可很好地沟通。而且,面向对象的对象细分,从同一问题领域的对象出发,不同人得出相同结论的比率较高。在设计上,结构化方法产生自顶向下、结构清晰的系统结构。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,模块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。在软件工程基本原则中有一条“形式化原则”,即对问题世界的抽象结论应该以形式化语言(图形语言、伪码语言等)表述出来。结构化方法可以用数据流图、系统结构图、数据舌辛典、状态转移图、实体关系图来进行系统逻辑模型的描述;而面向对象方法可以使用对象模型图、数据舌辛典、动态模型图、功能模型图。其中对象模型图近似系统结构图与实体关系图的结合,动态模型图类似状态迁移图,功能模型图类似数据流图。结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。由于用户的需求不断变化按功能设计的系统模块必然是易变的和不稳定的。面向对象程序设计以数据为中心而不是以服务(功能)为中心来描述系统。它把编程问题视为一个数据集合更具稳定性。OMT(ObjectModelingTechnique)方法最早是由Loomis,Shan和Rumbaugh在1987年提出的。这个方法是在实体关系模型上扩展了类、继承和行为而得到的。OMT覆盖了分析、设计和实现三个阶段,包含分析、系统设计、对象设计和实现四个步骤,它定义了对象模型、动态模型和功能模型三种模型,这些模型贯穿于每个步骤,并在每个步骤中被不断地精化和扩充。OOD(ObjectOrientedDesign)方法是GradyBooch从1983年开始研究,1991年后走向成熟的一种方法。Booch方法在面向对象的设计中主要强调多次重复和开发者的创造性。方法本身是一组启发性的过程式建议。OOD的一般过程如下:1)在一定抽象层次上标识类与对象;2)标识类与对象的语义;3)标识类与对象之间的关系(如继承、实例化、使用等);4)实现类与对象。RDD(Responsibility-DrivenDesign)方法是Wirfs-Brock在1990年提出的。这是一个按照类、责任以及合作关系对应用进行建模的方法。首先定义系统的类与对象,然后确定系统的责任并划分给类,最后确定对象类之间的合作来完成类的责任。这些设计将进一步按照类层次、子系统和协议来完善°RDD分探索阶段和精化阶段,按照类层次图、合作图、类规范、子系统规范、合同规范等设计规范来完成实现。OOAD(Object-OrientedAnalysisandDesign方法是由PeterCoad和EdwardYourdon在1991年提出的。这是一种逐步进阶的面向对象建模方法。在OOA中,分析模型用来描述系统的功能,它使用了基本的结构化原则,并把它们同面向对象的观点结合起来。OOA完成系统分析,包括以下五个步骤:确定类与对象,标识结构,定义主题,定义属性和定义服务。OOA本质上是一种面向对象的方法,适用于小型系统的开发。OOD负责系统设计,包括以下四个步骤:1)设计问题域(细化分析结果);2)设计人机交互部分(设计用户界面);3)设计任务管理部分(确定系统资源的分配);4)设计数据管理部分(确定持久对象的存储)。OOSE(Object-OrientedSoftwareEngineering)是IvarJacobson在1992年提出的一种使用事例驱动的面向对象开发方法。OOSE开发过程中有以下五种模型,这些模型是自然过渡和紧密耦合的:1)需求模型从用户的观点上完整地刻画系统的功能需求。2)分析模型是在需求模型的基础上建立的。主要目的是要建立在系统生命期中可维护、有逻辑性、健壮的结构。3)设计模型进一步精化分析模型并考虑了当前的实现环境。4)实现模型主要包括实现块的代码。5)测试模型包括不同程度的保证。VMT(VisualModelingTechnique)方法是IBM公司于1996年公布的。VMT方法结合7OMT、OOSE、RDD等方法的优点,并且结合了可视化编程和原型技术。VMT方法选择OMT方法作为整个方法的框架,并且在表示上也采用7OMT方法的表示。VMT方法用RDD方法中的CRC(Class-Responsibility-Collaboration)卡片来定义各个对象的责任(操作)以及对象间的合作(关系)。此外,VMT方法引入了OOSE方法中的使用事例概念,用以描述用户与系统之间的相互作用,确定系统为用户提供的服务,从而得到准确的需求模型。OMT方法覆盖了应用开发的全过程,是一种比较成熟的方法,用几种不同的观念来适应不同的建模场合,它在许多重要观念上受到关系数据库设计的影响,适合于数据密集型的信息系统的开发,是一种比较完善和有效的分析与设计方法。2)Booch方法并不是一个开发过程,只是在开发面向对象系统时应遵循的一些技术和原则。Booch方法是从外部开始,逐步求精每个类,直到系统被实现。因此,它是一种分治法,支持循环开发,它的缺点在于不能有效地找出每个对象和类的操作。RDD是一种用非形式的技术和指导原则开发合适的设计方案的设计技术。它用交互填写CRC卡片的方法完成设计,对大型系统设计不太适用。RDD采用传统的方法确定对象类,有一定的局限性。另外,均匀地把行为分配给类也十分困难。在OOAD方法中,OOA把系统横向划分为五个层次,OOD把系统纵向划分为四个部分,从而形成一个清晰的系统模型。OOAD适用于小型系统的开发。OOSE能够较好地描述系统的需求,是一种实用的面向对象的系统开发方法,适合于商务处理方面的应用开发。VMT基于现有面向对象方法中的成熟技术,采用这些方法中最好的思想、特色、观点以及技术,并把它们融合成一个完整的开发过程。因此VMT是一种扬长避短的方法,它提供了一种实用的能够处理复杂问题的建模方法和技术。UML是一种用于软件系统制品制约的、可视化的构造及建模语言。UML最初仅仅是OMT方法、Booch方法的统一。1995年10月,GradyBooch和JimRumbaugh联合推出了UnifiedMethod0.8版本。这个方法力图实现OMT方法和Booch方法的统一。同年秋天,IvarJacobson加入了Booch和Rumbaugh所在的Rational软件公司,于是OOSE方法也加入了统一的过程中。1997年9月1日产生7UML1.1,并被提交到了OMG(ObjectManagementGroup),同年11月被OMG采纳。从系统模型级别上看,UML表示法由9种图构成,它们是:静态结构图(StaticStructureDiagram),其中包括类图(ClassDiagram)和对象图(ObjectDiagram);使用事例图(UseCaseDiagram);顺序图(SequenceDiagram);协作图(Collaboration);状态图(StatechartDiagram);活动图(ActivityDiagram);实现图(ImplementationDiagram),其中包括成分图(ComponentDiagram)和展开图(DeploymentDiagram)oUML的通用表示还有:串(String)、名字(Name)、标签(Label)、关键字(Keyword)、表达式(Expression)、注释(Note)等。UML作为一种建模语言,具有以下特点:1)UML结合了Booch方法、OMT方法和OOSE方法的概念,是一个单一的通用的建模语言;2)UML的建模能力比其他面向对象方法更强,不仅适合于一般系统的开发,更擅长于并行、分布式系统的建模;3)UML是一种标准的建模语言,而不是一个标准的开发过程,它完全独立于开发过程。没有放之四海而皆准的方法学,任何方法学都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟保洁公司合同范本
- 2024年盐城市滨海县招聘教师考试真题
- 农村房屋共建合同范例
- 2024年梧州市龙圩区招录公益性岗位人员考试真题
- 公司之间供货合同范本
- 动产转让合同范本
- 2024年普洱市墨江县教体系统所属事业单位紧缺招聘考试真题
- 2024年绵阳市投资控股有限公司招聘笔试真题
- 第12课 宋元时期的都市和文化(教学设计)七年级历史下册同步备课系列(部编版)
- 做代理合同范本
- 哈尔滨铁道职业技术学院单招《语文》考试复习题库(含答案)
- 2024年中考模拟试卷语文(考试版A4)
- 1医学图像处理绪论课件
- 校园门禁系统升级方案
- 神经内科一病区不良事件PDCA-
- 汽车行业职位职级管理制度实施方案
- 八年级物理上册课程纲要
- 商用密码应用服务平台建设方案
- 档案销毁清册(封面)
- 数据结构与算法 课件全套 机械自考版 第1-8章 绪论、线性表-查找
- 2024年高等教育法学类自考-00034社会学概论考试近5年真题附答案
评论
0/150
提交评论