软件设计师知识点
软件设计师知识点
UML建模
一.UML类图关系
总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。
聚合的局部和整体可以分离,组合则不可分离,同生命周期。
二.UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
包含:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中“<>”是包含关系的构造型,箭头指向抽象用例。
例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。
扩展:如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此他能根据基用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<>”是扩展关系的构造型,箭头指向基本用例。
包含关系和扩展关系的联系和区别
联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
区别:
包含关系中基本用例的基本流执行时,包含用例一定会执行。
****扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行;
泛化:当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。假如在机房收费系统的注册可以通过本地注册和网上注册。则
顺序图(时序图)
当流程涉及到多个角色,并且通过多对角色交互展开时,顺序图是不二选择。
简单语法:
如下:
通信图
通信图则是强调相互之间的关系。顺序图和通信图基本同构,但是很少使用通信图,因为顺序图更简洁,更直观。
设计模式
- 适配器模式 :将一个类的接口转化成客户希望的另一个接口
- 桥接模式: 将抽象部分与实现部分分离
- 外观模式(Facade): 为子系统的一组接口提供一个一致的界面
- 观察者模式:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。
基础知识
- 表示媒体:用于数据交换的编码,例如图像编码、文本编码等。
- 表现媒体: 信息输入和输出的媒体,例如键盘、鼠标、喇叭、打印机等。
可靠度
- 并联系统可靠度:R=1-(1-R1)×(1-R2)×…×(1-Rn) 。
- 串联系统可靠度:R=R1 * R2 *R3 … Rn
海明码
- 设数据位为n位,检验码为k位,则应满足
2^k - 1 >= n + k
- 可以检错也可以纠错,利用奇偶性。
软件工程
-
甘特图:不能反映依赖关系。
- 项目计划评审技术(PERT图):不能反映并行性。
计算机网络常识
- HTTPS是由 http+SSL 协议构建的可进行加密和传输、身份认证的网络协议。
- 用户A获取用户B的数字证书后通过验证CA的签名来确认数字证书的有效性,验证CA的签名时使用的是CA的公钥。
- 数字签名技术是将摘要信息使用发送者的私钥加密,接受者使用发送者的公钥解密;数字签名验证则是一个解密过程。
- 常用端口号,https为443
白盒测试
白盒测试中常见的覆盖有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。
- 语句覆盖:我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次。通常语句覆盖被认为是“最弱的覆盖”。
- 路径覆盖,意思是说我们设计的测试用例可以覆盖程序中所有可能的执行路径。这种覆盖方法可以对程序进行彻底的测试用例覆盖,最强的覆盖。
共享锁和排它锁(数据库)
-
共享锁
又称读锁,获得共享锁可以读取数据,不能修改和删除数据。如果事务T对数据对象加上S锁,则其他事务只能对该数据对象加上S锁,不能加排他锁。保证了可以并发读取数据,同时不会有其他事务在存在事务持有共享锁时修改数据。 -
排它锁
又称为写锁、独占锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
关键路径
- 最早开始时间:关键路径 - 包含该点的最长路 ; 正向
- 最晚开始时间:关键路径 - 包含该路径的最小路 逆向
- 关键路径中的某活动GH的松弛时间: 即为关键路径长度减去包含活动GH的最长路径。
- 此题关键路径长度20,活动KL的的前驱节点为K,
最晚开始时间=(20+1)-3=18
(此处加1意义同上,但在计算最晚开始时间时只在最后活动加1,其他活动不必再加1,考虑考虑,这是符合常理的)
最早开始时间=max{c(ABDIJ),c(ABIJ),c(AEGJ),c(AEGH),c(ACFH)}+1=15
所以, KL:Earliest start Time:15, latest Start Time:18 Slacktime:3;
注意:工程意义需要加1
软件法规
- 软件著作权
软件著作权属于软件开发者,软件著作权自软件开发完成之日起产生。
操作系统
文件结构
- 某文件系统采用多级索引结构,若磁盘块的大小为512B,每个块号需占3B,那么根索引采用一级索引时的文件最大长度为 ____ KB;采用二级索引时的文件最大长度为_____KB。
本题考查操作系统中文件管理的基本知识。
根据题意,磁盘块的大小为512B,每个块号需占3B,因此一个磁盘物理块可存放512/3=170个块号。
n级索引即 :每级块号的个数 ^ n * 块号的大小
根索引采用一级索引时的文件最大长度为:170×512/1024=87040/1024=85KB
根索引采用二级索引时的文件最大长度为:170×170×512/1024=28900×512/1024=14450KB
例题
编译时候的绑定为静态绑定,运行时的绑定为动态绑定
-
快速恢复数据库的方法有:将数据更新(插入、删除、修改)的全部有关内容先写入日志文件
-
有穷自动机是进行词法分析的工具。