设计与分析的方法及建模
頻出约 30 分钟5 个术语过去问 12 题
本单元目标
- 能够从以什么为单位进行设计这一点,分辨逐层拆分功能的结构化方法与把数据和操作合为一体的面向对象。
- 能够说明用例描述的是什么,以及它与 UML 的关系。
- 能够把逆向工程理解为从现有成果物中提取规格和设计信息的技术。
术语总表(5 个)
术语
结构化方法(構造化手法)是以功能(处理)为单位看待系统,把大的功能自上而下逐步拆分成更细功能的设计方法。
拆分的标准是“系统要做什么”,同时还要整理拆出的各功能之间流动着什么数据。把这种流动画成图时,例如可以使用 DFD(数据流图)。
类比就像制定大扫除计划时,从整个家分到各个房间,再从房间分到“擦地板”“擦窗户”这样一项项具体的活儿,逐条写下来。
记法“结构”指建筑的骨架。先定好整体骨架,再往下落到细节,从字面就能想起来。
考点
- 易混结构化方法(構造化手法)指的是设计的推进方式本身,而 DFD 是在其分析过程中用来画出处理与数据流向的图法。
该术语的过去问 1 题 構造化手法 →
面向对象(オブジェクト指向)是以把数据和处理该数据的操作合为一体的对象为单位来构建系统的思路。
← 图可左右滑动查看 →
对象的模板叫作类,由类生成实际运行的对象。代表性的特性有:对外隐藏内部的封装、继承上层类性质的继承,以及对同一指令各对象表现出不同动作的多态。
类比家电遥控器只要按下按钮就能用,不必了解里面的电路。把内部包起来、只向外露出操作入口这一点,和对象很像。
记法封装在日语里叫“カプセル化”(胶囊化):就像药品胶囊一样,把内容物包在外壳里。
考点
- 常考使用方只需向对象发送请求,即使不了解其内部数据的存放方式和处理的构造,也能使用其功能。这就是封装(カプセル化)的效果。
- 常考继承(継承)是下层类沿用上层类所具有的数据和操作的机制,共通部分不必重写就能作为部件复用,从而提高开发效率。
- 易混结构化方法(構造化手法)以功能为单位拆分设计,面向对象(オブジェクト指向)则以数据与操作的组合为单位设计。
该术语的过去问 2 题 オブジェクト指向 →
用例(ユースケース)是针对用户(参与者)使用系统达成目的的每个场景,写出用户与系统之间交互的描述。
参与者不限于人,也包括与系统交互的外部系统。用例写的不是系统内部如何处理,而是从外部看能做什么,所以用于整理需求的阶段。
类比就像戏剧剧本按场景写出演员之间的台词往来,却不写后台的机关装置。
记法英语 use case 直译就是“使用的场景”。从名字就能想起:按场景一个一个地写。
考点
- 常考用例(ユースケース)依据用户使用系统的情节(场景,シナリオ),描述用户做什么、系统如何回应。
该术语的过去问 1 题 ユースケース →
UML(统一建模语言)是为了用图表示系统的结构和行为,而规定了图的种类和画法的标准表示法。
UML 广泛用于面向对象的分析和设计,不受特定编程语言或产品的限制。图的种类按用途分别准备,可以根据目的选用。
类比乐谱的符号是统一规定的,所以无论谁来读,演奏出来的都是同一首曲子。UML 就像把设计画成图的通用乐谱。
记法U 是 Unified(统一)。它由此前各自独立的多种表示法合而为一诞生,这段经历就留在了名字里。
考点
- 常考UML 不仅有表示结构的图,也有表示行为的图,例如用活动图(アクティビティ図)就能画出业务步骤的流程。
- 易混用例(ユースケース)图是 UML 规定的图之一,而 UML 指的是包括它在内的整套图形表示法体系。
该术语的过去问 1 题 UML →
逆向工程(リバースエンジニアリング)是对已有的程序或产品进行分析,从中提取其规格和设计信息的技术。
它与从设计出发制作产品的常规开发(正向工程)方向相反,是从成品回溯到设计。提取出的信息可作为现有系统的维护、重新开发以及产品技术调查等的资料。
类比就像把一只旧钟拆开,查看零件的形状和组合方式,重新画出已经失传的设计图。
记法reverse 意为“反向”。和汽车的倒挡(R 挡)一样,是把通常的开发路线倒着走一遍。
考点
- 常考逆向工程(リバースエンジニアリング)通过分析程序来调查规格、提取设计信息。对象不限于软件,也包括拆解产品、弄清其构造。
- 易混重构(リファクタリング)是在保持外部可见行为不变的前提下整理程序内部结构的活动,与从现有成果物中提取规格和设计信息的逆向工程(リバースエンジニアリング)目的不同。
该术语的过去问 3 题 リバースエンジニアリング →
要点
- 结构化方法把系统按功能划分,自上而下逐步细化。
- 面向对象通过封装隐藏内部、通过继承沿用共通部分,从而推进部件的复用。
- 用例按用户使用系统的每个场景,写出从外部看到的交互。
- UML 是能用图同时表示结构和行为的标准表示法。
- 逆向工程分析现有的程序或产品,从中提取规格和设计信息。
查看这个领域的全部过去问 →