软件测试基础认知.docx

上传人:b****5 文档编号:7380956 上传时间:2023-01-23 格式:DOCX 页数:25 大小:352.50KB
下载 相关 举报
软件测试基础认知.docx_第1页
第1页 / 共25页
软件测试基础认知.docx_第2页
第2页 / 共25页
软件测试基础认知.docx_第3页
第3页 / 共25页
软件测试基础认知.docx_第4页
第4页 / 共25页
软件测试基础认知.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

软件测试基础认知.docx

《软件测试基础认知.docx》由会员分享,可在线阅读,更多相关《软件测试基础认知.docx(25页珍藏版)》请在冰豆网上搜索。

软件测试基础认知.docx

软件测试基础认知

第1章软件测试基础2

1.1软件测试的定义和目的2

1.1.1软件测试定义2

1.1.1.1软件测试实例2

1.1.1.2软件测试基本概念4

1.1.2软件测试的基础知识(软件开发简史和测试简史合并)9

1.1.2.1软件开发发展简史10

1.1.2.2软件测试发展简史13

1.1.2.3软件测试的目的15

1.1.3软件测试的几个基本的问题16

1.1.3.1软件当中为什么会引入缺陷?

16

1.1.3.2软件测试工程师的职业技术能力要求17

1.1.3.3缺陷的类型有哪几种?

17

1.1.3.4什么是测试用例?

18

1.1.3.5什么是测试执行?

18

1.1.3.6调试和测试的区别是什么?

19

1.1.3.7软件测试基本过程是什么样的?

19

1.1.3.8目前软件企业的测试现状以及未来的发展方向22

1.1.3.9软件测试相关的组织架构是什么样的?

22

1.1.3.10测试工程师的主要工作是什么?

22

第1章软件测试基础

软件测试基础系列课程包括,软件测试基础、软件测试方法、软件测试过程、软件测试用例写作方法和软件测试经验和误区;本门课程就是《软件测试基础》;

软件测试基础的教学目标包括如下几个方面:

Ø掌握什么是测试;

Ø掌握测试的目的;

Ø掌握软件生命周期的各个阶段以及相互关系;

Ø初步了解软件生命周期各阶段的具体工作内容;

Ø大致了解软件研发团队的组织形式和研发流程;

1.1软件测试的定义和目的

1.1.1软件测试定义

1.1.1.1软件测试实例

列举手机的例子:

1、比如用ATM取款机取款,取款前,帐户余额是10000元,ATM取款机上取出1000元钱,结果查询帐户,剩余8900元,显示是银行的软件系统出现故障,将您帐户的钱多扣了100元;这是一个非常严重的bug了;

2、证券公司的系统软件瘫痪案例:

在牛市中运行的证券和金融服务系统已经无法承担牛市的重担。

    2007年1月18日,招商证券的客户发现,在公司进行网络交易时,公司网站竟然无法登陆。

一部分客户转向电话服务寻求帮助,却发现电话线路出现同样的阻塞。

行情转瞬即逝。

    发生网络拥堵的不只是招商证券。

1月15日9时至16日下午2时,申银万国的网络客户也发现,自己根本无法进行交易,因为当天公司网上交易系统出现大面积拥堵。

当用户转而使用电话委托系统时,同样的一幕出现了,电话委托也出现了拥堵。

当天,申银万国解释称,网上交易系统拥堵是由于交易量激增,原有系统容量不足引起的。

    当日,两市A股成交量近1000亿元,而在招商证券发生网络拥堵的18日,两市成交1300亿元。

    证券交易笔数过大,导致交易所和券商计算机及通信系统阻塞和死机的事件,在中国证券市场的历史上也曾发生过多次,但只是在最近才出现大面积交易阻塞和交易系统死机现象,而此类事件发生频次如此之高,也是过去没有的。

    股民激增和交易量屡创新高,使得一些小的券商证券系统无法承担重负。

2006年12月,东莞证券等一些地方小券商服务系统已经出现线路阻塞、交易大面积瘫痪的问题。

之后,入市股民持续增加,以至于连中信证券这类大型券商也出现过一个小时交易系统阻塞、交易无法进行的事件。

    这种现象让人恍惚回忆起美国当年的股市盛况。

1997年10月28日,纽约证券交易所由于客户交易增多也曾发生过在线交易严重阻塞的现象。

    而今,在中国每个证券营业部交易大厅里都是人头攒动、座无虚席。

