2024软件设计师笔记之考点版(一考就过):考试前一天 考点记忆版

软件设计师之一考就过:成绩版

在这里插入图片描述

1、栈区:函数调用和返回,由系统控制;存非静态局部变量;用栈实现嵌套调用(递归调用),逆波兰式业绩也叫后缀式,用栈进行求值
2、堆区:用户在程序中释放,动态存储区域;malloc、calloc、realloc、new 等动态分配函数;
3、静态数据区:存全局变量、静态变量;
4、内部总线:芯片与处理器之间通信的线
5、系统总线:CPU、主存、外设之间的线
6、外部总线:计算机和外部的线。
7、Cache 与 主存映射是硬件自动。
8、虚拟存储二级是主存与辅存。
9、立即寻址(操作数本身)>寄存器寻址(寄存器编号)>直接寻址(操作数在主存地址)> 间接寻址
10、CISC 复杂指令、多、可变、微程序实现。
11、RISC 精简、少、硬件(硬布线)实现。
12、多级中断用堆栈
13、中断与DMA是CPU与外设并行,中断与DMA是数据地址是主存物理地址。
14、程序控制:串行。
15、无条件传送、程序查询、中断都需要CPU执行指令传送数据;DMA 不需要CPU,因为是直接主存存取。
16、主存主要由 DRAM 构成;
17、DRAM 电容破坏、要刷新、速度慢、集成度高、但功耗和成本低,用于内存;
18、SRAM 触发器、非破坏、不用刷新、速度快、集成度低、但功耗和成本高,用于Cache
19、磁盘调度先移臂,再旋转
20、先来先服务、最短寻道、扫描(电梯)会变向,单向扫描不会变向
21、(计算)流水线周期:几段时间最长的那个;流水线执行时间:1条指令总时间+ (总指令条数 - 1)* 流水线周期;吞吐率:指令条数/流水线执行时间;加速比:不使用流水线时间/使用流水线时间
22、原码直观;反码加减只需对应位相加并进位,存在两个零值;补码只有一个零值,通过减法可实现加法,直接用于加减运算;移码方便浮点数处理和运算。
23、正数原、反、补一样;负数反码为原码除符号位取反;负数补码为反码加1;正负数移码为补码的符号位取反
24、CPU 与 I/O 交换数据是异步的,管理键盘最合适采用的I/O控制方式是中断方式
25、(计算)串联:R = R1 * R2;并联:R = 1 - (1 - R1) * (1-R2)
26、奇偶校验只能检1位错,不能纠错;CRC 也是只检错不纠错;海明码利用奇偶性可检错、可纠错
27、海明码的校验位位于2的n(n = 0,1,2…)次方中,即1,2,4,8,16,32…位置:32 + 6 (1,2,4,8,16,32) = 38,到不了第7位校验位(64),因为38 < 64,所以32位至少主要6个校验位
28、TCP 可靠:POP3、FTP、HTTP、TELNET、SMTP;UDP不可靠但适合大数据
29、七层网络模型:物理终极(中继、集线)、数链忘角(网桥、交换)

比如要发送你好:

物理层(传输位):转为比特流,将它放到光纤、网线等传输介质上,之后就需要知道传输给谁。(中继器、集线器,中继器只有2个端口,集线器多个)

数据链路层:基于 MAC/网卡地址来确认要传到哪一个网卡上。(网桥、交换器,交换器等同于多端口网桥)

网络层(路由选择,传送包):确定传输到哪个IP地址上、哪个计算机网络终端上(此时 你好 就已经从一台计算机发送到另一台计算机上了)(路由器)

**传输层(端口到端口传输,可靠信道):**消息还要到具体的端口上,比如微信聊天、电子邮件不同的服务监听不同的端口。比如微信聊天根据监听的端口确定了 你好 这个消息就是发送给微信的,而不是发送给电子邮件的等。

**会话层(进程建立):**到了B计算机的微信后,可能还需要一些处理。比如微信的进程来处理。

表示层(数据转换):数据的转换(格式转换、压缩、加密等)

应用层:提供各种不透明的服务。

​ 广播域 冲突域

物理层 × ×

数据链路层 × √

网络层 √ √

× 和 √ 表示是否可以隔离。

在TCP/IP网络中,建立连接进行可靠通信是在(传输层)完成的,此功能在OSI/RM中是在(会话层)来实现的。

