软件设计师大纲与知识点(持续更新中)
2022-09-07 17:45:07 11 举报
AI智能生成
拿去吧 ,不用谢
作者其他创作
大纲/内容
下午场
上午场
第1章、计算机系统知识
计算机系统基础知识
系统硬件基本组成
运算器
控制器
输入设备
输出设备
存储器
中央处理单元CPU
CPU功能
程序控制
C P U通过执行指令来控制程序的执行顺序。
操作控制
一条指令功能的实现需要若干操作信号配合来完成C P U产生每条指令的操作信号,并将操作信号送往对应的部件,控制相应的部件,按指令的功能要求进行操作。
时间控制
指令执行过程中操作信号的出现时间,持续时间,及出现的时间顺序都需要进行严格控制。
数据处理
通过对数据进行算术运算及逻辑,运算等方式进行加工处理。
CPU组成
运算器
组成
算术逻辑单元ALU
累加寄存器AC
数据缓冲寄存器DR
状态条件寄存器PSW
意义
是数据加工处理部件,用于完成各种算术和逻辑运算
控制器
指令寄存器IR
程序计数器PC
具有寄存信息和计数两种功能。又名指令计数器。
指令的执行分为两种情况,一是顺序执行二是转移执行。
地址寄存器AR
保存当前CPU所访问的内存单元的地址。
指令译码器ID
指令包括操作码和地址码两部分。为了能执行,必须对操作码进行分析一遍,指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件完成所需的功能。
控制逻辑
质量控制逻辑
时序控制逻辑
为每条指令按时间顺序提供应有的控制信号。
总线控制逻辑
为多个功能部件服务的信息通路的控制电路
中断控制逻辑
用于控制各种中断请求,并根据优先级的高低,对中断请求进行排队,逐个交给CPU处理。
寄存器组
专用寄存器
运算器、控制器中的寄存器是专用寄存器。
通用寄存器
通用寄存器用途广泛,并可由程序员规定其用途,其数目因处理器不同有所差异。
内部总线等
数据表示
原码
反码
最高位是符号位,0表示正号,1表示负号,正数的反码与原码相同,负数的反码则是其绝对值按位求反。数字0的反码表示有两种形式。
补码
最高位是符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1。在补码的表示中,0有唯一的编码。
移码
校验码
奇偶校验码
海明码
循环冗余校验码
计算机体系结构
计算机体系结构的发展
分类
宏观上按处理机数量进行分类
单处理系统
并行处理与多处理系统
分布式处理系统
微观上按并行程度进行分类
Flynn分类法
冯泽云分类法
Handler分类法
Kuck分类法
指令系统
指令集体系结构ISA
分类
按暂存机制分类
堆栈
累加器
寄存器组
通用寄存器GPR
关键性优点是编译程序能有效地使用寄存器,无论是计算表达式的只还是从全局的角度使用寄存器来保存变量的值。
CISC和RISC
复杂指令集计算机
思想
基本思想是进一步增强原有质量的功能,用更为复杂的新指令取代原先有软件子程序完成的功能,实现软件功能的硬化。导致机器的指令系统越来越庞大、复杂。事实上,目前使用的绝大多数计算机都属于CISC类型。
弊端
指令集过分庞杂
每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度。
由于指令系统过分庞大是高级语言编译程序选择目标指令的范围很大,难以生成真正高效的目标代码。
强调完善的中断控制,势必导致动作繁多设计复杂,研制周期长。
给芯片设计带来很多困难,出错的几率增大,成本提高而成品率降低。
精简指令集计算机
思想
基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能当周期执行,并通过优化编译,提高指令的执行速度采用硬布线控制逻辑优化编译程序。使机器的指令系统进一步精炼而简单。
关键技术
重叠寄存器窗口技术
优化编译技术
超流水及超标量技术
硬布线逻辑与微程序相结合在微程序技术中
采用的流水技术有
超流水线
超标量
超长指令字
优化
指令的流水处理
指令控制方式
顺序方式
重叠方式
流水方式
流水线的种类
从级别上可分为
部件级
处理机级
系统级
从功能上可分为
单功能流水线
多功能流水线
从连接上可分为
静态流水线
动态流水线
从是否有反馈回路上可分为
线性流水线
非线性流水线
从流动顺序上可可分为
同步流水线
异步流水线
从数据表示上可分为
标量流水线
向量流水线
流水的相关处理
相关
局部性相关
概述
由于流水时机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的先写后读的要求,这就出现了指令相关、访存操作数相关、通用寄存器组相关,他只影响相关的两条或几条指令,而且最多影响流水线的某些段推后工作影响是局部的,所以称为局部性相关。
解决方法
退后法
通路法
全局性相关
概述
转移指令与他后面的指令之间存在关联,使之不能同时解释。执行转移指令时,可能会改动指令缓冲器中预先取到的指令内容,从而造成流水线吞吐率和效率下降,比局部性相关的影响要严重得多,所以称为全局性相关。
解决方法
猜测转移分支
加快和提前形成条件码
加快短循环程序的处理
吞吐率和流水建立时间
公式见课本19页
阵列处理机、并行处理机、多处理机
存储系统
存储器的层次结构
存储器的分类
相联存储器
是一种按内容访问的存储器
高速缓存
用来存放当前最活跃的程序和数据,特点是位于CPU与主存之间。对程序员来说是透明的。
虚拟存储器
外存储器
磁盘阵列技术
存储域网络
输入输出技术
微型计算机中最常见的内存与接口的编址方法
直接程序控制
中断方式
中断处理方法
中断优先级控制
直接存储器存取方式
输入/输出处理机(IOP)
总线结构
总线的分类
数据总线
用来传送数据,是双向的。
地址总线
用来传送CPU发出的地址信息,是单向的。
控制总线CB
用来传递控制信号、时序信号、状态信息。CB中每一条线的信息传递方向是单方向的,但CB作为一个整体则是双向的。所以,在各种结构框图中,凡涉及控制总线CB的均是以双向线表示。
常见总线
共计11类 详见课本36页
安全性、可靠性与系统性能评测基础知识
计算机安全概述
计算机安全等级
计算机系统中的三类安全性是指:技术安全性、管理安全性、政策法律安全性
安全性的阶级共分为4组7个等级。详见课本39页。
安全威胁
概念
指人、物、事件对某一资源的机密性、完整性、可用性、合法性所造成的危害。
分类
故意
偶然
影响数据安全的因素
内部因素
外部因素
加密技术和认证技术
加密技术
对称加密技术
非对称加密技术
认证技术
概述
认证技术主要解决网络通信过程中通信双方的身份证。
完整的PKI系统必须具有:
认证机构
数字证书库
密钥备份及恢复系统
证书作废系统
应用接口
Hash函数与信息摘要
数字签名
SSL协议
数字时间戳技术
计算机可靠性
概述
模型
计算机系统的性能评价
常用方法
基准测试程序
第2章、程序设计语言基础知识
程序设计语言概述
基本概念
基本成分
语言处理程序基础
汇编程序基本原理
编译程序基本原理
解释程序基本原理
第3章、数据结构
线性结构
线性表
栈和队列
串
数组、矩阵、广义表
数组
矩阵
广义表
树
图
查找
排序
内部排序
简单排序
直接插入排序
冒泡排序
简单选择排序
快速排序
堆排序
归并排序
基数排序
希尔排序
外部排序
第4章、操作系统知识
操作系统的4特征与5功能
功能
1.进程管理
2.文件管理
3.存储管理
4.设备管理
5.作业管理
特征
1.并发性
2.共享性
3.虚拟性
4.不确定性
操作系统分类及特点
批处理操作系统
单道批处理操作系统
一次只有一个作业,装入内存执行。
作业由用户程序、数据、作业说明书(作业控制语言)组成
多道批处理操作系统
分时操作系统
分时操作系统是将C P U的工作时间划分为很多很短的时间片轮流为各个终端的用户服务,尽管各个终端上的作业是断续的运行的。但由于操作系统每次对用户程序都能作出及时的响应,因此用户感觉整个系统均归其一人占用
特点
1.多路性
2.独立性
3.交互性
4.及时性
实时操作系统
实时是指计算机,对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。
分类
实时控制系统
实时信息处理系统
网络操作系统
分布式操作系统
是由多个分散的计算机连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息,通常为分布式计算机系统配置的操作系统称为分布式操作系统。
分布式操作系统是网络操作系统的更高级形式,他保持网络系统所拥有的全部功能,同时又有透明性可靠性和高性能的特性。
微型计算机操作系统
windows.mac. Linux
嵌入式操作系统
1.微型化
2.可定制
3.实时性
4.可靠性
5.易移植性
进程管理
基本概念
程序与进程
进程的组成
1.程序
2.数据
3.进程控制块
进程的状态以及状态间的切换
进程的三态模式
运行
当一个进程在处理机上运行时,则称该进程处于运行状态,显然对于单处理机系统,处于运行状态的进程只有一个。
就绪
一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
阻塞
阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生而暂时停止运行,这时即使把处理机分配给进程也无法运行过程,故称该进程处于阻塞状态。
进程的五态模式
新建
就绪
运行
阻塞
终止
具有挂起状态的进程状态及其转换
活跃就绪
指进程在主存并且可被调度的状态
静止就绪
指就绪进程被对换到辅存时的状态他是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级时,系统才将挂起就绪态进程调回主存并转换为活跃就绪
活跃阻塞
指进程在主存,一旦等待的事件产生便进入活跃就绪状态。
静止阻塞
指阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。
程序顺序执行的特征
顺序性
封闭性
可再现性
程序并发执行的特征
失去了程序的封闭性。
程序和机器的执行程序的活动不在一一对应。
并发程序间的相互制约性。
进程的控制
进程控制是由操作系统内核中的原语实现的
原语:是指若干条机器指令组成的用于完成特定功能的程序段
特点:执行时不能被分割,即原子操作要么都做,要么都不做
内核中所包含的原语主要有
进程控制原语
进程创建原语
进程撤销原语
进程挂起原语
进程激活原语
进程阻塞原语
进程唤醒原语等
进程通信原语
资源管理原语
以及其他方面的原语
进程间的通信
同步与互斥
进程间的同步
操作系统的发展
促使操作系统发展的因素主要有三个方面,地衣硬件的不断升级和新的硬件产品出现,需要操作系统提供更多更复杂的支持第二,新的服务需求操作系统,为了满足系统管理者和用户需求需要不断扩大服务范围,第三修补操作系统自身的错误操作系统,在运行的过程中,其自身的错误也会不断地被发现,因此需要不断地修补操作系统自身的错误。打补丁
第5章、软件工程基础知识
软件工程概述
软件工程基本原理
1.用分阶段的生命周期计划严格管理。
2.坚持进行阶段评审。
3.实现严格的产品控制。
4.采用现代程序设计技术。
5.结果应当清楚的审查。
6.开发小组的人员应少而精。
7.承认不断改进软件工程实践的必要性。
软件生存周期
1.可行性分析与项目开发计划
2. 需求分析
3.概要设计
4. 详细设计
5. 编码
6. 测试
7. 维护
软件开发模型(软件过程模型)
瀑布模型
依线性顺序连接的若干阶段的模型。包括 需求分析、设计编码、测试运行、维护,他规定了,由前至后相互衔接的固定次序如同瀑布流水逐级下落。
增量模型
融合了瀑布模型的基本成分和原型实现的迭代特征,将需求分段为一系列增量产品,每一增量可以分别开发。采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的增量。增量模型强调:每一个增量均发布一个可操作的产品。
演化模型
原形模型
原型方法比较适合于用户需求不清、需求经常变化的情况,当系统规模不是很大,也不是太复杂时采用该方法比较好。原型是预期系统的一个可执行版本,原型模型开始于沟通,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,确定原型的目标和范围,采用快速射击的方式对其进行建模,并构建原型。
螺旋模型
螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。(螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,从而做出应有的反应,因此该模型特别适用于庞大复杂,并且具有高风险的系统。)
螺旋模型将开发过程分为几个螺旋周期每个螺旋周期大致和瀑布模样相符合。每个周期分为四个工作步骤:1制定计划,2风险分析,3实施工程,4用户评估。
喷泉模型
喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。使得开发过程具有迭代性和无间隙性。无间隙是指在开发活动之间不存在明显的边界,也就是说他不像瀑布模型那样,在需求分析活动结束后才开始设计活动。而是允许开发活动交叉迭代的进行。其优点可以提高软件项目的开发效率,节省开发时间,但由于开发阶段是重叠的在开发过程中需要大量的开发人员不利于项目的管理。此外,这种模型要求严格管理文档,使得审核的难度加大。
基于构件的开发模型
形式化方法模型
统一过程(UP)模型
起始阶段:生命周期目标
精化阶段:生命周期架构
构建阶段:初始运作功能
移交阶段:产品发布
敏捷方法
极限编程XP
4大价值观:沟通、简单性、反馈、勇气
5个原则:快速反馈、简单性假设、逐步修改、提倡更改、优质工作
水晶法
认为每一个不同的项目都需要一套不同的策略、约定和方法论。
并列争求法
使用了迭代的方法,其中把每段时间(30天)一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品,多个自组织和自治的小组并行的递增实现产品,并通过简短的日常情况会议进行协调。
自适应软件开发
敏捷统一过程
需求分析
需求包括:功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密需求、可靠性需求、软件成本消耗与开发进度需求、其他非功能性需求。
原则
1.必须能够表示和理解问题的信息域
2.必须能够定义软件将完成的任务
3. 必须能够表示软件的行为
4. 必须划分描述数据、功能和行为的模型,从而可以分层次的揭示细节
5. 分析过程应该从要素信息移向细节信息
需求工程
可以细分为需求获取、需求分析与协商、系统建模、需求规约、需求验证、需求管理6阶段。
软件开发资源规划
为了确定构建软件系统所需的人数,需要考虑软件系统的规模,系统的技术复杂性,项目计划和开发人员的技术背景等方面,与市场前景无关。
系统设计
概要设计
详细设计
系统测试
系统测试与调试
传统软件的测试策略
测试面向对象软件
测试web应用
测试方法
调试
运行和维护
系统转换
系统维护
系统评价
软件项目管理
软件项目管理涉及的范围
软件项目估算
进度管理
软件项目的组织
软件配置管理
风险管理
软件质量
软件质量特性
软件质量保证
软件评审
软件容错技术
软件质量
软件质量分类
软件复杂性度量
软件工具与软件开发环境
软件工具
软件开发环境
第6章、结构化开发方法
系统分析与设计概述
目的
任务
主要步骤
1.对当前系统进行详细调查,收集数据。
2.建立当前系统的逻辑模型。
3.对现状进行分析,提出改进意见和建议
4.建立新系统的逻辑模型
5.编写系统方案说明书
系统设计
基本原理
1.抽象
2.模块化
3.信息隐避
4.模块独立
耦合
内聚
系统总体结构设计
系统结构设计原则
1.分解-协调原则
2.自顶向下原则
3.信息隐蔽,抽象的原则。
4. 一致性原则
5. 明确性原则
6.模块之间的耦合尽可能小,模块的内聚度尽可能高。
7.模块的扇入系数和扇出系数要合理。
8.模块的规模适当。
子系统划分
原则
子系统的结构设计
系统模块结构设计
模块的概念
模块是组成系统的基本单位,它的特点是可以组合、分解和更换。系统中的任何一个处理功能都可以看成是一个模块。根据功能具体化程度的不同,模块可以分为逻辑模块和物理模块。
一个模块应具备的四要素
1.输入和输出
2.处理功能
3. 内部数据
4. 程序代码
模块结构图
详见课本322页
模块、调用、数据、控制信息、转接符号
数据存储设计
系统文档
对文档在系统开发人员、项目管理人员、系统维护人员、系统评价人员以及用户之间的多种作用总结如下:
1.用户与系统分析人员在系统规划和系统分析阶段,通过文档进行沟通。
2.系统开发人员与项目管理人员通过文档在项目期内进行沟通。
3.系统测试人员与系统开发人员通过文档进行沟通。
4.系统开发人员与用户在系统运行期间进行沟通。
5. 系统开发人员与系统维护人员通过文档进行沟通。
6. 用户与维修人员在运行维护期间进行沟通。
结构化分析方法SA
概要
结构化分析
结构化设计
结构化程序设计
结构化分析方法
抽象和分解是处理任何复杂问题的两个基本手段。
结构化分析方法就是采用这种自顶向下组成分解的思想进行分析建模的。自顶向下逐层分解,充分体现了分解和抽象的原则。随着分解层次的增加,抽象的级别也越来越低,既越来越接近问题的解,自顶向下的过程是分解的过程,自底向上的过程是抽象的过程。
数据流图(DFD)
数据流程图的基本图形元素
数据流
加工
数据存储
外部实体
分层数据流程图
数据字典
4类条目
数据流条目
给出了DFD中数据流的定义。
数据项条目
是组成数据流和数据存储的最小元素。 是不可再分解的数据单位。
数据存储条目
是对数据存储的定义。
基本加工条目
是用来说明DFD中基本加工的处理逻辑的。由于下层的基本加工是由上层的加工分解而来,只要有了基本加工的说明就可以理解其他加工。
数据词典
加工逻辑
结构化语言
外层
1.顺序结构
2.选择结构
3.重复结构
内层
判定表
详见课本337页
判定树
是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
结构化设计方法SD
基本思想:将系统设计成由相对独立、功能单一的模块组成的结构。
结构图:来描述软件系统的体系结构,指出一个软件系统有哪些模块组成,以及模块之间的调用关系。
设计步骤
第一步建立一个满足软件需求规约的初始结构图。
第二步是对结构图进行改进。
数据流图到软件体系结构的映射
1.信息流的类型
在需求分析阶段,用结构化分析方法产生了数据流程图,面向数据流的设计能方便的将数据流程图转换成程序结构图。数据流程图的信息流大体上可以分为两种类型:交换流和事物流。
2.变换分析
1. 确定输入流和输出流,分离出交换中心。
2. 第一级分解
3.第二级分解
4.事务分析
5. SD方法的设计步骤
1.复查并精化数据流图。
2. 确定DFD的信息流类型。(交换流或事务流)
3.根据流类型分别实施变换分析或事务分析。
4.根据系统设计的原则,对程序结构图进行优化。
结构化程序设计SPD
第7章、面向对象技术
子主题 1
第8章、算法设计与分析
算法设计与分析的基本概念
算法
算法设计
算法分析
算法的表示
算法分析基础
时间复杂度
递进符号
递归式
分治法
递归的概念
分治法的基本思想
分治法的典型实例
动态规划法
动态规划法的基本思想
动态规划法的典型实例
贪心法
贪心法的基本思想
贪心法的典型实例
回溯法
回溯法的算法框架
回溯法的典型实例
分支限界法
概率算法
近似算法
数据挖掘算法
智能优化算法
第9章、数据库技术
基本概念
数据模型
基本概念
三要素
E-R模型
数据模型
关系模型
关系代数
关系数据库的基本概念
5种基本的关系代数运算
扩展的关系代数运算
关系数据库SQL语言
函数式SQL
关系数据库的规范化
函数依赖
规范化
模式分解及分解应具有的特性
数据库的控制功能
事务管理
数据库的备份与恢复
并发控制
第10章、网络与信息安全基础知识
网络概述
计算机网络的概述
计算机网络的分类
网络的拓扑结构
ISO/OSI网络体系结构
网络互连硬件
网络的设备
网络的传输介质
组建网络
网络协议与标准
网络的标准
局域网协议
广域网协议
TCP/IP协议族
互联网及应用
概述
地址
服务
信息安全基础知识
网络安全概述
第11章、标准化和软件知识产权
标准化
基本概念
信息技术标准化
标准化组织
ISO 9000标准
ISO/IEC 15504过程评估标准
知识产权
基本概念
软件著作权
软件的商业秘密权
专利权
企业知识产权的保护
第12章、软件系统分析与设计
结构化分析与设计
需求说明
结构化分析
总体设计
详细设计
数据库分析与设计
数据库设计的策略与步骤
需求分析
概念结构设计
逻辑结构设计
数据库的物理设计
数据库的实施与维护
案例分析
面向对象分析与设计
面向对象分析与设计的步骤
需求说明
建模用例
建模活动
设计类图
建模对象状态
建模交互
算法分析与设计
C程序设计语言与实现
算法设计与实现
面向对象的程序设计与实现
设计与实现方法
设计模式的应用
收藏
收藏
0 条评论
下一页