大型程序开发方法1
常用编码方式介绍

常用编码方式介绍方法1:手工编写代码大多数刚学习 Java 的程序员,都会怀着一种崇敬的仪式感,一字一句地在开发工具上敲出以下代码:public class Test {public static void main(String[] args) {System.out.println("Hello world!");}}没错,这就是经典的"Hello world",这也是大多数人手工编写的第一个程序。
手工编写代码,更能体现一个程序员的基本素质。
有很多公司,都把上机编程考试作为面试的重要手段之一。
面试者需要根据题目的要求,挑选一款熟悉的编程工具(比如Eclipse),手工编写代码并调试运行通过。
在整个过程中,不能通过网络搜索答案,不能查看联机帮助文档,要求面试者必须手工编写代码,主要是考察面试者手工编写代码的能力——语法、函数、逻辑、思维、算法以及动手能力。
手工编写代码,是一个优秀程序员必须具备的基础能力。
手工编写代码正如提笔写文章,语法就是遣词造句的方法、函数就是组成文章的词句、类库就是据经引典的掌故、架构就是行文表述的体裁、功能就是写作文章的主旨、算法就是组织语言的逻辑……所以,只要掌握一门程序语言的语法、学习一堆基础类库的函数、引用一些所需的第三方类库、选择一款成熟稳定的架构、明确一下产品需求的功能、挑选一种实现逻辑的算法……手工编写代码就会像写文章一样手到擒来。
方法2:复制粘贴代码常言道:"熟读唐诗三百首,不会作诗也会吟。
"编码也是同样的道理,编码的第一步就是模仿,简单地说就是"抄代码"——复制粘贴代码。
复制粘贴代码是一门艺术,用好了编码会事半功倍。
但是,没有检验过的东西,终究是不可全信的。
当看到需要的代码时,在复制粘贴前,我们都需要仔细研读、认真思考、详细甄别……很多东西,都是仁者见仁、智者见智的东西,适合别的场景但不一定适合你的场景。
几种常见的软件开发模型分析

⼏种常见的软件开发模型分析概述软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。
软件开发包括需求、设计、编码、测试和维护阶段。
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,⽤来作为软件项⽬⼯作的基础。
对于不同的软件系统,可以采⽤不同的开发⽅法、使⽤不同的程序设计语⾔以及各种不同技能的⼈员参与⼯作、运⽤不同的管理⽅法和⼿段等,以及允许采⽤不同的软件⼯具和不同的软件⼯程环境。
最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。
该模型给出了固定的顺序,将⽣存期活动从上⼀个阶段向下⼀个阶段逐级过渡,如同流⽔下泻,最终得到所开发的软件产品,投⼊使⽤。
但计算拓⼴到统计分析、商业事务等领域时,⼤多数程序采⽤⾼级语⾔(如FORTRAN、COBOL等)编写。
瀑布模式模型也存在着缺乏灵活性、⽆法通过并发活动澄清本来不够确切的需求等缺点。
常见的软件开发模型还有演化模型、螺旋模型、喷泉模型、智能模型等。
典型的开发模型1. 边做边改模型(Build-and-Fix Model);2. 瀑布模型(Waterfall Model);3. 快速原型模型(Rapid Prototype Model);4. 增量模型(Incremental Model);5. 螺旋模型(Spiral Model);6. 演化模型(incremental model);7. 喷泉模型(fountain model);8. 智能模型(四代技术(4GL));9. 混合模型(hybrid model)1. 边做边改模型(Build-and-Fix Model)遗憾的是,许多产品都是使⽤"边做边改"模型来开发的。
在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要⼀次⼜⼀次地不断被修改. 在这个模型中,开发⼈员拿到项⽬⽴即根据需求编写程序,调试通过后⽣成软件的第⼀个版本。
1.程序设计基本方法