30、文件传输数据20、控制21;Telnet 23;SMTP 简单邮件 25;DHCP 67(服务端)、68(客户端);TFTP 简单文件 69;HTTP 80;POP3 110;HTTPS 443
31、对称加密:加解密相同:RC5、AES、DES、3DES
32、非对称加密:公钥加密,私钥解密:RSA、DSA、ECC、背包算法
33、数字签名:私加公解;数字证书、CA:基于数字签名
34、数字信封:对称加密算法加密数据;非对称加密算法对对称加密的秘钥 加密
35、信息摘要:哈希函数生成,MD5(128位)、SHA-1(160位)
36、署名、修改、作品完整没有限制;职务作品著作权归单位、署名权【可】归作者;委托创作有合同归委托、没有归创作方;专利谁先申请谁拥有而不是谁先发明
37、防火墙相当于大门,控制进出数据、流量信息日志、隐藏内部IP、细节;从低到高位外网、DMZ、内网;入侵检测 IDS 相当于监控;入侵防御系统 IPS 相当于可以触发主动发射“防御箭”等的机关:比如直接阻断
38、有输入没输出是黑洞加工;有输出没输入是奇迹加工;输入不足以产生输出是灰洞加工
39、功能建模用数据流图;数据建模用E-R图;行为建模用状态转换;接口设计阶段依据的时需求分析阶段的数据流图
40、关键路径虽然是最短工期,但却是从开始到结束 时间最长的路径
41、词法分析(字符流):从左到右一个一个字符(比如int单词是否正确);语法分析(记号流):语句结构是否合法(比如int a = 5; 这个句子是否正确、括号是否配对等);语义分析:类型审查(类型匹配、除法除数不为0等)
42、死锁:n 进程每个进程都要R资源,死锁最大资源数:n * (R - 1);不死锁最小资源数:n * (R - 1 ) + 1
43、运行态:有数据有CPU;就绪态:有数据无CPU;阻塞(等待)态:无数据无CPU;运行的时间片到就为了就绪(丢了CPU);拿到CPU的就绪就变为运行态;
44、瀑布模型:要明确需求;
V模型:要明确需求,重视测试;螺旋模型:强调风险、适合大型;原型:适合需求不明确、小型软件;
增量模型:优先核心,分期增量;
喷泉模型:面向对象、适合大型;
构件模型:构件复用(构件模型本质是演进模型,以迭代方式构建、采用预先打包,不一定必须采用面向对象)
45、内聚:偶逻时过通顺功;耦合:无数标记控外公

耦合:模块与模块之间,模块与模块之间的关联程度越低,越好。

内聚:模块内部的功能点要关联程度越紧密越好,因为这些功能点是共同支撑这个模块的。

内聚分类定义记忆关键字
偶然内聚一个模块内的各处理元素之间没有任何联系无直接关系
逻辑内聚模块内执行若干个逻辑上相似的功能,通过参数确定该模型完成哪一个功能逻辑相似、参数决定
时间内聚把需要同时执行的动作组合在一起形成的模块同时执行
过程内聚一个模块完成多个任务,这些任务必须按指定过程执行指定的过程顺序
通信内聚模块内的所有处理元素都在同一个数据结构上操作相同数据结构、相同输入输出
顺序内聚密切相关于同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入顺序执行、输入为输出
功能内聚最强的内聚,模块内所有元素共同作用完成一个功能共同作用,缺一不可
聚合分类定义记忆关键字
无直接耦合两个模块没有直接关系无直接关系
数据耦合传递的是简单的数据值,值传递传递数据值调用
标记耦合传递数据结构传递数据结构
控制耦合传递控制变量,根据变量值有选择的执行某一功能控制变量、选择执行某一功能
外部耦合通过软件之外的环境联合(如I/O将模块耦合到特定的设备、通信协议)软件外部环境
公共耦合通过外部的公共数据相互作用公共数据结构
内容耦合一个模块使用另一个模块的内部数据或通过非正常入口转入另一模块内部模块内部关联
46、水晶:不同项目不同策略;特征驱动:模型驱动,中小型、需求变动型;SCRUM:迭代增量、30天冲刺,小型发布;极限编程XP:测试线性,沟通、简明、反馈、勇气

真题1:以下关于极限编程XP中结对编程的叙述中,不正确的是(编码速度更快)。

真题2:极限编程的十二个最佳实践不包括(精心设计)。

十二个包括:计划游戏、小的发布、系统隐喻、简单设计、测试驱动、重构、结对编程、集体所有权、持续集成、每周工作40小时、现场客户和编码标准。

真题3:敏捷开发方法 Scrum 步骤不包括(B)

A、Product Backlog B、 Refactoring C、Sprint Backlog D、Sprint

需求分析对应验收测试:验需

概要设计对应系统测试:系概

详细设计对应集成测试:集详

编码和实现对应单元测试:单编

47、程序流程图PFD:顺序、选择、循环;IPO 图:流程描述,每个模块输入、输出和数据加工;N-S 盒图:表示嵌套和层次关系,不适合复杂;问题分析PAD图:结构化程序设计,以流程为中心;BPR 根本性再思考,以流程为中心,以人为本,以客户为导向
48、系统设计:概要设计、详细设计;概要设计又叫系统总体结构设计:模块及模块间的功能调用、接口设计;详细设计:模块内详细算法、模块内数据结构、模块内物理

真题1:软件详细设计阶段的主要任务不包括(C)

