lecture5it工程师的工程能力

上传人:枫** 文档编号:570092545 上传时间:2024-08-01 格式:PPT 页数:134 大小:2.39MB
返回 下载 相关 举报
lecture5it工程师的工程能力_第1页
第1页 / 共134页
lecture5it工程师的工程能力_第2页
第2页 / 共134页
lecture5it工程师的工程能力_第3页
第3页 / 共134页
lecture5it工程师的工程能力_第4页
第4页 / 共134页
lecture5it工程师的工程能力_第5页
第5页 / 共134页
点击查看更多>>
资源描述

《lecture5it工程师的工程能力》由会员分享,可在线阅读,更多相关《lecture5it工程师的工程能力(134页珍藏版)》请在金锄头文库上搜索。

1、信息与软件学院信息与软件学院2014.9第五讲第五讲ITIT工程师的工程能力工程师的工程能力主要内容主要内容工程能力概述工程能力概述软件工程知识体系软件工程知识体系软件工程系统能力软件工程系统能力 工程能力概述工程能力概述科学、技术与工程科学、技术与工程软件与软件工程软件与软件工程 项目与软件项目项目与软件项目工程能力概述工程能力概述 科学、技术与工科学、技术与工程程科学科学指探知事物的本质、特征、内在规律以及与其他指探知事物的本质、特征、内在规律以及与其他事物的联系,是关于自然、社会和思维的发展与变化事物的联系,是关于自然、社会和思维的发展与变化规律的知识体系。或者说科学是建立在经验主义、实

2、规律的知识体系。或者说科学是建立在经验主义、实验以及方法论自然主义之上的各种知识验以及方法论自然主义之上的各种知识技术技术指运用科学规律解决实现某一目的的手段和方法,指运用科学规律解决实现某一目的的手段和方法,泛指根据生产实践经验和科学原理而发展形成的各种泛指根据生产实践经验和科学原理而发展形成的各种工艺操作方法、技能和技巧工艺操作方法、技能和技巧工程工程指将自然科学原理应用到工农业等生产部门中而指将自然科学原理应用到工农业等生产部门中而形成的各门学科的总称。如机械工程、水利工程、化形成的各门学科的总称。如机械工程、水利工程、化学工程、系统工程、软件工程等学工程、系统工程、软件工程等工程能力概

3、述工程能力概述 科学、技术与工科学、技术与工程程科学科学偏重于理论,强调一个事物或一个问题偏重于理论,强调一个事物或一个问题“是什么是什么” 、“为什么为什么”技术技术强调实践,注重于强调实践,注重于“怎么办怎么办”这样一个解这样一个解决问题的方法决问题的方法工程工程是需要科学与实践结合,综合使用多个技是需要科学与实践结合,综合使用多个技术方法来构建一个新系统,这个新系统在客观术方法来构建一个新系统,这个新系统在客观上是一个创造物上是一个创造物工程能力概述工程能力概述科学、技术与工程科学、技术与工程软件与软件工程软件与软件工程 项目与软件项目项目与软件项目工程能力概述工程能力概述 软件与软件工

4、程软件与软件工程软件软件:计算机系统中与硬件相互依存的另一部:计算机系统中与硬件相互依存的另一部分,包括程序,数据及其相关文档的完整集合分,包括程序,数据及其相关文档的完整集合程序程序:按事先设计的功能和性能要求执行的指:按事先设计的功能和性能要求执行的指令序列令序列数据数据:使程序能正常操纵信息的数据结构:使程序能正常操纵信息的数据结构文档文档:与程序开发,维护和使用有关的图文材:与程序开发,维护和使用有关的图文材料料工程能力概述工程能力概述 软件与软件工程软件与软件工程软件工程定义软件工程定义n指导计算机软件开发和维护的工程学科指导计算机软件开发和维护的工程学科n采用工程的概念、原理、技术

5、和方法来开发与维护采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它开发出高质量的软件并有效地维护它nIEEE(1993):): 软件工程是软件工程是把系统化的、规范把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的的、可度量的途径应用于软件开发、运行和维护的过程,也就是化工程应用于软件中;过程,也就是化工程应用于软件中;研究研究中提中提到的途径到的途径工程能力概述工程能力概述科学、技

6、术与工程科学、技术与工程系统与计算机系统系统与计算机系统软件与软件工程软件与软件工程 项目与软件项目项目与软件项目工程能力概述工程能力概述 项目与软件项目项目与软件项目自从有了人类,人们就开展了各种有组织的活自从有了人类,人们就开展了各种有组织的活动。随着社会的发展,有组织的活动逐步分化动。随着社会的发展,有组织的活动逐步分化为两种类型:为两种类型:一类是连续不断、周而复始的活动,人们称之一类是连续不断、周而复始的活动,人们称之为为“运作运作”(Operations),如企业日常的生产,如企业日常的生产产品的活动产品的活动另一类是临时性、一次性的活动,人们称之为另一类是临时性、一次性的活动,人

7、们称之为“项目项目”(Projects),如企业的技术改造活动、,如企业的技术改造活动、一项环保工程的实施一项环保工程的实施工程能力概述工程能力概述 项目与软件项目项目与软件项目在现代社会中在现代社会中“项目项目”是很普遍是很普遍n各类开发项目各类开发项目n各种建设工程项目各种建设工程项目n各种科研项目各种科研项目n各种环保和规划项目各种环保和规划项目n各种社会项目各种社会项目n各种投资项目各种投资项目n各种国防项目各种国防项目从上述可见,项目已渗入到社会的经济、文化、从上述可见,项目已渗入到社会的经济、文化、军事的各个领域,社会的每一层次和每一角落军事的各个领域,社会的每一层次和每一角落工程

8、能力概述工程能力概述 项目与软件项目项目与软件项目q上课上课 q野餐活动野餐活动q集体婚礼集体婚礼q社区保安社区保安q开发操作系统开发操作系统q每天的卫生保洁每天的卫生保洁 q神州飞船计划神州飞船计划日常运作日常运作项目项目工程能力概述工程能力概述 项目与软件项目项目与软件项目项目是一个组织为实现自己既定的目标,在一项目是一个组织为实现自己既定的目标,在一定的时间、人员和资源约束条件下,所开展的定的时间、人员和资源约束条件下,所开展的一种具有一定独特性的一次性工作一种具有一定独特性的一次性工作明确界定的明确界定的明确界定的明确界定的工作范围工作范围工作范围工作范围预定的资源预定的资源预定的资源

9、预定的资源一次性工作一次性工作一次性工作一次性工作临时组织临时组织临时组织临时组织明确具体的目标明确具体的目标明确具体的目标明确具体的目标团队合作团队合作团队合作团队合作开始日期开始日期开始日期开始日期结束日期结束日期结束日期结束日期项目项目工程能力概述工程能力概述 项目与软件项目项目与软件项目目的性:目的性:任何一个项目都是为实现特定的组织目标服任何一个项目都是为实现特定的组织目标服务务独特性:独特性:项目的产品或服务都具有一定的独特之处项目的产品或服务都具有一定的独特之处一次性:一次性:每一个项目都有自己明确的时间起点和终点,每一个项目都有自己明确的时间起点和终点,都是有始有终的,而不是不

10、断重复、周而复始都是有始有终的,而不是不断重复、周而复始制约性:制约性:每个项目都在一定程度上受客观条件的制约。每个项目都在一定程度上受客观条件的制约。最主要的制约是资源制约最主要的制约是资源制约风险性:风险性:由于项目各种条件和环境发展变化的不确定由于项目各种条件和环境发展变化的不确定性所造成的项目后果损失或收益的可能性性所造成的项目后果损失或收益的可能性过程性:过程性:项目是由一系列的项目阶段、项目工作或项项目是由一系列的项目阶段、项目工作或项目活动所构成的一个完整过程目活动所构成的一个完整过程其它特性:其它特性:包括项目的创新性、项目后果的不可挽回包括项目的创新性、项目后果的不可挽回性和

11、项目组织的临时性与开放性等性和项目组织的临时性与开放性等工程能力概述工程能力概述 项目与软件项目项目与软件项目项目的三项约束:每个项目都会在不同程度上项目的三项约束:每个项目都会在不同程度上受到范围目标、时间目标和成本目标的约束,受到范围目标、时间目标和成本目标的约束,这些有时被称为项目的三项约束。这三个目标这些有时被称为项目的三项约束。这三个目标经常存在冲突,良好的项目是达到三者的平衡经常存在冲突,良好的项目是达到三者的平衡范围范围:项目要努力实现的是什么?客户或发起:项目要努力实现的是什么?客户或发起人要通过项目获得什么样的产品或服务?人要通过项目获得什么样的产品或服务?时间时间:完成项目

12、需要多长时间?项目进度是怎:完成项目需要多长时间?项目进度是怎样安排的?样安排的?成本成本:完成项目需要花费多少成本?如何做好:完成项目需要花费多少成本?如何做好进度和费用的综合控制?进度和费用的综合控制?工程能力概述工程能力概述 项目与软件项目项目与软件项目质量时间成本目标项目成功三要素项目成功三要素n按时完成按时完成n预算内预算内n质量符合预期要求质量符合预期要求n功能功能n性能性能工程能力概述工程能力概述 项目与软件项目项目与软件项目工程项目是当今社会最为普遍,也是最工程项目是当今社会最为普遍,也是最为重要的项目类型。它存在于社会的各为重要的项目类型。它存在于社会的各个领域、各个地方,在

13、社会生活和经济个领域、各个地方,在社会生活和经济发展中起着重要作用发展中起着重要作用工程项目是以一个工程技术系统的建设工程项目是以一个工程技术系统的建设和(或)运行为任务的过程和(或)运行为任务的过程工程项目的根本目的,是通过工程的建工程项目的根本目的,是通过工程的建设和运行为社会提供合格的产品或服务设和运行为社会提供合格的产品或服务工程能力概述工程能力概述 项目与软件项目项目与软件项目软件项目:以软件服务为主体的项目软件项目:以软件服务为主体的项目软件项目目标软件项目目标n用用有限的时间有限的时间、有限的资源有限的资源为为特定用特定用户户提供提供满足其需求满足其需求的软件服务,并的软件服务,

14、并获获取对应价值取对应价值工程能力概述工程能力概述 项目与软件项目项目与软件项目软件项目的三大构成软件项目的三大构成项目流程项目流程 项目的方向和进程项目的方向和进程项目团队项目团队 项目的实施者项目的实施者项目制度项目制度 项目实施的准绳项目实施的准绳工程能力概述工程能力概述 项目与软件项目项目与软件项目软件项目内容软件项目内容n进行项目的开发和交付进行项目的开发和交付n程序文档和代码程序文档和代码n保障项目的正常运行保障项目的正常运行n硬件集成、数据转换硬件集成、数据转换n提供项目支持和服务提供项目支持和服务n用户培训、技术支持用户培训、技术支持工程能力概述工程能力概述 项目与软件项目项目

