时序逻辑程序设计与软件工程-样章试读
_时序逻辑与FSM__00(PDF精品)

ü 一方面因为计算机或数字系统的操作都是有序进 行的,通常不可能信号一到即刻处理
ü 另一方面,可防止输入信号的各个位到达时间不 一致造成竞争与险象
41
基本时序逻辑单元-触发器
l Ref.1/6.1 l 双稳态单元-触发器的基本结构,已介绍 l 锁存器Latches l 触发器Flip-Flops
◆状态 ——系统的基本数学特征 ◆状态机 —— 一个离散数学模型
给定一个输入集合,根据对输入的接收 次序来决定一个输出集合 ◆有限状态机 —— 输入集合和输出集合 都是有限的,且状态数目是有限的
23
有限状态机
l 在计算机科学与工程中,有限状态机是最常使用 的设计模型
l 模型包括 l 状态集合 l 状态转移集合 l 关联于状态的操作集合 l 关联于转移的操作集合 l 同时关联于状态和转移的操作集合
l C L K A 和 C L K B 之 间 时 钟 频 率 不 一 样 , 或 者 虽 然 频 率 相同,但存在相位差 l DA被CLKB这个时钟域认为是异步的输入信号
D
DA D DB
D DFF
DFF
CLKA
CLKB
14
亚稳态Metastability
l 在时钟的上升沿,CLKB采样DA,而此时DA正 在发生变化,则DB的输出是亚稳态的,其值可 能为1,也可能为0,不确定
12
时钟域Clock Domain
l 逻辑单元由不同来源的多个时钟驱动 l 这些时钟称作时钟域
Clock Domain1
Clock Domain2
13
跨时钟域
l 如 果 在 两 个 不 同 的 时 钟 域 之 间 传 递 数 据 , 存 在 跨时钟域(clock domain crossing, CDC)问题
软件工程(张秋余)章 (5)

第5章 软件实现
基于工作过程的教学任务 通过本章的学习,了解如何选择程序设计语言,培养良好
的编码风格,熟悉理解选择良好的程序设计途径的重要性;掌 握软件测试的目标、准则、方法和步骤,掌握单元测试、集成 测试、确认测试的方法步骤;掌握白盒测试和黑盒测试技术的 概念、方法以及方案的设计,能够熟练按照测试的原则和技术, 分析确定高效的测试用例;掌握软件调试的概念和策略,了解 自动测试工具和调试工具。掌握测试即找错、调试即纠错的核 心概念。
5.1.3 良好的编程实践 源代码的逻辑简明清晰、易读易懂是好程序的一个重要标
准。关于编程风格,许多建议都和特定的语言相关。目前主流 开发工具主要以Java和C++为主,因此这里为Java和C++这样的 面向对象语言给出一些与语言无关的良好编程实践建议,这就 需要从程序内部的文档入手建立良好的编程风格。所谓程序内 部的文档,包括恰当的标识符、适当的注释和程序的视觉组织 等。
(3) 可以得到的软件工具。如果某种语言有支持程序开发 的软件工具可以利用,则目标系统的实现和验证变得比较容易。
(4) 工程规模。如果工程规模很庞大,现有的语言又不完 全适用,那么设计并实现一种供这个工程项目专用的程序设计 语言,可能是一个正确的选择。
第5章 软件实现
(5) 程序员的知识。虽然对于有经验的程序员来说,学 习一种新语言并不困难,但是要完全掌握一种新语言却需要实 践。如果和其他标准不矛盾,那么应该选择一种已经为程序员 所熟悉的语言。
第5章 软件实现
5. 语句构造 设计期间确定了软件的逻辑结构,然而个别语句的构造却 是编写程序的一个主要任务。构造语句时应该遵循的原则是, 每个语句都应该简单而直接,不能为了提高效率而使程序变得 过分复杂。下述规则有助于使语句简单明了:
02243计算机软件基础(一)