A、数据结构设计 B、算法设计 C、模块之间的接口设计 D、数据库的物理设计

多扇入,少扇出:扇入是别人调用你;扇出事你调用别人

49、测试策略:自底向上驱动程序、自顶向下桩程序

测试的顺序为:单元测试->集成测试->系统测试->确认测试。

单元测试就是针对单个的模块进行测试,依据是软件详细设计说明书。

集成测试就是针对模块间进行测试,依据是软件概要设计文档。

确认测试就是针对整个系统的功能、性能等,依据是需求文档。

50、(计算)可维护性:1/(1+MTTR)、可靠性:MTTF/(1+MTTF),易分析性、易测试属于可维护
51、黑盒测试:等价类划分、边界值划分;白盒测试:语句覆盖、判定(分支)覆盖、条件覆盖、条件判断组合覆盖、路径覆盖
52、(计算)软件度量 McCabe:m - n + 2,即 边数 - 顶点数 + 2
53:实体类:人、物;接口(边界)类:Web窗体、弹窗、菜单、二维码等;控制类:控制活动流
54、多态:不同的对象收到同一个消息时产生完全不同的结果。包括参数多态(不同类型参数多种结构类型)、包含多态(父子类型关系)、过载多态(类似于重载,一个名字不同含义)、强制多态(强制类型转换)四种类型。
55、重载是同一个类中方法之间的关系,而覆盖是父类和子类之间的关系

在这里插入图片描述

56、覆盖:子类在原有父类接口的基础上,用**适合于自己要求的实现去置换父类中的相应实现。**即在子类中重定义一个与父类同名同参的方法。
57、单一责任原则;开放-封闭原则:扩展开放,修改封闭;里氏替换:子类替换父类;依赖倒置:细节依赖抽象;接口分离:依赖抽象,不依赖具体;共同重用:重用包中所有类;共同封闭:同一类性质变化,则包中所有类产生影响,而对其他包无影响。
58、UML 类图:系统词汇、简单协作、逻辑数据库模式建模;类图:静态,对象、接口、协作及它们之间的关系:有属性、操作、角色、关联、依赖、泛化、接口、多重度等;

在这里插入图片描述

在这里插入图片描述

59、对象图:静态,某一时刻一组对象及它们之间的关系:有用例、参与者、扩展、包含、泛化。

在这里插入图片描述

60、扩展是 A 操作之后,B可能做也可能不做,是A的特殊情况(查询后不一定要修改),所以 B 指向 A;
61、包含是A操作之前必须先执行B,所以A指向B(查询前要登录)

在这里插入图片描述

62、序列图:动态,以时间顺序组织的对象之间的交互;有同步消息、异步消息、返回消息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

63、通信图:动态,又叫协作图,强调参加交互的对象的组织;有链、对象、消息、序号。

在这里插入图片描述

64、状态图:动态,单个对象在多个用例的行为,有:事件触发器、监护条件、转换

在这里插入图片描述

比如收音机 按下了开机,就处于开机状态;按下暂停,就处于暂停状态等。

按下开机 就是 事件触发器;

按下开机 就不一定处于开机状态,还需要满足一定的监护条件,比如按下开机 但是并没有插电,所以状态不会转换;

迁移(转换)就是一个状态到另一个状态。

65、活动图:动态,从一个活动到另一个活动的流程,有:并发分岔、并发汇合、监护表达式、分支、流等

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

66、构件图(组件图),静态,一组构件之间的组织和依赖。

在这里插入图片描述

67、部署:静态,物理模块的节点分布

在这里插入图片描述

真题3:当UML状态用于对系统、类或用例的动态方面建模时,通常是对(反应型对象)建模。

真题2:UML构件图专注于系统的静态(实现)图。

68、第一范式:不可再分;第二范式:没有部分依赖;第三范式:没有传递依赖;BCNF:左侧决定因素都在候选码中;第四范式:将实体码分别和每个多值属性独立构成一个关系模式

N完全依赖于E,但候选键为(E,M)所以部分依赖于(E,M),Q完全依赖于 EM,L 完全依赖于 M,但候选键为(E,M)所以部分依赖于(E,M)。所以没有达到第二范式。

69、主动攻击;我攻击你知道,假冒身份、抵赖、旁路控制、重放攻击、拒绝服务;被动攻击:我攻击你不知道,窃听、业务流分析或监听、非法登录;解决重放攻击就是加时间戳;拒绝服务就是正常大量合法用户短时访问导致接口服务不可用(拒绝提供服务)
70、设计模式
1、创建型

Factory Method 工厂方法模式:只生产鼠标的工厂,可以生产、创造不同品牌的鼠标(对象),比如华为、小米等。子类决定实例化

Abstract Factory 抽象工厂模式:工厂概念的进一步抽象,有生产鼠标的工厂,有生产键盘的工厂,有生产屏幕的工厂等。工厂扩展后,就可以是鼠标工厂、键盘工厂、屏幕工厂。比如这里定义工厂具有 create 即 生产这个行为;需要鼠标工厂,就扩展工厂为 createMouse等。抽象接口

