软件设计 - 上午题生疏考点总结

一、计算机系统

1、基础知识

  • CPU

    • 运算器
    • 累加寄存器(AC): 为 ALU 暂时保存一个操作数和运算结果
    • 控制器
      • 程序计数器(PC):具有存储信息和计数两种功能。
      • 系统总线:连接CPU,主存,外部设备
  • 数据表示

    • 移码:机器字长为 n,在偏移量为 2 n − 1 2^{n-1} 2n1 时,移码为补码的符号位取反

    • 浮点数运算:对阶(把阶码小的数的尾数右移K位,使其阶码加上 K)

    • 机器字长 n 时各种码制表示的带符号数的范围:原码与反码相同 ,补码与移码相同。

      码 制定点整数定点小数
      原码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n11) − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) (12(n1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(12(n1))
      反码 − ( 2 n − 1 − 1 ) -(2^{n-1}-1) (2n11) ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n11) − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) (12(n1)) ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(12(n1))
      补码 − 2 n − 1 -2^{n-1} 2n1 ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n11) − 1 -1 1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(12(n1))
      移码 − 2 n − 1 -2^{n-1} 2n1 ~ + ( 2 n − 1 − 1 ) +(2^{n-1}-1) +(2n11) − 1 -1 1 ~ + ( 1 − 2 − ( n − 1 ) ) +(1-2^{-(n-1)}) +(12(n1))
    • 浮点数的取值范围:尾数的最小值 * 阶码的最大值 ~ 尾数的最大 * 阶码的最大值
      例:若浮点数的阶码(包括 1 位阶符)用R位的移码表示,尾数(包括 1 位数符)用 M 位的补码表示,则浮点数表示的范围是: − 1 × 2 ( 2 R − 1 − 1 ) 至 ( 1 − 2 − m + 1 ) × 2 ( 2 R − 1 − 1 ) -1×2^{(2^{R-1}-1)} 至 (1-2^{-m+1})×2^{(2^{R-1}-1)} 1×2(2R11)(12m+1)×2(2R11)

  • 校验码

    • 奇偶校验码:只能检错。
    • 海明码:数据位 n,校验位 k 位,则 n 和 k 关系满足 2 k − 1 ≥ n + k 2^k-1 \geq n+k 2k1n+k码距最少为3;检错纠错。
    • 循环冗余校验码

2、体系结构

系统指令

  • CISC(复杂指令集计算机):用更为复杂的指令取代原先由子程序完成的功能。
  • RISC(精简指令集计算机):减少指令总数、简化指令功能,降低应急按钮复杂度,采用硬布线;超流水线、超标量、超长指令字。
    • 流水方式:时间计算,T 一条指令的执行总时间,t 流水线周期,n 执行条数,公式:T + (n-1) * t ,吞吐率: n T + ( n − 1 ) ∗ t \frac{n}{T+(n-1)*t} T+(n1)tn

存储系统

  • 按址访问
    • 随机存储器(访问任一存储单元所用时间相同)
    • 顺序存储器(访问数据需要的时间与数据所在的存储位置有关)
    • 直接存储器(磁盘,对磁道的寻址是随机的,而在一个磁道内是顺序寻址)
  • 按内容访问:相联存储器

总线

分类:数据总线、地址总线、控制总线

  • 位示图:
  • 磁盘调度
  • 线程进程

三、数据结构

4、图

AOV网、AOE网

  • AOV 网:有向图以顶点表示活动的网;边表示活动之间的优先关系(不应该出现有向环)。
  • AOE 网:带权值的有向图,顶点表示事件,有向边表示活动,边上的权值表示持续时间

四、操作系统

进程管理

  • PV操作
    信号量(S),申请资源(P),释放资源(V)
    • P(通过)操作:
      P(S) 定义 S : = S − 1 S := S - 1 S:=S1, 若 S >= 0,则执行 P 操作的进程继续执行;S < 0 则进程阻塞,并将其插入阻塞队列。
    • V(释放)操作:
      V(S) 定义 S : = S + 1 S:=S+1 S:=S+1,若 S > 0,则执行 V 操作的进程继续执行;若 S <= 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行 V 操作的进程继续。
    • S (信号量):
      公用信号量,实现进程互斥,初始值为 1 或资源的数目;私有信号量,实现进程间的同步,初值为 0 或某个正整数。

