第一讲 软件危机与软件工程

合集下载

第一讲-软件工程概述(软件危机)

第一讲-软件工程概述(软件危机)
硬件 软件
结论
总之,为了消除软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。
课堂讨论
请针对一下几种观点发表自己的意见 编程高手不需要懂得软件工程,也能编出很好的软件。 拥有最后的开发工具和计算机就能编写优秀的软件。 软件开发进度落后,只要增加人员就能解决。
一、软件危机
1.1软件危机的介绍 什么是软件危机?
计算机软件的开发和维护过程所遇到的一系列严重问题.
软件危机的特征是什么?
对软件开发成本和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。 软件产品的质量往往靠不住。 软件常常是不可维护的。 软件通常没有适当的文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
(2)软件开发维护中的问题
图 引入同一变动付出的代价随时间变化的趋势
正确的规格说明
错误的规格说明
需求分析
设计
正确的设计
错误的设计
对错误说明的设计
编码
正确编码
对错误说明的编码
错误编码
对错误设计的编码
测试
正确功能
潜伏的错误
不可改正的错误
可改正的错误
(2)软件开发维护中的问题
错误认为:软件开发=程序编写 软件开发只要依靠个别编程高手就能完成 轻视软件维护 Biblioteka 100%0%1955
1970
1985
———— 以上列举的仅仅是软件危机的一些明显的表现,与软件开发和维护有关的问题远远不止这些
软件危机著名案例

软件危机与软件工程

软件危机与软件工程

途 基本原则。

2023/11/3
16
软件工程基本原理

决1.用分阶段的生命周期计划严格管理

有人统计,在不成功的软件项目中有50%左
件 右是由于计划不周造成的。应该把软件生命周期
危 机 的
划分为若干阶段,并制定出相应的切实可行的计 划,严格按照计划对开发和维护进行管理。
B.W.Boehm认为,应制定和严格执行6类计划: 项目概要计划、里程碑计划、项目控制计划、产
软 ▪ 计算机软件的数量以惊人的速度急剧
件 膨胀。
开 ▪ 计算机硬件的性能/价格比,每10年提高
发 过 程

2个数量级,且质量稳步提高。 软件生产跟不上计算机应用的要求,开 发成本增加,质量没有保证,已成制约
计算机发展的关键因素。
2023/11/3
6
软件危机
软 件
▪ 软件危机(crisis):是指在计算机软
2023/11/3
8
产生软件危机的原因
软 件 危

▪ 客观原因:软件需求大,规模大
▪ 主观原因:软件本身的特点
软件是一种逻辑部件不是物理部件,其进展情 况和质量难以控制。
的 软件的规模非常庞大,多人共同开发,必须有
产 严格和科学的管理。
生 软件开发过分依赖于个人的智力劳动和经验。
在对用户需求没有完整、准确的认识,匆忙开
2023/11/3
32
软件工程开发模式


第一,不要急于求成,对于规模较大、较复杂的系
软 件
统,过早地急于编程实现,往往导致大量返工,甚至 开发失败。应该把前面几个阶段的工作做得比较扎实, 再进行后续的工作。

第一讲 软件工程概述(软件危机)

第一讲 软件工程概述(软件危机)

第一讲软件工程概述(软件危机)软件工程概述(软件危机)1·软件工程的定义软件工程是一门工程学科,旨在应用系统性、可量化的方法来开发和维护软件。

它涉及软件开发的各个方面,包括软件需求分析、设计、编码、测试和维护等。

2·软件发展的历史2·1 软件危机的出现在20世纪60年代末和70年代初,随着计算机应用的快速发展,软件开发面临了一系列的问题,被称为软件危机。

这些问题包括项目延期、成本超支、质量低下等。

2·2 软件危机的原因软件危机的主要原因包括:2·2·1 需求不明确在软件开发过程中,需求的变化和需求不明确是导致软件危机的主要原因之一。

客户往往无法准确地描述他们的需求,而开发人员也往往无法准确地理解需求。

2·2·2 缺乏有效的管理方法软件开发过程往往缺乏有效的管理方法,导致项目进展缓慢、进度不可控、团队合作不顺畅等问题。