Builder 构建器模式:比如创建一个人物,要创建身体、脸型、发型进而组合成一个人物。通过提供创建不同身体(胖的、瘦的)、创建不同脸型(大的、小的)创建不同发型(长发、短发)等,进而组合成一个人物。类和构造分离

Prototype 原型模式:原来有个原型、对象,然后直接Copy 这个对象的代码,然后改一改变成新的对象、原型。 原型实例,拷贝。

2、结构型:适桥组装外享代

Adapter 适配器模式:转换,兼容接口。

Bridage 桥接模式:抽象和实现分离。 比如学习资料,抽象层可以分为纸质资料、电子资料;具体的载体、实现可以是文字、图片。这样就在抽象和实现之间构建了一个桥梁:

在这里插入图片描述

这样就有了 纸质文字、纸质图片、电子文字、电子图片四种形式了。

抽象和实现是分开的,都可以单独扩展,比如扩展实现的增加一个视频形式等。

Composite 组合模式:整体-部分,树形结构。文件夹与文件、总公司与各地子公司。

Decorator 装饰模式:运行时、动态增加额外职责。

Facade 外观模式:对外统一接口。比如智能家居的一个家居模式,一个家居模式的接口、按钮,就可以把电视的接口、风扇的接口、电灯的接口一次唤起

Flyweight 享元模式:细粒度,共享。汉字、语音识别、输入法等,当要编写一句话的时候,不能每一句话中的每个字都单独创建一个对象,这个时候就把常见的比如2000个字创建2000个对象,当要写一句话的时候,就从共享的2000个对象中抽出 从而组合成这句话,这样就永远是2000个对象。

Proxy 代理模式:代理控制,比如软件的快捷方式。

3、行为型

在这里插入图片描述

Chain of Responsibility 职责链模式:传递请求、职责链接。比如请假流程,对个对象处理请求等。

Command 命令模式:日志记录、可撤销。

Interperter 解释器模式:解释器、虚拟机。比如游戏中自定义游戏地图、自定义游戏难度等

Iterator 迭代器模式:顺序访问,不暴露内部。

Mediator 中介者模式:不直接引用,对象交互。中介:买方、卖方、中介。ESB(企业服务总线) 就是中介者模式。

在这里插入图片描述

在这里插入图片描述

Memento 备忘录模式:保存、恢复。比如游戏的存档、读档。

Oserver 观察者模式:通知、自动更新。比如订阅微信公众号,公众号文章更新就会通知订阅它的人。

State 状态模式:状态变成类,比如会员模式:超级会员、普通会员等。会员等级发生改变时,对应的权限、行为也发生改变了。

Strategy 策略模式:算法替换

Template Method 模板方法模式:使用模板。

Visitor 访问者模式:数据和操作分离,比如人的、类的固有属性、数据结构是不会改变的:比如名字、身份证,但是行为是改变的:比如幼儿时是爬着的,长大了就是能走、能跑了。

71、外模式:视图;模式(概念模式):基本表;内模式:物理存储文件
72、SQL 语句:DISTINCT 过滤重复;有 AVG、MAX、MIN 一定是 GROUP BY,SELECT Name 则必 GROUP BY Name
73、无损:R1∩R2->(R1-R2) 或者 R1∩R2->(R2-R1) ;保持函数依赖:分解出来的多个关系模式,保持原来的依赖集不变
74:最优二叉树(哈夫曼树):左<右;平衡二叉树:左 - 右 深度差绝对值不超过1;完全二叉树:除最后一层都是满的;满二叉树:所有层都是满的;查找二叉树:左<父<右

真题1:当二叉树的结点数目确定时,(B)的高度一定是最小的。

A、二叉排序树 B、完全二叉树 C、线索二叉树 D、最优二叉树

