资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,#,Cliquez pour modifier le style du titre,Cliquez pour modifier les styles du texte du masque,Deuxime niveau,Troisime niveau,Quatrime niveau,Cinquime niveau,*,#,第1章 软件与软件工程的概念,软件的概念、特性和分类,软件危机与软件工程,系统工程的目标,软件生存期,软件生存期模型,软件工程知识体系及知识域,1.1,软,软件,的,的概念,、,、特性,和,和分类,软件的,作,作用,具有产品和产品生,产,产载体的双重,作,作用。,作为产,品,品,软,件,件显示,了,了由计,算,算机硬,件,件体现,的,的计算,能,能力,,扮,扮演着,信,信息转,换,换的角,色,色:产,生,生、管,理,理、查,询,询、修,改,改、显,示,示或者,传,传递各,种,种不同,的,的信息,。,。,作为产,品,品生产,的,的载体,,,,软件,提,提供了,计,计算机,控,控制(,操,操作系,统,统)、,信,信息通,信,信(网,络,络),,以,以及应,用,用程序,开,开发和,控,控制的,基,基础平,台,台(软,件,件工具,和,和环境,),)。,1.1,软,软件,的,的概念,、,、特性,和,和分类,软件的,概,概念,虽然软,件,件对于,现,现代的,人,人并不,陌,陌生,,但,但很多,人,人对于,软,软件的,理,理解并,不,不准确,,,,“软件就,是,是程序,,,,软件,开,开发就,是,是编程,序,序”的这,种,种错误,观,观点仍,然,然存在,。,。,什么是,软,软件?,1.1,软,软件,的,的概念,、,、特性,和,和分类,软件,是计算,机,机系统,中,中与硬,件,件相互,依,依存的,另,另一部,分,分,它,是,是包括,程,程序,,数,数据及,其,其相关,文,文档的,完,完整集,合,合。,程序,是按事,先,先设计,的,的功能,和,和性能,要,要求执,行,行的指,令,令序列,。,。,数据,是使程,序,序能正,常,常操纵,信,信息的,数,数据结,构,构。,文档,是与程,序,序开发,,,,维护,和,和使用,有,有关的,图,图文材,料,料。,1.1,软,软件,的,的概念,、,、特性,和,和分类,软件的,特,特性,(1)形态特,性,性:软件是,无,无形的,、,、不可,见,见的逻,辑,辑实体,。,。度量,常,常规产,品,品的几,何,何尺寸,、,、物理,性,性质和,化,化学成,分,分对它,却,却是毫,无,无意义,的,的。,(2)智能特,性,性:软件,是,是复杂,的,的智力,产,产品,,它,它的开,发,发凝聚,了,了人们,的,的大量,脑,脑力劳,动,动,它,本,本身也,体,体现了,知,知识实,践,践经验,和,和人类,的,的智慧,,,,具有,一,一定的,智,智能。,它,它可以,帮,帮助我,们,们解决,复,复杂的,计,计算、,分,分析、,判,判断和,决,决策问,题,题。,(3)开发特,性,性:尽管已,经,经有了,一,一些工,具,具(也,是,是软件,),)来辅,助,助软件,开,开发工,作,作,但,到,到目前,为,为止尚,未,未实现,自,自动化,。,。软件,开,开发中,仍,仍然包,含,含了相,当,当份量,的,的个体,劳,劳动,,使,使得这,一,一大规,模,模知识,型,型工作,充,充满了,个,个人行,为,为和个,人,人因素,。,。,(4)质量特,性,性:目前,还,还无法,得,得到完,全,全没有,缺,缺陷的,软,软件产,品,品 。,1.1,软,软件,的,的概念,、,、特性,和,和分类,(5)生产特,性,性:与硬件,或,或传统,的,的制造,业,业产品,的,的生产,完,完全不,同,同,软,件,件一旦,设,设计开,发,发出来,,,,如果,需,需要提,供,供多个,用,用户,,它,它的复,制,制十分,简,简单,,其,其成本,也,也极为,有,有限,。,。,(6)管理特,性,性:由于,上,上述的,几,几个特,点,点,使,得,得软件,的,的开发,管,管理显,得,得更为,重,重要,,也,也更为,独,独特,。,。,1.1,软,软件,的,的概念,、,、特性,和,和分类,(7)环境特,性,性:软件的,开,开发和,运,运行都,离,离不开,相,相关的,计,计算机,系,系统环,境,境,包,括,括支持,它,它的开,发,发和运,行,行的相,关,关硬件,和,和软件,。,。软件,对,对于计,算,算机系,统,统的环,境,境有着,不,不可摆,脱,脱的依,赖,赖性。,(8)维护特,性,性:软件,投,投入使,用,用以后,需,需要进,行,行维护,,,,但这,种,种维护,与,与传统,产,产业产,品,品的维,护,护概念,有,有着很,大,大差别,。,。,1.1,软,软件,的,的概念,、,、特性,和,和分类,(9)废弃特,性,性:与硬件,不,不同,,软,软件并,不,不是由,于,于被“,用,用坏”,而,而被废,弃,弃的。,(10,),)应用特,性,性:软件,的,的应用,极,极为广,泛,泛,如,今,今它已,渗,渗入国,民,民经济,和,和国防,的,的各个,领,领域,,现,现已成,为,为信息,产,产业、,先,先进制,造,造业和,现,现代服,务,务业的,核,核心,,占,占据了,无,无可取,代,代的地,位,位。,1.1,软,软件,的,的概念,、,、特性,和,和分类,1.1,软,软件,的,的概念,、,、特性,和,和分类,软件的,分,分类,按照软,件,件的作,用,用,一,般,般可以,将,将软件,做,做如下,分,分类。,(1)系统软,件,件,(2)应用软,件,件,(3)支撑软,件,件,(4)可复用,软,软件,软件危,机,机暴发,于,于上个,世,世纪六,十,十年代,末,末。,主要表,现,现为:,软,软件的,发,发展速,度,度远远,滞,滞后于,硬,硬件的,发,发展速,度,度,不,能,能满足,社,社会日,益,益增长,的,的软件,需,需求。,软,软件开,发,发周期,长,长、成,本,本高、,质,质量差,、,、维护,困,困难。,1.2,软,软,件,件危机,与,与软件,工,工程,软件危,机,机,典型例,子,子:美,国,国IBM公司在1963年至1966年开发,的,的IBM360机的操,作,作系统,。,。,这个项,目,目的负,责,责人F.D,.,.Brooks事后总,结,结了他,在,在组织,开,开发过,程,程中的,沉,沉痛教,训,训时说,:,:,正像一,只,只逃亡,的,的野兽,落,落到泥,潭,潭中做,垂,垂死的,挣,挣扎,,越,越是挣,扎,扎,陷,得,得越深,。,。最后,无,无法逃,脱,脱灭顶,的,的灾难,,,,程序设,计,计工作,正,正像这,样,样一个,泥,泥潭,一批批,程,程序员,被,被迫在,泥,泥潭中,拼,拼命挣,扎,扎,谁也没,有,有料到,竟,竟会陷,入,入这样,的,的困境,1.2,软,软,件,件危机,与,与软件,工,工程,具体来,说,说,软,件,件危机,主,主要有,以,以下一,些,些典型,表,表现:,对软件,开,开发成,本,本和进,度,度的估,计,计常常,很,很不准,确,确。,用户对,“,“已完,成,成的”,软,软件系,统,统不满,意,意的现,象,象经常,发,发生。,软件产,品,品的质,量,量往往,靠,靠不住,。,。,软件常,常,常是不,可,可维护,的,的。,软件通,常,常没有,适,适当的,文,文档资,料,料。,软件成,本,本在计,算,算机系,统,统总成,本,本中所,占,占的比,例,例逐年,上,上升。,软件开,发,发生产,率,率提高,的,的速度,,,,既跟,不,不上硬,件,件的发,展,展速度,,,,也远,远,远跟不,上,上计算,机,机应用,迅,迅速普,及,及深入,的,的趋势,。,。,1.2,软,软,件,件危机,与,与软件,工,工程,除了软,件,件本身,的,的特点,,,,软件,危,危机发,生,生的主,要,要原因,有,有:,缺乏软,件,件开发,的,的经验,和,和有关,软,软件开,发,发数据,的,的积累,,,,使得,开,开发工,作,作的计,划,划很难,制,制定。,软件人,员,员与用,户,户的交,流,流存在,障,障碍,,使,使得获,取,取的需,求,求不充,分,分或存,在,在错误,。,。,软件开,发,发过程,不,不规范,。,。如,,没,没有真,正,正了解,用,用户的,需,需求就,开,开始编,程,程序。,随着软,件,件规模,的,的增大,,,,其复,杂,杂性往,往,往会呈,指,指数级,升,升高。,需,需要很,多,多人分,工,工协作,,,,不仅,涉,涉及技,术,术问题,,,,更重,要,要的是,必,必须有,科,科学严,格,格的管,理,理。,缺少有,效,效的软,件,件评测,手,手段,,提,提交用,户,户的软,件,件质量,不,不能完,全,全保证,。,。,1.2,软,软,件,件危机,与,与软件,工,工程,彻底消,除,除“软,件,件就是,程,程序”,的,的错误,观,观念。,充分认,识,识到软,件,件开发,应,应该是,一,一种组,织,织良好,、,、管理,严,严密、,各,各类人,员,员协同,配,配合、,共,共同完,成,成的工,程,程项目,。,。,推广和,使,使用在,实,实践中,总,总结出,来,来的开,发,发软件,的,的成功,技,技术、,方,方法和,工,工具。,按工程,化,化的原,则,则和方,法,法组织,软,软件开,发,发工作,。,。,如何摆,脱,脱软件,危,危机?,1.2,软,软,件,件危机,与,与软件,工,工程,1.2,软,软,件,件危机,与,与软件,工,工程,软件工,程,程的概,念,念,为了克,服,服软件,危,危机,1968年10月在北,大,大西洋,公,公约组,织,织(NATO)召开,的,的计算,机,机科学,会,会议上,,,,FritzBauer首次提,出,出“软,件,件工程,”,”的概,念,念,试,图,图将工,程,程化方,法,法应用,于,于软件,开,开发。,在NATO会议上,,,,FritzBauer对软件,工,工程的,定,定义是,:,:“软,件,件工程,就,就是为,了,了经济,地,地获得,可,可靠的,且,且能在,实,实际机,器,器上有,效,效地运,行,行的软,件,件,而,建,建立和,使,使用完,善,善的工,程,程原理,。,。”,1993年IEEE给出的,定,定义:,“软件,工,工程是,:,:,把,把系统,的,的、规,范,范的、,可,可度量,的,的途径,应,应用于,软,软件开,发,发、运,行,行和维,护,护过程,,,,也就,是,是把工,程,程应用,于,于软件,;,;,研,研究,中,中提到,的,的途径,。,。”。,1.2,软,软,件,件危机,与,与软件,工,工程,软件工,程,程是指导,计,计算机,软,软件开,发,发和维,护,护的一,门,门工程,学,学科。,采,采用工,程,程的概,念,念、原,理,理、技,术,术和方,法,法来开,发,发和维,护,护软件,,,,把经,过,过时间,考,考验而,证,证明正,确,确的管,理,理技术,和,和当前,能,能够得,到,到的最,好,好技术,结,结合起,来,来,以,经,经济地,开,开发出,高,高质量,的,的软件,并,并有效,地,地维护,它,它,这,就,就是软,件,件工程,。,。,1.2,软,软,件,件危机,与,与软件,工,工程,1.3,软,软件,工,工程的,目,目标,软件工,程,程的目,标,标是运,用,用先进,的,的软件,开,开发技,术,术和管,理,理方法,来,来提高,软,软件的,质,质量和,生,生产率,,,,也就,是,是要以,较,较短的,周,周期、,较,较低的,成,成本生,产,产出高,质,质量的,软,软件产,品,品,并,最,最终实,现,现软件,的,的工业,化,化生产,。,。,1.3,软,软件,工,工程的,目,目标,软件的,质,质量特,性,性:功能性、可靠性、可使用,性,性、效率、可维护,性,性和可移植,性,性。,功能性是指软,件,件所实,现,现的功,能,能达到,它,它的设,计,计规范,和,和满足,用,用户需,求,求的程,度,度;,可靠性是指在,规,规定的,时,时间和,条,条件下,,,,软件,能,能够正,常,常维持,其,其工作,的,的能力,;,;,可使用,性,性是指为,了,了使用,该,该软件,所,所需要,的,的能力,;,;,效率是指在,规,规定的,条,条件下,用,用软件,实,实现某,种,种功能,所,所需要,的,的计算,机,机资源,的,的有效,性,性;,可维护,性,性是指当,环,环境改,变,变或软,件,件运行,发,发生故,障,障时,,为,为了使,其,其恢复,正,正常运,行,行所做,努,努力的,程,程度;,可,可移植,性,性是指,软,软件从,某,某一环,境,境转移,到,到另一,环,环境时,所,所做努,力,力的程,度,度。,1.3,软,软件,工,工程的,目,目标,质量目,标,标之间,的,的关系,(1)关注大,型,型软件,的,的构造,(2)中心课,题,题是控,制,制复杂,性,性,(3)软件经,常,常变化,(4)开发软,件,件的效,率,率非常,重,重要,(5)和谐地,合,合作是,开,开发软,件,件的关,键,键,(6)软件必,须,须有效,地,地支持,它,它的用,户,户,(7)在软件,工,工程领,域,域中是,由,由一种,文,文化背,景,景的人,替,替具有,另,另一种,文,文化背,景,景的人,创,创造产,品,品,软件工,程,程的本,质,质特性,(1)按软件,生,生存周,期,期分阶,段,段制订,计,计划并,认,认真实,施,施 ,(2)坚持进,行,行阶段,评,评审,(3)坚持严,格,格的产,品,品控制,(4)使用现,代,代软件,开,开发技,术,术,(5)明确责,任,任,(6)用人少,而,而精,(7)不断改,进,进开发,过,过程,软件工,程,程的基,本,本原理,1.4,软,软件,生,生存期,概念,软件也,有,有一个,孕,孕育、,诞,诞生、,成,成长、,成,成熟和,衰,衰亡的,生,生存过,程,程,我,们,们称这,个,个过程,为,为软件生,命,命周期或软件生,存,存期。,软件生,存,存期由,软,软件定,义,义、软,件,件开发,和,和运行,维,维护3个时期,组,组成,,每,每个时,期,期又可,划,划分为,若,若干个,阶,阶段。,1.4,软,软件,生,生存期,软件定,义,义时期,主要任,务,务是解,决,决“做,什,什么”,的,的问题,,,,即确,定,定工程,的,的总目,标,标和可,行,行性;,导,导出实,现,现工程,目,目标应,使,使用的,策,策略及,系,系统必,须,须完成,的,的功能,;,;估计,完,完成工,程,程需要,的,的资源,和,和成本,;,;制订,工,工程进,度,度表。,通常又,分,分为3个阶段,:,:问题定,义,义、可行性,研,研究和需求分,析,析。,1.4,软,软件,生,生存期,软件开,发,发时期,主要任,务,务是解,决,决“如,何,何做”,的,的问题,,,,即具,体,体设计,和,和实现,在,在前一,个,个时期,定,定义的,软,软件。,由概要设,计,计、详细设,计,计、编码和测试4个阶段,组,组成。,1.4,软,软件,生,生存期,软件运,行,行维护,时,时期,主要任,务,务是使,软,软件持,久,久地满,足,足用户,的,的需要,,,,通常,有,有4类维护,活,活动:,改正性,维,维护,也就,是,是诊断,和,和改正,在,在使用,过,过程中,发,发现的,软,软件错,误,误;,适应性,维,维护,即修,改,改软件,以,以适应,环,环境的,变,变化;,完善性,维,维护,即根,据,据用户,的,的要求,改,改进或,扩,扩充软,件,件,使,它,它更完,善,善;,预防性,维,维护,即修,改,改软件,为,为将来,的,的维护,活,活动预,先,先做准,备,备。,1.4,软,软件,生,生存期,开发过,程,程中的,典,典型文,档,档,软件需,求,求规格,说,说明书:描述,将,将要开,发,发的软,件,件做什,么,么。,项目计,划,划:描述,将,将要完,成,成的任,务,务及其,顺,顺序,,并,并估计,所,所需要,的,的时间,及,及工作,量,量。,软件测,试,试计划:描述,如,如何测,试,试软件,,,,使之,确,确保软,件,件应实,现,现规定,的,的功能,,,,并达,到,到预期,的,的性能,。,。,软件设,计,计说明,书,书:描述,软,软件的,结,结构,,包,包括概,要,要设计,及,及详细,设,设计。,用户手,册,册:描述,如,如何使,用,用软件,。,。,1.4,软,软件,生,生存期,各个阶,段,段所要,完,完成的,基,基本任,务,务,问题定,义,义与可,行,行性研,究,究,本阶段,要,要回答,的,的关键,问,问题是,“,“到底,要,要解决,什,什么问,题,题?在,成,成本和,时,时间的,限,限制条,件,件下能,否,否解决,问,问题?,是,是否值,得,得做?,”,”,(2)需求分,析,析,本阶段,要,要回答,的,的关键,问,问题是,“,“目标,系,系统应,当,当做什,么,么?”,(3)软件设,计,计,设计是,软,软件工,程,程的技,术,术核心,。,。本阶,段,段要回,答,答的关,键,键问题,是,是“如,何,何实现,目,目标系,统,统?”,1.4,软,软件,生,生存期,各个阶,段,段所要,完,完成的,基,基本任,务,务,(4)程序编,码,码和单,元,元测试,本阶段,要,要解决,的,的问题,是,是“正,确,确地实,现,现已做,的,的设计,”,”,即,“,“如何,编,编写正,确,确的、,可,可维护,的,的程序,代,代码?,”,”,(5)集成和,系,系统测,试,试,测试是,控,控制软,件,件质量,的,的重要,手,手段,,本,本阶段,的,的主要,任,任务是,做,做集成,测,测试和,系,系统测,试,试。,(6)软件运,行,行和维,护,护,已交付,的,的软件,投,投入正,式,式使用,,,,便进,入,入运行,阶,阶段。,这,这一阶,段,段可能,持,持续若,干,干年。,软,软件在,运,运行中,可,可能由,于,于多方,面,面的原,因,因,需,要,要对它,进,进行修,改,改。,1.5,软,软件,生,生存期,模,模型,瀑布模,型,型,快速原,型,型模型,增量模,型,型,螺旋模,型,型,喷泉模,型,型,统一过,程,程,瀑布模,型,型,在20世纪80年代之,前,前,瀑,布,布模型,一,一直是,唯,唯一被,广,广泛采,用,用的生,命,命周期,模,模型。,传统的,瀑,瀑布模,型,型如图,所,所示。,瀑布模,型,型,瀑布模,型,型的特,点,点,阶段间,具,具有顺,序,序性和,依,依赖性,。,。其中,包,包含两,重,重含义,:,:, 必,须,须等前,一,一阶段,的,的工作,完,完成之,后,后,才,能,能开始,后,后一阶,段,段的工,作,作;, 前,一,一阶段,的,的输出,文,文档就,是,是后一,阶,阶段的,输,输入文,档,档。,瀑布模,型,型,瀑布模,型,型的特,点,点,推迟实,现,现的观,点,点, 瀑,布,布模型,在,在编码,之,之前设,置,置了系,统,统分析,和,和系统,设,设计的,各,各个阶,段,段,分,析,析与设,计,计阶段,的,的基本,任,任务规,定,定,在,这,这两个,阶,阶段主,要,要考虑,目,目标系,统,统的逻,辑,辑模型,,,,不涉,及,及软件,的,的物理,实,实现。, 清,楚,楚地区,分,分逻辑,设,设计与,物,物理设,计,计,尽,可,可能推,迟,迟程序,的,的物理,实,实现,,是,是按照,瀑,瀑布模,型,型开发,软,软件的,一,一条重,要,要的指,导,导思想,。,。,瀑布模,型,型,瀑布模,型,型的特,点,点,质量保,证,证的观,点,点, 每,个,个阶段,都,都必须,完,完成规,定,定的文,档,档,没,有,有交出,合,合格的,文,文档就,是,是没有,完,完成该,阶,阶段的,任,任务。, 每,个,个阶段,结,结束前,都,都要对,所,所完成,的,的文档,进,进行评,审,审,以,便,便尽早,发,发现问,题,题,改,正,正错误,。,。,瀑布模,型,型,实际的,瀑,瀑布模,型,型,实际的,瀑,瀑布模,型,型是带,“,“反馈,环,环”的,,,,如图,所,所示。,图中实线箭,头,头表示,开,开发过,程,程,虚线箭,头,头表示,维,维护过,程,程。,瀑布模,型,型,瀑布模,型,型的优,点,点,可强迫,开,开发人,员,员采用,规,规范化,的,的方法,。,。,严格地,规,规定了,每,每个阶,段,段必须,提,提交的,文,文档。,要求每,个,个阶段,交,交出的,所,所有产,品,品都必,须,须是经,过,过验证,的,的。,瀑布模,型,型,瀑布模,型,型的缺,点,点,由于瀑,布,布模型,几,几乎完,全,全依赖,于,于书面,的,的规格,说,说明,,很,很可能,导,导致最,终,终开发,出,出的软,件,件产品,不,不能真,正,正满足,用,用户的,需,需要。,如,如果需,求,求规格,说,说明与,用,用户需,求,求之间,有,有差异,,,,就会,发,发生这,种,种情况,。,。,瀑布模,型,型只适,用,用于项,目,目开始,时,时需求,已,已确定,的,的情况,。,。,快速原,型,型模型,快速原,型,型是快,速,速建立,起,起来的,可,可以在,计,计算机,上,上运行,的,的程序,,,,它所,能,能完成,的,的功能,往,往往是,最,最终产,品,品能完,成,成的功,能,能的一,个,个子集,。,。,快速原,型,型模型,如,如图所,示,示。,快速原,型,型模型,快速原,型,型模型,的,的优点,(1)有助于,满,满足用,户,户的真,实,实需求,。,。,(2)原型系,统,统已经,通,通过与,用,用户的,交,交互而,得,得到验,证,证,据,此,此产生,的,的规格,说,说明文,档,档能够,正,正确地,描,描述用,户,户需求,。,。,(3)软件产,品,品的开,发,发基本,上,上是按,线,线性顺,序,序进行,。,。,(4)因为规,格,格说明,文,文档正,确,确地描,述,述了用,户,户需求,,,,因此,,,,在开,发,发过程,的,的后续,阶,阶段不,会,会因为,发,发现规,格,格说明,文,文档的,错,错误而,进,进行较,大,大的返,工,工。,快速原,型,型模型,快速原,型,型模型,的,的优点,(5)开发人,员,员通过,建,建立原,型,型系统,已,已经学,到,到了许,多,多东西,,,,因此,,,,在设,计,计和编,码,码阶段,发,发生错,误,误的可,能,能性也,比,比较小,,,,这自,然,然减少,了,了在后,续,续阶段,需,需要改,正,正前面,阶,阶段所,犯,犯错误,的,的可能,性,性。,(6)快速原,型,型的突,出,出特点,是,是“快,速,速”。,开,开发人,员,员应该,尽,尽可能,快,快地建,造,造出原,型,型系统,,,,以加,速,速软件,开,开发过,程,程,节,约,约软件,开,开发成,本,本。,原型的,用,用途是,获,获知用,户,户的真,正,正需求,,,,一旦,需,需求确,定,定了,,原,原型可,以,以抛弃,,,,当然,也,也可以,在,在原型,的,的基础,上,上进行,开,开发。,增量模,型,型,增量模,型,型也称,为,为渐增,模,模型,,是,是Mills等于1980年提出,来,来的。,使用增,量,量模型,开,开发软,件,件时,,把,把软件,产,产品作,为,为一系,列,列的增,量,量构件,来,来设计,、,、编码,、,、集成,和,和测试,。,。,每个构,件,件由多,个,个相互,作,作用的,模,模块构,成,成,并,且,且能够,完,完成特,定,定的功,能,能。,增量模,型,型,增量模,型,型如图,所,所示。,增量模,型,型,增量模,型,型的优,点,点,(1)能在较,短,短时间,内,内向用,户,户提交,可,可完成,一,一些有,用,用的工,作,作产品,,,,即从,第,第1个构件,交,交付之,日,日起,,用,用户就,能,能做一,些,些有用,的,的工作,。,。,(2)逐步增,加,加产品,的,的功能,可,可以使,用,用户有,较,较充裕,的,的时间,学,学习和,适,适应新,产,产品,,从,从而减,少,少一个,全,全新的,软,软件可,能,能给用,户,户组织,带,带来的,冲,冲击。,(3)项目失,败,败的风,险,险较低,,,,虽然,在,在某些,增,增量构,件,件中可,能,能遇到,一,一些问,题,题,但,其,其他增,量,量构件,将,将能够,成,成功地,交,交付给,客,客户。,(4)优先级,最,最高的,服,服务首,先,先交付,,,,然后,再,再将其,他,他增量,构,构件逐,次,次集成,进,进来。,因,因此,,最,最重要,的,的系统,服,服务将,接,接受最,多,多的测,试,试。,增量模,型,型,增量构,件,件开发,每个增,量,量构件,应,应当实,现,现某种,系,系统功,能,能,因,此,此增量,构,构件的,开,开发可,以,以采用,瀑,瀑布模,型,型的方,式,式,如,图,图所示,。,。,增量模,型,型,采用增,量,量模型,需,需注意,的,的问题,(1)在把每,个,个新的,增,增量构,件,件集成,到,到现有,软,软件体,系,系结构,中,中时,,必,必须不,破,破坏原,来,来已经,开,开发出,的,的产品,。,。,(2)软件体,系,系结构,必,必须是,开,开放的,,,,即向,现,现有产,品,品中加,入,入新构,件,件的过,程,程必须,简,简单、,方,方便。,因此,,采,采用增,量,量模型,比,比采用,瀑,瀑布模,型,型和快,速,速原型,模,模型更,需,需要精,心,心的设,计,计。,螺旋模,型,型,螺旋模,型,型最初,是,是Boehm于1988年提出,来,来的。,该模型,将,将瀑布,模,模型与,快,快速原,型,型模型,结,结合起,来,来,并,且,且加入,两,两种模,型,型均忽,略,略了的,风,风险分,析,析。,螺旋模,型,型的基,本,本思想,是,是,使,用,用原型,及,及其他,方,方法来,尽,尽量降,低,低风险,。,。,螺旋模,型,型,理解这,种,种模型,的,的一个,简,简便方,法,法,是,把,把它看,做,做在每,个,个阶段,之,之前都,增,增加了,风,风险分,析,析过程,的,的快速,原,原型模,型,型。,螺旋模,型,型,完整的,螺,螺旋模,型,型,螺旋模,型,型,完整的,螺,螺旋模,型,型,在螺旋,模,模型中,,,,软件,过,过程表,示,示成一,个,个螺线,,,,而不,是,是像以,往,往的模,型,型那样,表,表示为,一,一个具,有,有回溯,的,的活动,序,序列。,在螺线,上,上的每,一,一个循,环,环表示,过,过程的,一,一个阶,段,段。,每个阶,段,段开始,时,时的任,务,务是确,定,定该阶,段,段的目,标,标、为,完,完成这,些,些目标,选,选择方,案,案及设,定,定这些,方,方案的,约,约束条,件,件。接,下,下来的,任,任务是,,,,从风,险,险角度,分,分析上,一,一步的,工,工作结,果,果,努,力,力排除,各,各种潜,在,在的风,险,险,通,常,常用建,造,造原型,的,的方法,来,来排除,风,风险。,如,如果成,功,功地排,除,除了所,有,有风险,,,,则启,动,动下一,步,步开发,步,步骤,,在,在这个,步,步骤的,工,工作过,程,程相当,于,于纯粹,的,的瀑布,模,模型。,最,最后是,评,评价该,阶,阶段的,工,工作成,果,果并计,划,划下一,个,个阶段,的,的工作,。,。,螺旋模,型,型,螺旋模,型,型的4项活动,螺线上,的,的每一,个,个循环,可,可划分,为,为4个象限,,,,分别,表,表达了4个方面,的,的活动,。,。,(1)目标设,定,定定义在,该,该阶段,的,的目标,,,,弄清,对,对过程,和,和产品,的,的限制,条,条件,,制,制订详,细,细的管,理,理计划,,,,识别,项,项目风,险,险,可,能,能还要,计,计划与,这,这些风,险,险有关,的,的对策,。,。,(2)风险估,计,计与弱,化,化针对每,一,一个风,险,险进行,详,详细分,析,析,设,想,想弱化,风,风险的,步,步骤。,(3)开发与,验,验证评价风,险,险之后,选,选择系,统,统开发,模,模型。,(4)计划评价开,发,发工作,,,,确定,是,是否继,续,续进行,螺,螺线的,下,下一个,循,循环。,如,如果确,定,定要继,续,续,则,计,计划项,目,目的下,一,一个阶,段,段的工,作,作。,螺旋模,型,型,螺旋模,型,型的优,点,点,对可选,方,方案和,约,约束条,件,件的强,调,调有利,于,于已有,软,软件的,重,重用,,也,也有助,于,于把软,件,件质量,作,作为软,件,件开发,的,的一个,重,重要目,标,标。,减少了,过,过多测,试,试或测,试,试不足,所,所带来,的,的风险,。,。,在螺旋,模,模型中,维,维护只,是,是模型,的,的另一,个,个周期,,,,因而,在,在维护,和,和开发,之,之间并,没,没有本,质,质区别,。,。,螺旋模,型,型,螺旋模,型,型的缺,点,点,螺旋模,型,型是风,险,险驱动,的,的,因,此,此要求,软,软件开,发,发人员,必,必须具,有,有丰富,的,的风险,评,评估经,验,验和这,方,方面的,专,专门知,识,识,否,则,则将出,现,现真正,的,的风险,:,:当项,目,目实际,上,上正在,走,走向灾,难,难时,,开,开发人,员,员可能,还,还以为,一,一切正,常,常。,喷泉模,型,型,喷泉模,型,型是典,型,型的面,向,向对象,生,生命周,期,期模型,。,。,“喷泉,”,”一词,体,体现了,迭,迭代和,无,无间隙,特,特性。,图,图中代,表,表不同,阶,阶段的,圆,圆圈相,互,互重叠,,,,这明,确,确表示,两,两个活,动,动之间,存,存在重,叠,叠。,基于构,件,件的开,发,发模型,基于构,件,件的软,件,件工程,(,(component,-,-basedsoftwareengineering,CBSE)是强,调,调使用,可,可复用,的,的软件,“,“构件,”,”来设,计,计和构,造,造基于,计,计算机,的,的系统,的,的过程,。,。,基于构,件,件的开,发,发模型,Clements对CBSE给出了,如,如下描,述,述。,CBSE正在改,变,变大型,软,软件系,统,统的开,发,发方式,。,。CBSE体现了FrodBrooks和其他,人,人支持,的,的“购,买,买,而,非,非构造,”,”的思,想,想。就,如,如同早,期,期的子,程,程序将,程,程序员,从,从考虑,编,编程细,节,节中解,脱,脱出来,一,一样,CBSE将考虑,的,的重点,从,从编码,转,转移到,组,组装软,件,件系统,。,。,考虑的,焦,焦点是,“,“集成,”,”,而,不,不再是,“,“实现,”,”。,这样做,的,的基础,是,是假定,在,在很多,大,大型软,件,件系统,中,中存在,足,足够多,的,的共性,,,,使得,开,开发可,复,复用的,构,构件来,满,满足这,些,些共性,是,是可行,的,的。,基于构,件,件的开,发,发模型,当软件,团,团队使,用,用传统,的,的需求,获,获取技,术,术确定,了,了待开,发,发软件,的,的系统,需,需求时,,,,该过,程,程开始,。,。,体系结,构,构设计,完,完成后,,,,并不,立,立即进,行,行详细,设,设计任,务,务,而,是,是针对,每,每一系,统,统需求,考,考虑以,下,下问题:,(1)现有的,商,商品化,构,构件(commercial off-the,-,-shelf,COTS)是否,能,能够实,现,现该需,求,求?,(2)内部开,发,发的可,复,复用构,件,件是否,能,能够实,现,现该需,求,求?,(3)可用构,件,件的接,口,口与待,构,构造系,统,统的体,系,系结构,是,是否相,容,容?,基于构,件,件的开,发,发模型,基于构,件,件的开,发,发模型,如,如下图,。,。,基于构,件,件的开,发,发模型,开发步,骤,骤,不考虑,构,构件的,开,开发技,术,术,基,于,于构件,的,的开发,模,模型由,以,以下步,骤,骤组成,:,:,(1)对于该,问,问题领,域,域的基,于,于构件,的,的可用,产,产品进,行,行研究,和,和评估,。,。,(2)考虑构,件,件集成,的,的问题,。,。,(3)设计软,件,件架构,以,以容纳,这,这些构,件,件。,(4)将构件,集,集成到,架,架构中,。,。,(5)进行充,分,分的测,试,试以保,证,证功能,正,正常。,基于构,件,件的开,发,发模型,典型的,构,构件模,型,型,(1)OMG,/,/CORBA。对象,管,管理组,织,织发布,了,了公共,对,对象请,求,求代理,体,体系结,构,构(OMG,/,/CORBA),一,个,个对象,请,请求代,理,理提供,了,了多种,服,服务,,使,使得可,复,复用构,件,件(对,象,象)可,以,以与其,他,他构件,通,通信。,(2)MicrosoftCOM/DCOM,/,/.NET。微软,公,公司开,发,发了构,件,件对象,模,模型(COM),此,模,模型提,供,供了构,件,件的规,格,格说明,在Windows操作系,统,统,一,个,个应用,系,系统中,可,可以使,用,用不同,厂,厂商生,产,产的构,件,件。,(3)SunJavaBean构件。JavaBean构件系,统,统是一,个,个可移,植,植的、,平,平台独,立,立的、,使,使用Java程序设,计,计语言,开,开发的CBSE基础设,施,施。,统一过,程,程,由Booch、Jacobson及Rumbaugh提出,,统,统一过,程,程模型,如,如图所,示,示。,统一过,程,程,统一过,程,程的工,作,作流,在统一,过,过程中,,,,有6个核心,工,工作流,。,。,业务建,模,模工作,流,流。用商,业,业用例,为,为商业,过,过程建,立,立文档,。,。,需求工,作,作流。目标,是,是描述,系,系统应,该,该做什,么,么,确,保,保开发,人,人员构,建,建正确,的,的系统,。,。为此,,,,需明,确,确系统,的,的功能,需,需求和,非,非功能,需,需求(,约,约束),。,。,分析和,设,设计工,作,作流。其目,标,标是说,明,明如何,做,做。结,果,果是分,析,析模型,和,和设计,模,模型。,统一过,程,程,实现工,作,作流。用分,层,层的方,式,式组织,代,代码的,结,结构,,用,用构件,的,的形式,来,来实现,类,类,对,构,构件进,行,行单元,测,测试,,将,将构件,集,集成到,可,可执行,的,的系统,中,中。,测试工,作,作流。验证,对,对象之,间,间的交,互,互、是,否,否所有,的,的构件,都,都集成,了,了、是,否,否正确,实,实现了,所,所有需,求,求、查,错,错并改,正,正。,部署工,作,作流。制作,软,软件的,外,外部版,本,本、软,件,件打包,、,、分发,、,、为用,户,户提供,帮,帮助和,支,支持。,统一过,程,程,统一过,程,程的阶,段,段,统一过,程,程有4个阶段,,,,分别,是,是初始,阶,阶段、,细,细化阶,段,段、构,造,造阶段,和,和移交,阶,阶段。,初始阶,段,段。初始,阶,阶段主,要,要关注,项,项目计,划,划和风,险,险评估,,,,其目,的,的是确,定,定是否,值,值得开,发,发目标,信,信息系,统,统。,细化阶,段,段。细化,阶,阶段关,心,心定义,系,系统的,总,总体框,架,架,其,目,目标是,:,:细化,初,初始需,求,求(用,况,况)、,细,细化体,系,系结构,、,、监控,风,风险并,细,细化它,们,们的优,先,先级、,细,细化业,务,务案例,以,以及制,订,订项目,管,管理计,划,划。,统一过,程,程,统一过,程,程的阶,段,段,构造阶,段,段。构造,阶,阶段是,建,建立系,统,统,构,造,造信息,系,系统的,第,第1个具有,操,操作质,量,量的版,本,本,以,能,能够交,付,付给客,户,户进行测试的,版,版本结,束,束,有,时,时称为,测,测试版,本,本。,移交阶,段,段。移交,阶,阶段包,含,含测试时,期,期,以,发,发布完,整,整的系,统,统而终,止,止,其,目,目标是,确,确保信,息,息系统,真,真正满,足,足客户,的,的需求,。,。,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,软件工,程,程教育,(,3个历史,时,时期,),(1)1978年以前,:,:软件,工,工程教,育,育以计,算,算机专,业,业的一,门,门孤立,的,的课程,形,形式存,在,在。,(2)19781988年期间,:,:早期,的,的研究,生,生学位,教,教育,,开,开始建,立,立软件,工,工程专,业,业的研,究,究生学,位,位教育,项,项目。,(3)1988年以后,:,:快速,发,发展的,研,研究生,学,学科教,育,育,使,软,软件工,程,程的理,论,论快速,发,发展,,其,其中,,卡,卡内基梅隆大,学,学软件,工,工程研,究,究所(SEI)的影,响,响不可,忽,忽视。,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,软件工,程,程知识,体,体,软件工,程,程已从,计,计算机,科,科学与,技,技术中,脱,脱离出,来,来,逐,渐,渐形成,了,了一门,独,独立的,学,学科。,对,对其知,识,识体系,的,的研究,从,从20世纪90年代初,就,就开始,了,了。,标志是,美,美国Embry-Riddle航空大,学,学计算,与,与数学,系,系ThomasB.Hilburn教授的,“,“软件工,程,程知识,体,体系指,南,南”(GuidetoSoftwareEngineeringBody of Knowledge,SWEBOK)研究,项,项目。,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,软件工,程,程知识,体,体系指,南,南的目,标,标,(1)促使软,件,件工程,本,本体知,识,识成为,世,世界范,围,围的共,识,识。,(2)澄清软,件,件工程,与,与其他,相,相关学,科,科,如,与,与计算,机,机科学,、,、项目,管,管理、,计,计算机,工,工程以,及,及计算,机,机数学,之,之间的,关,关系,,并,并且确,定,定软件,工,工程学,科,科的范,围,围。,(3)反映软,件,件工程,学,学科内,容,容的特,征,征。,(4)确定软,件,件工程,本,本体知,识,识的各,个,个专题,。,。,(5)为相应,的,的课程,和,和职业,资,资格认,证,证材料,的,的编写,奠,奠定基,础,础。,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,软件工,程,程知识,体,体系指,南,南的内,容,容,SWEBOK指南将,软,软件工,程,程知识,体,体系划,分,分为10个知识,域,域(knowledgeareas,KA),分,为,为两类,过,过程。,一类是开发与,维,维护过,程,程,包括,软,软件需,求,求、软,件,件设计,、,、软件,构,构造、,软,软件测,试,试和软,件,件维护,;,;,另一类,是,是支持和,组,组织过,程,程,包括,软,软件配,置,置管理,、,、软件,工,工程管,理,理、软,件,件工程,过,过程、,软,软件工,程,程工具,与,与方法,和,和软件,质,质量。,每,每个知,识,识域还,可,可进一,步,步分解,为,为若干,论,论题。,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,软件工,程,程知识,体,体系指,南,南的内,容,容,1.6,软,软件,工,工程知,识,识体系,及,及知识,域,域,每个知,识,识域又,可,可分解,为,为若干,子,子知识,域,域,如,表,表所示,。,。,ThatsAll!,
展开阅读全文