2·2·3 技术限制和约束过去的软件开发技术受到硬件性能和软件工具的限制,导致开发效率低下和质量不可靠。

3·软件工程的基本原理和方法3·1 需求工程需求工程是软件工程的关键环节,旨在通过系统的方法来理解、分析和定义软件系统的需求。

3·2 结构化设计结构化设计是一种将软件系统划分为各个模块,并定义它们之间的关系的方法。

3·3 面向对象设计面向对象设计是一种将软件系统设计为一组相互协作的对象的方法。

它包括类的定义、继承和多态等概念。

3·4 软件测试软件测试是验证和验证软件系统是否满足要求的过程。

它包括单元测试、集成测试、系统测试等不同层次的测试。

3·5 软件维护软件维护是指对已发布的软件进行修改、优化和错误修复的过程。

4·软件工程的发展趋势4·1 敏捷开发敏捷开发是一种以迭代、增量和协作为核心的开发方法。

它强调灵活性、快速反馈和适应性。

第1部分 软件危机与软件工程

第1部分 软件危机与软件工程
19
20
§1.2 软件工程概述
(3) 演化模型的优点 早期就可以快速的生产出可以运行的软件; 早期就可以快速的生产出可以运行的软件; 开发过程灵活,当需求或者目标改变时,可以及时的调整软件实施方案; 开发过程灵活,当需求或者目标改变时,可以及时的调整软件实施方案; 有助于在早期进行软件测试、进度控制、缺陷跟踪和文档管理, 有助于在早期进行软件测试、进度控制、缺陷跟踪和文档管理,有利于 平衡整个开发过程的负荷; 平衡整个开发过程的负荷; 在每个迭代过程中,易于捕获风险信息和收集风险数据; 在每个迭代过程中,易于捕获风险信息和收集风险数据; 开发过程中的经验教训能及时的反馈应用于下一个循环过程中, 开发过程中的经验教训能及时的反馈应用于下一个循环过程中,从而提 高软件质量和生产率; 高软件质量和生产率;
6
§1.1 软件危机
2、软件危机的表现 (1) 软件开发费用和进度难以控制; 软件开发费用和进度难以控制; (2) 软件不能满足用户的需求 ; (3) 软件可靠性差 ; (4) 软件产品缺乏相应的文档资料; 软件产品缺乏相应的文档资料; (5) 软件可维护性差 ; (6) 软件开发的速度与计算机应用的普及速度不相适应; 软件开发的速度与计算机应用的普及速度不相适应;
2
教学要求
知识目标
软件危机
能力目标
了解软件危机的产生和发 展及解决途径 掌握软件工程的概念及目 标 掌握软件生命周期各个阶 段的任务 掌握各种典型的软件开发 模型 掌握软件项目管理的目标 和特点
关联知识
软件、软件成本、软件质 量
软件工程
软件生产率
软件生命周期
软件定义、开发、维护
软件开发模型
瀑布、演化、原型、螺旋
5
§1.1 软件危机

01软件危机与软件工程

01软件危机与软件工程
工作比想象的更为复杂; 工作比想象的更为复杂; 花费的时间比预计的更长; 花费的时间比预计的更长; 所需的费用比设想的更多; 所需的费用比设想的更多; 毛病能够出到什么地方就一定会出到那个地方。 毛病能够出到什么地方就一定会出到那个地方。
卡尔特汉(Kaltuhan)定律: 卡尔特汉(Kaltuhan)定律:
软件工程是一门交叉学科
软 件 工 程 的 主 要 研 究 内 容
软件开发模型 软件开发方法 软件立项到终止的全过程 软件开发工具 软件开发环境 计算机辅助软件工程(CASE) 计算机辅助软件工程(CASE) 软件工程管理 软件工程经济学
软件工程的三个要素
• 软件工程包括三个要素:方法、工具和过程。 软件工程包括三个要素:方法、工具和过程。 • 1)软件工程方法为软件开发提供了“如何做” 软件工程方法为软件开发提供了“如何做” 的技术。 的技术。 • 2) 软件工具为软件工程方法提供自动的或半 自动的软件支撑环境。 自动的软件支撑环境。 • 3) 软件工程过程指将软件工程的方法和工具 综合起来,以达到合理、 综合起来,以达到合理、及时地进行计算机软 件开发的目的。 件开发的目的。
软件生命周期循环方式的几种模型: 软件生命周期循环方式的几种模型: • • • • 瀑布模型 快速原型模型 螺旋模型 喷泉模型
瀑布模型 (线形顺序模型) 线形顺序模型)
瀑布模型规定了各项软件工程活动,包括: 瀑布模型规定了各项软件工程活动,包括: 制定软件项目计划,进行需求分析和定义, 制定软件项目计划,进行需求分析和定义,软 件设计,程序编码,测试及运行维护, 件设计,程序编码,测试及运行维护,并且规 定了它们自上而下,相互衔接的固定次序, 定了它们自上而下,相互衔接的固定次序,如 同瀑布流水,逐级下落。 同瀑布流水,逐级下落。

