嵌入式软件设计
作者 : 康一梅 等
出版日期 : 2007-06-30
ISBN : 7-111-21499-1
定价 : 33.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 324
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

由于嵌入式系统与应用密切相关,大多数嵌入式软件设计人员更多地关注应用域知识,而缺乏系统的软件设计知识。本书是目前市面上难得的全面、系统地介绍嵌入式软件分析设计的书籍。
  与常见的嵌入式系统设计的书籍重点讲授硬件及硬件设计不同,本书重点讨论复杂嵌入式系统的软件分析设计问题。

  本书特点
  
  ● 强调在系统分析设计中用系统思想考虑问题。

  ● 全面介绍嵌入式软件设计可能遇到的各种问题及解决方法,如BSP、可靠性、资源管理、数据库设计、界面设计、开发环境选择等。

  ● 将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中,如软件体系结构、设计模式等。

  ● 培样读者以一种全面思考问题,尽可能利用各个学科已有的设计思想解决问题的思维方式进行工作。

图书特色

图书前言

嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域,如手机、PDA、MP3、手持设备、智能电话、机顶盒等,可以说嵌入式系统无处不在。
  市场对嵌入式系统的需求在飞速增长,企业在努力使开发嵌入式系统的速度跟上市场与竞争的需要。但是,与此同时,嵌入式系统开发的基础理论与方法的研究却严重滞后,这与嵌入式系统的特点有关。嵌入式系统与其他系统的差别主要体现在以下方面:
  跨学科性:嵌入式系统融合了微电子、计算机硬件、通信、电子工程、软件工程与系统工程等多种技术。
  非功能性需求要求更高:如近乎最优的运行效率、强实时性、稳定性、更高的可靠性与安全性、并发性、移动性等要求。
 资源约束:如有限的CPU、内存、电源、显示窗口、按钮或键盘等。
 面向应用:无论是软硬件的设计,还是系统的规模、开发过程等都与应用领域密切相关。
  相应地,嵌入式系统设计开发的方法、技术、过程以及工具也都与通用计算机系统的开发设计不同。但由于其面向应用、跨学科等特点,相关研究成果也分散在各个学科中,没有系统、完整的集成跨学科成果的理论与方法来指导嵌入式系统的开发。
  由于市场对嵌入式系统开发人员的大量需求,自2006年以来,许多学校期望设置嵌入式专业,现在都处于探索阶段,主要存在以下问题:
  (1)课程体系不健全。如果课程设置只是将现有不同专业的相关课程拼凑在一起,那么是不可能成为体系的。
  (2)没有教材。教材是支撑课程体系的基础,作为一个专业须有系统的教材,这些教材应将分散在各个学科的一些研究成果、理论与技术进行梳理整合。
  目前对嵌入式软件开发人员的需求远远大于硬件系统开发人员的需求,这是因为嵌入式系统的功能越来越复杂,嵌入式软件是实现嵌入式系统功能的关键,是嵌入式系统设计创新和增值的关键因素。2005年,北航软件学院成立了嵌入式软件专业,主要是培养嵌入式软件工程硕士,为嵌入式软件产业输送软件开发人员。由于嵌入式系统开发人员必须有一定的硬件基础,所以嵌入式软件工程硕士要求学生本科是电子工程、通信、自动控制、仪器仪表和机电一体化等专业。经过两届嵌入式软件工程硕士的培养,我们总结出一套针对嵌入式软件人才的培养方案,并在教学实践中逐渐完成这套教材的编写。
  下面分别简单介绍其中几本主要教材。
  《嵌入式系统概论》是一本最基本的关于嵌入式系统开发的教材,这本书结合32位嵌入式微处理器和实时操作系统,介绍了嵌入式系统设计的基本原理与方法。主要内容包括实时系统基本原理、嵌入式系统的设计方法与开发工具、嵌入式微处理器体系结构、嵌入式操作系统基本原理、嵌入式系统软件编程和嵌入式系统应用等知识,每一部分都有相应的实验环节相配合,着重培养学生的实际动手能力,充分体现了嵌入式系统设计“软硬结合,面向应用”的特点。
  《嵌入式软件设计》首先从系统的角度出发,介绍在系统分析设计中的系统思想,以及嵌入式系统的软硬件协同设计方法。然后,针对嵌入式软件开发,按照软件开发过程,介绍嵌入式软件需求分析、系统设计和详细设计。书中全面介绍了嵌入式软件设计可能涉及的各种问题及解决方法,如BSP、可靠性、资源管理、界面等的设计与开发环境选择等。本书力图结合嵌入式系统的特点,将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中。由于嵌入式软件设计方面现有的研究成果较少,大多还不是很深入,本书主要是希望向读者传授一种能够全面考虑问题,尽可能利用各个学科已有的设计思想解决问题的思维方式。
  《嵌入式软件测试》主要从嵌入式软件测试方法、测试管理和测试工具三个方面介绍嵌入式软件测试。嵌入式软件测试与通用软件测试有相通之处,也有很大差异。嵌入式系统测试与系统软硬件平台关系密切,测试环境的搭建、测试方法都有其特殊要求。本书将主要介绍软件测试的基本理论,嵌入式软件测试方法,嵌入式软件测试环境,嵌入式软件测试过程管理,嵌入式软件测试工具等。
  《移动通信技术与嵌入式应用》以信息论为基础,以移动通信系统的3个主要问题——有效性、可靠性和安全性为主线,紧密结合移动通信的特点,系统介绍移动通信基本理论和定性分析结论,目前第二代(2G)和第三代(3G)移动通信技术体制和网络的结构与组成,移动通信系统的开发方式,以及移动通信系统网络各部分与用户终端处嵌入式软件的特点与应用。本书内容主要包括多址技术与扩频通信,无线信道与调制理论,信源编码与信道编码,第三代(3G)移动通信技术体制,移动网络的结构与组成,移动通信(GSM,CDMA2000与WCDMA等)系统通信协议,移动通信系统的解决方案与开发。
  这套教材不仅仅面向软件工程硕士,还可作为本科相关专业的教材,以及有志于从事嵌入式软件开发、维护的专业技术人员的参考书。
  这套教材的主要作者都是多年从事相关领域研究、开发的专业技术人员,但是由于嵌入式系统的开发涉及跨学科的知识与技术,将嵌入式系统作为独立学科进行的研究还很少,又受到时间和精力的限制,这套书在深度与广度方面有一定局限性,不当及谬误之处,恳请读者批评指正,帮助我们改进、完善这套书。
  下表是北航软件学院嵌入式软件专业的主要课程,这些课程可以作为硕士阶段或本科三四年级学习嵌入式软件开发的课程参考。

  嵌入式专业课程嵌入式系统概论
 嵌入式操作系统
 嵌入式软件设计
 嵌入式软件测试
 DSP嵌入式软件开发技术
 嵌入式应用算法基础
 移动通信技术与嵌入式应用
 嵌入式数据库
 Windows CE与嵌入式软件开发
 VxWorks与嵌入式软件开发(续)嵌入式专业课程基于J2ME架构的嵌入式软件开发
 可编程器件应用
 工业数据通信与控制网络工程与管理软件工程
 项目管理
 软件开发过程实践课程设计
 C/C++程序设计实训
 团队项目设计
  康一梅
  2007年5月于北京

  前言
  生物的发展过程是由单细胞生物到多细胞生物,一直到智能生物,嵌入式系统的发展就像生物的发展一样,从简单的4位、8位控制芯片到32位处理器,从单机系统到分布式系统等。在这个过程中,嵌入式软件的结构越来越复杂,但在复杂系统不断发展的同时,简单系统仍然不可缺少。
  近十年来,中国软件产业的发展非常迅速,但是我们设计复杂大系统的能力仍然很弱。嵌入式软件的设计难度更大,这是因为嵌入式系统设计涉及微电子、计算机硬件、通信和电子工程等多种技术,嵌入式软件设计直接与底层硬件相关,而且嵌入式系统在资源有限的约束条件下,对系统性能有更高的要求。此外,由于嵌入式系统与应用紧密结合,以往的研究更多针对应用域的研究,如航空、航天、工业控制、医疗等。因此,嵌入式系统作为其辅助系统,很少有人将其作为专门的研究对象,深入研究其设计开发的基础理论与方法等。
  随着嵌入式系统在各个应用领域的重要性不断增加,嵌入式系统的规模越来越大,嵌入式软件在嵌入式系统中所占比例也越来越大。目前,嵌入式软件已成为实现嵌入式系统功能的关键,嵌入式软件的设计也成为系统开发成功的关键因素。
  本书重点讨论复杂嵌入式系统的软件分析设计问题。全书共15章,第1章首先介绍与嵌入式软件设计相关的嵌入式系统的软硬件基础知识,包括处理器、操作系统等。第2章介绍系统论与系统工程的基本概念,希望读者能够在系统分析设计中建立系统的思维方式。第3章介绍嵌入式系统的软硬件协同设计方法,这是系统设计思想的一种具体体现。然后,针对嵌入式软件开发,按照软件开发过程,介绍嵌入式软件需求分析、架构设计和详细设计。在第4章中,介绍了需求工程的三个活动:问题定义、需求定义和需求分析,在需求分析中分别介绍了结构化的分析方法——数据流图分析DFD和面向对象的分析方法。第5章全面介绍了针对复杂嵌入式软件进行架构设计应考虑的各个问题。第6章专门介绍针对实时软件设计的DARTS方法。第7章到第12章全面介绍了嵌入式软件设计可能涉及的各种问题及解决方法,如BSP、可靠性、资源管理、数据库设计、界面设计、软件设计模式等。第13章详细介绍了分布式嵌入式系统设计需要考虑的网络架构及数据传输等问题。第14章介绍嵌入式软件开发环境。在第15章中,希望读者建立采用分层体系结构设计开发嵌入式软件的概念,为了使读者真实体会这种设计开发方法,介绍了嵌入式无线应用开发平台BREW。
  本书力图结合嵌入式系统的特点,将软件工程领域成熟的分析设计方法引入嵌入式软件的分析设计中,如软件体系结构、设计模式等。由于嵌入式软件设计方面现有的研究成果较少,大多还不是很深入,本书主要希望向读者传授一种能够全面考虑问题,尽可能利用各个学科已有的设计思想解决问题的思维方式。
  本书可作为与嵌入式软件开发相关的硕士研究生与高年级本科生的教材。同时,本书还可作为有志于从事嵌入式软件开发、维护的专业技术人员的参考书。
  在本书的编写过程中,刘景伟、吕雪飞、向民华、陈畅、姜波和李志军同学在资料检索、实验与示例方面做了大量工作,在此谨表示诚挚的感谢。
  由于作者才疏学浅,又受到时间和精力的限制,本书在深度与广度方面有一定的局限性,不当及谬误之处,恳请读者批评指正,以帮助作者改进并完善本书。

  康一梅
  2007年5月于北京

