网站大量收购独家精品文档,联系QQ:2885784924

龙杰整理-软工重点(上)解析.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
按着周俊林给的提纲来的重点,剩下的我只看了书,还没整理到电脑上,周二上传哈.. 大家加油复习吧,希望能帮到大家。 软件生命周期模型(选择一种模型至少对比四种模型说明) 三种过程模型最常用,瀑布模型,演化模型,增量模型。 瀑布模型 经典的生命周期模型 适用于需求明确,且将来没有太大改变的情况 优点 每个阶段都有文档,文档驱动, 能容易的与其他过程模型相结合。 每个阶段结束前都会进行文档检查,质量有保证 缺点 1. 不够灵活,每个阶段结果必须固定 2. 整体性太强,前期的错误只有等到最后才能发现,会带来严重的后果 3. 因为各阶段是文档驱动的,所以比较繁琐 演化模型 1 演化模型的思想是,首先实现软件最核心,最重要的功能。 2 和瀑布模型相比,客户可以更改需求,演化模型可以迅速更改没有困难。 3 适用于小型和中型系统,对于大型系统,最好采用瀑布模型和演化模型的混合过程 a. 原型模型 适用于客户定义整体需求,但是不清楚具体的输入输出;或者开发者不确定算法效率,软件 是否和系统兼容,用户和计算机的交互方式。 优点: 可以快速构建模型,如果有问题或者有更改,可以迅速更改。 缺点: 1. 为了快速构建模型,设计者会降低质量及放弃部分需求 2. 用户可能意识不到一些质量问题 b.并行开发模型 并发模型可以表示为一系列的技术活动,原型实现,分析模型,需求规则和设计。 所有活动都同时存在但是处于不同的状态,如空状态,结束状态。 (补充知识)迭代被定义为:迭代包括产生产品发布(稳定、可执 行的产品版本)的全部开发活动和要使用该发布必需的所有其他外 围元素。 b. 基于构建模型 基于构建模型以重用为导向,使用大量的可重用组建以及集成框架作为基础的开发过程. 基于构件的模型的四个阶段 1. 需求:与其他模型相同 2. 组件分析:搜索可用的组件。 3. 系统设计:要考虑到重用的组件选择,要是没有就重新编写软件 4. 开发和集成:将组建集成到系统中 优点:减少开发软件数量,减少成本和风险,使产品更快交付 缺点:1 需求有折中,不完全符合用户需求; 2 无法控制组建版本的更新,无法完全控制开发系统的演化 3 项目划分好坏,决定项目结果 增量过程模型 增量模型是一种进化式的开发过程,他从部分需求出发,建立一个不完整的系统,通过 测试这个系统缺的经验和反馈,进而进一步完善这个系统。反复进行,系统完善为止。 a. 增量模型 增量模型结合了原型模型的基本要素和迭代的特征,然而他与原型模型的区别是,增量模型 强调每个增量都是可运行的产品。 优点: 1. 增量包的引入,它不要完整的需求说明,只要有一个增量包的提出,就可以进行开发。 2.项目初期不需要太多人力资源,如果核心产品被接受,再扩大人手。 3.有效的管理技术风险。 缺点: 每个增量模型都必须提供一些系统功能,开发者很难根据用户需求给出大小合适的增量。 极限编程就是基于小增量的开发和交互 b. RAD 模型 RAD 模型强调短暂的开发周期,是瀑布模型的“高速”变体,通过基于组件的构建方法实现 快速开发。主要应用于信息系统软件的开发。 有三个阶段 1. 业务建模 2. 数据建模 3. 过程建模 缺点: 1. 对于大型项目,需要足够多的人力资源 2. 开发者和客户需要履行承诺,否则将导致失败 3. 并非所有系统都适合 c. 螺旋模型 强调风险管理,适用于大型系统的开发。 与RAD 模型类似,结合了瀑布模型和原型模型的 特点。 从左上角开始进行旋转。 1. 制定计划:确定软件目标,选定实施方案,弄清楚约束条件 2. 风险分析:考虑如何识别以及消除风险 (原形模型) 3.工程实现:编写代码 (瀑布模型) 4. 用户评价:评价开发工作情况。 优点: 1.支持需求动态变化 2.评估准确,重要问题可以提前发现 3.有助于降低风险 缺点: 1. 开发人员需要风险评估只是,因此开发队伍水平要求较高 2. 如果每次迭代效率不高,会拖沓任务完成时间 敏捷软件过程 强调客户满意度,以及较早的增量交付,小但有激情的团队,非正式方法,开发者和客户 持续交流。 包括极限编程,自适应软件开发,动态系统开发方法等。 功能性需求(用例图OO 和数据流图SD ) 用例图 用例图包括:参与者、用例、关联和边界四个要素。 参与者:用小人形表示 用例:用椭圆表示 关联:用直线表示说明参与者驱动某个用例,箭头指向一方为被启动的事件 边界:用矩形框表示,说明系统关注点。 注意include字样。 include为用例间的包含关系,由基用例指

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档