面向对象方法学精选文档.ppt
《面向对象方法学精选文档.ppt》由会员分享,可在线阅读,更多相关《面向对象方法学精选文档.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象方法学面向对象方法学本讲稿第一页,共七十页讨论讨论l软件?l软件危机?l软件工程?l你开发软件采用的方法?本讲稿第二页,共七十页软件危机软件危机l软件定义:软件定义:一个软件必须由一个完整的配置组成。一个软件必须由一个完整的配置组成。软件软件是程序、数据及相关文档的完整集合。是程序、数据及相关文档的完整集合。本讲稿第三页,共七十页软件开发的高成本与低质量的矛盾称为软件危机。软件危机本讲稿第四页,共七十页 软件开发和维护过程中遇到一系列严重的问题(1)对软件开发成本和进度估计不准确。对软件开发成本和进度估计不准确。经费预算经常突破,完成时间一再拖延。经费预算经常突破,完成时间一再拖延。(
2、2)开发的软件不能满足用户要求。开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确表达。开发开发初期对用户的要求了解不够明确,未能得到明确表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,使开发失败。不能及时解决,导致开发的软件不能满足用户的要求,使开发失败。(3)软件产品质量靠不住。软件产品质量靠不住。(4)软件可维护性差。软件可维护性差。开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,开发过程没有统一的、公认的规范,软件开发人员按
3、各自的风格工作,各行其事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修各行其事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。改。程序结构不好,运行时发现错误也很难修改,导致维护性差。本讲稿第五页,共七十页(5)开发的软件可靠性差。开发的软件可靠性差。由于在开发过程中,由于在开发过程中,没有确保软件质量的体系和措没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的施,在软件测试时,又没有严格的、充分的、完全的测试,测试,提交给用户的软件质量差,在运行中暴露出大提交给用户的软件质量差,在运行中暴露出大
4、量的问题。这种不可靠的软件,轻者会影响系统正常量的问题。这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。工作,重者会发生事故,造成生命财产的重大损失。(6)(6)软件没有适当的文档材料软件没有适当的文档材料(7)(7)传统的软件开发速度远远跟不上应用速度。传统的软件开发速度远远跟不上应用速度。本讲稿第六页,共七十页与软件本身的特点有关与软件本身的特点有关和软件开发与维护的方法不正确有关。和软件开发与维护的方法不正确有关。产生软件危机的原因本讲稿第七页,共七十页缺乏缺乏“可见性可见性”管理和控制软件开发过程相当困难管理和控制软件开发过程相当困难 软件较难维护。软
5、件较难维护。规模庞大规模庞大为了在预定时间内开发出规模庞大的软件,必须由许多人分工合作,为了在预定时间内开发出规模庞大的软件,必须由许多人分工合作,然而,如何保证每个人完成的工作合在一起确实能构成一个高质量的然而,如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,不仅涉及许多技术问题,更重要的是必须有严格而科大型软件系统,不仅涉及许多技术问题,更重要的是必须有严格而科学的管理。学的管理。(1)与软件本身的特点有关)与软件本身的特点有关本讲稿第八页,共七十页忽视软件需求分析的重要性忽视软件需求分析的重要性 (2)与软件开发与维护的方法不正确有关)与软件开发与维护的方法不正确有关
6、轻视维护轻视维护 软件已经完成之后进行的维护是极端艰巨复杂的工作,软件已经完成之后进行的维护是极端艰巨复杂的工作,需要花费很大代价。需要花费很大代价。统计数据表明,实际上用于软件维护的费用占软件总费统计数据表明,实际上用于软件维护的费用占软件总费用的用的55%55%70%70%。作好软件定义时期的工作,是降低软件成本提高软件作好软件定义时期的工作,是降低软件成本提高软件质量的关键。质量的关键。本讲稿第九页,共七十页 克服软件危机的途径软件危机的途径用现代工程的概念、原理、技术和方法进行软件开发、用现代工程的概念、原理、技术和方法进行软件开发、管理和维护。管理和维护。l组织管理措施组织管理措施软
7、件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。管理严密、各类人员协同配合、共同完成的工程项目。l技术措施技术措施(方法和工具方法和工具)在软件开发的每个阶段都有许多繁琐重复的工作需要做,在适当的在软件开发的每个阶段都有许多繁琐重复的工作需要做,在适当的软件工具辅助下,开发人员可以把这类工作做得既快又好。软件工具辅助下,开发人员可以把这类工作做得既快又好。本讲稿第十页,共七十页系统工程系统工程系统建模系统建模 本讲稿第十一页,共七十页 系统模型的定义系统模型的定义l系统模型是一个系
8、统某一方面本质属性的描述,它以某种确定的形式(例如文字、符号、图表、实物、数学公式等)提供关于该系统的知识。l系统模型一般不是系统对象本身,而是现实系统的描述、模仿或抽象。系统是复杂的,系统的属性也是多方面的。对于大多数研究目的而言,没有必要考虑系统的全部属性,因此,系统模型只是系统某一方面本质属性的描述,本质属性的选取完全取决系统工程研究的目的 本讲稿第十二页,共七十页l根据不同的研究目的,同一个系统可以建立不同的系统模型。例如,城市经济模型,可以用一、二、三产业表示,也可以用各个行政管理部门来表示。l同一种模型可以代表多个系统。例如,y=kx(k是为常量),几何上:代表一条通过原点的直线;
9、代数上:表示比例关系;设k,x代表直径,则y表示圆周长;设k表示弹簧刚度,x表示伸长量,则y表示弹簧力大小;当ka表示加速度,xm表示质量,则y表示物体所受外力大小等等。本讲稿第十三页,共七十页 系统模型与原型系统模型与原型l系统模型反映实际系统的主要特征,但它又高于实际系统而具有同类问题的共性。因此一个适用的系统模型应该具有如下三个特征:l(1)它是现实系统的抽象或模仿;l(2)它是由反映系统本质或特征的主要因素构成的;l(3)它集中体现了这些主要因素之间的关系。本讲稿第十四页,共七十页 系统模型与原型系统模型与原型l给对象实体以必要的简化,用适当的表现形式或规则把它的主要特征描绘出来,这样
10、得到的模仿品称为模型,对象实体称为原型。l模型也有结构,模型结构与原型结构是不同的两码事,但两者又有直接或间接的联系。l原型中必须考虑的结构问题都应在模型中有所反映,能以模型的语言描述出来。本讲稿第十五页,共七十页 系统模型与原型系统模型与原型l数学模型是抽象模型,不能要求它直接反映系统原型的结构,但必定与原型结构有内在联系,原型中的结构问题在模型中用数学语言描述,能用数学方法分析和解决。例如,原型的结构稳定与否可以转化为模型中数学结构的稳定与否。l构造模型是为了研究原型,通过模型研究能够把握原型的主要特性。模型又是对原型的简化,应当压缩一切可以压缩的信息 力求经济性好,便于操作。l没有简化不
11、成其为模型,同原型比较未能显著简化的模仿品不是好模型。本讲稿第十六页,共七十页 系统模型的分类系统模型的分类l实体模型 即系统本身,当系统的大小刚好适合研究而又不存在危险时,就可以把系统本身作为模型。实体模型包括抽样模型,例如标准件的生产检验是从总体中抽取一定数量的样本进行的,样本就是实体模型。l相似模型 根据相似原理,利用一种系统去代替另一种系统。例如用电路系统代替机械系统、热力学系统进行研究,则电路系统就是后二者的相似模型。本讲稿第十七页,共七十页 系统模型的分类系统模型的分类l比例模型 是放大或缩小的系统,使之适合于研究。l文字模型 如技术报告、说明书等。在物理模型和数学模型都很难建立时
12、,有时不得不用它来描述研究结果。l网络模型 用网络图来描述系统的组成元素以及元素之间的相互关系(包括逻辑关系与数学关系)本讲稿第十八页,共七十页 系统模型的分类系统模型的分类l图表模型 用图像和表格描述的模型,它们可以互相转化,这里说的图像是指坐标系中的曲线、曲面和点等几何图形。l逻辑模型 表示逻辑关系的模型,如方框图、程序单等。l数学模型 用数学方程式表示的模型。l计算机模型 用计算机设计语言描写的模型。本讲稿第十九页,共七十页 数学模型数学模型l所谓系统的数学模型,指的是描述元素之间、子系统之间、层次之间相互作用以及系统与环境相互作用的数学表达式。l原则上讲,现代数学所提供的一切数学表达形
13、式,包括几何图形、代数结构、拓扑结构、序结构、分析表达式等,均可以作为一定系统的数学模型。l大量的数学模型是定量分析系统的工具。用数学形式表示的输出对输入的响应关系,就是广泛使用的一种定量分析模型 本讲稿第二十页,共七十页 数学模型数学模型l技术科学层次的系统理论和系统工程,都主要使用数学模型作为定量分析工具,以便给出设计、操作系统所必须的定量结论。l数学模型同样可以作为定性描述系统的工具,对于描述系统演化现象来说,人们关心的主要是系统定性性质的改变与否,定性分析是更基本的。l定量描述系统的数学模型必须以正确认识系统的定性性质为前提。描述系统的特征量的选择建立在建模者对系统行为特性的定性认识基
14、础上。本讲稿第二十一页,共七十页 数学模型数学模型l优点l定量分析的基础 在自然科学和工程技术领域里,数量不准将招致质量低劣,在社会科学领域里,没有定量分析会使人心中无数,造成决策失误,引起不必要的混乱。因此,采用数学模型进行定量分析已成为当代自然科学和社会科学进一步发展的共同要求。本讲稿第二十二页,共七十页 数学模型数学模型l优点l系统预测和决策的工具 可以利用系统已有的数据建立预测模型,用来预测系统的未来状态,为正确决策提供依据。l灵活性好 它可变性好、适应性强、分析问题速度快,省时省钱,而且便于使用计算机,因此,它是所有模型中使用最广泛的一种。我们通常所说的系统建模,大多数情况下都是指建
15、立系统的数学模型。本讲稿第二十三页,共七十页 计算机模型计算机模型l用计算机程序定义的模型。首先明确构成系统的“构件”,把它们之间的相互关联方式提炼成若干简单的行为规则,并以计算机程序表示出来,以便通过在计算机上的数值计算来模仿系统运行演化,观察如何通过对构件执行这些简单规则而涌现出系统的整体性质,预测系统的未来走向。l所有数学模型都可以转化为基于计算机的模型,通过计算来研究系统。l许多无法建立数学模型的系统,如复杂的物理过程,特别是生物、社会和行为过程,也可能建立基于计算机的模型。本讲稿第二十四页,共七十页 计算机模型计算机模型l用数学表达式定义的传统模型,求解和处理往往需用复杂艰深的理论和
16、技巧,费时费力,可行性常常较差,所得结果有时无法用实验检验。l用计算机程序定义的模型,可以做到既严格,又可行,能够在计算机上研究和预测系统,通过计算实验来检验结果。l对于那些无法用真实的实验来检验的复杂系统,计算实验是唯一可用的实验检验手段。l 计算实验是一种新兴的实验形式,它为研究复杂巨系统提供了唯一普遍可用的实验手段。本讲稿第二十五页,共七十页 系统建模方法系统建模方法l 1 系统模型的要求l 2 建模的原则 本讲稿第二十六页,共七十页 1 系统模型的要求系统模型的要求l真实性 要求建立的模型能够很好地反映系统的客观实际,应把系统本质特征和关系反映进去,而把非本质的东西去掉,但又不影响反映
17、本质的真实程度。也就是说,系统模型应有足够的精度,以保证它的真实性。精度要求不仅与研究对象有关,而且与所处的时间、状态和条件有关。因此,为满足真实性要求,对同一对象在不同情况下可以提出不同的精度要求。本讲稿第二十七页,共七十页 1 系统模型的要求系统模型的要求l简明性 在满足真实性要求的基础上,应尽量使系统模型简单明了,以节约建模的费用和时间。这也就是说,如果一个简单的模型已能使实际问题得到满意的解答,就没有必要去建一个复杂的模型,因为建造一个复杂的模型并求解是要付出很高代价的,其次模型过于复杂难以满足快速决策的需要。本讲稿第二十八页,共七十页 1 系统模型的要求系统模型的要求l现实性 在建立
18、某些系统的模型时,如果已有某种标准化模型可供借鉴,则应尽量采用标准化模型,或者对标准化模型加以某些修改,使之适合对象系统,不追求另起炉灶。其次,在建立模型时,要考虑数据采集的可能性和今后的发展方向,使建立的模型具有现实可操性和发展潜力。本讲稿第二十九页,共七十页 2 建模的原则建模的原则l抓住主要矛盾 模型只应包括与研究目的有关的方面,而不是对象系统的所有方面。例如,对个空运指挥调度系统的研究,建模只需考虑飞机的飞行航向而无需考虑其飞行姿态。l清晰明了 一个大型复杂系统是由许多联系密切的子系统组成的,因此对应的系统模型也是由许多子模型(或模块)组成的。在子模型与子模型之间,除了保留研究目的所必
19、要的信息联系外,其它的耦合关系要尽可能减少,以保证模型结构尽可能清晰明了。本讲稿第三十页,共七十页 2 建模的原则建模的原则l精度要求适当 建立系统模型,应该视研究目的和使用环境不同,选择适当的精度等级,以保证模型切题、实用,而又不致花费太多。l例如,一个受外力F作用下的物体M,其动力学系统的数学模型,在不同使用环境下有不同精度等级,应该适当选择。本讲稿第三十一页,共七十页 2 建模的原则建模的原则l当物体的运动速度v足够小时,可以忽略空气阻力的影响,其符合精度要求的数学模型为l当速度v提高到必须考虑空气阻力的影响时,则其符合精度要求的数学模型为l当物体的运动速度接近于光速3108ms时,按相
20、对论原理,此时M将不是常数,因此其符合精度要求的数学模型为本讲稿第三十二页,共七十页 2 建模的原则建模的原则l尽量使用标准模型 在建立一个实际系统的模型时,应该首先大量调阅模型库中的标准模型,如果其中某些可供借鉴,不妨先试用一下。如能满足要求,就应该使用标准模型,或者尽可能向标准模型靠拢。这样有利于比较分析,有利于 节省费用和时间本讲稿第三十三页,共七十页 3 建模的主要方法建模的主要方法l推理法 对于内部结构和特性已经清楚的系统,即所谓的“白箱”系统(例如大多数的工程系统),可以利用已知的定律和定理,经过一定的分析和推理,得到系统模型。l实验法 对于那些内部结构和特性不清楚或不很清楚的系统
21、,即所谓的“黑箱”或“灰箱”系统,如果允许进行实验性观察,则可以通过实验方法测量其输入和输出,然后按照一定的辨识方法,得到系统模型。本讲稿第三十四页,共七十页 3 建模的主要方法建模的主要方法l统计分析法 对于那些属于“黑箱”,但又不允许直接进行实验观察的系统(例如非工程系统多数属于此类),可以采用数据收集和统计分析的方法来建造系统模型。本讲稿第三十五页,共七十页 3 建模的主要方法建模的主要方法l类似法 即建造原系统的类似模型。有的系统,其结构和性质虽然已经清楚,但其模型的数量描述和求解却不好办,这时如果有另一种系统其结构和性质与之相同,因而建造出的模型也类似,但是该模型的建立及处理要简单得
22、多,把后一种系统的模型看成是原系统的类似模型。利用类似模型,按对应关系就可以很方便地求得原系统的模型。例如很多机械系统、气动力学系统、水力学系统、热力学系统与电路系统之间某些现象彼此类似,特别是通过微分方程描述的动力学方程基本一致,因此可以利用成熟的电路系统来构造上述系统的类似模型本讲稿第三十六页,共七十页 3 建模的主要方法建模的主要方法l混合法 大部分系统模型的建造往往是上述几种方法综合运用的结果l真正解决系统建模问题还必须充分开发人的创造力,综合运用各种科学知识,针对不同的系统对象,或者建造新模型,或者巧妙地利用已有的模型,或者改造已有的模型,这样才能创造出更加适用的系统模型。l因此,有
23、人把建造系统模型看成是一种艺术,这说明建造系统模型确实需要充分发挥人的创造性,而不可能有现成的模式可以照搬本讲稿第三十七页,共七十页软件生命周期软件生命周期-传统方法传统方法软件生命周期软件生命周期是指一个软件项目被提出并着手实施开始,到该软件报废是指一个软件项目被提出并着手实施开始,到该软件报废或停止使用为止。或停止使用为止。经历三个时期经历三个时期 .软件定义软件定义 .软件开发软件开发 .运行维护运行维护(也称为软件维护也称为软件维护)本讲稿第三十八页,共七十页软件生命周期各阶段的基本任务1.问题定义问题定义2.可行性研究可行性研究3.需求分析需求分析4.总体设计总体设计5.详细设计详细
24、设计 6.编码和单元测试编码和单元测试7.综合测试综合测试8.运行与维护运行与维护 软件生命周期由软件定义、软件开发和运行维护软件生命周期由软件定义、软件开发和运行维护(也称为软件维护也称为软件维护)3 3个时期组成,每个时期又进一步划分成若干个阶段。个时期组成,每个时期又进一步划分成若干个阶段。本讲稿第三十九页,共七十页1.问题定义问题定义 回答:回答:“要解决的问题是什么要解决的问题是什么?”通过调研,写出关于问题性质、工程目标和工程规模的通过调研,写出关于问题性质、工程目标和工程规模的书面报告,并得到客户的确认。书面报告,并得到客户的确认。2.可行性研究可行性研究 回答:回答:“对于上一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 方法 精选 文档
限制150内