当前位置:文档之家› 软件设计师复习笔记重点总结

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

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

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

一.计算机系统

基础知识:

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的位置不受限制,十分灵活,但是因为无法从主存中直接获得cache的块号,变化复杂,速度慢),组相联映像。

cache替换算法:随机替换算法,先进先出算法,近期最少使用算法,优化替代算法。

磁盘容量:内圈周长*最大位密度*每面磁道数*面数/8

每面磁道数=(外直径-内直径)*磁道密度/2

格式化容量:每磁道扇区数*每扇区容量*每面磁道数*面数

平均传输速率=内圈周长*最大位密度*转速

CD-ROM只读型光盘,WROM,只写一次光盘

算法为平均访问时间约= 平均寻道时间+平均潜伏时间

输入输出技术:IO设备与主机之间交换数据主要有五种方式:程序查询方式,程序中断方式(IO 系统与主机之间交换数据时,当IO系统完成了数据传输后则以中断信号通知CPU。CPU保护现场并转入IO终端服务程序完成与IO系统的数据交换。),DMA方式,通道方式, IOP输入输出处理机;DMA传送方式的优先级高于中断方式;

总线结构:内部总线。(分为芯片内总线和元件内总线)系统总线(用于插件板的一级的互连包括ISA总线EIAS总线,PCI总线,PCI总线的时钟与处理器时钟是独立的,非同步的,PCI 总线上的设备是即插即用的)

内存分为:静态数据区,代码区,栈区,堆区;

静态数据区(全局区):全局变量和静态变量存储时放在一块区域;

代码区:存放函数体的二进制代码;

栈区:由编译器自动分配释放;

堆区:一般由程序员分配释放;或OS管理;

信息安全:保密性完整性可用性可控性可审查性

加密技术:对称加密技术(发送和接受数据的双方必须使用相同的/对称的密钥对明文进行加密和解密)(DES 三重DES RC-5)

数据加密标准:DES,主要采用替换和移位的方法加密;

非对称加密技术:需要两个密钥,公开密钥和私有密钥。

算法--RSA算法:一种公开密钥,安全性在于基于大素数分解的困难性非对称

PKI 公开密钥体系

Kerberos 建立了一个安全的可信任的密钥分发中心KDC 对称加密的基础上

认证技术主要结局网络通信过程中通信双方的身份认证。常用的认证技术有:hash函数与信息摘要,数字签名SSL协议(安全套协议)数字时间戳技术

数字签名是用于确认发送者身份和消息完整性的一个加密的消息摘要。

数字证书是一个经过证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。数字证书结局了公开密钥体制下密钥的发布和管理问题。

计算机性能评价:时钟频率,指令执行速度,等效指令速度法,数据处理速率。

PDR法采用计算PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。

可靠性以平均无故障时间作为衡量指标。MTBF

MTTR可维护性以平均修复时间。

二.程序语言

命令式程序语言:采用结构化程序设计,始于Fortran C PASCAL

面向对象程序设计语言:simula提出类和对象的概念。C++ java Smalltalk是面向对象程序设计语言的代表

函数式程序设计语言:概念来自LISP

逻辑性程序设计语言:PROLOG

Fortran是第一个被广泛用来进行科学计算的高级语言|||algol60主导了二十世纪六十年代程序语言的发展|||COBOL是一种面向事务处理的高级语言|||PHP是一种在服务端执行,嵌入HTML文档的脚本语言|||python是一种面向对象的解释型程序设计语言

Delphi是Borland公司研制的可视化开发工具,windows下使用

脚本语言又叫动态语言:Python JavaScript asp PHP Perl NUVA都是脚本语言

语法错误:非法字符拼写错误缺少分号关键字不匹配语义错误:类型不一致参数不匹配死

循环作为除数的变量为0

若局部变量和全局变量名相同,那么在函数内部以局部变量为准。

三.操作系统

作用:通过资源管理提高计算机系统的效率。改善人机界面,向用户提供友好的工作环境;

特性:并发性,共享性,虚拟性,不确定性;功能:处理机管理文件管理存储管理设备管理作业管理;

类型:批处理操作系统,分时操作系统,试试操作系统。

UNIX是典型的多用户多任务的分时操作系统;UNIX系统中可以使用的任何计算机资源都可以用一种统一的方法表示。他们使用“文件”这个概念作为一切资源的抽象表示方法。UINIX包括两类设备:块设备和字符设备。在UNIX中把输入输出设备看作索引文件。

UNIX/Linux文件系统中,直接寻址为10块,一次间接寻址为256块,二次间接寻址为2562块,三次间接寻址为2563块。

偏移为263168字节的逻辑块号是:11264/1024=11。块内偏移量=11264-11×1024=0。由于10<11<256+10,故11264字节在一次间接寻址内。

网络操作系统,分布式操作系统,微机操作系统,嵌入式操作系统。

进程:

前趋图是一个有向无循环图;进程=程序+数据+PCB(进程控制块)进程控制是由操作系统内核kernel中的原语实现的;

信号量机制(Dijkstra提出)是一种解决进程同步与互斥的工具。信号量分为公用信号量和私用信号量;

PV操作是实现进程同步与互斥的常用方法:P操作定义:S=S-1,若S>=0,则执行P操作的进程继续执行,否则若S<0,则置该进程为阻塞状态,因为无资源可用,并将其插入阻塞队列;V 操作定义:S=S+1,若S>0,则执行V操作的进程继续执行,否则若S<=0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行;

利用PV操作实现进程的互斥:将信号量mutex的初值设为1,当进程进入临界区的时候执行P 操作,退出临界区时执行V操作;

有些资源一次只能供一个进程使用,称为临界资源CR(critical resource).管理原则:有空则进,无空则等,有限访问,让全等待。

中断响应时间是指从发出中断请求到进入中断处理所用的时间。

高级通信方式包括共享存储模式(共享某些数据结构货存储区实现进程之间的通信),消息传递模式(进程之间的数据交换以消息为单位),管道通信(管道只用于连接一个读进程和写进程,以实现他们之间通信的共享文件pipe文件);

管程Monitor是由一些共享数据一组能为并发进程所执行的作用在共享数据上的操作的集合,初始化代码以及存取权组成。

进程调度:FCFS先来先服务。时间片轮转。优先级调度。多级反馈调度(时间片和优先级的综合和发展)。

三级调度:高(决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程)中(决定处于交换区中的就绪进程哪个可以调入内存,以便直接参与对CPU的竞争)低(决定处于内存中的就绪进程哪个可以占用CPU,最活跃最重要,对系统影响很大);

死锁:互斥条件,不可抢占条件。占有且申请条件,循环等待条件。

处理:死锁预防,死锁避免(银行家算法,需要很大的系统开销),死锁检测(允许死锁产生,检测产生再解除),死锁解除(重新启动系统,资源剥夺撤销进程);

若系统有五个进程共享若干个资源R,每个进程需要四个R,则系统不发生死锁的资源R最少数目是16个。

线程是比进程更小的能独立运行的基本单位,是处理器分配的最小单元。线程作为调度和分配的基本单位,进程作为独立分配资源的单位。