软件工程与项目管理案例教程 第1章 软件危机与软件工程

软件工程与项目管理案例教程 第1章 软件危机与软件工程
22
(3) 原型模型的工作过程
软件开发者和用户以较小的代价,快速确定用户最基 本的需求,开发者对核心需求进行抽取、精简和描述。
然后,开发者在较短的时间内,采用一些适当的开发 工具设计一个可以运行的原型系统,交付用户试用;
用户根据试用情况,提出修改意见; 开发者采用迭代法或者增量法反复修改、完善产品的 功能,最终形成令用户满意的完整的软件产品。
软件产品除了源代码清单外,几乎没有其他文档 资料
软件开发方式随意,采用“手工作坊”的开发方 式
4
(2) 软件危机的产生 • 60年代中后期,软件开发需求急剧增长; • 高级语言开始出现,软件系统的规模越来越大, 复杂程度越来越高,软件数量急剧膨胀; • “手工作坊”式的单打独斗的软件生产方式已经 不能够适应日益增长的软件需求; • 软件供求关系严重失调,最终形成了不可调和的 尖锐矛盾,软件危机开始爆发。 (3) 软件危机的定义 “手工作坊”式的生产方式无法满足迅速增长的计算 机软件需求,从而导致了软件开发和维护过程中的 一系列严重问题,这一现象叫做软件危机 (Software Crisis)。
29
(4) 螺旋模型的特点
每一个周期的产品都较前一周期的产品更细化更完善。 螺旋模型强调风险分析。整个开发过程的主要风险都 得到识别和控制该模型特别适用于规模大,风险高的软 件项目。 用户可以有更多机会参与到开发过程中,有助于提供 关键决策。
30
4、软件生命周期
(1) 软件生命周期
又称作软件生存周期、系统开发生命周期,是指从提 出开发软件产品开始,直到软件报废为止的全过程。
2
本章要点 :
什么是软件危机
软件危机的表现及其产生原因
软件工程的基本原理 软件生命周期与软件生命周期模型 项目管理与软件项目管理 影响软件项目成功的因素

第 1 章 软件危机与软件工程

第 1 章 软件危机与软件工程

