【文档说明】软件开发平台与工具分解课件.ppt,共(58)页,906.500 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50519.html
以下为本文档部分文字说明:
2022年11月25日星期五•第三章:软件开发平台与工具软件开发技术第1页,共58页。•SAILOR2006copyright/22022年11月25日星期五电子科技大学计算机学院补充•大数据现在是业内炙手可热的话题,随着技术的发展,大数据存储技
术已经不在是难点,但是对大数据如何做好存储后的下一步处理将是未来竞争的焦点,目前比较受欢迎的Storm,Spark,Hadoop三个大数据处理工具都是JVM上的语言写成的。•Spark由Scala写成,是UCBerkeleyAMPlab所开源
的类HadoopMapReduce的通用的并行计算框架,Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点。•Storm由java和clojure写成,storm的优点是全内存计算,因为内存寻址速度是硬盘
的百万倍以上,所以storm的速度相比较hadoop非常快。•hadoop是实现了mapreduce的思想,将数据切片计算来处理大量的离线数据数据。hadoop处理的数据必须是已经存放在hdfs上或者类似hbase的数据库中,所以hadoop实现的
时候是通过移动计算到这些存放数据的机器上来提高效率。第2页,共58页。•SAILOR2006copyright/32022年11月25日星期五电子科技大学计算机学院Spark•Spark是发源于美国加州大学伯克利分校A
MPLab的集群计算平台。它立足于内存计算,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。•Spark已正式申请加入Apache孵化器,从灵机一闪的实验室“电火花”成长为大数据技术平台中异军突起
的新锐。本文主要讲述Spark的设计思想。Spark如其名,展现了大数据不常见的“电光石火”。具体特点概括为“轻、快、灵和巧”。第3页,共58页。•SAILOR2006copyright/42022年11月25日星期五电子
科技大学计算机学院Spark•Spark首先是一种粗粒度数据并行(dataparallel)的计算范式。数据并行的范式决定了Spark无法完美支持细粒度、异步更新的操作。•Spark的计算抽象是数据流,而且是带有工作集(workingset)的数据流。•Spark
的突破在于,在保证容错的前提下,用内存来承载工作集。第4页,共58页。•SAILOR2006copyright/52022年11月25日星期五电子科技大学计算机学院Spark•Spark是UCBerkeleyAMPlab所开源的类HadoopMapRedu
ce的通用的并行计算框架.•Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的mapre
duce的算法。第5页,共58页。•SAILOR2006copyright/62022年11月25日星期五电子科技大学计算机学院Spark•Shark基本上就是在Spark的框架基础上提供和Hive一样的HiveQL命令接口,为了最大程度的保持
和Hive的兼容性,Shark使用了Hive的API来实现queryParsing和LogicPlangeneration,最后的PhysicalPlanexecution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定
的RDD,实现数据重用,进而加快特定数据集的检索。同时,Shark通过UDF用户自定义函数实现特定的数据分析学习算法,使得SQL数据查询和运算分析能结合在一起,最大化RDD的重复使用。第6页,共58页。•SAILOR2006copyright/72022年11月25日
星期五电子科技大学计算机学院目录软件开发工具软件开发平台数据库平台•网络应用开发平台(.Net,Java,J2EE等)•嵌入式开发平台(Linux,Tornado,mobileWin)•Oracle、Sybase、SQLServer、DB2、mySQL•分布式数
据库系统•开发源代码软件•基础开发工具•测试环境与工具第7页,共58页。•SAILOR2006copyright/82022年11月25日星期五电子科技大学计算机学院软件开发平台•网络应用开发平台–.Net–Java–J2EE•嵌入式开发平台–嵌入式操作系统–嵌入式
开发环境–嵌入式开发平台第8页,共58页。•SAILOR2006copyright/92022年11月25日星期五电子科技大学计算机学院.Net•根据微软的定义:.NETisa"revolutionarynewplatform,builtonopenInternetprotocolsandstan
dards,withtoolsandservicesthatmeldcomputingandcommunicationsinnewways".•即:.NET=新平台+标准协议+统一开发工具第9页,共58页。•SAILOR200
6copyright/102022年11月25日星期五电子科技大学计算机学院.Net•.Net作为新一代互联软件和服务战略,将使微软现有的软件在网络时代不仅适用于传统的个人计算机,而且能够满足呈现强劲增长的新设备的需要。到底什么是.Net呢?微软总裁兼首席执行官St
eveBaller把它定义为:.Net代表一个集体,一个环境,一个可以作为平台支持下一代Internet的可编程结构。•.Net的目的是想将任何语言都统一到.Net平台上。最终目的是让用户在任何地方、任何时间,以及利用
任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以了。所有后台的复杂性是完全屏蔽起来的。•.NET是MicrosoftXMLWebservices平台。XMLWebservices允许应用程序通过
Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。第10页,共58页。•SAILOR2006copyright/112022年11月25日星期五电子科技大学计算机学院.Net•对于一个将要面向.NET平台进行开发
的人来说,了解一下.NET平台的整个构成是非常有必要的,如图1所示即说明了.NET平台的整体结构:•这个图就是著名的.NET平台结构图,从这个图上可以看到.NETFramework是在Microsoft.NET平台上开发的基
础ASP.NET、WindowsForms和VS.NET都不过是.NET平台开发的一部分,他用于.NET应用程序的开发及展示。第11页,共58页。•SAILOR2006copyright/122022年11月25
日星期五电子科技大学计算机学院.Net•Windows2000Server在.Net结构中,最重要要的革新就属于WebServices。WebServer构架在WebServer上,能够通过SOAP与用户端联系,并帮助
用户端完成其提供的服务。在.NetFramework中,WebServer就是架构在Windows2000Server中的ISS5.0上的。•SQLServer2000,SQLServer提供完善数据处理功能.包含数据挖
掘,XML的直接Internet支持。目前在WindowsCE中推出了SQLServer2000WindowsCEEdition.•MicrosoftWindowsServerSystem包括:MicrosoftApplicationCenter2000-配置和管理Web应
用程序。MicrosoftBizTalkServer2002-建立基于XML的跨应用和组织的商业逻辑第12页,共58页。•SAILOR2006copyright/132022年11月25日星期五电子科技大学计算机学院.Net•CommerceServer2000能够迅速建立大规模电子商务的
解决方案•MicrosoftContentManagementServer2002–管理动态电子商务网站的目录•MicrosoftExchangeServer2000–用于进行随时随地的通讯协作•MicrosoftHostIntegrationServer2000–用于和主机系统之间传输数
据•MicrosoftInternetSecurityandAccelerationServer2000(ISAServer)–internet连接•MicrosoftMobileInformationSe
rver2002–用于支持手持设备•MicrosoftOperationsManager2000–描述企业级解决方案的操作管理•MicrosoftProjectServer2002-提供项目管理的最佳方案•MicrosoftSharePointPortalServer2001–
查询、共享、发布商业信息•MicrosoftSQLServer2000–企业级数据库•MicrosoftVisualStudio.NET和Microsoft.NETFramework对于建立,发布并运行W
ebServices是一个完美的解决方案。•微软官方的教程。第13页,共58页。•SAILOR2006copyright/142022年11月25日星期五电子科技大学计算机学院Java•Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由SUN公司的詹姆斯·高斯林(JamesGosli
ng)等人于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。•Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游
戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。第14页,共58页。•SAILOR2006copyright/152022年11月25日星期五电子科技大学计算机学院Java•Java分为三个
体系:•JavaSE(JavaPlatformStandardEdition,java平台标准版)。JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开
发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。•JavaEE(JavaPlatformEnterpriseEdition,java平台企业版)。这个版本
以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业
级的面向服务体系结构(SOA)和Web2.0应用程序。•JavaME(JavaPlatformMicroEdition,java平台微型版)。JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供
一个健壮且灵活的环境。JavaME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于JavaME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。第15页,共58页。•SAILOR2006copyright/
162022年11月25日星期五电子科技大学计算机学院Java(1)Java语言特性面向对象、平台无关性、自动垃圾回收。(2)Java运行环境Java运行时环境,即JavaRuntimeEnvironment,简称JRE,是在任何平台上运行Java编写的程序都需要用到的软件。JRE的成分:Java
类库、综合库文件、用户界面库文件、一个用于执行软件的Java虚拟机、插件,可以在浏览器里面使用、JWS,可以让终端用户连接到互联网、许可文件和文档。(3)集成开发环境IDEBEAWorkshop、IntelliJIDEA、Jbuilder、Jcreator、SUNJavaStudioEnterpr
ise、WebSphereDevelop&DevelopmentStudio商业软件,BlueJ、免费软件,Eclipse、NetBeans免费开源软件第16页,共58页。•SAILOR2006copyright/172022年11月25日星期五电子科技大学计算机学院Java优势:
•与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。•Su
n公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。•Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推
出了与之竞争的.NET平台以及模仿Java的C#语言。•Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。第17页,共58页。•SAILOR2006copyright/18202
2年11月25日星期五电子科技大学计算机学院J2EE•J2EE(企业版)是建立在Java2平台上的企业级应用的解决方案。J2EE技术的基础便是Java2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开
发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。事实上,J2EE已经成为企业级开发的工业标准和首选平台。•J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。J2EE使用多层的分布式应用模型,应用逻辑按
功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。第18页,共58页。•SAILOR2006copyright/192022年11月25日星期五电子科技大学计算机学院J2EEJ2EE的4层模型•运行在客
户端机器上的客户层组件•运行在J2EE服务器上的Web层组件•运行在J2EE服务器上的业务逻辑层组件•运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件J2EE的组件
、服务和API•1)JDBC(JavaDatabaseConnectivity)•2)JNDI(JavaNameandDirectoryInterface)•3)EJB(EnterpriseJavaBean)•4)RMI(RemoteMethodInvoke)第
19页,共58页。•SAILOR2006copyright/202022年11月25日星期五电子科技大学计算机学院J2EE•5)JavaIDL/CORBA(通用对象请求代理架构是软件构建的一个标准)•6)JSP•7)JavaServlet•8)XML•9)JM
S•10)JTS•10)JTA•12)JavaMail•13)JAF(JavaBeansActivationFramework)第20页,共58页。•SAILOR2006copyright/212022年11月25日星期五电子科技大学计算机学院J2EE,J2SE,J2ME的区别•J2EE是Java
2enterpriseedition是Java的一种企业版用于企业级的应用服务开发•J2SE是Java2standardedition是Java的标准版,用于标准的应用开发•J2ME是Java2MicroEdition是Java的微型版,常用于手机上的开发•J2
EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。第21页,共58页。•SAILOR2006copyright/222022年11月25日星期五电子科技大学计算机学院•J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制•2EE使用多
层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。JAVA劣势•劣势:j2EE的架构很完美,第一版软件可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不足,持续的修修补补导致架构的破坏。第22页,共58
页。•SAILOR2006copyright/232022年11月25日星期五电子科技大学计算机学院嵌入式操作系统PalmOS是3Com公司的产品,是专门为掌上电脑设计的,其特点是•1、操作系统的节能功能•2、合理的内存管理•3、PalmOS的数据是以数据库的格式来存储
的WindowsCE是微软开发的,是基于掌上型电脑类的电子设备操作,设计目标是模块化及可伸缩性,实时性能好,通信能力强大,支持多种CPU。其特点是•1、具有灵活的电源管理功能,包括睡眠/唤醒模式。•2、适用了对象存储技术。•3、拥有良好的通信功能。•4
、支持嵌套中断。•5、更好的新城响应功能。•6、256个优先级•7、WindowsCE的API是WIN32API的子集。第23页,共58页。•SAILOR2006copyright/242022年11月25日星期五电子科技大学计
算机学院嵌入式操作系统Linux是一个类似于UNIX的操作系统。是目前最为流行的一种开放源代码的操作系统。三种嵌入式操作系统的比较•LinuxOS与WindowsCE的比较•嵌入式LinuxOS与WindowsCE的比较•PlamOS与WindowsCE的比较第
24页,共58页。•SAILOR2006copyright/252022年11月25日星期五电子科技大学计算机学院嵌入式开发环境•emDebian•Buildroot•uClinux•Scratchbox第25页,共58页。•SAILOR2
006copyright/262022年11月25日星期五电子科技大学计算机学院嵌入式开发平台•x86嵌入式开发平台•arm嵌入式开发平台•其他操作系统•Tornado、WindowsMobile第26页,共58页。•SAILOR2006copyright/272022年11月25
日星期五电子科技大学计算机学院数据库平台•Oracle•Sybase•SQLserver•DB2•mySQL•分布式数据库系统第27页,共58页。•SAILOR2006copyright/282022年11月25日星期五电子科技大学计算机学院O
racle•Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。•Oracle数据库包括Oracle数据库服务器和客户端
。Oracle数据库服务器:OracleServer是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个OracleDB和一个OracleServer实例组成。
它具有场地自治性(SiteAutonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是
具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,第28页,共58页。•SAILOR2006copyright/292022年11月25日星期五电子科技大学计算机学院Oracle•包括启动和关闭数据库;Sys,它是一个DBA用户名,具有最大的数据库操作权限;S
ystem,它也是一个DBA用户名,权限仅次于Sys用户。客户端:为数据库用户操作端,由应用、工具、SQL*NET组成,用户操作数据库时,必须连接到一服务器,该数据库称为本地数据库(LocalDB)。在网络环境下其它服务器上的DB称为
远程数据库(RemoteDB)。用户要存取远程DB上的数据时,必须建立数据库链。Oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存
储结构的存取。第29页,共58页。•SAILOR2006copyright/302022年11月25日星期五电子科技大学计算机学院Oracle•Oracle的特点:•1、Oracle7.X以来引入了共享SQL和多线索服务器体系结构。这减少了Oracle的资源占用,并增强了Oracle的能
力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。•2、提供了基于角色分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。•3、支持大量多媒体数据,如二进制图形
、声音、动画及多维数据结构等。•4、提供了与第三代高级语言的接口软件Pro*系列,能在C语言C++语言等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如POWERBUILD,SQL*FROMS,VISIABASIC等,可以快速开发
生成基于客户端PC平台的应用程序,并具有良好的移植性。第30页,共58页。•SAILOR2006copyright/312022年11月25日星期五电子科技大学计算机学院Oracle•5、提供了新的分布式数据库能力。可通过网络较方便地读/写远端数据库里的数据,并有对称复制的技术。•毫
无疑问,优越的性能是Oracle战胜其他数据库的首要法宝。Oracle优越的性能使得其成为大型应用和超大型系统的首选数据库,而且甲骨文公司从未停止过在这方面的进步。•提供了基于角色的权限管理模式。通过角色管理,大大加强了数据库的安全性,同时,也为DBA提供了更加方便、
快捷的管理用户和权限的途径。可良好地支持大数据存储格式,如图形、音频、视频、动画等媒体格式。•提供了良好的分布式管理功能,用户可以很轻松地实现多数据库的协调工作。提出了独创性的表空间理念。在数据模型方面,Oracle有着区别于其他数据库的表
空间概念。使数据在逻辑上划分得更加清晰,而且具有更大的灵活性.第31页,共58页。•SAILOR2006copyright/322022年11月25日星期五电子科技大学计算机学院Sybase•Sybase是美国Sybase公司在20世纪8
0年代中推出的客户-服务器结构的关系数据库系统,也是世界上第一个真正的基于客户/服务器(Cilent/Server)结构的RDBMS产品。•Sybase中权限由高到低,可将用户分为4种不同的类型,由高到低分别为:系统管理员、数据库属主、数据库对象属主和其他一般用户。当首次安装SybaseS
QLServer时,自动建立系统管理员帐户。系统管理员具有整个系统的最高权利,同时被赋予系统管理角色、系统安全员角色和操作员角色,有权执行所有SQL命题,也是系统数据库Master的属主,可访问所有数据库和数据库对象。第32页,共58页。•SAILOR2006copyr
ight/332022年11月25日星期五电子科技大学计算机学院Sybase一、客户/服务器体系结构•Sybase是一种建立在客户/服务器体系结构上的数据库管理系统。•从硬件角度看,客户/服务器体系结构是指将某项任务在两台或多台机器之间进
行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程序,服务器机(Server)提供客户机使用的各种资源和服务。•从软件角度看,客户/服务器体系结构是把某项应用或软件系统按逻辑功能划分为客户软件部分和服务器软件部分。客户软件部分一般负责数据
的表示和应用,处理用户界面,用以接收用户的数据处理请求并将之转换为对服务器的请求,要求服务器为其提供数据的存储和检索服务;服务器端软件负责接收客户端软件发来的请求并提供相应服务。第33页,共58页。•SAILOR200
6copyright/342022年11月25日星期五电子科技大学计算机学院Sybase•客户/服务器融合了大型机的强大功能和中央控制以及PC机的低成本和较好的处理平衡。客户/服务器为任务的集中/局部分布提供了一种新
的方法,这种体系能够使用户对数据完整性、管理和安全性进行集中控制。在缓解网络交通和主机负荷以及满足用户需要方面,客户/服务器体系提供了良好的解决方案。•总之,客户/服务器的工作模式是:客户与服务器之间采用网络协议(如TCP/IP、IPX/SPX)
进行连接和通讯,由客户端向服务器发出请求,服务器端响应请求,并进行相应服务。第34页,共58页。•SAILOR2006copyright/352022年11月25日星期五电子科技大学计算机学院Sybase•二、访问Sybase服务器的基本过程1.建立客户与服务
器之间的连接,包括网络连接、客户进程与服务器进程之间的连接;2.客户端通过网络发送SQL语句给服务器,用来查询或操作服务器中的数据或数据库对象;3.服务器接收到SQL语句后,对其进行语法分析、优化和编译后执行;4.如果执行的
语句产生一个结果集,服务器通过网络把结果集返回给客户;5.客户端对收到的结果作相应的处理。第35页,共58页。•SAILOR2006copyright/362022年11月25日星期五电子科技大学计算机学院Sybase•在客户/服务器
体系,有两种数据库引擎结构,即多进程数据库引擎和单进程、多线程引擎结构。•多进程结构即多个可执行程序同时运行。多进程数据库引擎一般用在大型机数据库上。•单进程多线程数据库引擎在原理上和多进程数据库引擎类似,不同的是多线程数据库引擎自己负责调度各应用程序占用CPU的时间,而不依赖于操作系统。这样,
多线程数据库引擎自我保护的能力更强。第36页,共58页。•SAILOR2006copyright/372022年11月25日星期五电子科技大学计算机学院Sybase三、Sybase产品Sybase软件可划分为三个部分:•一是进行数据管理与维护的联机关系数据库管理系统•SybaseSQLSe
rver;•二是支持数据库应用系统的建立和开发的一组前端工具软件•SybaseSQLTools;•三是可把异构环境下其他厂商的应用软件和任何类型的数据连接在一起•的接口软件OpenClient/OpenServer。•OracleSer
ver是一个真正的多进程数据库引擎,Sybase数据库管理系统采用的是单进程多线程的引擎结构。第37页,共58页。•SAILOR2006copyright/382022年11月25日星期五电子科技大学计算机学院SQLServerSQLServer的基本特
征•SQLServer是个关系数据库管理系统,它具有如下一些基本特征:•a.SQLServer可以放在若干个磁盘设备上,初始安装时所需的磁盘空•间至少要17MB。•b.SQLServer支持多库结构,也就是说Syb
ase系统中可以有多个数•据库。Sybase可以管理多个数据库。•c.SQLServer可以编译和运行T-SQL语句,并可返回客户程序所要求•的结果。T-SQL语句是标准SQL的扩充,它除了有数据定义语句、•数据操纵语句和数据控制语句之外,主要增
加了流程控制语句。•d.SQLServer可以管理多个用户并具有较高的事务吞吐量和较低的事•务响应时间。•客户的应用程序可以存取Server中某一个或几个数据库的数据。第38页,共58页。•SAILOR2006copyright/392022年11月25日星期五电子
科技大学计算机学院SQLServer•sqlserver2005高可用性SQLServer2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。管理工具SQLServer
2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQLServer配置的支持。安全性增强SQLServer2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全
模型等特性,为企业数据提供最高级别的安全性。可伸缩性SQLServer2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。第39页,共58页。•SAILOR2006copyright/402022年11月25日星期五电子科技大学计算机学院DB
2•DB2是IBM公司的产品,起源于SystemR和SystemR*.他支持从PC到UNIX,从中小型机到大型机;从IBM到非IBM(HP及SUNUNIX系统等)各种操作平台。他既可以在主机上以主/从方式独立运行,也可以在客户/服务
器环境中运行。其中服务平台可以是OS/400,AIX,OS/2,HP-UNIX,SUN-Solaris等操作系统,客户机平台可以是OS/2或Windows,Dos,AIX,HP-UX,SUNSolaris等操作系统.•DB2数据库核心又称作DB2公共
服务器,采用多进程多线索体系结构,可以运行于多种操作系统之上,并分别根据相应平台环境作了调整和优化,以便能够达到较好的性能.第40页,共58页。•SAILOR2006copyright/412022年11月25日星期五电子科技大学计
算机学院DB2•DB2核心数据库的特色(1)支持面向对象的编程。DB2支持复杂的数据结构,如无结构文本对象,可以对无结构文本对象进行布尔匹配、最接近匹配和任意匹配等搜索。可以建立用户数据类型和用户自定义函数。(2)支持多媒体应用程序。DB
2支持大二分对象(blob),允许在数据库中存取二进制大对象和文本大对象。其中,二进制大对象可以用来存储多媒体对象。(3)备份和恢复能力(4)支持存储过程和触发器,用户可以在建表时显示的定义复杂的完整性规则(5)支持的硅sql查询(6)支持异构分布式数据库访问(7)支持数据复制第41
页,共58页。•SAILOR2006copyright/422022年11月25日星期五电子科技大学计算机学院mySQL•MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在In
ternet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。•MySQL的特性1.使用C和C++编写,并使用了多种编译器进行测试
,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统3.为多种编程语言提供了API。这些编
程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多线程,充分利用CPU资源5.优化的SQL查询算法,有效地提高查询速度第42页,共58页。•SAILOR2006copyright/432022年
11月25日星期五电子科技大学计算机学院mySQL6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7.提供多语言支持,常见的编码如中文的GB2312、BIG5日文的S
hift_JIS等都可以用作数据表名和数据列名8.提供TCP/IP、ODBC和JDBC等多种数据库连接途径、9.提供用于管理、检查、优化数据库操作的管理工具10.可以处理拥有上千万条记录的大型数据库第43页,共58页。•SAILOR2006copyrig
ht/442022年11月25日星期五电子科技大学计算机学院mySQL•mySQL的应用:与其他大型数据库相比,它的功能不是最全的,架构也不是最完善的。但是其体积小、速度快、总体拥有成本低,尤其是它具备开放源码的优势,迅速成
为中小型企业和网站的首选数据库•分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计算机技术和网络技术结合的产物。分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门.另一种分布式数
据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统,比较适宜于大范围内数据库的集成。第44页,共58页。•SAILOR2006copyright/452022年11月25日星期五电子科技大学计算机学院分布式数
据库系统•DDBS的分类–同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。–同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQLServer等。–异构型DDBS:
各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。第45页,共58页。•SAILOR2
006copyright/462022年11月25日星期五电子科技大学计算机学院分布式数据库系统•DDBS的基本特点:–物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。–逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局
用户)共享,并由一个DDBMS统一管理。–场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。–场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。第
46页,共58页。•SAILOR2006copyright/472022年11月25日星期五电子科技大学计算机学院分布式数据库系统•DDBS的优点:–具有灵活的体系结构–适应分布式的管理和控制机构–经济性能优越–系统的可靠性高、可用性好–局部应用的响应速度快–可
扩展性好,易于集成现有的系统•DDBS的缺点:–系统开销较大,主要花在通信部分。–复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。–数据的安全性和保密性较难处理第47页,共58页。•SAILOR
2006copyright/482022年11月25日星期五电子科技大学计算机学院分布式数据库系统•分布式数据库总的趋势是是客户机越来越“瘦”,变成浏览器;而服务器的种类越来越多,容易实现系统的组装。•分布式系统是在集中式系统的基础上发展而来的。
•DDB是数据库技术与网络技术结合的产物。•分布式透明性是DDBS追求的目标。第48页,共58页。•SAILOR2006copyright/492022年11月25日星期五电子科技大学计算机学院软件开发工具•开放源代码软件•基础开发工具•测试环境与工具第49页,共58页。•SAILOR20
06copyright/502022年11月25日星期五电子科技大学计算机学院开放源代码软件•开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再分发的权利。简而言之,所有公布软件源代码的程序都可
以称为开放源代码软件第50页,共58页。•SAILOR2006copyright/512022年11月25日星期五电子科技大学计算机学院开放源代码软件1.重要人物•RichardStallman——自由软
件运动的精神领袖•LinusTorvalds——Linux操作系统的创造者•EricStevenRaymond——开放源代码运动理论家,Fetchmail软件的创造者,《大教堂与市集》的作者第51页,共58页。•SAILOR2006copyright/522022年11月2
5日星期五电子科技大学计算机学院开放源代码软件•组织及协作计划–Linux——第一个采用开放源代码软件开放模式的软件协作计划–Debian——开放源代码开放模式下的Linux套件–Mozilla——开放
源代码的浏览器–OpenOffice.org——开放源代码的办公软件–OpenBSD、FreeBSD和NetBSD——三个不同的开放源代码UNIX版本–开放源代码促进会(OpenSourceInitiative)——促进开放源代码运动发展
的组织–OSDN——专门发布与开放源代码运动有关新闻的网站–介入开源运动发展的企业–红帽公司(RedHat)——最大的Linux套件发行商–苹果电脑(Apple)——开放了该公司操作系统MacOS的内核Darwin的源
代码–IBM——协助发展多项开放源代码计划–网景公司(Netscape)——协助发展Mozilla计划–Sun微系统公司——发表了Java语言源代码,并协助发展OpenOffice.org计划–红旗Linux--中国最大的Linux发行商第52页,共58页。•SAILO
R2006copyright/532022年11月25日星期五电子科技大学计算机学院开放源代码软件•开源软件基础–操作系统–Linux:有名的版本有Redhat、OpenLinux、Suse、Slackware、Debian、Ubun
tu–BSD:版本有NetBSD、FreeBSD、OpenBSD–协议基础–高层协议包括网络传输协议TCP/IPSuite、分布式协议,如CORBA、DCOM–RMI等–中间件协议,如XSTP–底层协议包括OSI模型、SNA模型、APPN模型–开源软件语言–表现层语言(HTML,,CSS,XML)
–脚本语言(XSL,TCL,PHP,JavaScript,Perl,Python),不同于前三者,其中Perl,,Python偏向系统语言。–系统语言(C/C++,,Java)第53页,共58页。•SAILOR200
6copyright/542022年11月25日星期五电子科技大学计算机学院基础开发工具1.C++开发工具•TurboC:Dos时代C语言开发的经典工具•VisualC++6.0/7.0:稳定而强大的IDE开发环境•BCB:Borland的C++Bul
ider的IDE开发环境•Cygwin:Windows平台下的C++编译器2.Java开发工具•JDKJava开发工具集•JavaWorkshop•NetBeans与SUNJavaStudio5•Borland的Jbuilder•Oracle的Jdevelo
per•IBM的VisualAgeforJava3.数据库开发工具第54页,共58页。•SAILOR2006copyright/552022年11月25日星期五电子科技大学计算机学院测试环境与工具•软件测试工具是通过一些工具能够使软
件的一些简单问题直观的显示在读者的面前,这样能使测试人员更好的找出软件错误的所在。软件测试工具分为自动化软件测试工具和测试管理工具。•软件测试工具存在的价值是为了提高测试效率,用软件来代替一些人工输入。测试管理工具是为了复用测试用例,提高软件测试的价值。一个好的软件测试工具和测试管理工具结合
起来使用将会使软件测试效率大大的提高。第55页,共58页。•SAILOR2006copyright/562022年11月25日星期五电子科技大学计算机学院测试环境与工具1.配置软件测试环境配置主测试环
境的原则:•1、符合软件运行的最低标准•2、选用比较普及的操作系统和软件平台•3、营造相对简单、独立的测试环境•4、无毒的环境•5、模拟真实环境测试•6、横向对比测试第56页,共58页。•SAILOR2006copyright/572022年11月25日星期五电子科技大学计算机学院测试环境与工具
2.测试工具•1、企业级自动化测试工具WinRunner•2、工业标准级负载测试工具Loadrunner•3、全球测试管理系统TestDirector•4、功能测试工具RationalRobot•5、单元测试工具xUnit系列•
6、功能测试工具SilkTest•7、性能测试工具WAS•8、自动化白盒测试工具Jtest•9、功能和性能测试的工具Jmeter•10、性能测试和分析工具Weblode第57页,共58页。•SAILOR2006copyright/5
82022年11月25日星期五电子科技大学计算机学院测试环境与工具•如今国际上主要分为三类软件测试工具:Mercury测试工具,Rational测试工具,Segue测试工具,qtp自动化测试工具和AutoRunner工具,占有市场9
0%以上。•测试内容:负载压力,功能测试,白盒测试,测试管理,测试辅助第58页,共58页。