世界上第一台电子计算机ENIAC
诞生于1942年
18800个晶体 管
70000个电阻 器
18000个电容 器
重量30吨
耗电140千瓦 /h
5000次加法/s
第8页
Pentium IV(2000)
42,000,000个晶体管 时钟频率1.5GHz 运算速度为1700 MIPS (MIPS 代表‘百万指令
第 26 页
软件工程概念
软件工程是指导计算机软件开发和维护的工程学 科,采用工程的概念、原理、技术和方法来开发 与维护软件。
贯穿于这一学科的基本线索是软件生命期学说, 它告诉软件研制者和维护者“什么时候做什么以 及怎么做”。
软件生命期就象人的寿命一样,从出生算到死亡, 从产生开发要求算到软件报废为止。包括:软件 计划、需求分析、软件开发和软件维护四个时期。
汇编语言 为符号化的机器语言。它用助记 符和标识符代替机器指令的操作码和地址码。
高级语言 是一种与具体的计算机指令系统 无关,独立于计算机类型,而且表达方式接 近于自然语言或数学语言,容易被人们掌握 和书写的语言。如C,Pascal,java。
第 17 页
举例
任务:x+1→x 机器语言
00111110 00001001 00111111B 或 3E 09 3FH
3、硬件与软件的关系
软硬件独立原理和互动原理
独立原理:软件理论上能实现的功能本质上与 硬件是独立的(不管硬件是何种形式) 互动原理:软件实际能实现的功能受制于硬件, 硬件发展一个台阶,软件就能前进一大步
软硬件等效定律
简单的硬件+复杂的软件 简单的软件+复杂的硬件 最终都可以完成同一个任务,不同的只是时间!
软件工程-齐志昌-第二版

软件工程阶段
20世纪70年代,随着计算机应用的普及,软件开发的复 杂度越来越高,软件危机开始出现,软件工程的概念和方 法逐渐被提出和应用。
现代软件工程
20世纪80年代以后,随着面向对象编程和软件重用技术 的发展,软件工程进入了一个新的阶段,强调使用工程化 的方法和工具来指导和管理软件开发。
软件工程的三大支柱
02 软件开发生命周期
概念与模型
概念
软件开发生命周期是软件开发从开始 到结束的全过程,包括需求分析、设 计、编码、测试和维护等阶段。
模型
软件开发生命周期模型是描述软件开 发过程的抽象框架,常见的有瀑布模 型、螺旋模型、迭代模型等。
传统开发模型
瀑布模型
按顺序进行需求分析、设计、编码、测试和维护等阶段,阶段间具有严格的顺序性和依 赖性。
面向对象编程
使用面向对象编程语言(如Java、C)进行软件实现,通过封装、 继承和多态等机制实现代码重用和模块化。
面向过程编程
采用结构化程序设计方法,将软件系统分解为一系列过程,通过顺 序、选择和循环等结构实现软件功能。
函数式编程
使用函数式编程语言(如Haskell、Scala)进行软件实现,通过高阶 函数、不可变性等特性提高代码可读性和可维护性。
Jira
一款功能强大的项目管理工具,支持敏捷开发和传统瀑布模型,提供任务管理、缺陷跟 踪和需求管理等功能。
Gantt Chart
甘特图是一种常用的项目进度计划工具,通过条形图展示任务开始和结束时间,直观地 反映任务之间的依赖关系和时间进度。
THANKS FOR WATCHING
感谢您的观看
软件测试技术
单元测试
针对软件中的最小可测试单元(如函数、方法、类等)进行测试, 验证其功能和性能是否符合要求。
SE研第3章1

该阶段的任务不是具体解
第三章 软件开发的结构化方法
决问题,而是准确地确定“为
了解决这个问题,目标系统必
3.1 问题的定义 3.2 可行性研究
须做什么”的问题,主要是确
3.3 结构化分析 3.3.1 结构化设计方法概述
定目标系统必须具备哪些功能。
3.3.2 3.3.3
数据流图 数据字典
3.3.4 处理的逻辑表达方式
根据画数据流图的步骤画出定货系统的数据流图。
(1)从系统的简述中提取数据流图的四个成分;
1) 源点和汇点。仓库管理员视为源点,采购员视 为汇点。 2) 处理。处理通常是系统简述中的动词短语,如 产生定货清单,处理库存业务等。 3)数据流。从系统的源点流出和流入汇点的数据流 即是系统的输入数据流和输出数据流。
系统《需求规格说明书》包括四个部分: ⑴ 一套分层的数据流图; ⑵ 一本数据字典; ⑶ 一组小说明; ⑷ 补充材料,如表达数据分析结果的实体联系 图等。
3.3.2 数据流图
数据流图是描述系统逻辑功能的图形工具,用来 表达系统的逻辑功能。
数据流图中无具体物理元素如 显示终端、磁盘文件、打印输出 等。表明数据在系统内的逻辑流 向和数据的逻辑处理。
定货系统的数据结构表
数据结构名称 程序内部名
数据结构组成
库存数据
part
DE01,DE02,DE03,DE04,DS02
供应商
supplier
DE05,DE06,DE07
编号 E01 E02
外部项名称 管理员 采购员
定货系统的外部项表 输入数据流 —— DF02
输出数据流 DF01 ——
编号 DF01 DF02 ……
需求分析的结果:《需求规格说明书》
软件工程Chapter3