存储管理:地址重定位是指将逻辑地址变换成主存物理地址的过程。静态重定位是指在程序装入内存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不再发生变化。动态重定位是指在程序运行期间完成逻辑地址到物理地址的变化,其实现机制要依赖硬件地质变化机构,如基地址寄存器BR。

存储管理方案:固定分区(在系统生成的时候已经主存划分为若干的区域)可变分区(在作业装入是进行的,分区的大小可不等,刚刚等于作业的大小(请求和释放分区算法:最佳适应算法,最差适应算法,首次适应算法,循环适应算法))可重定位分区;

分区保护:采用上界下界寄存器保护。采用基址/限长寄存器保护。

分页存储管理:将一个进程的地址空间划分为若干个大小相等的区域叫做页。将主存空间划分成与页相同大小的若干个物理块,称为块或者页框。再将进程的每一页离散的分配在主存的多个物理块中后,系统为每个进程建立了一张页面映射表,称为页表。

地址变换机构的基本任务就是利用表页把用户程序中的逻辑地址变换成主存中的物理地址,实际行就是将用户程序中的页号变换成主存中的物理块号。在系统这设置页表寄存器,用来存放页表的始址和页表的长度。页式存储管理至少需要两次访问内存。

联想寄存器是一组高速存储器组成,称之为快表,用来保存当前访问频率搞得少数活动页的页号及相关信息。只存放当前进程最活跃的少数几页。

分段式存储管理:作业的地址空间被划分为若干个段,每个段都是一组完整地逻辑信息,如有主程序段,子程序段,数据段和堆栈段。

基址S和段内地址d相加,得到要访问的主存物理地址。

段面是信息的逻辑单位,二维。

页面是信息的物理单位,一维。

段页式系统是先整个主存划分为大小相等的存储块,将程序按逻辑关系分为若干个块,每个段赋予一个段名,每个段再划分若干个页。其中段表中的内容不再是段的主存始址和段长,而是页表始址和页表长度。

虚拟存储器是为了扩大主存容量而采用的一种设计方法,其容量是由计算机的地址结构决定的。(实现:请求分页系统,请求分段系统,请求段页式系统)

页面置换算法:最佳值换算法(难以实现,通常用于评估其他算法)先进先出FIFO 最近最少使用LRU 最近未用NUR 工作集(在指在某段时间间隔里,进程要访问的页面集合w(t,△(窗口尺寸)))

设备管理:特性分类(存储设备,输入输出设备)使用性质分类(独占设备共享设备虚拟设备(把某种独占设备改造成可由几个进程共享的设备))

设备采用的相关缓冲技术:通道技术DMA技术(直接主存存取)缓冲技术SPOOLing技术(将独占设备改造成共享设备)

当操作系统需要使用某个硬件的时候,

磁盘驱动调度:先来先服务最短寻道时间优先扫描算法单向扫描调度算法(不考虑访问者等待的先后次序,总是从0号柱面开始向里面扫描)

旋转调度算法:当进程请求读磁盘时,操作系统先进行移臂操作,再进行旋转调度。

常用的文件系统类型有FAT VFAT NTFS Ext2 HPFS

文件的存储设备管理系统位图向量法(用一个向量来描述整个磁盘每个字的每一位对应一个物理块)空闲块链表连接法(使用链表将空闲表组织起来)

文件存储空间的管理:空闲表法位示图空闲块链成组链接法

文件的逻辑结构:有结构的记录式文件(定长记录,变长记录),无结构的流式文件

文件的物理结构:连续结构链接结构索引结构多个物理块的索引表

系统在管理文件时所必须的数据结构是文件存在的唯一标识,称FCP(基本信息保护信息位置信息使用信息)

文件的使用:目录管理命令文件控制命令文件存取命令

文件的共享:UNIX中ln命令可以将多个文件名与一个文件体建立链接

作业是系统为完成一个用户的计算任务所做的工作总和;(提交后背执行完成)

作业响应时间为作业进入系统的等待时间与作业的执行时间之和。

UNIX:文件系统的目录结构是树型带交叉勾连的。结构:引导块-超级块-引索节点区-数据存储区

open打开close关闭read读取stat查属性mkdir创建文件目录chown改变文件的许可权create创建文件cd 改变当前目录link建立连接unlink删除连接

fork 创建进程exec改变执行程序的映像exit结束进程wait 暂停进程的执行kill发动软中断信号msgsnd发送信息msgrcv接受信息

UNIX系统可以使用的任何计算机资源都用一种统一的方法表示,他们选择用文件这个概念作为一切资源的抽象表示方法。

UNIX包括两类设备:块设备和字符设备。

设备管理特点:具有相似的层次结构。将设备作为特殊文件。赋予文件名。采用完善的缓冲区管理技术,引用预先读,异步写,延迟写方式进一步提高系统效率。

> >> <输出输入cat将数据输入到屏幕上

"|"表示UNIX中的管道

HOME用户主目录PATH定义shell在寻找命令时的查找路径PS1系统基本提示符默认$ PS2系统辅助提示符IFS内部字段分隔符MAIL存放用户的邮件路径名TEAM定义用户使用的终端类型CDPATH CD命令要查找的目录表LOGNNAME用户的注册名SHELL shell程序的路径名MANPATH连接动态库的搜索路径

四.软件工程

软件生存周期:可行性分析与项目开发计划(用户项目负责人系统分析师)需求分析(用户项目负责人系统分析师)概要设计详细设计(系统分析师软件设计师)编码测试(另一部门的软件设计师或者系统分析师)维护

生存周期模型:瀑布模型(缺乏灵活性,特别是无法解决软件需求不明确的问题)演化模型(在原型的基础上改进)螺旋模型(复杂大型软件制定计划风险分析实施工程用户评估)喷泉模型(以用户需求为动力以对象作为驱动的对象适合于面向对象的开发方向具有迭代行和无间隙性,允许各开发活动交叉迭代地进行)

软件开发方法:结构化方法(结构化分析结构化设计结构化编程面向数据流的开发方法)Jackson方法(面向数据结构的开发方法因此形成了JSP 再发展形成JSD,JSD方法是一个完整地系统开发方法。首先建立现实世界的模型,再确定系统的功能需要,对需求的描述特别强调操作之间的时序性,以事件作为驱动的)

原型化方法(适合于用户需求不清业务理论不确定需求经常变化规模不算很大和复杂时)

面向对象开发方法(分析设计实现有Booch Coad OMT直到199推出UML,统一建模语言,面向对象的标准建模语言)

需求分析:确定待开发软件的功能性能数据界面等要求。(确定软件的综合要求分析软件系统的数据要求导出系统的逻辑模型修正项目开发计划如有必要开发原型模型)

软件开发项目管理:成本:1成本估算方法:自顶向下自底向上差别估计专家估计类推估算法算法估计

2成本模型估计:Putnam(动态多变量模型)和COCOMO(最精确最易于使用)

风险分析:风险识别风险预测风险评估风险控制(RMMM计划)

进度管理:Gantt图项目计划评审技术(PRET图)

人员管理

软件配置管理SCM:基线:连续工作的断点,为检查和肯定阶段成功。软件配置项:SCI:配置管理的基本单位。版本控制。变更控制。