3、存储管理

4、设备管理

  • CPU 中断响应时间:从发出中断请求到开始进入中断处理程序。
  • I/O 设备管理软件一般分为 4 层(由上至下):用户进程,设备无关软件,设备驱动程序,中断处理程序
  • 虚拟设备:(逻辑设备),一般利用假脱机(Spooling)技术,利用磁盘设备来提供。

5、文件管理

6、作业管理

五、软件工程基础知识

1、软件工程

  • 能力成熟度模型(CMM):阶段模式

    成熟度级别说明
    初始级软件过程杂乱无章,甚至很混乱,几乎没有明确定义的步,项目完成完全依赖个人的努力和英雄式核心人物的作用
    可重复级建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性,有必要的过程准则来重复以前在同类项目中的成功。
    已定义级管理和工程两方面的软件过程已经文档化、标准化,组织标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来开发个维护软件。
    已管理级制定了软件过程和产品质量的详细度量标准。产品质量都被开发组织的成员所理解和控制。
    优化级加了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进。
  • 能力成熟度模型集成(CMMI):阶段模式,连续模式。

    阶段模式说明连续模式说明
    初始的过程不可预测且缺乏控制CL0(未完成的)
    已管理的过程为项目服务CL1(已执行的)
    已定义的过程为组织服务CL2(已管理的)
    已定量管理的过程已度量和控制CL3(已定义级的)
    优化的集中于过程改进CL4(定量管理的)
    --CL5(优化的)

2、软件过程模型

模型说明优缺点
瀑布模型以项目阶段评估和文档控制为手段有效地对整个开发过程进行指导,是一个以文档作为驱动、适合于软件需求明确的软件项目优点:容易理解,管理成本低;强调研发的阶段性早期计划及需求调查和产品测试

缺点:客户必须能完整 、正确和清晰地表达他们的意思;需求或设计中的错误往往只有到了项目后期才能够被发现,项目风险控制能力弱。
V模型瀑布模型的一个变体
增量模型它假设可以将需求分段为系列增量产品,每一个增量可以分别开发。强调每一个增量均发布一个可操作的产品。瀑布模型的一个变体,拥有瀑布模型的所有优点。第一个可交付的版本所需要的成本和时间很小
原型模型原型是预期系统的一个可执行的版本。适用于用户需求不清、需求经常变化(系统规模不是很大也不太复杂时)。属于演化模型
螺旋模型演化模型

将瀑布模型和演化模型结合起来,加入风险分析。强调风险分析,适合庞大、复杂并且具有高风险的系统
优点:与瀑布模型相比,支持用户需求动态化,为用户参与软件开发所有关键决策提供,提高了软件的适应能力,降低了开发的风险

缺点:需开发人员具有相当丰富的风险评估 经验和专门知识;过多的迭代会增加开发成本,延迟提交时间。
喷泉模型以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

使开发过程具有:
迭代性:开发活动常常需要重复多次,在迭代的过程中不断完善;
无间隙性:指在开发活动之间不存在明显的边界。
优点:提高软件开发效率,节省开发时间。

缺点:需要大量开发人员;要求严格管理文档 ,使得审核难度加大。
基于构件的开发模型指利用预先包装的构建来构造应用系统。
形式化方法模型是建立在严格的数学基础上的一种软件开发方法,主要活动是生成计算机软件形式化的数学规格说明。易于发现需求的歧义性、不完整性和不一致性。
统一过程(UP)模型用例和风险驱动,以架构为中心 ,迭代并且增量”的开发过程,由UML方法和工具支持。定义了4个技术阶段及其制品:起始阶段(生命周期目标)、精化阶段(生命周期架构)、构建阶段(初始运作功能)、移交阶段(产品发布)。
敏捷方法有以下方法通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。
极限编程(XP)4 大价值观,5 个原则,12 个最佳实践
水晶法认为每个不同的项目都需要一套不同的策略、约定和方法论,认为人对软件的质量有重要的影响
并列争求法使用迭代方法,其中,把每30天一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品。迭代、增量交付
自适应开发6 个基本原则, “重做” 与 “做” 同样关键;变化不被视为改正,而是被视为对软件开发实际情况的调整。猜测、合作、学习
敏捷统一过程大型上连续 ,小型上迭代

