软件的概念Word下载.docx
《软件的概念Word下载.docx》由会员分享,可在线阅读,更多相关《软件的概念Word下载.docx(66页珍藏版)》请在冰豆网上搜索。
抽象化(过程、数据、控制)、自顶向下,逐步细化、模块化、控制层数、数据结构、软件工程、信息隐藏
*内聚:
低内聚:
偶然内聚、逻辑内聚、时间内聚;
中等程度内聚:
过程内聚、通讯内聚;
高内聚:
顺序内聚、功能内聚
*耦合:
低耦合:
非直接耦合、数据耦合、标记耦合。
中耦合:
控制耦合、外部耦合。
高耦合:
公共耦合、内容耦合。
*模块设计原则:
高内聚、低耦合;
规模适中;
深度、宽度、扇出和扇入应适当;
模块的作用域应该在控制域内;
设计单入口单出口的模块;
力争降低模块接口的复杂程度
*结构化设计:
分析数据流图为出发点,主要变换型和事务型。
面向数据结构的设计,以数据结构为基础,以数据结构导出程序结构,服从“程序结构必须适应问题结构”的基本原则。
代表jackson方法(又称面向数据结构的分析与设计方法),信息→数据结构→程序结构,数据结构映射为程序结构。
*软件测试:
为了发现错误而执行程序的过程,根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果)。
分单元测试(测试程序内部工作过程,通常采用白盒测试方法,如逻辑覆盖、循环覆盖、基本路径覆盖。
测试依据,详细设计文档与程序源代码)、集成测试(又称功能测试黑盒测试,方法:
等价类划分、边界值划分、错误推测、因果图。
测试依据概要说明文档与详细设计文档)、确认测试(分α测试<
公司内部的用户在模拟环境下测试>
和β测试<
用户在实际环境下测试>
主要参考需求分析文档)、系统测试(组装测试和确认测试,测试方向系统其他元素)。
*测试计划:
描述了要进行的测试活动的范围、方法、资源和进度的文档。
它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险(需求分析阶段进行)。
*测试计划与测试大纲:
测试大纲只是简单的描述如何开展测试,而测试计划是针对测试中的每个环节的。
大纲相当于书的目录,计划相当于书的章节内容。
*软件调试:
诊断和改正程序中潜在的错误
*软件维护:
软件运行∕维护阶段对软件产品所进行的修改;
主要由改正性维护(在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷)、适应性维护(环境变化所做的修改)、完善性维护(需求变化、功能改进,性能完善)、预防性(提前预防问题),其中,完善性维护所在比例最多
*修改程序副作用:
修改代码的副作用、修改数据的副作用、修改文档的副作用
*可理解性:
外来读者理解软件的结构、接口、功能和内部过程的难易程度
*可靠性:
程序按照用户的要求和设计目标,在给定的一段时间内正确执行的概率
*可测试性:
诊断和测试的难易程度主要取决于软件容易理解的程度
*可修改性:
软件容易修改的程度,
*可移植性:
可移植性表明程序转移到一个新的计算环境的可能性大小
*效率:
效率表明一个程序执行预定功能而又不浪费机器资源的程度
*可使用性:
从用户观点出发,把可使用性定义为程序方便、实用、及易于使用的程度
*软件质量模型,产品修正(可维护性,可测试、灵活性),产品移植(可移植性、可复用性、互连性),产品运行(正确、可靠、效率、可使用性、完整性)
*面向对象方法:
面向对象分析(OOA)->
面向对象设计(OOD)->
面向对象程序设计(OOP)
*面向对象建模:
面向对象建模技术所建立的三种模型——对象模型、动态模型和功能模型,分别从三个不同侧面描述了所要开发的系统。
对象模型定义了“做什么”的实体,功能模型指明了系统应该“做什么”,动态模型明确规定在何种状态下,接受什么事件的触发而“做什么”
*UML:
统一建模语言,静态图包括用例图、类图、对象图、构件图和部署图;
动态图包括状态图、时序图、协作图和活动图。
用例图:
需求导出技术,识别用例与角色;
类图包括类、类之间的关联、类关联重数和继承等基本元素。
对象图是系统运行某个时刻对象之间的关联关系。
对象图是类图的一个实例.时序图描述对象间的事件序列的交换和相互关系;
协作图注重对象的空间协作关系;
状态图描述系统中对象的状态变化
2011年软考网络工程师全面复习资料汇总
计算机基础知识
一.计算机发展史略
世界上第一台电子数字式计算机于1946年2月15日在美国宾夕法尼亚大学正式投入运行,它的名称叫ENIAC(埃尼阿克),是电子数值积分计算机(TheElectronicNumbericalIntergratorandComputer)的缩写。
它使用了17468个真空电子管,耗电174千瓦,占地170平方米,重达30吨,每秒钟可进行5000次加法运算。
虽然它的功能还比不上今天最普通的一台微型计算机,但在当时它已是运算速度的绝对冠军,并且其运算的精确度和准确度也是史无前例的。
以圆周率(π)的计算为例,中国的古代科学家祖冲之利用算筹,耗费15年心血,才把圆周率计算到小数点后7位数。
一千多年后,英国人香克斯以毕生精力计算圆周率,才计算到小数点后707位。
而使用ENIAC进行计算,仅用了40秒就达到了这个记录,还发现香克斯的计算中,第528位是错误的。
ENIAC奠定了电子计算机的发展基础,开辟了一个计算机科学技术的新纪元。
有人将其称为人类第三次产业革命开始的标志。
ENIAC诞生后,数学家冯·
诺依曼提出了重大的改进理论,主要有两点:
其一是电子计算机应该以二进制为运算基础,其二是电子计算机应采用"
存储程序"
方式工作,并且进一步明确指出了整个计算机的结构应由五个部分组成:
运算器、控制器、存储器、输入装置和输出装置。
冯·
诺依曼的这些理论的提出,解决了计算机的运算自动化的问题和速度配合问题,对后来计算机的发展起到了决定性的作用。
直至今天,绝大部分的计算机还是采用冯·
诺依曼方式工作。
ENIAC诞生后短短的几十年间,计算机的发展突飞猛进。
主要电子器件相继使用了真空电子管,晶体管,中、小规模集成电路和大规模、超大规模集成电路,引起计算机的几次更新换代。
每一次更新换代都使计算机的体积和耗电量大大减小,功能大大增强,应用领域进一步拓宽。
特别是体积小、价格低、功能强的微型计算机的出现,使得计算机迅速普及,进入了办公室和家庭,在办公室自动化和多媒体应用方面发挥了很大的作用。
目前,计算机的应用已扩展到社会的各个领域。
电子计算机还在向以下四个方面发展:
巨型化天文、军事、仿真等领域需要进行大量的计算,要求计算机有更高的运算速度、更大的存储量,这就需要研制功能更强的巨型计算机。
微型化专用微型机已经大量应用于仪器、仪表和家用电器中。
通用微型机已经大量进入办公室和家庭,但人们需要体积更小、更轻便、易于携带的微型机,以便出门在外或在旅途中均可使用计算机。
应运而生的便携式微型机(笔记本型)和掌上型微型机正在不断涌现,迅速普及。
网络化将地理位置分散的计算机通过专用的电缆或通信线路互相连接,就组成了计算机网络。
网络可以使分散的各种资源得到共享,使计算机的实际效用提高了很多。
计算机联网不再是可有可无的事,而是计算机应用中一个很重要的部分。
人们常说的因特网(INTERNET,也译为国际互联网)就是一个通过通信线路联接、覆盖全球的计算机网络。
通过因特网,人们足不出户就可获取大量的信息,与世界各地的亲友快捷通信,进行网上贸易等等。
智能化目前的计算机已能够部分地代替人的脑力劳动,因此也常称为"
电脑"
。
但是人们希望计算机具有更多的类似人的智能,比如:
能听懂人类的语言,能识别图形,会自行学习等等,这就需要进一步进行研究。
二.计 算 机 的 应 用
(1)科学计算如:
计算量大、数值变化范围大的天文学、量子化学、空气动力学、核物理学和天气预报等领域中的复杂运算。
(2)数据处理是计算机应用的一个重要方面,如:
办公自动化、企业管理、事务管理、情报检索等非数值计算的领域。
(3)过程控制如:
冶金、石油、化工、纺织、水电、机械、航天等现代工业生产过程中的自动化控制。
(4)计算机辅助系统
计算机辅助设计CAD:
如飞机、船舶、建筑、机械、大规模集成电路等的设计。
计算机辅助制造CAM:
用计算机进行生产设备的管理、控制和操作。
计算机辅助教育CBE:
如计算机辅助教学CAI、计算机辅助测试CAT、计算机管理教学CMI
(5)人工智能AI是计算机应用研究的前沿学科。
(6)信息高速公路(此即“国家信息基础设施”NII的俗称)
我国已建立的大型计算机应用工程-"
金"
字工程:
金桥工程(全国经济信息网)金卡工程(金融信息网)金关工程(外贸海关信息网)金智工程(教育科研信息网)
(7)电子商务利用国际互联网Internet进行网上商务活动,始于1996年,现已发展迅速,全球已有许多企业先后开展了“电子商务”活动。
三.计算机系统的组成
1.计算机的基本结构
冯·
诺依曼(美籍匈牙利数学家)对计算机结构提出的设计思想:
(1)计算机应由五个基本部分组成:
运算器、控制器、存储器、输入设备和输出设备;
(2)采用存储程序的方式,程序和数据存放在同一个存储器中;
(3)指令在存储器中按执行顺序存放,由指令计数器指明要执行的指令所在的单元地址,一般按顺序递增,但可按运算结果或外界条件而改变;
(4)机器以运算器为中心,输入/输出设备与存储器间的数据传送都通过运算器。
2.计算机工作原理计算机的工作过程其实就是一个执行指令和程序的过程。
指令的执行过程:
第一阶段,计算机将要执行的指令从内存取到CPU,此阶段称之为取指周期;
第二阶段,CPU对取入的指令进行分析译码,判断该指令要完成的操作,然后向各部件发出完成该操作的控制信号,完成该指令的功能,此阶段称之为执行周期。
程序的执行过程:
就是逐条执行指令的过程。
取指令→执行指令→取指令→执行指令……
指令:
就是让计算机完成某个操作所发出的命令,是计算机完成某个操作的依据。
它包括操作码和操作数两部分。
操作码:
指明该指令要完成的操作。
操作数:
是指参加运算的数或者数所在的单元地址。
指令的分类:
包括:
数据传送指令、算术运算指令、逻辑运算指令、移位运算指令、位与位串操作指令、控制转移指令、输入/输出指令、其他指令。
指令系统:
指一台计算机的所有指令的集合。
不同的计算机其指令系统不一定相同。
程序:
是由一系列指令构成的有序集合。
3.计算机的硬件系统计算机硬件主要由中央处理器、主存储器、辅助存储器、输入/输出设备和总线等组成。
其中:
中央处理器、主存储器和总线构成“主机”,辅助存储器和输入/输出设备构成“外设”。
微机的主机箱内主要有下列部件:
(1)系统主板是一块集成电路板,是微机最主要的部件,它包括微处理器模块、内存模块、基本I/O接口、中断控制器、DMA(直接存取存储器)控制器及连接其他部件的总线。
微处理器CPU:
是微机的核心部件,控制计算机的各项工作。
Pentium处理器主要由执行单元、指令预取部件、指令译码部件、地址转换与管理部件、指令快存(cache)和数据快存(cache)、总线接口部件和控制器等组成。
其核心是执行单元(即运算器),它的任务是高速完成各种算术和逻辑运算。
CMOS存储器:
用来存放用户对计算机的配置参数。
存放在其中的信息可以在计算机开机时进行修改,关机后可保持设置不变。
其中的信息要依靠小电池来维持,电池放电后,会使其中的信息全部丢失。
I/O总线:
包括传送数据信号的数据总线DB(是双向的)、传送地址信号的地址总线AB(是单向的)、传送控制信号的控制总线CB。
常用的有PCI(外围设备接口)总线、ISA(工业标准体系结构)总线、EISA(扩展的工业标准体系结构)总线.通用串行总线(USB):
可以连接几乎所有外部设备。
输入/输出接口电路:
并行接口、串行接口、软盘接口、IDE(智能设备电子接口)硬盘接口、键盘接口等
中断控制器、DMA控制器
(2)硬盘驱动器(3)软盘驱动器(4)光盘驱动器(5)电源(6)显示卡(7)其他卡(声卡、视卡、网卡、…)
计算机常用的外部设备有:
(1)输出设备:
显示器:
常见的有单色CRT(阴极射线管)显示器、彩色CRT显示器、平板显示器。
主要技术指标是:
分辨率、彩色数目、屏幕尺寸
打印机:
常见的有针式打印机、喷墨打印机、激光打印机绘图仪:
常见的有平板式绘图仪、滚筒式绘图仪
音箱
(2)输入设备:
鼠标:
常见的有机械式、光电式和光机式三类鼠标。
笔记本电脑上用跟踪球代替鼠标。
键盘:
常见的有101键盘、104键盘。
扫描仪:
常见的有手持式扫描仪、平板式扫描仪。
其他输入设备:
数字化仪、条形码读入器、磁卡阅读机、话筒、摄象机等
(3)计算机通讯设备——调制解调器(Modem):
在Internet中,微机之间常通过电话线来传送数据,通过电话线传送的信号是模拟信号,而计算机中的信号是数字信号,Modem的作用就是实现这两种信号的转换。
调制:
将数字信号转换成模拟信号的过程
解调:
将模拟信号转换成数字信号的过程
Modem有外置式、内置式、PC卡式(是专为笔记本电脑设计的)三种。
4.计算机软件系统
软件:
是利用计算机本身提供的逻辑功能,合理地组织计算机的工作,简化或代替人们在使用计算机过程中的各个环节,提供给用户的一个便于掌握操作的工作环境。
不论是支持计算机工作还是支持用户应用的程序都是软件。
(1)计算机软件的发展机器语言→汇编语言→高级语言→操作系统→网络软件→数据库软件
(2)软件分类与简介
几个基本概念:
系统软件:
指那些为整个计算机系统所配置的、不依耐于特定应用的通用软件。
系统软件可供所有用户使用。
应用软件:
指用于解决各种不同具体应用问题的专门软件。
它包括定制软件(特定用户使用)和通用应用软件。
裸机:
没装任何软件的计算机
虚拟计算机:
具有操作系统的计算机
(3)系统软件的基本概念
源程序:
用高级语言编写出来的程序。
目标程序:
由源程序翻译出来的机器语言程序或汇编语言程序。
编译程序:
将高级语言源程序翻译成机器语言或汇编语言的程序,如:
FL.EXE翻译有“编译”和“解释”两种方式。
编译方式:
首先将源程序翻译成等价的目标程序,然后再执行此程序,运行速度较快。
如:
C、FORTRAN
解释方式:
是把源程序逐句翻译,翻译一句执行一句,边翻译边执行,运行速度较慢。
解释程序不产生将被执行的目标程序,而是借助解释程序直接执行源程序本身。
BASIC、LISP
联接程序:
把目标程序变成可执行的程序。
也称组合编译程序或联接编译程序。
将源程序转换成可执行的目标程序一般分为两个阶段:
翻译阶段和联接阶段。
翻译阶段的目标模块由于没有分配存储器的绝对地址,仍然不能执行,只有经过联接阶段,把目标程序以及所需要的功能库转换成一个可执行的装入程序,该装入程序分配有地址,故可以执行。
操作系统篇(Unix,Linux,Windows,Netware)
壹.Unix
Unix是一个多任务多用户的操作系统。
多任务是指可以同时运行几个不同的程序,或命令。
在操作系统的术语里叫"
进程"
,就象在运行Windowsxp的时候我们可以一边听CD,一边打字,同时打印机还在工作。
多用户是指一台运行Unix系统的机器可以同时具有几个不同的输入输出设备,给几个,几十个用户同时使用。
不同的输入输出设备我们称为终端。
Unix给每个终端设置不同的序号以协调工作,这个序号被称为终端序号。
Unix是一个根本不同于Dos的系统,无论其命令格式,用途都和Dos有很大区别。
比如:
目录分割符是"
/"
而不是"
\"
Unix的发展阶段
从总体来看,Unix的发展可以分为三个阶段:
第一阶段为Unix的初始发展阶段,从1969年AT&
T贝尔实验室创造了Unix操作系统,到刚开始只是在实验室内部使用并完善它,这个阶段Unix从版本1发展到了版本6。
同时Unix也以分发许可证的方法,允许大学和科研机构获得Unix的源代码进行研究发展。
这个阶段最重要的事件可以算Unix的作者使用C语言对Unix的源代码重新改写,使Unix非常具有可移植性。
第二阶段为80年代,这是Unix的丰富发展时期,在Unix发展到了版本6之后,一方面AT&
T继续发展内部使用的Unix版本7,同时也发展了一个对外发行的版本,但改用System加罗马字母作版本号来称呼它。
SystemIII和SystemV都是相当重要的Unix版本。
此外,其他厂商,以及科研机构都纷纷改进Unix,其中以加州大学伯克利分校的BSD版本最为著名,从4.2BSD中也派生出了多种商业Unix版本。
在这个时期中,Internet开始进行研究,而BSDUnix最先实现了TCP/IP,使Internet和Unix紧密结合在一起。
第三阶段是Unix的完善阶段,从90年代开始到现在。
当AT&
T推出SystemVRelease4(第五版本的第四次正式发布产品)之后,它和伯克利的4.3BSD已经形成了当前Unix的两大流派。
此时,AT&
T认识到了Unix价值,因此他起诉包括伯克利在内的很多厂商,伯克利不得不推出不包含任何AT&
T源代码的4.4BSDLite,这次司法起诉也使很多Unix厂商从BSD转向了SystemV流派。
这个时期的另一个事件是Linux的出现,一个完全免费的与Unix兼容的操作系统,运行在非常普及的个人计算机硬件上。
Linux已经有500多万用户,成为仅次于Windows的第二大操作系统。
贰.Linux
1991年,芬兰赫尔辛基大学的学生LinusBenedictTorvalds为了实习MINIX(AndrewS.Tanenbaum所创的一种“微型”的、主要供研究教学使用的PCUNIX),在自己使用的486微机上开始试验开发一套比MINIX功能更强、能在低档微机上运行、对硬件要求不高而又能支持在PC上被广泛使用的众多外围设备的PCUNIX系统,他将这个摇篮中的系统称为“LINUX”。
1991年10月,Linus通过INTERNET公布了他的第一个“作品”——LINUX0.02版,他将之放在互联网上的一个FTP服务器里供其他人自由下载,并在USENET讨论区comp.os.minix发布了相关消息。
很快,这个由个人开发的自由操作系统吸引了众多网络冲浪者的注意,在众多价格不菲的商业操作系统充斥市场的年代里,LINUX的出现无疑带来一股清新气息。
许多人(他们中不乏高级专业人才)开始在这个系统上工作:
有的测试和修正核心的错误;
有的给核心增加新的功能;
有的开发或移植应用软件;
有的为其编写新的硬件驱动程序;
而有的则为其编写使用文档。
LINUX以前所未有的速度蓬勃发展,一段时间后,LINUX的支持者几乎已经遍布全球,参与开发的成员也呈专业分工之势,LINUX的核心版本几乎每两个星期就更新一次,这种发展速度一直维持到今天,其蓬勃的生命力是其它任何商业操作系统所不能媲美的。
LINUX诞生历程成为计算机发展历上的一个传奇故事。
一 .linux操作系统文件目录
随着linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。
如果想熟练使用linux,让Linux听命于自己,就必须掌握这些目录,下面就以Xteam公司的最新产品——Xteamlinux4.0为例,介绍一下在该系统下的目录。
/binbin是Binary的缩写。
这个目录存放着最经常使用的命令。
/boot这里存放的是启动linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
/devdev是Device(设备)的缩写。
该目录下存放的是linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。
几乎所有的应用程序都需要用到这些共享库。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/mnt在这里面中有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。
/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可