软件面向对象开发方法的研究与探讨.doc

上传人:bao****ty 文档编号:131526750 上传时间:2020-05-09 格式:DOC 页数:48 大小:301KB
返回 下载 相关 举报
软件面向对象开发方法的研究与探讨.doc_第1页
第1页 / 共48页
软件面向对象开发方法的研究与探讨.doc_第2页
第2页 / 共48页
软件面向对象开发方法的研究与探讨.doc_第3页
第3页 / 共48页
软件面向对象开发方法的研究与探讨.doc_第4页
第4页 / 共48页
软件面向对象开发方法的研究与探讨.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《软件面向对象开发方法的研究与探讨.doc》由会员分享,可在线阅读,更多相关《软件面向对象开发方法的研究与探讨.doc(48页珍藏版)》请在金锄头文库上搜索。

1、目 录摘 要1Abstract2前 言3第一章 软件开发方法4 1.1 结构化方法4 1.2 形式化方法5 1.3 基于构件的方法5 1.4 基于Agent的方法6 1.5 基于净室技术的方法7 1.6 基于敏捷技术的方法8第二章 面向对象开发方法10 2.1 面向对象开发方法的概念10 2.1.1 类与对象10 2.1.2 方法和消息11 2.2 面向对象开发方法概述11 2.2.1 面向对象开发方法的定义11 2.2.2 面向对象开发方法的基本思想13 2.2.3 面向对象开发方法的步骤13 2.2.4 面向对象分析与面向对象设计的关系14 2.2.5 面向对象开发方法的特征和要点15 2

2、.3 面向对象开发方法的分类17 2.3.1 Booch方法17 2.3.2 对象模型化方法19 2.3.3 Coad/Yourdon方法20 2.3.4 Jacobson方法21 2.3.5 统一建模语言21 2.4 并发面向对象程序设计技术22 2.4.1 对象与进程的关系23 2.4.2 对象内部的并发性23 2.4.3 对象之间的交互24 2.4.4 复用问题的研究25第三章 玉石买卖管理系统实例的研究28 3.1 需求分析28 3.1.1 初始需求28 3.1.2 玉石买卖的商业模型28 3.1.3 玉石交易的初始需求29 3.1.4 玉石交易的需求继续30 3.2 面向对象分析31

3、 3.2.1 功能模型32 3.2.2 实体类模型33 3.2.3 动态模型37 3.2.4 抽象边界类和控制类38 3.3 玉石商问题的设计38第四章面向对象方法的发展43 4.1 面向对象设计当前面临的问题43 4.2 面向对象设计的作用及挑战43结 论46参考文献47后 记48摘 要软件开发过程是一个系统工程,需要软件工程的基本原理来指导。随着计算机软硬件技术的发展,软件研究人员利用软件工程的基本原理不断探索新的软件开发方法。本文首先简要介绍当前常用的几种软件开发方法及其特点,随后重点介绍当前最主流的开发方法,即面向对象开发方法的定义、相关概念、特征、基本思想及步骤等,最后通过玉石商问题

4、的实例详细说明如何利用面向对象方法进行分析与设计。关键词:软件开发;面向对象;对象;类 AbstractSoftware development process is a system which needs the basic principles of software engineering to guide. With the development of computer hardware and software technology, software,researchers have used the basic principles of software engineeri

5、ng,software development continue to explore new methods. This paper briefly describes the current commonly used methods and characteristics of several software development, then focus on the most mainstream of the development approach, that is, the definition of object-oriented development methods,

6、concepts, characteristics, and steps of the basic idea, and finally through the jade business Detailed description of the problem instances of how to use object-oriented analysis and design.Key words : Software development;object-oriented;object ;class前 言软件工程方法学是软件工程学科领域研究的主要对象之一,它包括三个要素:方法、工具和过程。其中

7、方法是指完成软件开发的各项任务所采取的技术路线、策略及措施。随着计算机技术的发展,一方面,新主机、连接计算机的新设备的快速出现或升级以及随之出现的新操作系统、新版程序设计语言、新应用功能、新通讯方式、新理论等,使软件系统生存周期大为缩短;另一方面,计算机快速升级,用户必然要求软件跟随升级,新功能的出现、新设备的采用,就需要对原有软件进行系统改造。当今对于软件系统的开发,不仅仅需要掌握计算机开发语言的编程技巧,更重要的是掌握一个软件工程在需求分析、系统分析及测试阶段所需要的工作技巧,即软件的开发方法。自从软件工程的概念提出后,国内外各大软件公司和机构一直在研究如何利用软件工程的原理进行实际的软件

8、开发,而且也提出了很多实际的开发方法,这些方法在自身的发展过程中又不断吸收其他学科的方法和技术的长处,导致新技术新方法层出不穷,成为现代软件工程发展过程的亮点,从而不断丰富和发展软件工程的理论与实践。第一章 软件开发方法软件开发方法就是软件开发所遵循的办法和步骤,以保证所得到的运行系统和支持的文档满足质量要求。软件开发方法有很多种,下面简略的介绍目前常用的几种软件开发方法。1.1 结构化方法结构化方法在软件工程发展中具有里程碑的意义,因为这是从无序的软件开发方法中走出的第一步。结构化方法是指任何包括结构设计的软件开发技术。这种技术把程序分解为不同的模块和过程,在编写各个模块时不需要了解其它模块