软件过程管理:CMM软件过程成熟度模型。软件七原则:按软件生存周期分阶段制定计划并认真实施,逐阶段进行确认。坚持严格的产品控制。使用现代程序设计技术。明确责任。用人少而精。不断改进开发过程。

软件成熟度:初始级。可重复级。已定义级。已管理级。优化级。

统一过程UP:是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持。起始阶段:生命周期目标,精化阶段:生命周期架构,构建阶段:初始运作阶段,移交阶段:产品发布,产生阶段。

敏捷开发:总体目标是通过“尽可能早的持续的对有价值的软件的交付”(极限编程水晶法并列争求法自适应软件开发)

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

McCall软件质量模型从软件产品的运行(正确性可靠性易用性效率完整性),修正(可维护性灵活性可测试性),和转移(可转移性复用性互用性)三个方面确定了11个质量特性

软甲复杂性:规模难度结构智能度代码行数度量法McCabe度量法

软件评审:设计质量(设计的规格说明书符合用户的要求)程序质量(程序按照设计规格说明的情况正确执行)

容错:避开错误技术容错技术。

容错的一般方法:结构冗余(静态冗余。动态冗余。)信息冗余。时间冗余。荣誉附加技术。

系统分析基础:

结构化分析方法SA:基于数据流的需求分析方法。强调开发方向的合理性以及所开发软件的结构合理性。

分析模型:数据流图DFD 数据字典加工逻辑的描述。

系统设计知识:

概要设计:体系结构设计,模块设计,数据结构与算法设计,接口设计。

详细设计:为软件结构图中的每一个模块确定实现算法和局部数据结构。工具可以分为图形(程序流程图N-S盒图PAD HIPO)表格(判定表)语言(PDL伪码)三种。

设计基本愿意:模块化,信息隐蔽,模块独立(尽量低耦合高内聚)。

1)内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过正常入口而

转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。(2)公共耦合。两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。(3)外部耦合。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

(4)控制耦合。一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。

(5)标记耦合。若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B 和C之间存在一个标记耦合。

(6)数据耦合。模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合和最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。

(7)非直接耦合。两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的

内聚按强度从低到高有以下几种类型:

(1)偶然内聚

如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。

(2)逻辑内聚

几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。

(3)时间内聚

如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。

(4)通信内聚

如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。

(5)顺序内聚

如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。

(6)功能内聚

模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。

(7)信息内聚

模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个

数据结构(符号表),因此,它是一个信息内聚的模块。

面向数据结构的设计方法:Jackson方法。

软件测试:占开发工作的40%以上。甚至3-5倍。

白盒测试:逻辑测试。(保证所测模块中的每一个独立路径至少执行一次)

黑盒测试:功能测试。(等价类划分边界值分析错误猜测因果图)

测试步骤:单元测试,集成测试,确认测试,系统测试,压力测试,性能测试,可靠性测试,安装测试。

软件维护:正确性(改正性)维护17-20,适应性维护18-25,完善性维护50-60,预防性维护。调试:

试探法。回溯法。对分查找法。归纳法。演绎法。

数据流图:

四种基本符号:

立方形表示数据的源点或终点,代表了外部实体;

圆角矩阵代表了变化数据的处理,

开口矩阵或两条平行线,代表了数据存储文件;

箭头代表数据流;

五.计算机网络

计算机网络:四个阶段:具有通信功能的单机系统,具有通信功能的多机系统,以共享资源为目的的计算机网络,以局域网及因特网为支撑环境的分布式计算机系统。

功能:数据通信资源共享负载均衡高可靠性

OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

分类:局域网LAN,城域网MAN,广域网MAN。

网络互联硬件。

物理层:中继器,集线器(对接收的信号进行整形放大)。

数据链路层:网桥,交换机(基于MAC地址识别,完成封装转发数据包功能的网络设备)。

网络层:路由器(用于连接多个逻辑上分开的网络)

应用层:网关。

网络传输介质:双绞线(屏蔽双绞线STP 非屏蔽双绞线UTP),同轴电缆,光纤(多模光纤使用发光二极管,便宜定向性差,单模式光纤使用注入型二极管,定向性好,贵)。-----有线。

微波,红外线与激光。卫星通信。------无线

组建网络:服务器(核心)客户端(又称用户工作站)网络设备(主要指硬件设备网卡(以太网网卡ARCNET网卡ESIA总线网卡token-ring网卡)收发器中继器集中器网桥路由器)通信介质(数据的传输媒体)网络软件(底层协议软件网络操作系统)

网络标准:

ITU 国际电气联盟ANSI 美国国家标准研究所NIST美国国家标准和技术研究所IEEE电器和电子工程协会(802组设置网络上设备通信的标准802.1协调低档和高档OSI模型802.2设计逻辑链路标准802.3有关CSMA/CD标准在以太网的应用802.4令牌总线标准在LAN中的应用802.5设置有关令牌环网络的标准)EIA 电子工业协会

LAN模型:数据链路层被分为逻辑链路控制子层和介质访问控制子层。

(物理层LCC(面向连接服务非连接服务)MAC(控制对传输介质的访问))

以太网(IEEE 802.3)带冲突检测的载波监听多路访问协议CSMA/DA

FDDI(光纤分布式数据接口),用光纤作为传输介质,速度100MB/S

广域网协议:点对点协议(PPPoE/oA),是ADSL接入方式中应用最广泛的一种---PPPoE 在ATM 网络上PPPoA

数字用户线:xDSL

ADSL不对称数字用户线SDSL单对线数字用户线IDSL ISDN用的数字用户线RADSL速率自适应非对称型数字用户线VDSL甚高速数字用户线

数字专线DDN

帧中继FR

ATM异步传输模式使用异步时分复用技术将信息流分割成固定长度的信元。

X.25协议

TCP/IP协议簇

利用TCP协议在源主机上想和目的主机之间建立和关闭连接操作时,均需要三次握手来确认建立和关闭是否成功。

特性:逻辑编址路由选择域名解析错误检测和流量控制对应用程序的支持。

四个层次:

应用层(应用层表示层会话层)(FTP文件传输协议Telnet远程登录协议SMTP电子邮件协议NFS网络文件服务协议SNMP网络管理协议)

传输层(TCP传输控制协议UDP用户数据报协议(不可靠无连接提高传输的高速率性))网络层(IP ICMP(Internet控制协议) (专门用于发送差错保温的协议) ARP地址解析协议RARP反地址解析协议)

数据链路层(网络接口层)

物理层(硬件层)(Ethernet IEEE802.3FDDIToken-Ring/IEEE802.5 ARCNET PPP/SLIP)

计算机网络协议:

POP 邮局协议,用于电子邮件的接受

SMMP简单网络管理协议

PEM私密邮件保护协议

HTTP 超文本传输协议

HTTPS HTTP安全版

VLSM用一个十分直观的方式来表示,那就是在IP地址后面加上“/网络号及子网络号编制为数”如193.168.125.0/27就指前二十七位是网络号

NAT技术网络地址翻译

DNS域名服务用于映射网络地址号码,一个分布式地址信息数据库

一个URL(web地址)包括以下几个部分:协议主机域名端口号目录路径一个文件名

ping 因特网包探索器是用来检查网络是否通畅或者网络连接速度的命令

ARP用来确定对应IP地址的网卡物理地址

