- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程过程模型1软件工程的技术基础
软件工程的技术基础 软件工程过程 软件过程模型 线性顺序模型 原型模型 快速应用开发模型 演化软件过程模型 软件过程技术 软件重用技术 基于软件重用思想的框架(Framework)开发模式 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。 另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 框架能重用代码。 框架能够重用设计。 框架还能重用分析。 采用框架技术进行软件开发的主要特点包括: (1) 领域内的软件结构一致性好。 (2) 建立了更加开放的系统。 (3) 重用代码大大增加,软件生产效率和质量也得到了提高。 (4) 软件设计人员要专注于对领域的了解,使需求分析更充分。 (5) 存储了经验,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程。 (6) 允许采用快速原型技术。 (7) 有利于在一个项目内多人协同工作。 (8) 大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低,而参数化框架使得适应性、灵活性增强。 2.10 小 结 本章讲述了软件过程的基本概念和常用软件过程的构造与特点。我们已经知道,软件工程在计算机软件的开发中集成了过程、方法和工具。工程过程是用以开发或维护软件及其相关产品的一系列活动,包括软件工程活动和软件管理活动。从最传统的线性顺序过程开始,本章对原型模型、演化模型、RAD模型的结构、特点作了具体的介绍。通过对本章的学习,我们应当了解到如何根据具体项目的特点和开发环境,选择正确的过程模型,达到最佳的开发效果。 软件工程过程 软件规格说明:规定软件的功能及其运行的限制 软件开发:产生满足规格说明的软件 软件确认:确认软件能够完成客户提出的要求 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进 软件工程过程的特性 易理解性 可见性 可支持性 可接受性 可靠性 健壮性 可维护性 速度 2.1 软件工程的技术基础 图2.1 软件工程过程层次图 软件工程必须以有组织的软件质量保证为基础。因此说,对质量的关注构成了软件工程的根基。 软件工程过程是将技术层(包括工程技术与管理技术)结合在一起的凝聚力。 过程层是软件工程的基层。 软件工程方法涵盖了需求分析、设计、编程、测试、维护等各个环节,它给出了完成这些任务在技术上应当“如何做”的方法。 工具层对过程和方法提供支持,使得工程活动、管理活动得以自动、半自动的进行。 2.2 软件工程过程 软件工程过程通常包括四种基本的过程活动: (1) 软件规格说明。 (2) 软件开发。 (3) 软件确认。 (4) 软件演进。 在一个良好的软件过程中,还应当包括一些“保护性”的活动,包括软件项目的跟踪监控、正式的技术审核、软件配置管理活动、软件质量保证活动、文档的准备和产生、软件测试、风险管理等等。 一个良好的软件工程过程应当具备如下特点: (1) 易理解性。 (2) 可见性。 (3) 可支持性。 (4) 可接受性。 (5) 可靠性。 (6) 健壮性。 (7) 可维护性。 (8) 高效率。 一个软件过程可以表示成: 2.3 软件过程模型 在一个具体的实际工程活动中,软件工程师必须设计、提炼出一个工程开发策略,用以覆盖软件过程中的基本阶段,确定所涉及的过程、方法、工具。这种策略常被称为“软件工程过程模型”。 从宏观上来看,所有的软件开发过程都可以看成是一个循环解决问题的过程。其中包括四个截然不同的阶段:状态描述、问题定义、技术开发和方案综述。 问题循环解决阶段中的阶段: 2.4 线性顺序模型 线性顺序模型有时也称为“瀑布模型”。 它表示了软件开发系统的、顺序的方法。 直至目前,对于需求确定、变更相对较少的项目,线性顺序模型仍然是一种可以考虑采取的过程模型。但在“用户驱动”的商业软件开发中,采用线性顺序模型并不是一个好的选择。 2.5 原 型 模 型 原型模型从需求收集开始,开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。然后进行快速设计并进行编码实现,进行原型的建造。这一过程是多次迭代进行的。 使用原型模型必须有两个前提: 其一是用户必须积极参与原型的建造,同时开发者和用户必须有共识:建造原型仅仅是为了定义需求,之后就必须被全部抛弃(至少是部分抛弃),实际的软件必须在充分考虑到软件质量和可维护性之后才被开发。 其二是必须有快速开发工具
文档评论(0)