8、软件质量

  • ISO/IEC 9126 软件质量模型
    质量特性质量子特性
    功能性适合性
    准确性
    互用性
    依从性
    安全性
    可靠性成熟性
    容错性
    易恢复性
    易使用性易理解性
    易学性
    易操作性
    效率时间特性
    资源特性
    可维护性易分析性
    易改变行
    稳定性
    易测试性
    可移植性适应性
    易安装行
    一致性
    以替换性

9、软件复杂度

  • 规模:总指令数,或源程序行数;
  • 难度:由程序中出现的操作数的数目所决定的量来表示;
  • 结构:程序结构有关的度量;
  • 智能度:算法的难易程度。

10、软件工具

  • 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具
  • 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具
  • 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具。

六、结构化开发

  • 结构化分析
    结果由以下几部分组成:一套分层的数据流程图、一本数据词典、一组小说名(加工逻辑说明)、补充材料。
  • 耦合 & 内聚耦合
    耦合类型说明 (模块与模块之间相对独立性的度量)
    无直接耦合两个模块之间没有直接关系,分别从属于不同模块的控制与调用,它们之间不传递任何信息 。
    数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言值传递。
    标记耦合指两模块之间传递的是数据结构
    控制耦合指一个模块调用另一个模块时,传递的是控制变量,被调用的模块通过该控制变量的值来有选择地执行模块你的某一功能。
    外部耦合模块之间通过软件之外的环境联结时称为外部耦合。
    公共耦合通过一个公共数据环境相互作用的那些模块间的耦合。
    内容耦合当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时。

内聚

聚合类型说明(一个模块内个元素彼此结合的紧密程度的度量)
偶然内聚(巧合内聚)指一个模块内各处理元素没有任何联系。
逻辑内聚指模块内执行若干个逻辑上相似的功能,通过参数确定模块完成哪一功能。
时间内聚把手需要同时执行的动作组合在一起形成的模块
过程内聚指一个模块完成多个任务,这些任务必须按指定的过程执行。
通信内聚指模块内所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。
顺序内聚指一个模块内各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
功能内聚指模块内所有元素共同作用完成一个功能,缺一不可。

七、面向对象技术

  • 软件测试的 4 个层次
    1. 算法层:测试类中定义的每个方法,相当于传统软件测试中的单元测试。
    2. 类层:测试封装在同一个类中的所有方法与属性之间的相互作用
    3. 模板层:测试一组协同工作的类之间的相互作用。 4
    4. 系统层:把各个子系统组装成完整的面向对象系统,在组装过程中同时进行测试。
  • UML 关系的关系强弱顺序:实现=泛化(继承)> 组合 > 聚合 > 关联 > 依赖
  • UML 图
  • E-R 图之间的冲突
    • 属性冲突:对属性的类型,取值范围和数据单位不一致;
    • 命名冲突:相同意义的属性命名不同,或名称相同的属性代表的意义不同;
    • 结构冲突:同一实体在不同的分 E-R 图中有不同属性。

八、算法设计与分析

  • 贪心策略:迪杰斯特拉算法

九、数据库技术

三级模式两级映像

三级模式

  • 外模式:用户模式/子模式;外部视图。
  • 概念模式:又称模式;是数据库中全部数据的逻辑结构和特征的描述,只涉及型的描述,不涉及具体值。
  • 内模式:存储模式;是数据物理结构和存储方式的描述。

两级映像

  • 外模式/模式映像
  • 模式/内模式映像

