网络协议:
-
SSL:安全协议 传输层 TCP/IP
-
SOCKS: 应用层 传输层 TCP/IP 实现两个没有直接联系的ip 的主机实现通信
-
SET: 基于信用卡的
-
HTTPS:安全协议
-
PGP:优质安全协议
-
MIME:传输协议
-
ARP:地址解析协议
-
ICMP:Internet控制报文协议
-
TCP:传输控制协议 基于IP
-
UCP:用户数据报协议 基于IP
-
SNMP:简单网络管理协议
网关协议
-
外部网关协议:BGP
-
内部网关协议 :RIP、OSPF、 ISIS
软件维护工具
-
版本控制工具
-
文档分析工具
-
开发信息库工具
-
逆向工程工具
-
再工程工具
系统性能
-
时钟频率:cpu(time)=指令数+CPI/时间频率
-
指令执行速率:MIPS=指令数/(执行时间*1 000 000) 主频/CPI
网络
-
网卡、网桥、第二层交换机:数据链路层
-
中继器、集线器:物理层
-
路由器、网关、第三层交换机、高层交换机:网络层
端口号:
-
FTP:21 控制端口 20 传输端口
-
POP3: 110
-
IMAP4:143
-
SMTP:25
OSI模型
-
应用层 :HTTP、Telnet、FTP、SMTP
-
表示层
-
会话层
-
传输层:TCP、UDP
-
网络层:IP
-
数据链路层:IEEE802.2/3
-
物理层
网络命令行
ipconfig:
用于显示所有当前的TCP/IP 网络配置,刷新动态主机配置协议(DHCP)和域名系统(DNS)设置,
ipconfig 查看配置
ipconfig /all 查看全部详情配置
ipconfig /release 释放归还IP地址
ipconfig /renew 重新租用地址
nslookup:
命令用于
查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题
netstat : 要获取某个网络开放端口所对应的应用程序信息
Route:用来显示、人工添加和修改路由表项目。
ARP:命令能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用ARP命令,也可以用人工方式输入静态的网卡物理/IP地址对
Net:命令是一个命令行命令,通过它可以查看和管理网络的环境、服务、用户、登陆等信息内容。
tracert:
诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP)回显
数据包发送到目标,以决定到达目标采用的路由
软件设计
-
功能内聚---功能单一
一个模块中各个部分都是
完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作、紧密联系、不可分割的,则称该模块为功能内聚。
-
信息内聚(通信内聚)---同一数据结构
这个模块完成多个功能,各个功能都在
同一个数据结构上操作,每一项功能有一个
唯一的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构的。
-
通信内聚----相同输入输出
如果一个模块内各功能部分都使用了
相同的输入数据,或产生了相同的输出数据,则称为通信内聚。通常,通信内聚模块是通过数据流图来定义的。
-
过程内聚
使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如:把流程图中的循环部分,判定部分,计算部分分成3个模块,这3个模块都是过程内聚模块。
-
时间内聚----与时间有关
这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行,如初始化模块和终止模块。
-
逻辑内聚
这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能
-
巧合内聚----没联系
模块内各部分之间没有联系,或者即使有联系,这种联系也是很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块
-
非直接耦合
如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
-
数据耦合
如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换数据输入输出信息的。
-
标记耦合
如果一组模块通过参数表传递记录信息,这个记录是某一数据结构的子结构,而不是简单变量。
-
控制耦合
如果一个模块通过传送开关、标志、名字等控制信息,明显的控制选择另一模块的功能。
-
外部耦合
一组模块都访问同一全局简单变量而不是同一个全局数据结构,而且不是通过参数表传递该全局变量的信息。
-
公共耦合
若一组模块都访问同一个公共数据环境,公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区。
-
内容耦合
如果发生下列情形:一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重叠(只可能出现在汇编语言中)。
结构化分析方法
工具
-
数据流图
-
数据字典
产出
-
软件需求说明书
-
数据流图
-
数据字典
结构化设计方法(体系机构设计、接口设计、数据设计、过程设计)
自顶向下
结构图
反映了控制流的情况
模块
模块间的调用关系
模块间的通信
辅助控制符号
面向对象设计
原则:
单一原则
开放-封闭原则
里氏替换原则
依赖倒置原则
组合重用原则
接口隔离原则
迪米特原则
用户界面设计
置界面于用户控制之下
减少用户记忆负担
保持界面的一致性
数据流图设计
接口设计的依据
要略
自外向内、
自顶向下
保持父图与子的平衡:父图中某加工的输入/输出数据流必须与它的子图的输入/输出数据流在数量和名字上相同
保持数据守恒:一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工 能产生的数据。
数据字典
数据流、数据文件、加工逻辑、源点、数据元素
UML
各图的定义
设计模式
各模式的定义
ISO/IEC 软件质量模型
质量特性
|
质量子特性
|
可靠性
|
成熟性
|
容错性
| |
易恢复性
| |
易使用性
|
易理解性
|
易学性
| |
易操作性
| |
功能性 |
安全性
|
适宜性
| |
准确性
| |
互用性
| |
依从性
| |
效率
|
时间特性
|
资源特性
| |
可维护性
|
易分析性
|
易修改性
| |
稳定性
| |
可测试
| |
可移植性
|
适应性
|
易安装性
| |
一致性
| |
可替换性
|
CMMI/CMMI
Ⅱ
能力成熟度模型集成
级别1:初始级
级别2:已管理级
级别3:严格定义级
级别4:定量管理级
级别5:优化级
McCade度量法
环路复杂度=弧-节点+2
软件可靠性
可靠性=平均无故障时间/(平均无故障时间+平均修复时间)
软件项目成本估算模型COCOMO
Ⅱ
3个阶段
-
应用组装模型
-
早期设计阶段模型
-
体系结构阶段模型
估算点
-
对象点(应用组装模型)
-
功能点(早期设计阶段)
-
代码行 (体系结构阶段)
编译原理
词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用的信息,报告分析时的错误
语法分析:语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式,赋值,循环等,按语法规则分析检查每一条语句是否有正确的逻辑结构
语义分析:主要检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配,表达式的除数是否为0等
位示图
软件模型
-
瀑布模型
-
快速原型模型
-
演化模型
-
增量模型
-
螺旋模型
-
喷泉模型
-
基于构件模型
-
快速应用开发模型
-
RUP
设计模式
-
创建型
(类)工厂模式
定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。
(对象)单例模式
(对象)建造模式
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
(对象)原型模式
(对象)抽象工厂模式
-
结构型
(对象)代理模式
为其他对象提供一种代理以控制对这个对象的访问。
(对象或类)适配器模式
将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(对象)桥接模式
将抽象部分与实现部分分离,使它们可以独立变化
(对象)装饰模式
动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活
(对象)外观模式
为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
(对象)享元模式
运用共享技术有效地支持大量细粒度的对象
(对象)组合模式
将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性.
-
行为型
(类)模板方法模式
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
(类)解释器模式
(对象)中介模式
用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互
(对象)状态模式
允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类
(对象)责任链模式
避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理它为止
(对象)迭代器模式
提供一种方法顺序访问一个聚合对象中的各个元素,而又无须暴露该对象的内部表示
(对象)策略模式
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
(对象)命令模式
将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
(对象)观察者模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
(对象)访问者模式
主要将数据结构与数据操作分离
(对象)备忘录模式
待处理
1.UML图作用
-
类图:展现了一组对象、接口、协助和它们之间的关系
-
对象图:展现了一组对象以及它们之间的关系(图与类图一致)
-
用例图:展示了一组用例、参与者以及它们之间的关系
-
交互图
1. 序列图:展现了一个用例和多个对象的行为,以时间顺序的对象之间
2. 通信图:强调接收和发送消息的对象的结构组织
3. 时序图:
-
状态图:用来描述一个特定对象的所有可能状态及其引起状态转移的事件
-
构件图:展现了一组构件之间的组织和依赖(物理方面)
-
部署图:展现了运行处理节点以及其中构件的配置(物理+硬件)
病毒
-
震网(Stuxnet)是一种蠕虫病毒