- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
螺旋模型 将“原型模型”的迭代特征与“瀑布模型”中的控制和系统化方法结合起来,并增加了这2种模型均未考虑的风险分析。 软件风险:是普遍存在于软件开发项目中的实际问题。项目规模越大,问题越复杂,资源、成本、进度等因素的不确定性越大,承担项目所冒的风险也越大。 软件风险控制的目标:在造成危害之前,及时对风险进行识别、分析,采取对策,进而消除或减少风险的损害。 1.4.4 螺旋模型 螺旋模型 螺旋模型被划分为若干框架活动,也称任务区域。模型通常包含4个任务区域: (1) 制定计划:确定目标,选择方案,设定约束条件; (2) 风险分析:评估方案,分析该策略可能存在的风险; (3) 实施工程:实现本螺旋周期的目标; (4) 评估:评价前一步的结果,并且计划下一轮的工作。 1.4.4 螺旋模型 1.4.4 螺旋模型 RAD模型 RAD模型是一个线性顺序开发过程模型。它强调一个极短的开发周期,利用基于部件的构造方法快速开发应用软件。如果很好地理解了需求且限定了软件项目的作用域,那么RAD过程能使软件项目开发组在非常短的时间周期内产生一个全功能的系统 。 RAD模型要求: 对于适当规模的软件项目,需要足够的人力资源以建立合适数量的RAD组。 要求开发者和用户在相当短的时间内快速提交其任务以完成软件系统,如果提交缺乏任何一方的支持,项目将会失败。 1.4.5 快速应用开发模型(RAD) 1.4.5 快速应用开发模型(RAD) RAD模型 业务建模(Business Model):在业务功能中的信息流可以提问题的方式形成模型:什么信息驱动业务过程?产生什么信息?谁产生的信息?信息流向哪里?谁处理信息? 数据建模(Data Model):被定义为业务模型阶段的信息流可被细化为一组数据对象,用来支持业务模型。数据模型中将定义其对象特征(通常称为属性)以及对象之间的关系。 过程建模(Process Model):在数据模型阶段定义的数据对象可以被转化得到必要的信息流从而实现业务功能。处理描述可以是添加、修改、删除、或查询某一数据对象。 1.4.5 快速应用开发模型(RAD) RAD模型 应用生成(Application Generation):RAD采用的是第四代技术(4GT-Fourth Generation Techniques)而不是常规的第三代程序设计语言。RAD尽可能地再用或重用已有的程序部件或必要时创建新的部件。所有的工作尽可能地使用自动工具来构造软件。 测试及移交(Testing and turnover):因为RAD过程强调重用,因此,许多程序部件已被测过,这就减少了整体测试时间。但是,对新的部件必须进行测试,而且,所有的接口都要经过试验或运用。 1.4.5 快速应用开发模型(RAD) 1.4.6 构件组装模型 面向对象中的构件 面向对象技术将事物封装成对象,并将具有相同属性、操作、关系和语义的对象抽象为类,类封装了数据和用于操纵该数据的算法。 经过合适的设计和实现的类,在某个领域具有一定的通用性,称为“构件”,构件可以在不同的软件系统中复用。 构件组装模型 基于构件的复用技术为软件工程的基于构件的过程模型提供了技术框架。构件组装模型融合了螺旋模型的许多特征。本质上是演化的,支持软件开发的迭代方法。不同的是:构件组装模型是利用预先建造好的“构件”来构造应用程序的。 1.4.6 构件组装模型 构件组装模型的开发过程 标识候选构件 在构件库中查找构件 如果候选构件已经存在,就从库中提取出来复用。 如果候选构件不存在,就采用面向对象方法开发它,并存储到构件库中。 利用从库中提取出来的构件和建造的新构件,来构造软件的第一个迭代。 然后进入下一轮螺旋周期,继续进行构件集成的迭代。 1.4.6 构件组装模型 构件组装模型的益处 构件组装模型导致软件复用,而可复用性给软件开发提供了大量的可见的益处: (1)??提高软件生产率,缩短开发周期 (2)??提高软件产品质量 (3)??降低维护费用 (4)??便于软件移植和实现互操作性 (5)??支持快速原型开发 (6)??降低程序员和用户的培训费用 1.4.6 构件组装模型 1.4.7敏捷开发Agile development 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发过程的方法很多,主要有:SCRUM, Crystal,特征驱动软件开发(Feature Driven Development,?简称FDD),自适应软件开发(A
文档评论(0)