这种分级的思路在于把一个组织执 行软件过程的成熟程度分成循序渐进的几 个阶段, 个阶段,这与软件组织提高自身能力的实 际推进过程相吻合。 际推进过程相吻合。这种成熟度分级的优 点在于级别明确而清楚地反映了过程改进 活动的轻重缓急和先后顺序。 活动的轻重缓急和先后顺序。这一点很重 要,因为大多数软件组织只能在某一段时 间里集中开展少数几项过程改进活动。 间里集中开展少数几项过程改进活动。
软件可靠性模型通常有 1.正比于遗留故障的宏观模型 程序的故障率与遗留错误的数量成正比, 所以根据程序中的遗留错误的多少,就可以预 测程序的可靠性。 2.平均故障时间模型 用平均故障的时间来衡量软件的可靠性。 3.错误植入模型 测试之前在程序中植入一批人为的错误, 在测试中分别统计出通过测试发现的原有错误 和植入的错误,然后计算原有的错误,进而衡 量软件可靠性
软件过程
过程(Process):为实现既定目标的一 过程(Process):为实现既定目标的一 ): 系列操作步骤。 系列操作步骤。 软件过程( ):指人们 软件过程(Software Process):指人们 ): 用于开发和维护软件及其相关产品的一系列活 方法、时间和革新。 动、方法、时间和革新。其中相关产品是指项 目计划、设计文档、编码、测试和用户手册。 目计划、设计文档、编码、测试和用户手册。 当一个企业逐步走向成熟, 当一个企业逐步走向成熟,软件过程的定义也 会日趋完善, 会日趋完善,其企业内部的过程实施将更具有 一致性。 一致性。
1.4 软件可靠性
可靠性(reliablility)是其整个质量的一个极 是其整个质量的一个极 可靠性 其重要的元素。 其重要的元素。 软件可靠性是指: 软件可靠性是指:在特定环境下和一定时 间内,一个计算机程序无故障运行的概率。 间内,一个计算机程序无故障运行的概率。 注意4个方面的问题 注意 个方面的问题 1. 研究对象 2. 规定的功能和失败的含义 3. 规定品从形成概念开始,经过开发、 一个软件产品从形成概念开始,经过开发、 使用和维护, 使用和维护,直到最后退出使用的全过程称为软 件生存周期。软件生存周期根据软件所处的状态, 件生存周期。软件生存周期根据软件所处的状态, 以及软件开发活动的目的和任务, 以及软件开发活动的目的和任务,可划分为若干 个阶段。一般软件生存周期包括软件定义、 个阶段。一般软件生存周期包括软件定义、软件 开发以及软件使用与维护3个部分。 开发以及软件使用与维护 个部分。 个部分

软件危机与软件工程

软件危机与软件工程

软件危机与软件工程软件危机与软件工程概述软件危机是指软件开发过程中出现的一连串问题和挑战,导致项目延期、超出预算或质量不佳的情况。

而软件工程则致力于解决软件开发过程中的各种挑战和问题,并提供一种可靠且高效的方法来开发高质量的软件。

软件危机的原因软件危机的原因有多方面的因素,主要包括以下几点:1. 需求不明确:在软件开发初期,客户对软件的需求往往模糊不清或者发生变化,导致软件开发团队无法准确理解客户的需求,从而难以开发出满足客户期望的软件。

2. 技术挑战:软件开发涉及多种技术和复杂的编程环境,开发人员需要不断学习和适应新的技术,但往往时间紧迫,导致技术跟不上进展,造成软件质量不佳。

3. 人员管理:软件开发涉及多个团队成员的合作,如果人员之间无法有效沟通和协作,就会影响软件的开发进度和质量。

4. 项目管理:项目管理对软件开发至关重要,如果项目管理不善,容易导致进度延误、资源浪费等问题。

软件工程的解决方案软件工程是一种以工程化的方式来开发软件的方法,并提供了解决软件开发挑战的一系列技术和方法。

以下是软件工程在解决软件危机中的一些解决方案:1. 需求工程:通过系统化的需求搜集和分析方法,帮助开发团队更全面地理解客户需求,避免需求不明确的问题。

2. 软件架构设计:通过良好的软件架构设计,可以确保软件的可扩展性和可维护性,降低软件开发过程中的技术难题。

3. 项目管理:采用敏捷的项目管理方法可以更好地应对需求变化和项目进度控制,保证软件开发的高效进行。

4. 质量保证:软件是软件工程中的重要环节,通过各种方法如单元、集成和系统等,可以确保软件质量。

软件危机背后的挑战虽然软件工程提供了一套解决软件危机的方法和技术,但在实践中仍然面临一些挑战:1. 技术进步:软件开发领域的技术在不断进步,开发团队需要不断学习和适应新的技术,才能跟上潮流并提供高质量的软件。