nslookup 用来查询域名信息的命令

TRACERT路由跟踪实用程序

DHCP动态主机分配协议

网络安全:运行系统安全信息系统安全信息传播安全信息内容安全

特性保密性完整性可用性可控性可核查性

威胁:物理威胁网络威胁网络攻击身份鉴别编程威胁系统漏洞

防火墙技术:

所谓防火墙是建立在内外网络边界上的过滤封锁机制,在内部网和外部网之间,专用网和公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet和Internet之间建立起一个安全网关,从而保护内部网免受非法用户的侵犯。包过滤型防火墙(工作于OSI模型的网络层和传输层)代理服务器型防火墙(工作于OSI模型的应用层)监测型防火墙(对各层进行主动的实时的监控)

六.多媒体知识

视觉媒体(位图图像,矢量图形,图表,符号,视频和动画)听觉类媒体(音响,语音,和音乐)和触觉类媒体(点,位置跟踪,力反馈和运动反馈)视觉和听觉媒体是信息转播的内容,触觉类媒体是实现人机交互的手段。

CCITT定义的媒体:感觉媒体,表示媒体,表现媒体,存储媒体,传输媒体

多媒体的特性:多样性,集成性,交互性,非线性,实时性,信息使用的方便性,信息结构的动态性。

声音:感觉:音量,音调,音色(谐波越丰富,音色越好)。声音信号的量化:采样,量化,编码。数字语音压缩方法:波形编码(压缩比不够高)(脉冲编码调制PCM 自适应差分脉冲编码ADPCM 子带编码SBC),参数编码(线性预测编码LPC 声码器vocoder)(压缩比高质量不理想),混合编码(码激励线性预测CELP 混合激励线性预测MELP)。

MIDI 乐器数字接口,泛指数字音乐的国际标准。规定了电子乐器与计算机之间的电缆硬件以及电子乐器之间,乐器与计算机之间传送数据的通信协议的规范。MIDI设备是指符合MIDI规范的设备。

图形和图像:三要素:亮度,色调,色饱和度。

彩色空间是指彩色图像所使用的颜色描绘方法,也称作彩色模型。(RGB彩色空间CMY彩色空间(青品红黄)YUV彩色空间(亮度信号Y 色差信号U V))

图形数据表示:矢量图形(AutoCAD) ,位图图形

图像压缩:有损压缩(利用人眼视觉对图像中的某些频率成分不敏感的特性,采用一些高效的有限失真的数据压缩算法。)

无损压缩(行程长度编码增量调制编码霍夫曼编码)

多媒体数据压缩国际标准:

JPEG:负责制定静态和数字图像数据压缩编码标准。开发了两种基本压缩算法:以离散余弦变换DCT为基础的有损压缩算法。以预测技术为基础的无损压缩算法。

MPEG:活动图像专家组

MPEG-1和MPEG-2分别提供了压缩视频音频的编码表示方法,MPEG-1音频分三层,起重工第三层协议被称为MPEG-1 Layer 3简称MP3.

H.261视频通信编码标准。

建立三维动画物体模型称作建模。

彩色电视的制式:NTSCM美国为主PAL中国为主SECAM法国东欧

国际无线电咨询委员会CCIR制定的广播级质量数字电路编码标准即CCIR标准,为PAL NTSC SECAM电视制式之间确定了共同的数字化参数。

视频压缩:无损/有损。帧内压缩又称空间压缩/帧间压缩又称时间压缩。对称压缩/不对称雅俗。

七.数据库

DBMS的功能:数据定义DDL,数据库操作DML,数据库运行管理,数据库组织存储和管理,数据库的建立和维护,通信等其他功能。

可分类:关系数据库系统RDMS

面向对象的数据库系统OODBS

对象关系数据库系统ORDBS

数据库系统的体系结构:集中式数据库体系,客户端/服务器体系结构,并行数据库结构,分布式数据库结构

概念模式也成模式,是数据库中全部诗句的逻辑结构和特征的描述。描述模式概念的数据定义语言成为“模式DDL”

外模式又称用户模式或者子模式,是用户与数据库系统的接口。

内模式也成存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

二级映像包成数据库中的数据具有较高的逻辑独立性(应用程序与数据路的逻辑结构是相互独立的)和物理独立性(内模式发生改变时数据的逻辑结构不变)。

数据模型:概念数据模型,基本数据模型。

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

E-R模型:实体联系模型。(实体,联系,属性)(矩形:实体集双边矩形:弱实体集菱形:联系集双边菱形:弱实体集椭圆:属性线段:将属性和相关的实体集连接,或者将实体集与联系集相联)

层次模型:采用树状结构表示数据与数据间的关系。不能直接表示多对多的练习的方法:冗余节点法,虚拟节点分解法。

网址模型又称DBTG模型。

关系模型,最常用之一。

面向对象模型:1,对象和对象标识OID 2,封装3,对象的属性4,类和类层次5,继承。

关系代数:属性是事物的特征,域是属性的取值范围。

关系的相关名词:目或度。候选码(能唯一标识一个元组)。主码。主属性。外码。全码。

三种关系类型:基本关系。查询表。视图表。

关系数据库模型:

关系模型:R(U,D,dom,F) 其中R表示关系名,U表示组成该关系的属性名集合,D是属性的域,dom是属性向域的映射集合,F是属性间数据的依赖关系。完整约束性:实体完整性(规定基本关系R的主属性A不能取空)参照完整性(参照的完整性要求关系中不允许引用不存在的实体。) 关系代数运算符有四类:集合运算符(并,交,差,广义笛卡尔积),专门的关系运算符(可以从关系的水平方向进行,也可以从关系的垂直方向进行包括选择,投影,连接,和除法),算数比较符,和逻辑运算符。

并,差具有相同的关系模式,即元数相同(结构相同)

广义笛卡尔积:元数n,m目的关系R,S广义笛卡尔积是一个(m+n)列的元组的集合。

投影:从关系的垂直防线进行计算,在关系R中选择若干属性列A组成新的关系,记作πA(R) 选择:是从关系的水平方向进行运算,从关系R中选择满足给定条件的元组

交:关系R和S具有相同的关系模式,R和S的交是属于R同时有属于S的元组的集合。

连接:(Θ连接(从笛卡尔积选取属性间满足一定条件的元组,Θ为比较运算符),等值连接(Θ为等值的时候),自然连接(特殊的等值连接,要求两个关系中比较的分量必须是相同的属性组,并且在结果中将重复属性去掉))

除:同时从关系的水平方向和垂直方向进行运算。

广义投影,外连接。

关系数据库SQL: structured query language

特点:综合统一,高度非过程化,面向集合的操作方式,两种使用方式,语言简洁,易学易用。数据查询SELECT,数据控制GRANT REVOKE ,数据定义CREATE DROP ALTER,数据操纵

INSERT UODATE DELETE。

SQL语言的基本组成:数据定义语言DDL. 交互式数据操纵语言DML,事务控制BEGIN TRANSCATION事务开始,COMMIT事务提交,ROLLBACK事务回滚,嵌入式SQL和动态SQL,完整性,权限管理。

关系数据路规范化略。