15、与软件项目工程类项目(重点)工程类项目(重点)n目标:交付工程目标:交付工程n用户:指定用户(如某家企业)用户:指定用户(如某家企业)产品类项目产品类项目n目标:交付产品目标:交付产品n用户:行业客户用户:行业客户服务类项目服务类项目n目标:为用户提供特定的服务(如售后维护)目标:为用户提供特定的服务(如售后维护)n用户:指定用户用户:指定用户主要内容主要内容工程能力概述工程能力概述软件工程知识体系软件工程知识体系软件工程系统能力软件工程系统能力 软件工程知识体系软件工程知识体系SWEBOK:软件工程知识体:软件工程知识体SEEK:软件工程教育知识体:软件工程教育知识体软件工程知识体系软件工程

16、知识体系 软件工程知识体软件工程知识体1970年代末期,美国制定研究生教育计划时采纳了年代末期,美国制定研究生教育计划时采纳了IEEE-CS提出的提出的制定软件工程教程的建议,为软件工程教育打下了基础。制定软件工程教程的建议,为软件工程教育打下了基础。在英国,在英国,最早的本科软件工程教育计划开始于最早的本科软件工程教育计划开始于1985年的皇家学院和年的皇家学院和1988年的年的谢菲尔德大学。谢菲尔德大学。1980年代末和年代末和1990年代初,软件工程教育得到卡内基年代初,软件工程教育得到卡内基-梅隆大学软件梅隆大学软件工程研究所(工程研究所(SEI)的培育和支持。)的培育和支持。他们的工

