软件工程software engineering生产计算机软件的工程。软件工程是模仿建筑工程、机械工程等处理方法来研制和维护软件的全过程。软件研制包括需求定义、设计、实现和测试四个阶段。软件维护指使用过程中对已有软件的修改和完善,包括校正性维护、适应性维护和完善性维护。 简史 20世纪60年代后期,计算机硬件价格急剧下降,应用领域不断扩大,每一项新的应用,都需要研制相应的软件系统。用个体或合作方式编制大型软件不仅效率低、产品可靠性差、周期长、研制费用高,而且很难完成,出现了所谓“软件危机”。人们调查研究了软件生产的实际情况,感到采用工程化的方法从事软件系统的研制和维护是必要的。1968年提出软件工程这个概念以来,发展迅速。软件工程的研究对象和方法与传统方法差别很大,但采用工程方法研制和维护软件对发展软件和计算机科学技术所起的作用都是巨大的。 研究内容 软件工程的主要对象是大型软件。研究的内容有: 软件质量和质量评价、软件生存周期、软件研制和软件维护、软件管理和软件支援环境。 软件质量 从可靠性、易操作性、效率、易维护性、易移植性等诸方面进行综合考虑的整体特性。可靠性指在一定的时期内软件多次执行不失败的概率,反映软件正确工作的程度。易操作性表示系统提供良好用户界面,易学易用。效率是指系统各种资源的有效利用程度。易维护性表示所研制的软件容易理解,在使用中发现的错误容易修改,也易于更新或扩充系统的功能,使软件能适应环境变化和满足用户的动态需求。易移植性是指将软件从一种环境移植到另一种环境的难易程度。软件工程的主要任务之一是提高软件质量。 软件生存周期 软件产品从形成概念开始,经过研制、交付使用,并在使用中不断增补、修订,直到最后淘汰,让位于新的软件产品的过程。一个软件产品的生存周期可划分成若干互相区别而又彼此联系的阶段,每一阶段中的工作,均以前一阶段工作的结果为依据,并为下一阶段的工作创造前提。软件生成周期一般划分为需求定义、程序编写、测试、安装验收、使用维护和退役等阶段。 软件研制 研制的每个阶段,都把前一阶段研制活动的结果作为本阶段的规格说明。最早阶段的需求定义,就是分析和记述用户实际的需要。软件规格说明就是对软件所应满足的要求,以可验证的方式作出完全、精确陈述的文件,它可以对软件应具备的功能、性能(如计算精度、响应速度等)、接口等作出规定。每个阶段的规格说明又作为验证本阶段研制活动的根据。 软件维护 有三类:❶校正性维护。软件在交付使用后,仍可能发现潜在的错误,一经发现即及时纠正。 ❷适应性维护。软件在使用中随着环境条件的改善而加以改动,使之适应新的环境。 ❸完善性维护。在使用过程中不断使之充实完善。软件的维护费用较高,因此,软件工程中非常重视软件维护技术。 软件管理 是软件研制和维护过程的管理。它的内容包括:制订软件研制和维护计划、准备支援环境、监督实施、检查进度、协调人员之间关系等。软件管理分为进度管理、成本管理、质量管理、人员组织管理和标准化管理等。软件管理的任务是在一定的时间和预算范围内,有效地利用人力、技术和工具,完成预定的软件项目,实现预定的功能和目标。软件管理贯穿于软件研制和维护的全过程,管理技能往往是软件项目成败和质量高低的重要因素。 软件支援环境 是在宿主硬件和宿主软件的基础上,用于辅助、支援其他软件的研制和维护的一组软件。软件支援环境是按照整体化要求设计的一个完备系统,随时可以修改和扩充。软件支援环境还可以从一台宿主计算机移到另一台宿主机,并且不受来自用户和系统错误的影响。它由环境数据库、接口软件、计算机辅助设计系统和模拟软件等组成。软件的研制和维护是一项费用大、耗时多的工程。软件生产率除了同软件人员的水平有关外,支援环境将是一个重要因素。 软件工程 软件工程ruanjian gongcheng用工程方法研制和维护软件的过程和有关技术.软件研制包括需求定义、设计、实现和测试四个阶段;软件维护指使用过程中对已有软件的修改和完善. 60年代由于计算机硬件技术的迅速发展,价格急剧下降,应用领域不断扩大.每一项新的应用,都需要研制相应的软件系统.于是60年代后期出现了“软件危机”,其实质是人们难以控制软件的研制和维护. 其具体表现为: ❶大型软件系统十分复杂,很难理解和维护; ❷研制周期过长,往往不能按期完成; ❸大型软件系统的可靠性差; ❹软件费用上涨,研制和维护费用一再增加,往往超出预算. 面对软件危机,人们调查研究了软件生产的实际情况,逐步感到采用工程化方法从事软件系统在研究和维护的必要性,于是软件工程在1968年应运而生. 软件工程的对象是大型软件.软件工程研究的问题主要有:质量保证和质量评价;研制和维护的方法:工具系统、文件、用户界面的设计;软件管理等. 软件质量和质量评价技术:软件工程和任务之一是提高软件质量.最初偏重可靠性和效率,后来更强调从易使用性、易维护性和易移植性等方面综合考察软件质量的整体特性. ☚ 网状数据库 文档 ☛ 软件工程用工程方法研制和维护软件的过程和有关技术。研制包括需求定义、设计、实现和测试四个阶段,维护指使用过程中对已有软件的修改和完善。 软件工程 软件工程Software Engineering,SE用工程方法来开发和维护软件的过程及有关的技术。它是一门研究“大型”程序设计的方法、工具和管理的工程科学。软件工程的主要思想是从系统工程的角度来观察、分析软件的开发活动,研究如何采用系统化、工程化、形式化的方法开发大型的、复杂的、高效的以及可靠的软件系统,使其发展成为一门严格的工程科学。软件工程的主要对象是大型软件。研究的问题主要有:质量保证、质量评价、研制和维护方法、工具系统、文件、用户界面设计及软件管理等。 ☚ 软件工厂 综合软件包 ☛ 软件工程 软件工程根据工程科学原理使软件设计、研制开发过程有效、合理等一系列工作的总称。“软件工程”的概念出现于60年代末,其重要研究课题是对软件研制过程进行定量化管理以及对软件产品进行定量化评价。内容包括:研究结构程序设计、可移植性与适应性设计; 程序开发的标准化、组件化; 软件的存档、维护及保密方式; 软件产品设计、生产的技术规范等。 ☚ 软专家 软技术 ☛ 软件工程software engineering |