- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4-1软件工程思想
软件工程思想 《软件工程导论》第4章 课前问题 是否我们遵循某种软件工程流程和规范就可以生产出高质量的软件呢? Agenda 思想的作用 – 永远不要照搬 以人为本 向传统工业学习 软件工程新思想 面向对象思想 持续改进与知识管理 面向构件与中间件 小结 思想的作用 思想的作用 – 永远不要照搬 最佳实践是什么? 不要忘记软件工程的基本目标 —— ? 以人为本 永远不要忘记软件是由人开发的 以人为本 永远不要忘记软件是由人开发的 个体软件过程(Personal Software Process, PSP)是基于软件工程思想、软件技术和专业方法,帮助软件开发团队中的个体——软件工程师改善其个人能力和素质的组织过程。PSP市委帮助软件工程师出色完成任务而设计的一个框架。 团队软件过程(Team Software Process, TSP)是建立在个体软件过程之上,致力于开发高质量的产品,建立、管理和授权项目小组,改善开发团队过程、提高开发团队能力的指导性框架。 向传统工业学习? 向传统工业学习 - 工程思想 以客户为中心 需求分析是基础 过程决定结果 持续改进过程 缺陷预防 围绕项目开展工作 验证和确认缺一不可 以架构设计为中心 向传统工业学习 – 以客户为中心 以客户为中心,将客户的需求、期望和关心作为组织管理的活动原则和价值准则,充分体现了“以客户为关注焦点”的原则。 请你换位思考,不仅是口号,还要落实为行动、策略和方法。 满足客户的期望 超越客户的期望 一切从客户出发 体现在具体过程中 让客户参与到公司的质量管理中 向传统工业学习 – 以客户为中心 以客户为中心 – 从需求分析开始 在传统的制造业,产品的每个新特性都是经过仔细推敲后才确定下来 以客户为导向,最直接体现在客户需求工作之上 对需求不重视,导致软件开发的返工率很高、成本高、质量低等一系列问题 在项目的最后阶段修正需求错误比在需求阶段修正它要多花费200倍的代价 ——Standish Group调查结果显示失败项目中有45%与需求过程有关。 ——ESI在对17个国家3500个公司调查发现大多数问题存在于需求规格说明和需求管理中。 向传统工业学习 – 过程决定结果 一个小故事“七人分粥” 另一个小故事“修路原理” 产品是构建于过程之中 向传统工业学习 – 过程决定结果 向传统工业学习 – 持续改进过程 丰田生产模式(Toyota Product System) 丰田的基本理念是:“为客户提供更好的产品”。其采取的措施主要包括以下两点; 一是采用不使次品流入到下一个流程的系统,各个流程均保证质量,从而保证得到高品质的产品。 二是通过不断改善(排除不必要的流程),以降低产品成本,确保产品拥有一个顾客满意的价格。 最佳实践 = 持续改进过程 向传统工业学习 – 持续改进过程 PDCA – Plan-Do-Check-Act 向传统工业学习 – 持续改进过程 QIP – Quality Improvement Paradigm 向传统工业学习 – 缺陷预防 软件的劣质成本占开发的总成本在40%以上 如果第一次就把事情做对了,就消除了劣质成本 相比软件测试/质量检验,更有效的方法是开展预防缺陷的活动 在开发的每个阶段实施根本原因分析, 为有效开展缺陷预防活动提供依据。 质量是做出来的,不是测出来的。 追求卓越的 6 sigma 质量体系。 向传统工业学习 – 项目管理 项目管理已经很成熟,形成比较完整的体系 不管大大小小的事情,都可以看作一个项目 把一个个项目做好了,就把整个工程做好了 围绕项目开展各项工作 验证和确认缺一不可 Verification and Validation (VV) 验证过程: Are we building the product right? 是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的过程规范。 确认过程: Are we building the right product? 是否构造了正确的软件?即是否正在做用户真正所需要的产品 以架构设计为中心 软件架构设计决定了软件系统的性能、可靠性、扩充性和维护性等 良好的架构设计能适应用户不同的需求、支持用户需求的改变 RUP也提倡“以架构设计为中心”的理念 软件工程的新思想 – 迭代 为什么选择迭代? 市场的压力和竞争策略的需要 产品开发的资金、周期和资源是有限的 软件的复杂程度不断提高,增加了项目失败的可能性,将一个产品进行分阶段处理,可以尽早发现产品的市场问题或方向错误,降低风险。 对于越来越复杂、庞大的系统,多数情况下不容易一次性整体实现,而是通过分解逐步实现。 软件比较容易修改或扩充,在技术上可以保证软件迭代的可行性。 软件工程的新
文档评论(0)