17、作包括:调查软件工他们的工作包括:调查软件工程教育现状;出版研究生的软件工程推荐教程;在卡内基梅隆大学程教育现状;出版研究生的软件工程推荐教程;在卡内基梅隆大学建立软件工程硕士教育计划;组织和推动软件工程教育者研讨会,建立软件工程硕士教育计划;组织和推动软件工程教育者研讨会,出版软件工程推荐教程的相关模块。出版软件工程推荐教程的相关模块。SEI发起和资助的第一届软件工程教育和培训会议(发起和资助的第一届软件工程教育和培训会议(CSEET)1987年召开。年召开。大会为软件工程教育者提供一个论坛,提出和讨论软件工大会为软件工程教育者提供一个论坛,提出和讨论软件工程教育观点、方法和活动。程教育观点

18、、方法和活动。1995年,作为软件工程教育计划的一部年,作为软件工程教育计划的一部分,分,SEI建立关于软件工程教育和培训的一个工作组(建立关于软件工程教育和培训的一个工作组(WGSEET),),目的是共同研究问题、提出解决方法,与软件工程教育和培训组织目的是共同研究问题、提出解决方法,与软件工程教育和培训组织共享信息和最佳实践方法。共享信息和最佳实践方法。1999年,工作组提出一个技术报告,为年,工作组提出一个技术报告,为设计和实现本科软件工程教育计划提供指导。设计和实现本科软件工程教育计划提供指导。软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体1993年,年,IEEE-CS

19、和和ACM为把软件工程建设成为一个专业为把软件工程建设成为一个专业,建立了建立了IEEE-CS/ACM联合指导委员会联合指导委员会。随后,该指导委员会。随后,该指导委员会被软件工程协调委员会(被软件工程协调委员会(SWECC)替代。)替代。SWECC主要整理主要整理了三方面的工作:关于道德和职业规范的发展;开发软件工了三方面的工作:关于道德和职业规范的发展;开发软件工程教育项目(程教育项目(SWEEP),即评价本科软件工程教育计划是否),即评价本科软件工程教育计划是否合格的标准草案;开发了合格的标准草案;开发了软件工程知识体(软件工程知识体(SWEBOK)。其。其中,中,SWEBOK全面描述了

20、软件工程实践所需的知识,为开发全面描述了软件工程实践所需的知识,为开发本科软件工程教育计划打下了基础。本科软件工程教育计划打下了基础。2004年年8月,全世界月,全世界500多位来自大学、科研机构和企业界的多位来自大学、科研机构和企业界的专家、教授经过多年的努力,专家、教授经过多年的努力,推出了软件工程知识体、软件推出了软件工程知识体、软件工程教育知识体(工程教育知识体(SEEK)两个文件的最终版本)两个文件的最终版本,标志着软件,标志着软件工程学科在世界范围正式确立,并在本科教育层次上迅速发工程学科在世界范围正式确立,并在本科教育层次上迅速发展。展。软件工程知识体系软件工程知识体系 软件工程

21、知识体软件工程知识体SWEBOK(软件工(软件工程知识体)程知识体):IEEE计算机学会职计算机学会职业实践委员会主持业实践委员会主持的一个项目。的一个项目。SWEBOK是是IEEE的官方服务标记。的官方服务标记。 软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体草人阶段(草人阶段( 1997年年5月月 )产生软件工程本体)产生软件工程本体知识指南的雏型,主要是为该指南确定恰当的知识指南的雏型,主要是为该指南确定恰当的组织结构。组织结构。石人阶段(石人阶段( 2001年年4月月18日),草稿完成、日),草稿完成、进入试用阶段,进入试用阶段, SWEBOK 0.95版的发布标志版的

22、发布标志着该阶段结束。着该阶段结束。铁人阶段(铁人阶段( 2004年),从正式版本年),从正式版本1.0版开始到现在,包括最新的版开始到现在,包括最新的2004版本版本 软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体促进世界范围内对软件工程的一致观点促进世界范围内对软件工程的一致观点阐明软件工程相对其它学科(如计算机科学、阐明软件工程相对其它学科(如计算机科学、项目管理、计算机工程项目管理、计算机工程 和数学等)的位置,并和数学等)的位置,并确立它们的分界确立它们的分界刻画软件工程学科的内容刻画软件工程学科的内容提供使用知识体系的主题提供使用知识体系的主题为开发课程和个人认证与

23、许可材料,提供一个为开发课程和个人认证与许可材料,提供一个基础基础软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体SWEBOK的知识领域的知识领域(1)软件需求软件需求Software Requirements(2)软件设计软件设计Software Design(3)软件构造软件构造 Software Construction(4) 软件测试软件测试Software Testing(6)软件配置管理软件配置管理Configuration Management(5)软件维护软件维护Software Maintenance(7)软件工程软件工程管理管理Software Enginee

24、ring Management(9)软件工程工具和方法软件工程工具和方法Software Engineering Tool and Method(8)软件工程过程软件工程过程Software Engineering Process(10)软件质量软件质量Software Quality软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体(1)软件需求软件需求Software Requirements(2)软件设计软件设计Software Design(3)软件构造软件构造 Software Construction需求是真实世界问题而必须展示的特性。需求是真实世界问题而必须展示的特性

25、。软件需求基础软件需求基础需求过程需求过程需求获取需求获取需求分析需求分析需求规格说明需求规格说明需求确认需求确认实践考虑实践考虑软件设计基础软件设计基础软件设计关键问题软件设计关键问题软件结构与体系结构软件结构与体系结构软件设计质量的分析与评价软件设计质量的分析与评价软件设计符号软件设计符号软件设计的策略与方法软件设计的策略与方法定义一个系统或组件的体系结构、组件、接口和其他特征的过程。定义一个系统或组件的体系结构、组件、接口和其他特征的过程。指通过编码、验证、单元测试、集成测试和排错的组合,具体创建指通过编码、验证、单元测试、集成测试和排错的组合,具体创建一个可以工作的、有意义的软件一个可

26、以工作的、有意义的软件 。软件构造基础软件构造基础管理构造管理构造实际考虑实际考虑软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体(4) 软件测试软件测试Software Testing(6)软件配置管理软件配置管理Configuration Management(5)软件维护软件维护Software Maintenance软件测试基础软件测试基础与测试相关的度量与测试相关的度量软件维护基础软件维护基础软件维护的关键问题软件维护的关键问题在有限测试用例集合上,根据期望的行为,对程序进行的动态验证。在有限测试用例集合上,根据期望的行为,对程序进行的动态验证。测试级别测试级别测试过程

27、测试过程 测试技术测试技术在软件运行过程中,对可能出现的异常,运行环境的改变,作出处在软件运行过程中,对可能出现的异常,运行环境的改变,作出处理,以保证软件正常运行。理,以保证软件正常运行。维护过程维护过程维护技术维护技术为了系统地控制配置的变更和维护在整个系统生命周期中的完整性为了系统地控制配置的变更和维护在整个系统生命周期中的完整性和可追踪性,而标志软件在时间上不同点的配置的学科。和可追踪性,而标志软件在时间上不同点的配置的学科。 软件配置管理过程的管理软件配置管理过程的管理软件配置项软件配置项软件配置控制软件配置控制软件配置状态统计软件配置状态统计软件配置审计软件配置审计软件发布管理和交

28、付。软件发布管理和交付。软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体(7)软件工程软件工程管理管理Software Engineering Management(9)软件工程工具和方法软件工程工具和方法Software Engineering Tool and Method(8)软件工程过程软件工程过程Software Engineering Process(10)软件质量软件质量Software Quality处理软件工程的管理与度量,虽然度量是所有知识域的处理软件工程的管理与度量,虽然度量是所有知识域的一个重要方面,但是这里涉及的是度量程序的专题。一个重要方面,但是这里涉

29、及的是度量程序的专题。 启动和范围定义启动和范围定义软件项目计划软件项目计划软件项目实施软件项目实施评审与评价评审与评价关闭关闭软件工程度量软件工程度量涉及软件工程过程本身的定义、实现、评定、度量、管涉及软件工程过程本身的定义、实现、评定、度量、管理、变更和改进。理、变更和改进。 过程实施与变更过程实施与变更过程定义过程定义过程评估过程评估过程和产品度量过程和产品度量软件工程工具软件工程工具软件工程方法软件工程方法软件质量基础软件质量基础软件质量管理过程软件质量管理过程实践考虑实践考虑 软件工程知识体系软件工程知识体系 软件工程知识体软件工程知识体软件工程的相关学科软件工程的相关学科 认知科学

30、和人的因素认知科学和人的因素 计算机科学计算机科学 计算机工程计算机工程 管理和管理科学管理和管理科学 项目管理项目管理 系统工程系统工程 数学数学软件工程作为知识领域被其他计算学科引用软件工程作为知识领域被其他计算学科引用 计算机科学计算机科学 计算机工程计算机工程 计算机信息系统计算机信息系统 计算机信息技术计算机信息技术 软件工程知识体系软件工程知识体系SWEBOK:软件工程知识体:软件工程知识体SEEK:软件工程教育知识体:软件工程教育知识体软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体ComputingComputerEngineeringComputerSc

31、ienceInformationSystemInformationTechnologySoftware EngineeringFutureModel软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体CS知识领域(知识领域(IEEE/ACM)01. 离散结构(离散结构(DS)02. 程序设计基础(程序设计基础(PF)03. 算法极其复杂性(算法极其复杂性(AL)04. 程序设计语言(程序设计语言(PL)05. 计算机结构(计算机结构(AR)06. 操作系统(操作系统(OS)07. 人人-机交互(机交互(HC)08. 图形学图形学,可视化可视化,多媒体多媒体(GR)09. 智能

32、系统(智能系统(IS)10. 信息管理(信息管理(IM)11. 以网络为中心的计算(以网络为中心的计算(NC)12. 软件工程(软件工程(SE)13. 数值计算科学(数值计算科学(CN) 14. 社会道德和职业问题(社会道德和职业问题(SP)红色红色表示与表示与CE共域共域软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体CE知识领域(知识领域(IEEE/ACM)01.计算机体系结构和组织计算机体系结构和组织CAO02.计算机系统工程计算机系统工程CSE03.电路和信号电路和信号CSG04.数据库系统数据库系统DBS05.数字逻辑数字逻辑DIG06.数字信号处理数字信号处理

33、DSP07.电子学电子学ELE08.嵌入式系统嵌入式系统ESY09.算法和复杂性算法和复杂性ALG10.人机交互人机交互HCI11.计算机网络计算机网络NWK12.操作系统操作系统OPS13.程序设计基础程序设计基础PRF14.社会和职业问题社会和职业问题SPR15.软件工程软件工程SWE16.VLSI设计与构造设计与构造VLS17.离散结构离散结构DSC18.概率和统计概率和统计PRS红色红色表示与表示与CS共域共域软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体SE知识领域(知识领域(IEEE/ACM)红色红色表示与表示与CS共域(共域(SEEK)01. 计算的本质计

34、算的本质02. 数学与工程基础数学与工程基础03. 职业训练职业训练04. 软件建模与分析软件建模与分析05. 软件设计软件设计06. 软件验证软件验证07. 软件进化软件进化08. 软件过程软件过程09. 软件质量软件质量10. 软件管理软件管理11. 系统与应用专题系统与应用专题 软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体IS知识领域(知识领域(IEEE/ACM)信息技术信息技术01. 计算机体系结构计算机体系结构02. 算法与数据结构算法与数据结构03. 编程语言编程语言04. 操作系统操作系统05. 电信系统电信系统06. 数据库数据库07. 人工智能人工智

35、能组织与管理组织与管理系统理论与开发系统理论与开发01. 基本组织理论基本组织理论02. 信息系统管理信息系统管理03. 决策理论决策理论04. 组织性能组织性能05. 过程变动管理过程变动管理06. 职业道德职业道德07. 专业领域专业领域08. 人际关系人际关系01. 系统与信息系统与信息02. 系统开发途径系统开发途径03. 系统开发方法系统开发方法04. 系统开发工具系统开发工具技术技术05. 应用计划应用计划06. 风险管理风险管理07. 项目管理项目管理08. 信息与商务分析信息与商务分析09. 信息系统设计信息系统设计10. 系统实现与测试系统实现与测试11. 系统操作与维护系统

36、操作与维护12. 专用信息系统开发专用信息系统开发+软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体SEEK的主要框架的主要框架 知识领域、知识单元、知识点知识领域、知识单元、知识点 知识单元的参考学时知识单元的参考学时学生掌握知识点的方式学生掌握知识点的方式 知识知识 理解理解 应用应用标识知识点的重要程度标识知识点的重要程度 核心核心 必修必修 选修选修 用用SEEK制定课程计划的途径制定课程计划的途径软件工程知识体系软件工程知识体系 软件工程教育知识体软件工程教育知识体软件需求软件需求软件设计软件设计软件构造软件构造软件测试软件测试软件维护软件维护软件配置管理软件配

37、置管理软件工程管理软件工程管理软件工程过程软件工程过程软件工程工具和方法软件工程工具和方法软件质量软件质量计算基础计算基础数学和工程基础数学和工程基础职业训练职业训练软件建模与分析软件建模与分析软件设计软件设计软件验证与确认软件验证与确认软件进化(演化)软件进化(演化)软件过程软件过程软件质量软件质量软件管理软件管理SWEBOKSEEK(CCSE)本科知识体系本科知识体系行业知识体系行业知识体系与与CSCE交叉交叉主要内容主要内容工程能力概述工程能力概述软件工程知识体系软件工程知识体系软件工程系统能力软件工程系统能力软件工程系统能力软件工程系统能力软件工程经济能力软件工程经济能力软件工程软件工

38、程管理能力管理能力软件工程技术能力软件工程技术能力软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 软件工程经济学概念软件工程经济学概念Software Engineering EconomicsSoftware Engineering Economics是研究软件的分析、设计、开是研究软件的分析、设

39、计、开发和维护的工程经济方法的一门学科分支发和维护的工程经济方法的一门学科分支Software Engineering ManagementSoftware Engineering Management是研究软件的分析、设计、开是研究软件的分析、设计、开发和维护的工程管理方法的一门学科分支发和维护的工程管理方法的一门学科分支Software Engineering TechnologySoftware Engineering Technology是研究软件的分析、设计、开是研究软件的分析、设计、开发和维护的工程技术方法的一门学科分支发和维护的工程技术方法的一门学科分支SEESEE特点特点nSE

40、SE和工程经济学的交叉学科和工程经济学的交叉学科nSESE中经济问题和经济规律为研究对象的一门分支学科中经济问题和经济规律为研究对象的一门分支学科n研究为实现特定功能需求的研究为实现特定功能需求的SESE项目所提出的技术经济方案(产品与服务)的项目所提出的技术经济方案(产品与服务)的规划论证、分析、设计与比较决策的系统方法论的一门分支学科规划论证、分析、设计与比较决策的系统方法论的一门分支学科软件工程系统能力软件工程系统能力 软件工程经济学概念软件工程经济学概念具体解决软件工程的具体解决软件工程的4个个W问题的系统方法问题的系统方法n是否生产(是否生产(Whether)?)? 涉及成本、效益、

41、风险、涉及成本、效益、风险、投资投资/筹资筹资n为谁生产(为谁生产(For whom)?)? 用户需求设计、产品特用户需求设计、产品特性、功能价值性、功能价值n怎样生产(怎样生产(How)?)? 生产过程的计划、组织、协生产过程的计划、组织、协调与控制调与控制n何时生产与交工(何时生产与交工(When)?)? 工期、发行、定价、工期、发行、定价、销售销售软件工程系统能力软件工程系统能力 软件工程经济学概念软件工程经济学概念组织协调成本效益时间进度工期生产效率质量软件工程系统能力软件工程系统能力 软件工程经济学概念软件工程经济学概念任何对软件项目的工程经济分析与研究都必须从任何对软件项目的工程经

42、济分析与研究都必须从实体、实体、时间、要素时间、要素三个维度的层面展开三个维度的层面展开时间维时间维要素维要素维实体维实体维设计设计规划规划分析分析构建构建运行与维护运行与维护人人生产率生产率成本成本投资投资效益效益定价定价质量与可靠性质量与可靠性软件软件硬件硬件数据数据软件工程系统能力软件工程系统能力 软件工程经济学概念软件工程经济学概念软件工程生存周期的工程经济活动及其关联软件工程生存周期的工程经济活动及其关联可行性分析可行性分析成本质量工期与进度控制成本质量工期与进度控制风险控制风险控制投投标标与与招招标标时间时间资源资源成本成本计划计划投投资资与与融融资资设备设备工具工具原料原料厂房厂

43、房的购的购买或买或租赁租赁团团队队组组织织与与建建设设生生产产过过程程设设计计与与分分析析测测试试计计划划与与组组织织软件发行软件发行软件定价软件定价软件销售软件销售销销售售收收入入效效益益/ /利利润润税金税金项目折旧项目折旧项目成本项目成本软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 项目招标

44、与投标项目招标与投标软件项目来源一般有如下三个方面:软件项目来源一般有如下三个方面:n自然科学基金、国防科研基金等资助自然科学基金、国防科研基金等资助n在理论与方法上带有前瞻性在理论与方法上带有前瞻性nIT企业(或部门,如学校、研究所)自行筹资(或企业(或部门,如学校、研究所)自行筹资(或合资),然后独立(或合作)完成设计与构建工作,合资),然后独立(或合作)完成设计与构建工作,最后将该软件项目推向市场,并寻求用户的购买最后将该软件项目推向市场,并寻求用户的购买n经过事前论证获知具有较大的市场需求的软件系统经过事前论证获知具有较大的市场需求的软件系统n通过其他企业或政府部门的招标经过投标竞争获

45、取通过其他企业或政府部门的招标经过投标竞争获取n应用性较强并带有较强的时间约束的软件,如电子政务系应用性较强并带有较强的时间约束的软件,如电子政务系统、电子商务系统、企业统、电子商务系统、企业ERP系统等系统等软件工程系统能力软件工程系统能力 项目招标与投标项目招标与投标招标与投标是一种有组织、有计划的商业贸易招标与投标是一种有组织、有计划的商业贸易活动活动n通过招标与投标活动,组织方来寻找合适的承包方通过招标与投标活动,组织方来寻找合适的承包方(或买主),而投标方则来竞争获取相应的工程项(或买主),而投标方则来竞争获取相应的工程项目(或资产)目(或资产)招标与投标这一经济活动其适用范围十分广

46、泛招标与投标这一经济活动其适用范围十分广泛n有形资产(房屋、土地、珠宝、艺术品等)均可通有形资产(房屋、土地、珠宝、艺术品等)均可通过招标与投标来完成交易活动过招标与投标来完成交易活动n软件作为一种特殊的有形资产,常采用招标与投标软件作为一种特殊的有形资产,常采用招标与投标方式来寻求承包方方式来寻求承包方软件工程系统能力软件工程系统能力 项目招标与投标项目招标与投标招标具有招标具有组织性组织性n有固定的招标组织人,有固定的招标场所,有固定的招有固定的招标组织人,有固定的招标场所,有固定的招标时间,有固定的招标规划或程序细则标时间,有固定的招标规划或程序细则招、投标的招、投标的分开性分开性n招标

47、机构一般通过各种途径(如媒体)作广泛通告来寻招标机构一般通过各种途径(如媒体)作广泛通告来寻求有能力、有兴趣的承包商或供货商求有能力、有兴趣的承包商或供货商招、投标的招、投标的一次性决定一次性决定n交易活动的主动权掌握在招标人手中,由招标机构对最交易活动的主动权掌握在招标人手中,由招标机构对最后的众多投标商作出选择,而投标商没有讨价还价的权后的众多投标商作出选择,而投标商没有讨价还价的权利利招、投标的招、投标的公平性公平性n招标机构按照预先给定的招标规则,并本着公平竞争的招标机构按照预先给定的招标规则,并本着公平竞争的原则来对中标人(中标单位)作出最后选择原则来对中标人(中标单位)作出最后选择

48、软件工程系统能力软件工程系统能力 项目招标与投标项目招标与投标按公开程度和参加人数的限制条件分类按公开程度和参加人数的限制条件分类n竞争性招标(公开性招标):公开广告竞争性招标(公开性招标):公开广告n有限招标(保密或节约资金):直接邀请有限招标(保密或节约资金):直接邀请按合同的条件分类按合同的条件分类n自动条件招标(看最低报价)自动条件招标(看最低报价)n随机条件招标(评判条件可改变,复杂大型项目常随机条件招标(评判条件可改变,复杂大型项目常用)用)n谈判招标(看谈判结果,国际招标常用)谈判招标(看谈判结果,国际招标常用)软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软

49、件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 项目评价与决策项目评价与决策问题问题1 1:n软件项目的规划、设计、编码与测试过程中不同技软件项目的规划、设计、编码与测试过程中不同技术经济方案的比较、评价术经济方案的比较、评价 与选择?与选择?问题问题2 2:n在建立开发平台中的硬件(服务器、测试设备、传在建立开发平台中的硬件(服务器、测试设备、传感器等)设备选型与

50、采购问题?感器等)设备选型与采购问题?问题问题3 3:n在组建团队时,对项目经理的选择?在组建团队时,对项目经理的选择?软件工程系统能力软件工程系统能力 项目评价与决策项目评价与决策分析问题分析问题1 1:n各软件开发方案要考虑:成本耗费、进度和工期、各软件开发方案要考虑:成本耗费、进度和工期、产出和效益、质量与可靠性等多个属性。产出和效益、质量与可靠性等多个属性。分析问题分析问题2 2:n硬件设备的选择要考虑:价格、功能与性能、运算硬件设备的选择要考虑:价格、功能与性能、运算速度、存储空间等多个属性。速度、存储空间等多个属性。分析问题分析问题3 3:n选择项目经理要考虑:组织协调能力、知识与

51、管理选择项目经理要考虑:组织协调能力、知识与管理专业技术能力、管理与决策能力等多个属性。专业技术能力、管理与决策能力等多个属性。上述系统评价与决策问题从本质上看是上述系统评价与决策问题从本质上看是一种多属性评价与决策问题一种多属性评价与决策问题软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 软件成本

52、与价值工程软件成本与价值工程生存周期生存周期要素成本要素成本说明说明系统系统规划阶段规划阶段系统调研系统调研投标竞争(含可行性分析)投标竞争(含可行性分析)需求分析需求分析主要是出差费用及相关人员工资主要是出差费用及相关人员工资及附加费及附加费系统分析系统分析/ /设计阶段设计阶段系统分析系统分析系统概要设计系统概要设计系统详细设计及评审系统详细设计及评审分析与设计人员工资及附加费、分析与设计人员工资及附加费、技术资料与技术咨询费设计评审技术资料与技术咨询费设计评审费费系统系统构建阶段构建阶段系统硬件购置与安装系统硬件购置与安装系统软件与购置系统软件与购置基建与有关设施建设基建与有关设施建设数

53、据与技术资料收集数据与技术资料收集人员培训人员培训有关硬件原材料购置有关硬件原材料购置有关硬件生产测试及废品损失有关硬件生产测试及废品损失有关软件编辑测试有关软件编辑测试有关文档编制有关文档编制购置计算机、通信设备、传感器、购置计算机、通信设备、传感器、路由器等及系统软件与有关应用路由器等及系统软件与有关应用软件的费用,软、硬件生产过程软件的费用,软、硬件生产过程中所消耗的水、电、运输及材料中所消耗的水、电、运输及材料消耗费消耗费系统运行系统运行维持阶段维持阶段系统营销系统营销系统切换系统切换系统运行(运行指导人员费用、材料消耗费、固定资系统运行(运行指导人员费用、材料消耗费、固定资产折旧费)

54、产折旧费)系统管理(审计费、行政管理费用、系统服务费用)系统管理(审计费、行政管理费用、系统服务费用)系统维护(纠错性、适应性、完善性维护费用)系统维护(纠错性、适应性、完善性维护费用)营销费用包括广告、分销、促销营销费用包括广告、分销、促销等费用等费用系统切换包括设备运输、安装测系统切换包括设备运输、安装测试等费用试等费用软件工程系统能力软件工程系统能力 软件成本与价值工程软件成本与价值工程软件的成本测算:是其系统工程经济分析中的一项重软件的成本测算:是其系统工程经济分析中的一项重要内容,它既是软件各种技术设计方案比较选优的依要内容,它既是软件各种技术设计方案比较选优的依据,也是软件定价的基

55、础据,也是软件定价的基础这里的软件定价主要指软件项目投标、申请基金支持、这里的软件定价主要指软件项目投标、申请基金支持、申请贷款等需要的软件定价申请贷款等需要的软件定价成本测算成本测算的影响因素的影响因素估算时间估算时间设备设备人力资源人力资源工期工期模型求解模型求解用户用户开发技术开发技术外部环境外部环境系统环境系统环境正确对待软件成本测正确对待软件成本测算的态度算的态度减少软件成本测算误减少软件成本测算误差的策略差的策略软件成本预测方法:软件成本预测方法:功能分解法功能分解法价值工程法价值工程法统计模型法统计模型法影响因子法影响因子法类比法类比法计算机模拟法等计算机模拟法等软件工程系统能力

56、软件工程系统能力 软件成本与价值工程软件成本与价值工程价值工程分析特点价值工程分析特点n着眼于着眼于寿命周期成寿命周期成本本n以以提高价值提高价值为为目标目标,反映生产者和用户的共同利益,反映生产者和用户的共同利益n以以功能分析功能分析为核心为核心n是有组织的是有组织的集体创造活动集体创造活动n其应用一般在方案的其应用一般在方案的研究设计阶段研究设计阶段价值工程分析对象价值工程分析对象n开发过程中的各模块(子系统)开发过程中的各模块(子系统)n组织流程中的各工序组织流程中的各工序n设计过程中的各功能结构方案设计过程中的各功能结构方案n开发模型开发模型n测试方案测试方案n开发工具开发工具n影响软

57、件质量的各要素等影响软件质量的各要素等软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 软件定价与营销软件定价与营销选择定价目标选择定价目标确定需求确定需求成本估计成本估计分析竞争者的成本、价格和质量分析竞争者的成本、价格和质量确定最终价格确定最终价格选择定价方法选择定价方法利润导向目标利润导向目标收

58、益导向目标收益导向目标销售导向目标销售导向目标竞争导向目标竞争导向目标品牌导向目标品牌导向目标维持生存导向目标维持生存导向目标t确定需求是指企业应研究价格确定需求是指企业应研究价格与用户需求的关联关系与用户需求的关联关系t需求价格弹性需求价格弹性1.成本导向定价法成本导向定价法2.需求导向定价法需求导向定价法3.竞争导向定价法竞争导向定价法t定价策略,是根据所确定的定定价策略,是根据所确定的定价目标而采取的定价方针和价价目标而采取的定价方针和价格竞争方式格竞争方式t撇脂和渗透定价策略撇脂和渗透定价策略t捆绑定价策略捆绑定价策略t免费使用策略免费使用策略t歧视定价策略歧视定价策略软件工程系统能力

59、软件工程系统能力 软件定价与营销软件定价与营销用户定制型:常采用成本导向定价法用户定制型:常采用成本导向定价法n如网络净化系统,宏观经济决策支持系统,如网络净化系统,宏观经济决策支持系统,银行联机业务处理系统,电力控制系统等银行联机业务处理系统,电力控制系统等 市场投放型:常采用需求导向型定价法市场投放型:常采用需求导向型定价法和竞争导向定价法和竞争导向定价法n如如ERPERP系统,物流管理信息系统,宾馆防盗系统,物流管理信息系统,宾馆防盗信息系统,旅游管理信息系统等信息系统,旅游管理信息系统等 软件工程系统能力软件工程系统能力 软件定价与营销软件定价与营销AlphaAlpha版版(内内部部测

60、测试试版版):一一般般只只在在软软件件开开发发公公司司内内部部运运行行,不不对对外外公公开开,主主要要用用于于开开发发者者对对软软件件产产品品进进行行测测试试,检检查查产产品品是是否否存存在缺陷、错误,验证产品的功能与说明书、用户手册是否一致等。在缺陷、错误,验证产品的功能与说明书、用户手册是否一致等。BetaBeta版版(外外部部测测试试版版):软软件件开开发发公公司司为为对对外外宣宣传传,一一般般将将非非正正式式产产品品免免费费发发送送给给具具有有典典型型性性的的用用户户,让让用用户户测测试试该该软软件件的的不不足足之之处处以以及及存存在在的的问问题题,以以便便在在正正式式发发行行前前进进

61、一一步步改改进进和和完完善善。BetaBeta版版软软件件一一般般可可通通过过InternetInternet免免费费下下载载,也也可可以以向向软软件件公公司司索索取。取。DemoDemo版版(演演示示版版):主主要要用用于于演演示示正正式式软软件件的的部部分分功功能能,用用户户可可以以从从中中获获知知软软件件的的基基本本操操作作,为为正正式式产产品品的的发发售售扩扩大大影影响响。该该版版本也可以从本也可以从InternetInternet上免费下载。上免费下载。EnhanceEnhance版版(增增强强版版或或加加强强版版):如如果果是是一一般般软软件件,通通常常称称作作“增增强强版版”,会

62、会加加入入一一些些实实用用的的新新功功能能;如如果果是是游游戏戏,一一般般称称作作“加加强版强版”,会加入一些新的游戏场景和游戏情节等。,会加入一些新的游戏场景和游戏情节等。软件工程系统能力软件工程系统能力 软件定价与营销软件定价与营销FreeFree版版(自自由由版版):一一般般是是个个人人或或自自由由软软件件联联盟盟组组织织的的成成员员制制作作的的软软件件,希希望望免免费费给给大大家家使使用用,没没有有版版权权,一一般般也也可可以以通通过过InternetInternet免费下载。免费下载。Full Full VersionVersion版版(完完全全版版):也也就就是是正正式式版版,是是

63、最最终终正正式式发发售售的的版本。版本。SharewareShareware版版(共共享享版版):有有些些公公司司为为了了吸吸引引客客户户,对对于于他他们们制制作作的的某某些些软软件件,可可以以允允许许用用户户通通过过InternetInternet免免费费下下载载。不不过过,此此共共享享版版软软件件多多会会带带有有一一些些使使用用时时间间或或次次数数的的限限制制。用用户户可可利利用用在在线线注册或电子注册成为正式版用户。注册或电子注册成为正式版用户。ReleaseRelease版版(发发行行版版):非非正正式式版版,带带有有时时间间限限制制,也也是是为为扩扩大大影影响响所所做做的的宣宣传传策

64、策略略之之一一。比比如如Windows Windows MeMe的的发发行行版版就就限限制制只只能能使使用几个月,并可从用几个月,并可从InternetInternet上免费下载。上免费下载。UpgradeUpgrade版版(升升级级版版):当当你你拥拥有有某某一一软软件件旧旧的的正正式式版版本本时时,可可以以购购买买升升级级版版,将将你你的的软软件件升升级级为为最最新新版版。升升级级后后的的软软件件与与正正式式版版在在功功能能上上相相同同,但但价价格格会会低低些些,这这主主要要是是为为了了给给原原正正式式版版用用户户提提供优惠。供优惠。软件工程系统能力软件工程系统能力 软件工程经济能力软件工

65、程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益效效益益:指指当当该该项项目目实实现现后后对对项项目目主主体体(国国家家、部部门门、地地区区或或企企业业等等)基基本本目目标标的的实实现现所所产产生生的贡献或效果。的贡献或效果。效益的特点效益的特点 n效益将依赖于项目主体及其追求的基本目标效益将依赖于项目主体

66、及其追求的基本目标n效益将依赖于基本目标提出的时代效益将依赖于基本目标提出的时代软件项目的效益根据其贡献形式,如下分类软件项目的效益根据其贡献形式,如下分类 n成本与支出费用的节省成本与支出费用的节省n社会财富的增加社会财富的增加n服务水平的提高服务水平的提高n管理水平的提高管理水平的提高软件工程系统能力软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益产品成本降低产品成本降低ERP系统系统效益效益经济经济效益效益社会社会 效益效益直接直接经济经济效益效益间接间接经济经济效益效益劳动生产率提高劳动生产率提高流动资金周转加快流动资金周转加快产品质量提高产品质量提高库存周转加快库存

67、周转加快资源利用率提高资源利用率提高提高企业决策水平,降低企业经营风险提高企业决策水平,降低企业经营风险减轻员工工作强度,提高员工的技能与素质减轻员工工作强度,提高员工的技能与素质对用户服务水平的提高对用户服务水平的提高文档的规范化与办公效率的提高文档的规范化与办公效率的提高提高社会的信息化水平提高社会的信息化水平提高企业经营的新理念提高企业经营的新理念丰富企业文化的内涵丰富企业文化的内涵提高员工的精神面貌提高员工的精神面貌定量计算定量计算定定性性描描述述软件工程系统能力软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益软件项目实际效益与预测效益的计算常软件项目实际效益与预测效

68、益的计算常采用的方法采用的方法n系统运行的前后对比法系统运行的前后对比法n是通过项目实施前后的两个不同时期有关特征量是通过项目实施前后的两个不同时期有关特征量的变化来确定项目的变化来确定项目直接经济效益直接经济效益的一种方法的一种方法n适用于软件项目适用于软件项目实施后评价或项目实际效益实施后评价或项目实际效益估算估算n 经验参数估计法经验参数估计法n是利用项目在实施前后,其是利用项目在实施前后,其各经济效益的相对变各经济效益的相对变化的经验数值化的经验数值来估计各项来估计各项直接经济效益直接经济效益的方法的方法n适合于适合于系统规划阶段系统规划阶段所作的效益预测所作的效益预测软件工程系统能力

69、软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益按系统目标来看,软件项目大致可分成三类:按系统目标来看,软件项目大致可分成三类:n 以以系统经济性系统经济性为主要目标的软件项目为主要目标的软件项目n该类系统评价应侧重于对该项目投资的经济效果评价,亦即重点该类系统评价应侧重于对该项目投资的经济效果评价,亦即重点研究由于项目的构建与运行给投资方或承建方所带来的直接经济研究由于项目的构建与运行给投资方或承建方所带来的直接经济效果效果n 以以系统社会性系统社会性为主要目标的软件项目为主要目标的软件项目n 系统评价则应从国家和社会的利益出发来重点研究由于该软件系统评价则应从国家和社会的

70、利益出发来重点研究由于该软件项目的构建对社会所带来的影响与贡献项目的构建对社会所带来的影响与贡献n以社会性为主要目标的软件项目,例如城市交通控制系统,环境以社会性为主要目标的软件项目,例如城市交通控制系统,环境保护信息系统,国家灾害应急处理系统,网络信息净化系统,社保护信息系统,国家灾害应急处理系统,网络信息净化系统,社区智能监控系统等区智能监控系统等n 以系统的军事作战性为主要目标的软件项目以系统的军事作战性为主要目标的软件项目n 系统评价则应侧重于该软件项目的运行对提高系统作战效能和系统评价则应侧重于该软件项目的运行对提高系统作战效能和提高我军装备现代化水平所作的影响与贡献提高我军装备现代

71、化水平所作的影响与贡献软件工程系统能力软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益 软件项目的社会效益评价的主要特征软件项目的社会效益评价的主要特征n系统评价以定性分析为主系统评价以定性分析为主n社会效益评价无通用方法社会效益评价无通用方法n对社会的贡献以间接效益、无形效果和外部效果为主对社会的贡献以间接效益、无形效果和外部效果为主n无形效果无形效果 n泛指由于项目的实施而带来的难以用货币来进行度量的那些效果。泛指由于项目的实施而带来的难以用货币来进行度量的那些效果。n如生命的安全,城市或社区的治安,环境的保护,国民的精神文明等,是无如生命的安全,城市或社区的治安,环境的

72、保护,国民的精神文明等,是无法用货币来度量的系统属性。法用货币来度量的系统属性。n度量方法:类比法或公众调查法等。度量方法:类比法或公众调查法等。n外部效果外部效果n对项目投资方(或承制方)以外的其他部门(企业)产生的影响或项目预期对项目投资方(或承制方)以外的其他部门(企业)产生的影响或项目预期以外的效果,人们常称为外部效果或溢出效果,这种项目的外部效果一般无以外的效果,人们常称为外部效果或溢出效果,这种项目的外部效果一般无法在项目的收益或支出中反映出来。法在项目的收益或支出中反映出来。n外部效果一般来自于如下几个方面:外部效果一般来自于如下几个方面:项目对相邻部门的影响,通常只需用一个累计

73、效益的下限表示即可项目对相邻部门的影响,通常只需用一个累计效益的下限表示即可项目的技术性外部效果,通常只能进行定性描述项目的技术性外部效果,通常只能进行定性描述项目的环境连锁效应,通常只能进行定性描述项目的环境连锁效应,通常只能进行定性描述同同一一性性软件工程系统能力软件工程系统能力 软件项目的经济与社会效益软件项目的经济与社会效益适用项目类型适用项目类型 必须做经济费用效益分析项目:经济学角度必须做经济费用效益分析项目:经济学角度具有垄断特征的项目具有垄断特征的项目(电力电力/通讯通讯/有线电视等有线电视等);产出具有公共产品特征的项目(道路交通产出具有公共产品特征的项目(道路交通/供水等)

74、;供水等);外部效果明显的项目(污水处理厂外部效果明显的项目(污水处理厂/铁路等);铁路等);资源开发项目(森林旅游等);资源开发项目(森林旅游等);涉及国家经济安全的项目(原油涉及国家经济安全的项目(原油/煤炭煤炭/采矿采矿/电力等);电力等);受过度行政干预的项目。受过度行政干预的项目。必须做经济费用效益分析项目:管理角度必须做经济费用效益分析项目:管理角度 政府投资项目;政府投资项目; 政府各类专项建设基金政府各类专项建设基金 利用国际金融组织和外国政府贷款,需要政府担保的项目;利用国际金融组织和外国政府贷款,需要政府担保的项目; 非政府投资建设的涉及国家经济安全、影响环境资源、公非政府

75、投资建设的涉及国家经济安全、影响环境资源、公共利益、可能出现垄断、涉及整体布局等公共性问题,需要共利益、可能出现垄断、涉及整体布局等公共性问题,需要政府核准的项目。政府核准的项目。软件工程系统能力软件工程系统能力 软件工程经济能力软件工程经济能力软件工程经济分析概述软件工程经济分析概述项目招标与投标项目招标与投标项目评价与决策项目评价与决策软件成本与价值工程软件成本与价值工程软件定价与营销软件定价与营销软件项目的经济与社会效益软件项目的经济与社会效益软件项目的风险与控制软件项目的风险与控制软件工程系统能力软件工程系统能力 软件项目的风险与控制软件项目的风险与控制 软件项目风险软件项目风险n未来

76、可能发生的未来可能发生的 不确定性不确定性n损失、危害损失、危害 相对于项目要实现的目标相对于项目要实现的目标n客观存在客观存在 没有风险的项目是不存在的没有风险的项目是不存在的n相对某一经济主体相对某一经济主体不同经济主体其面临的风险是不同的不同经济主体其面临的风险是不同的软件项目风险管理软件项目风险管理n第一步:风险识别第一步:风险识别n辨别在什么情况下,发生什么风险?辨别在什么情况下,发生什么风险?n第二步:风险分析第二步:风险分析n分析每一个风险,确定其可能发生概率,以及发生时带来的危害分析每一个风险,确定其可能发生概率,以及发生时带来的危害n第三步:风险控制第三步:风险控制n确定风险

77、应对策略,制定风险应对行动计划,进行风险跟踪与评确定风险应对策略,制定风险应对行动计划,进行风险跟踪与评价价软件项目承建方风险软件项目承建方风险非系统风险非系统风险系统风险系统风险人力资源风险人力资源风险工程技术风险工程技术风险经营管理风险经营管理风险信用风险信用风险利利率率与与汇汇率率风风险险通通货货膨膨胀胀风风险险系系统统结结构构风风险险系系统统规规模模风风险险系系统统功功能能与与性性能能风风险险关关键键人人才才流流失失风风险险财财务务风风险险管管理理风风险险利利润润(收收益益)风风险险成成本本风风险险进进度度管管理理风风险险组组织织协协调调风风险险人人员员的的劳劳动动生生产产率率风风险险

78、人人员员的的经经验验与与技技术术风风险险系系统统开开发发风风险险项项目目经经费费按按期期拨拨款款风风险险违违约约改改变变系系统统功功能能与与性性能能风风险险政政策策法法规规风风险险系系统统设设计计风风险险人人员员的的角角色色与与责责任任风风险险质质量量管管理理风风险险技技术术仿仿制制风风险险技技术术扩扩散散风风险险技技术术创创新新风风险险软件项目投资方风险软件项目投资方风险非系统风险非系统风险系统风险系统风险政政策策法法规规风风险险利利率率与与汇汇率率风风险险通通货货膨膨胀胀风风险险经经营营管管理理风风险险设设备备风风险险财财务务风风险险市市场场风风险险信信用用风风险险组组织织协协调调风风险险

79、项项目目监监理理风风险险企企业业经经营营不不善善风风险险市市场场需需求求风风险险设设备备采采购购风风险险设设备备性性能能风风险险市市场场竞竞争争风风险险工工期期延延长长风风险险系系统统功功能能与与性性能能目目标标风风险险系系统统生生存存期期目目标标风风险险资资金金筹筹集集风风险险资资金金周周转转风风险险市市场场定定位位风风险险竞竞争争联联盟盟风风险险竞竞争争战战略略风风险险软件工程系统能力软件工程系统能力软件工程经济能力软件工程经济能力软件工程软件工程管理能力管理能力软件工程技术能力软件工程技术能力软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概

80、述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述项目项目经理经理需求需求工程师工程师系统系统分析师分析师程序员程序员软件测试软件测试工程师工程师文档文档工程师工程师客户客户服务服务培训培训主管主管配置配置管理员管理员质量保证质量保证工程师工程师外包主管外包主管软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述软件项目

81、管理:对软件项目开发过程中所涉及的过程、软件项目管理:对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预定的划、组织和控制的过程,以确保软件项目按照预定的成本、进度、质量要求顺利完成成本、进度、质量要求顺利完成项目管理的对象项目管理的对象项目项目项目管理的组织特点项目管理的组织特点临时性、富有柔性临时性、富有柔性项目管理的手段项目管理的手段计划、组织、指导和控制计划、组织、指导和控制项目管理的目标项目管理的目标实现项目全过程的动态管理及项实现项目全过程的动态管理及项目的目标目的

82、目标软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述软件项目中常见问题软件项目中常见问题n需求不明确,变化比较多需求不明确,变化比较多n工作量估计过低工作量估计过低n项目团队水平不足项目团队水平不足n开发计划不充分开发计划不充分n项目经理的管理能力不足项目经理的管理能力不足软件项目管理的成功原则软件项目管理的成功原则n平衡原则平衡原则高效原则高效原则分解原则分解原则n实时控制原则实时控制原则分类管理原则分类管理原则简单有效原则简单有效原则n规模控制原则规模控制原则软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述项目主要的利益相关体项目主要的利益相关体项目业主

83、项目业主:项目的投资人和所有者:项目的投资人和所有者项目客户项目客户:使用项目成果的个人或组织:使用项目成果的个人或组织项目经理项目经理:负责管理整个项目的人:负责管理整个项目的人项目实施组织项目实施组织:完成一个项目主要工作的企业:完成一个项目主要工作的企业或组织或组织项目团队项目团队:具体从事项目全部或某项具体工作:具体从事项目全部或某项具体工作的组织或群体的组织或群体软件工程系统能力软件工程系统能力 软件项目管理概述软件项目管理概述项目经理是项目组织的核心和项目团队的灵魂,项目经理是项目组织的核心和项目团队的灵魂,是实现项目目标的责任人,对项目进行全面的是实现项目目标的责任人,对项目进行

84、全面的管理管理项目经理的管理水平、经验水平、知识结构、项目经理的管理水平、经验水平、知识结构、个人魅力都对项目的成败起着关键作用个人魅力都对项目的成败起着关键作用项目经理的职责项目经理的职责n确保项目目标实现确保项目目标实现n开发计划开发计划n组织实施组织实施n项目控制项目控制软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件合同管理软件合同管理软件项目合同主要是技术合同软件项目合同主要是技术合同

85、技术合同是法人之间、法人和公民之间、技术合同是法人之间、法人和公民之间、公民之间以技术开发、技术转让、技术公民之间以技术开发、技术转让、技术咨询和技术服务为内容,明确相互权利咨询和技术服务为内容,明确相互权利义务关系所达成的协议义务关系所达成的协议技术合同有三种环境:技术合同有三种环境:需(甲)方环境需(甲)方环境、供(乙)方环境供(乙)方环境和和内部环境内部环境软件工程系统能力软件工程系统能力 软件合同管理软件合同管理合同生存期合同生存期需方需方供方供方招标书定义招标书定义:确定:确定需方的采购内容需方的采购内容供方选择供方选择:以招标:以招标方式选择供方方式选择供方合同文本准备合同文本准备

86、:需:需方与供方起草合同方与供方起草合同文本文本正式签署合同成为具有正式签署合同成为具有法律效力的文件,分解法律效力的文件,分解需方任务,下达任务书,需方任务,下达任务书,指派项目经理指派项目经理采购对象验收采购对象验收:需方对:需方对供方交付的产品或服务供方交付的产品或服务进行验收检验,保证满进行验收检验,保证满足合同条款要求足合同条款要求违约事件处理违约事件处理:若供方:若供方发生与合同要求不一致发生与合同要求不一致的问题,导致违约事件,的问题,导致违约事件,需执行违约事件处理需执行违约事件处理项目满足结束条件,项项目满足结束条件,项目经理目经理/合同管理者宣布合同管理者宣布项目结束,终止

87、合同执项目结束,终止合同执行,告知各方合同终止行,告知各方合同终止项目分析项目分析:分析需:分析需方项目需求,开发方项目需求,开发出初步项目计划出初步项目计划项目竞标项目竞标:能力评:能力评估、可行性分析和估、可行性分析和参加竞标参加竞标合同文本准备合同文本准备:需:需方提供合同框架结方提供合同框架结构,并起草主要内构,并起草主要内容,供方提供意见容,供方提供意见正式确定供方项目正式确定供方项目经理经理项目任务书明确项项目任务书明确项目目标和约束,授目目标和约束,授权项目经理权项目经理项目经理对任务书项目经理对任务书进行确认进行确认合同跟踪管理合同跟踪管理合同修改控制合同修改控制违约事件处理违

88、约事件处理产品交付产品交付产品维护产品维护项目验收项目验收双方认可签字双方认可签字项目经验教训总结项目经验教训总结合同最后款项交付合同最后款项交付发票开具发票开具需方合同终止通知获取需方合同终止通知获取合同相关文件归档合同相关文件归档软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件度量软件度量软件度量软件度量(Metrics)是指对软件产品、软件开是指对软件产品、软件开发过程或者资源的发过程或者

89、资源的简单属性简单属性的定量描述。的定量描述。n产品:软件开发过程中所生成的各种文档和程序产品:软件开发过程中所生成的各种文档和程序n过程:与软件开发有关的各种活动,如软件设计等过程:与软件开发有关的各种活动,如软件设计等n资源:软件开发过程中所需支持,如人员、费用等资源:软件开发过程中所需支持,如人员、费用等注:注:n定量描述定量描述,而不是定性描述而不是定性描述n简单属性简单属性,无需参照其它属性便可直接获得定量描无需参照其它属性便可直接获得定量描述述软件工程系统能力软件工程系统能力 软件度量软件度量软件测量软件测量(Measure)是对软件产品、软件是对软件产品、软件开发过程和资源开发过

90、程和资源复杂属性复杂属性的定量描述,的定量描述,它是简单属性度量值的函数,软件测量它是简单属性度量值的函数,软件测量用于事后或实时状态用于事后或实时状态, 如软件可靠性如软件可靠性注意点注意点n定量描述,而不是定性描述定量描述,而不是定性描述n复杂属性复杂属性-不可直接获得、需参照其它属性不可直接获得、需参照其它属性的度量值的度量值n实时或者事后状态实时或者事后状态,用于对历史进行评估,用于对历史进行评估软件工程系统能力软件工程系统能力 软件度量软件度量估算估算(Estimation)对软件产品、软件开发过程对软件产品、软件开发过程和资源和资源复杂属性复杂属性的定量描述,它是简单属性度的定量描

91、述,它是简单属性度量值的函数,软件估算用于事前量值的函数,软件估算用于事前, 如软件开发如软件开发成本成本注意点注意点n定量描述定量描述,而不是定性描述而不是定性描述n复杂属性复杂属性-不可直接获得、需参照其它属性的度量不可直接获得、需参照其它属性的度量值值n事前状态事前状态n可采用经验公式,也可参考历史资料和数据。估算可采用经验公式,也可参考历史资料和数据。估算的结果一般用于签订合同、立项、制定工作计划等的结果一般用于签订合同、立项、制定工作计划等软件工程系统能力软件工程系统能力 软件度量软件度量三个方面三个方面n产品:各种文档和程序产品:各种文档和程序n过程:各种软件开发活动过程:各种软件

92、开发活动n资源:各种资源如人员、费用等资源:各种资源如人员、费用等产产品品过过程程资源资源软件工程系统能力软件工程系统能力 软件度量软件度量两个层次两个层次n内部属性内部属性n软件产品,过程和资源本身所具有属性,如软件软件产品,过程和资源本身所具有属性,如软件产品的复杂度、程序长度等产品的复杂度、程序长度等n易于度量易于度量n外部属性外部属性n软件产品,过程和资源与外部环境软件产品,过程和资源与外部环境(用户、管理用户、管理人员等人员等)间的关系如成本、效益、可靠性、可维间的关系如成本、效益、可靠性、可维护性等护性等n难以度量,但由内部属性所决定难以度量,但由内部属性所决定软件工程系统能力软件

93、工程系统能力 软件度量软件度量软件工程系统能力软件工程系统能力 软件度量软件度量面向规模的度量:用软件代码行数目来表示软件项目面向规模的度量:用软件代码行数目来表示软件项目规模规模面成功能的度量:用软件的功能表示软件的规模面成功能的度量:用软件的功能表示软件的规模软件项目成本和工作量估算:软件项目成本和工作量估算:n参照和依据已完成项目的历史数据参照和依据已完成项目的历史数据n将大项目分解为小项目将大项目分解为小项目n将项目按照软件生命周期分解将项目按照软件生命周期分解n根据经验估算公式根据经验估算公式n上述方法可以同时、单独或者组合使用上述方法可以同时、单独或者组合使用软件质量度量:软件质量

94、度量:McCall的软件质量度量模型的软件质量度量模型软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件项目跟踪软件项目跟踪软件项目跟踪:在项目实施过程中,随软件项目跟踪:在项目实施过程中,随时掌握项目的实际开发情况,使得当项时掌握项目的实际开发情况,使得当项目实施与计划相背离,或者出现问题和目实施与计划相背离,或者出现问题和风险时,能够采取有效的措施风险时,能够采取有效的措施n知道项目的实际执行

95、和实施情况知道项目的实际执行和实施情况n知道项目实施过程中知道项目实施过程中(可能可能)出现了哪些问题出现了哪些问题n知道如何采取措施防止问题的出现,或者出知道如何采取措施防止问题的出现,或者出现时该采取什么办法减少它给软件项目实施现时该采取什么办法减少它给软件项目实施带来的影响和损失带来的影响和损失软件工程系统能力软件工程系统能力 软件项目跟踪软件项目跟踪软件项目跟踪的对象软件项目跟踪的对象n项目风险项目风险n项目进展项目进展n开发活动进展开发活动进展n开发活动问题开发活动问题n项目展望项目展望技术风险技术风险进度风险进度风险成本风险成本风险人员风险人员风险工具和设备风险工具和设备风险工作量

96、估算的不准确工作量估算的不准确用户需求的变更用户需求的变更交流的不畅交流的不畅人员的变更人员的变更其他不可预知情况的干扰其他不可预知情况的干扰n详细具体了解各项活动的实详细具体了解各项活动的实际情况际情况n开发活动的计划开发活动的计划n将实际进展与计划进行比较,将实际进展与计划进行比较,了解偏差,以便采取措施了解偏差,以便采取措施l具体项目的特殊情况具体项目的特殊情况l计划的不全面性计划的不全面性l规程的不完备性规程的不完备性l交流的不充分性交流的不充分性u后续主要成果后续主要成果u公开发布日期公开发布日期u产品交付日期产品交付日期软件工程系统能力软件工程系统能力 软件项目跟踪软件项目跟踪软件

97、开发计划软件开发计划n活动和关系活动和关系n进度计划进度计划n资源和人员计划资源和人员计划n成本计划成本计划n软件项目实际实施过程软件项目实际实施过程n实施了的实际进度实施了的实际进度n实施面临的问题实施面临的问题软件工程系统能力软件工程系统能力 软件项目跟踪软件项目跟踪成立项目跟踪小组成立项目跟踪小组PTT(Project Tracing Team)n由项目组成员由项目组成员(小项目小项目)或者负责人或者负责人(大项目大项目)组成组成指定项目跟踪负责人指定项目跟踪负责人n负责协调项目进度的跟踪工作负责协调项目进度的跟踪工作定期召开项目跟踪会议,获取项目实施的详细定期召开项目跟踪会议,获取项目

98、实施的详细情况和面临的问题情况和面临的问题n最好定期每周一次最好定期每周一次n了解项目实施情况了解项目实施情况n汇报问题汇报问题软件工程系统能力软件工程系统能力 软件项目跟踪软件项目跟踪跟踪基础跟踪基础项目计划项目计划项目计划项目计划项目实施过程项目实施过程项目实施过程项目实施过程跟踪对象跟踪对象 项目风险项目风险项目风险项目风险 项目进展项目进展项目进展项目进展 项目活动项目活动项目活动项目活动 开发活动问题开发活动问题开发活动问题开发活动问题 项目展望项目展望项目展望项目展望跟踪目标跟踪目标 了解项目进展了解项目进展 发现问题和风险发现问题和风险 采取措施采取措施 项项目目跟跟踪踪负负责责

99、人人 项项目目跟跟踪踪会会议议 项项目目跟跟踪踪小小组组软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件配置管理软件配置管理软件项目进行中面临的主要问题是持续不断的变化;软件项目进行中面临的主要问题是持续不断的变化;配置管理是有效管理变更的手段,它贯穿着几乎软件配置管理是有效管理变更的手段,它贯穿着几乎软件的整个生命周期的整个生命周期开发人员使用错误的版本修改程开发人员使用错误的版本修改程序序开

100、发人员未经授权修改代码或文开发人员未经授权修改代码或文档档, ,或修改的结果不能及时反映到或修改的结果不能及时反映到各个相关部分各个相关部分人员流动,交接工作不彻底造成人员流动,交接工作不彻底造成软件关键部件遗失软件关键部件遗失已修复的已修复的BugBug在新版本中出现在新版本中出现找不到某个文件的历史版本找不到某个文件的历史版本无法重新编译某个历史版本,使无法重新编译某个历史版本,使维护工作十分困难维护工作十分困难因协同开发中,或者异地开发,因协同开发中,或者异地开发,版本变更混乱导致整个项目失败版本变更混乱导致整个项目失败 软件工程系统能力软件工程系统能力 软件配置管理软件配置管理配置配置

101、的概念来自硬件,的概念来自硬件,例如,计算机系统的例如,计算机系统的CPU、磁、磁盘以及外设配置等等盘以及外设配置等等配置管理配置管理是用于控制系统一系列变化的学科是用于控制系统一系列变化的学科通过一系列技术,方法和手段来维护产品的历史,鉴通过一系列技术,方法和手段来维护产品的历史,鉴别和定位产品独有的版本,并在产品的开发和发布阶别和定位产品独有的版本,并在产品的开发和发布阶段控制变化段控制变化软件配置管理软件配置管理是对软件产品进行标志、存储和控制,是对软件产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开以维护其完整性、可追溯性以及正确性,它为软件开发提供一套管理办法

102、和活动原则发提供一套管理办法和活动原则软件工程系统能力软件工程系统能力 软件配置管理软件配置管理软件配置项软件配置项:凡是纳入配置管理范畴的工作成果统称凡是纳入配置管理范畴的工作成果统称为配置项。配置项主要有两大类:为配置项。配置项主要有两大类:n属于产品组成部分的工作成果,例如源代码、需求属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等。文档、设计文档、测试用例等等。n在管理过程中产生的文档,例如各种计划、状态报在管理过程中产生的文档,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是告等等,这些文档虽然不是产品的组成部分,但是值得保存。值得保存。 每个

103、配置项的主要属性有:名称、标识符、文件状态、每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等版本、作者、日期等所有配置项都被保存在配置库里,确保不会混淆、丢所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程失;配置项及其历史记录反映了软件的演化过程软件工程系统能力软件工程系统能力 软件配置管理软件配置管理基线基线:是软件生存期各开发阶段末尾的特定点,也称是软件生存期各开发阶段末尾的特定点,也称为里程碑。为里程碑。基线(基线(Baseline)由一组配置项组成,这些配置项构成)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中

104、的配置项被了一个相对稳定的逻辑实体。基线中的配置项被“冻冻结结”了,不能再被随意修改。了,不能再被随意修改。基线通常对应于开发过程中的里程碑(基线通常对应于开发过程中的里程碑(Milestone),),一个产品可以有多个基线,也可以只有一个基线。基一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等线的主要属性有:名称、标识符、版本、日期等通常将交付给客户的基线称为一个通常将交付给客户的基线称为一个“Release”;为内;为内部开发用的基线则称为一个部开发用的基线则称为一个“Build”软件工程系统能力软件工程系统能力 软件配置管理软件配置管理配置管理过程

105、配置管理过程 n制定配置管理计划制定配置管理计划n配置项标识、跟踪配置项标识、跟踪n配置管理环境建立配置管理环境建立n基线变更管理基线变更管理n配置审核配置审核n配置状态统计配置状态统计确定软件配置管理确定软件配置管理的解决方案,确定的解决方案,确定要控制哪些文档要控制哪些文档将软件项目待控制部分将软件项目待控制部分拆分为软件配置项,为拆分为软件配置项,为其建立唯一标识和相互其建立唯一标识和相互对应关系,进行系统跟对应关系,进行系统跟踪和版本控制踪和版本控制建立配置管理库,建立配置管理库,存储所有基线配存储所有基线配置项及相关文件置项及相关文件通过变更请求、变通过变更请求、变更评估、变更批准更

106、评估、变更批准/拒绝、变更实现拒绝、变更实现完成配置控制完成配置控制确保某一变更请求确保某一变更请求已被确切实现,包已被确切实现,包括配置管理活动审括配置管理活动审核和基线审核核和基线审核检查配置管理系统检查配置管理系统和内容,检测配置和内容,检测配置项变更历史的过程项变更历史的过程软件工程系统能力软件工程系统能力 软件配置管理软件配置管理配置管理实施配置管理实施确定初始基线确定初始基线:由配置管理委员:由配置管理委员会确定研发活动的初始基线会确定研发活动的初始基线配置库管理配置库管理:配置人员根据软件:配置人员根据软件配置管理规划设立配置库和工作配置管理规划设立配置库和工作空间,为执行软件配

107、置管理做好空间,为执行软件配置管理做好准备,并定期执行备份和清理工准备,并定期执行备份和清理工作作授权开发授权开发:开发人员按照统一的:开发人员按照统一的软件配置管理策略,根据获得授软件配置管理策略,根据获得授权的资源进行项目研发工作权的资源进行项目研发工作集成集成:系统集成人员按照项目进:系统集成人员按照项目进度集成组内开发人员的工作成果,度集成组内开发人员的工作成果,构建系统,推进版本演进构建系统,推进版本演进管理基线管理基线:配置管理委员会根据:配置管理委员会根据项目的进展情况,并适时地建立项目的进展情况,并适时地建立基线,批准基线变更,保证开发基线,批准基线变更,保证开发和维护工作有序

108、地进行和维护工作有序地进行产品开发产品开发:系统集成人员进行产:系统集成人员进行产品集成,由配置管理委员会批准,品集成,由配置管理委员会批准,进行发布进行发布 软件工程系统能力软件工程系统能力 软件工程管理能力软件工程管理能力软件项目管理概述软件项目管理概述 软件合同管理软件合同管理软件度量软件度量软件项目跟踪软件项目跟踪软件配置管理软件配置管理软件团队管理软件团队管理软件工程系统能力软件工程系统能力 软件团队管理软件团队管理由一组具有共同目标、相互关联、相互合作的由一组具有共同目标、相互关联、相互合作的人组成的一个集体,例如战斗小组人组成的一个集体,例如战斗小组n共同的目标共同的目标n明确的

109、任务明确的任务n相互关联相互关联n相互合作相互合作软件项目组就是一个团队软件项目组就是一个团队n目标:开发出软件产品、完成项目目标:开发出软件产品、完成项目n任务:需求分析、设计、管理任务:需求分析、设计、管理n相互关联:工作的依赖相互关联:工作的依赖n相互合作:解决问题相互合作:解决问题软件工程系统能力软件工程系统能力 软件团队管理软件团队管理软件项目团队的特征软件项目团队的特征n是一个临时性的团队是一个临时性的团队n是跨职能的是跨职能的n在软件项目不同阶段中团队成员具有不稳定性在软件项目不同阶段中团队成员具有不稳定性n成员具有极大的流动性成员具有极大的流动性n年轻化程度高年轻化程度高n软件

110、项目团队属于高度集中的知识型团队软件项目团队属于高度集中的知识型团队n员工业绩难以量化考核员工业绩难以量化考核n软件项目团队非常注重自我软件项目团队非常注重自我高效的软件开发团队是建立在合理的开发流程高效的软件开发团队是建立在合理的开发流程及团队成员密切合作的基础之上,团队成员需及团队成员密切合作的基础之上,团队成员需共同迎接挑战、有效的计划、协调和管理各自共同迎接挑战、有效的计划、协调和管理各自的工作直至成功完成项目目标的工作直至成功完成项目目标软件工程系统能力软件工程系统能力 软件团队管理软件团队管理高效成功团队的特征高效成功团队的特征明确角色和职责明确角色和职责n各个成员清晰、明确地知道

111、自己做什么各个成员清晰、明确地知道自己做什么n项目计划项目计划监控个人表现和提供反馈监控个人表现和提供反馈n让成员知道是可接受的还是有待进一步提高让成员知道是可接受的还是有待进一步提高n项目跟踪、质量保证项目跟踪、质量保证有效沟通有效沟通n易于获得信息、沟通的媒介、参与、记录沟通易于获得信息、沟通的媒介、参与、记录沟通n配置管理、会议、文档化配置管理、会议、文档化以事实为依据提供决策以事实为依据提供决策n决策要依赖于事实依据,而不是主观判断决策要依赖于事实依据,而不是主观判断相互帮助、不断改进、勇于创新的文化相互帮助、不断改进、勇于创新的文化软件工程系统能力软件工程系统能力 软件团队管理软件团

112、队管理团队典型错误团队典型错误挫伤积极性挫伤积极性n如:要求工作到深夜,老板长时间休假而员如:要求工作到深夜,老板长时间休假而员工假期加班,到项目结束时无奖金工假期加班,到项目结束时无奖金人员素质低人员素质低n人员的选择着眼于尽快雇佣到人,而不是在人员的选择着眼于尽快雇佣到人,而不是在项目周期中工作最好的人,虽然可以使项目项目周期中工作最好的人,虽然可以使项目尽早启动,但不能确保项目尽快完成尽早启动,但不能确保项目尽快完成英雄主义英雄主义n中等管理水平的项目经理更为强调团队精神中等管理水平的项目经理更为强调团队精神软件工程系统能力软件工程系统能力 软件团队管理软件团队管理项目后期加入人员项目后

113、期加入人员n火上浇油火上浇油对有问题的员工失控对有问题的员工失控n这是项目组员对领导最常见的抱怨这是项目组员对领导最常见的抱怨办公环境拥挤嘈杂办公环境拥挤嘈杂开发人员与客户之间发生摩擦开发人员与客户之间发生摩擦n如客户不在开发计划上签字、需求确定后的如客户不在开发计划上签字、需求确定后的需求变更、拒绝接受已完工的产品需求变更、拒绝接受已完工的产品n主要原因是缺少沟通主要原因是缺少沟通软件工程系统能力软件工程系统能力 软件团队管理软件团队管理缺乏有效的项目支持缺乏有效的项目支持n没有有效的高层支持;高层人员强迫开发者接受不没有有效的高层支持;高层人员强迫开发者接受不现实的项目进度等现实的项目进度

114、等缺乏各种角色的齐心协力缺乏各种角色的齐心协力缺乏用户介入缺乏用户介入n没有用户早期介入的项目充满需求误解的风险没有用户早期介入的项目充满需求误解的风险政治高于物质政治高于物质n政治家型项目组的精力集中在于领导的关系,在项政治家型项目组的精力集中在于领导的关系,在项目初期,会运行得很好,但进入中后期,会失败目初期,会运行得很好,但进入中后期,会失败软件工程系统能力软件工程系统能力软件工程经济能力软件工程经济能力软件工程软件工程管理能力管理能力软件工程技术能力软件工程技术能力软件工程系统能力软件工程系统能力 软件工程技术能力软件工程技术能力软件编码软件编码软件维护软件维护软件工程系统能力软件工程

115、系统能力 软件编码软件编码使用与维护使用与维护退役退役软件定义软件定义软件开发软件开发维护维护了解用户要求和现实环境,从技了解用户要求和现实环境,从技术、经济、市场等方面研究并论术、经济、市场等方面研究并论证开发该软件系统的可行性证开发该软件系统的可行性确定用户对待开发软确定用户对待开发软件系统的需求件系统的需求(功能、功能、性能和运行环境约束性能和运行环境约束)建立目标软件系统总体结构、建立目标软件系统总体结构、设计全局数据库和数据结构,设计全局数据库和数据结构,规定设计约束,制定集成测规定设计约束,制定集成测试计划等试计划等细化概要设计所生成的各细化概要设计所生成的各模块模块, 详细描述程

116、序模块详细描述程序模块的内部细节的内部细节(算法,数据结算法,数据结构等构等),形成可编程的程序,形成可编程的程序模块,制订单元测试计划模块,制订单元测试计划根据详细设计规格说明书编根据详细设计规格说明书编写源程序,并对程序进行调写源程序,并对程序进行调试和单元测试,验证程序与试和单元测试,验证程序与详细设计文档一致性详细设计文档一致性根据概要设计规格说明书,根据概要设计规格说明书,将经过单元测试的模块逐将经过单元测试的模块逐步进行集成和测试步进行集成和测试根据软件需求规格说根据软件需求规格说明书,测试软件系统明书,测试软件系统是否满足用户的需求是否满足用户的需求对使用后的软件进行维护对使用后

117、的软件进行维护修正使用过程中发现的错误纠错性维护修正使用过程中发现的错误纠错性维护增加新的功能完善性维护增加新的功能完善性维护从一个环境搬迁到另一个环境适应性维护从一个环境搬迁到另一个环境适应性维护软件工程系统能力软件工程系统能力 软件编码软件编码软件编码是软件产品由概念到实体的一个关键过程,软件编码是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序设计语言编写它将详细设计的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码的并且最终可以运行的程序代码虽然软件的质量取决于软件设计,但是规范的程序设虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软

118、件维护带来不可忽视的影响计风格将会对后期的软件维护带来不可忽视的影响软件工程系统能力软件工程系统能力 软件编码软件编码书写良好的代码更容易阅读书写良好的代码更容易阅读容易阅读的代码才容易被理解容易阅读的代码才容易被理解容易被理解的代码才健康容易被理解的代码才健康编程风格体现了程序员对语言的理解水平编程风格体现了程序员对语言的理解水平求职:好的编程风格给别人良好的第一印象,是获得求职:好的编程风格给别人良好的第一印象,是获得高薪的第一步高薪的第一步软件工程系统能力软件工程系统能力 软件编码软件编码编码规范:编码规范:n相关英文说法:相关英文说法:coding standard, coding c

119、onvention, coding criterionn是指被普通采用的、或由某个企业或机构规是指被普通采用的、或由某个企业或机构规定的,用计算机语言编写程序的过程中需要定的,用计算机语言编写程序的过程中需要遵守的一套规则或约定的集合遵守的一套规则或约定的集合n编码规范并不是语言的语法规则编码规范并不是语言的语法规则不同的公司,对同一种开发语言,一般不同的公司,对同一种开发语言,一般都采用类似的规范,也就是说编码规范都采用类似的规范,也就是说编码规范具有一些通用性的标准具有一些通用性的标准软件工程系统能力软件工程系统能力 软件编码软件编码文件级模块说明规范文件级模块说明规范/*作者信息:作者信

120、息:姓名:姓名:张三张三 学号:学号:06123456 班级:计科班级:计科0601班班 学院:计算机学院:计算机 Email: 电话:电话:51689999版权声明:版权声明:版权由张三所有,除老师外,未经允许不得拷贝本人作业版权由张三所有,除老师外,未经允许不得拷贝本人作业模块名称模块名称: 第一个模块第一个模块摘要摘要: 本模块是我的第一个程序语言作业,实现了一些简单的功能本模块是我的第一个程序语言作业,实现了一些简单的功能其它说明其它说明:无无模块历史模块历史:张三于张三于2006年年9月月20日创建本模块,日创建本模块,email: 张三于张三于2006年年9月月25日修改本模块,

121、日修改本模块,email: 同上同上 修改原因:增加了一个输出正方形的函数修改原因:增加了一个输出正方形的函数*/注意:红色部分为必填部分,注意:红色部分为必填部分,缺填红色部分可能导致作业缺填红色部分可能导致作业无法得到批阅无法得到批阅注释开始注释开始注释结束注释结束软件工程系统能力软件工程系统能力 软件编码软件编码函数说明规范函数说明规范/*函数名称函数名称:写出函数的名称写出函数的名称功能描述功能描述:描述出函数具有的功能描述出函数具有的功能函数参数函数参数:输入输出参数说明,对每个参数都需要作出仔细说明输入输出参数说明,对每个参数都需要作出仔细说明返回值返回值:返回值说明,或者标明无回

122、值返回值说明,或者标明无回值模块历史模块历史: 谁于某年某月某日创建本模块,创建人谁于某年某月某日创建本模块,创建人email 谁于某年某月某日修改本模块,修改人谁于某年某月某日修改本模块,修改人email 修改原因:可有可无,根据需要添加修改原因:可有可无,根据需要添加*/软件工程系统能力软件工程系统能力 软件编码软件编码代码注释代码注释n对重要变量说明其作用对重要变量说明其作用n对每一段函数代码加注释说明功能对每一段函数代码加注释说明功能n对重要的语句加注释说明其功能对重要的语句加注释说明其功能n对重要的函数调用的参数加实际参数说明对重要的函数调用的参数加实际参数说明n在自己认为必要的地方

123、加上注释在自己认为必要的地方加上注释n可以采用可以采用/* */和和/进行注释进行注释软件工程系统能力软件工程系统能力 软件编码软件编码标识符命名标识符命名n包括符号常量、变量、函数名、类型名、成员名、包括符号常量、变量、函数名、类型名、成员名、类名等需要编程者命名的各种文字符号类名等需要编程者命名的各种文字符号n标识符命名必须符合语法规则标识符命名必须符合语法规则n任何标识符的命名最好能有一定的含义任何标识符的命名最好能有一定的含义n标识符的命名尽量采用英文标识符的命名尽量采用英文软件工程系统能力软件工程系统能力 软件编码软件编码符号常量的命名用大写字母表示符号常量的命名用大写字母表示n如如

124、 #define LENGTH 10如果符号常量由多个单词构成,两个不同的单如果符号常量由多个单词构成,两个不同的单词之间可以用下划线连接词之间可以用下划线连接n如如 #define MAX_LEN 50变量名一般需要反映变量的用途变量名一般需要反映变量的用途n如如: int sum;如果变量名由多个单词构成,每个单词的首字如果变量名由多个单词构成,每个单词的首字符要大写符要大写n如如: int Total_Files;软件工程系统能力软件工程系统能力 软件工程技术能力软件工程技术能力软件编码软件编码软件维护软件维护软件工程系统能力软件工程系统能力 软件维护软件维护实践表明,在几种维护活动中,

125、完善性维护所占的比重最大。即实践表明,在几种维护活动中,完善性维护所占的比重最大。即大部分维护工作是改变和加强软件,而不是纠错大部分维护工作是改变和加强软件,而不是纠错完善性维护不一定是救火式的紧急维修,而可以是有计划、有预完善性维护不一定是救火式的紧急维修,而可以是有计划、有预谋的一种再开发活动谋的一种再开发活动事实证明,来自用户的要求扩充、加强软件功能、性能的维护活事实证明,来自用户的要求扩充、加强软件功能、性能的维护活动约占整个维护工作的动约占整个维护工作的50。因此,在整个软件维护阶段所花费。因此,在整个软件维护阶段所花费的全部工作量中,完善性维护占了几乎一半的工作量的全部工作量中,完

126、善性维护占了几乎一半的工作量软件维护活动所花费的工作占整个生存期工作量的软件维护活动所花费的工作占整个生存期工作量的70%以上,这以上,这是由于在漫长的软件运行过程中需要不断对软件进行修改,以改是由于在漫长的软件运行过程中需要不断对软件进行修改,以改正新发现的错误、适应新的环境和用户新的要求,这些修改需要正新发现的错误、适应新的环境和用户新的要求,这些修改需要花费很多精力和时间,而且有时会引入新的错误花费很多精力和时间,而且有时会引入新的错误软件工程系统能力软件工程系统能力 软件维护软件维护维护在软件生维护在软件生 存期所占比例存期所占比例维护工作量维护工作量70%开发开发工作量工作量30%适

127、应适应性维护性维护25%改正改正性维护性维护20%完善性维护完善性维护50%其其他他维维护护5%三类维护占三类维护占总维护比例总维护比例软件工程系统能力软件工程系统能力 软件维护软件维护修改负责人修改负责人维护人员维护人员维护管理员维护管理员系统监督员系统监督员配置管理员配置管理员维护申请维护申请维护申请维护申请用户用户维护人员维护人员确定确定变更要变更要求求判别判别维护类维护类型型评价评价优先次优先次序序把安排好的维护把安排好的维护工作量列入计划工作量列入计划维护要求维护要求安排安排改正性改正性维护维护把改正错误把改正错误列入计划列入计划开始开始问题分问题分析析维护维护实施实施复审复审评价评

128、价错误严错误严重程度重程度严重严重( (救火救火) )人员安排人员安排改正性改正性不严重不严重 完善性完善性适应性适应性低低高高开始开始问题分问题分析析人员安排人员安排修改过的软件修改过的软件通过并交付通过并交付 使用的软件使用的软件理解程序理解程序 分析原设计分析原设计安排计划安排计划 修改程序修改程序测试程序测试程序软件维护工软件维护工作流程作流程软件工程系统能力软件工程系统能力 软件维护软件维护维护的副作用:维护的副作用:由于维护或者在维护过程由于维护或者在维护过程中其他一些不期望的行为引入的错误中其他一些不期望的行为引入的错误n代码副作用代码副作用: 如修改或者删除程序、修改或者删除如

129、修改或者删除程序、修改或者删除语句标号、修改逻辑符号等等。慎重,可通过回归语句标号、修改逻辑符号等等。慎重,可通过回归测试发现测试发现n数据副作用数据副作用: 因修改信息结构而带来的不良后果,因修改信息结构而带来的不良后果,如局部和全局数据的再定义,记录或者文件格式的如局部和全局数据的再定义,记录或者文件格式的再定义等再定义等 n文档副作用文档副作用: 由于在设计文档中未能准确反映软件由于在设计文档中未能准确反映软件修改情况而带来的不良后果修改情况而带来的不良后果 一般在回归测试过一般在回归测试过程中发现并纠正程中发现并纠正在软件再次交付使在软件再次交付使用之前,对整个文用之前,对整个文档进行复审将能减档进行复审将能减少文档的副作用少文档的副作用可通过完善设计文可通过完善设计文档来加以控制档来加以控制

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号