资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,第1章 软件工程引论,第1章 软件工程引论,1.1 软件产品的概念与特征,1.2 软件危机,1.3 软件工程的产生及其发展,1.1,软,软,件,件产品,的,的概念,与,与特征,1.1,.,.1,软,软件,产,产品的,概,概念与,分,分类,就本质,而,而言,,软,软件就,是,是一个,信,信息转,换,换器,,它,它的功,能,能不外,是,是产生,、,、管理,、,、获取,、,、修改,、,、显示,或,或转换,信,信息。,它,它担任,着,着双重,角,角色,,首,首先,,它,它是一,种,种产品,,,,表达,了,了由计,算,算机硬,件,件体现,的,的计算,潜,潜能;,其,其次,,它,它又是,开,开发和,运,运行产,品,品的载,体,体,是,计,计算机,控,控制(,操,操作系,统,统)、,信,信息通,信,信(网,络,络)的,基,基础,,也,也是创,建,建和控,制,制其他,软,软件(,软,软件工,具,具和开,发,发环境,),)的基,础,础。,对于软,件,件的一,种,种公认,的,的解释,是,是:软,件,件是计,算,算机系,统,统中与,硬,硬件相,互,互依存,的,的另一,部,部分,,它,它是包,括,括程序,、,、数据,及,及其相,关,关文档,的,的完整,集,集合。,其,其中,,程,程序是,为,为实现,设,设计的,功,功能和,性,性能要,求,求而编,写,写的指,令,令序列,;,;数据,是,是使指,令,令能够,正,正常操,纵,纵信息,的,的数据,结,结构;,文,文档是,与,与程序,开,开发、,维,维护和,使,使用有,关,关的图,文,文资料,。,。,根据用,途,途划分,,,,软件,可,可以大,致,致划分,成,成如下,类,类别:,(1),系,系统,软,软件:,就,就一般,情,情况来,说,说,系,统,统软件,是,是为其,他,他软件,服,服务的,软,软件。,系,系统软,件,件与计,算,算机硬,件,件交互,频,频繁,,处,处理大,量,量的确,定,定或不,确,确定的,复,复杂数,据,据,往,往,往需要,具,具有多,用,用户支,持,持、资,源,源精细,调,调度、,并,并发操,作,作管理,、,、多种,外,外部设,备,备接口,支,支持等,项,项功能,。,。,(2),实,实时,软,软件:,管,管理、,分,分析、,控,控制现,实,实世界,中,中所发,生,生的事,件,件的软,件,件称为,实,实时软,件,件。它,一,一般有,数,数据采,集,集、数,据,据分析,、,、输出,控,控制等,三,三方面,的,的功能,。,。实时,软,软件需,要,要保持,一,一个现,实,实任务,可,可以接,受,受的响,应,应时间,,,,即必,须,须保证,能,能够在,严,严格限,定,定的时,间,间范围,内,内对输,入,入做出,响,响应。,(3),商,商业,管,管理软,件,件:商,业,业信息,处,处理是,最,最大的,软,软件应,用,用领域,,,,包括,常,常规的,数,数据处,理,理软件,和,和一些,交,交互式,的,的计算,处,处理(,如,如POS软件),软,软件。,它,它的基,本,本功能,是,是将已,有,有的数,据,据重新,构,构造,,变,变换成,一,一种可,以,以辅助,商,商业操,作,作和管,理,理决策,的,的形式,。,。在这,个,个过程,中,中,几,乎,乎都要,涉,涉及到,对,对于大,型,型数据,库,库的访,问,问。各,类,类管理,信,信息系,统,统(MIS,),)、企业资,源,源计划,(,(ERP,),)、客户关,系,系管理,(,(CRM,),)等都是,典,典型的,商,商业管,理,理软件,。,。,(4),工,工程,与,与科学,计,计算软,件,件:此,类,类软件,的,的特征,是,是要实,现,现特定,的,的“数,值,值分析,”,”算法,。,。例如,离,离散傅,立,立叶变,换,换、有,限,限元分,析,析、演,化,化计算,等,等等。CAD,/,/CAM软件一,般,般也可,以,以归属,到,到这一,类,类型中,来,来。,(5),嵌,嵌入,式,式软件,:,:驻留,在,在专用,智,智能产,品,品的内,存,存中,,用,用于控,制,制这些,产,产品进,行,行正常,工,工作,,完,完成很,有,有限、,很,很专业,的,的功能,的,的软件,。,。例如,各,各类智,能,能检测,仪,仪表、,数,数码相,机,机、移,动,动电话,、,、微波,炉,炉等智,能,能产品,都,都必须,在,在嵌入,式,式软件,的,的支持,下,下才能,正,正常工,作,作。,(6),人,人工,智,智能软,件,件:利,用,用非数,值,值算法,去,去解决,复,复杂问,题,题的软,件,件。各,类,类专家,系,系统、,模,模式识,别,别软件,、,、人工,神,神经网,络,络软件,都,都属于,人,人工智,能,能软件,。,。,(7),个,个人,计,计算机,软,软件:,文,文字处,理,理系统,、,、电子,表,表格、,游,游戏娱,乐,乐软件,等,等等。,此外,,还,还可以,根,根据软,件,件的规,模,模(代,码,码行及,开,开发工,作,作量,,如,如表1,.,.1),、,、软件,的,的工作,方,方式、,使,使用频,度,度、失,效,效后造,成,成的影,响,响等对,软,软件产,品,品进行,分,分类。,表1.1,根,根据规,模,模进行,软,软件分,类,类,软件规模类别,参加人员数,开发期限,产品规模(源代码行数),微型,1,14周,0.5k,小型,1,16月,12k,中型,25,12年,550k,大型,520,23年,50100k,甚大型,1001000,45年,1M,极大型,20005000,510年,110M,1.1,.,.2,软,软件,产,产品的,特,特征,在制造,硬,硬件时,,,,人的,创,创造性,的,的劳动,过,过程(,分,分析、,设,设计、,建,建造、,测,测试),能,能够完,全,全转换,成,成物理,的,的形式,,,,但软,件,件是逻,辑,辑的而,不,不是物,理,理的产,品,品,因,此,此软件,具,具有和,硬,硬件完,全,全不同,的,的特征,:,:,(1),软,软件,是,是一种,逻,逻辑实,体,体,具,有,有抽象,性,性。我,们,们可以,把,把软件,保,保存在,媒,媒体介,质,质上,,但,但却无,法,法直接,看,看到软,件,件的形,态,态,因,而,而必须,通,通过运,行,行、观,察,察、分,析,析、思,考,考、判,断,断才能,够,够了解,软,软件的,功,功能、,性,性能及,其,其他特,性,性。换,句,句话说,,,,软件,产,产品具,有,有明显,的,的非可,视,视特征,。,。,(2),软,软件,的,的生产,与,与硬件,不,不同。,软,软件是,由,由开发,或,或工程,化,化而形,成,成的,,不,不是由,传,传统意,义,义上的,制,制造过,程,程生产,的,的。虽,然,然软件,开,开发和,硬,硬件制,造,造之间,有,有一些,相,相似之,处,处,可,是,是两者,在,在本质,上,上是不,同,同的。,这,这两者,都,都能够,通,通过良,好,好的设,计,计获得,高,高质量,的,的产品,,,,但即,使,使有了,良,良好的,设,设计和,优,优秀的,样,样品,,硬,硬件在,批,批量制,造,造过程,中,中仍然,可,可能引,入,入质量,问,问题,,这,这种情,况,况对于,软,软件而,言,言几乎,不,不存在,。,。,软件在,开,开发完,毕,毕,形,成,成为产,品,品之后,,,,其批,量,量制造,过,过程只,是,是简单,的,的拷贝,/,/复制,;,;软件,的,的开发,和,和硬件,的,的制造,都,都依赖,于,于人,,但,但参与,者,者和他,们,们完成,的,的工作,之,之间的,关,关系不,同,同;两,者,者的终,极,极目的,都,都是建,造,造产品,,,,但方,法,法不同,;,;软件,的,的成本,集,集中在,开,开发过,程,程上,,而,而硬件,生,生产的,成,成本更,多,多地表,现,现在原,材,材料消,耗,耗上。,因,因此,,软,软件项,目,目开发,过,过程不,能,能完全,像,像硬件,制,制造过,程,程那样,来,来管理,。,。,(3),软,软件,产,产品不,会,会“磨,损,损”。,和,和硬件,产,产品类,似,似,软,件,件产品,也,也会出,现,现故障,。,。所不,同,同的是,,,,硬件,产,产品的,故,故障多,来,来自外,在,在条件,导,导致的,“,“磨损,”,”或“,老,老化”,,,,而软,件,件产品,如,如果发,生,生故障,,,,无一,例,例外的,是,是在设,计,计开发,过,过程中,留,留有隐,患,患。因,此,此,硬,件,件的故,障,障可以,通,通过简,单,单的更,换,换部件,解,解决,,而,而软件,的,的故障,必,必须通,过,过全面,的,的软件,维,维护活,动,动才有,望,望克服,。,。同时,,,,不完,善,善的维,护,护活动,又,又可能,在,在软件,中,中注入,新,新的故,障,障,导,致,致软件,质,质量的,“,“退化,”,”。也,就,就是说,,,,软件,故,故障的,修,修复要,比,比硬件,故,故障的,修,修复复,杂,杂得多,。,。因此,,,,衡量,软,软件产,品,品质量,的,的一个,重,重要指,标,标就是,它,它的“,可,可维护,性,性”。,图,图1.1是软,、,、硬件,产,产品的,失,失效率,曲,曲线。,图1.1,软,软件/,硬,硬件产,品,品失效,率,率曲线,1.1,.,.3,软,软件,发,发展的,阶,阶段划,分,分,自从20世纪40年,代,代第一,台,台计算,机,机问世,以,以来,,就,就有了,“,“程序,”,”的概,念,念,可,以,以认为,它,它是软,件,件的前,身,身。经,过,过了几,十,十年的,发,发展,,人,人们对,软,软件有,了,了更为,深,深刻的,认,认识,,在,在这几,十,十年中,,,,软件,开,开发经,历,历了三,个,个发展,阶,阶段:20世,纪,纪50,60,年,年代属,于,于程序,设,设计阶,段,段;20世纪6070年,代,代为程,序,序系统,阶,阶段;20世,纪,纪70,年,年代之,后,后进入,软,软件工,程,程阶段,。,。各阶,段,段的特,点,点与区,别,别见表1.2,。,。,表1.2,计,计算机,软,软件发,展,展的三,个,个阶段,及,及其特,点,点,阶 段,特 点,程序设计,程序系统,软件工程,软件所指,程序,程序及说明书,程序、文档、数据,主要程序设计语言,汇编及机器语言,高级语言,软件语言*,软件工作范围,程序编写,设计和测试,整个软件生命周期,需求者,程序设计者本人,少数用户,市场用户,开发软件的组织,个人,开发小组,开发小组及大、中型开发机构,软件规模,小型,中、小型,大、中、小型,阶 段,特 点,程序设计,程序系统,软件工程,决定质量的因素,个人技术,小组技术水平,技术与管理水平,开发技术和手段,子程序、程序库,结构化程序设计,数据库、开发工具、集成开发环境、工程化开发方法、标准和规范、网络及分布式开发、面向对象技术、计算机辅助软件工程,维护责任者,程序设计者,开发小组,专职维护人员,硬件的特征,高价、存储量小、可靠性差,降价,速度、容量和可靠性明显提高,向超高速、大容量、网络化、微型化方向发展,软件的特征,完全不受重视,软件的技术发展不能满足需求,出现软件危机,开发技术有进步,但仍未完全摆脱软件危机,表1.2,计,计算机,软,软件发,展,展的三,个,个阶段,及,及其特,点,点,1.2,软,软,件,件,危,危 机,1.2,.,.1,软,软件,危,危机及,其,其表现,现代计,算,算机应,用,用系统,中,中,软,件,件的地,位,位日益,重,重要和,突,突出。,如,如何满,足,足日益,增,增长的,软,软件需,求,求,如,何,何维护,应,应用中,的,的大量,已,已有软,件,件,已,经,经成为,了,了计算,机,机应用,系,系统进,一,一步发,展,展的瓶,颈,颈。1968,年,年,北,大,大西洋,公,公约组,织,织的计,算,算机科,学,学家们,在,在联邦,德,德国召,开,开
展开阅读全文