1NF---消除非主属性对码的部分函数依赖---2NF---消除非主属性对码的传递函数依赖---3NF---消除主属性对码的部分和传递函数依赖---BCNF---消除非平凡且非函数依赖的多值依赖---4NF

一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。

八.数据结构

九.面向对象技术

面向对象技术:面向对象=对象+分类+继承+通过消息的通信

对象是类的具体化,是类的实例。

不同对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。两类:通用的(参数的,包含的)特定的(过载的,强制的)

动态绑定:是一个把过程调用和响应调用所需要执行的代码加以结合的过程。绑定在编译时进行的是静态绑定,动态绑定是在运行时进行的,动态绑定是和类的继承以及多态相关联的。

语言:Smalltalk第一个完整健全的面向对象程序设计。

Eiffel C++ Java(起源于Oak语言) JavaBean是组件,即类和其所需要资源的集合,主要设计用于定制GUI的小配件。RMI,java自己的对象请求代理技术。

overriding重置的基本思想:通过一种动态绑定机制的支持,使得子类在继承父类界面定义的前提下,用适用于自己要求的实现去置换父类中的相应实现。

类属是程序设计语言中普遍注重的一种参数多态机制。类属可以看作是类的模板。一个类属是关于一组类的一个抽象特性,它强调的是这些类成员特征中与类型无关的那些部分,而与具体类型相关的那些部分则用变元来表示。这就使得对类的集合可以按照特性的相似性再次进行划分,类属性的一个重要作用,就是对类库的建设提供强有力的支持。

类库是一种预先定义的程序类。可以由开发人员任意扩充。

OOA面向对象分析的目的是为了获得对对应问题的理解。确定系统的功能,性能要求。分析包括(认定对象,组织对象,描述对象之间的相互作用,定义对象的操作,定义对象中的内部信息)OOD面向对象设计,设计分析模型和实现相关源代码,在目标代码环境中这种源代码可以被执行。面向对象测试,四个层次(算法层,类层,模板层,系统层)

OOA模型由下列五个层次和活动组成(主题层,对象类层,结构层,属性层,和服务层)(标识对象类,标识结构,定义主题,定义属性,定义服务)

OOA的五个层次和五个活动贯穿在OOD过程中·,OOD模型由四个部分和四个活动组成(人机交互部件HIC,问题域部件PDC,任务管理部件TMC,数据管理部件DMC)(四个活动就是设计四个部件)

OMT方法,对象建模技术,建立了三种模型:对象模型(对象,类,继承,链,关联,泛化,聚集,模块),动态模型,功能模型。四个步骤:分析,系统设计,对象设计,实现。

UML:统一建模语言,三要素:UML基本构造块,支配这些构造块如何放置在一起的规则和运用与整个语言的一些公共机制。

构造块:事物,关系,图。

事物:结构事物(类,接口,协作,用例,主动类,构建,节点),行为事物(交互,状态机),分组事物(是UML模型的组织部分,最主要的分组事物是包),注释事物。

关系:依赖,关联,泛化,实现。

泛化:也叫一般化就是继承的意思,画图表示时一个空心三角形由子类指向父类

关联:描述类与类之间的连接,一般用实线线头表示。

聚合:是关联的特例。如果类与类之间的关系具有“整体和局部”的特点,则把这样的关系成为聚合。一般用空心箭头加菱形。

组合:组合也称包容,是特殊的聚合,如果当局部离开整体没有独立存在的意义时。一般用实心菱形加实线箭头。

依赖:一种弱关联关系,两个类之间偶尔有联系,叫依赖关系,一般用虚线箭头表示。

UML中的图:分别是类图(展现了一组对象,接口,协作,和他们之间的关系,三种建模方式使用类图:对系统的词汇建模,对简单的协作建模,对逻辑数据库模式建模),对象图(展现了一组对象和他们之间的关系),用例图(展现了一组用例,参与者,以及他们之间的关系,对系统的语境建模,对系统的需求建模),序列图(场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动),通信图(强调收发消息的对象的组织,强调参与交互的对象的组织),状态图(展现了一个状态机,它由状态,转换,事件,和活动组成,关注系统的动态视图,对于接口,类和协作的行为建模尤为重要,强调对象行为的事件顺序),活动图(一种特殊的状态图),构件图(展现了一组构件之间的组织和依赖),部署图(展现来了运行处理节点以及其中构件的配置),结合构造图,包图,交互概览图,时序图。

序列图,通信图,交互概览图和时序图均被称为交互图。用于对一个系统的动态建模。

系统视图:逻辑视图是用来显示系统内部功能是怎么设计的,利用系统的静态结构和动态行为来刻画系统的功能。进程视图又称并发视图用来显示系统的并发工作情况。实时视图又称组件视图,主要用来显示代码组件的组织方式,描述了实现模块和它们之间的相互关系。部署视图是用来显示系统的物理结构,也就是系统的物理展开。用例视图是最基本的需求分析模型,以外部参与者

的角度来看待系统。

设计模式:

四要素:模式名称,问题,解决方案,效果。

创建型设计模式。抽象了实例化过程,帮助一个系统独立于如何创建,组合,和表示它的那些对象。

结构化设计模式。涉及到如何组合类和对象以获得更大的结构。Composite组合模式是结构化对象的一个实例,Flyweight模式为共享对象定义了一个结构,强调对象的空间概率。Facade描述了如何用单个对象描述整个系统。Decorator模式描述了如何动态地为对象添加职责。

行为设计模式。涉及到算法和对象间职责的分配。将用户的注意力从控制流转移到对象的联系方式上。

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

标准是为重复性事件和概念所做的统一规定。

标准分类:适用范围:国际标准(国际化标准组织ISO 国际电工委员会IEC)

国家标准(中国GB 美国国家标准ANSI 英国国家标准BS 日本国家标准JIS)

区域标准(太平洋地区标准会议PASC 欧洲标准化委员会CEN 亚洲标准咨询委员会ASAC 非洲地区标准化组织ARSO )

行业标准:美国电气和电子工程师学会标准IEEE。中华人民共和国国家均用标准GJB。美国国防部标准DODS-STD。

企业标准。

项目规范。

根据标准的性质:技术标准,管理标准,工作标准。根据标准的法律与属性可分为强制性标准和推荐性标准。

标准的代号和编码:

我国:强制性国家标准是GB,推荐性国家标准是GB/T。

行业标准:QJ航天,SJ电子, JB机械, JR金融

地区标准:DB+地区缩写。

企业标准:Q

标准化组织:国际标准组织ISO IEC是世界最大最权威的国际标准和组织,除此还有BIPM国际计量局,UNESCO联合国教科文组织,WHO世界卫生组织,FID国际信息与文献联合会,OIML 国际法制剂量组织

ISO/IEC 15504过程评估标准:提供了一个软件过程评估的框架。

知识产权:分为工业产区和著作权。

保护对象有:文学,艺术,和科学作品。表演艺术家的表演以及唱片和广播节目。人类一切活动领域的发明。科学发现。工业品外观设计。商标,服务标记以及商业名称和标志。制止不正当竞争。在工业,科学,文学艺术领域内由于智力创造活动而产生的一切其他权利。

特点:无穷性,双重性,确认性,独占性,地域性,时间性。

