- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IEEE电器与电子工程协会给出了一个更全面更具体的定义 软件工程的目的就是为开发高质量的软件产品提供一个工程框架。 * 著名的软件工程专家B.W.Boehm综合学者们的意见并总结了TRW公司多年开发软件的经验,于1983年在一篇论文中提出了软件工程的7条基本原理。这7条原理是确保软件产品质量和开发效率的原理的最小集合。 7条原理互相独立其中任意6条组合都不能替代另一条,同时这7条原理又是相当完备的,虽然不能用数学方法严格证明它们是一个完备集合。但在此之前提出的100多条软件工程原理都可以由这7条原理任意组合蕴含或派生 * 任何工程方法(包括软件工程)必须以组织对质量的承诺为基础。 软件工程的根基在于质量关注点。 软件工程是一种层次化的技术,以有组织的质量保证为基础。全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关注。 软件工程的基层是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。过程定义了一组关键过程区域框架,构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、成本的建立、质量的保证及变化的适当管理。 软件工程的方法层提供里建造软件在技术上需要“如何做?”。方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。 软件工程方法依赖于一组基本原则,这些原则控制了每一技术区域,且包含建模活动和其他描述技术。 软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信息可被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程(CASE)。CASE集成了软件、硬件和一个软件工程数据库(一个仓库,其中包含了分析、设计、编程和测试的重要信息)。 过程: 定义一系列活动: 技术方法的采用, 工程产品(模型、文档、数据)的产生, 里程碑(milestone)的建立, 质量的保证及变更的管理。 该层构成了软件项目的管理控制的基础。 方法:提供了建造软件在技术上“如何做”。 方法覆盖了一系列任务:需求分析、设计、编程、测试和支持(如纠错、适应、增强、预防)。 工具: 对过程和方法提供了自动或半自动的支持。 不同的软件程序员队伍对于“系统化、规范化、可量化的”都有不同的定义,我们需要规范,也需要可适应性和灵活性 软件工程包括技术和管理两方面的内容,是技术和管理密切结合所形成的工程学科。通过计划、组织和控制等一系列活动,合理地配置和使用资源,以达到既定的目标。所以软件项目管理也是软件工程必不可少的组成部分。 软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资金和成本,并制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成 开发时期具体设计和实现在前一时期定义的软件 运行维护的主要任务是使软件持久的满足用户的需要 过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件过程模型的选择基于项目和应用的性质、采用的方法工具以及需要的控制和交付的产品。几种典型的模型: 瀑布模型也称为线性顺序模型 在20世纪80年代以前,瀑布模型一直是唯一被广泛采用的生命周期模型 1.阶段间具有顺序性和依赖性。 2.推迟实现的观点。 3.每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误。 传统的瀑布模型过于理想化。事实上,人在工作过程中不可能不犯错误。 在设计阶段可能发生规格说明文档中的错误。 而设计上的缺陷或错误可能在实现过程中显现出来。 在综合测试阶段将发现需求分析、设计或编码阶段的许多错误。 瀑布模型有许多优点:可强迫开发人员采用规范的方法(例如,结构化技术); 严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。 ? 适合于用户需求明确、完整、无重大变化的软件项目开发。 快速建立起来的可以在计算机上运行的程序,他所能完成的功能 往往是最终产品能完成的功能的 一个子集。 快速原型模型的工作过程 原型模型从需求收集开始。 开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定
文档评论(0)