计算机导论-第5章 软件工程
软件工程导论(第5章)
5.1.1 设想供选择的方案
在总体设计阶段分析员应该考虑各种可能的实现方案, 在总体设计阶段分析员应该考虑各种可能的实现方案, 各种可能的实现方案 并且力求从中选出最佳方案。 并且力求从中选出最佳方案。 需求分析阶段得出的数据流图是总体设计的极好的出 需求分析阶段得出的数据流图是总体设计的极好的出 发点。 发点。数据流图中的某些处理可以逻辑地归并在一个 自动化边界内作为一组, 自动化边界内作为一组,另一些处理可以放在另一个 自动化边界内作为另一组。 自动化边界内作为另一组。这些自动化边界通常意味
着某种实现策略。 着某种实现策略。
设想把数据流图中的处理分组的各种可能的方法, 设想把数据流图中的处理分组的各种可能的方法,抛 弃在技术上行不通的分组方法(例如, 弃在技术上行不通的分组方法(例如,组内不同处理 的执行时间不相容), ),余下的分组方法代表可能的实 的执行时间不相容),余下的分组方法代表可能的实 现策略,并且可以启示供选择的物理系统。 现策略,并且可以启示供选择的物理系统。 在总体设计的该步骤中分析员仅仅一个边界一个边界 地设想并且列出供选择的方案,并不评价这些方案。 地设想并且列出供选择的方案,并不评价这些方案。
14
5.1.5 设计软件结构
通常程序中的一个模块完成一个适当的子功能。 通常程序中的一个模块完成一个适当的子功能。 一个模块完成一个适当的子功能 应该把模块组织成良好的层次系统,顶层模块 应该把模块组织成良好的层次系统, 调用它的下层模块以实现程序的完整功能,每 个下层模块再调用更下层的模块, 个下层模块再调用更下层的模块,从而完成程 序的一个子功能, 序的一个子功能,最下层的模块完成最具体的 功能。 软件结构(即由模块组成的层次系统) 软件结构(即由模块组成的层次系统)可以用 层次图或结构图来描绘 来描绘。 层次图或结构图来描绘。(5.4节) 节
软件工程导论
软件工程导论软件工程导论简介:软件工程导论是计算机科学与技术专业中的一门重要课程,旨在向学生介绍软件工程的基本概念、原理、方法和技术等内容。
本文将从软件工程的定义、发展历程、重要性以及软件生命周期等方面,全面介绍软件工程导论的相关知识。
一、软件工程的定义软件工程是一门应用科学,它利用系统化、规范化和可量化的方法,以经济、可靠的方式开发和维护软件。
软件工程的目标是提供高质量的软件产品,以满足用户的需求。
二、软件工程的发展历程1. 软件危机时期20世纪60年代至70年代初,软件产业发展迅猛,但由于软件开发过程中的高风险和高不确定性,导致了大量软件项目的失败和超支,人们逐渐意识到软件工程的重要性。
2. 软件工程的提出1972年,瑞士学者Dijkstra发表了《软件工程的未来》一文,正式提出了软件工程这一概念,强调了对软件开发过程进行工程化管理的必要性。
3. 软件工程的发展随后,软件工程逐渐成为一个独立的学科,并在学术界和工业界得到了广泛的应用和推广。
软件工程的理论和方法也日益完善,其中包括需求分析、软件设计、编码、测试等一系列开发过程中的关键技术。
三、软件工程的重要性1. 提高软件质量软件工程以系统化和规范化的方式进行软件开发,通过严格的质量控制和测试,大大提高了软件产品的质量,降低了软件缺陷和故障的发生率。
2. 提高开发效率软件工程引入了各种开发工具和方法,帮助开发人员提高开发效率,减少重复劳动,提高工作效能。
3. 减少开发成本通过软件工程的管理方法和技术手段,能够有效控制软件开发过程中的风险和成本,及时发现和处理问题,从而降低开发成本。
四、软件生命周期1. 需求分析阶段需求分析是软件开发过程中的第一步,旨在确定用户的需求和期望,并将其转化为形式化的需求规格。
2. 设计阶段设计阶段依据需求分析的结果,将软件系统划分为模块,并确定各个模块的功能和接口。
3. 编码阶段在编码阶段,开发人员根据设计文档编写源代码,并进行单元测试和集成测试。
计算机导论第五课PPT课件
计算机程序,是用来告诉计算机如何处理问题或 执行操作的一组指令的集合。
支持模块中,包括了一组指令集合用于帮助计算 机连接用户可执行文件,每个支持模块都储存在 一个独立的文件中。主程序可以在需要时调用或 激活一个支持程序。如,.DLL文件等。
数据文件,包括了那些用于完成任务所必需的数 据。如软件包的帮助文件或是软件使用许可协议, 或是软件工具条上的图标。数据文件通常是 以.txt\.bmp作为文件扩展名。
17
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End
18
感谢聆听
不足之处请大家批评指导
Please Criticize And Guide The Shortcomings
7
(3)数据库管理系统 计算机要处理的数据往往相当庞大,使用数
据库管理系统可以有效地实现数据信息的 存储、更新、查询、检索、通信控制等。 微机上常用的数据库管理系统有oxPro、 Clipper、Access等,大型数据库管理系统 有Oracle、Sybase、DB2等。
8
(4)网络管理系统
应用软件还可以分为图形软件、音乐软件、教育 软件、娱乐性软件和商业软件等。
11
软件的安装和卸载 Office软件的安装
12
13
14
15
四、软件的开发过程
1、软件需求分析 软件需求分析就是回答做什么的问题。它是一个对用户的
需求进行去粗取精、去伪存真、正确理解,然后把它用软 件工程开发语言(形式功能规约,即需求规格说明书)表 达出来的过程。本阶段的基本任务是和用户一起确定要解 决的问题,建立软件的逻辑模型,编写需求规格说明书文 档并最终得到用户的认可。需求分析的主要方法有结构化 分析方法、数据流程图和数据字典等方法。本阶段的工作 是根据需求说明书的要求,设计建立相应的软件系统的体 系结构,并将整个系统分解成若干个子系统或模块,定义 子系统或模块间的接口关系,对各子系统进行具体设计定 义,编写软件概要设计和详细设计说明书,数据库或数据 结构设计说明书,组装测试计划。
软件工程 第五章(总结和课后习题)
出:分析类[完成];4、对包进行分析: 输入:系统体系结构描述[分析]、分析 包[概述]输出:分析类[完成]。 � (18)创建系统的分析模型,一般应进 行体系结构分析、用况分析、类的分析 以及包的分析 4 项活动。 � (19)用况分析[分析]的目标:1、标识 那些在用况事件流执行中所需要的分析 类和对象;2、将用况的行为,分布到参 与交互的各个分析对象;3、捕获用况细 化上的特定需求。 � (20)用况分析[分析]开展的活动包括: 1、标识分析类,标识在细化一个用况中 所需要的实体类、控制类和边界类,给 出它们的名字、责任、属性和关系;2、 描述分析(类)对象之间的交互,通常 使用交互图来描述。 � (21)类的分析[分析]的目标:1、标识 并维护分析类的责任;2、基于它们在用 况细化中的角色,标识并维护分析类的 属性和关系;3、捕获分析类细化中的特 定需求。 � (22)类的分析[分析] 开展的活动包 括:1、标识责任;2、标识属性;3 标识 关联与聚合; � (23)需求分析模型对以后开发工作的 影响?1、对设计中子系统的影响。分析 包一般将影响设计子系统的结构;2、对 设计类的影响。分析包可以作为类设计 时的规格说明;3、对用况细化[设计]的 影响。用况细分[分析]对用况细化[设计] 有两方面影响,一个是它们有乃至于为 用况创建更精确的规格说明,另一个是 当对用况进行设计时,用况细化[分析] 可作为其输入。 (24)需求获取模型与需求分析模型之
第五章 RUP
[概述];输出:子系统[完成]、接口[完 成]。 � (29)用况的设计包括以下任务:1、标 识参与用况细化的设计类;2、标识参与 用况细化的子系统的接口。 � (30)类的设计包括以下任务:1、概括 描述设计类;2、标识操作;3、标识属 性;4、标识关联、聚合;5、标识泛化; 6、描述方法; � � � (31)RUP 设计的突出优点:P165 页 (32)RUP 的设计系统生成构件;对构件进行测试,进行 集成测试和连接;把可执行的构件映射 到部署模型。 � (34)RUP 实现包括以下活动:1、实现 模型;2、实现子系统;3、实现模型视 角下的体系结构描述;4、实现类; � � (35)RUP 测试包括内部测试、中间测试 和最终测试。 (36)RUP 测试的主要活动:1、计划测 试;2、设计测试;3、实现测试;4、执 行集成测试;5、执行系统测试;6、评 价测试。
大学信息技术导论第5章(参考课件)
第5章
2004年10月
第5章 程序设计基础
程序设计语言是人们用来向计算机传递 信息与下达命令的通信工具。 软件发展的三个阶段:
1946年-1956年 低级语言(机器语言或汇编语言),追求功效,顺序程序。
1956年-1968年 高级语言(数学语言或接近于自然语言(英语)的语言), 追求易读性和易维护性,并发程序和并行程序。
解释程序对高级语言程序将源程 序逐句分解为最低级的机器语言 代码并执行,而不产生目标程序。
解释方式便于查找错误,但效率 较低。
5.1.1 基本概念
伪代码
当编写的程序并不完全生成可执行的目标代码,而由 计算机内部产生中间代码(程序员无法看到)被称为伪 代码。伪代码保留在内存中,等待用户或程序员的执 行调用。可执行的目标代码最后被执行,但并不保留 在内存中。所有程序,即使它们有EXE扩展名,也都 必须使用解释程序或编译程序来运行(如VB)。
5.1.1 基本概念
程序: 狭义地定义为计算机指令的集合; 广义地定义为说明一项任务或工作过程的符 号代码形式,这种符号代码人可以读懂,而 由计算机处理执行。
程序的实际工作过程称为程序的执行。
程序的静态特性:与执行过程无关的特性。 程序的动态特性:与执行过程有关的特性。
5.1.1 基本概念
程序必须具备的特征
✓ 程序必须具有解决某一问题的特定任务与功能,都需 要回答“解决什么或做什么”的问题
✓ 程序要遵循一定的规则和步骤,而不是多条指令的胡 乱堆砌。程序必须按照算法所规定的语法格式和步骤, 回答“怎样做”和“如何执行”的问题
✓ 程序的执行者是计算机,由于计算机有其自身的逻辑 和执行方式,所以程序必须符合计算机的逻辑及处理 方式,才能被计算机识别和执行
计算机导论第5章概述
第5章操作系统BIOS定义:B(基本)I(输入)O(输出)S(系统)操作系统是系统软件,也是整个软件系统的核心。
(软件系统包括系统软件和应用软件。
)裸机:人们把只有硬件而没有安装任何软件的计算机称为裸机,在裸机上,用户没有办法进行任何操作,操作系统充当用户和计算机之间的接口。
虚计算机:当安装了操作系统之后,实际上呈现在应用程序和用户面前的是一台“虚计算机”。
操作系统的主要功能:包括文件管理、存储管理、设备管理、作业管理和处理器管理。
5 . 1 文件管理5.1.1 文件文件:是按一定格式存储在外存储器上的信息集合,是操作系统管理信息和能独立进行存取的最小单位。
文件名:分为主文件名和扩展名。
主文件名:由不少于1个ASCII码字符组成,文件名中可以包含英文字母(大小写不区分)、汉字、数字和一些特殊符号。
扩展名:也称为后缀、类型名,左侧必须用圆点“.”与文件名隔开。
扩展名用于指定文件的类型。
系统给定的扩展名不能随意改动,否则系统将不能识别。
文件说明信息:例如文件名、文件类型、存放位置、大小、创建/修改/最近访问时间、创建者、文件属性等。
保存在文件的目录中。
Windows允许一个文件兼有多种属性。
文件内容:全部保存在磁盘的数据区中。
5.1.2 文件目录和路径文件夹:一般存放文件,文件夹中还可以包含文件和文件夹,该文件夹称为子文件夹。
子文件夹中又可以包含文件和文件夹。
形成了一种类似树状多层次文件目录结构。
因为文件可能存放在各级文件夹中,就需要描述文件所在的位置。
可以通过文件路径描述文件所在的位置,文件路径分绝对路径和相对路径。
绝对路径:以根文件夹为起点的路径描述文件的位置。
对于硬盘分成3个逻辑盘C、D 和E而言,根文件夹就是C:\、D:\ 和E:\。
相对路径:从当前文件夹开始,描述文件的位置。
文件绝对路径:E:\2010 \计算机导论课\第6章操作系统.doc文件相对路径:\计算机导论课\第6章操作系统.doc文件夹也可以设置属性,设置和显示方法与文件相同。
82软件工程导论第五章PPT课件
END
28.07.2020
3
第一节 编码
本节内容:
一、相关概念
二、编码阶段的任务
三、程序设计语言的选择
四、编码风格
28.07.2020
4
一、相关概念
所谓编码就是选择一种语言把软件设计阶段的结 果翻译成计算机可以理解的源程序
它直接来源于设计,所以,程序的质量主要取决 于软件设计的质量
所选编程语言的特点和编码人员的编码风格会对 程序的可靠性、可读性、可测试性和可维护性产 生影响
28.07.2020
13
三、程序设计语言的选择
第三代语言
也称结构化编程语言,60年代—70年代
主要特征:具有很强的过程和数据结构化的能力
可分为三类: 通用高级语言(C、Pascal、Ada美国的三军通用语 言) 面向对象高级语言(C++,Objective-C,Smalltalk, Eiffel) 专用语言(LISP、PROLOG、APL和FORTH)
28.07.2020
8
三、程序设计语言的选择
1、程序设计特性
1)心理特性
需要考虑的几个心理特性
紧凑性:一种面向代码信息量的表示,这个信 息量必须由人来记忆:
❖ APL语言是一种非常紧凑的编程语言,但很 难读懂,Prolog语言也一种非常紧凑的语言
❖ 度量紧凑性的语言属性:
该语言支持结构化和逻辑块的程度
28.07.2020
返回至“编码风格”
19
数据说明
虽然在设计期间已经确定了数据结构的组织和复 杂程度,然而数据说明的风格却是在写程序时确 定的
为了使数据更容易理解和维护,遵循一些比较简 单的原则是必要的:
数据说明的次序应当规范化 说明语句中变量安排有序化 使用注释说明复杂数据结构
计算机导论选择题
《计算机导论》选择题第一章:1. 现在的计算机是基于________模型。
A. 莱布尼兹B. 冯·诺依曼C. 帕斯卡D. 查尔斯·巴比奇2. 在计算机中,________子系统存储数据和程序。
A. 算术逻辑单元B. 输入/输出C. 存储器D. 控制单元3. 在计算机中,________子系统执行计算和逻辑运算。
A. 算术逻辑单元B. 输入/输出C. 存储器D. 控制单元4. 在计算机中,________子系统接收数据和程序并将运算结果传给输出设备。
A. 算术逻辑单元B. 输入/输出C. 存储器D. 控制单元5. 在计算机中,________子系统是其它子系统的管理者。
A. 算术逻辑单元B. 输入/输出C. 存储器D. 控制单元6. 根据冯·诺依曼模型,________被存在存储器中。
A. 只有数据B. 只有程序C. 数据和程序D. 以上都不是7. 问题的分步骤解决被称为________。
A. 硬件B. 操作系统C. 计算机语言D. 算法8. FORTRAN和COBOL是________的例子。
A. 硬件B. 操作系统C. 计算机语言D. 算法9. 在十七世纪,能够执行加法和减法运算的计算机设备是________。
A. PascalineB. Jacquard loomC. Analytical EngineD. Babbage machine10. 在计算机语言中,________是告诉计算机如何处理数据的一系列指令。
A. 操作系统B. 算法C. 数据处理器D. 程序11. ________是以结构化的形式来设计和编写程序。
A. 软件工程B. 硬件工程C. 算法开发D. 教育体系12. 第一台特殊用途的电子计算机被称为________。
A. PascalB. PascalineC. ABCD. EDV AC13. 第一代基于冯·诺依曼模型的计算机中有一个被称为________。
《计算机导论》说课稿
第4周:数据库与数据结构
要点一
数据库基础
要点二
数据结构
介绍数据库的基本概念、SQL语言以及关系型数据库。
讲解常见数据结构,如数组、链表、栈、队列等,以及它 们在计算机科学中的应用。
第5周:软件工程与项目管理
软件工程概述
介绍软件工程的基本概念、原则和实践。
校企合作
与企业建立合作关系,为学生提供实 践机会,了解行业前沿动态和最新技 术。
06 课程展望与建议
课程展望
掌握计算机基础知识
通过本课程,学生将全面了解计算机的基 本概念、原理和技术,为后续深入学习计
算机科学打下坚实基础。
适应信息化社会需求
随着信息化社会的快速发展,计算机技术 已经渗透到各个领域,本课程将帮助学生
适应这一发展趋势。
培养计算思维
本课程注重培养学生的计算思维,即运用 计算机科学的方法和思想解决实际问题的 能力。
激发创新精神
通过实践项目和案例分析,激发学生的创 新精神,培养其独立思考和解决问题的能 力。
对学生的建议
积极参与课堂讨论
鼓励学生积极参与课堂讨论,与老师和同学交流 心得,提高自己的表达能力。
互动性强
内容全面
涵盖计算机科学各个方面的基础知识,为学 生后续学习打下坚实基础。
采用案例分析、小组讨论等形式,鼓励学生 积极参与,提高学习效果。
02
01
适应性强
根据学生实际情况和需求,灵活调整教学内 容和方法,确保教学质量。
04
03
02
教学方法
理论教学
夯实基础
理论教学是《计算机导论》课程的核心部分,主要涉及计算机科学的基本概念、原理和思想。通过理论教学,使学生对计算 机科学有一个全面的了解,为后续课程的学习打下坚实的基础。
软件工程导论第五章课后答案
软件工程导论第五章课后答案本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March第五章习题答案1、为每种类型的模块耦合举一个具体例子。
答:耦合是对一个软件结构内不同模块之间互连程度的度量。
耦合强弱取决于模块间接口的复杂程度,进入或访问某一模块的点,以及通过接口的数据,一般模块之间可能的连接方式有7种,构成耦合的7种类型,它们之间的关系为:下面举例说明以上各种耦合:a.非直接耦合(Nondirect Coupling)在这种情况下,两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。
例如在实数的运算中,有两个模块分别完成几个实数的求和,求乘积功能,这两个模块之间没有直接联系,只有在主模块调用中有执行的前后顺序而已,这个例子即属于非直接耦合。
b.数据耦合(DataCoupling)即一个模块访问另一个模块时,彼此之间是通过数据参数来交换输入,输出信息的,这种耦合为数据输入,输出信息的这种耦合为数据耦合。
如有两个模块,其中A完成两个烽的比较,求出其中最大的并返回该值,模块B是完成了个数的比较,求出其中最大的并返回该最大值,为完成四个数的比较,模块B调用模块A即可完成,在这种调用关系中,模块A的运算结果作为一个参烽参加B的运算,这两个模块之间即发生数据耦合。
数据耦合是松散的耦合,模块间的独立性比较强。
c.标记耦合(Stamp Coupling),即一组模块通过参数传递记录信息,这就是标记耦合。
事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。
d.控制耦合(Control Coupling)即一个模块通过开关标志,名字等控制住处明显的控制,选择另一模块的功能,这就是控制耦合,如下图所示,这一种耦合实质是在单一接口上实现选择多功能模块中的某项功能,如程序设计中用到多路选择结构即是最好的例子。
工学软件工程导论第五章
工学软件工程导论第五章在软件工程的广袤领域中,第五章通常聚焦于一些关键且核心的概念和技术,这些内容对于理解和实践软件工程起着重要的支撑作用。
首先,让我们来谈谈软件设计的原则。
在软件开发过程中,良好的设计是成功的基石。
软件设计应遵循高内聚、低耦合的原则。
高内聚意味着一个模块内的各个部分紧密相关,共同完成一个明确的功能;低耦合则表示不同模块之间的相互依赖程度低,这样当对一个模块进行修改时,不会对其他模块产生过大的影响。
想象一下,如果一个软件系统中的各个模块像一团乱麻般交织在一起,那么任何一点小小的改动都可能引发“蝴蝶效应”,导致整个系统的崩溃。
软件架构也是第五章的重要内容之一。
常见的软件架构模式有分层架构、客户端服务器架构、微服务架构等。
分层架构将软件系统分为不同的层次,如表示层、业务逻辑层、数据访问层等,每一层都有明确的职责,使得系统结构清晰,易于维护和扩展。
客户端服务器架构则将系统分为客户端和服务器端两部分,客户端负责与用户进行交互,服务器端负责处理业务逻辑和数据存储。
而微服务架构则将一个大型的应用拆分成多个小型的服务,每个服务都可以独立部署和扩展,提高了系统的灵活性和可扩展性。
在软件设计中,还需要考虑到设计模式的运用。
设计模式是经过实践验证的解决特定软件设计问题的通用方案。
例如,单例模式确保一个类只有一个实例存在,适用于需要全局唯一访问的资源;工厂模式用于创建对象,将对象的创建与使用分离,提高了代码的灵活性和可维护性;观察者模式实现了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。
另外,软件的接口设计也不容忽视。
一个好的接口应该具有简洁、明确、稳定的特点。
简洁的接口易于理解和使用,明确的接口能够准确地传达其功能和参数要求,稳定的接口则保证在软件的后续开发和维护过程中不会频繁变动,从而避免对依赖它的其他部分造成影响。
在软件设计的过程中,还需要进行充分的需求分析。
工学软件工程导论第五章
工学软件工程导论第五章在软件工程的广袤领域中,第五章往往承载着关键的知识与理念,为我们进一步理解和实践软件工程奠定坚实的基础。
这一章,通常会聚焦于软件设计的核心原则与方法。
软件设计,就像是为一座即将拔地而起的高楼大厦绘制蓝图,其重要性不言而喻。
首先,我们来谈谈模块化设计。
将一个庞大而复杂的软件系统分解为若干个相对独立且具有特定功能的模块,每个模块专注于完成一项特定的任务。
这不仅使得软件的开发和维护变得更加容易,还提高了代码的可重用性。
想象一下,如果所有的代码都混在一起,就像一团乱麻,要找出问题或者进行修改,那简直是一场噩梦。
而通过模块化,我们可以清晰地知道每个模块的职责,当需要修改或优化某个功能时,只需关注对应的模块,大大提高了效率。
接口设计也是软件设计中的重要一环。
一个良好定义的接口,就像是一扇清晰的窗口,让不同的模块能够顺畅地交流和协作。
接口定义了模块之间的交互规则和数据传递方式,它应该简洁、清晰、稳定。
如果接口设计得不合理,模块之间的通信就会变得混乱,甚至导致整个系统的崩溃。
比如说,一个模块期望接收的数据格式与另一个模块提供的数据格式不一致,这就会引发严重的错误。
在软件设计中,还需要考虑架构模式的选择。
常见的架构模式有分层架构、客户端服务器架构、微服务架构等等。
每种架构模式都有其适用的场景和优缺点。
分层架构将系统分为不同的层次,每一层都有明确的职责,使得系统具有良好的层次结构和可扩展性。
客户端服务器架构则适用于需要将计算任务分布在不同的节点上的情况。
而微服务架构则将一个大型的应用拆分成多个小型的服务,每个服务都可以独立部署和扩展,提高了系统的灵活性和敏捷性。
另外,数据设计也是不能忽视的部分。
数据的组织、存储和访问方式直接影响着软件的性能和效率。
选择合适的数据结构和数据库管理系统,对于处理大量的数据至关重要。
比如,如果我们需要频繁地进行插入和删除操作,链表可能是一个更好的选择;而如果需要快速的查找,数组或者二叉搜索树可能更合适。
计算机导论-课后习题参考答案
第1章计算机概述一、单项选择题A B D B C C D B A D二、简答题1. 根据计算机所采用的电子逻辑元件可将计算机的发展划分为4个发展阶段,每个阶段所采用的元器件分别为:电子管,晶体管,中、小规模集成电路,大规模、超大规模集成电路。
2. 冯·诺依曼计算机主要由4部分组成:运算器、存储器、控制器、输入/输出设备。
3. 衡量计算机性能的指标主要有5个,分别为:字长、主频、存储容量、运算速度和存取周期。
4. 计算机的特点:1)能自动连续、高速度地运算;2)运算速度快;3)运算精度高;4)具有超常的记忆能力;5)具有可靠的逻辑判断能力。
按运算规模,计算机可分为巨型机、大型机、中型机、小型机、微型机和工作站。
第2章计算机中的数据一、单项选择题A ABC B二、计算题1.(1)7 (2)511 (3)40762.(1)766O (2)201O (3)265O3.(1)251O (2)6272O (3)64361363O4.(1)0.1B (2)≈101.01B (3)110011B三、简答题1. 计算机采用二进制表示数据主要有以下4个原因:1)二进制物理上易于实现;2)二进制运算法则简单;3)二进制编码机器可靠性高;4)二进制通用性和逻辑性强。
2. 在计算机中,所有数值型数据都用二进制编码来表示,这串二进制编码称为该数据的机器数,数据原来的表现形式称为“真值”。
一个进制中数码的个数称为“基数”。
3. 带符号整数常用的编码形式有3种,分别为原码、反码和补码。
1)原码表示法为:最高位是符号位(0表示正,1表示负),其余各位表示数的绝对值大小。
2)反码表示法为:最高位是符号位(0表示正,1表示负),正数的反码与原码相同,负数的反码是在其原码的基础上,除符号位外各位求反。
3)补码表示法为:最高位是符号位(0表示正,1表示负),正数的补码与原码相同,负数的补码是在该数反码的最低位加1。
4. 要表示文本,必须先对每个可能出现的字符进行表示。
计算机导论-第5章-计算机组成
Chapter 5 Computer OrganizationKnowledge point:5.1. three subsystems that make up a computer5.2. functionality of each subsystem5.3. memory addressing and calculating the number of bytes5.4. addressing system for input/output devices.5.5. the systems used to connect different components together.Multiple-choice Questions39. The ___ is a computer subsystem that performs operations on data.( Knowledge point 5.1)a. CPUb. memoryc. I/O hardwared. none of the above40. ____ is a stand-alone storage location that holds data temporarily. ( Knowledge point 5.1)a. An ALUb. A registerc. A control unitd. A tape drive41. ____ is a unit that can add two inputs. ( Knowledge point 5.2)a. An ALUb. A registerc. A control unitd. A tape drive42. A register in a CPU can hold ____.( Knowledge point 5.2)a. datab. instructionsc. program counter valuesd.all of the above43. A control unit with five wires can define up to ____ operations. ( Knowledge point 5.2)a. 5b. 10c. 16d. 3244. A word is ____ bits. ( Knowledge point 5.3)a. 8b. 16c. 32d. any of the above45. If the memory address space is 16 MB and the word size is 8 bits, then ____ bits are needed to access each word. ( Knowledge point 5.3)a. 8b. 16c. 24d.3246. The data in ____ are erased if the computer is powered down. ( Knowledge point5.5.3)a. RAMb. ROMc. a tape drived. a CD-ROM47. ____ is a memory type with capacitors that need to be refreshed periodically. ( Knowledge point 5.3)a. SRAMb. DRAMc. ROMd. all of the above48. ____ is a memory type with traditional flip-flop gates to hold data. ( Knowledge point 5.3)a. SRAMb. DRAMc. ROMd. all of the above49. There are ____ bytes in 16 terabytes. ( Knowledge point 5.3)a.b.c.d.50. ____ can be programmed and erased using electronic impulses but can remain ina computer during erasure. ( Knowledge point 5.3)a. ROMb. PROMc. EPROMd. EEPROM51. ____ is a type of memory in which the user, not the manufacturer, storesprograms that cannot be overwritten. ( Knowledge point 5.3)a. ROMc. EPROMd. EEPROM52. CPU registers should have ____ speed memory. ( Knowledge point 5.3)a. highb. mediumc. lowd. any of the above53. Main memory in a computer usually consists of large amounts of ____ speedmemory. ( Knowledge point 5.3)a. highb. mediumc. lowd. any of the above54. The ____ memory contains a copy of a portion of main memory. ( Knowledge point 5.3)a. CPUb. cachec. maind. ROM55. The ____ is nonstorage I/O device. ( Knowledge point 5.4)a. keywordb. monitorc. printerd. all of the above56.A ____ is an optical storage device. ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. all of the above57. The ____ is a storage device in which the manufacturer writes information to the disc. ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. all of the above58. The ____ is a storage device in which the user can writes information only onceto the disc. ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. all of the above59. The ____ is a storage device that can undergo multiple writings and erasings. ( Knowledge point 5.4)b. CD-Rc. CD-RMd. all of the above60. The smallest storage area on a magnetic disk that can be accessed at one time isa ____.( Knowledge point 5.4)a. trackb. sectorc. framed. head61. For a magnetic disk, the ____ time is the time it takes for the read/write head tomove to the desired track where the data are stored. ( Knowledge point 5.4)a. rotationb. seekc. transferd. location62. Polycarbonate resin is used in ____ . ( Knowledge point 5.4)a. CD-ROMsb. CD-Rsc. CD-RWsd. all of the above63. In a ____, a high-power laser beam simulates pits in an alloy of silver, indium,antimony, and tellurium. ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. all of the above64. In a ____, a high-power laser beam simulates pits in the dye layer. ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. all of the above65. Which optical storage device has the highest capacity ? ( Knowledge point 5.4)a. CD-ROMb. CD-Rc. CD-RMd. DVD66. In a DVD, a ____ beam reads the disk. ( Knowledge point 5.4)a. high-power laserb. infraredc. red laserd. blue laser67. A ____ bus connects the CPU and memory. ( Knowledge point 5.5)a. datab. addressc. controld. all of the above68. If the word size is 2 bytes, a data bus with ____ wires is needed. ( Knowledge point 5.5)a. 2b. 4c. 8d. 1669. If the memory has words, the address bus needs to have ____ wires. ( Knowledge point 5.5)a. 8b. 16c. 32d. 6470. A control bus with eight wires can define ____ operations. ( Knowledge point 5.5)a. 8b. 16c. 256d. 51271. The ____ controller features a parallel interface and daisy-chained connection forI/O devices. ( Knowledge point 5.5)a. SCSIb. Fire Wirec. USBd. IDE72. The ____ controller is a serial device that connects slow devices such as thekeyboard and mouse to the computer. ( Knowledge point 5.5)a. SCSIb. Fire Wirec. USBd. IDE73. The ____ controller is a high-speed serial interface that transfers data in packets. ( Knowledge point 5.5)a. SCSIb. Fire Wirec. USBd. IDE74. The three steps in the running of a program on a computer are performed ____in this specific order. ( Knowledge point 5.5)a. fetch, execute, and decodeb. fetch, execute, and fetchc. fetch, decode, and executed. decode, fetch, and execute75. In the ____ method to synchronize the operation of the CPU with the I/Odevice ,the I/O device informs the CPU when it is ready for data transfer.( Knowledge point 5.5)a. programmed I/Ob. interrupt-driven I/Oc. DMAd. isolated I/O76. In the ____ method to synchronize the operation of the CPU with the I/O device,the CPU is idle until the I/O operation is finished. ( Knowledge point 5.5)a. programmed I/Ob. interrupt-driven I/Oc. DMAd. isolated I/O77. In the ____ method to synchronize the operation of the CPU with the I/O device,a large block of data can be passed from an I/O device to memory directly.( Knowledge point 5.5)a. programmed I/Ob. interrupt-driven I/Oc. DMAd. isolated I/OReview questions:1. What are the three subsystems that make up a computer?(Knowledge point 5.1) Answer: the CPU, main memory, and the input/output (I/O) subsystem.2. What are the parts of a CPU? (Knowledge point 5.1)Answer: The CPU performs operations on data and has a ALU, a control unit, and a set of registers.3. What‘s the function of the ALU? (Knowledge point 5.2)Answer: The ALU performs arithmetic and logical operations.Exercises:78. A computer has 64MB of memory. Each word is 4 bytes. How many bits are needed to address each single word in memory? (Knowledge point 5.3)Solution:The memory address space is 64 MB, that is 2 raised to the power 26. The size of each word in bytes is 2 raised to the power 2. So we need 24(subtract 2 from 26) bits to address each single word in memory.79. How many bytes of memory are needed to store a full screen of data if the screen is made of 24 lines with 80 characters in each line? The system uses ASCII code, witheach ASCII character store as a byte. (Knowledge point 5.3)Solution:The quantity of bytes in a full screen is 1920 (24*80) while the system uses ASCII code with each ASCII character store as a byte. So we need 1920 bytes of memory to store the full screen of data.80. An imaginary computer has four data registers(R0 to R3), 1024 words in memory, and 16 different instructions(add, subtract, etc.). What is the minimum size of an instruction in bits if a typical instruction uses the following format: add 565 R2. (Knowledge point 5.5)Solution:The number of data registers in this computer is 4, that is 2 raised to the power 2. The number of words in this computer is 1024, that is 2 raised to the power 10. The number of instructions in this computer is 16, that is 2 raised to the power 4. So the minimum size of an instruction in bits is 16 (2+10+4) bits.81. If the computer in Exercise 80 uses the same size of word for data and instructions. What is the size of each data register? (Knowledge point 5.5) Solution:The size of an instruction in bits is 16. Data size is the same with that of an instruction. So 16 is the size of each data register.82. What is the size of the instruction register of the computer in Exercise 80? (Knowledge point 5.5)Solution:The size of an instruction in bits is 16. So the size of the instruction register of the computer is also 16.83. What is the size of the program counter of the computer in Exercise 80? (Knowledge point 5.5)Solution:The number of words in this computer is 1024, that is 2 raised to the power 10. So the size of the program counter of the computer is 10.84. What is the size of the data bus in Exercise 80? (Knowledge point 5.5) Solution:Data size of this computer in bits is 16. So the size of the data bus is 16.85. What is the size of the address bus in Exercise 80? (Knowledge point 5.5) Solution:The number of words in this computer is 1024, that is 2 raised to the power 10. So the the size of the address bus is 10.86. What is the minimum size of the control bus in Exercise 80? (Knowledge point5.5)Solution:There are 2 control actions(read and write to memory) at most. So the minimum size of the control bus is 1.87. A computer uses isolated I/O addressing. Memory has 1024 words. If each controller has 16 registers, how many controllers can be accessed by this computer? (Knowledge point 5.4)Solution:Memory has 1024 words. So the address space is 1024. Each controller has 16 registers. Then we get 64 (divide 16 by 1024)controllers which can be accessed by this computer.88. A computer uses memory-mapped I/O addressing. The address bus uses 10 lines. If memory is made of 1000 words, how many four-register controllers can be accessed by this computer? (Knowledge point 5.4)Solution:The address bus uses 10 lines. So, the address space is 1024(2 raised to the power 10). The memory is made of 1000 words and each controller has four registers. Then we get (1024-1000)/4 = 6 four-register controllers which can be accessed by this computer.。
软件工程导论课后解答第五章
第五章总体设计低耦合(5 种类型)1. 数据耦合:数据传递2.控制耦合:控制信息传递3.特征耦合:传过多的信息给被调用模块4.公共环境耦合:因全局变量,共享通信区5.内容耦合:诸如一个模块访问另一个模块内部z高内聚(7 种类型)功能内聚10 分顺序内聚9分通信内聚7分过程内聚 5 分时间内聚3分逻辑内聚 1 分偶然内聚0 分z面向数据流的设计方法划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等设计软件的结构。
也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
总体设计过程两个阶段1.系统设计阶段,确定系统的具体实现方案;2.结构设计阶段,确定软件结构。
总体设计过程9个步骤1 设想供选择的方案2 选取合理的方案3 推荐最佳方案4 功能分解5 设计软件结构 6 设计数据库7 制定测试计划 8 书写文档 9 审查和审核划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等设计软件的结构。
也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。
总体设计过程两个阶段1.系统设计阶段,确定系统的具体实现方案;2.结构设计阶段,确定软件结构。
总体设计过程9个步骤1 设想供选择的方案2 选取合理的方案3 推荐最佳方案4 功能分解5 设计软件结构 6 设计数据库7 制定测试计划 8 书写文档 9 审查和审核1.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
计算机科学导论3到5章
计算机科学导论3到5章第三章介绍了计算机系统的基本结构和组成。
计算机系统由硬件和软件组成,硬件包括中央处理器(CPU)、内存、输入设备和输出设备,而软件则包括操作系统和应用程序。
本章还介绍了计算机底层的基本概念,如位、字节、数据表示和存储,以及计算机的工作原理和执行指令的过程。
第四章讨论了编程语言的基本概念和特点。
编程语言可分为低级语言和高级语言。
低级语言如汇编语言和机器语言,直接操作计算机硬件;而高级语言如C、Java和Python,则提供了更高级的抽象和更方便的编程方式。
本章还介绍了编译器和解释器的工作原理,以及程序的编译和执行过程。
第五章探讨了算法的概念和应用。
算法是解决问题的一系列步骤和规则,它是计算机科学的核心概念之一、本章介绍了算法的基本特性,如输入、输出、确定性和有穷性。
此外,还介绍了常见的算法设计技术,如递归、分治法和动态规划。
本章还介绍了算法分析的方法和复杂度理论,用来衡量算法的效率和时间复杂度。
在计算机科学导论的这几章中,我们学习了计算机系统的基本结构和组成、编程语言的基本概念和特点,以及算法的基本原理和设计技术。
这些知识是理解计算机科学的基础,并为进一步学习计算机科学的各个领域打下了坚实的基础。
此外,这些章节还可以帮助我们了解计算机科学的历史发展和未来趋势,从而对计算机科学的发展和应用有更深入的了解。
总之,计算机科学导论的第三到第五章涵盖了计算机科学的核心概念和理论基础,包括计算机系统的工作原理、编程语言和算法的基本知识。
通过学习这些章节,我们可以对计算机科学有一个全面的了解,并为进一步深入学习计算机科学的各个领域打下基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 在七十年代为了对付应用软件日益增长的复杂程 度、漫长的开发周期以及用户对软件产品经常不 满意的状况而发展起来的。
单击此处添课程名
第5章 软件工程
• 5.1软件工程与软件过程
• 5.2传统方法学
• •
55..34面软向 件对 项单象 目方 管击法理此学 处添课程名
计划(5)
• 常用的制定进度计划的工具主要有 • Gantt 图 • 工程网络
单击此处添课程名
组织
• 对任何软件项目而言,最关键的因素都是承
担项目的人员。必须合理地组织项目组,使 项目组有较高生产率。
•
“最佳的”小组结构取决于管理风格、组里
结构化分析(2)
• 为了详尽地了解并正确地理解用户的需求,必须使用 适当的技术与用户通信和沟通
• 访谈
• •
简快易速的原单应型用击规此格说处明技添术 课程名
结构化分析(3)
• 为了更好地理解问题,人们常常采用建立模型的方法, 结构化分析实质上就是一种建模活动,通常建立数据模 型、功能模型和行为模型
标准建模语言UML(3) • Grady Booch和Jim Rumbaugh将Booch 93和 OMT-2 统一起来,并于1995年10月发布了第 一个公开版本,称之为统一方法UM 0.8 (Unitied Method)。 • 经过单Boo击ch、此Ru处mba添ugh课和J程acob名son三人的共同 努力,于1996年6月和10月分别发布了两个新 的版本,即UML 0.9和UML 0.91,并将UM重新 命名为UML(Unified Modeling Language)。
标准建模语言UML(7)
2、 UML表示法
• 定义UML符号的表示法,为开发者或开发工具使用这 些图形符号和文本语法为系统建模提供了标准。
单击此处添课程名 • 这些图形符号和文字所表达的是应用级的模型,在语 义上它是UML元模型的实例。
标准建模语言UML(8)
标准建模语言UML的重要内容可由下列五类图来定义:
单击此处添课程名
• 结构化分析
• 结构化设计
• 结构化实现
单击此处添课程名
结构化分析(1)
• 传统的软件工程方法学使用结构化分析技术,完成分析 用户需求的工作
• 需求分析是发现、求精、建模、规格说明和复审的过程
单击此处添课程名 • 需求分析要尽可能准确地了解用户当前的情况和需要解 决的问题。通过与用户交流,对用户的基本需求反复细 化,以得出对目标系统的完整、准确和具体的需求
软件危机(2)
• 软件危机包含两方面问题:
• 如何开发软件,以满足不断增长,日趋复杂的需求 • 如何维护数量不断膨胀的软件产品
单击此处添课程名
软件危机(3)
• 软件危机的原因:
• 一方面是与软件本身的特点有关 • 一方面是由软件开发和维护的方法不正确有关
单击此处添课程名
软件危机(4)
• 为了消除软件危机,既要有技术措施(方法 和工具),又要有必要的组织管理措施。软 件工程正是从管理和技术两方面研究如何更 好地开发和维护计算机软件的一门新兴学科
结构化实现(4)
• 目前软件测试仍然是保证软件质量的关键步骤,它是对 软件规格说明、设计和编码的最后复审。
• 在测试过程发现的软件错误必须及时改正,这就是调试
的任务。 单击此处添课程名
5.3面向对象方法学
• 当软件规模较大或对软件的需求模糊易变时,采用生命 周期方法学开发往往不能成功。其原因是结构化范型技 术要么面向行为(对数据的操作),要么面向数据。
定。
• 编码使用的语言,特别是写程序的风格,也对程 序质量有相当大的影响。
结构• 软化件测实试在现软(件2生)命周期中横跨两个阶段。
• 在编写出每个模块之后就对它做必要的测试(称为单 元测试),模块的编写者和测试者是同一个人,编码 和单元测试属于软件生命周期的同一个阶段。在这个 阶段结束之后,对软件系统还要进行各种综合测试,
• 只有在科学而严格的管理之下,先进的技术方法和优秀
单击此处添课程名 的软件工具才能真正发挥出它们的威力。
• 软件项目管理是大型软件工程项目成功的关键。
计划(2)
• 软件项目管理从项目计划开始,而第一项计划活动就是 估算。
• 为了估算项目工作量和完成期限,首先需要预测软件规
单击此处添课程名 模。
• 度量软件规模的常用技术主要有代码行技术和功能点技 术。
单击此处添课程名
标准建模语言UML(6)
1、 UML语义 • 描述基于UML的精确元模型定义。 • 元模型为UML的所有元素在语法和语义上提供了简单、
单击此处添课程名 一致、通用的定义性说明,使开发者能在语义上取得一
致,消除了因人而异的最佳表达方法所造成的影响。 • UML还支持对元模型的扩展定义。
单击此处添课程名 • 面向对象方法把数据和行为看成同等重要,是一种以数 据为主线,把数据和对数据的操作紧密地结合在一起的 方法。
面向对象方法学的出发点和基本原则,是尽可能模
拟人类习惯的思维方式,使开发软件的方法和过程尽可 能接近人类认识世界解决问题的方法与过程,从而使描
单击此处添课程名 述问题的问题空间(问题域)与实现解法的解空间(求
5.1软件工程与软件过程
• 软件危机
ቤተ መጻሕፍቲ ባይዱ
• 软件工程
•
软件过程
单击此处添课程名
软件危机(1)
• 软件危机指的是在计算机软件的开发和维护过程 中所遇到的一系列严重问题
• 1968年北大西洋公约组织的计算机科学家在联
邦件德 危国 机召 ”开(单so的ft击w国a际r此e 学cr处i术sis会)添这议个课上名第词程一次名提出了“软
解域)在结构上尽可能一致。
• 面向对象分析
• 面向对象设计
• 面向对象实现
• 标准建模语单言U击ML 此处添课程名
面向对象分析
• 面向对象分析的关键工作是分析、确定问题域中的对象 及对象间的关系,并建立起问题域的对象模型。
• 大型、复杂系统的对象模型由五个层次组成:主题层、
单击此处添课程名 类―&―对象层、结构层、属性层和服务层。它们对应
标准建模语言UML(10)
标准建模语言UML的应用领域: • 建立软件系统的模型 • 描述非软件领域的系统
单击此处添课程名
UML是一个通用的标准建模语言,可以对任何具有 静态结构和动态行为的系统进行建模。
6.4软件项目管理
• 计划 • 组织 • 控制
• 国际标准 单击此处添课程名
计划(1)
• 软件工程包括技术和管理两方面的内容,是管理与技术 紧密结合的产物。
术和管理两个方面的内容,是管理与技术的 紧密结合
•
软件开发技术包括软件开发方法学、软件开
发过单程、击软件此工处具和添软课件工程程名环境,软件工
程管理包括软件管理学、软件经济学和软件
心理学
• 目前使用最广泛的软件工程方法学,分别是 传统方法学和面向对象方法学
软件过程 (1)
• 软件工程过程是为了获得高质量软件所需要完成的一系 列任务的框架,它规定了完成各项任务的工作步骤
单击此处添课程名 这是软件生命周期中的另一个独立的阶段,通常由专
门的测试人员承担这项工作。
结构化实现(3)
• 测试阶段的根本任务是发现并改正软件中的错误。 • 软件测试有两类方法:白盒测试和黑盒测试。 • 在测试过程的早期阶段主要使用白盒测试技术,在测试
的后期主要单使用击黑盒此测试处技术添。课程名
信中息 的隐 模藏 块和 独单模 立击块原独理此立,处等对基软添本件课设体计系程原结理 构名,设特计别和是接其口
设计具有非常重要、十分具体的指导作用
结构化实现(1)
• 实现包括编码和测试两个阶段。
• 传统的软件工程方法学规定编码是在对软件进行 了概要设计和详细设计之后进行的,编码是把软
件程设 序计 ,的 因经 此单过 ,击翻程译序此成的处用质某量添种基课程本序上程设由计 设名语计言的书质写量的决
单击此处添课程名
软件工程 (1)
• 软件工程是一类求解软件的工程,它应用计 算机科学,数学以及管理科学等原理,借鉴 传统工程的原则、方法,创建软件以达到提 高质量,降低成本的目的
• 软件单工程击是一此门处指导添计课算机程软名件开发和维护 的工程学科
软件工程(2) • 软件工程是一门交叉学科。软件工程包含技
单击此处添课程名
结构化分析(4)
• 建立模型使用的工具通常有:
• 实体——关系图(建立数据模型) • 数据流图(建立功能模型)
• 状态转单换图击(此建立处行为添模型课) 程名
• 数据字典则是描述在数据模型、功能模型和 行为模型中出现的数据对象和控制信息的特 性,给出这些对象的精确定义。
结构化设计(1)
着在建立对象模型的过程中所应完成的五项工作。
面向对象设计(1)
• 面向对象设计,就是用面向对象观点建立求解空间模型 的过程。
• 通过面向对象分析得出的问题域模型,为建立求解空间
单击此处添课程名 模型奠定了基础。
• 分析与设计本质上是一个多次反复迭代的过程,而面向 对象分析与面向对象设计的界限尤其模糊。
标准建模语言UML(4)
UML是一种定义良好、易于表达、功能强大且 普遍适用的建模语言。它溶入了软件工程领域的新思 想、新方法和新技术。它的作用域不限于支持面向对 象的分析与设计,还支持从需求分析开始的软件开发
的全过程单。击此处添课程名
标准建模语言UML(5)
• 作为一种建模语言,UML的定义包括: • UML语义 • UML表示法
面向对象设计(2)
优秀设计应该遵循一些基本准则 : • 模块化 • 抽象