计算机软件著作权的主体:公民,法人,其他组织。

计算机软件著作权的客体:计算机程序,计算机软件的文档。

计算机软件受著作权法保护的条件:独立创作,可被感知,逻辑合理。

计算机软件著作权的权利:计算机软件的著作人身权(发表权,开发者身份权(署名权)),计算机软件的著作财产权(使用权复制权修改权发行权翻译权注释权信息网络传播权出租权使用许可权和获得报酬权转让权)

计算机软件著作权的行使:独立许可使用,独家许可使用,普通许可使用,法定许可使用和强制许可使用。

计算机软件著作权的保护期为五十年。保护期满,除开发者身份权以外,其他权利终止。进入公有领域。

软件著作权属于软件开发者。

1,职务开发软件的归属,合作开发软件著作权的归属,委托开发软件著作权的归属,接受任务开发的软件著作权的归属。

商业秘密定义为“指部位公众所知悉的,能为权利人带来经济利益,具有实用性并经权利人才去保密措施的技术信息和经营信息”

专利申请权。

专利申请人。

专利申请的原则,一项申请一项发明。

软件工程导论复习笔记

简答题: 1.什么是软件? 答:软件是: (1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特征、功能和性能需求。 (2)数据结构,使得程序可以合理利用信息。 (3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序操作和使用。 2.How do software characteristics differ from hardware characteristics? 软件的特性是如何不同硬件的特性? 答:(1)软件是设计开发的,而不是传统意义上生产制造的(2)软件不会磨损,但会退化 (3)虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的 3.What do people mean by the expression "software crisis"? 人们是怎样理解“软件危机”这个短语的?

答:软件危机主要表现在两个方面: (1)无法满足日益增长的对软件的需求。 (2)难以满足对已有的软件系统的维护需求。 软件危机出现的原因: (1)由于软件生产本身存在着复杂性 (2)与软件开发所使用的方法和技术有关 “软件工程”的概念用工程化的思想来克服软件危机。 4.What myths about software still exist ? 软件仍然存在着什么神话? 答:管理者的神话;用户的神话;开发者的神话。 简答题: 1.What are the three generic phases of software engineering? 软件工程的三个一般的阶段是? 答:定义阶段、开发阶段、维护阶段 (软件生存周期的三个阶段:软件定义、软件开发、软件维护) 2.What are the names of the five levels of the SEI Capability Maturity Model?

结构设计笔记

改建工程: 问:使用PKPM软件设计结构时,原有建筑是混凝土框架结构新加建的为钢结构,在设计时建模时采用建模方式, 是采用钢结构还是结构建模?如果新建采用哪种建模?对后期有何影响? 答:1)从原则上说,这种加建建筑的结构体系混乱,对抗震是及其不利的,也不符合抗震设计规范的,一般是不予通过图纸审查的。 但是因为简单实用,安装简便,在个别地区还是蛮流行的做法。 建议你首先分清楚加建部分(钢构)和已建部分(砼框架)的体量关系,哪个从属于哪个;通常做法是以局部从属于整体来定性你的结构类型。如加建的部分很小,则应以砼框架体系为准,反之则要以钢构体系来定性计算。 不知我有没说清楚,希望对你有用! 2)设计时采用钢结构建模,如果是新建还是采用钢结构建模,因为在pkpm中,可以用钢结构模型来计算混凝土构件,但不能用混凝土结构模型计算钢构件。不同的结构,刚度有突变,结构阻尼比不好确定。 施工图上实心柱和空心柱的区别: 实心柱子表示该柱子做到本层平面标高后还要继续向上做。 空心柱子表示该柱子做到本层平面标高为止,不再继续向上。

轴压比 目录 概述 轴压比指柱(墙)的轴压力设计值与柱(墙)的全截面面积和混凝土轴心抗压 强度设计值乘积之比值(进一步理解为:柱(墙)的轴心压力设计值与柱(墙)的轴心抗压力设计值之比值)。它反映了柱(墙)的受压情况,《建筑抗震设计规范》(50011-2010)中6.3.6和《混凝土结构设计规范》(50010-2010)中11.4.16都对柱轴压比规定了限制,限制柱轴压比主要是为了控制柱的延性,因为轴压比越大,柱的延性就越差,在地震作用下柱的破坏呈脆性。 u=N/A*fc, u—轴压比,对非抗震地区,u=0.9 N—轴力设计值 A—截面面积 fc—混凝土抗压强度设计值 《建筑抗震设计规范》表6.3.6 中的注释第一条:可不进行地震作用计算的结构,取无地震作用组合的轴力设计值。 限制轴压比主要是为了控制结构的延性,规范对墙肢和柱均有相应限值要求,见《抗规》6.3.7和6.4.6,在剪力墙的轴压比计算中,轴力取重力荷载代表设计值,与柱子的不一样,不需要考虑地震组合。

软件工程重点整理

软件工程重点 (吐血整理——林新发) 红色的是重点中的重点 前面数字是课本页码 第一章概论 1 什么是计算机软件 计算机软件指计算机系统中的程序及其文档 3软件的特点 (1)软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算 (2)软件是被开发的或被设计的,它没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大 (3)软件的使用没有硬件那样的机械磨损和老化问题 4软件的分类 (1)系统软件(如操作系统、编译程序等)、 (2)支持软件(如数据库管理系统、网络软件、软件开发环境等)、 (3)应用软件(如实时软件、嵌入式软件、科学和工程计算软件、事务处理软件、人工智能软件等) 6软件工程定义 软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程 7生存周期 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护 12能力成熟度模型CMM(了解一下) 初始级、可重复级、已定义级、已管理级、优化级 18瀑布模型(重) 系统工程、需求分析与规约、设计与规约、编码与单元测试、集成测试系统测试、运行与维护 第二章系统工程 41系统工程的任务 (1)识别用户的要求,确定待开发软件的总体要求和范围,

(2)系统建模和模拟 (3)进行成本估算,做出进度安排 (4)进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中作出选择。 (5)生成系统规格说明书 42可行性分析 (1)经济可行性(成本、效益、货币的时间价值、投资回收期、纯收入) (2)技术可行性(风险分析、资源分析、技术分析) (3)法律可行性 第三章需求工程 48软件需求 指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。 包括:功能需求、性能需求、用户或人的需求、环境需求、界面需求、文档需求、数据需求、资源使用需求、安全保密要求、可靠性需求、软件成本消耗与开发进度需求、其他非功能需求 50需求获取方法与策略(重) 建立顺畅的通信途径、访谈与调查、观察用户操作流程、组成联合小组、用况 51 图3.2 53 创建用况模型的主要步骤 (1)确定谁会直接使用该系统,即参与者(Actor) (2)选取其中一个参与者 (3)定义该参与者希望系统做什么,参与者希望系统作的每件事将成为一个用况 (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用况的基本过程 (5)描述该用况的基本过程 54需求分析原则(重) 1.必须能够表示和理解问题的信息域 2.必须能够定义软件将完成的功能 3.必须能够表示软件的行为(作为外部事件的结果) 4.必须划分描述数据、功能和行为的模型,从而可以分层次地揭示细节

软件工程复习资料

软件概念:与计算机系统操作有关的程序、数据以及相关文档的完整集合 软件特点:逻辑实体、智力产品,制造即拷贝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)便于测试和维护,减少修改影响向外传播的范围模块化、信息隐藏,局部化是什么关系局部化与信息隐藏是一对密切相关的概念。局部化就是指将一些使用上密切相关的元素尽可能放在一起。对一个模块来说,局部化是期望模块所使用的数据尽可能是在模块内部定义的。因此,局部化意味着减少模块之间的联系,有助于实现模块之间的信息隐藏。在软件测试和维护期间经常需要修改一些模块的内容。信息隐藏和局部化降低了模块之间的联系,使得在修改一个模块时对其他模块的影响降到最低。“隐藏”的意思是,有效的模块化通过定义一组相互独立的模块来

