文档库 最新最全的文档下载
当前位置:文档库 › 软件设计师知识点汇总(作弊版).

软件设计师知识点汇总(作弊版).

软件设计师知识点汇总(作弊版).
软件设计师知识点汇总(作弊版).

计算机系统组成--------------------------------------计算机系统组成

运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、

指令译码器。CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的。

相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。

CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块、全相联映像(主存分块、组相联映像(主存分区,区分块、块成组,CACHE分块成组。替换算法:随机、先进先出、近期最少用、优化替换算法。性能分析:H为CACHE命中率,t c 为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c +(1-H t m提高了t m/t a倍。虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。

RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。

内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。

廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各

磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址。

直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。根据占

据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。

输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式。

指令流水线:操作周期是最慢的操作的时间。建立时间是达到最大吞吐率的时间。

总线内总线:ISA、EISA、PCI;外总线:RS-232(3根线全双工15米、SCSI(并行外总线、16位、最大320M秒、最多63个设备20米、USB(4条线480M秒接5层127个设备、IEEE-1394(串行6条线3.2G秒热插

阵列处理机:单指多数据流SIMD,同步同时执行同一指令。

多处理机:多指多数据,多处理机互连应满足高频带、低成本、方式多样、在不规则通讯下连接的无冲突性。四种结构:总线式、交叉开关、多端口存储器结构、开关枢纽式。

并行处理机:单指令多数据流,分布存储和共享存储两种结构。特点资源重复、连接模式、专用性(与算法联系、复合性。

信息安全五要素:机密性、完整、可用、可控性、可审查性。

安全等级:三类技术安全性、管理安全性、政策法规安全性。《可信计算机系统评测标准》TCSEC/TDI分4组7级。A1可验证安全设计、B3安全域、B2结构化安全保护、B1标记安全保护、C2受控访问控制、C1初级、D最低无安全功能。

安全威胁:对资源的机密性、完整性、可用性、合法性造成危害。两类故意和偶然。

加密技术的两个元素:算法和密钥。对称加密即私密加密,加解密使用相同的密钥DES;非对称加密即公密加密RSA,加密公开解密保密,适合少量数据加密;不可逆加密。常用加密算法:DES算法采用56位密钥对64位数据加密密钥太短、三重DES效果相当于密钥长度加倍;RC5算法RSA采用此算法;IDEA密钥是128位。密

钥管理:密钥产生由权威认证机构CA中心、公开密钥体系PKI、密钥分发中心KDC。

认证技术主要解决通讯双方身份认可。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术(包括加密、数字签名、数据完整机制、数字信封、双重数字签名。密钥备份恢复仅限解密密钥,私密不备份。PKI采用证书进行公钥管理,PKI把公钥密码和对称密码结合起来,保证网上数据安全传输。机密性(不被偷看、完整性(不被篡改、有效性(不被否认。PKI标准化有两个方面:RSA的机密密钥标准PKCS和工业基础协议PKIX。Hash函数:输入不同长度字符返回定长串,即Hash值。它可以在数字签名中解决验证签名和用户身份验证、不可抵赖性的问题。信息摘要即数字指纹,它用于创建数字签名,对于特定文件信息摘要是唯一的,常用Hash函数有MD2、MD4、MD5他们都产生128位摘要。数字签名使用发送方密钥对,使用发送方私密加密,接受方用发送方的公密解密,是一对多关系;数字加密使用接受方密钥对,公钥加密,私密解密、是多对一的关系。

SSL安全协议:即安全套接层协议,用于保证通讯安全系数。提供三方面的服务:用户和服务器的合法认证、机密数据以隐藏被传送的数据、保证数据的完整性(采用Hash函数和机密共享技术保证数据完整性。

数字时间戳技术:提供电子文件的日期和时间信息的安全保护。时间戳包括三部分:需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS的数字签名。

解决局域网安全问题的技术:①划分网段、局域网交互技术、VLAN,②加密、数字签名、认证和VPN技术,③防火墙,④入侵检测技术⑤网络安全扫描技术。

计算机的可靠性:衡量一个计算机系统可靠性R、可用性A、可维修性S。平均无故障时间MTBF=1/λ

串连系统可靠性R=R1+R2 ;失效率λ=λ1+λ2

并联系统:R=1-(1-R1(1-R2

总失效率=1/( (1/λ* ∑(1/1..n

计算机性能评测方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法。

汇编和编译--------------------------------------------------汇编和编译

汇编语言的三类语句:指令、伪指令、宏指令语句。

编译的过程:①词法分析,②语法分析,③语义分析、④中间代码生成(三地址

码、⑤代码优化:基本块划分:第一条、转移、转移后面的语句。三种优化:合并已知变量、删除无用赋值、删除多余运算。⑥目标代码生成,⑦符号表管理,⑧出错处理。

编译比解释效率高,解释的灵活性和可移植性好。

网络知识------------------------------------------------------ 网络知识

网络的功能:数据通信、资源共享、负载均衡、高可靠性。内层通讯子网对应下三层、外层资源子网对应上三层。按信息交互方式分为:电路交换、分组交换、综合交换网。拓扑结构:总线、星状、环状、树状、分布式。

OSI/RM:物理层:比特流。数据链路层:帧,流量控制、差错控制。网络层:数据包,报文分组,路由选择、交换方式、拥塞控制、差错报告、寻址排序。传输层:报文,报文分段、选择最适宜的网络层服务、最佳的利用网络资源。会话层:访问验证、会话管理。表示层:语法解释、压缩、加解密。应用层。

网络设备:物理层:中继器(由500米扩展到1500米、集线器。数据链路层:网桥(帧过滤特性、交换机(三种交换技术:端口交换、帧交换【直通交换、存储转发、碎片丢弃】、信元交换。网络层:路由器(路由选择、流量控制、过滤、存储转发、介质转换、增强型功能加密、压缩、容错。应用层:网关(协议转换

网络介质:双绞线(屏蔽STP,非屏蔽5类UTP 最长100米;同轴电缆(基带直接传输数字信号,宽带同轴电缆用于频分多路复用FDM 闭路电视用;光纤(多模发光二极管,单模注入型二极管

两台PC间最长500米,最多4个HUB5段电缆。

电信标准:CCITT V系列(V.90猫X系列(X.25。EIA的RS-232标准。IEEE 的802.1(体系结构及网络互连,802.2(涉及逻辑数据链路标准,802.3(以太网CSMA/ CD,802.4(令牌总线,802.5(令牌环差分曼彻斯特编码,802.6(城域网,802.7(光纤FDDI 用4B/5B编码,802.11(无线局域网,802.12(100VG-ANYLAN。

局域网技术的三个问题:介质、拓扑结构、介质访问控制方法。

LAN模型:数据链路层细划为:逻辑链路控制LLC和介质访问控制层MAC。MAC功能:介质访问控制和对信道分配资源,实现帧寻址、识别和检测。LLC功能

加强了:寻址、排序、流控、差错控制,数据帧的封装和拆除。

以太网802.3标准:采用带有冲突检测的载波监听多路访问协议CSMA/CD技术,检测到冲突的退避算法是二进制指数退避算法。802.3 (10M以太网10Base-T

10Base-F、802.3u(100M快速以太网100BaseT、100BaseF多模光纤400米、

100BaseT4 、802.3z(千兆以太网三种介质光纤单模500米多模2000米、宽带同轴电缆25M、5类UTP100米半双工

广域网协议:PPP PPPoE PPPoA应用ADSL(上行1M 下行8M,线路按频段分为语音上下行3个信道、DDN是网状拓扑不经过交换机房、ISDN一线通、FR帧中继、ATM异步传输模式:数据以定长的信元为传输单位,每个信元53B其中头5B信元体48B,四层的参考模型用户层、A TM适配层、A TM层、物理层。

Internet协议:TCP/IP的特性:逻辑编址(48位物理地址,32位逻辑地址、路由选择、域名解析、错误检测、流量控制、对应用程序的支持。TCP/IP的四层结构:①网络接口层(最底层。②网际层只提供无连接不可靠服务协议有:IP,ICMP发送差错报文的协议(5种差错报文即源抑制超时目的不可达重定向要求分段;4种信息报文

即回应请求、回应应答、地址屏蔽码请求、地址屏蔽码应答,ARP 地址解析转成物理地址,RARP反向。③传输层协议TCP的可靠性靠重发技术来实现,三次握手SYN SEQ=200、ACK 201 SYN SEQ=300 、ACK301 ;UDP协议提高传输率。④应用层只有FTP和Telnet是建立在TCP上,其余都在UDP上。

IP地址:网络号部分+主机号部分,A类0(000-127、B类10(128-191、C类

110(192-223、D类1110(224-239用于组播例如路由器修改、E类1111(240-255实验保留。IPV6将32位地址扩展为128位。

子网掩码:网络号部分填1,主机号部分填0。可变长掩码

公共端口号0-1023,其他1024-65535。DNS用53、SMTP用25、SNMP用161,FTP命令21数据20,TCP23。

Win NT网络:两个边界层:NDIS网络接口规范(在会话与传输之间和TDI传输驱动程序接口(数据链路层。四个协议:DLC访问大型机和打印

机,TCP/IP,NWLink(NetWare接口,NetBEUI(NetBIOS的扩展网上邻居。除NetBIOS 对应于传输层外其余三协议都在网络层。

网络安全:基本要求是保密性、完整、可用、可控、可核查。

安全威胁:物理、攻击、身份鉴别、编程威胁、系统漏洞。

防火墙:内外网边界上的过滤封锁机制。在网络层包过滤,在传输层提供端到端的加密,在应用层提供身份认证、加密、内容检查。分类:包过滤型、应用代理网关、状态检测技术防火墙。

多媒体----------------------------------------------------------- 多媒体

数据传输率b/s=采样频率Hz×量化位数b ×声道数

声音信号数据量Byte=数据传输率×时间/8

语音压缩方法:波形编码、参数编码、混合编码

音源即音乐合成器有两类:数字调频合成器、PCM波形合成器。色彩三要素:亮度、色调、色饱和度。红+蓝=品红;绿+蓝=青。光栅化即点阵化将图形转成图像;

向量化即图形跟踪技术将图像转图形

无损压缩即熵编码:行程长度编码RLE、增量调制DME、霍夫曼编码。JPEG2000压缩算法:小波变换算法(有损、离散余玄变换(无损Mpeg4多媒体应用接口、Mpeg7内容描述接口

Gif采用LZW无损压缩算法、PNG用LZ77无损压算、

PAL 帧频25 场扫描频率50 行帧625 每场扫描625/2 分辨率352*288

电影每秒24次,电脑30帧/秒速度刷新

CCIR601标准:色度信号采样4:2:2 采样频率13.5MHZ 每点8位数字化亮度220级色度225级

Mpeg1压缩后码率1.5Mb/s; Mpeg2(HDTV 80Mb/s;Mpeg4最低64Kb/s

流媒体:建立在UDP协议上的实时传输协议和实时流协议RTP/RTSP。通过MIME识别格式。

流媒体发布文件RAM、ASX;流式文件格式RM、RA RP RT ASF ASX

软件工程-------------------------------------------------------- 软件工程

软件生存周期:计划、需求、设计、编码、测试、运维。

软件开发模型:瀑布(缺乏灵活性、导致完成后才发现错误、演化模型(适合需求不明确的情况、螺旋模型(制定计划、风险分析、实施、客户评估、循环、喷泉模型(用于描述面向对象的开发过程,体现的迭代和无间隙特点

需求分析任务是解决功能、性能、数据、界面(输入出数据的要求。成本估算模型有普特南模型和构造性成本模型。风险分析关注三方面:关心未来、关心变化、关心选择。风险评估的三个参照:成本、进度、性能。进度管理常用的描述方法:甘特Gantt图(清晰反映任务起止及并行情况,不能反映依赖关系及关键所在、计划评审技术PERT图(关键路径松弛时间,但不能反映并行。计算机软件工具CASE。软件过程能力评估CMM,软件过程七原理:按周期定计划实施、逐阶段确认、严格产品控制、使用现代程序设计、明确责任、用人少而精、不断改进开发过程。

软件能力成熟度模型CMM ISO/IEC 15504:通过创建规范的软件过程、软件管理过程、软件企业过程并使三者有机结合达到管理并控制软件产品的质量。五个级别:①初始级;②可重复级:焦点集中在软件管理过程上、成功依赖个人和管理层的支持(关键域是需求管理;

③定义级:对整个软件生命周期的管理和工程化都已实现标准化、项目组、团队;④管理级:开始量化管理、实现度量标准化、强烈的群体工作意识(定量过程管理、软件质量管理;⑤优化级:软件过程持续改进(预防缺陷、技术变更、过程变更管理。

软件质量模型ISO/IEC 9126:功能性(适合、准确、互用、依从、安全、可靠性(成熟、容错、易恢复、易使用性(易理解、易学、易操作、效率(时间特性、资源特性、可维护性(易分析、易改变、稳定、易测试、可移植性(适应、易安装、一致、易替换。软件质量强调三点:能满足用户需求、软件应遵循标准开发准则、能满足某些隐形要求。

系统分析方法结构化方法SA的分析结果包括:一套分层的数据流图DFD、一本数据字典(字典条目有:数据流、文件、数据项条目、一组小说明(逻辑加工和补充材料。加工描述的逻辑方法:结构化语言、判定表、判定树。系统分析报告的三个作用:描述系统逻辑模型,作为开发人员设计和实施的基础、用户和开发人员的协议和交流的基础、系统验收和评价的依据。

系统设计两大步骤①总体设计即概要设计:任务分解、划分模块、确定模块功能及调用关系、决定模块界面即数据传递;②详细设计:代码设计、用户界面安全控制设计等。系统设计的原则:抽象、模块化、信息隐蔽(能提高可修改性、可测试性、可移植性、模块独立(高内聚低耦合。内聚低到高(偶然、逻辑、时间、过程、通信、顺序、功能;耦合强到弱(内容、公共、控制、标记即传数据结构、数据、非直接耦合即无信息传递。结构化设计方法SD 信息流的两大类型:变换流(明显分为输入、加工、输出、事物流(从事物中心辐射流出。面向数据结构的设计方

法:Jackson图。

系统实施阶段的任务:购置安装硬件网络系统、软件准备、人力培训、数据准备、投入切换和试运行。程序设计方法主要有:结构化方法、原型法、面向对象法。

系统测试人工测试:即代码审查;机器测试:只能发现症状无法定位,黑盒(功能测试测试软件外部特征、白盒(结构测试测试对程序路径和过程测试单元测试中用。测试步骤:①单元测试:模块接口、数据结构、执行路径、出错处理、边界条件;②组装测试即集成测试;③确认测试是软件测试的最后环节包括有效性(黑盒、软件配置审查、验收测试;④系统测试主要内容:恢复测试、安全性测、强调(压力测、性能测、可靠性测、安装测试。

可维护性的评价指标:可理解性、可测试性、可修改性。维护的内容:正确性维护、适应性、完善性、预防性维护。

审计在三个层次上设定:语句、特权、对象审计。

标准化知识-------------------------------------------------标准化知识

国际标准化组织ISO和IEC。统一是标准化的本质,目的是建立最佳秩序和获得最佳效益。标准复审(5年次要确保其有效性、先进性、适用性。按性质分类:技术标准、管理标准、工作标准。采用国际和国外先进标准的方法:认可法、封面法、完全重印法、翻译法、重新制定法、包括引用法。采用程度:等同idt、等效

eqv、非等效采用neq。标准化条码EAN,共有13位:3位前缀表示国家、4位厂商代码、5位商品代码、1位效验码。

ISO9000:是质量管理和质量保证的标准,按照全面质量管理的PDCA模式工作。ISO9000:2000现有13项标准,有4个核心标准(基

础和术语用概念图描述、要求、业绩改进指南、审核指南。标准确认的8项原则:以顾客为中心、领导作用、全员参与、过程方法(4大过程即管理职责、资源管理、产品实现、测量分析和改进、管理的系统方法、持续改进、基于实事的决策方法、互利的供求关系。

知识产权知识----------------------------------------------知识产权知识

《民法通则》保护。知识产权分为两类工业产权和著作权。特点:无形性、双重性、确认性、独占性、地域性、时间性(专利20年,实用新型和外观10年,到期前6个月展期10年。

《计算机软件保护条例》受保护的软件的条件:独立创作、可被感知、逻辑合理。软件著作权保护期50年。软件著作权法律:民事责任(侵犯著作权发表改名,行政责任(复制销售删改转让等,刑事责任。《反不正当竞争法》商业秘密。

常用算法-------------------------------------------------------------常用算法

算法的五特性:有穷性、确定性、可行性、输入、输出

好的算法的目标:正确性、可读、健壮、效率与低存储需求

迭代法:求方程近似根。穷举搜索法。递推法。递归法:执行过程分递推和回归两阶段背包问题。回溯法即试探法。贪心法:不求最优但求快速有解,哈夫曼算法装箱问题马的遍历。分治法:大问题分成小问题解决快速排序比赛日程。动态规划法:求两字符串中最长公共字符序列。

面向对象技术-------------------------------------------面向对象技术

面向对象=对象+分类+继承+通过消息的通讯。对象有对象名(标识、属性和操作(方法组成。对象是类的实例。类解决数据保护问题,继承是父子共享数据和方法的机制。

多态:是不同对象收到同一消息产生不同结果。通用多态有参数多态(最纯的、类属,包含多态(子类型化;特定多态有过载多态(同一变量被用来表示不同功能、强制多态。

好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态。程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象。

面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统。

面向对象的概念:对象、类、方法、实例变量、消息、子类、继承

类的访问控制符:Private类内Protected类及友元Public

消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性。

衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少。

面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征。五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作。

面向对象设计OOD:设计分析模型和实现源代码。构件是功能和数据的封装。

面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层。常采用回归测试和自动测试。

面向对象的分析和设计方法:1Peter Coad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构(一般和特殊和组装结构(整体和部分。OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件。2Booch 的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现。3对象建模技术OMT:三个模型即对象模型(链和关联、泛化、聚集、模块、动态模型(与时间和操作顺序有关的特征,用状态图表示、功能模型(描述与值变换有关的特征用数据流图表示。

4统一建模语UML:UML三要素(UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制。三种构造块(事物、关系、图。四种事务:结构事物(静态部分类接口协作用例主动类构件结点、行为事物(交互和状态机、分组事物(包是概念性的仅在开发时存在、注释事物。四种关系:依赖(事物间语义关系、关联(结构关系、聚集(特殊的关联整体和部分、泛化(一般和特殊、实现(类元之间的语义关系。五类9种图:①用例图(用户角度描述系统功能,用于对系统的语境和需求建模、②静态图(类图、对象图;定义类之间关系和类内结构、③行为图(状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模、④交互图(顺序图合作图:描述对象间的交互关系、⑤实现图(构件图:描述代码部件的物理结构及各部件之间的关系;配置图即部署图:定义系统中软硬件关系。

数据结构----------------------------------------------------------数据结构

栈:先进后出;队列:尾进头出循环对列F=(R+1+Memory_Length mod M

串:(主串n 模式串m朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=(n+m/2 最坏=m(n+m/2

二叉树:i层至多2i-1个结点;深度为k的二叉树最多2k-1个结点;具有n个结点的完全二叉树的深度为└log2n┘+ 1;森林和树的转换利用树的孩子兄弟表示法。哈夫曼树即最优二叉树,是带权路径最短的树。

图:N个顶点的无向完全图有n(n-1/2条边;任何图的边=顶点总度数/2;连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;生成树是极小连通图;n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点。求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;

AOV网:工程可行性;AOV的拓扑排序(选入度为0的输出、删

AOE网:工程需时和关键活动;关键路径是最长路径。

最短路径:迪杰斯特拉算法

查找:①顺序查找平均查找次数ASL=(n+1/2;②折半ASL=(n+1/2 * log2(n+1-

1 ;③分块(s是每块的个数块内块间都顺序ASL=(n/s + s /

2 +1 块内顺序块间折半ASL= log2(n/s+1 + s/2

二叉排序树即二叉查找树左小于右;平衡二叉树A VL树左右深度差不超过一;m阶B-树根至少有两棵子树其他非叶至少有m/2进位取整棵

哈希表散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度。

排序:堆排序建堆从最后一个非叶开始(一直往下一个个往前筛选。

直接插入好O(n 均O(n2 坏O(n2 辅O(1 稳定

直接选择O(n2 O(n2 O(n2 O(1 不稳

冒泡排序O(n O(n2 O(n2 O(1 稳定

希尔排序―――O(n1.25 不稳缩小增量排序

快速排序O(nlogn O(nlogn O(n2 O(nlogn不稳后往前找小交换

堆排序O(nlogn O(nlogn O(nlogn O(1 不稳

归并排序O(nlogn O(nlognO(nlogn O(1 稳定两两排序归并

基数排序O(d(n+rdO(d(n+rdO(d(n+rdO(rd 稳定r=10,d位数

操作系统------------------------------------------------------操作系统

四个特征:并发、共享、虚拟性、不确定性。五大管理功能:进程、文件、存储、设备、作业管理。运行、就绪、阻塞。

操作系统内核包含支撑功能(中断处理、时钟管理、原语操作、资源管理功能(进程、存储、设备管理。引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。信号量机制有整型信号量、记录型、信号量集机制。公用信号量:实现互斥,等于临界资源数目;私用信号量实现同步。P(-1V(+1。进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。管程实现同步机制的基础是条件结构。

进程调度:三级调度高级调度(长调度、作业调度、接纳调度、中级调度(对换调度、低级调度(进程调度。调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。优先级的确定:I/O型最高优先级、计算型进程减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。

死锁产生的原因:资源竞争及进程推进顺序非法。产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法、避免政策(安全状态和银行家算法、检测与解除死锁。

线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。线程作为调度和分配的基本单位,基本不拥有资源;进程作为独立分配资源的单位。线程可以创建线程,同一进程有多个线程。

存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。可变分区的四种算法:最佳适应(保留最大空白区、最差适应(不易产生碎片、首次适应(最易合并相邻空白区、循环首次适应。解决碎片的方法是拼接即紧凑。地址重定位是逻辑地址被转成主存物理地址的过程。可重定位分区是解决碎片问题的简单有效的方法。

分页存储管理:页表的作用是实现从页号到物理块号的地址映射。地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。快表:硬件实现,有一组联想高速存储器组成。两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。

分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。段页式存储管理。

虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后、返回时回到该指令的开始重新执行该指令(一般中断回到下一条、一条指令可产生多次缺页中断。虚拟存储的页面置换算法减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。

工作集:驻留内存,是进程集合。

设备管理:目标提高设备利用率。I/O系统组成:设备、控制器、通道、总线、

I/O软件。块设备(磁盘:传输率高、可寻址、DMA 方式。字符设备(终端、打印机:传输率低、不可寻址、中断方式。中速(各种打印机高速设备(磁带磁盘光盘。设备管理的主要技术:中断技术、DMA、通道、缓冲技术。

I/O软件的目的是设备独立性和统一命名。分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放、用户级软件(I/O调用、格式化I/O、Spooling。

通道:目的是使数据独立于CPU。字节多路通道、数组选择通道、数组多路通道。

DMA技术:指主存与I/O设备间直接成块传送,只需CPU启动信号,不需CPU干涉。缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。磁盘调度目标是使平均寻道时间最短。

常见文件系统FA T32 NTFS HPFS VXT2 VFA T。文件控制块FCB是由基本信息(名、物理地址、存取控制信息、使用信息组成。FCB 的集合称为目录。磁盘分配表是外存空闲空间管理的数据结构。空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。文件共享:硬链接ln 名新名、软链接ls –s。

作业由程序、数据、作业说明书组成。作业的四种状态:提交、后备、执行、完成。作业调度算法:先来先服务、短作业先服务、相应比高优先、优先级调度、均衡调度算法。

网络操作系统:有三类集中式、客户服务器模式、对等模式。常见:NT 、Unix、SunOS、Hpox、aix、linux。嵌入式操作系统:微型化、可定制、实时性、可靠性、易移植性(硬件抽象层HAL屏蔽了硬件平台的差异,常见:Win CE 、VxWorks、pSOS、Palm OS 、C/OS-

Unix采用三级索引、四种寻址方式。文件系统布局:引导块、超级块、索引结点区、数据存储区。进程控制语句:Fork创建、Exec执行、Exit结束、Signal相应事件、Kill发送软中断信号。进程调度采用动态优先数调度算法。采用分页式虚拟存储机制,二次机会页面替换算法。文件系统与设备驱动程序的接口通过设备开关

表控制。正则表达式符号:.任意字符*前一字符的多次出现[]选一个^否定$行尾\转义符“”忽视特殊字符\<字首匹配\>字尾匹配。SHELL变量:IFS分割符LOGNAME、$0本程序名$#参数个数、$*所有位置参数、$@双引号内保持不变、$?上一命令的返回码、$$当前命令的进程、$!最近后台进程号、$-Shell标识位组成的字符串。

Win2000系统:用户态即目态只能执行特权指令,核心态即管态可执行任何指令并改变状态。四类进程:系统支持进程、服务进程、环境子系统、应用程序。子系统动态链接库是服务进程和应用进程和系统交互的凭借。NTFS使用64位簇进行

索引。进程对象属性包括进程标识、资源访问令牌、进程的基本优先级。采用二级页表结构来转换物理地址和虚拟地址。IO设备虚拟界面,将所有读写数据看成送往虚拟文件的字节流。体系结构分三层:IO系统层、设备驱动层、硬件抽象层HAL。

数据库-------------------------------------------------------------数据库

DBMS特点:①数据结构化且统一管理,②有较高的数据独立性,③数据控制功能:安全性、完整性、并发控制(带来的数据不一致性有三类:丢失更新、不可重复读、读脏数据、故障恢复(事务内部故障、系统、介质、病毒

三级模式:①内模式存储模式:数据物理格式存储方式描述、②模式概念模式:数据逻辑结构及联系描述、③外模式即用户模式子模式。

两级映射:模式到内模式(数据的物理独立性、外模式到模式(数据的逻辑独立性

目或度n:R上的n元关系,元数:属性的个数,基数:元组的个数记录数,候选码:唯一标识一个元组,主码:关键字,主属性:全部候选码,全码:所有属性都是候选码。

数据模型的三要素:数据结构、数据操作、数据的约束条件。

三类完整性约束条件:实体的(主属性不空、参照的即引用的、用户定义的完整性

五个基本运算:并∪、2-差、3×笛卡儿积from、4投影пse lect、5选择σwhere

扩展运算:1交∩R∩S=R-(R-S,2连接◇,3除

CREATE TABLE tbname( sno char(5 NOT NULL UNIQUE,...PRIMARY

KEY(sno,UNIQUE(sno,FOREIGN KEY(x REFERENCES tbname(sno ;

ALTER TABLE tbname [ADD 列名完整性约束条件] [DROP 完整性约束名] [MODIFY 列名类型]

CREATE [UNIQUE][CLUSTER]INDEX idname ON tbname 列名ASC/DSC

CREATE VIEW viewname 列名AS SELEC子句[WITH CHECK OPTION]

SELECT [ALL|DISTINCT]列表名FROM tbname/vname WHERE [GROUP BY 列名HA VING 条件表达式][ORDER BY 列名ASC/DESC] INSERT INTO tbname (字段名 V ALUES(常量/查询子句

UPDATE tbname SET 列名=值(,,, WHERE

GRANT <权限,,>ON<对象类型><对象名>TO用户WITH GRANT OPTION

REVOKE <权限,,> ON <对象类型><对象名> FROM 用户

grant all privileges on table tbname to user1

grant insert on table tbname to user2

grant createtab on database dbname to user3

revoke update(sno on table tbname from user4

求选修了课程名J的姓名:select sname from s where sno IN select sno from sc where cno IN select cno from c where cname='J'

求不选C3课程的姓名:select sname from S where NOT EXISTS (select * from sc where sc.sno=s.sno and cno='C3'

求选修了全部课程的姓名:select sname from S where NOT EXISTS (select * from C where NOT EXISTS (select * from SC where sno=s.sno and cno=https://www.wendangku.net/doc/f37037397.html,o

求至少选修了学生S2所修课程的学生姓名:select DISTINCT SNO from SC x where NOT EXIST (select * from SC y where y.sno='s2' and

NOT EXISTS ( select * from sc z ehere z.sno=x.sno and https://www.wendangku.net/doc/f37037397.html,o=https://www.wendangku.net/doc/f37037397.html,o

求选修了C2课程的学生选修的其他课程号:select cno from SC x where

CNO<>'c2' and SNO IN select SNO from sc y where https://www.wendangku.net/doc/f37037397.html,o='c2' 求定购了bid='123'图书的用户定购的其他图书(表orders orderlist:select bid from orderlist A where NOT exists (select * from orders B where A.orderbum=B.orderbum and B.cid NOT IN (select cid from orderlist C,orders D where D.cid='123' and c.ordernum=D.ordernum 按学号给出每个学生选修课程的门数:select sno,count(CNO from sc group by SNO

查某工程至少用了3家供应商供应零件的平均数(表S、P、J、SPJ:select JNO,avg(QTY from SPJ group bu JNO having count(distinct(SNO>=3 order by JNO DESC

规范化1NT:没有表中表,2NT消除了1NT中非主属性对码的部分函数依赖即每一个非主属性完全依赖于全部的码(X->Y即Y依赖X、3NT消除了非主属性对码传递依赖、BCNF消除了主属性对码的部分和传递依赖、4NT表中没有多值依赖

事务的四个特征:原子性、一致性(数据不会因事务而破坏、隔离性(事务独立运行、持久性(事务一旦提交。

BEGIN TRANSACTION ; COMMIT;ROLLBACK

并发控制的主要技术是封锁,三级封锁协议:1级可解决丢失更新问题;2级可解决读脏数据;3级防止丢失更新、不读脏数据、防不可重复读

建立冗余数据的方法是数据转储和登记日志文件。

(完整word版)最新软件设计师知识点汇总.(良心出品必属精品)

-----------------------计算机系统组成------------------------------------------ 计算机系统组成------------- 运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的。 相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。 CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块、全相联映像(主存分块、组相联映像(主存分区,区分块、块成 组,CACHE分块成组。替换算法:随机、先进先出、近期最少用、优化替换算法。性能分析:H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c+(1-Ht m提高了t m/t a倍。虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。 RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。 内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。 廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N 倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

软件设计实习报告

软件设计实习报告 实习之后我们需要写相关的实习报告,大家一起看看下面的软件设计实习报告,欢迎各位阅读哦! 一、实习目的: 检验与巩固理论知识,提高实际操作能力与社会实践能力。 二、实习时间: 20xx-07-27至20xx-10-23 三、实习地点: 广东广州 四、实习单位与部门: 广州**网络科技有限公司·软件开发部 五、实习内容: 应学校要求,本人于七月二十七号来到广州**网络科技有限公司实习。初到该公司,听公司负责人讲解了公司状况以及工作要求,就马上开始我的工作。从该负责人得知,公司的软件开发业务并没有多长时间,所以公司的很多工作流程还不太规范。在3个月的实习时间里,我参与了一个类似于erp的项目。项目的大致内容是:为一家中型制造业企业量身订做一套综合管理系统,包括了仓库管理,销售管理,采购管理,生产管理,财务管理以及人事管理,共六个子系统,且这六个子系统是有机的组合,以方便该企业的管理生产资源,人力资源以及财务。在整个参与过程中,在不同时间里担任的工作任务也不同。

1、八月份 据了解,该项目早在3月份就开始了,而且该项目一直是处于不受控状态,控制不了的原因有诸多,例如客户的需求发生了巨大变动,该项目进行期间有很多其他的项目插入到开发过程中等等。于是,我参与了测试程序的工作,以熟悉整个项目的具体内容,功能实现,设计方法等。在做测试工作的过程中,发现实习单位目前对测试不太重视,在以前的项目中也很少有全面的软件测试阶段。主要表现在:一方面,在我实习期间,就陆续有以前做的系统拿回来,重新做测试工作并修改。据了解,目前国内的绝大多数软件企业也是重编码轻测试,导致软件的强壮性低下,而在售后的维护阶段中经常性需要大幅度修改。这样一来,经常有不同的新老系统并行,给新系统的项目进度带来了外部干扰;另方面,公司要求的测试方法也较为简单,且测试文档的书写格式极其简单,这种书写格式在一些功能上的错误和明显的数据错误上有很好的表意效果,但是在表达程序的逻辑错误和内部数据错误时有很大的欠缺。在整个测试工作中也大概了解了该系统的各方面特性。该系统采用b/s结构开发,随着inter的高速发展、电信部门对网络线路的投入、带宽的增加等各个对b/s结构有利的条件下,采用b/s结构可以节省很多的成本。在以前采用c/s结构开发的系统中,需要为系统开发客户端,而且在维护过程中,除了对服务器端的维护,还要对各个客户端进行维护,而目前盛行的b/s结构,则只需要开发和维护服务器端,相比之下,开发和维护的成本也就大大降低。另外,b/s结构在inter里的应用性比较高。但是,b/s结

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝2无磨损和老化,不遵循“浴盆曲 线”,但存在退化问题3尚未摆脱手工方式,软件移植的需要,复杂(问题复杂性/ 程序结构复杂性),软件开发的性质如成本、进度、质量等难以估计控制,维护困难,可复用性软件分类:按功能:系统软件/支撑软件/应用软件2按工作方式:实时处理/分时/交互/批处理3按服务对象:项目 / 产品(定制 / 通用)4按失效影响:关键/ 非关键5规模:微型、小型、中型、大型、甚大型、极大型 软件危机的表现:软件开发成本和进度失控,维护代价高2用户不满意3软件 质量不可靠4软件不可维护 5无文档资料6 计算机系统中软件成本比重加大7软件开发生产率提高不能满足要求软件危机的原因软件的规模和复杂性2人类智力的局限性3协同工作的困难性4缺乏方法学和工具5用户描述不精确、二义、遗漏,双方理解有偏差缓解软件危机的途径组织管理、协同配合的工程2软件工程的理论模型、技术方法3软件工具 软件工程的三要素1过程:管理部分2方法:技术手段3工具:自动或半自 动地支持软件的开发和管理三要素的关系:相互关联与支持 软件生命周期:可行性研究-需求分析-概要设计-详细设计-实现-集成测试-确认 测试-使用与维护-退役 软件开发和测试活动之间的关系软件 开发和软件测试都是软件生命周期中的重要组成部分,软件测试是保证软件开发产物 质量的重要手段。测试是贯穿于整个开发流程了,而不是在编码完成才开始。 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工 作,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。最终得到软件产品优点是使用时间最长、应用面比较广泛的开发模型2是其他一些开发模型的基础3当前一阶段完成后,只需要去关注后续阶段缺点不能适应用户需求的变化2到最后阶段才能得到可运行的软件版本适用场合:对于规模较小,软件需求较为稳定的项目,采用模型能够显著提高软件开发的质量和效率 演化模型(原型模型)演化模型是一种全局的软件(或产品) 生存周期模型。属于 迭代开发方法。该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……优点:1支持需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误缺点1需要为系统的每个新版本交付文档,不划算2新需求的不断增加,使系统结构退化,变更成本上升3不支持风险分析 螺旋模型1将瀑布模型与原型模型进行有机结合2增加风险分析步骤优点1支持 需求的动态变化2有助于获取用户需求,便于用户对需求的理解3尽早发现软件中的错误4支持风险分析,可降低或者尽早消除软件开发风险5适合于需求动态变化、开发风险较大的系统缺点建设周期长适用场合在需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。特别适合于大型复杂的系统 喷泉模型:软件复用与生命周期中多项开发活动集成,主要支持面向对象的开发 方法优点1软件系统可维护性较好2各阶段相互重叠,表明了面向对象开发方法各阶段间的交叉和无缝过渡3整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代4模型具有增量开发特性,即能做到“分析一点、设计一点、实现一点,测试一点”,使相关功能随之加入到演化的系统中5模型由对象驱动,对象是各阶段活动的主体,也是项目管理的基本内容6该模型很自然地支持软部件的重用缺点由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 OO 为什么好oo 解决问题的思路是从现实世界中的客观对象入手,运用人类的 自然思维方式来构造软件系统,而传统的结构化方法从功能入手和信息工程化方法从信息入手。在面向对象方法中,把一切都看成是对象。OO 方法用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系面向对象方法的特点(1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域中的事物为中心来思考问题、认识问题,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象) (2)用对象的属性表示事物的状态特征;用对象的操作表示事物的动态特征(属性与操作)(3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节(封装)(4)对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例(分类)(5)复杂的对象可以用简单的对象作为其构成部分(聚集:一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚集)(6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档,有利于复用(继承:特殊类拥有其一般类的全部属性与操作,称作特殊类对一般类的继承)(7) 类具有封闭性,把内部的属性和服务隐藏起来,只有公共的服务对外是可见的(类的封闭性)(8) 对象之间通过消息进行通讯,以实现对象之间的动态联系(消息)(9) 通过关联表达类之间的静态关系(关联) 自顶向下,逐步求精:从顶层开始逐层向下分解,直至系统的所有模块都小 到易于掌握为止 抽象从事物中舍弃个别的非本质的特征,而抽取共同的、本质特征的做法叫抽象。 过程抽象:将完成一个特定功能的动作序列抽象为一个函数名和参数表(模块)例: 比较字符串: int Compare (CString, CString)。数据抽象:将诸多数据对象的定义(描述)抽象为一个数据类型名,以后可通过该数据类型名来定义多个具有相同性质的数据对象例:Eg: 1, 2, 3,—>Integer ;软件工程书;人工智能书—>书类 封装把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部 细节。只是向外部提供接口,降低了对象间的耦合度使对象能够集中完整地描述并对应一个具体事物。意义:体现了独立性,使对象外部不能随意存取对象的内部数据,使其所含的信息对那些不需要这些信息的模块不可访问。对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。公开静态的、不变的操作,而把动态的、易变的信息隐藏起来。 模块化将一个软件划分为一组具有相对独立功能的部件,每个部件称为一个模 块;当把所有的模块组装在一起时,便可获得满足用户需求的软件系统。为什么要进行模块化:模块化体现了“分而治之”的问题分析和解决方法。模块化的目的①进行功能分解,把复杂的大的功能划分成简单的小的子功能,尽量降低每个模块的成本。②尽量使每个模块间的接口不能太多,太多会使接口成本增加。兼顾二者可取得最佳的划分状态,确保软件总成本最低模块设计原则1信息隐藏2高内聚度(强)3低耦合度(松)什么是信息隐藏(1)模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问(2)模块之间仅仅交换那些为完成系统功能所必须交换的信息信息隐藏的优点(1)支持模块的并行开发(设计和编码)(2)模块的独立性更好(3)便于系统功能的扩充(4)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件设计师知识点

·在输入输出控制方法中,采用DMA可以使设备与主存之间的数据块传送无须CPU干预。 ·内存容量为4GB,即内存单元的地址宽度为32位;字长为32位,即要求数据总线的宽度为32位。 ·ARP攻击造成网络无法跨网段通信的原因是:伪造网关ARP报文使得数据包无法发送到网关。 ·软件商标权的权利人是:软件注册商标所有人。 ·利用商业秘密权可以对软件的信息、经营信息提供保护。(管理方法、经营方法、产销策略、客户情报、软件市场的分析、预测报告、和对未来的发展规划、招投标中的标底以及标书内容)。 ·某项目组拟开发了一个大规模系统,且具备了相关领域以及类似规模系统的开发经验,则瀑布模型最适合开发此项目。 ·编译程序分析源程序的阶段依次是:词法分析、语法分析、语义分析。 ·结构冗余:按其方法可以分为静态、动态和混合冗余。 信息冗余:为了检测或纠正信息在运算或传输中的错误另外加的一部分信息。时间冗余:以重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:是指为实现上述冗余技术所需要的资源和技术。 ·软件过程的改进框架:过程改进基础设施、过程改进线路图、软件过程评估方法、软件过程改进计划。每一次改进要经历4个步骤:评估、计划、改进和监控。 ·软件复杂性度量的参数:软件的规模、软件的难度、软件的结构、软件的智能度。 ·软件系统的可维护性评价指标包括可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率,不包括可扩展性。 ·开-闭原则是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对扩展开放,对修改关闭;里氏代换原则是指任何基类对象可以出现的地方,子类对象一定可以出现。依赖倒转原则就是要依赖于抽象,而不依赖于实现,或者说要针对接口编程,不要针对实现编程。 ·汇编语言的指令语句必须要有操作码字段,可以没有操作数字段。 ·贪心算法不能保证求得0-1背包问题的最优解。

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

2020年计算机软考软件设计师知识点精选集

2020年计算机软考软件设计师知识点精选集 需求分析:开发人员准确地理解用户的要求,实行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相对应的需求规格说明的过程。 它有以下几难点: ⑴问题的复杂性。由用用户需求涉及的因素繁多引起,如运行环境和系统功能 ⑵交流障碍。需求分析涉及人员较多,这些人具备不同的背景知识,处于不同角度,扮演不同角色,造成相互之间交流困难。 ⑶不完备性和不一致性。用户对问题的陈述往往是不完备的,各方面的需求可能还存有矛盾,需求分析要消除矛盾,形成完备及一致的定义。 ⑷需求易变性。 近几年来已提出多种分析和说明方法,但都必须适用以下原则: ⒈必须能够表达和理解问题的数据域和功能域。数据域包括数据流(数据通过一个系统时的变化方式)数据内容和数据结构,功能域反映上述三方面的控制信息。 ⒉能够把一个复杂问题按功能实行分解并可逐层细化。 ⒊建模。可更好地理解软件系统的信息,功能,行为。也是软件设计的基础。 需求分析的任务: ⒈问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。 ⒉分析与综合,导出软件的逻辑模型

⒊编写文档:包括编写"需求规格说明书""初步用户使用手册""确认测试计划""修改完善软件开发计划" 结构化分析:简称SA,面向数据流实行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。 结构化(SA)分析步骤: ⑴了解当前系统的工作流程,获得当前系统的物理模型。 ⑵抽象出当前系统的逻辑模型。 ⑶建立目标系统的逻辑模型。 ⑷作进一步补充和优化。 【篇二】2020年计算机软考软件设计师知识点:数据流图 以图形的方式描述数据在系统中流动和处理的过程。只反映系统必须完成的逻辑功能,是一种功能模型。 画数据流图的步骤: ⑴首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用以表示被开发的系统。 ⑵画系统内部,即画下层数据流图。将层号从0号开始编号,采用自顶向下,由外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输出入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直实行到输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工充足简单,不能再分解为止。不能分解的加工称为基本加工。 ⑶注意事项:

软件设计师知识总结

软件设计师知识总结之计算机组成 计算机系统组成 运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。 控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。 CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。 相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。 CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CACHE分块成组)。 替换算法:随机、先进先出、近期最少用、优化替换算法。 性能分析:H为CACHE命中率,tc为Cache存取时间、tm为主存访问时间,Cache等效访问时间ta=H tc +(1-H) tm 提高了tm/ta 倍。 虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。 RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。 内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。 廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N 倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。 中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件)、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址)。 直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。 输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式。 指令流水线:操作周期是最慢的操作的时间。建立时间是达到最大吞吐率的时间。

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件设计师知识点

软件设计师考试的总体要求 软件设计师主要完成三项工作:(1)编写文档;(2)组织指导程序员开展工作;(3)软件优化和集成测试,开发高质量软件。本工作要求具有工程师的实际工作能力和业务水平。具体讲就是,通过本考试的合格人员,能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件。 考试内容要求 知识点的掌握程度从深到浅可分五个层次,分别要求为熟练掌握、掌握、理解、熟悉和了解。其中包括2个熟练掌握(常用数据结构和常用算法、软件设计的方法和技术)、8个掌握、2个熟悉,1个正确理解,具体体现在以下12个方面: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟练掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识;

(12) 正确阅读和理解计算机领域的英文资料。 分析:相对于2001年考试大纲,新大纲对知识面的要求更宽,更注重软件设计开发的实践能力,这一点充分体现在下午考试中。考试内容除了技术要求外,还增加了对软件工程实践能力、安全性、标准化、法律法规等方面知识的要求,毕竟软件设计师是软件产业的骨干,因此考试要求相对较高。 二、考试范围 考试科目1:计算机与软件工程知识 本部分包含以下内容: l 计算机科学基础 l 计算机系统知识 l 系统开发和运行知识 l 安全性知识 l 标准化知识 l 信息化基础知识 l 计算机专业英语 1.计算机科学基础 1.1 数制及其转换 ·二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 ·(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) ·非数值表示(字符和汉字表示、声音表示、图像表示)

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

2020年计算机软件水平考试《软件设计师》知识点汇总

【篇一】2020年计算机软件水平考试《软件设计师》知识点:C++的ANSI 标准 标准化是把所编写的程序从一种类型的计算机迁移到另一种类型的计算机上的基础。标准的建立使语言在各种机器上的实现保持一致。在所有相容编译器上都可用的一组标准功能意味着,用户总是能确定下一步会获得什么结果。使用ANSI标准后,C++使应用程序可以轻松地在不同的机器之间迁移,缓解了在多个环境上运行的应用程序的维护问题。 当然,还有其他问题需要考虑。如果程序是可以移植的,那么就不能把非标准库中的特性引入代码,还必须使程序对建立该程序所使用的开发机器的依赖性降到最低,否则迁移代码就很困难。 C++的ANSI标准还有另一个优点:它对用C++编程所需要学习的部分进行了标准化。这个标准将使后续的程序具有一致性,因为它只为C++编译器和库提供了一个定义参考。在编写编译器时,该标准的存在也使编写人员不再需要许可。 【篇二】2020年计算机软件水平考试《软件设计师》知识点:如何控制需求变更 按照现代项目管理的概念,一个项目的生命周期分为启动、实施、收尾三个过程。需求变更的控制不应该只是项目实施过程考虑的事情,而是要分布在整个项目生命周期的全过程。为了将项目变更的影响降低到最小,就需要采用综合变更控制方法。综合变更控制主要内容有找出影响项目变更的因素、判断项目变更范围是否已经发生等。 进行综合变更控制的主要依据是项目计划、变更请求和提供了项目执行状况信息的绩效报告。 (1)项目启动阶段的变更预防 对于任何项目,变更都无可避免,也无从逃避,只能积极应对,这个应对应该是从项目启动的需求分析阶段就开始了。对一个需求分析做得很好的项目来说,基准文件定义的范围越详细清晰,用户跟项目经理扯皮的幌子就越少。如果需求没做好,基准文件里的范围含糊不清,被客户抓住空子,往往要付出许多无谓的牺牲。如果需求做得好,文档清晰且又有客户签字,那么后期客户提出的变更就超出了合同范围,需要另外收费。这个时候千万不能手软,这并非要刻意赚取客户的钱财,而是不能让客户养成经常变更的习惯,否则后患无穷。相对于需求来说,什么WBS、风险管理、计划进度都是次要的,只要需求做好了就会一帆风顺。 (2)项目实施阶段的需求变更

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件设计师知识点汇总

1计算机系统组成 运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。CPU 的功能:程序控制、操作控制、时间控制、数据处理(最根 本的)。 CACHE高速缓存的地址映像方法:直接地址映像(主存分 区,区分块)、全相联映像(主存分块)、组相联映像(主 存分区,区分块、块成组,CACHE分块成组)。替换算法:随机、先进先出、近期最少用、优化替换算法。性能分析: H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c +(1-H) t m提高了t m/t a倍。虚拟存储器由主存、辅存、存储管理单元和操作系统软件组 成。 相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟 存储器中用来作段表页表或快表存储器、在数据库和知识库 中。 RISC精简指令集:指令种类少、长度固定、寻址方式少、 最少的访内指令、CPU内有大量寄存器、适合流水线操作。 内存与接口统一编址:都在一个公共的地址空间里,独立使 用各自的地址空间。优点是内存指令可用于接口,缺点内存 地址不连续,读程序要根据参数判断访内还是访接口。

廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传 输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的 阵列,用一个检测盘、5级无专门检测盘。 中断方式处理方法:多中断信号线法、中断软件查询法、 菊花链法(硬件)、总线仲裁法、中断向量表法(保存各中 断源的中断服务程序的入口地址)。 直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。 输入输出处理机用于大型机:数据传送方式有字节多路方 式、选择传送方式、数组多路方式。 指令流水线:操作周期是最慢的操作的时间。建立时间是达 到最大吞吐率的时间。 总线内总线:ISA、EISA、PCI;外总线:RS-232(3根线全双工15米)、SCSI(并行外总线、16位、最大320M秒、最多63个设备20米)、USB(4条线480M秒接5层127个设备)、IEEE-1394(串行6条线3.2G秒热插) 阵列处理机:单指多数据流SIMD,同步同时执行同一指令。多处理机:多指多数据,多处理机互连应满足高频带、低成 本、方式多样、在不规则通讯下连接的无冲突性。四种结构:总线式、交叉开关、多端口存储器结构、开关枢纽式。

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

软件设计师复习笔记重点总结

软件设计师复习笔记重点总结 一.计算机系统 基础知识: CPU功能:程序控制,操作控制,时间控制,数据处理。 组成:运算器(算术逻辑单元ALU,累加寄存器AC,数据缓冲寄存器DR,状态条件寄存器PSW),控制器(指令寄存器IR,程序计数器PC,地址寄存器AR,指令译码器ID),寄存器组(专业寄存器通用寄存器),部总线。 原码:负数把第一位改成1; 反码:正数的反码与原码相同,负数的反码是其绝对值按位求反; 补码:正数的补码与原码相同,负数补码等于其反码的末尾加1; 移码:在数X上增加一个偏移量(实际上,将补码的符号位取反); 最适合进行数字相加减的数字编码是补码,最适合浮点数阶码的数字编码是移码。 双符号位判决法:即00表示正号,11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。 符号位SF和进位标志CF进行异或运算为1时,表示运算的结果产生溢出。 浮点数:N=2^E*F E:阶码 F尾数 尾符和尾数小数点后第一位数字相异为规格化数。 校验码:奇偶校验码(在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶检验),从而使码距变为2)=>只能检验一位的错误 海明码(在数据位中之间插入k个校验位,通过扩大码距来实现检错和纠错)=>既可以检测数据传输过程中出现的一位数据错误的位置加以纠正。 2^k-1>=n+k 循环冗余校验码(利用生成多项式为k个数据位产生r个校验位来进行编码,长度为r+k)校验码越长,校验能力越强; 结构,组织,实现,性能。结构只计算机系统各种应用的互联,组织指各种部件的动态联系和管理,实现指各模块设计的组装完成,性能指计算机系统的行为表现。 系统分类:单处理系统,并行处理和多处理系统,分布式处理系统(指物理上远距离而松耦合的多计算机系统,通信时间和处理时间相比已经不可忽略)。 Flynn分发:SISD单指令单数据流,SIMD单指令多数据流,MISD多指令单数据流, MIMD多指令多数据流; 阵列处理机(Array Processor)也称并行处理机(Parallel Processor)通过重复设置大量相同的处理单元PE(Processing Element),将它们按一定方式互连成阵列,在单一控制部件CU(Control Unit)控制下,对各自所分配的不同数据并行执行同一组指令规定的操作,操作级并行的SIMD计算机,它适用于矩阵运算。 译云分类:WSBS字串行位串行计算机,WPBS字并行位串行计算机,WSBP字串行位并行,WPBP字并行位并行; 指令体系:堆栈,累加器,寄存器集; CISC复杂指令集计算机 RISC精简指令集计算机(流水技术:超流水线技术,超标量技术,超长指令字技术) 存储:相联寄存器是一种按容访问的寄存器; cache地址映像方法:直接映像(地址变换简单,灵活性差),全相联映像(主存调入cache的位

软件工程概论知识点汇总

软件危机是指在计算机软件的开发和维护过程中遇到一系列严重问题。 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门。 软件工程方法学包含3个要素:方法、工具和过程 目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 软件生命周期由软件定义、软件开发和运行维护3个时期组成。 软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。 软件定义分3个阶段,即问题定义、可行性研究和需求分析。 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的主要内容包括技术可行性、经济可行性和操作可行性3个方面。 开发时期由4个阶段组成:总体设计、详细设计、编码和单元测试,综合测试。其中前两个阶段称为系统设计,后两个阶段称为系统实现。 系统流程图是概括地描绘物理系统的传统工具;而数据流图是系统逻辑功能的图形表示工具。 模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。 分析建模的用处是为了更好地理解复杂事物。 软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其它系统元素的接口细节,定义软件的其它有效性需求。 需求分析过程应该建立3种模型,分别是数据模型、功能模型和行为模型。 数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。 结构程序设计的定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制接口进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。 衡量模块独立程序的两个定性标准是内聚和耦合。 确认测试也称为验收测试,它的目标是验收软件的有效性。 等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。一个理想的测试用例能独立发现一类错误。 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功的运行的概率。 软件的可用性是程序在给定的时间点,按照规格说明书的规定,成功的运行的概率。 软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。 Jackson方法是一种面向数据结构的设计方法。 完整的软件测试一般要经过单元测试、集成测试、确认测试和系统测试等4个阶段。 模块化是指把程序划分成独立命名切可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 软件复杂性度量的参数包括: ①规模②难度③结构④智能度 数据字典应该有下列4类元素的定义组成: 1、数据流; 2、数据流分量(即数据元素) 3、数据存储 4、处理 产生软件危机的原因?

相关文档
相关文档 最新文档