- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
侯天峰(1985-) 2011-2012:中兴通讯南研所:DHCP、TACACS协议软 件开发 2012-2014:三星电子(中国)研发中心,视频图像增强算法等先行技术研究 2014-至今:南大金陵学院 2014-2015: 云石电子,彩色超声图像后处理 Mobile Phone Email:tfhou@ 举例: 南京长江大桥太堵,桥北人民很难过,民众期待解决这个问题。 特点: 反复的应用瀑布模型的基本成分和原型模型的迭代特征,每一个线型过程产生一个“增量”的发布或提交,该增量均是一个可运行的产品。 早期的版本实现用户的基本需求,并提供给用户评估的平台。 螺旋模型的特点 风险驱动,需要相当丰富的风险评估经验和专门知识,否则风险更大。 主要适用于内部开发的大规模软件项目,随着过程的进展演化,开发者和用户能够更好的识别和对待每一个演化级别上的风险。 思考题一 假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完成后,该产品将被抛弃。你打算选用哪种生命周期模型? 1.4.1 瀑布模型 瀑布模型适合于用户需求明确、完整、无重大变化的软件项目开发。瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型。 “瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。 实际项目很少按照该模型给出的顺序进行; 用户常常难以清楚地给出所有需求; 瀑布模型的总结 1.4.2 快速原型模型 (Rapid Prototype Model) 在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其满足用户的要求,也使开发者对将要做的事情有更好的理解。 建造/修改原型 听取用 户意见 用户测试运行原型 原型实现范型 Axure DroidDraw 1.4.2 快速原型模型 优点:基本上是线性顺序进行。 1.4 软件过程模型 原型模型存在的问题 ⑴ 为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。 ⑵ 为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。 有效的使用原型模式 建造原型仅是为了定义需求,之后就被抛弃(或被部分抛弃),实际的软件在充分考虑了质量和可维护性之后才被开发。 1.4 软件过程模型 1.4.3 增量模型 (Incremental Model) 是一种渐进地开发逐步完善的软件版本的模型。 需求分析 验证 规格说明 验证 设计 验证 维护 针对每个构件完成详细设计、编码和集成,经测试后交付给用户 1.4 软件过程模型 分析 分析 分析 分析 设计 设计 设计 设计 编码 编码 编码 编码 测试 测试 测试 测试 增量1 增量2 增量3 增量4 交付 交付 交付 交付 ● ● ● ● ● 增量模型 1.4 软件过程模型 在较短时间内向用户提交可完成部分工作的产品,并分批、逐步地向用户提交产品。从第一个构件交付之日起,用户就能做一些有用的工作。 整个软件产品被分解成许多个增量构件,开发人员可以一个构件一个构件地逐步开发。 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。 采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。 增量模型的优点 1.4 软件过程模型 增量模型的缺点: 在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。 开发人员既要把软件系统看作整体。又要看成可独立的构件,相互矛盾。 多个构件并行开发,具有无法集成的风险。 1.4 软件过程模型 1.4.4 螺旋模型 (Spiral Model) 软件风险是任何软件开发项目中都普遍存在的实际问题,项目越大,软件越复杂,承担该项目所冒的风险也越大。 对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将快速原型模型和增量模型结合起来,加入了风险分析。在该模型中,软件开发是一系列的增量发布,早期的迭代中,发布的增量可能是一个纸上的模型或原型,在以后的迭代中,逐步产生系
文档评论(0)