软件工程导论试题集46172(1)

第一章:软件工程学概述 一.填空题 1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于(原理和理论)、而 软件工程侧重于(如何建造一个软件系统) 2. 计算机程序及其说明程序的各种文档称为(文件)。计算任务的处理图像对象和处 理规则的描述称为(程序)。有关计算机程序功能、设计、编制、使用的文字或图形资 料称为(文档)。 3. 软件开发环境是相关一组(软件工具)的集合,它支持一定的软件开发方法或按照一定 的软件开发模型组织而成的。 4. CASE这一术语的英文是(Computer Aided Software Engineering)。 5. (平台集成)是指工具运行在相同的硬件/操作系统平台上。(数据集成)是指工具使 用共享数据模型来操作。(表示集成)是指工具提供相同的用户界面。 6. 根据支持的范围,CASE工具可分为(窄支持)、(较宽支持)和(一般支持)工具。 7. 软件危机的主要原因有(软件本身的特点)和(缺乏好的开发方法和手段)。 8. (增量)模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发处理的, 开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 9.结构化方法总得指导思想是(自顶而下逐步求精)。它的基本原则是功能的(分解)与(抽象)。它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。 10. 面向对象开发方法包括(面向对象分析)、(面向对象设计)、(面向对象实现)、三部分。 11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括(可行性分析)、项目开发计划、(需求分析)、(概要设计) 、(详细设计)、_ (编码)、(测试)、(维护),它规定了由前至后、相互衔接的固定次序 ,如同瀑布流水,逐级下落。 12. 瀑布模型本质上是一种(线性)顺序模型。 13. 构造原型时,必须注意(功能性能)取舍,忽略一切暂时不关心的部分。 14. 属性指的是类中对象所具有的(性质(数据值))。不同对象的同一属性可以具有相同或不同的(属性值)。 15. 结构化方法和原型化方法是软件开发中常使用的两种方法,在实际的应用中,它们之间的关系表现为(相互补充)。 二.判断题 1. 瀑布模型的存在问题是缺乏灵活性。(√) 2. 软件是一种逻辑产品。(√) 3. 软件工程学科出现的主要原因是程序设计方法学的影响。(× ) 4. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。(√) 5. CASE开放式工作台或者提供控制集成机制,或者可剪裁,其数据集成或协议是独立的。(× ) 6. 在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是版本控制工具。(√) 7. 平台集成是指工具运行在相同的硬件/操作系统平台上。(√) 8. 软件生存周期模型有多种,功能模型是软件生存周期模型。(× ) 9. 从结构化的瀑布模型看,在软件生命周期中得8个阶段中,详细设计阶段出错,对软件

软件工程导论复习资料解答

软件工程导论复习题汇总 一、选择题 1.软件重用的单位是A。 A.软件模块B.功能 C.系统D.语句 2.软件生存周期借用了 D 中产品生存周期的概念。 A.计算机科学B.需求 C.数学D.工程 3.项目开发计划是 D 文档。 A.技术性B.管理性 C.设计D.需求分析 4.在结构化分析(SA)中, C 与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。 A.模块图B.E-R图 C.数据字典D.程序流程图 5.为了提高模块的独立性,模块之间最好是A 。 A.数据耦合B.控制耦合 C.公共耦合D.内容耦合 6.对一个开始是模糊的模块进行处理过程分解时,下面说法错误的是 D 。 A.用顺序方式对过程分解,确定各部分的执行顺序 B.用选择方式对过程分解,确定某个部分的执行条件 C.用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件 D.对处理过程仍然模糊的部分反复使用循环方式对过程进行分解 7.软件测试的关键问题是A 。 A.如何选择测试用例B.如何采用综合策略 C.如何验证程序的正确性D.如何组织软件评审 8.软件生存期的 D 工作与软件的可维护性有密切的关系。 A.详细设计阶段B.编码阶段 C.测试阶段D.每个阶段 9.增量模型属于一种 B 模型。 A.整体开发B.非整体开发 C.较早产生工作软件D.灵活性差 10.下列说法正确的是 D 。 A.动态模型指出发生了什么 B.对象模型确定什么时候发生 C.功能模型确定发生的客体 D.动态模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织11.用类库这种机制和结构来实现 D 中的信息共享。 A.同一应用B.不同应用 C.同一个类D.不同类

sketchup学习笔记

SketchUp8.0基础教程 第一课:SketchUp8概述 1-1、Sketchup8简介 Sketchup是一款直观、灵活、易于使用的三维设计软件,好比电脑设计中的―铅笔‖,被誉为―草图大师‖,Sketchup最初由@Last Software 公司开发发布,2006年被Google公司收购,并陆续发布了6.0、7.0、8.0版本。 Sketchup特点: ①界面简洁,画线成面,推拉成型,方便掌握。(最常用的三个基本工具:矩形、直线、推拉) ②适用范围广,目前已广泛应用于城市规划设计、建筑设计、园林景观设计、室内设计等设计领域。 ③与AutoCAD,3DMAX等软件兼容性良好,可快速导入和导出DWG、JPG、3DS等格式文件,实现方案构思、施工图与效果图绘制的完美结合。 ④具有多种显示模式。 ⑤阴影和日照定位准确,设计师可以根据建筑物所在地区和时间实时进行阴影和日照分析。 ⑥空间尺寸和文字的标注简便。 ⑦可快速得到任意位置的剖面 1-2、SketchUp8的下载与安装 下载地址:https://www.doczj.com/doc/537606055.html,

1-3、SketchUp8绘图环境的优化及界面简介 ①常用工具栏的调出:大工具集、实体工具、样式、图层、阴影、标准、视图、沙盒 ②单位设置:窗口》模型信息》单位 ③边线及正反面样式的设置:窗口》样式》编辑 ④自动备份:窗口》使用偏好》常规&文件(创建备份和自动保存是两个不同的概念) ⑤快捷键:窗口》使用偏好》快捷 ⑥模板的保存与调用:文件》另存为模板 窗口》使用偏好》模板 绘图环境工具栏位置的保存:视图-工具栏-保存工具栏位置 1-4、入门小实例——柜子 第二课:SketchUp8基础 2-1、视图的操作 环绕观察——使摄象机围绕模型转动观察 小技巧: ①快捷键:滚轮 ②注:在任意一个命令状态下双击滚轮,都可以是点击区域居中显示平移——移动画布 小技巧: ①快捷键:shift+滚轮 缩放——放大或缩小显示区域 小技巧:

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 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、白盒测试技术(逻辑覆盖、基本路经测试)