电子显示屏前的过道被股民挤得水泄不通,每台交易电脑前都站了好几个人,嘈杂声、议论声、跑步声、敲击键盘的“嗒嗒”声,声声不绝于耳,期间伴随着营业部交易电脑死机而引发的懊恼声和抱怨声。

    到2007年1月中旬,股指开始高位震荡,股民的投机性买卖增多,券商股票交易系统和服务系统承受着更大的压力。

券商交易系统就好像早高峰时的北京三环路,随时都可能发生拥堵。

并且,拥堵如流行感冒一般,也传染着银行系统。

    1月17日,建设银行一个营业部基金销售系统就曾发生瘫痪,客户在等待几个小时之后才能继续申购基金。

1月19日,光大银行在销售国投瑞银基金公司基金时,因为客户过于热烈地追逐基金,当天销售量超过十几亿,而光大银行的注册登记系统没有做好准备陷入瘫痪。

    在火爆股市中没有准备好的不仅仅是金融公司的硬件系统,还有金融公司的软件服务质量。

    一个投资者去一家券商营业部转户,结果发现需要排队半天才能完成,现在他新开户的要求仅仅是,不要排队时间过长就行。

    原北京证券的老股民傅先生也有类似的经历。

2007年1月17号,多年没有到过证券营业部的他去新的证券服务商(招商证券,去年北京证券已由招商证券接管)那里办理招商银行银证转账功能,从上午11点45分开始排队,直到下午3点半也没能完成转账。

在招商证券的这家营业部,加上新招聘员工,为客户服务的员工也只有3个人,而客厅内外是100多个站着和坐着的散户。

    看来,对牛市满怀着热情的人们不得不去忍受在熊市中保留下的证券服务质量。

问题是,什么时候网络可以变得通畅?

3、Skype登录时候,按住tab键,焦点没有从用户名直接切换到密码,不符合用户的使用习惯;

1.1.1.2软件测试基本概念

目前没有公认非常完整的定义形式。

1983,IEEE提出的软件工程标准术语,软件测试定义如下:

“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”。

G.J.Myers认为:

(G.J.Myers是《软件测试之艺术》(TheArtofSoftwareTesting的作者))

1)程序测试是为了发现错误而执行程序的过程;

2)好的测试用例是发现迄今为止尚未发现的错误的测试用例;

3)成功的测试执行是发现了至今为止尚未发现的错误的测试执行

相对于“程序测试是证明程序中不存在错误的过程”,Myers的定义是对的,但定义的测试范围过窄。

接下来,我们需要明确几个基本的概念,缺陷、故障、失效

Ø缺陷(Defect):

存在于软件之中偏差,可被激活,以静态形式存在于软件内部,相当于Bug;

Ø故障(Fault):

当缺陷被激活后,软件运行中出现的的状态,可引起意外情况,若不加处理,可产生失效,是一个动态行为;

Ø失效(Failure):

软件运行时产生的外部异常行为结果,表现与用户需求不一致,功能能力终止,用户无法完成所需要的应用。

关于缺陷、故障、失效,我们通过一个真实的事件加以说明,如果大家没有听说过美国登月飞船阿波罗13的故事,可以看看由奥斯卡影帝汤姆汉克斯主演的影片阿波罗13;

阿波罗11号和阿波12号两次登月成功后,对一般人包括新闻界人士来说,第三次登月就不那么有吸引力了。

然而这次飞行却异常惊心动魄。

虽然登月没有取得成功,但在飞船出现严重故障,宇航员面临死亡威胁的情况下,依靠正确指挥和熟练操纵,依靠人的智慧和勇气,终于化险为夷,体现了人类的勇敢顽强精神和科学技术的巨大威力。

阿波罗13号宇航员正是以他们顽强同危险斗争并取得胜利的不平凡经历而载入航天史册。

阿波罗13号在地面检查阶段就透着不祥之兆。

原订飞行日期是1970年4月5日,但由于一系列问题不得不一再推迟。

首先是在发射台前,担任保安工作的人员在停车时,由于空气富含氧气,发动机的火花使汽车着火。

在进行飞船服务舱内液氧箱泄氧试验时,发现第二号氧箱的出口损坏。

为此,用加热器将液氧气化并全部泄空,进行氧箱修理。

几天后又发现液氦贮箱出了故障。

另外一个不祥的事情是临阵换将。

