2023年北航软院复试笔试和面试准备_第1页
2023年北航软院复试笔试和面试准备_第2页
2023年北航软院复试笔试和面试准备_第3页
2023年北航软院复试笔试和面试准备_第4页
2023年北航软院复试笔试和面试准备_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面试计算机网络1.什么是数字证书数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或平常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(CertificateAuthority)中心发行的,人们可以在网上用它来辨认对方的身份。数字证书是一个经证书授权中心数字署名的包含公开密钥拥有者信息以及公开密钥的文献。最简朴的证书包含一个公开密钥、名称以及证书授权中心的数字署名。2.木马和蠕虫的区别病毒“指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且可以自我复制的一组计算机指令或者程序代码”。病毒必须满足两个条件:

1、它必须能自行执行。它通常将自己的代码置于另一个程序的执行途径中。

2、它必须能自我复制。例如,它也许用受病毒感染的文献副本替换其他可执行文献。病毒既可以感染桌面计算机也可以感染网络服务器。蠕虫(worm)是病毒中的一种,但是它与普通病毒之间有着很大的区别。一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特性,如不运用文献寄生(有的只存在于内存中),对网络导致拒绝服务,以及和黑客技术相结合,等等。普通病毒需要传播受感染的驻留文献来进行复制,而蠕虫不使用驻留文献即可在系统之间进行自我复制,普通病毒的传染能力重要是针对计算机内的文献系统而言,而蠕虫病毒的传染目的是互联网内的所有计算机。木马是病毒的一种,病毒是一种破坏性的程序。病毒破坏你的信息,而木马窃取你的信息。特洛伊木马与病毒的重大区别是特洛伊木马不具传染性,它并不能像病毒那样复制自身,也并不"刻意"地去感染其他文献,它重要通过将自身伪装起来,吸引用户下载执行。操作系统1、TCP三次握手的过程基于TCP协议传输数据之前,为确认连接正常,会通过三次握手来建立虚连接,连接建立完毕后才干进行数据的传输。三次握手的过程如下:一方面由发起端发送连接请求;当接受方收到连接请求后,假如批准建立连接会回复应答报文;然后发送方收到此应答报文,会发送对此应答报文的确认信息。通过这种三次握手的过程来在数据发送的初期建立连接,保障数据的正常传输。2.库函数调用和系统调用的区别函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。你要保证弄懂“trap(自陷)”这个关键字的含义。系统调用是在操作系统内核发现一个“trap”或中断后进行的。在所有的ANSIC编译器版本中,C库函数是相同的各个操作系统的系统调用是不同的它调用函数库中的一段程序(或函数)它调用系统内核的服务与用户程序相联系是操作系统的一个入口点在用户地址空间执行在内核地址空间执行它的运营时间属于“用户时间”它的运营时间属于“系统”时间属于过程调用,调用开销较小需要在用户空间和内核上下文环境间切换,开销较大在C函数库libc中有大约300个函数在UNIX中大约有90个系统调用典型的C函数库调用:systemfprintfmalloc典型的系统调用:chdirforkwritebrk;库函数调用通常比行内展开的代码慢,由于它需要付出函数调用的开销。但系统调用比库函数调用还要慢很多,由于它需要把上下文环境切换到内核模式。3.工作集的定义和作用所谓工作集是指进程已映射的物理内存部分(即这些内存块全在物理内存中,并且CPU可以直接访问),尚有一部分不在工作集中的虚拟内存则也许在转换列表中(CPU不能通过虚地址访问,需要Windows映射之后才干访问),尚有一部分则在磁盘上的页面文献里。 工作集在进程运营时会被Windows自动调整,频繁访问的页面(4KB的块)会留在内存中,而不频繁访问的页面在内存紧张时会被从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文献中。当应用程序再次访问某一页面时,操作系统会将它重新加回工作集中。进程与线程计算机的核心是CPU,它承担了所有的计算任务。单个CPU一次只能运营一个任务。进程代表CPU所能解决的单个任务。任一时刻,CPU总是运营一个进程,其他进程处在非运营状态。一个进程可以涉及多个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运营效率。一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。一个线程使用某些共享内存时,其他线程必须等它结束,才干使用这一块内存。"互斥锁"(Mutualexclusion,缩写Mutex),防止多个线程同时读写某一块内存区域。某些内存区域,只能供应固定数目的线程使用。操作系统的设计,因此可以归结为三点:(1)以多进程形式,允许多个任务同时运营;(2)以多线程形式,允许单个任务提成不同的部分运营;(3)提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。5.cpu最小时钟周期时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期表达了SDRAM所能运营的最高频率。SDRAM全称为“SynchronousDynamicrandomaccessmemory”,在电脑系统上为同步内存的意思。理论上,SDRAM与CPU在同一个时钟周期里运营。时钟周期是计算机中最基本的、最小的时间单位。CPU工作的最小时间单位。在一个时钟周期内,CPU仅完毕一个最基本的动作。进程调度无论是在批解决系统还是分时系统中,用户进程数一般都多于解决机数、这将导致它们互相争夺解决机。此外,系统进程也同样需要使用解决机。这就规定进程调度程序按一定的策略,动态地把解决机分派给处在就绪队列中的某一个进程,以使之执行。从就绪的进程中选出最适合的一个来执行。1.等待态:等待某个事件的完毕;2.就绪态:等待系统分派解决器以便运营;3.运营态:占有解决器正在运营。也许引起进程切换的中断因素有:时钟中断、设备I/O中断信号、系统调用等所谓批解决(batchprocessing)就是将作业按照它们的性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完毕后再输出结果,从而减少作业建立和结束过程中的时间浪费。根据在内存中允许存放的作业数,批解决系统又分为单道批解决系统和多道批解决系统。批解决系统(batchprocessingsystem)中,一个作业可以长时间地占用cpu。而分时系统中,一个作业只能在一个时间片(TimeSlice,一般取100ms)的时间内使用cpu。分时操作系统(time-sharingsystem),“分时”的含义:分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。软件工程1.什么是白盒测试?什么是黑盒测试?区别是什么?白盒测试也叫做alpha测试,是指程序设计员为了验证程序的逻辑过程而进行的测试,因知道内部原理而得名。黑盒测试也beta测试,是由客户(使用者)进行的测试,目的在于检查程序的功能,因不知道其内部结构而得名。代码可见不可见的区别:黑盒不管代码,只测试功能;白盒要判断程序代码逻辑结构。面向对象软件工程特点1与人类习惯思维方法一致2稳定性好3可重用性好4较易开发大型软件产品5可维护性好需求分析所谓"需求分析",是指对要解决的问题进行具体的分析,弄清楚问题的规定,涉及需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是拟定要计算机“做什么”,要达成什么样的效果。可以说需求分析是做系统之前必做的。UML建模语言UnifiedModelingLanguage(UML)又称统一建模语言或标准建模语言。它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,涉及由需求分析到规格,到构造和配置。UML提出了一套IT专业人员期待数年的统一的标准建模符号。通过使用UML,这些人员可以阅读和交流系统架构和设计规划--就像建筑工人数年来所使用的建筑设计图同样。顺序图顺序图是将交互关系表达为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表达。当对象存在时,角色用一条虚线表达,当对象的过程处在激活状态时,生命线是一个双道线。eg.一次学生的注册数据库1.什么是事务解决?事务解决(TRANSACTION)是由一个或多个SQL语句序列结合在一起所形成的一个逻辑解决单元。事务解决中的每个语句都是完毕整个任务的一部分工作,所有的语句组织在一起可以完毕某一特定的任务。DBMS在对事务解决中的语句进行解决时,是按照下面的约定来进行的,这就是“事务解决中的所有语句被作为一个原子工作单位,所有的语句既可成功地被执行,也可以没有任何一个语句被执行”。2.DBA的作用数据库管理员(DatabaseAdministrator,简称DBA),是一个负责管理和维护数据库服务器的人。数据库管理员负责全面管理和控制数据库系统。3.数据库三级模式人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它涉及外模式、概念模式、内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。用户级相应外模式,概念级相应概念模式,物理级相应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观测、结识和理解数据的范围、角度和方法,是数据库在用户“眼中"的反映,很显然,不同层次(级别)用户所“看到”的数据库是不相同的。什么是数据模型数据(data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(DataModel)是数据特性的抽象,是数据库管理的教学形式框架。数据模型所描述的内容涉及三个部分:数据结构、数据操作、数据约束。