真题2:若无向图 G 有n个顶点e条边,则 G 采用 邻接矩阵存储时,矩阵的大小为 (n2

真题3:包含n个顶点,e条弧的有向图采用邻接矩阵存储,该矩阵的非零元素数目为e。

75、哈希表(又叫散列)冲突解决方法:开放定址法、链地址法、再哈希法
76、排序算法:插冒归快堆:基本有序则插入最佳;有序切关键字取值范围较小则计数排序最佳

在这里插入图片描述

1、直接插入:前一个A向后比,遇到小的B先交换(小的B向前了一位),再向前找更大的,再交换(B与前面的比如 C 等交换),直至当前交互的 B 的位置在前面数字中最小的位置上,为一轮。

**第一轮:**从第二位置的 6 开始比较,比前面 7 小,交换位置。

在这里插入图片描述

**第二轮:**第三位置的 9 比前一位置的 7 大,无需交换位置。

在这里插入图片描述

**第三轮:**第四位置的 3 比前一位置的 9 小交换位置,依次往前比较。

在这里插入图片描述

注意:前几轮交换后的数字不一定是所有数字中最小的:比如此时的 3 就比 后面的 1 大

2、冒泡排序:两两相邻比较完所有为一轮

在这里插入图片描述

3、归并排序:是将两个或两个以上的有序文件合并成为一个新的有序文件

1、第一次时,两路归并 则,两个为一组,比如[57、68]一组,[59、52]一组,然后每组内部比较大小,进行排序,于是得到结果:

[57,68],[52,59],[28,72],[33,96] 每组内都按照从小到大排序了。

2、然后会将第一次的结果,还按两路归并,即[57,68],[52,59]为一组,

则为[57,68,52,59],

[28,72],[33,96]为一组,

则为[28,72,33,96]

3、然后对于上面进行组内排序,于是得到[52,57,59,68]、[28,33,72,96]

4、然后将上面两组按 两路归并 合为一组,然后组内排序,得到最终结果。

4、快速排序:分治法

◆快速排序是将n个记录分成两块,再递归,实际分成两块的方法如图所示:设定一个基准为57,设定两个指针high=1,low=n,从low指向的第n个元素开始,与基准值进行比较,若小于基准值,则与基准进行交换low–,此时,转而从high指向的第1个元素开始和基准值进行比较,若大于基准值,则和基准值进行交换,此时,又转而从low一指向的值和基准进行比较,重复上述过程。
◆要注意的是:每次都是和基准值进行比较,因此最终是以基准值为中间,将队列分成两块。只有当和基准值发生了交换,才变换high和low指针的计数,否则会一直low–下去。
◆上图中,最终以57为界,左边都是小于57的元素,右边都是大于57的元素,完成一次快速排序,接着对两块再分别进行递归即可。

在这里插入图片描述

比如上述数字,

第一次以57为基准,最后得到左侧都小于57,右侧都大于57.这是第一趟快速排序。

第一次比较时,是先比较最后一个元素(从第n个元素开始),此时19小于57,则 low指针执行 low–,然后 19和57交换位置,而 high 指针指向(除原来57的第一个元素,也就是现在除去19的第一个元素68),然后开始比较 68 和 57,68大于57,然后交换 68和57的位置,此时又会比较 low–指向的位置(第n-1),即比较 24 和 57,小于 57,则 low-- 继续,然后交换 57和24的位置,转而又会从前面的 high 指针指向的 59,继续比较…如此重复…(只要发生了交换,就转换指针low和high,即转换方向,进行比较,没有交换就继续当前指针,不转换方向)

所以这里的基准值最好是接近于中位数。一般以待排序的第一个元素为基准值。

然后对左边的数据和右侧的数据进行快速排序,比如左侧以19为基准,右侧以96为基准。

然后不断递归,直到满足从小到大的序列。

5、堆排序

左侧称之为小根堆(比如一个完全二叉树,孩子(左右)结点都大于根节点),右侧称之为大根堆(比如一个完全二叉树,孩子结(左右)点都小于根节点)。大根堆用于排成从大到小;小跟堆用于排成从小到大。

在这里插入图片描述

由上图可知,首先将给出的数组按完全二叉树规则建立,而后,找到此完全
二叉树的最后一个非叶子节点(也即最后一颗子树),比较此非叶子节点和其
两个孩子结点的大小,若小,则与其孩子结点中最大的结点进行交换;依据此
规则再去找倒数第二个非叶子节点,这是只有一层的情况,当涉及到多层次时因此,又要进行变换。

在这里插入图片描述

77、算法:分治法、回溯法、贪心法、动态规划法

动态规划:0-1背包、最长公共子序列、矩阵链乘,一定得到最优解

贪心算法:部分背包、Dijkstra算法、Kruskal算法,只能局部最优

回溯法:迷宫类

分治法:折半查找(采用折半查找等概率查找某个包含8个元素的有序表,查找成功和不成功的平均查找长度是不一样的)

Prim 算法与 kruscal 算法相比,Prim 算法适合网较稠密的。两者都采用了贪心策略。

在这里插入图片描述

在这里插入图片描述

该题的算法思路中只考虑了左端的房子的右侧放消防栓是否可以覆盖,但没有考虑一个消防栓是否同时覆盖左右两侧的。

所以这是一种考虑局部最优解的算法思路。所以是贪心算法的思路。

在这里插入图片描述

78、逆向工程:抽象、再工程:重构、COMMO 模型:软件规模、代码行

基本COCOMO模型:只考虑代码行

中间COCOMO模型:考虑代码行之外,还考虑软硬件、人员等

详细COCOMO模型:考虑代码行之外,还考虑软硬件、人员等,以及软件工程的每一步:系统分析、系统设计等。

COCOMOⅡ模型:

应用组装模型:需求分析阶段,以 对象点 为估算

早期设计阶段模型:设计阶段,以 功能点 为估算

体系结构阶段模型:开发阶段,以 代码行 为估算

79、甘特图:日期;PERT 图:任务

在这里插入图片描述

甘特图:反应了任务的并行关系

PERT 图: 反应了任务的依赖关系

80、质量特性:功能性(安全、准确、合适)、可靠:(容错、成熟、易恢复)、可用(易理解、易操作)、可维护(易分析、稳定、可修改、可测试)、可移植(适应性、易安装、一致性、可替换)
81、下午题1:结构化开发方法、数据流图

1、加工必须有输入和输出(即入箭头和出箭头)

2、加工的输入必须足以产生输出

3、父图中的加工的输入(或输出)数据流必须与子图的输入(或输出)数据流在数量和名字上相同

4、父图中的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流

根据说明,采用结构化语言对缺陷检测的加工逻辑进行描述。

接收到产品检测信息

对所有图像进行检测

IF 一个产品出现一张图像检测不合格

THEN 该产品不合格

不合格的产品的检测结果包括产品类型和不合格类型

ENDIF

解析:

结构化语言:顺序语句、选择语句、循环语句

选择语句:

IF 条件 THEN分支内容
ELSE IF 条件 THEN分支内容
ELSE分支内容
ENDIF

循环语句:

WHILE 下雨 
DO
{在家IF 不下雨 THEN出门ENDIF
}
ENDDO

子加工就是子事件:

比如 根据说明中的术语,说明“使用单车”可以分解为哪些子加工?(2分)

答:扫码/手动开锁、更新行程、锁车结账

注意:要填写的类名一定是题目中出现的,而不需要自己再组合、组装。

即 C1 是 Customer,C2:Order,C3:Books

而不会是 C2 是 什么 OrderBooks 等这种组合的。

注意:基本事件流 就是完成这件事的完整流程,完整流程中的可选事件就是备选事件流。

U3 购买书籍的基本事件流就是:

基本事件流:顾客登录系统,浏览书籍信息,选择所需购买的书籍及其数量,进入验证界面,输入注册码,生成订单

备选事件流:

(1)书籍的购买数量大于其库存量,提示库存不足

(2)注册码不正确,提示验证码错误

(3)顾客要求打印订单信息

注意 用例的参与者,题目中某些动作的主语是谁;注意关联关系。

在这里插入图片描述

82、下午题2:E-R 联系图、关系模式

联系 是 菱形

实体 是 方形

属性 是 椭圆形

不要只看题目中包含的还有看实体联系图来确定。

实线:主键 虚线:外键

在这里插入图片描述

弱实体:双线矩形框

标识联系:双线菱形框

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

83、下午题三:UML 类图与设计模式

泛化关系其实就是继承关系指的是一个类(称为子类、子接口)继承(extends)另外的一个类(称为父类、父接口)的功能,并可以增加自己额外的一些功能,继承是类与类或者接口与接口之间最常见的关系

84、下午题六:设计模式与JAVA代码
创建型定义关键字
Acstract Factory 抽象工厂提供一个接口,可以创建一系列相关或相互依赖的接口,而无需指定它们具体的类抽象接口
Builder构建器将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得到不同的表示类和构造分离
Factory Method 工厂方法定义一个创建对象的接口,但由子类决定需要实例化哪一个类。子类决定实例化
Prototype 原型用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象原型实例、拷贝
Singleton 单例保证一个类只有一个实例,并提供一个访问它的全局访问点唯一实例
结构型定义关键字
Adapter 适配器将一个类的接口转换转换成用户希望得到的另一种接口。使得原本不相容的接口得以协同工作。转换、兼容接口
Bridge 桥接模式将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。整体-部分、树形结构
Decorator 装饰动态的给一个对象添加一些额外职责。附加职责
Facade 外观定义一个高层接口,为一组接口提供一个一致的外观。对外统一接口
Flyweight 享元提供支持大量细粒度对象共享的有效方法细粒度、共享
Proxy 代理为对象提供一种代理以控制对这个对象的访问代理控制
行为型定义关键字
Chain of Responsibility 责任链通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接受对象链接起来,在链中传递请求传递请求、职责链接
Command 命令模式将一个请求封装为一个对象,用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。日志记录、可撤销
Interpreter 解释器给定一种语言,定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子解释器、虚拟机
Iterator迭代器提供一种方法来顺序访问一个聚合对象中的各个元素而不暴露该对象的内部表示顺序访问、不暴露内部
Mediator 中介者用一个中介对象封装一系列对象交互。使得各对象不需要显式地相互调用,还可以独立改变对象间的交互不直接引用
Memento 备忘录在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将该对象恢复到原先保存的状态保存、恢复
Observer 观察者定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新通知、自动更新
State 状态允许一个对象在其内部状态改变时改变它的行为状态编程类
Strategy 策略定义一系列算法,把它们一个个封装起来,并且使它们之间可以互相替换。算法替换
Template Method 模板方法定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义算法的某些特定步骤
Visitor 访问者表示一个作用于某对象结构中的各元素的操作,使得在不改变各元素的类的前提下定义作用于这些元素的新操作数据和操作分离

在这里插入图片描述

抽象类抽象方法:

在这里插入图片描述

85、数据处理领域用结构化开发方法;需求不明确、规模不太大用原型化开发方法;
86、数据流图多个逻辑条件则用决策树、决策表表示更好。
87、对象组成部分包括行为、对象名、状态,不包括消息
88、统一过程:

起始阶段:项目的初创活动:项目计划等

精化阶段:需求分析和架构演进

构建阶段:系统的构建,产生实现模型

移交阶段:软件提交

89、分片透明、复制透明、位置透明、逻辑(数据模型)透明

在分布式数据库中有分片透明、复制透明、位置透明和逻辑透明等基本概念,其中:

逻辑透明 是指局部数据模型透明,即用户或应用程序无须知道局部使用的是哪种数据模型;

分片透明是指用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。

复制透明是指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的。

位置透明是指用户无须知道数据存放的物理位置

90、双核是指一个CPU中集成两个运算核心以提高运算能力
91、线性表采用链表存储结构的特点:

包括:

①所需空间大小与表成正比

②插入和删除操作不需要移动元素

③无需实事先估计存储空间大小

包括:可随机访问表中的任意元素,因为是链表要根据链表指针的顺序进行访问

92、汇编语言编写的程序不可以直接被计算机硬件执行
93、浮点加减法运算操作流程:①零操作数检查②对阶操作③尾数加减法运算④规格化及舍入处理
94、数据库设计的6个阶段:

数据库设计通常分为6个阶段:

1、需求分析:分析用户的需求,包括数据、功能和性能需求;

2、概念结构设计:主要采用E-R模型进行设计,包括画E-R图;

3、逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;

4、数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;

5、数据库的实施:包括编程、测试和试运行;

6、数据库运行与维护:系统的运行与数据库的日常维护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38553.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Big Data Tools插件

一些介绍 在Jetbrains的产品中&#xff0c;均可以安装插件&#xff0c;其中&#xff1a;Big Data Tools插件可以帮助我们方便的操作HDFS&#xff0c;比如 IntelliJ IDEA&#xff08;Java IDE&#xff09; PyCharm&#xff08;Python IDE&#xff09; DataGrip&#xff08;SQL …

【RabbitMQ问题踩坑】RabbitMQ设置手动ack后,消息队列有多条消息,只能消费一条,就不继续消费了,这是为什么 ?

现象&#xff1a;我发送5条消息到MQ队列中&#xff0c;同时&#xff0c;我在yml中设置的是需要在代码中手动确认&#xff0c;但是我把代码中的手动ack给关闭了&#xff0c;会出现什么情况&#xff1f; yml中配置&#xff0c;配置需要在代码中手动去确认消费者消费消息成功&…

教学技能大赛包括哪些内容

在教育的广阔天地里&#xff0c;教师的角色至关重要。他们不仅是知识的传递者&#xff0c;更是学生心灵成长的引导者。那么&#xff0c;当教师们聚集一堂&#xff0c;参加一场教学技能大赛时&#xff0c;会有哪些内容成为他们展示自我、互相学习的舞台呢&#xff1f; 教学技能大…

瓦罗兰特报错57/error code59/报错903的解决办法

《无畏契约》在注重产品设计之预&#xff0c;也注重世界观、英雄性格的塑造&#xff0c;里面的英雄灵感来源于不同的国家和地区&#xff0c;有非常本土化的特色&#xff0c;每个英雄的性格人设非常鲜明。这些人物特色让这款游戏有了新的玩法。很多玩家都进入到游戏体验。然后有…

SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution

CVPR2024 香港理工大学&OPPO&bytedancehttps://github.com/cswry/SeeSR?tabreadme-ov-file#-licensehttps://arxiv.org/pdf/2311.16518#page5.80 问题引入 因为有些LR退化情况比较严重&#xff0c;所以超分之后的结果会出现语义的不一致的情况&#xff0c;所以本文训…

Python入门 2024/7/1

目录 第一个程序hello world 数据类型 注释 变量 用type类型查看数据类型 ​编辑 数据类型转换 ​编辑 标识符 运算符 字符串的三种定义方式 字符串拼接 ​编辑​编辑 字符串格式化 第一个程序hello world 区分c和python c是printf python是print print("h…

晶振在硬件系统中的位置选择与优化策略

在现代电子设备中&#xff0c;晶振扮演着至关重要的角色&#xff0c;它们提供稳定且精确的时钟信号&#xff0c;是系统心脏般的存在。然而&#xff0c;晶振的性能不仅取决于其本身的质量&#xff0c;还与它在硬件系统中的位置选择紧密相关。一个恰当的位置能够最大限度地减少外…

基于K线最短路径构造的非流动性因子

下载地址https://download.csdn.net/download/SuiZuoZhuLiu/89492221

nodejs--【Express基本使用】

10 【Express基本使用】 https://www.expressjs.com.cn/ 基于 Node.js 平台&#xff0c;快速、开放、极简的 web 开发框架。 1.Express的安装方式 Express的安装可直接使用npm包管理器上的项目&#xff0c;在安装npm之前可先安装淘宝镜像&#xff1a; npm install -g cnpm -…

领先Intel 旗舰60%,AMD锐龙9000系桌面CPU彻底杀疯了

早在月初台北国际电脑展上&#xff0c;Intel 公布了下一代低功耗移动端处理器 Lunar Lake。 也就是第二代移动版酷睿 Ultra。 而作为叫板王&#xff0c;AMD 丝毫不怂&#xff0c;不但掏出了 Ryzen AI 300 移动端处理器应对。 还抢在 Intel 之前带来了全新一代 Zen 5 架构 Ryz…

前端vue项目升级nodejs后无法运行了

问题描述&#xff1a; 运行、打包都正常的vue项目&#xff0c;在将nodejs升级到v20.14.0后&#xff0c;均报错了&#xff1a; Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital envelope routines::initializ…

制造业如何拥抱数字化?百数服务商的转型策略与实践

制造业作为实体经济的主体部分&#xff0c;也是核心部分&#xff0c;发挥着基础性、主导性和引领性作用。推动制造业数字化转型是实现经济高质量发展的必由之路。 在这场数字化浪潮中&#xff0c;低代码平台作为一种新兴的技术手段&#xff0c;逐渐受到了企业的青睐。其能够在…

Web基础与HTTP协议:

Web基础与HTTP协议 Web&#xff1a;就是我们所说的页面&#xff0c;打开网站所展示的页面。&#xff08;全球广域网&#xff0c;万维网&#xff09; 分布式图形信息系统。 http https &#xff08;加密的&#xff09;超文本传输协议 分布式&#xff1a;计算机系统或者应用程序…

vue3引入本地静态资源图片

一、单张图片引入 import imgXX from /assets/images/xx.png二、多张图片引入 说明&#xff1a;import.meta.url 是一个 ESM 的原生功能&#xff0c;会暴露当前模块的 URL。将它与原生的 URL 构造器 组合使用 注意&#xff1a;填写自己项目图片存放的路径 /** vite的特殊性…

SQL注入【1】——通用漏洞/SQL注入/mysql跨库/ACCESS偏移

一、知识点: 1、脚本代码与数据库前置知识 2、Access数据库注入-简易&偏移 3、MYSQL数据库注入-简易:权限跨库 二、前置知识: &#xff08;一&#xff09;SQL注入漏洞产生原理分析 SQL注入产生条件&#xff1a;根本条件&#xff1a;可控变量、特定函数。 脚本代码在实现…

教育行业的网络安全:保护学生数据与防范网络欺凌

在数字化的春风中&#xff0c;教育行业迎来了知识的繁花似锦&#xff0c;然而&#xff0c;随之而来的网络安全风暴也悄然逼近。学生数据的脆弱性与网络欺凌的阴影交织成一幅复杂的画卷&#xff0c;呼唤着教育工作者与技术专家共同编织一张密不透风的网络安全之网。本文深入探讨…

C++修饰符类型

一、存储类运算符 auto&#xff08;自动存储类&#xff0c;但在现代C中&#xff0c;它通常用于自动类型推导&#xff09; register&#xff08;建议编译器将变量存储在寄存器中&#xff0c;但现代编译器通常忽略此关键字&#xff09; static&#xff08;静态存储类&#xff…

国产压缩包工具——JlmPackCore SDK说明(二)——JlmPack_Create函数说明

一、JlmPack_Create函数说明 JlmPack_Create函数是创建jlm压缩文件的核心函数&#xff0c;最大允许CATALOG_MAX_LIMIT&#xff08;请参考Config.h&#xff09;个目录&#xff0c;意思是包括文件夹和文件在内&#xff0c;遍历整个列表最大允许CATALOG_MAX_LIMIT个目录对象&#…

《昇思25天学习打卡营第4天|数据集 Dataset》

文章目录 前言&#xff1a;今日所学&#xff1a;1. 数据集加载2. 数据集迭代3. 数据集常用操作与自定义数据集 前言&#xff1a; 今天学习的是数据集的内容。首先&#xff0c;数据是深度学习的基石&#xff0c;高质量的数据输入能够在整个深度神经网络中发挥积极作用。MindSpo…

【UE5.1】Chaos物理系统基础——01 创建可被破坏的物体

目录 步骤 一、通过笔刷创建静态网格体 二、破裂静态网格体 三、“统一” 多层级破裂 四、“簇” 群集化的破裂 五、几何体集的材质 六、防止几何体集自动破碎 步骤 一、通过笔刷创建静态网格体 1. 可以在Quixel Bridge中下载两个纹理&#xff0c;用于表示石块的内外纹…