9、的内部细节,从而可采用自顶向下和逐步求精的方法,将要解决的问题一步一步的分解,直到每个小问题足够简单且易于处理,最后形成原始问题的解空间。根据分析方法的不同,结构化方法又可分为面向数据流和面向数据结构这样两大类软件开发方法。使用适当的软件工具或环境来支持结构化技术是软件工程的一个显著特色。应用结构化方法开发软件工程时,常常采用数据流图和数据字典作为系统逻辑模型的描述工具,并以数据和信息的处理转换作为方法的主线,并且始终围绕着如何把数据源加工转换成为最终信息这个中心来构架整个方法体系。结构化分析中运用的实体关系图、数据流图、状态转换图和数据字典等就是用来分析和说明数据的加工状态及变换过程。结构化

10、设计阶段使用的模块化方法、系统结构图、HIPO图、判定表、判定树、过程设计语言乃至Jackson图等,也是要描述系统的整体结构和构造出多个数据处理的系统模块,反映数据输入/输出的处理过程和结果,这种结果应是用户所需要的最终信息。结构化方法从数据处理观点出发构建方法体系,是该方法能够被普遍接受的主要原因。结构化方法经过20多年的发展,已经形成一套比较成熟的理论,它对软件工程的重要意义在于: 第一,使人们认识到系统分析和设计比程序编写重要;第二,模块化思想对系统的分解合成、抽象与信息隐藏,易于使系统开发的脉络清晰明确;第三,数据流图、结构图和流程图等工具使用方便、操作性强。如果是开发一个中小型信息

11、管理系统,结构化方法无疑是合理适用的选择。但是,结构化方法存在一些易出错的结构元素和操作,如指针、动态内存分配、并行处理、递归、中断等。软件模块的重用性差,缺乏信息隐蔽机制。结构化方法本身的这些缺陷给它的应用带来局限性,使之不适应大型软件项目的开发。因此,人们把注意力转移到更好的软件开发方法。1.2 形式化方法所谓的形式化方法是用于说明和检验基于数学的语言和工具,形式化方法通过揭示系统的不一致性、二义性及不完全性,使用户对系统形成一个更深入的理解。用于开发计算机系统的形式化方法,是描述系统性质的基于数学的技术。也就是说,如果一个方法有坚实的数学基础,那么它就是形式化的。根据形式化的程度,可以把

12、软件工程划分为非形式化、半形式化和形式化三类。使用自然语言描述需求规格说明,是典型的非形式化方法。使用数据流图或实体关系图等图形符号建立模型,是典型的半形式化方法。形式化方法作为软件工程的基础性研究,在过去20多年里一直倍受关注。Samlson、Dijkstra、Hoare等专家学者提出过一些著名的方法,但这些方法能够真正进入实用的为数不多。表示方法模糊、技术规模太小和支持工具难以使用等缺陷使得形式化方法看上去前途渺茫。然而现在看到的进展又使人对形式化方法的未来发展充满信心。譬如,在软件规范方面,软件公司开始用形式化的表示方法来严格地描述系统的属性,以消除用自然语言可能产生的不一致性或二义性。

13、在硬件验证方面,硬件厂家已采用了定理证明、模型检验等验证技术。形式化方法还是提高软件工程可靠性的一种重要技术,其工作阶段可分为形式化分析、形式化设计和翻译。业界广为流传的典型的形式化方法有Z方法、Larch方法、B方法等。近十几年来,国内外对形式化方法在软件开发中的研究与应用开展过大量的实践工作,形式化方法已不再仅限于纯学术性研究,而是已经开始被工业界接受并用于实际开发的系统。现在已经出现不少包括形式化方法、形式化语言和形式化工具在内的比较成熟的形式化系统。1.3 基于构件的方法基于构件的软件工程的出现,使软件生产工厂化和自动化成为可能。构件是可用来构成软件系统的即插即用的软件成分,是可以独立

14、地制造、分发、销售和装配的二进制软件单元,是可执行软件的一个物理封装,它有定义良好的接口。应用构件技术来开发软件项目是20世纪90年代开始出现在软件工程领域的热点。基于构件的软件工程具有标准化、程度高、以接口为核心、即插即用、重用性和可扩展性好、容易实现商品化和市场化等特点。基于构件的软件工程过程涉及三个主要子过程:构件开发、构件管理、基于构件的应用组装。构件开发包括构件建模、制作、获取和测试等过程。构件管理涉及到构件库数据模型、构件的分类检索策略及构件broker等工作。基于构件的应用组装所要研究的内容包括:软件体系结构、源代码级的组装技术、运行级的组装技术、支持即插即用的技术、面向Java

15、的辅助开发工具、应用系统演化及构件的灵活替换和升级。构件技术是在面向对象技术基础上发展起来的,两者之间有着密切的联系和明显的差异。第一,面向对象技术对构建技术来说具有适用性和方便性。但是,面向对象技术没有表达构件技术的全部内涵。也就是说,构件技术的涵盖面要广于面向对象技术。它包括系统分析、系统的设计与建模、项目组织、构件开发与管理等各个方面,而面向对象技术主要包含面向对象分析(Object-Oriented Analysis,OOA)、面向对象设计(Object-Oriented Design,OOD)和面向对象编程(Object-Oriented Programming,OOP)这三个方面。一些人倾向于把对象技术作为底层框架的管件,而把构件作为不同构件之间的更大范围的抽象和实现。第二,构件技术对面向对象技术既

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号