Pfleeger and Atlee, Software Engineering: Theory and Practice
软件工程
第3章的目标
• 跟踪项目进展 • 项目人员和组织 • 工作量和进度估算 • 风险管理 • 项目计划和过程建模
Pfleeger and Atlee, Software Engineering: Theory and Practice
软件工程
3.1跟踪项目进展
项目进度
• 开发过程可以划 分为一系列阶段, 每个阶段由若干 步骤组成,每个 步骤由活动组成
Pfleeger and Atlee, Software Engineering: Theory and Practice
软件工程
3.1跟踪项目进展
项目进度
• Table 3.1 盖房子的阶段、步骤和活动 – landscaping phase – building the housoles
Activity 1.3.3: Plant shrubs and trees Activity 1.3.4: Anchor the trees and mulch around them
Phase 2:
Step 2.1: Prepare the site
Pfleeger and Atlee, Software Engineering: Theory and Practice
软件工程
3.1跟踪项目进展
Work Breakdown and Activity Graphs
• 工作分解结构(Work breakdown structure)把项目 描述为由若干离散部分构成的集合
Pfleeger and Atlee, Software Engineering: Theory and Practice
软件工程推进方法

第二章 软件与软件工程
最初的程序都是机器语言,但
计算机需求量扩大
计算机处理效率和处 理方法的要求提高
汇编 语言
计算机程序用的存储 器的容量扩大
计算机硬件性能提高
高级语言
第二章 软件与软件工程
1954年,产出了FORTRAN(科学计算); 1959年,发表了Cobol(事务处理); 1960年,发布了USP,ALGOL; 1965年,发布了Basic PL/Z; 1970年,发布了Pascal; 1972年,发布了C; 1980年,发布了Ada; 1983年,发布了C#; 1993年,发布了Java.
第二章 软件与软件工程
软件的概念
即:软件是计算机系统中与硬件(Hardware) 相互依存的另一部分,它包括程序 (Program)、相关数据(Data)及说明文 档(Document)。其中, 程序是按照事先设计的功能和性能要求 执行的指令序列; 数据是程序能正常操纵信息的数据构; 文档是与程序开发维护和使用相关的各 种图文资料。
软件工程
软件工程的概念
包括两方面内容:软件开发技术和软 件项目管理。 软件开发技术:包括软件开发方 法学、软件工具和软件工程环境。 软件开发项目管理:包括软件度 量、项目预算、进度控制、人员组 织、配置管理、项目计划等。
第二章 软件与软件工程
软件工程
软件工程的概念
软件工程的三个要素是:
使 用 者
此阶段的软件同于第4第 5阶段的个别应用软件
个别应用软件 个别应用软件 共通应用软件
软件 硬件
第1阶段
软件
存储器 (ROM)
应用软件
基本软件
存储器(ROM)
共通应用软件 基本软件
数字电子技术第五章 时序逻辑电路ppt课件