原定的指令舱驾驶员是马廷利,但由于他对风疹没有免疫力,后由替补宇航员斯威格特担任。

最后,这次飞行的任务号码——13在一般人眼里也是极不吉利的数字。

 1970年4月11日下午2时13分,阿波罗13号载着三位宇航员升空了。

经过2天多近56小时的飞行,到13日晚9时17分,飞行离地球已达30万公里。

此时洛威尔刚刚通过摄像机向地球上的观众道完晚安,宇航员们也准备在指令舱中休息时。

就在这时,服务舱第二号液氧箱发生爆炸。

由于液氧迅速泄漏,燃料电池无法正常工作,主电源之一停止工作。

第二号液氧箱爆炸又将第一号液氧箱撕开了一道口子,引起氧气泄漏,压力也在逐渐下降。

不久,三个燃料电池有两个停止了工作。

如果第一号箱的氧气泄光,唯一的燃料电池也将停止工作。

另外,由于气体外泄,像火箭发动机一样产生了反作用力,使飞船发生旋转。

这些问题极大地影响着宇航员的安全。

不说登月飞行无法正常进行,就是宇航员能否脱险也成问题。

服务舱已不能向宇航员提供氧气,也不能提供空调系统电能使舱内保持适宜的温度。

现在能依靠的只有登月舱了。

由于飞船已靠近月球,月球引力作用已经很强。

如果立即掉头返回,必须有大大超过月球引力的很大制动力使飞船减速并返回加速。

由于服务舱主发动机无法启动,登月舱发动机推力太小,这样做不能奏效。

因此逃生的第一步是让飞船继续前飞,绕过月球后再启动登月舱发动机进入返回轨道。

这样不仅可以较容易地摆脱月球引力,而且能加快飞船返回的速度,并且不会一次性耗尽全部推进剂。

这种方案也是唯一可行的逃生途径,成败的关键问题有两个,一是登月舱发动机在与飞船对接的情况下能否正常工作;二是怎样进行方向校正。

为了紧急设计返回救生方案,休斯顿指挥中心组织人力进行利用登月舱返回地球的地面模拟试验。

宇航员塞尔南、欧文和恩格尔分别操纵三个模拟器,研究返回地球的具体方法。

经过分析计算和模拟,在发生爆炸的12小时后,休斯顿中心制定出一套完整的逃生方案,特别是返回轨道的设计,并立即通知飞船上的宇航员。

根据地面指令,洛弗尔和海斯从指令舱爬到登月舱“宝瓶座”内。

在起飞61小时30分钟,也就是地面时间14日凌晨2时42分,登月舱下降发动机进行第一次点火,在40%的低推力下工作了30.3秒。

这次点火把飞船推到一条自由返回的轨道。

在这条轨道上,月球引力可将飞过的飞船拉回来,使之飞向地球。

14日20时40分,洛弗尔和海斯按计划进行登月舱发动机精确控制点火。

按地面设计好的点火程序,下降发动机首先以10%的推力点火启动,接着在21秒内逐步将推力提高到40%,以后又逐步达到全推力。

这次启动非常成功,发动机前后工作了4分26秒。

这次点火将飞船落点调整到太平洋,返回地球的时间也缩短了9小时。

由于服务舱损坏,飞船指令舱的精确溅落点很难预测,必须在广大的海域准备大量救生船只。

为此,包括英国、前苏联在内的13个国家提供了舰船和飞机,协助救援工作。

4月17日,阿波罗13号接近地球。

上午6时52分,洛弗尔在登月舱里启动4台姿态控制火箭校正轨道。

斯威格特操纵指令舱,将服务舱分离。

然后他们都回到指令舱,并对损坏的服务舱进行了拍照。

下午12时07分,阿波罗13号的指令舱安全降落在太平洋海域里。

美国总统尼克松特地赶往檀香山看望这几位幸免于难的宇航员。

尼克松总统还将4月19日定为全国祈祷日,以感谢上帝拯救了宇航员。

这次事故后,美国宇航局提交了一个详细的调查报告。

造成这次事故的直接原因是服务舱液氧箱内的两个很小的恒温器开关未按更改要求更换。

原来设计时服务舱内所有电器都采用28伏电源。

1965年在更改时,将液氧箱加热系统改为采用65伏电源。

加热系统更改了,但恒温开关忘记更换了,它仍是工作在28伏电压下。

3月24日在进行地面泄氧检查时,加热器一开动立即将恒温开关烧毁。

