资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,#,2024/10/2,1,软件工程,软件工程,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,2,软件工,程,程介绍,软件工,程,程(SoftwareEngineering,简称,为,为SE)是一门,研,研究用,工,工程化,方,方法构,建,建和维,护,护有效,的,的、实,用,用的和,高,高质量,的,的软件,的,的学科,。,。它涉,及,及到程,序,序设计,语,语言,,数,数据库,,,,软件,开,开发工,具,具,系,统,统平台,,,,标准,,,,设计,模,模式等,方,方面。,在现代,社,社会中,,,,软件,应,应用于,多,多个方,面,面。典,型,型的软,件,件比如,有,有电子,邮,邮件,,嵌,嵌入式,系,系统,,人,人机界,面,面,办,公,公套件,,,,操作,系,系统,,编,编译器,,,,数据,库,库,游,戏,戏等。,同,同时,,各,各个行,业,业几乎,都,都有,计,计算机,软,软件的,应,应用,,比,比如工,业,业,农,业,业,银,行,行,航,空,空,政,府,府部门,等,等。这,些,些应用,促,促进了,经,经济和,社,社会的,发,发展,,使,使得人,们,们的工,作,作更加,高,高效,,同,同时提,高,高了生,活,活质量,。,。,软件工,程,程师是对应,用,用软件,创,创造软,件,件的人,们,们的统,称,称,软,件,件工程,师,师按照,所,所处的,领,领域不,同,同可以,分,分为系,统,统分析,员,员,软,件,件设计,师,师,系,统,统架构,师,师,程,序,序员,,测,测试员,等,等等。,人,人们也,常,常常用,程,程序员,来,来泛指,各,各种软,件,件工程,师,师。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,3,软件工,程,程(SoftWareEngineering,),)的框架,可,可概括,为,为:目标,、,、过程,和,和原则,。,。,(1)软件工,程,程目标,:,:生产,具,具有正,确,确性、,可,可用性,以,以及开,销,销合宜,的,的产品,。,。正确,性,性指软,件,件产品,达,达到预,期,期功能,的,的程度,。,。可用,性,性指软,件,件基本,结,结构、,实,实现及,文,文档为,用,用户可,用,用的程,度,度。,开,开销合,宜,宜是指,软,软件开,发,发、运,行,行的整,个,个开销,满,满足用,户,户要求,的,的程度,。,。这些,目,目标的,实,实现不,论,论在理,论,论上还,是,是在实,践,践中均,存,存在很,多,多待解,决,决的问,题,题,它,们,们形成,了,了对过,程,程、过,程,程 模,型,型及工,程,程方法,选,选取的,约,约束。,(2)软件工,程,程过程,:,:生产,一,一个最,终,终能满,足,足需求,且,且达到,工,工程目,标,标的软,件,件产品,所,所需要,的,的步骤,。,。软件,工,工程过,程,程主要,包,包括开,发,发过程,、,、运作,过,过程、,维,维护过,程,程。它,们,们覆盖,了,了需,求,求、设,计,计、实,现,现、确,认,认以及,维,维护等,活,活动。,需,需求活,动,动包括,问,问题分,析,析和需,求,求分析,。,。问题,分,分析获,取,取需求,定,定义,,又,又称软,件,件需求,规,规约。,需,需求分,析,析生成,功,功能规,约,约。设,计,计活动,一,一般包,括,括概,要,要设计,和,和详细,设,设计。,概,概要设,计,计建立,整,整个软,件,件系统,结,结构,,包,包括子,系,系统、,模,模块以,及,及相关,层,层次的,说,说明、,每,每一模,块,块的接,口,口定义,。,。详细,设,设计产,生,生程序,员,员可用,的,的模块,说,说明,,包,包 括,每,每一模,块,块中数,据,据结构,说,说明及,加,加工描,述,述。实,现,现活动,把,把设计,结,结果转,换,换为可,执,执行的,程,程序代,码,码。确,认,认活动,贯,贯穿于,整,整个开,发,发过程,,,,实现,完,完成后,的,的确认,,,,保证,最,最终产,品,品满足,用,用户,的,的要求,。,。维护,活,活动包,括,括使用,过,过程中,的,的扩充,、,、修改,与,与完善,。,。伴随,以,以上过,程,程,还,有,有管理,过,过程、,支,支持过,程,程、培,训,训过程,等,等。,(3)软件工,程,程的原,则,则是指,围,围绕工,程,程设计,、,、工程,支,支持以,及,及工程,管,管理在,软,软件开,发,发过程,中,中必须,遵,遵循的,原,原则。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,4,一、软,件,件工程,概,概述,软件工,程,程是一,类,类工程,。,。工程,是,是将理,论,论和知,识,识应用,于,于实践,的,的科学,。,。就软,件,件工程,而,而言,,它,它借鉴,了,了传统,工,工程的,原,原则和,方,方法,,以,以求高,效,效地开,发,发高质,量,量软件,。,。其中,应,应 用,了,了计算,机,机科学,、,、数学,和,和管理,科,科学。,计,计算机,科,科学和,数,数学用,于,于构造,模,模型与,算,算法,,工,工程科,学,学用于,制,制定规,范,范、设,计,计范型,、,、评估,成,成本及,确,确定权,衡,衡,管,理,理科学,用,用于计,划,划、资,源,源、,质,质量和,成,成本的,管,管理。,软件工,程,程这一,概,概念,,主,主要是,针,针对20世纪60年代“,软,软件危,机,机”而,提,提出的,。,。它首,次,次出现,在,在1968年NATO(北大,西,西洋公,约,约组织,),)会议,上,上。自,这,这一概,念,念提出,以,以来,,围,围绕,软,软件项,目,目,开,展,展了有,关,关开发,模,模型、,方,方法以,及,及支持,工,工具的,研,研究。,其,其主要,成,成果有,:,:提出,了,了瀑布,模,模型,,开,开发了,一,一些结,构,构化程,序,序设计,语,语言(,例,例如PASCAL语言,Ada语言),、,、结构,化,化方法,等,等。并,且,且围绕,项,项目管,理,理提出,了,了费用,估,估算、,文,文档复,审,审等方,法,法和工,具,具。综,观,观60年代末,至,至80年代初,,,,其主,要,要特征,是,是,前,期,期着重,研,研究系,统,统实现,技,技术,,,,后期,开,开始强,调,调开发,管,管理和,软,软件质,量,量。,70年代初,,,,自“,软,软件工,厂,厂”这,一,一概念,提,提出以,来,来,主,要,要围绕,软,软件过,程,程以及,软,软件复,用,用,开,展,展了有,关,关软件,生,生产技,术,术和软,件,件生产,管,管理的,研,研究与,实,实践。,其,其主要,成,成果有,:,:提出,了,了 应,用,用广泛,的,的面向,对,对象语,言,言以及,相,相关的,面,面向对,象,象方法,,,,大力,开,开展了,计,计算机,辅,辅助软,件,件工程,的,的研究,与,与实践,。,。尤其,是,是近几,年,年来,,针,针对软,件,件复用,及,及软件,生,生产,,软,软件构,件,件技术,以,以及,软,软件质,量,量控制,技,技术、,质,质量保,证,证技术,得,得到了,广,广泛的,应,应用。,目,目前各,个,个软件,企,企业都,十,十分重,视,视资质,认,认证,,并,并想通,过,过这些,工,工作进,行,行企业,管,管理和,技,技术的,提,提升。,软,软件工,程,程所涉,及,及的要,素,素可,概,概括如,下,下:,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,5,根据这,一,一框架,,,,可以,看,看出:,软,软件工,程,程涉及,了,了软件,工,工程的,目,目标、,软,软件工,程,程原则,和,和软件,工,工程活,动,动。,目标:,我,我的眼,里,里只有,“,“产品,”,”,软件工,程,程的主,要,要目标,是,是:生,产,产具有,正,正确性,、,、可用,性,性以及,开,开销合,宜,宜的产,品,品。正,确,确性意,指,指软件,产,产品达,到,到预期,功,功能的,程,程度。,可,可用性,指,指软件,基,基本结,构,构、实,现,现及文,档,档为用,户,户可用,的,的程,度,度。开,销,销合宜,性,性是指,软,软件开,发,发、运,行,行的整,个,个开销,满,满足用,户,户要求,的,的程度,。,。这些,目,目标的,实,实现不,论,论在理,论,论上还,是,是在实,践,践中均,存,存在很,多,多问题,有,有待解,决,决,它,们,们形成,了,了对过,程,程、,过,过程模,型,型及工,程,程方法,选,选取的,约,约束。,软件工,程,程活动,是,是“生,产,产一个,最,最终满,足,足需求,且,且达到,工,工程目,标,标的软,件,件产品,所,所需要,的,的步骤,”,”。主,要,要包括,需,需求、,设,设计、,实,实现、,确,确认以,及,及支持,等,等活动,。,。需求,活,活动包,括,括问题,分,分析和,需,需求,分,分析。,问,问题分,析,析获取,需,需求定,义,义,又,称,称软件,需,需求规,约,约。需,求,求分析,生,生成功,能,能规约,。,。设计,活,活动一,般,般包括,概,概要设,计,计和详,细,细设计,。,。概要,设,设计建,立,立整个,软,软件体,系,系结构,,,,包括,子,子 系,统,统、模,块,块以及,相,相关层,次,次的说,明,明、每,一,一模块,接,接口定,义,义。详,细,细设计,产,产生程,序,序员可,用,用的模,块,块说明,,,,包括,每,每一模,块,块中数,据,据结构,说,说明及,加,加工描,述,述。实,现,现活动,把,把设计,结,结果转,换,换为,可,可执行,的,的程序,代,代码。,确,确认活,动,动贯穿,于,于整个,开,开发过,程,程,实,现,现完成,后,后的确,认,认,保,证,证最终,产,产品满,足,足用户,的,的要求,。,。支持,活,活动包,括,括修改,和,和完善,。,。伴随,以,以上活,动,动,还,有,有管理,过,过程、,支,支持,过,过程、,培,培训过,程,程等。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,6,框架:,四,四项基,本,本原则,是,是基石,软件工,程,程围绕,工,工程设,计,计、工,程,程支持,以,以及工,程,程管理,,,,提出,了,了以下,四,四项基,本,本原则,:,:,第一,,选,选取适,宜,宜开发,范,范型。,该,该原则,与,与系统,设,设计有,关,关。在,系,系统设,计,计中,,软,软件需,求,求、硬,件,件需求,以,以及其,他,他因素,之,之间是,相,相互制,约,约、相,互,互影响,的,的,经,常,常需要,权,权衡。,因,因此,,必,必须认,识,识需求,定,定义的,易,易变性,,,,采用,适,适宜的,开,开发范,型,型予以,控,控制,,以,以保证,软,软件产,品,品满足,用,用户的,要,要求。,第二,,采,采用合,适,适的设,计,计方法,。,。在软,件,件设计,中,中,通,常,常要考,虑,虑软件,的,的模块,化,化、抽,象,象与信,息,息隐蔽,、,、局部,化,化、一,致,致性以,及,及适应,性,性等特,征,征。合,适,适的设,计,计方法,有,有助于,这,这些特,征,征的实,现,现,以,达,达到软,件,件工程,的,的目标,。,。,第三,,提,提供高,质,质量的,工,工程支,持,持。“,工,工欲善,其,其事,,必,必先利,其,其器”,。,。在软,件,件工程,中,中,软,件,件工具,与,与环境,对,对软件,过,过程的,支,支持颇,为,为重要,。,。软件,工,工程项,目,目的质,量,量与开,销,销直接,取,取决于,对,对软件,工,工程所,提,提供的,支,支撑质,量,量和效,用,用。,第四,,重,重视开,发,发过程,的,的管理,。,。软件,工,工程的,管,管理,,直,直接影,响,响可用,资,资源的,有,有效利,用,用,生,产,产满足,目,目标的,软,软件产,品,品,提,高,高软件,组,组织的,生,生产能,力,力等问,题,题。因,此,此,仅,当,当软件,过,过程得,以,以有效,管,管理时,,,,才能,实,实现有,效,效的软,件,件工程,。,。,这一软,件,件工程,框,框架告,诉,诉我们,,,,软件,工,工程的,目,目标是,可,可用性,、,、正确,性,性和合,算,算性;,实,实施一,个,个软件,工,工程要,选,选取适,宜,宜的开,发,发范型,,,,要采,用,用合适,的,的设计,方,方法,,要,要提供,高,高质量,的,的工程,支,支撑,,,,要实,行,行开发,过,过程的,有,有效管,理,理;软,件,件工程,活,活动主,要,要包括,需,需求、,设,设计、,实,实现、,确,确认和,支,支持等,活,活动,,每,每一活,动,动可根,据,据特定,的,的软件,工,工程,,采,采用合,适,适的开,发,发范型,、,、设计,方,方 法,、,、支持,过,过程以,及,及过程,管,管理。,根,根据软,件,件工程,这,这一框,架,架,软,件,件工程,学,学科的,研,研究内,容,容主要,包,包括:,软,软件开,发,发范型,、,、软件,开,开发方,法,法、软,件,件过程,、,、软件,工,工具、,软,软件开,发,发环境,、,、计,算,算机辅,助,助软件,工,工程(CASE)及软件,经,经济学,等,等。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,7,二、软,件,件工程,的,的七条,基,基本原,理,理,自从1968年提出,“,“软件,工,工程”,这,这一术,语,语以来,,,,研究,软,软件工,程,程的专,家,家学者,们,们陆续,提,提出,了,了100多条关,于,于软件,工,工程的,准,准则或,信,信条。,美,美国,著,著名的,软,软件工,程,程专家Boehm综合这,些,些专家,的,的意见,,,,并总,结,结了TRW公司多,年,年的开,发,发软件,的,的经验,,,,于1983年提出,了,了软件,工,工程的,七,七条基,本,本原理,。,。,Boehm认为,,着,着七条,原,原理是,确,确保软,件,件产品,质,质量和,开,开发效,率,率的原,理,理的最,小,小集合,。,。,它,它们是,相,相互独,立,立的,,是,是缺一,不,不可的,最,最小集,合,合;同,时,时,它,们,们又是,相,相当完,备,备的。,人们当,然,然不能,用,用数学,方,方法严,格,格证明,它,它们是,一,一个完,备,备的集,合,合,但,是,是可以,证,证明,,在,在此之,前,前已经,提,提出的100多条软,件,件工程,准,准则都,可,可以有,这,这七条,原,原理的,任,任意组,合,合蕴含,或,或派生,。,。,下面简,要,要介绍,软,软件工,程,程的七,条,条原理,:,:,1用分阶,段,段的生,命,命周期,计,计划严,格,格管理,这,这,一,一条是,吸,吸取前,人,人的教,训,训而提,出,出来的,。,。统计,表,表明,50%以上的,失,失败项,目,目是由,于,于计划,不,不周而,造,造成,的,的。在,软,软件开,发,发与维,护,护的漫,长,长生命,周,周期中,,,,需要,完,完成许,多,多性质,各,各异的,工,工作。,这,这条原,理,理意味,着,着,应,该,该把软,件,件生命,周,周期分,成,成若干,阶,阶段,,并,并相应,制,制定出,切,切实可,行,行的计,划,划,然,后,后严,格,格按照,计,计划对,软,软件的,开,开发和,维,维护进,行,行管理,。,。Boehm认为,,在,在整个,软,软件生,命,命周期,中,中应指,定,定并严,格,格执行6类计划,:,:项目,概,概要计,划,划、里,程,程碑计,划,划、项,目,目控制,计,计划、,产,产品控,制,制计划,、,、验证,计,计划、,运,运行维,护,护计划,。,。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,8,2坚持进,行,行阶段,评,评审,统,统计,结,结果显,示,示:,大,大部分,错,错误是,在,在编码,之,之前造,成,成的,,大,大约占63%,;,; 错误发,现,现的越,晚,晚,改,正,正它要,付,付出的,代,代价就,越,越大,,要,要差2到3个数量,级,级。,因,因此,,软,软件的,质,质量保,证,证工作,不,不能等,到,到编码,结,结束之,后,后再进,行,行,应,坚,坚持进,行,行严格,的,的阶段,评,评审,,以,以便尽,早,早发现,错,错误。,3实行严,格,格的产,品,品控制,开,开,发,发人员,最,最痛恨,的,的事情,之,之一就,是,是改动,需,需求。,但,但是实,践,践告诉,我,我们,,需,需求的,改,改动往,往,往是不,可,可避免,的,的。这,就,就要求,我,我们要,采,采用科,学,学的产,品,品控制,技,技术来,顺,顺应这,种,种要求,。,。也就,是,是要采,用,用变动,控,控制,,又,又叫基,准,准配置,管,管理。,当,当需求,变,变动时,,,,其它,各,各个阶,段,段的文,档,档或代,码,码随之,相,相应变,动,动,以,保,保证软,件,件的一,致,致性。,4采纳现,代,代程序,设,设计技,术,术,从,从六、,七,七时年,代,代的结,构,构化软,件,件开发,技,技术,,到,到最近,的,的面向,对,对象技,术,术,从,第,第一、,第,第二代,语,语言,,到,到第四,代,代语言,,,,人们,已,已经充,分,分认识,到,到:方,法,法大似,气,气力。,采,采用先,进,进的技,术,术即可,以,以提高,软,软件开,发,发的效,率,率,又,可,可以减,少,少软件,维,维护的,成,成本。,5结果应,能,能清楚,地,地审查,软,软,件,件是一,种,种看不,见,见、摸,不,不着的,逻,逻辑产,品,品。软,件,件开发,小,小组的,工,工作进,展,展情况,可,可见性,差,差,难,于,于评价,和,和管理,。,。为更,好,好地进,行,行管理,,,,应根,据,据软件,开,开发的,总,总目标,及,及完成,期,期限,,尽,尽量,明,明确地,规,规定开,发,发小组,的,的责任,和,和产品,标,标准,,从,从而使,所,所得到,的,的标准,能,能清楚,地,地审查,。,。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,9,6开发小,组,组的人,员,员应少,而,而精,开,开发,人,人员的,素,素质和,数,数量是,影,影响软,件,件质量,和,和开发,效,效率的,重,重要因,素,素,应,该,该少而,精,精。,这,这一,条,条基于,两,两点原,因,因:高,素,素质开,发,发人员,的,的效率,比,比低素,质,质开发,人,人员的,效,效率要,高,高几倍,到,到几十,倍,倍,开,发,发工作,中,中犯的,错,错误也,要,要少的,多,多;,当,当开发,小,小组为N人时,,可,可能的,通,通讯信,道,道为N(N,-,-1),/,/2,可见随,着,着人数N的增大,,,,通讯,开,开销将,急,急剧增,大,大。,7承认不,断,断改进,软,软件工,程,程实践,的,的必要,性,性,遵,遵从上,述,述六条,基,基本原,理,理,就,能,能够较,好,好地实,现,现软件,的,的工程,化,化生产,。,。但是,,,,它们,只,只是对,现,现有的,经,经验的,总,总结,和,和归纳,,,,并不,能,能保证,赶,赶上技,术,术不断,前,前进发,展,展的步,伐,伐。因,此,此,Boehm提出应,把,把承认,不,不断改,进,进软件,工,工程实,践,践的必,要,要性作,为,为软件,工,工程的,第,第七条,原,原理。,根,根据这,条,条原,理,理,不,仅,仅要积,极,极采纳,新,新的软,件,件开发,技,技术,,还,还要注,意,意不断,总,总结经,验,验,收,集,集进度,和,和消耗,等,等数据,,,,进行,出,出错类,型,型和问,题,题报告,统,统计。,这,这些数,据,据既可,以,以用来,评,评估新,的,的 软,件,件技术,的,的效果,,,,也可,以,以用来,指,指明必,须,须着重,注,注意的,问,问题和,应,应该优,先,先进行,研,研究的,工,工具和,技,技术。,面向方,面,面的编,程,程(AspectOrientedProgramming,简称AOP)被认,为,为是近,年,年来软,件,件工程,的,的另外,一,一个重,要,要发展,。,。这里,的,的方面,指,指的是,完,完成一,个,个功能,的,的对象,和,和函数,的,的集合,。,。在这,一,一方面,相,相关的,内,内 容,有,有泛型,编,编程(Generic Programming)和模,板,板。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,10,三、怎,样,样培养,软,软件工,程,程的思,维,维与方,法,法,作为软,件,件开发,人,人员的,一,一个通,病,病是在,项,项目初,期,期的时,候,候,就,喜,喜欢谈,论,论实现,的,的细节,,,,并且,乐,乐此不,疲,疲。我,们,们更喜,欢,欢讨论,如,如何用,灵,灵活而,简,简短的,代,代码来,实,实现一,个,个特,定,定的功,能,能,而,忽,忽略了,对,对整个,系,系统架,构,构的考,虑,虑。所,以,以作为,一,一个开,发,发人员,,,,尤其,是,是一个,有,有经验,的,的开发,人,人员,,应,应该把,自,自己从,代,代码中,解,解脱出,来,来,更,多,多的时,候,候在我,们,们的脑,子,子 里,甚,甚至暂,时,时要放,弃,弃去考,虑,虑如何,实,实现的,问,问题,,而,而从项,目,目或产,品,品的总,体,体去考,虑,虑一个,软,软件产,品,品。,以下是,我,我个人,的,的一些,经,经验:,1考虑,整,整个项,目,目或者,产,产品的,市,市场前,景,景。作,为,为一个,真,真正的,系,系统分,析,析人员,,,,不仅,要,要从技,术,术的角,度,度来考,虑,虑问题,,,,而且,还,还要从,市,市场的,角,角度去,考,考虑问,题,题。也,就,就是说,我,我们,同,同时需,要,要考虑,我,我们产,品,品的用,户,户群是,谁,谁,当,我,我们产,品,品投放,到,到市场,上,上的时,候,候,是,否,否具有,生,生命力,。,。比如,即,即使我,们,们采用,最,最好的,技,技术实,现,现了一,个,个单进,程,程的操,作,作系统,,,,其市,场,场 前,景,景也一,定,定是不,容,容乐观,的,的。,2从用,户,户的角,度,度来考,虑,虑问题,。,。比如,一,一些操,作,作对于,开,开发人,员,员来讲,是,是非常,显,显而易,见,见的问,题,题。但,是,是对于,一,一般的,用,用户来,说,说可能,就,就非常,难,难于掌,握,握,也,就,就是说,,,,有时,候,候,,我,我们不,得,得不在,灵,灵活性,和,和易用,性,性方面,进,进行折,中,中。另,外,外,在,功,功能实,现,现上,,我,我们也,需,需要进,行,行综合,考,考虑,,尽,尽管一,些,些功能,十,十分强,大,大,但,是,是如果,用,用户几,乎,乎不怎,么,么使用,它,它的话,,,, 就,不,不一定,在,在产品,的,的第一,版,版的时,候,候就推,出,出。从,用,用户的,角,角度考,虑,虑,也,就,就是说,用,用户认,可,可的才,是,是好的,,,,并不,是,是开发,人,人员觉,的,的好才,好,好。,3从技,术,术的角,度,度考虑,问,问题。,虽,虽然技,术,术绝对,不,不是唯,一,一重要,的,的,但,是,是技术,一,一定是,非,非常重,要,要的,,是,是成功,的,的必要,环,环节。,在,在产品,设,设计的,时,时候,,必,必须考,虑,虑采用,先,先进的,技,技术,和,和先进,的,的体系,结,结构。,比,比如,,如,如果可,以,以采用,多,多线程,进,进行程,序,序中各,个,个部分,并,并行处,理,理的话,,,,就最,好,好采用,多,多线程,处,处理。,在,在Windows下开发,的,的时候,,,,能够,把,把功能,封,封装,成,成一个,单,单独的COM构件就,不,不作成,一,一个简,单,单的DLL或者是,以,以源代,码,码存在,的,的函数,库,库或者,是,是对象,。,。比如,能,能够在B/S结构下,运,运行并,且,且不影,响,响系统,功,功能的,话,话就不,一,一定要,在,在C/S下实现,。,。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,11,4合理,进,进行模,块,块的分,割,割。从,多,多层模,型,型角度,来,来讲,,一,一般系,统,统可以,分,分成用,户,户层、,业,业务层,和,和数据,库,库层三,部,部分。,当,当然每,以,以部分,都,都还可,以,以进行,细,细分。,所,所以在,系,系统实,现,现设,计,计的时,候,候,尽,量,量进行,各,各个部,分,分的分,割,割并建,立,立各个,部,部分之,间,间进行,交,交互的,标,标准。,并,并且在,实,实际开,发,发的时,候,候,确,实,实有需,要,要的话,再,再进行,重,重新调,整,整。这,样,样就可,以,以保证,各,各个部,分,分齐头,并,并进,,,,开发,人,人员也,可,可以各,施,施其职,。,。,5人员,的,的组织,和,和调度,。,。这里,很,很重要,的,的一点,是,是到考,虑,虑人员,的,的特长,,,,有的,人,人喜欢,做,做界面,,,,有的,人,人喜欢,做,做核心,。,。如果,有,有可能,要,要根据,人,人员的,具,具体的,情,情况进,行,行具体,的,的配,置,置。同,时,时要保,证,证每一,个,个开发,人,人员在,开,开发的,时,时候首,先,先完成,需,需要和,其,其他人,员,员进行,交,交互的,部,部分,,并,并且对,自,自己的,项,项目进,度,度以及,其,其他开,发,发人员,的,的进度,有,有一个,清,清晰的,了,了解,,保,保 证,不,不同部,分,分的开,发,发人员,能,能够经,常,常进行,交,交流。,6开发,过,过程中,文,文档的,编,编写。,在,在开发,过,过程中,会,会碰到,各,各种各,样,样的问,题,题和困,难,难,当,然,然还有,各,各种各,样,样的创,意,意和新,的,的思路,。,。应该,把,把这些,东,东西都,记,记录下,来,来并进,行,行及时,整,整理,,,,对于,困,困难和,问,问题,,如,如果不,能,能短时,间,间解决,的,的,可,以,以考虑,采,采用其,他,他的技,术,术替代,,,,并在,事,事后做,专,专门的,研,研究。,对,对于各,种,种创意,,,,可以,根,根据进,度,度计划,安,安排考,虑,虑是在,本,本版本,中,中 实,现,现还是,在,在下一,版,版本中,实,实现。,7充分,考,考虑实,施,施时可,能,能遇到,的,的问题,。,。开发,是,是一回,事,事情,,用,用户真,正,正能够,使,使用好,它,它又是,另,另外一,回,回事情,。,。比如,在,在MIS系统开,发,发中,,最,最简单,的,的一个,问,问题就,是,是用,户,户如果,数,数据输,入,入错误,的,的时候,,,,如何,进,进行操,作,作。在,以,以流程,方,方式工,作,作的时,候,候,如,何,何让用,户,户理解,自,自己在,流,流程中,的,的位置,和,和作用,,,,如何,让,让用户,真,真正利,用,用计算,机,机进行,协,协作也,是,是成败,的,的关,键,键。,以上是,我,我个人,的,的一点,体,体会,,实,实际上,,,,作为,一,一个软,件,件开发,人,人员,,我,我也喜,欢,欢看到,问,问题就,坐,坐在计,算,算机前,面,面直接,编,编码,,但,但是我,确,确实认,为,为软件,工,工程对,于,于我们,系,系统开,发,发 的,指,指导作,用,用是巨,大,大的。,作,作为软,件,件工程,的,的拥戴,者,者,下,面,面我简,单,单结合,自,自己的,开,开发经,历,历介绍,基,基于软,件,件工程,的,的开发,方,方法、,编,编程规,范,范和工,具,具使用,等,等方面,的,的问题,。,。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,12,四、软,件,件开发,的,的发展,变,变化,国外很,多,多项目,的,的开发,都,都是基,于,于一些,图,图形化,的,的东西,来,来做的,,,,他们,的,的目的,是,是尽量,少,少写代,码,码甚至,不,不写代,码,码。代,码,码能够,通,通过图,形,形化的,方,方式自,动,动生成,,,,这样,的,的一,个,个好处,就,就是如,果,果用户,的,的需求,变,变化或,者,者业务,逻,逻辑发,生,生变化,,,,我们,需,需要做,的,的就是,对,对图形,表,表示的,调,调整,,然,然后重,新,新自动,生,生成代,码,码,这,也,也就是,国,国外开,发,发很注,重,重对项,目,目的概,念,念 和,逻,逻辑分,析,析的原,因,因。,他们的,重,重点是,把,把业务,规,规则和,需,需求用,图,图形化,的,的方式,表,表现出,来,来,然,后,后通过CASE工具自,动,动生成,代,代码。,所,所以当,国,国人还,在,在不停,的,的开发,一,一个又,一,一个的MIS工具的,时,时候,,国,国外已,经,经把很,多,多精力,放,放到了CASE工具的,制,制作上,。,。,我们很,多,多公司,人,人员忙,着,着写具,体,体业务,过,过程的,相,相关代,码,码,而,国,国外很,多,多都把,精,精力放,到,到对不,同,同应用,,,,不同,行,行业的,模,模型的,建,建立和,共,共性的,提,提取上,。,。所以,,,,他们,做,做出来,的,的东西,就,就相对,具,具有很,强,强的灵,活,活性和,扩,扩展性,,,,而我,们,们是用,户,户的需,求,求稍微,有,有一点,变,变化,,就,就要忙,着,着改代,码,码,甚,至,至改体,系,系结构,。,。,另外,,因,因为他,们,们注重,模,模型的,建,建立,,所,所以在,建,建立其,他,他应用,的,的时候,,,,能够,借,借鉴原,先,先的模,型,型,在,高,高层次,上,上做调,整,整和优,化,化,同,时,时能够,有,有效的,提,提取原,有,有系统,中,中可以,被,被使用,的,的部分,。,。所以,我,我们应,该,该从以,代,代码为,核,核心的,软,软件开,发,发模式,转,转化到,以,以模型,为,为中心,的,的、基,于,于CASE的开发,上,上来。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,13,关于协,作,作与个,人,人英雄,主,主义,社会进,步,步的一,个,个很明,显,显的现,象,象就是,社,社会分,工,工越来,越,越细,,软,软件的,开,开发也,不,不例外,。,。为什,么,么在软,件,件开发,的,的今天,已,已经不,能,能出现,象,象裘伯,君,君这样,的,的软件,英,英雄的,原,原因也,在,在这里,,,,单凭,个,个人之,力,力,我,们,们也许,穷,穷尽有,生,生之年,也,也开发,不,不出象Windows这样的,操,操作系,统,统。,因,因 为,,,,当前,软,软件行,业,业的壁,垒,垒无非,就,就是两,个,个,一,个,个就是,以,以技术,创,创新取,胜,胜,你,模,模仿的,了,了其中,的,的界面,,,,但是,你,你没有,办,办法实,现,现其中,的,的核心,功,功能。,结,结果是,你,你只能,购,购买其,技,技术核,心,心,,而,而你作,一,一些边,角,角工作,。,。不举,别,别的例,子,子,比,如,如VB这样的,开,开发工,具,具,其,核,核心部,分,分是它,和,和第三,方,方提供,的,的COM控件或,者,者是DLL函数库,,,,你所,做,做的就,是,是一个,整,整合的,工,工作。,第二个,就,就是以,细,细致取,胜,胜,也,就,就是说,功,功能很,多,多而且,做,做的很,精,精致,,即,即使技,术,术本身,不,不是很,复,复杂,,你,你真要,想,想做出,一,一个这,样,样的东,西,西来没,有,有一两,年,年的工,夫,夫是不,可,可能的,。,。而真,等,等你做,出,出来了,,,,它的,新,新版本,也,也早已,经,经推出,。,。真正,能,能够在,市,市面上,叫,叫得想,、,、经得,起,起考验,得,得产品,都,都是具,有,有这两,方,方面的,特,特点。,这两方,面,面的特,点,点决定,了,了你一,个,个人绝,对,对是不,可,可能胜,任,任的,,也,也许你,可,可以独,立,立的完,成,成技术,创,创新,,但,但是你,绝,绝对不,可,可能一,个,个人实,现,现所有,这,这些纷,繁,繁复杂,的,的功能,。,。所以,,,,这个,时,时代需,要,要创新,的,的英雄,,,,也更,需,需要人,与,与人之,间,间的协,作,作。,当,当 今,的,的软件,发,发展已,经,经不是,一,一个人,可,可以包,打,打天下,的,的年代,。,。软件,开,开发的,管,管理、,系,系统体,系,系结构,的,的设计,、,、模块,之,之间的,衔,衔接、,核,核心算,法,法的实,现,现、灵,活,活界面,的,的制定,、,、软件,再,再开发,接,接口,的,的实现,都,都需要,专,专门的,人,人来做,。,。而把,这,这些有,效,效的集,成,成显然,就,就需要,有,有效的,利,利用软,件,件工程,的,的思想,和,和方法,。,。所以,,,,真正,的,的软件,英,英雄绝,对,对不再,是,是写着,别,别人看,不,不懂代,码,码的程,序,序员,,而,而是,整,整个体,系,系结构,的,的分析,、,、设计,、,、标准,制,制定、,协,协调人,员,员。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,14,五、我,们,们是否,需,需要软,件,件工程,有一点,大,大家可,以,以达成,共,共识的,就,就是,,如,如果一,个,个象Windows这样的,操,操作系,统,统,不,进,进行全,面,面的规,划,划,不,采,采用软,件,件工程,的,的思想,和,和方法,,,,是绝,对,对搞不,出,出来的,。,。,Windows的成功,不,不在于,它,它在进,程,程管理,和,和调度,,,,文件,系,系统、,内,内存管,理,理、界,面,面设计,等,等方面,有,有多少,成,成功的,创,创新,,它,它的成,功,功最大,的,的一点,就,就是把,所,所有的,技,技术能,够,够合理,的,的整合,起,起来,,并,并集中,到,到一个Window操作系,统,统特有,的,的框架,结,结构中,去,去。,更为重,要,要的是,,,,Windows的每一,项,项技术,创,创新都,能,能够有,效,效的整,合,合到Windows框架中,去,去,比,如,如COM、XML等技术,,,,通过ActiveX、DCOM等技术,使,使Windows从桌面,操,操作系,统,统发展,成,成为一,个,个基于,网,网络的,操,操作系,统,统。,OLE2技术把,整,整个Office中相关,的,的软件,进,进行了,有,有效的,整,整合,,显,显然,,这,这里我,们,们可以,把,把Office的设计,和,和WPS的设计,进,进行比,较,较,客,观,观的讲,,,,WPS对中国,用,用户来,说,说实在,也,也是一,个,个很好,的,的产品,。,。但是,从,从整个,系,系统设,计,计概念,上,上来讲,,,,Office显然要,比,比WPS高一个,层,层次,,它,它能够,把,把WORD,EXCEL,POWERPOINT,ACCESS有效的,整,整合在,一,一起,,使,使我们,所,所有办,公,公相关,的,的文档,、,、图表,、,、数据,库,库、演,示,示变成,了,了一个,一,一体化,的,的东西,。,。而且,通,通过宏,调,调用,,用,用户可,以,以 自,己,己定制,用,用户界,面,面并编,制,制适当,的,的模板,,,,单是,这,这个二,次,次开发,功,功能就,不,不是WPS现在所,能,能及项,背,背的,,当,当然限,于,于当前,用,用户的,水,水平还,很,很少有,人,人使用,二,二次开,发,发的功,能,能。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,15,从微软,产,产品系,列,列可以,看,看到软,件,件工程,的,的作用,,,,微软,的,的所有,产,产品都,有,有一个,整,整体的,框,框架结,构,构,比,如,如Office软件,,通,通过OLE技术进,行,行有效,的,的通讯,和,和联系,。,。 比,如,如Visual系列开,发,发工具,,,,提供,了,了相似,的,的开发,界,界面使,用,用户学,会,会一种,开,开发工,具,具以后,能,能够很,容,容易的,学,学习其,他,他的开,发,发工具,。,。比如SQLSERVER和ACCESS,尽管,它,它们适,用,用的范,围,围不同,,,,但是,它,它们表,现,现给用,户,户的界,面,面,特,别,别是在,查,查询和,分,分析上,表,表现了,高,高度的,一,一致性,。,。,更值得,一,一提的,是,是,因,为,为设计,结,结构的,合,合理性,,,,因为,在,在开发,前,前期作,了,了很多,分,分析和,调,调研,,考,考虑了,扩,扩展性,和,和伸缩,性,性,微,软,软的系,列,列产品,能,能够很,快,快的利,用,用新的,技,技术并,采,采 用,统,统一的,结,结构形,式,式表现,出,出来。,比,比如当,网,网络成,为,为计算,机,机发展,的,的主流,的,的时候,,,,几乎,微,微软所,有,有的工,具,具都能,够,够快速,的,的支持,基,基于网,络,络的开,发,发和应,用,用。,相比之,下,下,我,们,们国内,很,很多公,司,司的产,品,品很少,具,具有连,续,续性,,往,往往是,新,新的一,个,个产品,完,完全重,起,起炉灶,,,,和老,的,的产品,没,没有半,点,点关系,。,。这就,是,是我们,在,在设计,产,产品的,时,时候,,没,没有很,好,好的进,行,行抽象,和,和概念,、,、逻辑,设,设计,,造,造成的,结,结果是,从,从旧的,产,产品中,提,提取不,出,出一些,有,有用的,、,、共性,的,的东西,为,为后来,的,的产品,所,所使用,。,。,当然,,很,很多开,发,发人员,从,从心里,也,也承认,一,一个大,的,的系统,确,确实需,要,要软件,工,工程的,依,依托,,但,但是一,个,个小的,工,工程项,目,目是否,就,就可以,仓,仓促上,马,马呢?,答,答案是,否,否定的,。,。所谓,麻,麻雀碎,小,小,,五,五脏俱,全,全。无,论,论是大,项,项目、,还,还是小,项,项目。,它,它们作,为,为一个,项,项目,,都,都需要,有,有一个,需,需求分,析,析、系,统,统结构,建,建立、,设,设计、,编,编码、,测,测试等,阶,阶段。,这,这是任,何,何一个,项,项目都,不,不可缺,少,少 的,。,。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,16,往往可,以,以看到,很,很多大,公,公司的IT部门的,人,人员都,在,在不停,的,的作各,种,种各样,的,的报表,,,,当各,个,个部门,提,提出一,种,种新类,型,型的报,表,表的时,候,候,就,从,从数据,库,库中提,取,取相应,的,的数据,并,并画,出,出业务,人,人员所,需,需要的,样,样式结,构,构,很,少,少是提,供,供了一,个,个通用,的,的模板,,,,当然,提,提供高,层,层API接口进,行,行这种,操,操作的,就,就更少,了,了。这,样,样不可,避,避免的,使,使开发,人,人员陷,入,入一些,琐,琐碎的,报,报表,编,编制工,作,作。而,造,造成这,个,个局面,的,的很重,要,要的一,个,个原因,就,就是没,有,有在系,统,统开发,的,的前期,进,进行很,好,好的调,研,研、需,求,求分析,和,和系统,体,体系结,构,构的设,计,计。,这里就,一,一些小,型,型软件,项,项目来,谈,谈一些,开,开发的,总,总结和,体,体会,,一,一般来,说,说,小,型,型软件,项,项目功,能,能比较,单,单一,,而,而且模,块,块与模,块,块之间,的,的衔接,不,不是很,多,多,同,时,时对开,发,发周期,要,要求比,较,较短。,小项目,虽,虽然看,起,起来比,较,较简单,,,,所以,很,很多开,发,发人员,容,容易犯,一,一些错,误,误,记,得,得我们,在,在开发,一,一个基,于,于Internet的有偿,服,服务系,统,统的时,候,候,有,三,三个开,发,发人员,:,: 一,个,个负责,前,前端界,面,面的编,写,写,一,个,个负责,数,数据通,讯,讯协议,和,和实现,(,(基于TCP基础上,的,的应用,协,协议),,,,一个,负,负责对,数,数据库,数,数据的,查,查询、,整,整理和,提,提取。,我,我们在,开,开发的,时,时候没,有,有认,真,真地进,行,行项目,实,实际前,途,途和工,作,作量的,估,估计。,没,没有认,真,真地估,计,计项目,难,难度,,比,比如对,于,于通讯,中,中多用,户,户并发,访,访问时,的,的多线,程,程问题,和,和缓存,处,处理问,题,题,用,户,户批量,请,请求处,理,理的实,现,现复杂,度,度问,题,题等等,。,。三个,人,人之间,的,的接口,也,也是在,开,开发中,休,休息的,时,时候,,口,口头定,义,义一下,。,。结果,发,发现有,不,不严密,的,的地方(比如在,通,通讯服,务,务器端,是,是用VC编写的,,,,开发,人,人员是,通,通过stream来传送,数,数据的,,,,客户,端,端是用Delphi编写,,在,在接收,数,数据的,时,时候发,现,现数据,不,不准确,,,,后来,研,研究发,现,现VC利用CSocket在传送,数,数据流,的,的时候,对,对数据,进,进行,了,了自己,定,定义的,格,格式化,,,,结果,服,服务器,端,端数据,发,发送模,块,块只好,重,重写),而且,其,其中关,于,于一个,接,接口双,方,方的理,解,解不同,,,,然后,又,又返工,重,重新修,改,改。最,后,后到系,统,统基本,完,完成的,时,时候没,有,有 一,份,份较正,式,式的文,档,档。然,后,后因为,有,有人毕,业,业离开,这,这个项,目,目,然,后,后他编,写,写的模,块,块需要,升,升级,,新,新的接,收,收的人,不,不得不,花,花很多,时,时间去,阅,阅读他,的,的源代,码,码。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,17,所以在,开,开发小,项,项目的,时,时候也,必,必须要,建,建立合,理,理的模,式,式:而,所,所谓合,理,理的模,式,式就是,软,软件工,程,程告诉,我,我们的,在,在开发,一,一个项,目,目的时,候,候所需,要,要的五,步,步曲:,获,获取需,求,求、需,求,求分析,、,、设计,、,、编码,、,、测试,。,。,1理解,用,用户真,正,正的需,求,求。在,进,进入正,式,式开发,之,之前,,必,必须先,从,从用户,处,处获取,准,准确的,需,需求。,在,在这上,面,面花费,相,相当时,间,间是很,必,必要的,。,。,我们软,件,件项目,可,可以大,致,致分为,专,专用软,件,件和通,用,用软件,两,两大类,。,。对于,专,专用软,件,件,一,般,般用户,对,对于软,件,件要完,成,成哪些,功,功能已,经,经有了,一,一个比,较,较清楚,的,的轮廓,,,,而且,往,往往在,开,开发合,同,同中已,经,经大致,地,地规定,了,了。,但是,,开,开发合,同,同上规,定,定的只,是,是一个,大,大概的,框,框架,,在,在进入,开,开发之,前,前必须,与,与用户,进,进行比,较,较具体,的,的交流,和,和讨论,,,,了解,清,清楚用,户,户心目,中,中的产,品,品究竟,是,是什么,样,样子,,这,这里最,好,好就采,用,用原型,化,化的方,法,法作出,一,一个简,单,单的框,架,架给用,户,户看。,对于通,用,用软件,,,,在开,发,发之前,必,必须做,一,一定的,市,市场调,查,查工作,,,,一方,面,面是从,经,经济效,益,益考虑,,,,调查,产,产品的,潜,潜在市,场,场有多,大,大,一,方,方面是,从,从技术,的,的角度,,,,了解,清,清楚潜,在,在 用,户,户对软,件,件的各,种,种技术,上,上的要,求,求,另,一,一方面,是,是确定,我,我们软,件,件的定,位,位,即,我,我们软,件,件具体,是,是为哪,一,一些用,户,户群体,服,服务的,。,。然后,对,对该群,体,体用户,现,现有硬,件,件配置,,,,软件,配,配置,,网,网络,使,使用情,况,况,数,据,据库使,用,用情况,,,,计算,机,机熟悉,程,程度做,一,一定的,调,调研,,根,根据调,查,查的统,计,计结果,决,决定即,将,将开发,的,的软件,的,的一些,技,技术指,标,标。,Evaluation Warning : The document was created with Spire.Presentation for .NET,2020-02-09,18,2需求,分,分析。,需,需求分,析,析需要,做,做的事,情,情有:,高,高层构,思,思、确,立,立系统,目,目标、,划,划分业,务,务领域,、,、现行,业,业务分,析,析、建,立,立业务,模,模型(EnterpriseModel)、信息,需,需求分,析,析、用,户,户视图,规,规范化,、,、数据,元,元素标,准,准化与,一,一致性,控,控制。,在了解,用,用户的,需,需求之,后,后,将,需,需求用,一,一种模,型,型来表,示,示,就,是,是需求,分,分析,,一,一般我,们,们可以,面,面向对,象,象的方,法,法,通,过,过分析,用,用户需,求,求,用,类,类、类,之,之间的,各,各种关,系,系来表,示,示整个,系,系统。,为了讨,论,论软件,运,运行的,流,流程,,可,可以采,用,用UML的UseCase图。在,系,系统分,析,析的时,候,候需要,明,明确应,用,用域(applicationdomain)的范,围,围,然,后,后明确,我,我们系,统,统需
展开阅读全文