1)数据结构:数据模型中的数据结构重要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。

2)数据操作:数据模型中数据操作重要描述在相应的数据结构上的操作类型和操作方式。

3)数据约束:数据模型中的数据约束重要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的对的、有效和相容。数据模型按不同的应用层次提成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。

1、概念数据模型(ConceptualDataModel):简称概念模型,是面向数据库用户的实现世界的模型,重要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(DatabaseManagementSystem,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才干在DBMS中实现。

2、逻辑数据模型(LogicalDataModel):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(NetworkDataModel)、层次数据模型(HierarchicalDataModel)等等。此模型既要面向用户,又要面向系统,重要用于数据库管理系统(DBMS)的实现。

3、物理数据模型(PhysicalDataModel):简称物理模型,是面向计算机物理表达的模型,描述了数据在储存介质上的组织结构,它不仅与具体的DBMS有关,并且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起相应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完毕,而设计者只设计索引、聚集等特殊结构。

在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。在逻辑数据类型中最常用的是层次模型、网状模型、关系模型。事务解决事务是这样一种机制,它保证多个SQL语句被当作单个工作单元来解决。事务具有以下的作用:

*一致性:同时进行的查询和更新彼此不会发生冲突,其他用户不会看到发生了变化但尚未提交的数据。

*可恢复性:一旦系统故障,数据库会自动地完全恢复未完毕的事务。关系数据库的定义用二维表结构来表达实体及实体之间的联系的数据模型。将现实世界的实体以及实体间的各种联系均用关系来表达。从用户角度,关系模型中数据的逻辑结构是一张二维表。编译原理句子和句型的定义以及区别句型句子的结构类型。句子——设G是一个给定的文法,S是文法的开始符号,假如Sx(其中x∈VT*),则称x是文法的一个句子。句型——设G是一个给定的文法,S是文法的开始符号,假如Sx(其中x∈V*),则称x是文法的一个句型。V为属性的有穷集,Vt表达终结符集合,Vn表达非终结符集合,V表达文法符号集合(即既包含终结符,也包含非终结符.S(start)也是一个非终结符,然后大写的为非终结符,小写的为终结符V是一个符号集合,假设V指的是三个符号a,b,c的集合,记为V={a,b,c}

V*读作“V的闭包”,它的数学定义是V自身的任意多次自身连接(乘法)运算的积,也是一个集合。也就是说,用V中的任意符号进行任意多次(涉及0次)连接,得到的符号串,都是V*这个集合中的元素。

0次连接的结果是不含任何符号的空串,记为ε

1次连接就是只有一个符号的符号串,比如,a,b,c

2次连接是两个符号构成的符号串,比如,aa,ab,ac,ba,bb,bc,等等...文法是编译原理的基础,是描述一门程序设计语言和实现其编译器的方法.文法定义:乔姆斯基将所有文法都定义为一个四元组:

G=(VN,VT,P,Z)

VN:非终结符号集VT:终结符号集P:产生式或规则的集合Z:开始符号(辨认符号),Z∈VN

文法和语言分类:0型、1型、2型、3型这几类文法的差别在于对产生式施加不同的限制。C语言和数据结构1.什么是树?什么是图?树和图有什么区别?树和图都是非线性的数据结构。图相对于树来说,是更加抽象和复杂的。可以认为树是图的基础,树是一种更简朴意义上的图。

在树型结构中,每一个数据元素都也许和下一层中多个元素(即孩子结点)相关,但却只能与上一层中的一个元素(即双亲结点)相关。而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据之间都也许相关。2.完全二叉树和满二叉树的区别完全二叉树的定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一相应时,称为完全二叉树。

特点:叶子结点只也许在层次最大的两层上出现;对任一结点,若其右分支下子孙的最大层次为l,则其左分支下子孙的最大层次必为l或l+1

满二叉树:一棵深度为k,且有2的(k)次方-1个节点的二叉树

特点:每一层上的结点数都是最大结点数。哪种二叉树数与存储结构有关线索二叉树。n个结点的二叉链表中具有n+1(2n-(n-1)=n+1)个空指针域。运用二叉链表中的空指针域,存放指向结点在某种遍历顺序下的前趋和后继结点的指针(这种附加的指针称为"线索")。4.选择编程语言所依据的规则在选择编程语言时以下事情应当考虑:常规特性:性能、兼容性、操作……l团队大小l代码多少l代码的寿命l应用领域l工具:选择语言考虑的最后一个问题是工具的支持。一个合适的编辑器对于你编程所起的作用不亚于语言自身的语法.1.汇编是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是运用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。2.C适于快而小的程序,但不支持面向对象的编程。自从C发明了以后,它就取代了汇编语言在操作系统编程的领导地位。从性能上说,除了汇编语言,C语言是最接近机器的语言。各种操作系统的编程接口的默认语言都是C语言。因此,用C语言编程,可以最大限度发挥操作系统的能力。同时,由于绝大部分的商品软件都是C或与C兼容的C++实现的,都有C编程接口,可以说,没有C不能实现的功能。缺陷是在公司级开发中,几乎无用武之地。3.C++完全支持面向对象,但是非常复杂。优点在于具有大量的库,如MFC,可直接调用windows库函数干很多事情。C语言进化而来的,有强大的功能,举例吧:软件:微软的Office系列Macromedia网页三剑客-flash,dreamweaver,fireworksAdobe出的超有名的作图软件-PhotoShop3D动画软件-3DMax游戏:PC平台几乎所有的游戏星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界....那数不胜数了,自己数吧:)以上均出自C++之手,因素是C++靠近计算机底层,编写出来的程序对系统资源依赖较小,功能强大,运营速度快,比如你的两个朋友与你分别玩用VB、Java、与C++编写的“跑跑卡丁车”,你玩C++那款游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相称的卡啊,所以这一系列的软件、游戏都会采用C++编写。虽然C++很有优点,但是对于学习者来说应当是比较困难的一门语言。(再说明一点,C或C++属于语言,而VC-“VisualC++”是用来编写C或C++的工具)4.VisualBasic与Delphi易学,但不可移植且有专利权。VisualBasic(简称VB)VB是快速的界面生成语言,是快速的数据库程序开发语言。vba是vb的应用版,嵌入在MSoffice中。编写MSoffice上的程序很好用。缺陷是只能在Windows平台运作。DelphiKylix和vb同样是快速开发环境,但性能更好,功能更强大,亦可以用于Linux平台。语法建基于Pascal,是面向对象的程序语言5.Java商业编程语言。有很多简洁的功能,但是慢。创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序起作用。Java作为现代语言,具有非常丰富的语法特性,如模块和类,不像C随操作系统和编译器的不同有极大差异。Java所有的API都是类库,相对C的函数来说,是非常大的进步。缺陷是要学的技术太多,二是在底层开发中不行。Java开发的软件大部分是面向事业单位、公司及公司的,它的功能同样强大,结构比C++清楚,学习起来比C++简朴多了,并且是跨平台运营的程序,用Java开发出来的软件可以在世界几乎所有的系统上运营(涉及Linux、掌上电脑、手机等),但正由于如此,使之运营时会比C++开发的软件要慢。6.Web类的大体说下流行的phpjspasp三者从数据库操作上而言,jsp>php>asp从目前市场角度来说,asp几乎垄断了中小型市场。而asp漏洞百出,因素也是市场片面比较大,垃圾程序较多。学java,学的不仅仅是技术,而是一种思想

架构项目的思想

所以java是培养架构师,培养System

Designer,Project

Manager的

c语言和c++只能培养技术专家,资深程序员。笔试1.UML在UML2中有二种基本的图范畴:结构图和行为图。每个UML图都属于这二个图范畴。结构图的目的是显示建模系统的静态结构。它们涉及类,组件和(或)对象图。另一方面,行为图显示系统中的对象的动态行为,涉及如对象的方法,协作和活动之类的内容。行为图的实例是活动图,用例图和序列图。1.1用例图用例图重要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户可以观测到的系统功能模型图。【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。用例图所包含的元素如下:1.参与者(Actor)表达与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表达。2.用例(UseCase)用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表达。3.子系统(Subsystem)用来展示系统的一部分功能,这部分功能联系紧密。4.关系用例图中涉及的关系有:关联、泛化、包含、扩展。如下表所示:a.关联(Association)表达参与者与用例之间的通信,任何一方都可发送或接受消息。【箭头指向】:指向消息接受方b.泛化(Inheritance)就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。【箭头指向】:指向父用例c.包含(Include)包含关系用来把一个较复杂用例所表达的功能分解成较小的环节。【箭头指向】:指向分解出来的功能用例d.扩展(Extend)扩展关系是指用例功能的延伸,相称于为基础用例提供一个附加功能。【箭头指向】:指向基础用例e.依赖(Dependency)以上4种关系,是UML定义的标准关系。但VS2023的用例模型图中,添加了依赖关系,用带箭头的虚线表达,表达源用例依赖于目的用例。【箭头指向】:指向被依赖项5.项目(Artifact)用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人可以通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2023中引入了“项目”这样一个元素,以便让开发人员可以在用例图中链接一个普通文档。用依赖关系把某个用例依赖到项目上:然后把项目-》属性的Hyperlink设立到你的文档上;这样当你在用例图上双击项目时,就会打开相关联的文档。6.注释(Comment)包含(include)、扩展(extend)、泛化(Inheritance)的区别:条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;一个用例图示例:1.2类图在UML的静态机制中类图是一个重点,它不仅是设计人员关心的核心,更是实现人员关注的核心。建模工具也重要根据类图来产生代码。类的属性、操作中的可见性使用+、#、-分别表达public、protected、private。类之间的关系是类图中比较复杂的内容。有泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。1.泛化(Generalization)【泛化关系】:是一种继承关系,是“a-kind-of”关系,定义一般元素和特殊元素之间的分类关系。表达一般与特殊的关系,它指定了子类如何特化父类的所有特性和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。【箭头指向】:带三角箭头的实线,箭头指向父类2.实现(Realization)【实现关系】:是一种类与接口的关系,表达类是接口所有特性和行为的实现.【箭头指向】:带三角箭头的虚线,箭头指向接口3.关联(Association)【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。【代码体现】:成员变量【箭头及指向】:带普通箭头的实心线,指向被拥有者上图中,老师与学生是双向关联,老师有多名学生,学生也也许有多名老师。但学生与某课程间的关系为单向关联,一名学生也许要上多门课程,课程是个抽象的东西他不拥有学生。下图为自身关联:关联的一方关联对象位于直线的上端,关联数目位于同侧的直线下端,另一方则相反

多重值和它们的表达表达含义0..10个或1个1只能1个0..*0个或多个*0个或多个1..*1个或多个3只能3个0..50到5个5..155到15个4.聚合(Aggregation)【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。【代码体现】:成员变量【箭头及指向】:带空心菱形的实心线,菱形指向整体5.组合(Composition)【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它规定普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。【代码体现】:成员变量【箭头及指向】:带实心菱形的实线,菱形指向整体聚合和组合的区别:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表达整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。6.依赖(Dependency)【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.假如类A和类B有关联关系,它们之间必然有依赖关系。【代码表现】:局部变量、方法的参数或者对静态方法的调用【箭头及指向】:带箭头的虚线,指向被使用者各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖下面这张UML图,比较形象地展示了各种类图关系:【类图说明】reader类是借阅者的类,它的属性很多,涉及借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中重要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。admin类是管理员类,他有编号和姓名属性,操作重要是书籍的增删改和读者的增删改等等。(3)Title类是记录书目信息的类,涉及书籍的名字(name)、作者(author)、book_id等属性。(4)Item类是具体某本书的类,属性涉及书籍号(id)。操作涉及预订(reserve)、按书目查找(find_on_title)等。(5)borrow类是某本书的借阅信息类,涉及所借阅书籍的ISBN、借阅的时间(date)等。(6)Reservation类是预订信息类,每个预订信息涉及预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。(7)persistentstore类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要通过其存储类。图书馆管理系统的类图及关系如下:1.3流程图-活动图活动图是一种工作流程图。1:初始节点,活动最终节点,操作,连接符<1>初始节点:在绘制活动图中,总有一个起始点,在UML的规范中用”实心圆点“表达。<2>活动最终节点:有起点就必然存在终点,在UML中用”空心圆点“表达。<3>操作:是活动图中的一个基本环节,具有原子性。<4>连接符:操作之间的过渡我们用”连接符“进行连接。下面做个简朴的例子加深下印象,这个也是最简朴的活动图。2:注释良好的代码习惯是二行一注释,在UML中同样也存在注释,道理都同样,帮助团队理解。3:对象节点一方面看下专业的解释:假如一个操作执行结束之后生成了某些数据需要传递给下一个目的操作,此时需要用对象节点表达。相应到上面案例就是我们需要在”登陆界面“和”登陆后台“中间插一个”登陆信息“的对象节点,这个也就是”登陆界面“产生的数据。4:决策节点和合并节点<1>决策节点:在工具箱中我们看到决策节点使用”菱形“来表达的,也非常好理解,决策嘛,不就是抉择,一条边进,多条边出。<2>合并节点:既然放在一起讲,它们肯定有关联,多条边进,一条边出,比如在很多页面中都有传送门让我们进入登陆页面。假如眼尖的话已经看到了”连接符"旁边的提醒信息,这个也就是“警示信息”,设立方法很简朴,选中“连接符”,按F4打开“属性窗口”,然后在Guard字段中设立值即可。5:分叉节点和联接节点这两个节点是真的需要同对出现,用途跟“决策和合并”非常类似,分叉节点是一条边进,多条边出,联接节点是多条边进,一条边出,只但是有一点不同样的就是,联接节点需要等待“分叉节点”的所有边都到达后整个流程才干继续进行下去。相应上图中,我们登录成功后,进入了分叉节点,此时我们需要干两件事情,“签到”和“发微博“,假如只做了其中某一件事情,整个流程都会解决中断状态,直到两件事都已做完,,是不是有点多线程的味道。图书馆管理系统的借书活动图1.4ER图实体-联系图(Entity-RelationDiagram)用来建立数据模型。通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。

ER图提供了表达实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。

构成E-R图的基本要素是实体、属性和联系,其表达方法为:

˙实体型:用矩形表达,矩形框内写明实体名;

˙属性:用椭圆形表达,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;

˙联系:用菱形表达,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型

在E-R图中要明确表白1对多关系,1对1关系和多对多关系。

˙1对1关系在两个实体连线方向写1;

˙1对多关系在1的一方写1,多的一方写N;

˙多对多关系则是在两个实体连线方向各写N,MER图缺陷不能很好表达单向和双向关系图书馆管理系统数据库建模图书馆管理系统各实体之间的ER图1.5数据流图数据流图(DataFlowDiagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的重要表达工具及用于表达软件模型的一种图示方法。数据流程图中有以下几种重要元素:→:数据流。数据流是数据在系统内传播的途径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应当用名词或名词短语命名。□:数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。如数据表。○:对数据的加工(解决)。加工是对数据进行解决的单元,它接受一定的数据输入,对其进行解决,并产生输出。〓:数据存储。表达信息的静态存储,可以代表文献、文献的一部分、数据库的元素等。DataStoreDataStore顶层一层SQL语句1数据的创建createdatabasedb1;2删除数据库dropdatabasedb1;3使用数据库usedb1;4创建数据表创建带有约束的表createtablestudent1( --描述表的每一列 --列名类型数据约束, sidintegerprimarykeyauto_increment, namevarchar(10) notnull, sexvarchar(10)default'male');4-1:删除表droptableusers;5(select)查询数据的操作select*fromusers;行筛选(筛选) select*fromusers wheresex='male';列筛选(投影)selectusername,sexfromusers//查询男生的姓名selectusernamefromuserswheresex='male';6(insert)插入操作 insertintousers(username,password,sex)values('haha','123456','male');7(update)更新操作(修改) updateuserssetsex='女',password='' whereusername='haha';8(delete)删除操作 deletefromuserswhereusername='haha'数据传递过程的协议描述传输协议中各层都为上一层提供业务功能。为了提供这种业务功能,下一层将上一层中的数据并入到本层的数据域中,然后通过加入报头或报尾来实现该层业务功能,该过程叫做数据封装。用户的数据要通过一次次包装,最后转化成可以在网络上传输的信号,发送到网络上。当到达目的计算机后,再执行相反的拆包过程。下层可以向上层提供的服务有两种形式:面向连接的服务(TCP)和无连接的服务(UDP)。TCP:传输控制协议,当传输出现错误时能自动予以纠正;UDP:用户数据包协议,当传输出现错误时会将错误信息丢弃;UDP方式比TCP方式有更强大的容错性,采用UDP的话,它的缓冲速度比TCP快45%,并且可以大大的节省网络共享带宽,当网络出现不稳定期,不会经常出现缓冲,所以不少影视节目采用UDP方式传送。双方在数据传输中必须遵守的规则。数据传递过程:(1)寻址。当一个应用程序希望与另一个应用程序传输数据时,必须指明是与哪个应用程序相连。寻址的方法一般采用定义传输地址。因特网传输地址由IP地址和主机端标语组成。(2)建立连接。在实际的网络应用中,采用三次握手的算法,并增长某些条件以保证建立起可靠的连接。增长的条件是:所发送的报文都要有递增的序列号;对每个报文设立一个计时器,设定一个最大时延,对那些超过最大时延仍没有收到确认信息的报文就认为已经丢失,需要重传。(3)释放连接。也采用三次握手的算法。OSI,OpenSystemInterconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型。MAC(MediaAccessControl)地址,或称为MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC地址。IP地址和MAC地址相同点是它们都唯一,不同的特点重要有:1.对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分派IP地址为12,也可以将它改成00。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。2.长度不同。IP地址为32位,MAC地址为48位。3.分派依据不同。IP地址的分派是基于网络拓扑,MAC地址的分派是基于制造商。4.寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)描述在OSI参考模型中(OSI模型的七层协议)数据传输的基本过程一方面从计算机里面的数据出发,比如QQ写入的信息是最原始的,也就是应用层的工作,然后是表达层,传输的编码,是用什么编码传输数据,还涉及加密的过程。而会话层则重要进行端对端的连接的建立维持和断开.这三部分是端对端的连接。下一层是传输层,重要涉及端口和进程,表达用什么进程连接通信,比如说对方用QQ进行信息传递,而这边有QQ,msn,yahoo,那么为什么就只有QQ可以接受到信息呢?这个功能辨认就是靠传输层的作用了.下面三层是点到点的连接.网络层写上ip,指明数据传输的路,是快速的寻址,能快速找到去往的路.数据链路层是在网络层封装的基础上封装MAC地址,是精确的寻址方式。物理层通过规定物理设备和物理媒体之间的接口技术,实现物理设备之间的比特流透明传输(涉及DTE-DTE和DCE-DCE之间的比特流传输)。建立、维持和释放物理连接(标记物理连接、选择服务质量:速率、延迟、传输误码率等),并在物理连接上透明传输比特流(涉及排序和故障告知等)HTTP协议HTTP协议即超文本传送协议。超文本传输协议(HTTP-Hypertexttransferprotocol)是一种具体规定了浏览器和万维网服务器(WWW服务器)之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。无状态是指协议对于事务解决没有记忆能力。缺少状态意味着假如后续解决需要前面的信息,则它必须重传,这样也许导致每次连接传送的数据量增大。HTTP是“请求-响应”的工作模式。4.1HTTP协议格式涉及Client向Server的请求消息和Server向Client的响应消息。协议消息由起始行,头域和可选的消息体组成。HTTP请求协议(报文)的一般格式——由三部分组成,分别是:请求行、消息报头(请求头)、请求正文(请求体) 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:MethodRequest-URIHTTP-VersionCRLF其中Method表达请求方法;Request-URI是一个统一资源标记符;HTTP-Version表达请求的HTTP协议版本;CRLF表达回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)HTTP响应协议的一般格式——也是由三个部分组成,分别是:状态行、消息报头、响应正文1.响应头第一行也称为状态行,格式如下:HTTP-Version空格Status-Code空格Reason-PhraseCRLFHTTP-Version表达HTTP版本,例如为HTTP/1.1。Status-Code是结果代码,用三个数字表达。Reason-Phrase是个简朴的文本描述,解释Status-Code的具体因素。Status-Code用于机器自动辨认,Reason-Phrase用于人工理解。Status-Code的第一个数字代表响应类别,也许取5个不同的值。后两个数字没有分类作用。Status-Code的第一个数字代表响应的类别(消息(1字头)成功(2字头)重定向(3字头)请求错误(4字头)服务器错误(5字头)),后续两位描述在该类响应下发生的具体状况。2、响应报头后述3、响应正文就是服务器返回的资源的内容HTTP消息报头(即头域)涉及普通报头(Cache-Control)、请求报头(Accept、Authorization、Host、User-Agent)、响应报头(Location、Server)、实体报头(Content-Encoding、Content-Language、Content-Length、Content-Type、Last-Modified、Expires))。HTTP报文由请求行或状态行组成,后面是信息头和主体。请求报文的格式由请求行、通用信息头、请求头、实体头、信息主体组成。响应报文由响应行、通用信息头、响应头、实体头、信息主体组成。为了指示IE浏览器(客户端)不要缓存页面,服务器端的JSP程序可以编写如下:response.sehHeader("Cache-Control","no-cache");请求报头举例:GET/form.htmlHTTP/1.1(CRLF)Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*(CRLF)Accept-Language:zh-cn(CRLF)Accept-Encoding:gzip,deflate(CRLF)If-Modified-Since:Wed,05Jan202311:21:25GMT(CRLF)If-None-Match:W/"80b1a4c018f3c41:8317"(CRLF)User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.0)(CRLF)Host:.(CRLF)Connection:Keep-Alive(CRLF)(CRLF)响应报头举例:WWW-Authenticate:Basicrealm="BasicAuthTest!"//可以看出服务器对请求资源采用的是基本验证机制。实体报头举例:eg:为了让浏览器不要缓存页面,我们也可以运用Expires实体报头域,设立为0,jsp中程序如下:response.setDateHeader("Expires","0");常用的实体报头Content-Encoding实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。Content-Encoding这样用于记录文档的压缩方法,eg:Content-Encoding:gzipContent-Language实体报头域描述了资源所用的自然语言。没有设立该域则认为实体内容将提供应所有的语言阅读者。eg:Content-Language:daContent-Length实体报头域用于指明实体正文的长度,以字节方式存储的十进制数字来表达。Content-Type实体报头域用语指明发送给接受者的实体正文的媒体类型。eg:Content-Type:text/html;charset=ISO-8859-1Content-Type:text/html;charset=GB2312Last-Modified实体报头域用于指示资源的最后修改日期和时间。Expires实体报头域给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和减少服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。eg:Expires:Thu,15Sep202316:23:12GMTHTTP协议消息结构图:HTTP协议-请求报文格式:HTTP协议-相应报文格式:4.2HTTP协议解决错误请求的过程浏览器向服务器发出请求,服务器解决也许成功,也许是失败,也许没有权限访问等因素,服务器会通过相应状态码来告诉浏览器解决结果。响应头第一行也称为状态行,格式如下:HTTP-Version空格Status-Code空格Reason-PhraseCRLFStatus-Code的第一个数字代表响应的类别(消息(1字头)成功(2字头)重定向(3字头)请求错误(4字头)服务器错误(5字头)),后续两位描述在该类响应下发生的具体状况。一些常见的状态码为:1)"200":表达执行成功,返回OK。2)"302":Found重定向。3)"400":BadRquest错误请求,发犯错误的不符合HTTP协议的请求。4)"401":(未授权)请求规定身份验证。对于需要登录的网页,服务器也许返回此响应。5)"403":Forbidden严禁。6)"404":NotFound未找到,演示访问一个不存在的页面看报文。7)"500":InternalServerError服务器内部错误,演示页面抛出异常8)"503":ServiceUnavailable。一般是访问人数过多,可以用12306网站实验同样,也许会得到这个结果。4.3发送分组时协议发送顺序无连接协议(ConnectionlessProtocol)是可以使无连接服务在一个网络中的协议。这个Internet协议(IP)和用户数据包协议(UDP)是最流行的无连接协议。通信协议要么是面向连接的,要么是无连接的。这依赖于信息发送方是否需要与接受方联系并通过联系来维持一个对话(面向连接的),还是没有任何预先联系就发送消息(无连接的)且希望接受方能顺序接受所有内容。这些方法揭示了网络上实现通信的两种途径。在面向连接的方法中,网络负责顺序发送报文分组并且以一种可靠的方法检测丢失和冲突。这种方法被“可靠的”传输服务使用。面向连接的服务更适于需要稳定数据流的应用。在无连接的方法中,网络只需要将报文分组发送到接受点,检错与流控由发送方和接受方解决。无连接方法是设计用于突发的、暂时的通信。这种方法被称作“最佳工作(best-effort)”或“无应答(unacknowledged)”的传输协议所使用。电路互换是建立一条临时的专用通路,使用完以后拆除链接,适合打数据量的实时通信。报文互换不在通信节点建立通路,将信息组合成报文,采用存储-转发机制,线路的运用率高,但延迟大。分组互换是数据包定长的报文互换,互换节点的缓冲区可减小,传播时延也更小;一般分为数据包、虚电路、信元互换。广域网的通信子网重要使用分组互换技术。分组互换也称包互换,它是将用户传送的数据划提成一定的长度,每个部分叫做一个分组。在每个分组的前面加上一个分组头,用以指明该分组发往何地址,然后由互换机根据每个分组的地址标志,将他们转发至目的地,这一过程称为分组互换。进行分组互换的通信网称为分组互换网。从互换技术的发展历史看,数据互换经历了电路互换、报文互换、分组互换和综合业务数字互换的发展过程。分组互换实质上是在“存储—转发”基础上发展起来的。它兼有电路互换和报文互换的优点。分组互换在线路上采用动态复用技术传送按一定长度分割为许多小段的数据—分组。每个分组标记后,在一条物理线路上采用动态复用的技术,同时传送多个数据分组。把来自用户发端的数据暂存在互换机的存储器内,接着在网内转发。到达接受端,再去掉分组头将各数据字段按顺序重新装配成完整的报文。分组互换比电路互换的电路运用率高,比报文互换的传输时延小,交互性好。英语口语1.操作系统的作用操作系统是控制和管理计算机系统内各种硬件和软件资源,合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。Operatingsystemisthecontrolandmanagementcoreofvarioushardwareandsoftwareresourcesofcomputerresources,rationallyorganizecomputersystemstoprovideuserswithaconvenientandscalableworkenvironment,whichplaystheinterfaceroleofconnectingthecomputerandusers.2.软件开发模型对比软件开发模型(SoftwareDevelopmentModel)是指软件开发所有过程、活动和任务的结构框架。软件开发涉及需求、设计、编码和测试等阶段,有时也涉及维护阶段。软件开发模型能清楚、直观地表达软件开发全过程,明确规定了要完毕的重要活动和任务,用来作为软件项目工作的基础下面对瀑布模型增量模型快速原型模型螺旋模型喷泉模型做简要分析。瀑布模型瀑布模型是经典的软件开发模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,假如有信息未被覆盖或者发现了问题,那么最佳“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,每个阶段之间的依赖性强。优点:1)为项目提供了按阶段划分的检查点2)当前一阶段完毕后,只需要去关注后续阶段缺陷:1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增长了工作量;2)与用户见面晚,从而增长了开发的风险;3)初期的错误也许要等到开发后期的测试阶段才干发现,发现问题越晚代价越高合用范围:需求很明确的软件开发项目;在开发时间内需求没有或很少变化;分析设计人员应相应用领域很熟悉;低风险项目(对目的、环境很熟悉);用户使用环境很稳定;用户除提出需求以外,很少参与开发工作增量模型 增量模型是一种非整体开发的模型,分为两种形式:基于瀑布模型的渐增模型;基于原型的快速原型模型增量模型的优点:人员分派灵活,刚开始不用投入大量人力资源。假如核心产品很受欢迎,则可增长人力实现下一个增量客户可以不断地看到所开发的软件,从而减少开发风险缺陷:1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具有开放式的体系结构。2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完毕整个系统的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的规定,开发人员可以拟定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。优点:减少由于软件需求不明确带来的开发风险。缺陷:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改也许会导致产品质量低下。螺旋模型螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析,重要分为四个工作环节:(1)制定计划:拟定软件目的,选定实行方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何辨认和消除风险;(3)实行工程:实行软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。优点:1)设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大型系统,使成本计算变得简朴容易。3)客户始终参与每个阶段的开发,保证了项目不偏离对的方向以及项目的可控性。4)随着项目推动,客户始终掌握项目的最新信息,从而他或她可以和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品缺陷:1)采用螺旋模型需要具有相称丰富的风险评估经验和专门知识,在风险较大的项目开发中,假如未可以及时标记风险,势必导致重大损失。2)过多的迭代次数会增长开发成本,延迟提交时间。喷泉模型喷泉模型是一种以用户需求为动力,以对象为驱动的模型,重要用于描述面向对象的软件开发过程。优点:该模型的各个阶段没有明显的界线,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。缺陷:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型规定严格管理文档,使得审核的难度加大,特别是面对也许随时加入各种信息、需求与资料的情况。WaterfallmodelThewaterfallmodelisasequentialdesignprocess,oftenusedinsoftwaredevelopmentprocesses,inwhichprogressisseenasflowingsteadilydownwards(likeawaterfall)throughthephasesofConception,Initiation,Analysis,Design,Construction,Testing,Production/Implementation,andMaintenance.Thewaterfalldevelopmentmodeloriginatesinthemanufacturingandconstructionindustries;highlystructuredphysicalenvironmentsinwhichafter-the-factchangesareprohibitivelycostly,ifnotimpossible.Sincenoformalsoftwaredevelopmentmethodologiesexistedatthetime,thishardware-orientedmodelwassimplyadaptedforsoftwaredevelopment.[1]ThefirstknownpresentationdescribinguseofsimilarphasesinsoftwareengineeringwasheldbyHerbertD.BeningtonatSymposiumonadvancedprogrammingmethodsfordigitalcomputerson29June1956.[2]ThispresentationwasaboutthedevelopmentofsoftwareforSAGE.In1983thepaperwasrepublished[3]withaforewordbyBeningtonpointingoutthattheprocesswasnotinfactperformedinastricttop-downfashion,butdependedonaprototype.Thefirstformaldescriptionofthewaterfallmodelisoftencitedasa1970articlebyWinstonW.Royce,[4][5]althoughRoycedidnotusetheterm"waterfall"inthisarticle.Roycepresentedthismodelasanexampleofaflawed,non-workingmodel.[6]This,infact,ishowthetermisgenerallyusedinwritingaboutsoftwaredevelopment—todescribeacriticalviewofacommonlyusedsoftwaredevelopmentpractice.[7]Theearliestuseoftheterm"waterfall"mayhavebeena1976paperbyBellandThayer.[8]prototype[ˈprotəˌtaɪp]n.原型,雏形,蓝本;复数:prototypesprohibitively[proˈhɪbɪtɪvlɪ]adv.严禁地;过高地;过度地OperatingsystemAnoperatingsystem(OS)isacollectionofsoftwarethatmanagescomputerhardwareresourcesandprovidescommonservicesforcomputerprograms.Theoperatingsystemisanessentialcomponentofthesystemsoftwareinacomputersystem.Applicationprogramsusuallyrequireanoperatingsystemtofunction.Time-sharingoperatingsystemsscheduletasksforefficientuseofthesystemandmayalsoincludeaccountingsoftwareforcostallocationofprocessortime,massstorage,printing,andotherresources.Forhardwarefunctionssuchasinputandoutputandmemoryallocation,theoperatingsystemactsasanintermediarybetweenprogramsandthecomputerhardware,[1][2]althoughtheapplicationcodeisusuallyexecuteddirectlybythehardwareandwillfrequentlymakeasystemcalltoanOSfunctionorbeinterruptedbyit.Operatingsystemscanbefoundonalmostanydevicethatcontainsacomputer—fromcellularphonesandvideogameconsolestosupercomputersandwebservers.ExamplesofpopularmodernoperatingsystemsincludeAndroid,BSD,iOS,Linux,OSX,QNX,MicrosoftWindows,[3]WindowsPhone,andIBMz/OS.Allthese,exceptWindows,WindowsPhoneandz/OS,sharerootsinUNIX.schedulevt.安排,计划;编制目录;将……列入计划表n.时间表;计划表;一览表[过去式scheduled过去分词scheduled

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论