由于恒温器失去了恒温的作用,在泄氧的8小时时间里,加热器也整整工作了8小时,使液氧箱的温度上升到数XX,严重破坏了附近电器线路的绝缘性。

这一点成了飞船在飞行途中服务舱液氧箱爆炸的重大隐患。

在上述案例中,可以对应上面讲述的缺陷、故障和失效:

本应该使用65V的恒温开关,而在阿波罗13上,使用的是28V的的恒温开关;这个28V的恒温开关就是一个隐藏在阿波罗13飞船内部的缺陷;当3月24日进行的地面泄氧检查时候,加热器一开动,恒温开关被烧毁,则该缺陷被激活,恒温开关失效之后,当飞船飞行56个小时之后,液氧箱的温度升高,导致液氧箱爆炸,非常的故障就出现了。

如果阿波罗13只有一个液氧箱,那么这个液氧箱爆炸之后,飞船上的全体宇航员就会因为缺氧而死,飞船也会因为无人驾驶,而失效,最终可能会成为太空垃圾;幸运的是,阿波罗13配备了多个液氧箱,才导致飞船没有失效;

从上面的案例,我们可以得到一个初步的结论:

在产品研发的时候,最好能够发现产品中所有严重的缺陷;如果无法发现所有的严重缺陷,那么在缺陷被激活的时候,不要转化为故障;如果缺陷激活后,转化为故障之后,最好不要再转化为失效;

在软件缺陷的定义中,我们也把软件的缺陷称之为bug?

为什么称之为bug呢?

谈到bug,不得不提到一位计算机软件领域的杰出女性;

格雷斯•霍波是杰出的女数学家和计算机语言领域的带头人。

她是世界妇女的楷模和骄傲,也是计算机界崇拜的偶像人物。

被世人尊称为“计算机软件之母”。

1992年1月7日,在华盛顿的阿灵顿国家公墓,美国海军为在元旦凌晨在睡梦中安然去世的退休女海军军官霍波举行了隆重的葬礼。

全套海军仪仗队和众多肃穆的海军官兵按照海军的仪式向这位令人尊敬的长者作最后的告别。

千千万万的美国人则通过电视转播观看了丧礼的实况。

4年以后,即1996年1月6日,美国海军又在缅因州的巴斯港为它新建造的一艘伯克级驱逐舰举行了隆重的命名仪式,把它命名为“霍波号”。

这是第二次世界大战以后第一次、整个美国海军历史上第二次,以一位女性的名字命名一艘战舰。

人们要问,美国海军为什么给予霍波这么高的荣誉呢?

原来,霍波是美国海军历史上第一位获得少将军衔的女性,而且为海军服务长达43年,为海军的现代化建设作出了卓越的贡献。

有评论认为,如果把黎柯夫将军称为“海军核子化之父”的话,那么,可以称霍波为“海军计算机化之母”,霍波的功绩可略见一斑。

霍波1906年12月9日生于美国纽约市一个海军世家,其祖父军衔曾达到少将。

1928年高中毕业后进人耶鲁大学,1930年获得硕士学位,1934年获得博士学位,她是耶鲁大学第一位女数学博士。

作为一个女性获得数学博士学位是一个很大的成就,因为在数学上取得成就而获得博士学位本身就是很困难的。

据统计,从1862-1934年间,全美国总共授予1279个博士学位,平均每年才17个,而女性获得数学博士学位的就更是凤毛麟角了。

珍珠港事件爆发以后,霍波同许多美国妇女一样志愿参军同法西斯斗争。

1943年,日军偷袭珍珠港后,她加入海军预备队,在马萨诸塞州北安普敦的海军军官学校培训以后,1944年6月她被授予上尉军衔,并被分配到装备局。

考虑到她是一个数学家,她被派到哈佛大学艾肯教授手下参与MarkI的研制工作,任务是编程,用她自己的话来说,她成为“第一台大型数字计算机的第三位程序员”。

在毫无计算机和编程知识背景的情况下,霍波通过刻苦钻研和虚心好学,很快成为一名优秀的程序员并赢得了同事的尊敬。

其间,她为海军编制过程序找到最佳的海上布雷方案;为MarkI即编写了操作手册,建立了也许是世界上第一个“子程序库”,这是霍波和她的同事将经过试用证明为正确的一些程序,例如计算正弦、余弦、正切等的程序收集起来,记录在笔记本上所形成的。