封底文字

由于嵌入式系统与应用密切相关,大多数嵌入式软件设计人员更多地关注应用域知识,而缺乏系统的软件设计知识。本书是目前市面上难得的全面、系统地介绍嵌入式软件分析设计的书籍。
  与常见的嵌入式系统设计的书籍重点讲授硬件及硬件设计不同,本书重点讨论复杂嵌入式系统的软件分析设计问题。

  本书特点
  ● 强调在系统分析设计中用系统思想考虑问题。

  ● 全面介绍嵌入式软件设计可能遇到的各种问题及解决方法,如BSP、可靠性、资源管理、数据库设计、界面设计、开发环境选择等。

  ● 将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中,如软件体系结构、设计模式等。

  ● 培样读者以一种全面思考问题,尽可能利用各个学科已有的设计思想解决问题的思维方式进行工作。

图书序言

二十世纪,以量子物理、信息科学、计算数学、控制科学等为基础的信息技术的迅速发展,对全世界的政治、经济、军事、科研、教育等领域都产生了巨大和深远的影响。其中,离散数字式计算、控制装置和各种通用工具性计算机商品是其杰出代表。随着技术的不断进步,应用领域的日益广泛,以及实际需求的不断扩大,以体积小、功耗低、可按需定制等特点为主的嵌入式系统被应用到越来越多的领域。从数控机床到航空航天,从汽车电子到智能家电,随处可见嵌入式系统的身影,嵌入式系统正在不断起到名符其实的嵌入作用。
  在信息科学技术领域,我国和发达国家相比还存在着一定的差距,而嵌入式产品和技术的广泛应用,为我们提供了一个“嵌入”发展的机会。从嵌入式技术的发展趋势来看,32位、64位微处理器的出现、嵌入式操作系统的广泛应用、硬件技术的不断进步……极大地推动着嵌入式系统朝着运行速度更快、功能更强大、开发方式更便利快捷等方向不断发展。同时,我国庞大的消费人群也为嵌入式技术的应用提供了广阔的市场空间;汽车、通信、智能家电等领域竞争的不断加剧,极大地激发了嵌入式技术的研发和创新能力;而传统产业的转型和提升也对嵌入式领域提出了更高的要求。因此,我国嵌入式系统的发展应着眼于科学技术并应用多层次并进的方针。
  一切事业的发展除了其推动的必然因素和机遇外,人才因素是重要的基础条件,对高等学校而言,培养人才更是其本质工作,因此嵌入式领域人才的培养尤为重要和紧迫。作为肩负人才培养重任的国内各高等院校已经充分的认识到,在完善已有课程体系及授课内容的同时,还要时刻关注科学技术和相关产业的发展趋势,充分利用优秀的教学资源,力争培养出更多中华复兴所需要的优秀人才。正是在这种思想的指导下,北京航空航天大学软件学院结合实际教学及产业发展趋势,在总结已有教学经验及科研成果的基础上,邀请了国内众多嵌入式领域的专家,共同编写了此套嵌入式系统系列教材。本套教材的推出,在嵌入式技术普及和推广、相关人才培养及教学、科研体系建立等方面进行了有益的探索和尝试,同时也必将对国内嵌入式产业的发展起到积极的推动作用。

  信息与通信系统专家
  中国科学院院士
  中国工程院院士

