




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程导论(7)
软件工程思想软件工程导论(7)思想?我们太过倾向于遵循我们自己的乐观主义。我们太喜欢忽视真理的声音,而去听从万灵药贩卖者的诱惑
思想?我们太过倾向于遵循我们自己的乐观主义。我们太喜欢忽视真本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用永远不可低估思想的作用软件工程思想决定了软件工程的策略和方法
水流经管道的时候,它的形状是管道的形状;生命的泉水流经你的时候,它的形状就是你的思想的形状.思想决定行为,行为决定命运.因此,要改变命运,就要改变行为;要改变行为,就是改变思想。永远不可低估思想的作用软件工程思想决定了软件工程的策略和方法本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用以人为本管理学的佐证由智力活动所决定软件工程是知识工程
管理中心从物本管理到人本管理,经济人社会人以人为本尊重软件团队的每一个人,调动每一个人的工作激情和创造能力,发挥每个人的潜力知识工程的管理就是一种人性化的管理和全员参与的管理,组织的价值需要每个人的价值体现出来
以人为本管理学的佐证管理中心从物本管理到人本管理,经济人本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用软件危机软件是高科技的智力产品,需要很高的创造性,但还是不能抹去其工业性
软件质量问题直接危害到人们的生命财产、会造成国家经济的严重损失,企业会为此付出很大的代价艺术可以定义为“人类以创造美为主要目的的技术及其产品”软件危机软件是高科技的智力产品,需要很高的创造性,但还是不能本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用向传统产业学习什么?向传统产业学习什么?4.4
向传统工业学习4.4.1客户为导向4.4.2需求分析是基础4.4.3过程决定结果4.4.4持续改进过程4.4.5缺陷预防4.4.6围绕项目开展工作4.4.7验证和确认缺一不可4.4.8以架构设计为中心4.4向传统工业学习4.4.1客户为导向客户为导向满足客户的期望超越客户的期望一切从客户出发体现在具体过程中让客户参与到公司的质量管理中客户为导向就是以客户为中心,将客户的需求、期望和关心作为组织管理的活动原则和价值准则,充分体现了“以客户为关注焦点”的原则客户为导向是一种文化,也是一种策略和方针。客户为导向满足客户的期望客户为导向就是以客户为中心,将客户质量=客户满意度质量=客户满意度以客户为导向,最直接体现在客户需求工作之上对需求不重视,导致软件开发的返工率很高、成本高、质量低等一系列问题在项目的最后阶段修正需求错误比在需求阶段修正它要多花费200倍的代价
需求分析是基础在传统的制造业,产品的每个新特性都是经过仔细推敲后才确定下来以客户为导向,最直接体现在客户需求工作之上需求分析是基础在过程决定结果有什么流程,就有什么结果,流程决定了结果产品是构建于过程之中自动化生产线就是一个很好的例子
“七人分粥”故事
质量不是检验出来的,而是构建出来的
过程决定结果有什么流程,就有什么结果,流程决定了结果“七人分过程活动决定了成本
过程活动决定了成本持续改进过程PDCAIDEALDMAICQIP持续改进,正是冰冻非一日之寒,不能三天打鱼、两天晒网持续改进过程PDCA持续改进,正是冰冻非一日之寒,不能三天打PDCA持续改进PDCA持续改进IDEALIDEALDMAIC
定义测量分析改进控制DMAIC定义测量分析QIPQIP缺陷预防软件的劣质成本占开发的总成本在40%以上如果第一次就把事情做对了,就消除了劣质成本相比软件测试/质量检验,更有效的方法是开展预防缺陷的活动在开发的每个阶段实施根本原因分析,为有效开展缺陷预防活动提供依据
缺陷预防软件的劣质成本占开发的总成本在40%以上项目管理已经很成熟,形成比较完整的体系不管大大小小的事情,都可以看作一个项目把一个个项目做好了,就把整个工程做好了围绕项目开展各项工作围绕项目开展工作项目项目管理已经很成熟,形成比较完整的体系围绕项目开展工作项目验证和确认缺一不可验证过程:Arewebuildingtheproductright?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的过程规范。确认过程:
Arewebuildingtherightproduct?是否构造了正确的软件?即是否正在做用户真正所需要的产品验证和确认缺一不可验证过程:以架构设计为中心软件架构设计决定了软件系统的性能、可靠性、扩充性和维护性等良好的架构设计能适应用户不同的需求、支持用户需求的改变RUP也提倡“以架构设计为中心”的理念以架构设计为中心软件架构设计决定了软件系统的性能、可靠性、扩本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用软件工程有什么不同?软件工程有什么不同?4.5
软件工程的例外4.5.1迭代4.5.2敏捷开发思想4.5.3持续构建和集成4.5.4永远的Beta4.5.5面向对象是一种思想4.5.6软件工程应归为知识管理4.5软件工程的例外4.5.1迭代为什么选择迭代?市场的压力和竞争策略的需要产品开发的资金、周期和资源是有限的软件的复杂程度不断提高,增加了项目失败的可能性,将一个产品进行分阶段处理,可以尽早发现产品的市场问题或方向错误,降低风险。对于越来越复杂、庞大的系统,多数情况下不容易一次性整体实现,而是通过分解逐步实现。软件比较容易修改或扩充,在技术上可以保证软件迭代的可行性。为什么选择迭代?市场的压力和竞争策略的需要迭代增量开发迭代迭代增量开发迭代迭代开发流程螺旋模型RUP模型迭代开发流程螺旋模型RUP模型XP-eXtreme
Programming极限编程最简单的可能就是最有效的极限编程适合小团队(2-10programmers)“高风险”快速变化或不稳定的需求强调可测试性格言“沟通、简化、反馈、激励”KentBeckXP-eXtremeProgramming极限编程最简单的XP
Lifecycle-生命周期XPLifecycle-生命周期TDD-Test-DrivenDevelopment测试驱动开发为新功能写测试脚本开始编译修正编译错误执行测试查看结果(失败)写代码重新执行测试直到“Pass”代码重构TDD-Test-DrivenDevelopment测TDD–流程TDD–流程持续构建和测试系统的集成从写代码的第一天就开始,而且持续集成借助于持续集成,绝大多数缺陷在其引入的同一天就可以被发现每日验证,包含了持续的集成验证,可以配合每日构建和持续集成的工作在持续集成的驱动下,也加快了项目的进展良好的开发环境和自动化测试可以保证持续构建和测试的实现持续构建和测试系统的集成从写代码的第一天就开始,而且持续集成永远的Beta简单、朴素的Web2.0思想
“追求卓越、永无止境”的境界
对持续构建的发展
充分挖掘大众的智慧和体验
“永远的Beta”正在成为互联网软件开发的主流思想之一,创造一个更为灵活、发展更为迅速的软件工程环境
永远的Beta简单、朴素的Web2.0思想“永远的Bet面向对象是一种思想封装、继承性和多态性
从具体到抽象,再从抽象到具体
需求定义更彻底
改善软件的稳定性和可维护性
面向对象是一种思想封装、继承性和多态性面向对象的编程语言面向对象的编程语言软件工程知识管理需要同化和集成的概念工作是和人打交道能产生无形的智力产品软件工程是一种智力活动,应归为知识工作和管理,是因为其符合知识工作的特点
软件工程知识管理需要同化和集成的概念软件工程是一种智力活知识管理的原则工作人员了解自己的工作,或者说比其他人员(如管理人员)更理解自己的工作对于开发人员不能完全靠工作成果的量化来完成绩效考核,不能实施计件工资等,所以必须让知识工作人员管理自己,这样才能真正发挥他们的潜力需要不断激励他们,不断指导和帮助他们,培养他们的领导力知识管理的原则工作人员了解自己的工作,或者说比其他人员(如管知识管理体系个体知识组织化
隐性知识显性化
零散知识系统化
知识管理体系个体知识组织化本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用软件工厂存在吗?软件工厂存在吗?4.6.1模块化思想4.6.2面向构件思想4.6.3软件复用4.6.4中间件4.6.5自动化无处不在4.6软件工厂思想4.6.1模块化思想4.6软件工厂思想模块化思想“化繁为简”朴素思想的一种表现将复杂的系统分解为相对简单的模块,对单一模块容易各个击破
新产品(系统)=通用模块(不变的部分)+专用模块(变动的部分)模块能标准化和通用化
模块化思想“化繁为简”朴素思想的一种表现面向构件的思想体现在需求和设计的层次上构件是可独立配置的单元构件的实现是严格封装的构件可以在适当的环境中被复合使用面向构件思想还强调程序在动态运行时构件的自动装载,和“软件工厂”的概念已非常接近面向构件思想面向构件是一种前沿的软件设计思想,将成熟的工业化生产中标准构件、组装、自动化生产线等概念引入到软件开发过程中,并吸收了软件开发的结构化方法和面向对象方法中的一些优点而形成的面向构件的思想体现在需求和设计的层次上面向构件思想面向构件软件复用软件复用就是设法使用已有的软件组成元素来构成新的系统,以减少软件开发所需的费用和时间,提高软件的可维护性和可靠性基于软件函数库的软件复用生成方式,即对模式的复用组装方式软件复用软件复用就是设法使用已有的软件组成元素来构成新的系统中间件中间件(middleware)可以看作是面向构件的开发思想的一个实例,或者说是软件复用思想的延伸中间件可以为不同领域内的应用提供系统结构上的支持和标准的服务组件等中间件已成为许多标准化工作的主要部分中间件中间件(middleware)可以看作是面向构件的开发自动化无处不在(1)软件开发的自动化思想可以说是来源于现代工业的自动化生产线,也可以说来源于计算机本身软件开发的自动化思想应该无处不在,从自动构建软件包开始,到自动传递软件包、自动部署、自动验证和测试、自动生成报告、自动发出邮件通知等,形成一个自动化的开发环境自动化无处不在(1)软件开发的自动化思想可以说是来源于现代工自动化无处不在(2)自动化无处不在(2)Q&AQ&A演讲完毕,谢谢观看!演讲完毕,谢谢观看!软件工程导论(7)
软件工程思想软件工程导论(7)思想?我们太过倾向于遵循我们自己的乐观主义。我们太喜欢忽视真理的声音,而去听从万灵药贩卖者的诱惑
思想?我们太过倾向于遵循我们自己的乐观主义。我们太喜欢忽视真本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用永远不可低估思想的作用软件工程思想决定了软件工程的策略和方法
水流经管道的时候,它的形状是管道的形状;生命的泉水流经你的时候,它的形状就是你的思想的形状.思想决定行为,行为决定命运.因此,要改变命运,就要改变行为;要改变行为,就是改变思想。永远不可低估思想的作用软件工程思想决定了软件工程的策略和方法本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用以人为本管理学的佐证由智力活动所决定软件工程是知识工程
管理中心从物本管理到人本管理,经济人社会人以人为本尊重软件团队的每一个人,调动每一个人的工作激情和创造能力,发挥每个人的潜力知识工程的管理就是一种人性化的管理和全员参与的管理,组织的价值需要每个人的价值体现出来
以人为本管理学的佐证管理中心从物本管理到人本管理,经济人本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用软件危机软件是高科技的智力产品,需要很高的创造性,但还是不能抹去其工业性
软件质量问题直接危害到人们的生命财产、会造成国家经济的严重损失,企业会为此付出很大的代价艺术可以定义为“人类以创造美为主要目的的技术及其产品”软件危机软件是高科技的智力产品,需要很高的创造性,但还是不能本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用向传统产业学习什么?向传统产业学习什么?4.4
向传统工业学习4.4.1客户为导向4.4.2需求分析是基础4.4.3过程决定结果4.4.4持续改进过程4.4.5缺陷预防4.4.6围绕项目开展工作4.4.7验证和确认缺一不可4.4.8以架构设计为中心4.4向传统工业学习4.4.1客户为导向客户为导向满足客户的期望超越客户的期望一切从客户出发体现在具体过程中让客户参与到公司的质量管理中客户为导向就是以客户为中心,将客户的需求、期望和关心作为组织管理的活动原则和价值准则,充分体现了“以客户为关注焦点”的原则客户为导向是一种文化,也是一种策略和方针。客户为导向满足客户的期望客户为导向就是以客户为中心,将客户质量=客户满意度质量=客户满意度以客户为导向,最直接体现在客户需求工作之上对需求不重视,导致软件开发的返工率很高、成本高、质量低等一系列问题在项目的最后阶段修正需求错误比在需求阶段修正它要多花费200倍的代价
需求分析是基础在传统的制造业,产品的每个新特性都是经过仔细推敲后才确定下来以客户为导向,最直接体现在客户需求工作之上需求分析是基础在过程决定结果有什么流程,就有什么结果,流程决定了结果产品是构建于过程之中自动化生产线就是一个很好的例子
“七人分粥”故事
质量不是检验出来的,而是构建出来的
过程决定结果有什么流程,就有什么结果,流程决定了结果“七人分过程活动决定了成本
过程活动决定了成本持续改进过程PDCAIDEALDMAICQIP持续改进,正是冰冻非一日之寒,不能三天打鱼、两天晒网持续改进过程PDCA持续改进,正是冰冻非一日之寒,不能三天打PDCA持续改进PDCA持续改进IDEALIDEALDMAIC
定义测量分析改进控制DMAIC定义测量分析QIPQIP缺陷预防软件的劣质成本占开发的总成本在40%以上如果第一次就把事情做对了,就消除了劣质成本相比软件测试/质量检验,更有效的方法是开展预防缺陷的活动在开发的每个阶段实施根本原因分析,为有效开展缺陷预防活动提供依据
缺陷预防软件的劣质成本占开发的总成本在40%以上项目管理已经很成熟,形成比较完整的体系不管大大小小的事情,都可以看作一个项目把一个个项目做好了,就把整个工程做好了围绕项目开展各项工作围绕项目开展工作项目项目管理已经很成熟,形成比较完整的体系围绕项目开展工作项目验证和确认缺一不可验证过程:Arewebuildingtheproductright?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的过程规范。确认过程:
Arewebuildingtherightproduct?是否构造了正确的软件?即是否正在做用户真正所需要的产品验证和确认缺一不可验证过程:以架构设计为中心软件架构设计决定了软件系统的性能、可靠性、扩充性和维护性等良好的架构设计能适应用户不同的需求、支持用户需求的改变RUP也提倡“以架构设计为中心”的理念以架构设计为中心软件架构设计决定了软件系统的性能、可靠性、扩本章内容4.1永远不可低估思想的作用4.2以人为本4.3软件开发不是一门艺术4.4向传统工业学习4.5软件工程的例外4.6软件工厂思想本章内容4.1永远不可低估思想的作用软件工程有什么不同?软件工程有什么不同?4.5
软件工程的例外4.5.1迭代4.5.2敏捷开发思想4.5.3持续构建和集成4.5.4永远的Beta4.5.5面向对象是一种思想4.5.6软件工程应归为知识管理4.5软件工程的例外4.5.1迭代为什么选择迭代?市场的压力和竞争策略的需要产品开发的资金、周期和资源是有限的软件的复杂程度不断提高,增加了项目失败的可能性,将一个产品进行分阶段处理,可以尽早发现产品的市场问题或方向错误,降低风险。对于越来越复杂、庞大的系统,多数情况下不容易一次性整体实现,而是通过分解逐步实现。软件比较容易修改或扩充,在技术上可以保证软件迭代的可行性。为什么选择迭代?市场的压力和竞争策略的需要迭代增量开发迭代迭代增量开发迭代迭代开发流程螺旋模型RUP模型迭代开发流程螺旋模型RUP模型XP-eXtreme
Programming极限编程最简单的可能就是最有效的极限编程适合小团队(2-10programmers)“高风险”快速变化或不稳定的需求强调可测试性格言“沟通、简化、反馈、激励”KentBeckXP-eXtremeProgramming极限编程最简单的XP
Lifecycle-生命周期XPLifecycle-生命周期TDD-Test-DrivenDevelopment测试驱动开发为新功能写测试脚本开始编译修正编译错误执行测试查看结果(失败)写代码重新执行测试直到“Pass”代码重构TDD-Test-DrivenDevelopment测TDD–流程TDD–流程持续构建和测试系统的集成从写代码的第一天就开始,而且持续集成借助于持续集成,绝大多数缺陷在其引入的同一天就可以被发现每日验证,包含了持续的集成验证,可以配合每日构建和持续集成的工作在持续集成的驱动下,也加快了项目的进展良好的开发环境和自动化测试可以保证持续构建和测试的实现持续构建和测试系统的集成从写代码的第一天就开始,而且持续集成永远的Beta简单、朴素的Web2.0思想
“追求卓越、永无止境”的境界
对持续构建的发展
充分挖掘大众的智慧和体验
“永远的Beta”正在成为互联网软件开发的主流思想之一,创造一个更为灵活、发展更为迅速的软件工程环境
永远的Beta简单、朴素的Web2.0思想“永远的Bet面向对象是一种思想封装、继承性和多态性
从具体到抽象,再从抽象到具体
需求定义更彻底
改善软件的稳定性和可维护性
面向对象是一种思想封装、继承性和多态性面向对象的编程语言面向对象的编程语言软件工程知识管理需要同化和集成的概念工作是和人打交道能产生无形的智力产品软件工程是一种智力活动,应归为知识工作和管理,是因为其符合知识工作的特点
软件工程知识管理需要同化和集成的概念软件工程是一种智力活知识管理的原则工作人员了解自己的工作,或者说比其他人员(如管理人员)更理解自己的工作对于开发人员不能完全靠工作成果的量化来完成绩效考核,不能实施计件工资等,所以必须让知识工作人员管理自己,这样才能真正发挥他们的潜力需要不断激励他们,不断指导和帮助他们,培养他们的领导力知识管理的原则工作人员了解自己的工作,或者说比其他人员(如管知识管理体系个体知识组织化
隐性知识显性化
零散知识系统化
知识管理体系个体知识组织化本章内容4.1永远不可低估思想的作用4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古艺术学院《专业英语(建筑)》2023-2024学年第一学期期末试卷
- 潍坊环境工程职业学院《药学仪器分析》2023-2024学年第二学期期末试卷
- 中南大学《大规模数据挖掘与分布式处理》2023-2024学年第二学期期末试卷
- 咸阳市渭城区2024-2025学年数学三下期末监测试题含解析
- 新星职业技术学院《手绘表现艺术》2023-2024学年第一学期期末试卷
- 普外科胰腺炎护理常规
- 外出培训交流与成果分享
- 湛江市高二上学期期末调研考试物理试题
- 酒店中式铺床培训
- 2025标准股权分配协议 制造业类合同参考格式
- 2020年10月自考00152组织行为学试题及答案
- 2018年顺丰控股公司组织架构和部门职能
- 中国联通大客户业务故障处理工作实施细则
- 华为WLAN培训资料课件
- 干眼(症)诊治基础知识考试试题及答案
- GB/T 6488-2022液体化工产品折光率的测定
- GB/T 1871.1-1995磷矿石和磷精矿中五氧化二磷含量的测定磷钼酸喹啉重量法和容量法
- FZ/T 73023-2006抗菌针织品
- 2021-2022学年高二下学期英语读后续写公开课课件:continuation writing-receiving and giving课件
- 2023年初中数学竞赛试题中国教育学会中学数学教学专业委员会数学周报杯
- 第七章流域水环境规划课件
评论
0/150
提交评论