面向对象的思想和方法在软件开发中的应用.docx
- 文档编号:17983211
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:19
- 大小:77.23KB
面向对象的思想和方法在软件开发中的应用.docx
《面向对象的思想和方法在软件开发中的应用.docx》由会员分享,可在线阅读,更多相关《面向对象的思想和方法在软件开发中的应用.docx(19页珍藏版)》请在冰点文库上搜索。
面向对象的思想和方法在软件开发中的应用
重庆通信学院
毕业设计论文
题目:
面向对象的思想和方法在软件开发中的应用
专业:
信息管理与信息系统
姓名:
林红
学号:
05230773
指导老师:
李廷全
二OO九年六月
重庆通信学院
毕业设计(论文)任务书
队别2年级2005专业信息管理与信息系统学生姓名林红指导老师李廷全
同组姓名付琳妮赵敬会
一、题目
面向对象的思想和方法在软件开发中的应用
二、设计课题要求
1、论文结果合理,图表规范,符合学院毕业设计的格式要求
2、论点正确,证据充分,资料翔实
3、数据正确,引用合理,尊重知识产权
三、设计课题所需的主要设备和资料
1、面向对象的基本概念,主要方法
2、UML面向对象分析与设计基础教程
3、计算机、打印机
四、设计说明(论文)应包括的内容
1、面向对象的基本概念和关键技术
2、软件开发的基本过程及其采用的方法
3、面向对象思想和方法应用案例
4、结论看法
五、参考文献
[1]徐锋编著.UML面向对象建模基础.水利水电出版
社,2006.09
[2]谢星星.UML基础与Rose建模实用教程.清华大学出
版社,2008.10
[3]施昊华,张朝辉.UML面向对象结构设计与应用[M].北京:
国防工业出版社,2003.9
[4]刘丰,冷英男.基于UML的一个应用软件建模实例
[J].计算机与现代化,2004,(10):
132-134
教研室主任(签名)
系主任(签名)
摘要
随着计算机技术的飞速发展,计算机管理系统应用的普及,企业信息化势在必行。
传统开发方法结构化开发的软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产效率低等缺陷,这是因为传统的软件开发是面向过程的。
然而,用户需求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户的需求,因为面向对象有以下优点:
能够比较自然地反映现实事物,可重用性、可维护性和可扩展性比较强。
本文将对面向对象技术的基本概念、基本特征,以及面向对象方法开发的基本过程和方法等作详细的介绍,其次介绍目前流行的几种面向对象程序设计语言方法,通过简述UM语言及常用软件来说明使用UM的面向对象开发方法是系统开发的趋势。
最后本文阐述了UM的主要内容,并以开放式学籍管理系统为例,探讨了应用UM建模机制,对系统的需求分析、详细设计及实现的不同阶段的建模过程。
展示了面向对象的思想和方法在软件开发中的具体应用。
[关键词]面向对象UML管理信息系统
ABSTRACT
Alongwiththerapiddevelopmentofcomputertechnology,computermanagementsystemiswidelyapplied,enterpriseinformationizationisimperative.Traditionalmethodofstructureddevelopmentsoftware,theexistingproblemsandthestabilityandcanmodifyreusabilityarepoor,lowproductionefficiency,becausethetraditionaldefectsinsoftwaredevelopmentisfacingtheprocess.However,theuserneedsmostisthechangeofthefunction,usingobject-orientedmethodcansatisfythedemandofusers,becausehavethefollowingadvantages:
theobjectorientedtocomparenaturallyreflectreality,reusabilityandmaintainabilityandexpansibility.Thispaperanalyzesthebasicconceptsofobject-orientedtechnology,thebasiccharacteristics,aswellasthebasicmethodofobjectorienteddevelopmentprocessandthemethodsuchasdetailedintroduction,secondlyintroducesseveralpopulardesignofobject-orientedprogrammingIanguage,thispaperexpoundsthemaincontentandtheUMLtoopenregistrationmanagementsystemasanexample,discussestheapplicationofUMLmodelingmechanism,therequirementanalysis,systemdesignanddetailedthedifferentstagesoftheprocessofmodeling.Displaytheobject-orientedideasandmethodsintheapplicationofsoftwaredevelopment.
[Keywords]Object-Oriented,UnifiedModelingLanguage,ManagementInformationSystem
摘要Ill
ABSTRACTIV
目录V
第一章引言1
第二章面向对象概述2
2.1面向对象的基本概念2
2.2面向对象的特征4
2.3面向对象开发的工作过程5
2.4面向对象开发的常用方法6
第三章UML语言及常用软件简介8
3.1UML基本概念和特点8
3.2UML常用软件简介9
第四章基于UML的学籍管理系统11
4.1基于UML的软件建模过程11
4.2使用UML建立开放式学籍管理系统的模型12
结束语16
参考文献17
致谢18
第一章引言
在20世纪60年代以前,软件开发者构造的软件系统大多都是较小的,且相对简单。
编程语言及编程环境也相对简单,随着软件复杂性的增长,为了更好地维护代码,软件开发也需要方法来进行约束。
传统的方法中,结构化方法和基于建模方法是典型的软件开发方法。
结构化方法是结构化分析、结构化设计和结构化编程的总称。
结构化方法的思想萌发于20世纪60年代,是在70年
代由TomDeMacro和EdYourdon等人被系统地进出来。
其目的在于,提供一个有序的机制,通过抽象来理解待开发的系统,试图产生结构良好的软件系统。
但对于较复杂的系统而言,容易导致模块的低内聚和模块间的高耦合,从面使得系统缺乏灵活性和可维护性。
基于建模方法在20世纪70年代末提出,即
PeterChen的实体关系法与EdCodd的关系数据库理论相结合提出的一
种新的软件开发方法。
其强调对信息实体建模,而不是对象建模。
结构化方法和基于建模方法都没有较强地描述系统的动态行为的能力。
随着计算机技术的飞速发展,计算机管理系统应用的普及,企业信息化势在必行。
传统开发方法结构化开发的软件存在很多问题,其有稳定性、可修改性和可重用性都比较差,生产效率低等缺陷,这是因为传统的软件开发是面向过程的。
然而,用户需求的变化大部分是针对功能的,采用面向对象方法开发可以满足用户的需求,因为面向对象有以下优点:
能够比较自然地反映现实事物,可重用性、可维护性和可扩展性比较强。
UML(UnifiedModelingLanguage,统一建模语言)是一种对
面向对象系统进行可视化、详细描述、构造和文档化的标准建模语言。
本文以UM语言软件建模过程为例,展示面向对象的思想和方法在软件开发中的应用。
第二章面向对象概述
什么是面向对象呢?
“面向对象”本身没有任何意义。
“对象”大概是英
语中最普通的一个单词。
它在字典中的定义是这样的。
对象:
能感觉到或能够被感觉到的东西。
换句话说,对象可以是任何东西!
“面向”也没有任何特别的含义,它的定义是“指向”。
在这种定义下,“面向对象”被理解为形容词。
因此,面向对象可以定义成这样,面向对象:
指向你可以想到的任何东西。
毫无疑问,软件工业无法为“面向对象”下一个统一的定义。
这种模糊性使得任何一个软件零售商都声称他们的商品是“面向对象”的。
2.1面向对象的基本概念
尽管权威人士对面向对象的概念没有达成一致的意见,但从程序设计方法的角度来看,面向对象是一种新的程序设计范型。
其基本思想是使用对象、类、封装、继承、关联、聚合、消息、多态性等基本概念来进行程序设计。
2.1.1对象(Object)
对象是人们要进行研究的任何事物,它可以是有形的(比如一辆汽车),也
可以是无形的(比如一项计划)。
对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。
对象是系统中用来描述客观事物的一个实体,它是构
成系统的一个基本单位。
一个对象由一组属性和对这组属性进行操作的一组服务构成。
2.1.2类(Class)
具有相同或相似性质的对象的抽象就是类。
因此,对象的抽象是类,类的
具体化就是对象,也可以说类的实例是对象。
类的确定主要是确定该类的所有
对象有哪些属性和哪些行为。
这些属性和行为必须覆盖该类中的所有对象。
例如在一个学生类中,它的属性有姓名、学号、性别、所在院系,它的行为有选课、注册等。
抽象是指忽略事物的非本质特征,只注意那些与当前目标有拳本质特征,从而找出事物的共性;而分类是把具有共同性质的事物划分为一类,
得出一个抽象的概念。
另外,每一个属性与行为都被封装后,只能在类的内部起作用。
2.1.3圭寸装(Encapsulation)
为了实现信息的隐蔽,又提出了封装,就是把对象的属性和行为结合成一
个独立的单位,并尽可能隐蔽对象的内部细节。
2.1.4继承(Inheritanee)
任何一个子类都具有其父类所有的属性、方法、事件。
这一特性叫做类的继承。
如果父类的特性发生变化,其子类也相应改变。
面向对象的编程技术强调
了代码的重用性,而可重用性即是能过继承来实现的。
简化了人们对事物的认识和描述,也简化了系统的构造强度及其文档,非常有益于软件复用。
2.1.5关联
类之间的静态联系称为关联。
关联表示了类与类之间的关系,在实现这种关系时,可以通过对象的属性表达出来。
例如“,学生”与“课程”类之间存在着关联“选课”,用类“学生”的对象的属性来记录该对象具体选课的课程对象(由“课程”类创建)
2.1.6聚合
是关联的一种,只是关联的语义没有聚合那么明显。
聚合是具有整体一部分关系语义的关联。
2.1.7消息(Message)
在面向对象方法中,把向对象发出的操作请求称为消息。
对象之间通过消息进行通信,实现了对象之间的动态联系。
2.1.8多态性
面向对象设计借鉴了客观世界的多态性,体现在不同的对象收到相同的消息时产生多种不同的行为方式。
例如,在一般类“几何图形”中定义了一个行为“绘图”,但并不确定执行时到底画一个什么图形。
特殊类“椭圆”和“多边形”都继承了几何图形类的绘图行为,但其功能却不同,一个是要画出一个椭圆,另一个是要画出一个多边形。
这样一个绘图的消息发出后,椭圆、多边形等类的对象接收到这个消息后各自执行不同的绘图函数。
面向对象方法是一种运用对象、类、封装、继承、关联、聚合、消息、多态性等概念来构造系统的软件开发方法。
2.2面向对象的特征
面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。
面向对象技术的基本特征主要有对象唯一性、分类性、继承性和多态性。
221对象唯一性
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。
在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
2.2.2分类性
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。
任何类的划分都是主观的,但必须与具体的应用有关。
2.2.3继承性
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
采用继承性,提供了类的规范的等级结构。
通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
2.2.4多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。
2.3面向对象开发的工作过程
面向对象开发的过程一般包括:
系统调查和需求分析、分析问题的性质和
求解问题、整理问题、程序实现。
2.3.1系统调查和需求分析
对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。
232分析问题的性质和求解问题
面向对象系统分析(ObjectOrientedAnalysis00A),在繁杂的问题域中
抽象地识别出对象以及其行为、结构、属性、方法等。
233整理问题
面向对象系统设计(ObjectOrientedDesign00D)即对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来。
2.3.4程序实现
面向对象的程序设计(ObjectOrientedProgramming)
即用面向对象的程序设计语言将上一步整理的范式直接映射(直接用程序语言来取代)为应用程序软件。
2.4面向对象开发的常用方法
目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对
象产品出现。
面向对象开发方法有Coad方法、Booch方法、OMT方法和
UML(UnifiedModelingLanguage)语言等。
2.4.1Booch方法
Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。
面向对象的软件分解更接近人对客观事务的理解,而功能分解只通过问题空间的转换来获得。
242Coad方法
Coad方法是1989年Coad和Yourdon提出的面向对象开发方法。
该方
法的主要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。
该方法完成了从需求角度进一步进行类和类层次结构的认定。
尽管Coad方
法没有引入类和类层次结构的术语,但事实上已经在分类结构、属性、操作、消息关联等概念中体现了类和类层次结构的特征。
243OMT方法
OMT方法是1991年由JamesRumbaugh等5人提出来的,其经典著作为“面向对象的建模与设计”。
该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。
该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。
244UML(UnifiedModelingLanguage)语言
软件工程领域在1995年〜1997年取得了前所未有的进展,其成果超过软件工程领域过去15年的成就总和,其中最重要的成果之一就是统一
建模语言(UML)的出现。
UML将是面向对象技术领域内占主导地位的标准建模语言。
UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终统一为大众接受的标准建模语言。
UML
是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。
第三章UML语言及常用软件简介
不断增长的软件复杂性、多样性和相互关联性是当今信息系统的共同特征。
传统的面向功能开发方法,已逐渐不能适应越来越复杂和多变的需求了,其成果不能得到很好的重用。
而面向对象建模技术能够有效地控制复杂性和适应多变性,从而能提高系统开发的效率。
3.1UML基本概念和特点
3.1.1UML基本概念
UML(统一建模语言)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
它溶入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
作为一种建模语言,UM的定义包括UMI语义和UM表示法两个部分。
(1)UML语义描述基于UM的精确元模型定义。
元模型为UM的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。
此外UML
还支持对元模型的扩展定义。
⑵UML表示法定义UMI符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
这些图形符号和文字所表达的是应用级的模型,在语义上它是UM元模型的实例。
3.1.2UML的特点
标准建模语言UML的主要特点可以归结为
(1)面向对象。
UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。
(2)可视化,表示能力强。
通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。
可用于各种复杂系统的建模。
(3)独立于过程。
UML是系统建模语言,独立于开发过程。
⑷独立于程序设计语言。
用UML建立的软件系统模型可以用Java、VC++Smalltalk等任何一种面向对象的程序设计来实现。
(5)易于掌握使用。
UML图形结构清晰,建模简洁明了,容易掌握使用。
UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态的业务需求。
UML适用于各种规模的系统开发。
能促进软件复用,方便地集成已有的系统,并能有效处理开发中的各种风险。
3.2UML常用软件简介
UML建模工具有很多,应用最广的有IBM的RationalRose,Microsoft的MicrosoftOfficeVisio?
2003,EnterpriseArchitect。
还有其他工具如
PowerDesigner等
3.2.1RationalRose
RationalRose是一种基于UML的建模工具。
在面向对象应用程序开发领域,RationalRose是影响其发展的一个重要因素。
RationalRose自推出以来
就受到了业界的瞩目,并一直引领着可视化建模工具的发展。
越来越多的软件公司和开发团队开始或者已经采用RationalRose,用于大型项目开发的分析、建模与设计等方面。
从使用的角度分析,RationalRose易于使用,支持使用多种构件和多种语言的复杂系统建模;利用双向工程技术可以实现迭代式开发;团队管理特性支持大型、复杂的项目和大型而且通常队员分散在各个不同地方的开发团队。
同时,RationalRose与微软VisualStudio系列工具中GUI的完美结合所带来的方便性,使得它成为绝大多数开发人员首选建模工具;Rose还是市场上第一个提供对基于UM啲数据建模和Webt模支持的工具。
此外,Rose还为其他一些领域提供支持,如用户定制和产品性能改进。
322Visio2003
Visio2003简MicrosoftVisio是独立的图表解决方案,它可以帮助用
户交流创意、信息和系统并将其可视化。
使用Visio可以定义和记录日常工作
生活的复杂信息,并与其他人有效地共享创意和信息。
另外,如果将Visio图
表合并到Office文档中,将使您的信息变得更简洁、让别人更容易记住要点、更容易克服文化和技术上的障碍。
3.2.3EnterpriseArchitect
EnterpriseArchitect是一个全功能的、基于UM啲visualCASE工具,
主要用于设计、编写、构建并管理以目标为导向的软件系统。
它支持用户案例、
商务流程模式以及动态的图表、分类、界面、协作、结构以及物理模型。
此外,它还支持C++Java、VisualBasic、Delphi、C#以及VB.Net。
3.2.4PowerDesigner
PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。
PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。
第四章基于UML的学籍管理系统
下面我将以UML(UnifiedModelingLanguage)语言软件建模过程为
例,展示面向对象的思想和方法在软件开发中的应用。
4.1基于UML的软件建模过程
基于UM的面向对象分析的目的是对客观世界的系统进行建模。
分析模型有三种用途:
用来明确问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作为后继的设计和实现的框架。
通过对一些相关知识的理论研究后,结合实践经验,将基于UM的软件建模过程可简单总结为:
4.1.1用例建模
需求分析阶段,首先要对系统基本功能需求进行描述,接着可以使用用例来捕获用户需求。
用例建模阶段,首先找出系统的执行者,分析执行者要做什么;在此基础上,获取用例,确立好角色;然后依据系统功能来确立系统的用例模型,建立用例视图。
4.1.2静态建模
在静态建模阶段,将从系统的内部结构和静态角度,分析和描述系统中的各类实体(对象和类)以及它们内部和彼此间的关系,确定实体功能范围的约束和限定,建立系统的粗略框架,再逐步细化其内部功能需求,最终建立系统的静态模型。
静态建模的结果是建立逻辑视图,主要包括类图和对象图等。
4.1.3动态建模
为实现用例,类之间需要协作,这可以用UM动态模型来描述。
动态建模阶段的主要任务是在前两个阶段的基础上,分析系统中各种行为发生的时序状态和交互关系,各类实体的状态变化过程,从而动态描述系统行为,反映系统内部对象之间的动态关系。
动态建模应建立并发视图,包括顺序图、合作图、状态图和活动图。
通常可以根据需要只选取其中一到两种图来说明问题,而不必全部罗列出来。
4.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 思想 方法 软件 开发 中的 应用