2. 项目规模:随着软件项目规模和复杂度增加,开发团队需要更多的资源和时间来完成项目,项目管理和资源分配成为挑战。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Computer became cheaper and more common High level languages were invented User Programmer Computer
easier
软件的发展
Early 1960s:
Very few large software projects were done by some experts
参加人员数 研制期限 1 1 2-5 5-20 100-1000 2000-5000 1-4周 1-6月 1-2年 2-3年 4-5年 5-10年
源代码行数 0.5k 1k-2k 5k-50k 50k-100k 1M 1M-10M
软件的分类
小型软件
15:08:22
用于数值计算或数据处理,通常没有与其它程序的接口。 需求按一定的标准化技术、正规的资料书写以及定期的 系统审查。只是没有像大项目那样严格。
曾在海湾战争期间对抗伊拉克飞毛腿导弹 1991 年2 月,一次对抗失利中就有28 名美国士兵丧生 问题的症结在于导弹软件存在累加计时误差
15:08:22
失效率
15:08:22
软件的特点
软件的开发和运行常受到计算机系统的限制,对 计算机系统有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素
15:08:22
Middle to late 1960s:
Truly large software systems were attempted
After 1968
Software engineering
软件的角色
软件在社会上扮演了双重角色
它本身是一种产品
• 将计算机硬件的计算能力发挥出来
软件产业的网络化趋势 软件产业的服务化趋势 软件产业的全球化趋势
15:08:22
•强调开放性、交互性 •支持主流的开放式标准 •人才的全球化
对中国软件企业有什么启示和挑战?
二、现代软件开发对人才的要求
Talent Beyond Technology _What Kind of Talent We Need for Modern Software Development 扎实的基础 创新、独立的工作能力 主人翁精神和团队精神 沟通与协调能力 成就感强、有激情 自觉地干好工作 锲而不舍,从错误中学习
15:08:22
什么是软件以及软件所具有的特点?
当今社会,计算机软件已经成为一种驱动力,它 是进行商业决策的引擎;它是现代科学研究和工 程问题寻求解答的基础;它也是鉴别现代产品和 服务的关键因素。 它广泛应用于各行各业、各种类型的系统中:交 通、医疗、电信、军事、工业生产过程、娱乐、 办公、……难以穷举。 软件在现代社会中确实是必不可少的。而且我们 进入21世纪,软件将成为从基础教育到基因工程 的所有领域新进展的驱动器。
In the early days:
Software=place a sequence of instructions together to get the computer do something useful User Computer
15:08:22
Later 1950’s:
软件危机
软件危机出现于20 世纪60 年代末 软件危机是指在计算机软件的开发和维护过程中 遇到的一系列严重问题。
软件开发的成本和进度难以准确估计,延迟交付甚至 取消项目的现象屡见不鲜 软件存在着错误多、性能低、不可靠、不安全等质量 问题 软件维护极其困难,而且很难适应不断变化的用户需 求和使用环境
软件产业的网络化趋势 软件产业的服务化趋势 软件产业的全球化趋势
15:08:22