作者简介

康一梅 等:康一梅: 康一梅博士 目前是北京航空航天大学软件学院嵌入式软件专业主任。1994年她于中国科学院自动化研究所获得工学博士学位,曾任北京首创前锋信息科技有限公司技术总监、北京成康科技发展有限公司总经理、亚讯数码电子有限公司研发部经理、北京金益康新技术有限公司技术总监兼研发中心总经理等职,负责设计开发过二十多个产品,还参与了多个大中型软件项目的研发,拥有两项软件知识产权。

图书目录

丛书序
丛书前言
前言
第1章嵌入式系统基础知识1
1.1嵌入式系统概述1
1.1.1嵌入式系统的组成2
1.1.2嵌入式系统的特点4
1.1.3嵌入式系统的分类5
1.1.4学习嵌入式系统应具备哪些
基础知识6
1.2嵌入式系统硬件基础知识6
1.2.1输入/输出端口6
1.2.2时钟振荡电路和时钟单元7
1.2.3存储器7
1.2.4中断控制器8
1.2.5嵌入式微处理器8
1.2.6总线12
1.3嵌入式系统软件基础知识15
1.3.1嵌入式软件的分类15
1.3.2嵌入式操作系统17
1.3.3嵌入式软件的开发22
第2章系统基础知识25
2.1系统思想25
2.1.1系统的定义及组成26
2.1.2系统分析中重要的系统概念27
2.1.3系统工程思想27
2.2系统生存周期28
2.2.1系统分析30
2.2.2系统设计31
2.2.3系统评价32
2.3工程系统建模33
第3章嵌入式系统软硬件协同设计34
3.1软硬件分开设计34
3.1.1先硬件后软件设计34
3.1.2先软件后硬件设计36
3.2软硬件协同设计36
3.2.1软硬件协同设计模型37
3.2.2协同设计的系统分析与
系统设计38
3.2.3软硬件任务划分与软硬件
接口40
3.2.4仿真验证45
3.2.5集成调试与综合实现46
3.3开发平台选择47
3.4嵌入式系统设计应注意的问题49
第4章嵌入式系统软件需求分析51
4.1需求概述51
4.2UML简介52
4.2.1常见的模型元素52
4.2.2图53
4.2.3视图58
4.3嵌入式系统问题定义58
4.4嵌入式系统需求定义61
4.4.1需求定义的概念61
4.4.2与客户协商的需求定义方法:
联合应用设计62
4.4.3嵌入式系统需求定义常见的
问题63
4.4.4面向对象需求定义64
4.5需求分析72
4.5.1需求分析技术发展72
4.5.2结构化需求分析:数据流分析73
4.5.3面向对象需求分析78
4.6需求规格说明书87
第5章嵌入式软件架构设计89
5.1确定系统设计目标90
5.2将系统分解为子系统93
5.2.1系统分解93
5.2.2软件体系结构95
5.3并发104
5.4开发环境和已有组件的选择105
5.4.1开发环境选择105
5.4.2组件设计106
5.5子系统到软硬件的映射109
5.6持续数据管理基础设施的选择111
5.7完整性控制策略的选择111
5.8全局控制流机制的选择111
5.9边界条件的处理112
5.10人机界面设计112
5.11应对预期变化的设计114
5.12架构设计中应注意的问题114
第6章实时软件分析设计方法
DARTS115
6.1实时软件分析设计概述116
6.1.1实时系统的性能要求116
6.1.2实时系统的设计要素117
6.1.3嵌入式实时软件系统的
生存周期118
6.2需求分析与说明119
6.2.1人员进出房间系统实例介绍119
6.2.2人员进出房间系统实例需求
分析与说明119
6.3DARTS系统设计120
6.3.1数据流分析121
6.3.2划分任务121
6.3.3定义任务接口123
6.3.4人员进出房间系统实例
系统设计124
6.4任务设计129
6.4.1任务设计概念129
6.4.2人员进出房间系统实例
任务设计129
6.5模块构筑134
6.5.1模块设计134
6.5.2人员进出房间系统实例
模块设计134
6.6任务与系统集成135
6.7CODARTS实时软件分析设计方法136
第7章板级支持包技术138
7.1BSP技术概述138
7.1.1什么是BSP138
7.1.2BSP的作用与功能139
7.1.3常见的BSP实现方式和
开发方法140
7.1.4主流嵌入式操作系统及其
BSP技术141
7.2嵌入式系统的硬件初始化技术144
7.2.1嵌入式系统的硬件初始化144
7.2.2BSP与PC机中BIOS硬件
初始化的比较145
7.3嵌入式系统的引导技术146
7.3.1Boot Loader简介146
7.3.2嵌入式Linux的Boot Loader
设计思想147
7.4嵌入式系统的设备驱动程序149
7.4.1驱动程序的重要性149
7.4.2机制与策略的问题150
7.4.3设备驱动的分层管理150
7.4.4设备类型和设备号151
7.4.5模块化编程152
7.4.6设备文件接口152
7.4.7字符驱动程序编写实例153
第8章嵌入式软件图形用户界面设计158
8.1人机交互界面设计概述158
8.1.1人机交互技术158
8.1.2用户界面设计原则159
8.1.3界面设计活动160
8.1.4界面评价160
8.2图形用户界面概述160
8.2.1图形用户界面的基本特征161
8.2.2图形用户界面的结构模型161
8.2.3图形用户界面实现162
8.3图形用户界面与嵌入式系统163
8.3.1嵌入式图形用户界面的特点163
8.3.2嵌入式系统的图形界面
开发方案163
8.3.3嵌入式GUI的体系结构层次164
8.3.4嵌入式GUI主要技术分析166
8.3.5几种嵌入式GUI简介169
8.4MiniGUI的安装和使用170
8.4.1MiniGUI的组成170
8.4.2MiniGUI使用环境的建立171
8.4.3MiniGUI程序的编写172
第9章嵌入式数据库175
9.1概述175
9.1.1嵌入式数据库的特点175
9.1.2嵌入式数据库的体系结构176
9.1.3嵌入式数据库系统发展现状178
9.2嵌入式数据库的分类178
9.2.1基于内存方式178
9.2.2基于文件方式179
9.2.3基于网络的嵌入式数据库179
9.3嵌入式数据库系统设计技术指标180
9.3.1嵌入式数据库设计的
数据模型180
9.3.2实时性182
9.3.3可靠性183
9.3.4并发控制183
9.3.5数据索引183
9.3.6查询优化184
9.3.7备份与恢复185
9.4嵌入式数据库管理系统设计185
9.5嵌入式数据库应用设计187
9.6几种嵌入式数据库189
9.6.1非开源嵌入式数据库189
9.6.2开源嵌入式数据库Berkeley DB
与SQLite189
9.6.3SQLite开发环境移植与
应用示例191
第10章设计模式195
10.1设计模式概述196
10.1.1什么是设计模式196
10.1.2设计模式的基本要素197
10.1.3如何描述设计模式198
10.2设计模式举例198
10.3中断设计模式200
10.4设计模式的应用204
第11章嵌入式软件可靠性设计207
11.1概述207
11.2可靠性涉及的性能指标208
11.3嵌入式系统可靠性设计方法209
11.3.1嵌入式系统硬件可靠性设计210
11.3.2常用元器件的可靠性分析211
11.3.3提高嵌入式系统可靠性的
具体措施212
11.4嵌入式软件的可靠性设计213
11.4.1软件可靠性与硬件可靠性的
区别214
11.4.2影响软件可靠性的因素214
11.4.3提高软件可靠性的方法
和技术215
11.4.4软件产品可靠性的评估217
11.4.5嵌入式软件的可靠性设计219
11.5可靠性的管理221
第12章资源管理222
12.1功耗222
12.1.1功耗简介222
12.1.2基于硬件的低功耗设计224
12.1.3基于软件的低功耗设计226
12.1.4嵌入式低功耗的软硬件
协同设计230
12.2电源230
12.2.1电源基础知识230
12.2.2电源管理技术231
12.2.3常用节电方法234
12.3内存管理235
12.3.1概述235
12.3.2基本内存管理方案238
12.3.3常见实时系统内存管理模式239
12.3.4内存泄露245
12.3.5内存保护246
第13章嵌入式系统与分布式应用247
13.1什么是嵌入式分布式系统247
13.1.1分布式系统的定义247
13.1.2分布式系统与单处理器系统的
比较248
13.1.3分布式嵌入式系统相关技术248
13.2分布式嵌入式系统体系结构249
13.2.1企业网络系统的层次结构249
13.2.2移动网络的层次结构251
13.2.3分布式嵌入式系统结构251
13.3嵌入式系统的广域网络接入261
13.3.1嵌入式系统的局域网与
网络互连261
13.3.2嵌入式系统的无线局域网263
13.3.3嵌入式系统的广域网接入266
13.3.4无线传感器网络技术270
第14章嵌入式软件开发环境277
14.1嵌入式软件开发环境概述277
14.2嵌入式调试方法概述279
14.2.1驻留监控软件279
14.2.2基于JTAG方式的调试代理280
14.2.3指令集模拟器280
14.2.4在线仿真器281
14.2.5ARM中基于JTAG的
调试系统281
14.3Linux嵌入式系统开发环境282
14.3.1嵌入式Linux概述282
14.3.2嵌入式Linux开发环境架构283
14.3.3Linux开发工具286
14.3.4实例:建立嵌入式Linux-Arm
开发环境292
14.3.5实例:实现“hello world”
程序293
14.4Windows CE应用开发环境295
14.4.1Windows CE内核定制工具
Platform Builder296
14.4.2Visual Studio .NET简介297
14.4.3Embedded Visual C++简介297
第15章嵌入式无线应用开发平台
BREW301
15.1应用开发平台301
15.2BREW平台概述302
15.3BREW体系架构302
15.3.1BREW编程环境303
15.3.2BREW应用运行环境303
15.3.3BREW的分发环境304
15.4BREW开发环境305
15.4.1搭建BREW开发环境305
15.4.2BREW SDK306
15.4.3常用的BREW配套工具309
15.5BREW开发指导原则312
15.6基于BREW平台开发实例314
15.6.1开发BREW程序前的准备314
15.6.2在PC上开发一个BREW
应用程序315
15.6.3将BREW应用移植到手机上319
参考文献322

教学资源推荐
作者: Linda Null,Julia Lobur
作者: (美)David Money Harris 哈维玛德学院 Sarah L. Harris哈维玛德学院 著
作者: [美] M.Morris Mano(M.莫里斯﹒马诺)  Charles R.Kime(查尔斯 R. 凯姆)  Tom Martin(汤姆﹒马丁)著
参考读物推荐
作者: (美)Elecia White 著
作者: [英]姚文祥(Joseph Yiu) 著