战后,霍波本来要求继续留在海军服务,但因已超过服役的最大年龄38岁而被拒绝,海军颁给她“武器发展奖”以后让她退役但保留为后备役军官。

她的母校Vassar学院邀请她回校工作,并答应给她教授头衔,但已经爱上计算机编程这一行的霍波决意留在哈佛艾肯所创建的计算实验室,参与MarkⅡ、MarkⅢ的研制。

1947年夏天,在为MarkⅡ排除一次故障的过程中,霍波和她的同事在继电器的弹簧片中间找到了一只飞蛾,这使得“bug"(小虫)和"debug"(除虫)这两个本来普普通通的名词成了计算机专业中特指莫明其妙的“错误”和“排除错误”的专用名词而流传至今。

1.1.2软件测试的基础知识(软件开发简史和测试简史合并)

1.1.2.1软件开发发展简史

1946年2月15日,随着第一台现代电子计算机ENIAC轰鸣着来到这个世界,编写程序也成为三百六十行之外的一个崭新职业。

我们称编写程序的工程师为程序员或者开发者。

ENIAC是一台重达30吨的庞然大物,由19000多个晶体管、1500多个继电器组成。

为了给它下达指令,程序员必须通过不同的连接线组合进行编程。

要编制运行新的程序,还必须拔掉连线重新来过。

整天面对二进制编程的工作相当枯燥乏味,而且是直接对程序地址读写,自然出错频繁。

阅读由连线表达的程序更不亚于揣摩天书,维护和改造程序的价格成本居高不下。

更要命的是,早期的计算机制造价格相当昂贵,而在程序编制调试完成之前,计算机不得不一直空转,导致软件开发的费用竟然远远超过硬件的投入。

为了解决软件开发的难题,计算机科学家发明了汇编语言,通过一些助记符来减轻二进制编码的开发压力。

这的确是行之有效的方法,直到现在,程序员在开发中还常常使用嵌入式汇编来提高软件运行速度,游戏引擎更是如此。

然而,汇编语言太依赖程序员的素质,而且无法适应大规模的开发。

GraceMurrayHopper、Bug和Debug

由于一次传奇般的投资,MarkI计算机把IBM从生产制表机、肉铺磅秤、咖啡碾磨机等乱七八糟玩意的行业,领入了计算机制造业的领地,最终成为如今的蓝色巨人。

前面的课程中曾经介绍过数学家GraceHopper是如何创造了“BUG”和“DEBUG”这两个计算机史上著名的两个名词的。

而这位Hopper女士,实在是一个不得了的人物。

1952年,Hopper觉得用机器码编程是不是比较原始,为什么不能用类自然语言编写程序,然后再用一个工具把它转换成机器码呢?

不久,她就开发出世界上第一套编译器A-0,是现代编译技术的原型。

1956年她在第一台储存程序的商业电子计算机UNIVACI、II上开发出B-0,之后叫做FLOW-MATIC,它导致了计算机商用语言COBOL(COmmonBusinessOrientedLanguage)的诞生。

虽然Hopper有着“电脑之母”的美誉,但是传说她办公室有一个倒着走的钟,以及一面秀着骷髅头的海盗旗,。

到了六十年代,FORTRAN(FORmulaTRANslating)、COBOL、LISP、ALGOL60等现代高级语言的出现了。

程序员可以用接近自然语言的程序语言编制软件,然后通过编译器转换成机器可执行的代码。

由于使用精确的形式语言来定义程序语言本身,并且通过对硬件的抽象使得程序与计算机平台无关,导致高级语言生产效率大大提高,维护费用自然降低不少,计算机软件业终于得以蓬勃发展。

好景不长。

随着软件大规模的应用,程序的开发方法和管理手段逐渐无法跟上软件规模的膨胀,从而导致了软件危机的出现。

就拿1963~1966年间的IBM360系统来说,该系统有100万行的代码量,IBM每年动用5000人来维护该系统,但是,每个版本都是从上一个版本找出1000以上个错误而修订的结果,好像越改错误越多,根本没有改善的迹象。

《人月神话》的作者,Brooks曾任IBMSystem/360项目经理,被称为"S/360之父"他把IBM360系统形容为一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷的越深,最后仍然无法逃脱灭顶的灾难。

而40年之后的苹果公司的MacOS的规模远远大于IBM360的代码规模,而软件开发工程师只需要350人,测试工程师只需要100人左右,软件工程师一共不超过500人,是IBM360的10%,IBM360与MacOS之间的对比为何如此强烈?