2. 集成同步二进制计数器
常用的集成同步二进制加计数器有74LS161、 74LS163等。74LS161的实物图、引脚排列和逻辑 符号如图5.4所示。
ቤተ መጻሕፍቲ ባይዱ
(a) 实物图
(b) 引脚排列
(c) 逻辑符号
图5.4 集成同步二进制计数器74LS161
74、L1S01脚61C的T1T6是个计引数脚器中的:工1脚作状为态异控步制清端C R零;端,9脚 是置数控制端,L D7脚CTP
(a) 实物图
(b〕引脚排列
(c) 逻辑符号
图5.7 集成同步十进制可逆计数器74LS192
74LS192的功能表如表5.7所示。
表5.7
74LS192的功能表
输入
输出
CR L D
C PU C PD D 3 D 2
D1 D 0
Q3
Q2
Q1
Q0
1 ××××××× 0 0 0 0
0
0
××
d3
d2
d1
d0
1
出
说明
清零 置9 二进制计数
五进制计数
8421码十进制 计数
5421码十进制 计数
由表5.6可知,74LS90具有如下功能。
① 2脚R0A、3脚R0B接高电平“1〞时,计数器被清零,高电 平电压最小值为2V。正常使用时,两个引脚中至少有1个 应接低电平“0”,低电平电压最大值为0.8V。
② 6脚S9A、7脚S9B接高电平“1〞时,计数器置数为9。正常 计数时,两个引脚中至少有1个应接低电平“0”。
d3
d2
d1
d0
0 1 1 1 ××××
保持
0 1 ↑ 1 ××××
加计数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时序逻辑程序设计与软件工程下册(软件工程方法与工具)唐稚松等 著2002内 容 简 介本书旨在介绍一种面向软件工程的时序逻辑语言(XYZ 桙E )及以该语言为基础的支撑软件开发全过程的软件工程系统(XYZ 系统),目标是希望能为一般工业界用户服务,以提高软件开发的自动化水平及所开发软件的可靠性与可维护性。
全书共分上、下两册。
上册介绍时序逻辑语言XYZ 桙E ,内容包括XYZ 系统研制的技术和哲学背景,XYZ 桙E 的逻辑基础,XYZ 桙E 的基本特征和基本成分,XYZ 桙E 的控制结构,XYZ 桙E 中所表示的各种机制,XYZ 桙E 的实现,基于XYZ 桙E 的实时程序设计与混成系统表示,以及在XYZ 桙E 框架内的程序规范与Hoare 逻辑验证等。
下册介绍软件工程方法与工具,内容包括面向模块程序设计的可视化图形工具,基于形式规范的逐步求精过程、速成原型与模型检验方法,可视化体系结构描述语言与工具及其在软件开发过程中的应用,最后还介绍了语言转换工具及其在软件再造工程和某些专用领域的应用,实时及混成系统的验证等。
本书适于软件工程研究人员及教学人员阅读,也可供实际软件工作者参考。
图书在版编目(CIP )数据 时序逻辑程序设计与软件工程(下册):软件工程方法与工具桙唐稚松等著.—北京:科学出版社,2002 ISBN 7桘03桘009928桘1 Ⅰ畅时… Ⅱ畅唐… Ⅲ畅①逻辑程序程序设计②软件工程 Ⅳ畅TP 311 中国版本图书馆CIP 数据核字(2001)第084808号科学出版社发行 各地新华书店经销倡2002年5月第 一 版 开本:787×1092 1桙162002年5月第一次印刷 印张:16印数:1—3000 字数:364000定价:28畅00元(如有印装质量问题,我社负责调换枙环伟枛) 出版北京东黄城根北街16号邮政编码:100717h t tp ://w w w .sciencep .co m印刷序XYZ系统是一种以时序逻辑语言XYZ桙E为基础的软件工程工具系统,该系统的研制计划自20世纪80年代初开始实施,在国家多种科研经费的支持下,共历3个五年计划的不断工作与改进,终于在1995年夏在中国科学院软件研究所实现。
从1996年起,我们一方面开展在实时过程控制、动画片等领域的一些应用研究,一方面又从理论与技术结合方面对这一系统进行改进并提出一种新的方法与工具,且将其应用于实际。
为便于今后开展有关XYZ系统的推广与应用,也为了我国在计算机科学与软件工程等领域培养高层次的研究及开发应用人才的需要,我们编写了本书。
它可以说是我本人以及我所领导的研究小组近20年来的研究工作的总结。
在本书中,我们力求明确地说明在软件工程及形式化方法等方面有哪些是应该解决的方向性的、根本性的理论与技术问题,以及我们在XYZ系统中是如何解决这些问题的,我们所走的道路与解决问题的方法与当前国外主流方向的分歧所在及各自的得失如何,以期得到读者的理解,从而做出合适的判断。
我之所以认为这样做是必要的,不仅是为了使我们的工作能得到读者的认可与支持,更重要的是希望能提醒我国青年同行:虽然在软件领域中,不论理论或技术方面,我国总地讲还比较落后,还应该向先进工业国的同行学习,但请注意,千万不要盲目追赶新潮,要以分析批判的态度对待他们的工作,这些工作不但可能有待改进,而且在某种条件下,甚至在重大的方向性问题上还长期走在值得怀疑的道路上。
在这种情况出现时,不但可能旁观者清,而且因为我们所处的文化背景不同,思维方式有异,可能我们比他们更易发现问题并认清道路。
古人所谓智者千虑必有一失,其信然乎!日本是以学习西方科学技术而闻名的,软件技术更是力追美国。
可是近年来,日本也有人对此提出疑问。
例如,以向日本产业界介绍外界高新科技最新情况著称的经济新闻社与日经产业消费研究所合办的枟日經高科技情報枠(日經ハイテリ情報)在1993年第200期发表了一期名为“东方的智慧”专号,由该所研究员岛井弘之等写了一篇总论,其中有一段话说明办此专号的目的:“现代科学技术是否已陷入某种滞塞状态?期待甚高的高温超导和常温核裂变研究虽仍在继续下去,而其现有技术已迈进成熟阶段,但是它缺乏发展革新的苗头。
这种停滞的原因也许包括西方理性主义(rationalism)对待事物的看法和行动原理,至少可以说是根本原因之一。
当今是重新考虑现代科学基础的思想方法的好时机。
目前世界上存在着许多与西方不同的文化思想区域,自然其中会隐藏着打开该局面的思想。
比如,自古代文明发达以来,中国人发明了印刷术、指南针、火药等丰富而实用的技术,其智慧最能够作为参考对象。
”由此可见,日本人已开始注意到这个问题,我们岂可妄自菲薄?我认为,这不失为值得探索的达到知识创新目标的道路之一。
当然这件事不能流于空谈,捕风捉影,只有在具体科学技术研究中做出由于具有我国文化特征的思想指导而确见实效的工作才有真正的意义。
因此,我希望,我的上述看法不要被误解为鼓励人们丢掉踏实的研究作风而去做没有科学根据的比附与胡思乱想。
回顾近20年来XYZ系统的研制过程,深感在科研工作中走与世界主流方向不一致 ·i· 的道路是多么艰难。
XYZ 系统提出之初,虽得到美欧软件工程方面几位著名专家[如ISSI (国际软件系统公司)的叶祖尧①、CMU 的N .Habermann 及Trondheim 的A .Solvberg 等教授]的赞赏与支持[唐16,XYZ ],但由于这些工作在思想倾向上与西方理论研究的主流方向相背离,自然不易很快得到西方理论界的理解与赞许,因此他们虽然对于XYZ 系统因其独特思路而乐意邀请我去介绍,但对其意义与价值却长期不作评述,实际上即表示怀疑。
直至1988年才有两位英国著名理论家H .R .Barringer 和D .Gabbay 在一篇总结性文章中指出:“将时序逻辑应用于软件工程的主要步骤即找到可执行时序逻辑”[BG ],并承认1983年我发表的介绍XYZ 桙E 的论文[T 1]是这方面最早的“先驱”。
但这一评价也不过是“一叶知秋”而已。
真正表示国际理论界对XYZ 系统态度的变化是在20世纪90年代才发生的。
1994年,时序逻辑的创立者、1996年图灵奖得主、以色列著名理论家A .Pnueli 教授第一次访问我国。
他在仔细参观了XYZ 系统的演示后对我说:“说实话,我过去一直认为你的野心太大,不可能成功,而这次看了XYZ 系统的演示后,我发现你已经成功了。
”在他与他的长期合作者斯坦福大学的Z .Manna 教授的提议下,于1995年在北京召开了“逻辑与软件工程”国际研讨会。
在他们向会议提交的论文前面有一段对XYZ 桙E 的评语:“唐稚松教授……将时序逻辑的概念处理得超乎任何人的想象,并将之应用在许多方面,在他之前,没有人认为这是可能的。
”[MP 8]接着,在他作为这次国际研讨会论文集的主编所写的序言中,更清楚地说明了他对以时序逻辑为基础的XYZ 系统的认识的变化过程。
他说:“我仍然记得,当我首次听唐教授谈到以时序逻辑作为软件开发全过程……的统一基础时所感到的惊讶。
随着时间的流逝,这一梦幻般的系统,由软件研究所一个致力于此的小组所实现并加以扩充,这系统……随之逐步成形。
我的这种惊讶也渐渐转变成为钦慕。
”接着,他说明以时序逻辑这种协调的形式语义理论作为软件开发全过程基础的重要意义。
最后,他说:“我盼望由唐教授所构想并发展的XYZ 系统作为先驱所倡导的这一途径今后能引起软件工程系统的研究人员以及构造人员的巨大兴趣。
”[PL ]事实上,Pnueli 教授所说明的他对XYZ 系统看法的变化,正是近年来国际形式化理论界在形势迫使下已开始出现改变其原来思路的动向的一种反映。
比如国际代数语义权威SRI (斯坦福研究所)的Mesequer 教授将状态转换机制引入代数语义就是这方面又一有意义的迹象。
(他曾来函索取XYZ 的资料,并说瑞士苏黎士ETH 的Engeler 教授向他推荐我们的工作。
1998年2月在Dagstuhl 召开的会议上,我们初次相遇,又提起Engeler 教授向他推荐我们的工作;此外在这次会上,我还第一次遇到另一位代数语义的权威学者Wirsing 教授,他也提到Ehrich 教授向他推荐我们的工作。
)我认为,XYZ 系统之所以过去长时间难以为西方理论家所理解,从根本上说是由于我们采用了一些我国传统哲学思想方法与西方流行的逻辑分析方法相结合的思路。
这样的思路强调理论与技术紧密结合而不偏向一个极端,与西方片面重视形式化数学理论的理性主义思想差距甚大,但与国外(包括美、日、欧)一些对理论与技术不怀偏见,而较重视能实际提高软件生产率的软件工程专家(如叶祖尧、Solvberg 及日本软件工程学会主 ·ii · ①叶祖尧对XYZ 的评语:“我心中绝对相信唐的XYZ 语言将是一次重大突破的基础。
……他的工作非常有创造性,而且有使软件生产率取得重大提高的实际应用前景。
”Solvberg 的评语:“XYZ 语言为我们提供了一种关于信息系统……软件功能描述的令人着迷的思维方式。
……我看到,如果我们将唐教授的XYZ 系统组织到我们的方法论基础中去,将有巨大的潜力推进软件设计与构造的……学科技术水平。
”席岸田孝一等)的思路较为接近。
这就说明,为什么在开始阶段XYZ 系统从理论界与软件工程界这两方面所得到的反应是如此的不同!特别应该一提的是日本友人岸田孝一先生,他不但对西方软件技术十分了解,而且对中国传统文化有很深的素养,因此他对XYZ 系统的哲学背景的兴趣也显得特别浓厚。
他不但多次邀请我到日本作为软件学术会议的特邀主题报告人讲XYZ 系统的哲学背景,而且亲自在枟朝日新闻枠上写专文介绍XYZ 系统(1995年12月4日)。
文中说:“唐教授的成就之一就是花了近15年的时间成功地开发了称为XYZ 的软件系统。
尽管系统所采用的最基础的数学理论来源于西方,但构造此系统的基本思想却来自孔子的中庸哲学和佛教的禅宗认识论哲学。
这也许可以说是东方文明对于新的21世纪计算机技术发展的一大贡献吧。
”[岸田]这一情况当然不易为西方多数理论家所理解,而瑞士苏黎世ETH 的Engeler 教授及德国Braunschweig 的Ehrich 教授等少数理论家算是例外。
在XYZ 系统设计中,我之所以强调哲学思想指导,并不是出于为哲学而哲学的学院式兴趣,而是由于20世纪80年代初对国际软件理论与技术的发展潮流及其思想背景感到怀疑与忧虑所致。
事实上,国际计算机科学家中有类似怀疑和忧虑的人并非少见,如斯坦福大学的D .Knuth 教授就是较著名的一位①。
下面让我们回顾一下计算机科学技术的发展历史。