- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2月25日0_软件工程基础_知识点
第3章 软件工程基础 3.1 软件工程基本概念3.1.1 软件的定义与软件特点3.1.1.1 软件的定义计算机软件由两部分组成。●一是机器可执行的程序和数据;●二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件的构成软件的构成见表3-1。计算机软件是由程序、数据及相关文档构成的完整集合,它与计算机硬件一起组成计算机系统。表3-1 计算机软件各组成部分的含义我国国家标准(简称国标,GB)中对计算机软件(Software)完整的定义是: 与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。3.1.1.2 软件的特点(1)软件是逻辑产品,而不是物理实体,它具有无形性,通过计算机的执行才能体现它的功能和作用;(2)没有明显的制作过程,其成本主要体现在软件的开发和研制上,可进行大量的复制;(3)软件在使用期间不存在磨损和消耗问题;(4)软件的开发、运行对计算机系统具有依赖性;(5)开发和维护成本高;(6)软件开发涉及诸多社会因素。3.1.1.3 软件的分类计算机软件按功能分为系统软件、应用软件、支撑软件(或工具软件)。系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件。例如,操作系统(OS)、数据库管理系统(DBMS)、编译程序、汇编程序和网络软件等。应用软件为了应用于特定的领域而开发的软件。例如,我们熟悉的Word 2003、Winamp、QQ和Flashget等软件属于应用软件。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具型软件,其中包括帮助程序人员开发和维护软件产品的工具软件,也包括帮助管理人员控制开发进程和项目管理的工具软件。例如,Dephi、PowerBuilder等。3.1.1.4 软件的作用软件是用户与硬件之间的接口,是计算机系统的指挥者,是计算机系统结构设计的重要依据。3.1.2 软件危机与软件工程3.1.2.1 软件产生和发展软件生产的发展经历了程序设计时代、程序系统时代和软件工程时代。(1)程序设计时代从第一台计算机上的第一个程序的出现到实用的高级程序设计语言出现以前(1945年-1956年)。程序设计时代的生产方式是个体手工劳动,使用的工具是机器语言、汇编语言,主要通过编程来实现,不重视程序设计方法。(2)程序系统时代从实用的高级程序设计语言出现以后到软件工程出现以前(1956年-1968年)。程序系统时代的生产方式是作坊式小集团生产,生产工具是高级语言,开始提出结构化方法,但开发技术还没有根本性突破,开发人员素质和开发技术不适应规模大、结构复杂的软件开发,导致了软件危机的产生。(3)软件工程时代软件工程出现以后至今(1968年-至今)。软件工程时代的生产方式是工程化生产,使用数据库、开发工具、开发环境、网络等先进的开发技术和方法,使生产效率大大提高,但未能完全摆脱软件危机3.1.2.2 软件危机随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的软件危机。软件危机主要表现在:(1)软件需求的增长得不到满足;(2)软件开发成本和进度无法控制;(3)软件质量难以保证;(4)软件不可维护或维护程度非常低;(5)软件成本不断提高;(6)软件开发生产效率的提高赶不上硬件的发展和应用需求的增长。总之,可以将软件危机归结为成本、质量和生产率等问题。3.1.2.3 软件工程的产生为了摆脱软件危机,北大西洋公约组织成员国软件工作者于1968年和1969年两次召开会议(NATO会议),认识早期软件开发中所存在的问题和产生问题的原因,提出软件工程的概念。国标(GB) 中指出软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。软件工程学包含的内容可概括为以下两点:(1)软件开发技术:主要有软件开发方法学、软件工具、软件工程环境;(2)软件工程管理:主要有软件管理、软件工程经济学。3.1.3 软件工程过程3.1.3 软件工程过程ISO9000定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。软件工程过程包含4种基本活动:(1)软件规格说明P(Plan):规定软件的功能及其运行机制;(2)软件开发D(Do):产生满足规格说明的软件;(3)软件确认C(Check):确认软件能够满足客户提出的要求;(4)软件演进A(Action):为满足客户的变更要求,软件必须在使用的过程中演进。3.1.4 软件生命周期通常把软件产品从提出、实现、使用、维护到停止使用、退
文档评论(0)