单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第一章 软件工程概念,软件由计算机,程序,、,数据,及,文档,组成。,软件的特点,抽象性,软件生产无明显制造过程,无磨损性,对计算机硬件依赖性,软件的手工开发方式,软件本身复杂性,软件的高成本,1,软件,与,硬件,、,数据库,、,人,、,过程,等共同构成计算机系统。,软件种类可以从六个方面进行划分:,按功能分类,应用软件,系统软件,支撑软件,软件的概念,2,按规模分类,微型,小型,中型,大型,甚大型,极大型,按工作方式分类,分时软件,实时软件,交互式软件,批处理式软件,3,按服务对象分类,项目软件,产品软件,按使用频度分类,一次性使用软件,频繁使用软件,按失效影响分类,高可靠性软件,一般可靠性软件,每一类软件在管理方面要求程度不同。,4,软件的发展经历了三个阶段,程序设计,阶段 50至60年代,程序系统,阶段 60至70年代,软件工程,阶段 70年代以后,软件工程概念的出现源自软件危机。,软件的发展,5,软件工程定义为“,运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。,”,软件工程学定义为“,建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。,”,软件工程包括三个要素:,方法,、,工具,和,过程,。,软件工程定义,6,软件工程需要解决的问题主要有:,软件成本,、,软件可靠性,、,软件维护,、,软件生产率,和,软件复用,。,软件工程需要达到的基本目标:,付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发,及时交付使用,软件工程的目标,7,ISO 9000,定义:软件过程是,把输入转化为输出的一组彼此相关的资源和活动,。,从软件开发的观点看,它就是,使用适当的资源,(包括人员、硬软件工具、时间等),为开发软件进行的一,组开发活动,,在过程结束时,将输入,(用户要求),转化为输出,(软件产品),。,软件工程过程,8,软件工程过程定义了:,方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑,软件工程过程包含四种基本的过程活动:,Plan,软件规格说明,Do,软件开发,Check,软件确认,Action,软件演进,9,软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存期,软件生存期包含三个阶段:,软件定义,、,软件开发,及,软件运行维护,。,软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的,全部活动,和,任务,的,过程框架,。,软件生存期,10,常用,的,的软,件,件生,存,存期,模,模型,有,有,瀑布,模,模型,演化,模,模型,螺旋,模,模型,增量,模,模型,喷泉,模,模型,智能,模,模型,软件,生,生存,期,期模,型,型,11,瀑布,模,模型,需求定义,系统与软件设计,集成与系统测试,实现与单元测试,运行与维护,各项,活,活动,按,按自,上,上而,下,下,,相,相互,衔,衔接,的,的固,定,定次,序,序,,如,如同,瀑,瀑布,逐,逐级,下,下落,。,。每,项,项活,动,动均,处,处于,一,一个,质,质量,环,环(,输,输入-处,理,理-,输,输出-评,审,审),中,中。,12,演化,模,模型,需求的采集,与细化,客户评价原型,快速设计,建造原型,加工原型,产生样品,停止,开始,先开,发,发一,个,个“,原,原型,”,”软,件,件,,完,完成,部,部分,主,主要,功,功能,,,,展,示,示给,用,用户,并,并征,求,求意,见,见,,然,然后,逐,逐步,完,完善,,,,最,终,终获,得,得满,意,意的,软,软件,产,产品,。,。,13,螺旋,模,模型,决定,目,目标,、,、,方案,和,和限,制,制,评价,方,方案,、,、,识别,风,风险,、,、,弱化,风,风险,开发,、,、验,证,证、,下一,级,级产,品,品,计划,下,下一,阶,阶段,集成,测试,14,螺旋,模,模型,螺旋,模,模型,将,将瀑,布,布模,型,型与,演,演化,模,模型,结,结合,起,起来,,,,并,且,且加,入,入两,种,种模,型,型均,忽,忽略,了,了的,风,风险,分,分析,。,。,螺旋,模,模型,沿,沿着,螺,螺线,旋,旋转,,,,自,内,内向,外,外每,旋,旋转,一,一圈,便,便开,发,发出,更,更完,善,善的,一,一个,新,新版,本,本。,制定,计,计划确定,软,软件,目,目标,,,,选,定,定实,施,施方,案,案,,弄,弄清,项,项目,开,开发,的,的限,制,制条,件,件;,风险,分,分析分析,所,所选,方,方案,,,,考,虑,虑如,何,何识,别,别和,消,消除,风,风险,;,;,实施,工,工程实施,软,软件,开,开发,客户,评,评估评价,开,开发,,,,提,出,出修,正,正建,议,议。,15,增量,模,模型,把软,件,件产,品,品分,解,解成,一,一系,列,列的,增,增量,构,构件,,,,在,增,增量,开,开发,迭,迭代,中,中逐,步,步加,入,入。,每个,构,构件,由,由多,个,个相,互,互作,用,用的,模,模块,构,构成,,,,并,且,且能,够,够完,成,成特,定,定的,功,功能,。,。,增量开,发,发方法,的,的新演,进,进版本,叫,叫做,“,“极限,程,程序设,计,计(eXtremeProgramming,),)”。,定义,基本需求,将需求赋予增量构件,设计系统,体系结构,开发,增量构件,确认,增量构件,集成,增量构件,确认系统,16,喷泉模,型,型,体现了,迭,迭代和,无,无间隙,的,的特性,。,。,系统某,个,个部分,常,常常重,复,复工作,多,多次,,相,相关对,象,象在每,次,次迭代,中,中随之,加,加入演,进,进的软,件,件成分,。,。,无间隙,是,是指在,各,各项开,发,发活动,,,,即分,析,析、设,计,计和编,码,码之间,不,不存在,明,明显的,边,边界。,喷泉模,型,型是对,象,象驱动,的,的过程,。,。,17,需求阶段,分析阶段,设计阶段,编程阶段,集成与测试阶段,维护与演进阶段,18,智能模,型,型,智能模,型,型是基,于,于知识,的,的软件,开,开发模,型,型,它,把,把瀑布模,型,型和专家系,统,统综合在,一,一起。,该模型,在,在各个,开,开发阶,段,段都利,用,用了相,应,应的专,家,家系统,来,来帮助,软,软件人,员,员完成,开,开发工,作,作。,为此,,建,建立了各个阶,段,段的知,识,识库,将模,型,型、相,应,应领域,知,知识和,软,软件工,程,程知识,分,分别存,入,入数据,库,库。以,软,软件工,程,程知识,为,为基础,的,的生成,规,规则构,成,成的专,家,家系统,与,与包含,应,应用领,域,域知识,规,规则的,其,其他专,家,家系统,相,相结合,,,,构成,该,该应用,领,领域的,开,开发系,统,统。,19,用户要求,需求分析,概要设计,详细设计,程序编码,测试,维护,支持需求,分析的,专家系统,支持软件,设计的,专家系统,支持测试,的专家系统,支持维护,的专家系统,20,在软件,开,开发过,程,程中必,须,须遵循,的,的软件,工,工程原,则,则有:,抽象与,自,自顶向,下,下、逐,层,层细化,信息隐,蔽,蔽和数,据,据封装,模块化,局部化,确定性,一致性,和,和标准,化,化,完备性,和,和可验,证,证性,软件工,程,程原则,21,软件工,程,程的基,本,本原理,有,有:,按软件,生,生存期,分,分阶段,制,制定计,划,划并认,真,真实施,;,;,坚持进,行,行阶段,评,评审;,坚持严,格,格的产,品,品控制,;,;,使用现,代,代程序,设,设计技,术,术;,明确责,任,任,使,得,得工作,结,结果能,够,够得到,清,清楚的,审,审查;,用人少,而,而精;,不,不断改,进,进开发,过,过程。,软件工,程,程的基,本,本原理,22,演讲完,毕,毕,谢,谢,谢观看,!,!,