1 概述 软件工程.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 第二讲 本讲核心 一、软件工程过程 二、软件生存期模型 三、软件开发方法 四、软件工具与软件开发环境 五、路线图 软件项目过程 软件工程三段论 软件开发 开发过程是软件人员生产软件的过程,例如需求分析、设计、编码、测试等,相当于生产线上的生产过程。 软件开发路线图 软件项目管理 管理过程是项目管理者规划软件开发、控制软件开发的过程,相当于生产线上的管理过程,管理过程是伴随开发过程进行的过程。 软件项目管理路线图 软件过程改进 过程改进相当于对软件开发过程和软件管理过程的“工艺流程”进行管理和改进,如果没有好的工艺生产不出好的产品,它包括对开发过程和管理过程的定义和改进。 软件过程改进路线图 本讲核心 一、软件工程过程 二、软件生存期模型 三、软件开发方法 四、软件工具与软件开发环境 五、路线图 软件生存期 常用生存期模型 瀑布Waterfall V模型V-shaped 原型Prototyping 增量Incremental 螺旋式Spiral ……. 瀑布模型 是研究人员提出的第一个模型,它将开发阶段从一个阶段瀑布般转换到另一个阶段。 该图暗示,一个开发阶段必须在另一个开发阶段开始之前完成。 问题:并不能反映实际的代码开发方式,实际上软件是通过大量的迭代进行开发的。 若不对实际的软件开发过程加以控制,开发过程可能看起来会像图2.2。 瀑布模型的主要缺点是没有把软件看做一个问题求解的过程。 通过引入加强理解的活动和子活动,软件开发过程有助于控制活动之间的反反复复。 原型(prototype)就是这样的一个子过程,它使客户和开发人员能够对计划开发的系统的相关方面进行检查,以决定它对最终产品是否合适或恰当。 确认(validation)确保系统实现了所有的需求。 验证(verification)确保每项功能都是正确的。 WaterFall model适合的项目 在项目开始前,项目的需求很明确 在项目开始前,解决方案也很明确 类似的项目如: 公司的财务系统 库存管理系统 短期项目 V模型 V模型 V模型使得隐藏在瀑布模型中的迭代和重做更加明确 瀑布模型关注的通常是文档和制品 V模型关注的是活动和正确性 大家误认为测试是开发周期的最后一个阶段,其实早期的测试对提高产品的质量,缩短开发周期起着重要作用。 V模型正好说明的测试的重要性,它与开发是并行的。V模型体现了全过程的质量意识。 V模型适合的项目 在项目开始前,项目的需求很明确 在项目开始前,解决方案也很明确 对系统的性能安全很严格的项目 类似的项目如: 航天飞机等 公司的财务系统 实例 Prototype Prototype 模型适合的项目 在项目开始前,项目的需求不明确 需要减少项目需求的不确定性 类似的项目如: 确定显示界面 第一次开发的产品,验证可行性 阶段性开发 增量开发(incremental development) 在增量开发中,需求文档中指定的系统按功能划分为子系统。定义发布时首先定义一个小的功能子系统,然后在每个新的发布中增加新功能。 迭代开发(iterative development) 迭代开发是在一开始就提交一个完整的系统,然后在每个新的发布中改变每个子系统的功能。 Incremental Model Incremental Model适合的项目 项目开始,明确了需求的大部分,但是需求可能会发生变化 对于市场和用户把握不是很准,需要逐步了解 对于有庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。 增量模型实例 螺旋模型(Spiral Model) 对于大型软件,只开发一个原型往往达不到要求。螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。 第一次迭代的产品是操作概念 第二次迭代的主要产品是需求 在第三次迭代中,系统开发产生设计 第四次迭代能够进行测试 Spiral Model Spiral Model 螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即: 制定计划──确定软件目标,需求和选定实施方案,弄清项目开发的限制条件 风险分析──评估所选方案,考虑如何识别和消除风险 实施工程──实施软件开发,编码,测试等 客户评估──评价开发工作,提出修正建议,规划下期任务 螺旋模型的每次迭代都根据需求和约束进行风险分析,以权衡不同的选择,并且在确定某一特定选择之前,通过原型化验证可行性或期望度。 当风险确认之后,项目经理必须决定如何消除或最小化风险。 Spiral Model适合的项目 风险是主要的制约因素 不确定因素和风险限制了项目进度 用户对自己的需求也不是很明确 需要对一些基本的概念进行验证 可能发生一些重大的变更 项目规模很大 项目中采用了

文档评论(0)

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

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

1亿VIP精品文档

相关文档