其根本原因是不断涌现的软件开发语言和新的软件工程思想,大大的提高了软件的开发效率;

人们不得不停下脚步思考,到底哪里出了问题。

回想自己,每个人做事情,都是列举重点,然后细化并逐个完成。

比如制造自行车,肯定是先把自行车按照功能分块,先造车架,然后是两个车轮,接着是踏板等传动装置,最后才是坐垫、车铃等零件。

而制造车轮,肯定是要分别制造钢圈、钢丝、轮胎,而轮胎有分内外胎。

如果软件开发能够遵循这种从大到小、逐步精确的思想,是不是能够解决这个软件危机呢?

没错,这种结构化的抽象分析方法,导致了结构化程序设计方法的诞生。

NiklausWirth和PASCAL

凡是学过一点计算机知识的人大概都知道“数据结构+算法二程序”这一著名公式。

提出这一公式的瑞士计算机科学家NiklausWirth由于发明了多种影响深远的程序设计语言,并提出结构化程序设计这一革命性概念而获得了1984年的图灵奖。

Wirth开发的PASCAL在数据结构和过程控制结构方面都有很多创造,比如Java中字符型、引用型,以及if-then-else、while、for等多种控制结构,都是从PASCAL里面借鉴发展而来的。

可以说,现代程序设计语言中常用的数据结构和控制结构绝大多数都是由PASCAL语言奠定基础的,因此PASCAL在程序设计语言的发展史上具有承上启下的重要里程碑意义。

现在你知道为什么很多计算机专业的学生都要学PASCAL语言了吧。

1971年,Wirth基于其开发程序设计语言和编程的实践经验,首次提出了“结构化程序设计”(structuredprogramming)的概念。

这个概念的要点是:

不要求一步就编制成可执行的程序,而是分若干步进行,逐步求精。

第一步编出的程序抽象度最高,第二步编出的程序抽象度有所降低……最后一步编出的程序即为可执行的程序。

用这种方法编程,似乎复杂,实际上优点很多,可使程序易读、易写、易调试、易维护、易保证其正确性及验证其正确性。

结构化程序设计方法又称为“自顶向下”或“逐步求精”法,在程序设计领域引发了一场革命,成为程序开发的一个标准方法,尤其是在后来发展起来的软件工程中获得广泛应用。

有人评价说沃思的结构化程序设计概念“完全改变了人们对程序设计的思维方式”,这是一点也不夸张的。

PhilippeKahn的Borland传奇

Wirth开发PASCAL的初衷是为了有一个适合于教学的语言。

但一经推出,由于它的简洁明了、提供丰富的数据结构和控制结构,使得程序开发大为简便,竟然大受欢迎。

在C语言问世以前,PASCAL是风靡全球、最受欢迎的语言之一,不但创下了发行拷贝数最多的世界记录,而且成为大学数据结构教学的“惟一官方指定”语言。

PhillipeKahn是NiklausWirth的学生,毕业后到美国加利福尼亚州创立了Borland公司,凭借拳头产品TurboPASCAL,当时就卖出了100多万个拷贝,成为百万富翁。

而Borland公司是程序员津津乐道到程序开发工具供应商,他们从最早的TurboPASCAL、TurboC、TurboPROLOG等Turbo系列,到如今的Delphi、C++Builder、JBuilder、C#Builder系列,无一不是举足轻重的开发工具,从而在开发者心目中有着崇高的地位。

虽然结构化程序设计使得程序员世界观经历了巨大变革,行之有效地解决了软件开发中的许多问题,然而,结构化程序设计并不能完全解决软件危机,人们仍然渴望生产效率更高、更可靠、易维护、易管理的开发思想和开发方法。

实际上,人们认识世界,是有一些基本的法则的:

Ø区分事物及其属性,如自行车和车子的颜色。

Ø区分整体对象及其组成部分,如区分自行车和车轮。

Ø不同对象类的形成及其区分,如山地自行车和两人休闲车虽然有相当的区别,但都属于自行车这个类型。

心理学研究表明,把客观世界由许多对象组成,对象具有其属性和行为,之间存在着各种联系,这样能够更好的刻画问题域,也更接近人类的自然思维方式。

这就是面向对象程序开发思想的由来。

对象的概念最早出现于五十年代人工智能的早期著作中,而OO(面向

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1