软件工程导论(第五版)课后习题测验答案

《软件工程导论》课后习题答案 第一章软件工程概论 1-1 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.软件危机有那些典型表现? (1)对软件开发成本和进度的估计常常很不准确。 (2) 用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。 (5)软件通常没有适当的文档资料。 (6) 软件成本在计算机系统总成本中所占的比例逐年上升。 (7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 3.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 4.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 1-3、

软件工程导论第五版复习资料

软件工程导论 第一章软件工程学概述 1、软件 完成特点功能的程序以及数据结构和文档 2、软件的特点 (1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。软件开发、设计几乎都是从头开始,成本和进度很难估计。 (2)软件存在潜伏错误,硬件错误一般能排除。 (3)软件开发成功后,只需对原版进行复制。 (4)软件在使用过程中维护复杂: 1)纠错性维护—改正运行期间发现的潜伏错误; 2)完善性维护—提高或完善软件的性能; 3)适应性维护—修改软件,以适应软硬件环境的变化; 4)预防性维护—改进软件未来的可维护性和可靠性。 (5)软件不会磨损和老化。 3、软件危机及软件危机的表现 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。 软件危机的表现 1)对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象,从而降低了开发商的信誉,引起用户不满。 2)用户对已完成的软件不满意的现象时有发生。 3)软件产品的质量往往是靠不住的。 4)软件常常是不可维护的。 5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 6)软件成本在计算机系统总成本中所占比例逐年上升。特别是软件维护成本迅速增加,已经占据软硬件总成本的40%~75%。 7)开发生产率提高的速度远跟不上软件需求。 4、软件工程及软件工程的特性 软件工程是用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。 软件工程的特性: 1)软件工程关注于大型程序的构造 2)软件工程的中心课题是控制复杂性 3)软件经常变化 4)开发软件的效率非常重要 5)和谐地合作是开发软件的关键 6)软件必须有效地支持它的用户

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

软件设计师复习笔记重点总结 一.计算机系统 基础知识: 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的位

软件工程知识点汇总

软件工程知识点汇总 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.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程导论复习试题库完整

a(1)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看作是 A) 路径的集合 B)循环的集合C)目标的集合D)地址的集合 c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序 I.功能测试Ⅱ. 结构测试 A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱ a(3)检查软件产品是否符合需求定义的过程称为 A)确认测试B)集成测试C)验证测试D)验收测试 c(4)下述陈述中,哪一个不是软件健壮性的度量指标? A)失败后重新启动所需的时间B)引起失败的时间所占的百分比 D)失败前的平均工作时间D)在一次失败中数据恶化的概率 b(5)对软件是否能达到用户所期望的要求的测试称为 A) 集成测试B) 有效性测试C) 系统测试D) 验收测试 a(6)在面向数据流的软件设计方法中,一般将信息流分为 A)变换流和事务流B)变换流和控制流 C)事务流和控制流D)数据流和控制流 d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容 I.数据描述Ⅲ. 模块描述 II.功能描述Ⅳ. 性能描述 A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ (8)软件测试一般分为三类,即 I.静态测试Ⅱ. 动态测试Ⅲ. 正确性测试 设计测试用例对程序进行测试,应属于 A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ (9)模块独立性是由内聚性和耦合性来度量的,其中内聚性是度量____,耦合性是度量____。 A)模块间联系程度B)模块的功能强度 C)信息隐蔽程度D)模块的复杂程度 (10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具 I.结构图Ⅱ. 实体关系图Ⅲ. IPO图 II.Ⅳ. 流程图Ⅴ. N-S图 A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部 A (2)C (3)A (4)C (5) B (6)A (7)D (8)B (10)C (11)试判断下列论述中哪个(些)是正确的 I.软件系统中所有的信息流都可以认为是变换流 II.软件系统中所有的信息流都可以认为是事务流 III.事务分析和变换分析的设计步骤基本类似 A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ (12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书 C)总体设计报告D)有效性测试要求 (13)软件设计中的软件过程其主要描述的是 A)模块间关系B)模块操作细节 C)模块控制方法D)模块类型 (14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?

软件工程基础知识点总结

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

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

软件工程导论张海蕃 课后习题答案

第一章 1-1 什么是软件危机 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分 成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了 软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程它与软件工程方法学有何关系 z软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 z软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。 适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发

管理系统中计算机应用 笔记 第六章

6.l系统总体结构设计 6.1.1系统总体结构设计的任务 系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这是物理设计的基本要求。 系统应具有可修改性,即易读,易于进行查错、改错、可以根据环境的变化和用户的要求进行各种改变和改进。系统是否具有可修改性,对于系统开发和维护影响极大。据统计,在系统生命周期中各阶段的应用软件费用及人力投入大体分布如下: 系统开发:20%考试大自考站,你的自考专家! 系统维护:80% 6.1.2结构化设计的基本思想 1.结构化设计的要点 系统是否具有可修改性与其结构有着密切的关系。“结构化设计”的构想,成为系统设计的基本思想。其要点如下: (1)模块化。 (2)由顶向下,逐步求精。系统划分模块的工作应按层次进行:①把整个系统看做一个模块,然后把它按功能分解成若干第一层模块,它们各担负一定的局部功能,共同完成整个系统的功能。②每个第一层模块又可以进一步分解成为更简单一些的第二层模块,越下层的模块,其功能越具体、越简单。 (3)上层模块分解为下层模块,有三种不同的结构形式,即顺序结构、选择结构和循环结构。 控制结构图也称为软件结构图或模块结构图,它表示出一个系统的层次分解关系、模块调用关系、模块之间数据流和控制信息流的传递关系,它是系统物理结构的主要工具。 2.控制结构图的基本符号和规定考试大-全国最大教育类网站(www.Examda。com) (1)每个模块有自身的任务,只有接收到上级模块的调用命令时才能执行。 (2)模块之间的通信只限于其直接上、下级模块,任何模块不能直接与其他上下级模块或同级模块发生通信联系。 (3)若有某模块要与非直接上、下级的其他模块发生通信联系,必须通过其上级模块进行传递。 (4)模块调用顺序为自上而下。在控制结构图中,把一个系统分解为若干模块,实质上是把一件比较抽象、其物理内容不大确定的任务,分解为若干件比较具体的、物理内容比较确定的任务。 控制结构图既可以反映系统整体结构,又能反映系统的细节,能准确反映各组成部分(各模块)及它们之间的联系。 6.1.3模块分解的规则 6.1.4控制结构图的绘制采集者退散 绘制控制结构图的依据是数据流程图。绘制控制结构图,首先是将上层数据流程图映射为上层控制结构图,由顶层数据流程图开始,逐级下推。 每一层数据流程图(DFD)中的“处理功能”,映射为相应层次控制结构图中的“模块”;而DFD中流人“处理功能”的数据流映射为输入模块的数据流,DFD中流出“处理功能”的数据流映射成从“模块”中输出的数据流。能结构;另一方面应按照模块分解的规则,将凝聚程度低的、或具有控制耦合、非法耦合的结构进行分解。 低层次模块结构的分解,一方面可参照低层次数据流程图的功分解时采用以下两种不同的方式:

相关主题
文本预览
相关文档 最新文档