单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,/,第1章 初识,软件工程,内容介,绍,绍,1.1,软,软,件,件与软,件,件危机,1.2,软,软,件,件工程,的,的由来,1.3,软,软,件,件的开,发,发方法,1.4,软,软,件,件生存,周,周期,1.5,了,了,解,解软件,开,开发模,型,型,1.6,习,习,题,题,1.1,软,软,件,件与软,件,件危机,1.1.1,怎,怎样,理,理解软,件,件,1.1.2,软,软件,的,的特点,1.1.3,产,产生,软,软件危,机,机的原,因,因,1.1.1,怎,怎样理,解,解软件,随着计,算,算机技,术,术的发,展,展,对,软,软件在,不,不同阶,段,段有不,同,同的认,识,识。,计算机,发,发展的,初,初期,,硬,硬件的,设,设计和,生,生产是,主,主要问,题,题,那,时,时的所,谓,谓软件,就,就是程,序,序,甚,至,至是机,器,器指令,程,程序,,它,它们处,于,于从属,的,的地位,。,。,随后社,会,会对计,算,算机提,出,出了更,高,高的要,求,求,软,件,件在计,算,算机系,统,统中的,比,比重越,来,来越大,,,,这,时,时软件,的,的含义,就,就成了,文,文档加,程,程序。,现在对,软,软件的,正,正确理,解,解应该,是,是,软件是计算,机,机系统,中,中与硬,件,件相互,依,依存的,部,部分,,它,它包括,程,程序及,其,其相关,文,文档。,程,程序是,计,计算机,程,程序所,需,需的阐,述,述性资,料,料。,1.1.2,软,软件的,特,特点,软件包括三,个,个方面:,一个或多,个,个计算机程,序,序,这些程,序,序执行时能,够,够提供期望,的,的功能性能,;,;,一个或多,个,个数据结构,,,,这些数据,结,结构使得程,序,序能够完全,操,操纵信息;,一个或多,个,个文档,这,些,些文档描述,了,了程序的分,析,析、设计、,实,实现和维护,的,的细节及使,用,用说明。,1.1.2,软,软件的,特,特点,软件不同于,硬,硬件的特征,:,:,1软件的,质,质量是“开,发,发”出来的,,,,不是“制,造,造”出来的,2软件可,能,能会被“废,弃,弃”,但不,会,会被“用坏,”,”,3过去的,软,软件大多是,“,“定制”的,,,,而不是“,装,装配”的,1.1.3,产,产生软,件,件危机的原,因,因,出现软件危,机,机的原因:,1软件维,护,护费用急剧,上,上升,直接,威,威胁计算机,应,应用的扩大,。,。,2,软件生产,技,技术进步缓,慢,慢,是加剧,这,这一软件危,机,机的重要原,因,因。,1.2,软,软件工程的,由,由来,1.2.1,软,软件工,程,程的产生和,发,发展,1.2.2,软,软件工,程,程的定义浅,谈,谈,1.2.3,理,理解软,件,件工程的作,用,用,1.2.4,软,软件工,程,程研究的内,容,容,1.2.1,软,软件工程,的,的产生和发,展,展,为了摆脱软,件,件危机造成,的,的困境,北,大,大西洋公约,组,组织(NATO)的科,学,学委员会于1968年,在,在联邦德国,召,召开的有关,研,研讨会上,,首,首先提出了,“,“软件工程,”,”(SoftwareEngineering)的概,念,念,其主要,思,思路是把人,类,类长期以来,从,从事各种工,程,程项目所积,累,累起来的行,之,之有效的原,理,理、概念、,技,技术和方法,,,,特别是人,类,类从事计算,机,机硬件研究,和,和开发的经,验,验教训,应,用,用到软件的,开,开发和维护,中,中。,1.2.1,软,软件工程,的,的产生和发,展,展,软件工程是,随,随着计算机,系,系统的发展,而,而逐步形成,的,的计算机科,学,学领域中的,一,一门学科。,软,软件工程的,发,发展可分为4个时期。,120世,纪,纪40年代,中,中期到60,年,年代中期,这个时期计,算,算机硬件从,电,电子管电子,计,计算机发展,到,到晶体管电,子,子计算机,,价,价格昂贵,,运,运算速度低,,,,存储量小,。,。软件通常,是,是规模较小,的,的程序,软,件,件的设计开,发,发者和使用,者,者往往是同,一,一个人。软,件,件设计通常,只,只注意如何,节,节省存储单,元,元、提高运,算,算速度,除,了,了程序清单,之,之外,没有,其,其他任何文,档,档资料。,1.2.1,软,软件工程,的,的产生和发,展,展,这个时期计,算,算机硬件发,展,展到集成电,路,路计算机,,运,运算速度和,内,内存容量都,相,相应提高了,。,。出现了“,软,软件作坊”,,,,许多用户,不,不再自己开,发,发软件,而,是,是去“软件,作,作坊”购买,软,软件。,1968年,北,北大西洋公,约,约组织(NATO)的,计,计算机科学,家,家在联邦德,国,国召开国际,会,会议,正式,提,提出了“软,件,件工程”(Software Engineering)的术语。,从,从此一门新,兴,兴的工程学,科,科诞生了。,当,当时“软件,工,工程还,处,处于学术研,究,究阶段,但,已,已对软件开,发,发产生了巨,大,大影响。,220世,纪,纪60年代,中,中期到70,年,年代中期,1.2.1,软,软件工程,的,的产生和发,展,展,这个时期硬,件,件发展到大,规,规模集成电,路,路计算机,,计,计算机硬件,的,的功能和质,量,量都不断提,高,高。,计算机应用,不,不断地扩大,,,,软件开发,生,生产率提高,的,的速度远远,跟,跟不上计算,机,机应用迅速,普,普及深入的,趋,趋势,软件,产,产品供不应,求,求,软件危,机,机日益严重,,,,,为了对付,不,不断增长,的,的“软件,危,危机”,,软,软件工程,学,学把软件,作,作为一种,产,产品批量,生,生产。,320,世,世纪70,年,年代中期,到,到80年,代,代,1.2.1 软件,工,工程的产,生,生和发展,计算机系,统,统发展的,第,第四代不,再,再是单台,的,的计算机,和,和计算机,系,系统,而,是,是计算机,软,软件和硬,件,件的综合,效,效果。由,复,复杂操作,系,系统控制,的,的强大桌,面,面机、广,域,域网和局,域,域网,与,先,先进的应,用,用软件相,互,互配合,,计,计算机体,系,系结构从,集,集中的主,机,机环境转,变,变为分布,式,式的客户,机,机服务器,环,环境。,软件开发,的,的技术如,下,下:面向,对,对象技术,;,;专家系,统,统和人工,智,智能软件,;,;人工神,经,经网络软,件,件;并行,计,计算、网,络,络计算机,、,、虚拟现,实,实技术、,多,多媒体技,术,术和现代,通,通信技术,。,。,420,世,世纪80,年,年代以后,1.2.2 软,件,件工程的,定,定义,关于软件,工,工程的定,义,义,目前,尚,尚无统一,、,、一致的,定,定义,下,面,面给出几,个,个有代表,性,性的定义,。,。,1FritzBauer在NATO会议,上,上给出的,定,定义,软件工程,是,是建立和,使,使用一套,合,合理的工,程,程原则,,以,以便获得,经,经济的软,件,件,这种,软,软件是可,靠,靠的,可,以,以在实际,机,机器上高,效,效地运行,。,。,2IEEE在软,件,件工程术,语,语汇编中,的,的定义,软件工程,是,是:将,系,系统化的,、,、严格约,束,束的、可,量,量化的方,法,法应用于,软,软件的开,发,发、运行,和,和维护,,即,即将工程,化,化应用于,软,软件;,在,在中所,述,述方法的,研,研究。,1.2.2 软,件,件工程的,定,定义,3计,算,算机科学,技,技术百科,全,全书中,的,的定义,软件工程,是,是应用计,算,算机科学,、,、数学及,管,管理科学,等,等原理,,开,开发软件,的,的工程。,软,软件工程,借,借鉴传统,工,工程的原,则,则、方法,,,,以提高,质,质量、降,低,低成本为,目,目的。其,中,中,计算,机,机科学、,数,数学用于,构,构造模型,与,与算法,,工,工程科学,用,用于制定,规,规范、设,计,计范型(paradigm,),)、评估,成,成本及确,定,定权衡,,管,管理科学,用,用于计划,、,、资源、,质,质量、成,本,本等管理,。,。,1.2.3 理,解,解软件工,程,程的作用,从历史上,讲,讲,软件,工,工程的作,用,用,是为,了,了克服上,个,个世纪60年代出,现,现的软件,危,危机(SoftwareCrisis),,这,这种危机,表,表现为软,件,件开发的,成,成本大、,进,进度慢、,维,维护难和,质,质量得不,到,到保障。,从当前来,讲,讲,软件,工,工程的作,用,用,就是,告,告诉人们,怎,怎样去开,发,发软件和,管,管理软件,。,。具体地,讲,讲,它表,现,现在与软,件,件开发和,管,管理有关,的,的人员和,过,过程上。,1.2.3 理,解,解软件工,程,程的作用,从软件项,目,目团队来,讲,讲,软件,工,工程的作,用,用在于:,在,在规定的,时,时间内,,按,按照规定,的,的成本,,完,完成预期,质,质量目标,(,(软件的,功,功能、性,能,能和接口,达,达到需求,报,报告标准,),)的软件,。,。,从软件发,展,展进程来,讲,讲,软件,工,工程的作,用,用在于:,克,克服软件,危,危机,控,制,制软件进,度,度,节约,开,开发成本,,,,提高软,件,件质量。,从软件企,业,业本身来,讲,讲,软件,工,工程的作,用,用在于:,持,持续地规,范,范软件开,发,发过程和,软,软件管理,过,过程,不,断,断地优化,软,软件组织,的,的个人素,质,质和集体,素,素质,从,而,而逐渐增,强,强软件企,业,业的市场,竞,竞争实力,。,。,1.2.4 软,件,件工程研,究,究的内容,软件工程研究的主,要,要内容是,软,软件开发,技,技术和软,件,件管理两,方,方面。,在软件开,发,发技术中,,,,主要研,究,究软件开,发,发方法、,软,软件开发,过,过程、软,件,件开发工,具,具和环境,。,。,在软件开,发,发管理中,,,,主要是,研,研究软件,管,管理学、,软,软件经济,学,学、软件,心,心理学等,。,。,1.3,软,软件的开,发,发方法,1.3.1 面,向,向过程的,方,方法,1.3.2 面,向,向数据的,方,方法,1.3.3 面,向,向对象的,方,方法,1.3.1 面向,过,过程的方,法,法,面向过程,的,的方法包,括,括面向过,程,程需求分,析,析、面向,过,过程设计,、,、面向过,程,程编程、,面,面向过程,测,测试、面,向,向过程维,护,护、面向,过,过程管理,。,。面向过,程,程的方法,又,又称结构,化,化方法,,习,习惯上叫,做,做结构化,分,分析、结,构,构化设计,、,、结构化,编,编程、结,构,构化测试,、,、结构化,维,维护。,面向过程,的,的方法的,特,特点是:,程,程序的执,行,行过程不,由,由用户控,制,制,完全,由,由程序控,制,制。面向,过,过程的方,法,法的优点,是,是简单实,用,用,缺点,是,是维护困,难,难。,面向过程,的,的方法,,在,在军事上,的,的实时跟,踪,踪监控系,统,统中有很,好,好的应用,。,。,1.3.2 面,向,向数据的,方,方法,面向数据,的,的方法,,也,也称为面,向,向元数据,(,(Metadata)的方,法,法。元数,据,据是关于,数,数据的数,据,据,组织,数,数据的数,据,据。,面向数据,方,方法的要,点,点是:,1数据,(,(Data)位于,企,企业信息,系,系统的中,心,心。信息,系,系统就是,对,对数据的,输,输入、处,理,理、传输,、,、查询和,输,输出。,2只要,企,企业的业,务,务方向和,内,内容不变,,,,企业的,元,元数据就,是,是稳定的,,,,由元数,据,据构成的,数,数据模型,(,(Data Model),也,也是稳定,的,的。,1.3.2 面,向,向数据的,方,方法,3对元数据,的,的处理方法是,可,可变的。用