高级语言
源代码
解释器
Hale Waihona Puke 输出输入编译和解释
编译是一次性地翻译,一旦程序被编译, 不再需要编译程序或者源代码。 对于相同源代码,编译所产生的目标代码执 行速度更快。 目标代码不需要编译器就可以运行,在同类 型操作系统上使用灵活。
编译和解释
解释则在每次程序运行时都需要解释器和源代码。 解释执行需要保留源代码,程序纠错和维护十分 方便。 只要存在解释器,源代码可以在任何操作系统上 运行,可移植性好 。
工智能阶段”
程序设计语言
程序设计语言概述
经历的发展过程
机器语言 汇编语言 高级语言 朝着更接近自然语言的方向发展
程序设计语言概述
机器语言 机器语言是一种二进制语言,它直接使用二
进制代码表达指令,是计算机硬件可以直接识别 和执行的程序设计语言。
例如:执行数字2和3的加法,16位计算机上 的机器指令为:11010010 00111011,不同计算 机结构的机器指令不同。
安装
安装 如果选择的是Windows-System Installer 64bit版本。下载完成的软 件是一个名为VSCodeSetup-x64-1.35.0.exe的可执行文件。
简单使用
打开或者创建项目目录 在某个盘下创建一个不含中文字符的英文目录,强烈建议,不要在 程序目录或者程序的文件名中使用中文字符。
随书代码的使用 运行程序文件
在左侧单击datatypes.py,即可看到datatypes.py文件被打开,且处于可编辑状态。
启动
方法1:启动Windows命令行工具,输入python
启动
方法2:调用IDLE来启动Python图形化运行环境
启动
游戏开发实战教程(Unity+C#)第1章 C#程序设计基础

1.1.2 .NET Framework
• .NET Framework又叫.NET框架(也可简称为.NET),它是完全面 向对象的软件开发和运行平台。.NET Framework由公共语言运行 库
• 1. CLR • 2. BCL • 3.
1.1.3 C#语言
• C#语言是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,由C和C++衍生而来。C#看 起来与Java非常相似,它包括了诸如单一继承、接口以及与Java几 乎同样的语法和编译成中间代码再运行的过程。但是C#与Java又 有明显的不同,C#借鉴了Delphi的一个特点,与COM (Component Object Model,组件对象模型)是直接集成的,而 且它是微软公司 .NET Windows网络框架的主角。
1.1.4 编译与运行C#应用程序
• C#命令行编译器是编译与运行控制台实例程序最简单的方法,虽 然Visual Studio IDE(Integrated Development Environment,集成开 发环境)可以用于商业用户,但也可能会生成一些用不到的文件, 用C#命令行编译器来创建和运行程序可以避免这一情况,通过C# 命令行编译器创建运行程序需要按照以下步骤进行。
• 1. Visual Studio 2019新功能 • 在微软Visual Studio 官网上称Visual Studio是“面向任何开发者的
同类最佳工具”,具有功能完备的IDE,可用于编码、调试、测试 和部署到任何平台。Visual Studio 2019可以更快地进行代码编写, 更智能地执行操作。
• .NET就是微软公司用来实现XML、Web Services、SOA(Service Oriented Architecture,面向服务的体系结构)和敏捷性的技术。 从技术的角度,一个.NET应用是一个运行于.NET Framework之上 的应用程序。更准确地说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行库(Common Language Runtime,CLR)之上的应用程序。
本科专业认证《程序设计、算法与数据结构(一)》教学大纲

《程序设计、算法与数据结构(一)》教学大纲课程编号:0812000217课程名称:程序设计、算法与数据结构(一)英文名称:Programming,Algorithm and Data Structure I学分:3 课程性质:必修总学时:48 其中,讲授48学时,实验0学时,上机0学时,实训0学时适用专业:网络工程建议开设学期: 1先修课程:无开课单位:计算机与通信工程学院一、课程简介《程序设计、算法与数据结构(一)》是计算机科学与技术、软件工程、网络工程、通信工程专业基础课程,是课程群的启蒙课,也是学生进入大学后的第一门程序设计类课程,其目的是以C语言程序设计为基础,使学生熟悉C程序设计的基本语法,通过大量的编程练习,引导学生进入程序设计的殿堂,培养学生基本的数据结构和算法分析能力,为后续课程的学习打下基础。
二、课程目标与毕业要求依据2017培养方案中的毕业要求,考虑本课程与专业毕业要求的支撑关系,制定本课程学习目标。
课程目标1:通过程序三种基本控制结构,函数等知识点的学习,要求学生掌握结构化程序设计的基本思想,深入领会自顶向下、逐步求精的设计方法,识别网络工程项目的设计与开发过程中功能模块划分的问题。
(支持毕业要求 2.1能运用数学、自然科学及网络工程的基本原理,识别和判断网络工程问题的关键环节。
)课程目标2:在程序设计C语言后阶段学习过程中,针对成绩管理信息系统大作业的要求,将同学分组了解系统功能与应用背景,对具体的开发任务进行分工联调并编程实现。
通过系统实现强化个体的角色意识和团队意识。
(支撑毕业要求9.1:能够理解多学科背景下的团队中每个角色的定位与责任,具有团队合作意识,能够胜任个体、团队成员的角色任务。
)课程目标3:通过学习标准的C语言程序设计语法,运用函数、线性表、字符串、链表等基本知识,通过学习算法的描述方法,使学生能将实际问题转换成计算机描述的算法问题,培养学生运用程序算法的描述方法进行交流的能力。
PowerBuilder程序设计基础 第一章

PowerBuilder建立了因特网和内部网上的分布式应用,完全支持WWW (World Wide Web)应用的开发环境。
总之,在数据库开发工具领域,PowerBuilder是极其优秀的,利用它可以开 发出功点
PowerBuilder是一种非常优秀的数据库开发工具,在上一小节中我们 大概了解了其特性。下面我们就来系统地看一看它的主要特点。
第一章 PowerBuilder概述
PowerBuilder是由多个功能模块构成的可视化集成开 发环境,是一种面向对象的、快速的数据库应用开发工具。 PowerBuilder具有开发功能强大、开发质量高的突出特点, 其强大的数据库开发能力、自由的编程风格、友好的界面 以及对Web的完全支持都受到用户的青睐。下面让我们来 具体看一下吧!
1.1PowerBuilder简介 1.2安装PowerBuilder8.0 1.3PowerBuilder8.0集成开发环境
1.1PowerBuilder简介
1.1.1PowerBuilder的概述
PowerBuilder是著名的数据库应用开发工具生产厂商Sybase Inc.的子公司 PowerSoft在1991年推出的数据库应用开发工具。现在已经经历了多次版本 升级。PowerBuilder除了能够设计传统的高性能、基于客户/服务器 (Client/Server)体系结构的应用系统外,也能够创建基于Windows的分布 式数据库系统,还可以开发基于Internet的应用系统。
Visual C#程序设计应用教程第1章-C#和Visual Studio 2015

括主函数Main()。
程序总是从Main()方法开始执行程序中只能使用一个Main()方法。
控制台程序中,输入输出功能是通过Console类来完成的
1.3.2 控制台的输入输出
C#语言的I/O主要是通过命名空间System中的Console类实现的,该类给出了标准的 输入和输出方法。 1.输入 实现控制台输入的方法:Read()和 ReadLine()。 Conso1e.Read(); 例: int i =Console.Read(); 2.输出 实现控制台输出方法:Write()和WriteLine()。可以输出一个或多个值, Console.Write("格式串",参数表); 例:Console.Write("我的姓名{0},年龄{1}岁。", Name, Age);
1.3.1 创建控制台应用程序
【例1-1】创建一个控制台应用程序
(1)启动Visual Studio 2015。 (2)依次选择【文件】->【新建】->【项目】菜单命令,打开【新建项目】对话框。 (3)在【项目类型】窗口中选择【Visual C#】节点,然后选择【Windows】->【控制 台应用程序】菜单命令。输入应用程序名称并选择合适的路径保存。 (4)单击【确定】按钮。Visual Studio将创建控制台应用程序项目 ,并在【解决方 案资源管理器】中列出为当前项目自动生成的文件,同时在编辑器窗口中显示出
发的。
C#语言是一种可以单独学习的程序设计语言。 C#语言是建立在.NET 框架环境之上的。
1. 1 C#语言简介
.NET框架的组成
1. 1 C#语言简介
C#语言的特点
简单易学 面向对象 与Web的紧密结合 安全稳定 支持多线程 丰富的类库
开发一个多语言应用程序的方法和技巧

开发一个多语言应用程序的方法和技巧随着全球化的趋势,多语言应用程序的需求不断增加,这也促使着越来越多的开发人员争相掌握多语言应用程序的开发技巧。
但实际上,对于许多开发人员来说,如何开发一个稳定、高效并且能够支持多语言的应用程序,仍然是一个棘手的问题。
本文旨在为初学者提供一些有关多语言应用程序的开发方法和技巧。
什么是多语言应用程序?首先,让我们先了解什么是多语言应用程序。
多语言应用程序是指一种能够支持多种不同语言的应用程序,一般包括了界面翻译、内容翻译等功能。
在开发一个多语言应用程序时,开发人员需要考虑到许多因素,包括编程语言、应用程序框架和本地化等等。
多语言应用程序的开发方法和技巧1.选择合适的编程语言选择一个合适的编程语言是开发多语言应用程序的首要因素。
开发人员需要考虑到编程语言的国际化和本地化支持。
举个例子,像Java这种编程语言就天生支持国际化和本地化功能,因此对于开发多语言应用程序来说,Java是一个十分不错的选择。
此外,Python也是一个十分流行的用于开发多语言应用程序的编程语言。
2.使用统一的资源文件在开发多语言应用程序时,常常需要涉及到各种不同的资源文件,例如文本文件、图像文件等等。
因此,使用统一的资源文件并进行封装是一个必要的步骤。
封装资源文件的好处是可以将不同语言版本的内容分开管理,这有助于开发人员更有效地跟踪和更新资源文件。
3.使用本地化支持框架选择适合的本地化支持框架对于开发多语言应用程序至关重要。
本地化支持框架提供了多种跨平台的本地化功能,包括多语言界面、编码转换、日期时间格式化等。
目前比较常用的本地化支持框架包括Qt、DevExpress、JavaFX等。
4.字符编码注意事项在开发多语言应用程序时,字符编码也是一个十分重要的问题。
开发人员需要选择合适的字符编码方式来进行编码和解码。
通常,UTF-8是一个不错的选择,它支持多种语言,包括英文、法文、中文、希腊文等等。
5.使用机器翻译和人工翻译相结合的方式在本地化时,按照语言逐个翻译是一种最常见的方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应 用 实 例
第1章 大型程序的开发方法
“扫雷”案例:分析 扫雷”案例:
Windows扫雷游戏的游戏规则 : 扫雷游戏的游戏规则 扫雷游戏的 在“游戏”菜单上,单击“开局 开局”,出现的游戏界面中包括地雷计 开局 数器窗口、计时器窗口和雷区。开局后,单击雷区中的任何一个方块 ,便启动计时器。每标记一个地雷,地雷计数器减1; 用鼠标左键单击某个方块,可挖开 挖开它。若所揭方块下有雷,则踩雷 挖开 ,此时所有含地雷的块都标记 ,这局游戏失败;如果方块上出现数 字,它代表在它周围的八个方块中共有多少颗地雷; 用鼠标右键单击某个方块,则标记此块下埋着地雷(实际上可能是 误标),显示为。每标记 标记一个地雷,地雷计数器减1; 标记 用鼠标右键击打某个方块两次,则在某块上面标一个问号 问号(?),意味 问号 着没有把握判定它是否有雷。标记为?的块可在恰当的时候再击打鼠 标右键两次或单击左键,将其标记为地雷或挖开; 如果某个数字方块周围的地雷全都标记完,可以同时单击鼠标左右 键,将其剩下的方块挖开 挖开。如果挨着这个方块的地雷没有全部标记完 挖开 ,则未挖开的方块将闪烁。
扫雷程序系统
开局
输入
输出
挖雷
标记 地雷
标记疑 问
自动挖 开
扫雷系统的顶层层次图
第1章 大型程序的开发方法
“扫雷”案例:设计 扫雷”案例:
自顶向下逐步求精: 自顶向下逐步求精: 继续分析已有功能,精化出所有子功能,确定 模块间接口; 描述精化后每个模块的处理过程; 确定主要的数据及其数据结构; 确定输入输出数据的内外部形式; 界面的设计
第1章 大型程序的开发方法
软件工程开发方法的介绍
编码时注意的问题: 风格——全局变量使用具有说明性的名字,局部变 风格 量用短名字 ——表达式和语句采用一致的缩进风格、使用 表达式的自然形式、分解复杂的表达式、当心具有 副作用的运算符 ——神秘的数最好要命名,利用语言去计算对 象的大小 ——除了定义符号常量外,最好避免使用宏 ——注释时要注意不要大谈明显的东西,要给 函数和全局数据加注释
第1章 大型程序的开发方法
“扫雷”案例:设计——主要数据 扫雷”案例:设计 主要数据
光标当前位置数据
int pi,pj; /* 记录光标的当前位置,初始时光标在(0,0)*/ int di[8]={-1,-1,0,1,1,1,0,-1}; int dj[8]={0,1,1,1,0,-1,-1,-1}; /*相对于当前方块而言,di[8]和dj[8]分别表示了它周围八个 方块的行和列坐标偏移量。它们与当前光标坐标配合使用, 可表示周围的方块,如(-1+pi,0+pj)表示当前方块的 正上方方块的坐标。*/
第1章 大型程序的开发方法
“扫雷”案例:设计——界面 扫雷”案例:设计 界面
第1章 大型程序的开发方法
“扫雷”案例:设计——操作方式 扫雷”案例:设计 操作方式
采用键盘: 采用键盘: 键盘 上,下,左,右键用来移动光标的位置; 回车或者空格键用来挖开光标当前指向的一个方块; F, f 标记当前光标指向的方块有地雷; Q, q 在光标指向方块打一个问号,表示可能有地雷; A , a 自动挖开光标周围的方块; ESC 退出游戏
问题定义 功能分析 程序设计 编码 测试 维护
第1章 大型程序的开发方法
软件工程开发方法的介绍
结构化程序设计方法:是一种设计程序的技术, 采用自顶向下逐步求精的设计方法和单入口单出 口的顺序、选择和循环三种基本控制结构。它提 出的原则可归纳为32字:“自顶向下,逐步细化 ;清晰第一,效率第二;书写规范,缩进格式; 基本结构,组合而成。”
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:结构化程序设计方法
问题的顶层表示 应 用 实 例 分析认证考试的结果并决定培训费是否提高
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:结构化程序设计方法
第一次求精结果 应 用 实 例 √ 初始化变量; √ 输入500个考试结果,统计通过和未通过 的人数; √ 打印统计结果,并决定培训费是否提高。
第1章 大型程序的开发方法
软件工程开发方法的介绍
测试和调试方法: 调试(即排错)是在已知程序有问题时要做的事情 调试 ——寻找熟悉的模式 ——检查最近的改动 ——不要两次犯同样的错误 ——现在排除,而不是以后 ——把你的代码解释给别人 ——分而治之,搜索局部化
第1章 大型程序的开发方法
主要内容
软件工程开发方法的介绍 “扫雷”案例的讲解 开发方法的实践要求
第1章 大型程序的开发方法
软件工程开发方法的介绍
测试和调试方法: 测试是在认为程序能工作的情况下,为发现其问题而 测试 进行的一整套确定的系统化的实验 ——白盒测试相当于把程序看成装在一个透明的 白盒子里,也就是完全了解程序的结构和处理方法。 它根据程序内部的逻辑来设计测试用例,检查程序中 的逻辑路径是否都按预定的要求正确地工作。常用的 技术包括语句覆盖、判定覆盖、条件覆盖、判定/条 件覆盖、条件组合覆盖、路径覆盖等。
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:结构化程序设计方法
问题描述 应 用 实 例 某学院为准备参加网络工程师认证的人员开办了 相应的培训课程。当首批培训人员参加了认证考 试后,该学院自然想知道这些学生考得如何,以 便调整教学方案和收费标准。现在需要编写一个 统计考试结果的程序,能够显示出通过和没有通 过的人数,并且如果通过人数不低于总人数的 70%,显示提高学费的建议。已知参加考试的人 员有500名,并且已经在通过者的名字旁边标注 了1,在未通过者的名字旁标注了2。
第1章 大型程序的开发方法
“扫雷”案例:分析 扫雷”案例:
主要功能: 主要功能: 规则1)隐含初始化新游戏的开局功能; 规则2)隐含的挖雷功能; 规则3)对应的标记地雷功能; 规则4)对应的标记疑问功能; 规则5)的自动挖开功能。 操作手段: 操作手段:鼠标(或键盘)
第1章 大型程序的开发方法
“扫雷”案例:设计 扫雷”案例:
第1章 大型程序的开发方法
“扫雷”案例:设计——主要数据 扫雷”案例:设计 主要数据
雷区界面数据
# define ROW 16 # define COL 16 # define STARTX 50 # define STARTY 50 # define SIZEX 20 # define SIZEY 20 /* 表示整个雷区的行数*/ /* 表示整个雷区的列数*/ /* 表示雷区在屏幕上的起始x坐标*/ /* 表示雷区在屏幕上的起始y坐标*/ /* 表示一个方块的长度*/ /* 表示一个方块的宽度*/
求精结果 源程序
应 用 实 例
第1章 大型程序的开发方法
软件工程开发方法的介绍
三种描述设计的图形工具: 层 次 图——用来描述软件层次结构
程序流程图——是历史最悠久、使用最广泛 程序流程图 的描述软件设计的方法 盒 图——是一种很好的支持结构化程序 设计思想的图形工具
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:描述设计的图形工具
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:生命周期方法学
软件生命周期每个阶段及其解决的关键问题
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:生命周期方法学
瀑布模型
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:大型程序开发流程
正文加工系统的层次图 应 用 实 例
第1章 大型 软件工程开发方法的介绍:描述设计的图形工具
程序流程图 相应的盒图
应 用 实 例
第1章 大型程序的开发方法
软件工程开发方法的介绍
编码时注意的问题: 全局变量——应该“有限制地使用全局变量”。 全局变量 使用全局变量过多,会降低程序的清晰性;降低 函数的通用性;滥用全局变量会造成程序的混乱 函 数——“工欲善其事,必先利其器”。我 们在编写大型程序时,要善于利用已有的函数, 以减少重复编写程序段的工作量
第1章 大型程序的开发方法
软件工程开发方法的介绍: 软件工程开发方法的介绍:结构化程序设计方法
问题分析 应 用 实 例 1)程序必须要处理500个应试者的考试结果,所 以要使用循环; 2)每个考试结果都是一个数,即1或2。程序每 次读取一个结果后,必须确定该数是1还是2; 3)使用两个计数器。一个用于计算通过考试的 人数,另一个用于计算没有通过的人数; 4)程序处理完所有结果后,必须判断是否有70% 以上的人员通过了认证考试。
第1章 大型程序的开发方法
“扫雷”案例:设计——主要数据 扫雷”案例:设计 主要数据
雷区内部数据
int totalMine; /* 整个雷区所含的地雷总数*/ 对应方块是否有雷:1有雷,0无雷*/ int num[ROW][COL]; int flag[ROW][COL]; /* 数组num的每个元素值记录了雷区 对应方块周围有多少个地雷*/ /* 数组flag的每个元素值记录了雷区 对应方块当前的状态*/ int table[ROW][COL]; /* 数组table的每个元素值记录了雷区
第1章 大型程序的开发方法
软件工程开发方法的介绍
测试和调试方法: 测试是在认为程序能工作的情况下,为发现其问题而 测试 进行的一整套确定的系统化的实验 ——黑盒测试相当于把程序看成一个黑盒子,不 考虑内部结构和处理过程。它根据规定的功能来设计 测试用例,检查程序的功能是否符合要求。常用的技 术包括等价类划分和边界值分析等。