网络协议:
网关协议
外部网关协议:BGP
内部网关协议 :RIP、OSPF、ISIS
软件维护工具
版本控制工具
文档分析工具
开发信息库工具
逆向工程工具
再工程工具
系统性能
网络
网卡、网桥、第二层交换机:数据链路层
中继器、集线器:物理层
路由器、网关、第三层交换机、高层交换机:网络层
端口号:
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. 序列图:展现了一个用例和多个对象的行为,以时间顺序的对象之间
2. 通信图:强调接收和发送消息的对象的结构组织
3. 时序图: