软件工程方法与实践 课件 窦万峰编著 第一部分 软件工程与过程(2软件过程).pptVIP

软件工程方法与实践 课件 窦万峰编著 第一部分 软件工程与过程(2软件过程).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pair Programming是个渐进的过程 有效率的Pair Programming不是一天就能做到的。 Pair Programming是一个相互学习,相互磨合的一个渐进过程。 Developers需要时间来适应这种新的开发模式。 刚开始的Pair Programming很可能不比Solo Programming有更高的效率。但适应后的Pairs的开发质量和开发时间都比Solo Programming有大幅度的改善。 结对编程 优势: 可以减少风险 可以使团队生产效率更高 是知识传播的最好途径 可以打造出最佳的合作团队 可以生成更好的代码 三个方面的应用: 教育学结对学习 工业界结对开发与编程 分布式结对编程环境 结对编程研究 教育学研究 结对编程学习效果研究 结对双方的相容性研究 结对编程过程研究 软件工业界 结对编程实践方式 社会动力学研究 个人编程能力的增强 分布式结对编程 结对编程开发环境研究 开发结对编程工具的需求 适合开展分布式结对编程的工具研究 自适应软件开发 自适应软件开发(Adaptive Software Development)由Jim Highsmith提出 着眼于人员协作和团队自我组织,类似于收集人们创意的容器 生命周期三个阶段包括: 思考:启动项目并完成自适应循环计划 协作:沟通与信任 学习:改进真正的理解水平,通过焦点组、正式技术评审和事后剖析方式进行学习 动态系统开发 动态系统开发(Dynamic System Development Method)是一种使用增量原型开发模式完全满足对时间约束的系统构建和维护的敏捷软件开发方法 借用Pareto(佩瑞多)原则:即如果交付整个应用系统需用100%时间,那么80%的应用系统可以用20%的时间交付 建议使用迭代软件过程 动态系统开发生命周期的敏捷过程模型: 可行性研究 业务研究 功能模型迭代 设计和构建迭代 实现 特征驱动开发 特征驱动开发(Feature-Driven development)把软件开发项目作为一个系统,即生产软件的系统 定义六种关键项目角色: 项目经理,负责报告进度情况、管理预算、筹措人员,以及管理设备、办公场地和资源等 主设计师,负责系统的整体设计 开发经理,负责领导日常开发活动,解决主程序员们自己无法解决的日常的资源冲突问题。 主程序员,参与高层的需求分析和设计活动,领导3-6人开发小组负责新软件特征的底层分析、设计和开发工具。 类的所有者,是主程序员领导的开发小组的成员,对新软件系统所需要的特征进行设计、编码、测试和编写文档。 领域专家,是客户、用户、业主、业务分析专家或者所有这些的混合。 2.5 软件工程实践 实践就是软件工程师日常使用的概念、原则、方法和开发工具的集合 软件工程实践的精髓是理解问题、计划解决方案、实施计划和检查结果的精确度等方面 通用的框架活动包括: 沟通 计划 建模 部署 普适性活动 软件工程实践核心原则: 存在价值:能给用户提供价值 保持简洁:所有设计简洁而非简化 维护视图:软件系统架构设计作为项目的视图 生产者要让消费者理解:以人为本 面向未来:系统适应软、硬件环境的变化强 计划复用:更大粒度的复用 认真思考:行动前想清楚 软件工程实践 沟通实践:包括决定项目涉及人的信息和沟通需求,沟通失败是IT项目求生路上最大的拦路虎。 计划实践:是软件开发过程的准备阶段,包括定义问题、可行性分析、制定计划。软件计划实践以可行性研究报告为基础,由软件人员和用户共同确立软件的功能和限制,提出软件计划任务书。 建立模型实践:创建分析模型和设计模型 1、软件生存周期模型 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 2、CMM CMM是能力成熟度模型(Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM)。 3、软件生命周期中所花费用最多的阶段是() 答:维护阶段 习题2、3、5、8 2.6 思考题 * * * * * 敏捷开发漫画 【概述】 敏捷开发系列漫画希望以活泼轻松的漫画形式,通过两个人物“熊猫”(PM)和“大拇哥”的对话,引出对敏捷开发方法的思考,并籍此引起大家的共鸣。 【人物】 熊猫:互联网行业PM的化身,现实很残酷,项目管理上总有数不尽的烦恼; 大拇哥:手持“魔方”现身说法,敏捷开发上总有说不完的故事。 2.4 敏捷过程 敏捷不是一个过程,是一类过程的统称。敏捷(Agile)是一种关注价值消除浪费、以人为核心、迭代、循序渐进的开发方法。 敏捷方法的两大主要特征: 对“适应性”的强调 对“人”的关注 做法: 引入迭代式的开发手段 将整个软件生命周期分解为若干个小的迭代周期 获取切实有效的客户反馈 提出1

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档