SQL的三级模式:外模式(视图),模式(基本表),内模式(存储文件

关系数据库

  • 授权语句格式: GRANT <权限>[,<权限>]…[ON <对象类型×<对象名>] TO <用户>[,<用户>]… [WITH GRANT OPTION];

函数依赖

R ( U ) R(U) R(U) 是属性集 U 上的关系模式,X、Y 是 U 的子集,若对 R ( U ) R(U) R(U) 的任何一个肯能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等,而在 Y 上的属性值不等,则称 X 函数决定 Y,或成 Y 函数依赖于 X,记作: X → Y X→Y XY

传递依赖:在 R(U,F) 中,如果 X → Y , Y ⊈ X , Y → Z X→Y,Y\not\subseteq X,Y→Z XYYXYZ,则称 Z 对 X 传递依赖。
 
函数依赖公理:

  • A1 自反律:若 Y ⊆ X ⊆ U Y\subseteq X \subseteq U YXU,则 X → Y 为 F X→Y 为 F XYF 所蕴含。
  • A2 增广律:若 X → Y 为 F 所蕴含,且 Z ⊆ U ,则 X Z → Y Z 为 F 所蕴含 X→Y 为 F 所蕴含,且 Z \subseteq U,则 XZ→YZ 为 F 所蕴含 XYF所蕴含,且ZU,则XZYZF所蕴含
  • A3 传递律:若 X → Y , Y → Z 为 F 所蕴含,则 X → Z 为 F 所蕴含 X→Y, Y→Z 为 F 所蕴含,则 X→Z 为 F 所蕴含 XY,YZF所蕴含,则XZF所蕴含

根据上述三条可以退出下面三条规则:

  • 合并规则:若 X → Y , X → Z ,则 X → Y Z 为 F X→Y, X→Z,则 X→YZ 为 F XY,XZ,则XYZF 所蕴含
  • 伪传递律:若 X → Y , W Y → Z ,则 X W → Z 为 F X→Y, WY→Z,则 XW→Z 为 F XY,WYZ,则XWZF 所蕴含
  • 分解规则:若 X → Y , Z ⊆ Y ,则 X → Z 为 F X→Y, Z\subseteq Y,则 X→Z 为 F XY,ZY,则XZF 所蕴含

范式

  • 1NF(第一范式)
  • 每个分量(元组中的一个属性值)都是不可再分的数据项。问题:冗余度大引起修改操作的不一致性插入异常删除异常
  • 2NF(第二范式)
    在1NF的基础上,消除了非主属性对码的部分函数依赖(每一个非主属性完全依赖于码)。
  • 3NF(第三范式)
    2NF 消除了非主属性对码的传递函数依赖。若关系模式R(U,F)中若不存在这样的码 X,属性组 Y 及非主属性 Z ( Z ⊈ Y ) Z(Z\not\subseteq Y) Z(ZY) 使得 X → Y ( Y ↛ X ) , Y → Z X→Y(Y\not \rightarrow X),Y→Z XY(YX),YZ成立,则关系模式R∈3NF。

模式分解

  • 无损连接:R 与 R 1 , R 2 , . . . , R n R_1, R_2,...,R_n R1,R2,...,Rn 自然连接的结果相等,则分解具有无损连接性。

  • 保持函数依赖:分解后的函数依赖集合合并起来,与原来函数依赖集合是等价的(冗余的函数依赖,不考虑)。(只要属性在,函数依赖就存在与属性之间)

    注: A → B , B → C , A → C A\rightarrow B, B\rightarrow C, A\rightarrow C AB,BC,AC,其中 A → C A\rightarrow C AC 可以由 A → B , B → C A\rightarrow B, B\rightarrow C AB,BC 推出,属于冗余函数依赖。

数据库设计

  1. 需求分析
  2. 概念设计
  3. 逻辑设计
  4. 物理设计
  5. 实施与维护

十、网络与信息安全

  • 三网合一:电信网、广播电视网、互联网。

  • 网络互连设备

    层次设备功能
    应用层网关
    网络层路由器用于连接多个逻辑上分开的网络。
    数据链路层网桥、交换机网桥:用于连接两个局域网网段。
    交换机:一种多端口的网桥,各个端口形成一个广播域。
    物理层中继器、集线器中继器:在物理层上实现局域网网段互连,用于扩展局域网网段的长度。
    集线器:可看成特殊的多路中继器,它的所有端口在同一个冲突域内 。

加密、认证

  • 对称加密:又称共享密钥加密;又分为分组加密和序列加密。文件加密和解密使用相同的密钥。
    DES(数据加密标准),3DES(TDEA),RC-5,IDEA,AES(高级加密标准)。

  • 非对称加密:又称公开密钥加密,公钥、私钥。RSA、DSA、ECC

  • 信息摘要:SHA、MD5。

  • 数字签名:使用非对称加密算法;发送者(发送方私钥)加密,接收者(发送方公钥)解密;一对多

  • 数字加密:使用对称加密算法和非对称加密算法相结合;先生成对称加密报文,然后发送者(接收方公钥)加密,接收者(接收方私钥)解密;多对一

  • CA 认证:通过 CA公钥 验证 CA的签名验证证书的有效性。

  • 数字认证确保用户身份,数字签名确保信息不可否认

OSI S参考模型

层级说明
应用层为应用程序提供服务
表示层数据格式转化、数据加密
会话层建立、管理和维护会话
传输层建立、管理和维护端到端的连接
网络层IP选址及路由选择
数据链路层提供介质访问和链路管理。
物理层

网络协议

  • 传输层协议

    • TCP:传输控制协议,提供了一个可靠的、面向连接的协议。
    • UDP:用户数据报协议,是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信(DNS,SNMP,TFTP,DHCP)。
  • 网络层协议

    • ARP(地址解析协议)

      ARP 将IP地址转换为物理地址,由IP地址查找对应的MAC地址;ARP报文封装在以太帧中传送。

      ARP Request 是广播发送,ARP Response 是单播的报文回复。

    • RARP(反地址解析协议)

    • IPsec:网络层安全协议,用于在 IP 通信过程中保证数据的完整性、认证、机密性。

  • 应用层协议

    • SNMP:简单网络管理协议,用于网络管理 中的设备监控和管理。
    • Telnet协议:CP 连接端口 23,远程登录服务。
    • FTP:端口 20,文件传输协议。
    • SFTP:安全文件传输协议。
    • HTTP:端口 80
    • HTTPS:端口 443,超文本传输安全协议
    • 邮件服务
      • SMTP:端口号 25,简单邮件传输协议,用于发送电子邮件的协议。
      • MIME:邮件扩充协议,用于附加传输多媒体等
      • POP3:端口号 110,用于接收电子邮件的协议,保管用户未及时取走的邮件。
      • PEM:增强私密邮件保护协议。

6、网络安全

  • 网络安全控制技术

    • 防火墙技术
      1. 包过滤防火墙:对用户完全透明,速度较快。 过滤依据:源IP地址,目标IP地址,源端口号,目标端口号
      2. 应用代理网关防火墙
      3. 状态检测技术防火墙

    • 加密技术:软件加密、硬件加密。

    • 用户识别技术:登录验证。

    • 访问控制技术:访问权限。

    • 网络反病毒技术

    • 网络安全漏洞扫描技术:网络模拟攻击、漏洞检测、报告服务进程、提取对象信息及评测风险、提供安全建议和改进措施等。

    • 入侵检测技术:非授权使用。专家系统、模型检测、简单匹配等

  • 病毒

    • 木马病毒(客户端与服务端必须建立起网络通信,通信基于IP和端口号
      • 特洛伊木马:有未知程序试图建立网络连接。
      • 灰鸽子
    • 蠕虫病毒
      • 震网病毒(Stuxnet)、莫里斯、红色警戒、Sasser、WannaCry。
    • 宏病毒
    • 感染病毒
      • 引导区的病毒:Brain、stoned。
      • 感染文件的病毒:CIH、熊猫烧香、Sality。

十一、标准化和软件知识产权基础知识

  • 注册商标:先申请者获取商标权;同时申请,先使用者可获取商标注册。
  • 软件著作权:
    1. 任职期间针对本职工作中明确规定的开发目标,开发的软件属于从事本职工作活动的结果,使用了单位/组织的资金、设备等物质,技术条件,并有单位/组织承担责任的软件,著作权归单位或组织所有。非任职单位,若无合同明确标注归属, 则著作权归开发者所有
    2. 翻译权:将软件从一种自然语言文字转换成另一中自然语言文字。
    3. 接受他人委托开发的软件,著作权归属由委托人与受托人签订书面合同约定,若无书面合同,则归受托人享有。
  • 专利权:先申请者获得;同时申请则协商获得,都授予专利权是不存在的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值