相对目前“打包式” 软件,为用户提供智 能化的“服务式”软 件。
一、全球软件产业的现状、趋势与挑战 The Challenges and Opportunities of the Global Software Industry.
按软件工作方式分
实时处理软件 分时软件 交互式软件 批处理软件
15:08:22
按软件服务对象的范围划分
项目软件 产品软件
软件的分类
按使用的频度进行划分
一次使用 频繁使用
15:08:22
按软件失效的影响进行划分
高可靠性软件 一般可靠性软件
软件的发展
新疆大学信息学院
软件工程
第一讲 软件危机与软件工程
主 讲 人:张琳琳 所在单位:新疆大学信息学院
开始之前
学习“软件工程”的目的和意义 本课程学习的主要内容 课程特点与安排 教材及主要参考书
15:08:22
学习“软件工程”的目的和意义
学会如何在现代IT企业的环境中做一个成功者; 学会如何做世界级的、高质量的研究; 学会如何创建大规模的软件产品。
中型软件
需要考虑软件人员之间、与用户之间的联系、协调的配 合关系。 计划、资料书写以及技术审查需要比较严格地进行。 如大多数应用程序和系统程序都属于中型软件 系统的软件工程方法是完全必要的。
软件的分类
大型软件
15:08:22
编译程序、小型分时系统、实时控制系统等 二级管理,若干小组,每组5个以下。人员调整往往不可 避免,新手的培训 采用统一的标准,实行严格的审查是绝对必要的
15:08:22
同时,它也是一种传递产品的工具
软件传递了我们这个时代最重要的产品:
信息
计算机和软件的历史观
70年代和80年代
“新的工业革命” “工业社会将转变为信息社会” …(大批量生产带来的产品过剩)
15:08:22
90年代
“知识的民主化将改变旧的权力结构”
21世纪初
15:08:22
在微软流传着这样一个故事
15:08:22
有一次比尔.盖茨和上帝谈话,上帝对他说:“地球明 天就要毁灭了!由于你是如此的成功,因此我特许你从地 球上带一样东西到天堂!你想带什么?” 比尔.盖茨回答:“请允许我从微软选300个最优秀的 人,我要把他们带到天堂!”
尽管微软的Windows,Exchang,SQL,Office等都非常重要, 但如果没有象他们这些人才,微软也将一无所有。他们对我 们公司和微软来说是处于第一位的。
教材及主要参考书
软件工程导论(第5版)
作者:张海藩 出版社:清华大学出版社
15:08:22
软件工程实践者的研究方法(本科教学版)
作者:Roger S. Pressman著 郑人杰 等译 出版社:机械工业出版社
第一讲 软件危机与软件工程
本讲主要内容
软件的特点 软件的分类 软件的发展 软件危机 软件神话 软件工程(定义、要素、原理等) 我国软件业的现状
15:08:22
什么是软件?
软件是计算机系统中与硬件相互依存的另部分, 它是包括程序、数据及其相关文档的完整集合
程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发、维护和使用有关的图文材料
15:08:22
软件的特点
软件是一种逻辑实体,而不是具体的物理实体, 因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有 明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械 磨损、老化问题
课程特点与安排
1. 课程特点:
概念性、综合性、实践性强,发展迅速
15:08:22
2. 课程安排(建议):
课堂教学(48学时)— 授课、案例分析、讨论 课程设计(课外为主,需求阶段及总体设计阶段 的答辩式评审共8学时) 课程设计以开发小组为单位进行。
3. 关于考试(建议)
15:08:22
支撑软件
• 协助用户开发软件的工具软件,如支持需求分析、设计、 实现、测试和管理的软件(CASE工具)
应用软件
• 如商业数据处理软件、工程与科学计算软件、CAD/CAM 等
软件的分类
按软件规模进行划分 类别 微型 小型 中型 大型 甚大型 极大型
2013/11/20
15:08:22
甚大型
若干个子项目,每一个子项目都是一个大型软件。子项目 之间具有复杂的接口 如远程通信系统、多任务系统、大型操作系统、大型数据 库管理系统、军事指挥系统通常具有这样的规模 显然,这类问题没有软件工程方法的支持,它的开发工作 是不可想象的
极大型
军事指挥、弹道防御系统
软件的分类
软件危机
15:08:22
该项目负责人F.D.Brooks事后总结了他在组 织开发过程中的沉痛教训时说:
“…正像一只逃亡的野兽落到泥潭中做垂死的挣扎 一样,越是挣扎,陷得就越深,最后无法逃脱灭 顶的灾难。…程序设计工作正像这样一个泥潭, …一批批程序员被迫在泥潭中拼命挣扎,…谁也 没有料到问题会陷入这样的困境…IBM 360操作系 统的历史教训应为软件开发项目的工作人员们所 汲取。”
“Y2K定时炸弹” “无处不在的计算” …
软件危机 引例
15:08:22
美国IBM公司在1963年至1966年开发的IBM360 机的操作系统。 该项目的平均工作量是5000人/年,最多时有 10000人投入开发工作,写出了近100万行源程 序… 据统计,这个操作系统每次发行的新版本都是 从前一版本中找出1000个程序错误而修正的结 果
15:08:22
—— 微软全球资深副总裁 原微软亚洲研究院院长 首席科学家 张亚勤
一、全球软件产业的现状、趋势与挑战 The Challenges and Opportunities of the Global Software Industry.
相关文档
最新文档